marymelisa 4 år sedan
förälder
incheckning
8b862e59d6

+ 26 - 0
public/proto/mtp.proto

@@ -1099,5 +1099,31 @@ message AuditERMCPAreaInOutStockApplyRsp {
      optional uint64 InOutApplyID = 4; // uint64 申请ID
 }
 
+// 机构出入库申请请求 0 29 137
+message ERMCPAreaInOutStockApplyReq {
+	optional MessageHead Header = 1; // MessageHead
+	optional uint64 UserID = 2; // uint64 机构ID
+	optional int32 InOutType = 3; // int32 出入库类型 - 1:采购入库 2:销售出库 3:生产入库 4:生产出库
+	optional uint64 WRStandardID = 4; // uint64 现货商品ID
+	optional uint64 SpotGoodsModelID = 5; // uint64 现货型号ID
+	optional uint64 SpotGoodsBrandID = 6; // uint64 现货品牌ID
+	optional uint64 DeliveryGoodsID = 7; // uint64 现货品种ID
+	optional uint64 SpotContractID = 8; // uint64 关联现货合同ID [1:采购入库 2:销售出库 ](1,2状态必填)
+	optional uint64 WarehouseInfo = 9; // uint64 现货仓库ID
+	optional double Qty = 10; // double 数量
+	optional int32 ApplySrc = 11; // int32 申请来源 - 1:管理端 2:终端
+	optional uint64 ApplyId = 12; // uint64 申请人
+	optional string ApplyRemark = 13; // string 申请备注
+}
+
+// 机构出入库申请响应 0 29 138
+message ERMCPAreaInOutStockApplyRsp {
+	optional MessageHead Header = 1; // MessageHead 消息头
+	optional int32 RetCode = 2; // int32 返回码
+	optional string RetDesc = 3; // string 描述信息
+	optional uint64 InOutApplyID = 4; // uint64 申请ID
+}
+
+
 
 

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

@@ -88,6 +88,10 @@ export const funCode: Code = {
     ContractOperateApplyReq: 1179656, // 合同操作请求(1179656)
     ContractOperateApplyRsp: 1179657, // 合同操作响应(1179657)
 
+    // 机构出入库
+    ERMCPAreaInOutStockApplyReq: 1900681, /// 机构出入库申请请求(1966081)
+    ERMCPAreaInOutStockApplyRsp: 1900682,/// 机构出入库申请响应
+
     // 套保计划 -- 新增套保计划
     ErmcpHedgePlanReq: 1900708,  /// 套保计划操作请求(1179650)
     ErmcpHedgePlanRsp: 1900709,  /// 套保计划操作响应(1179651)

+ 12 - 1
src/services/go/ermcp/purchase/interface.ts

@@ -13,17 +13,21 @@ export interface SellBuyContractReq {
  * 查询合同返回
  */
 export interface Ermcp3SellBuyContract {
+    accountid: string;//期货账户id
     accountname: string;//账户名称
     attachment: string;//附件
     audittime: string;//审核时间
+    biztype: number;//业务类型 1-套保 2-套利
     brandname: string;//品牌名称
     contracctstatus: number;//合同状态- number;
     //:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回
     contractmargin: number;//合同保证金
     contractno: string;//合同编号
-    contracttype: number;//合同类型 1-采购, -2-销售
+    contracttype: number;//合同类型 1-采购, -1-销售
     convertfactor: number;//标仓系数(品类)
     createtime: string;//创建时间
+    currencyid: number;//币种id
+    currencyname: string;//币种名称
     daikaiamount: number;//应收(开)票额
     deliveryenddate: string;//交割结束日
     deliverygoodscode: string;//现货品种代码
@@ -38,6 +42,8 @@ export interface Ermcp3SellBuyContract {
     invoiceamount: number;//已开票额
     loanamount: number;//贷款总额=已定价额+调整金额
     margin: number;//保证金
+    meruserid: number;//跟单员id
+    meruserlogincode: string;//跟单员登录代码
     nickname: string;//账户昵称
     payamount: number;//已收付额(收款或付款)
     preinvoiceamount: number;//预收(开)票额
@@ -55,11 +61,16 @@ export interface Ermcp3SellBuyContract {
     reckonotheramount: number;//其它费用
     reckonrealqty: number;//已确定量
     remark: string;//备注
+    saleuserid: number;//业务员id
+    saleuserlogincode: string;//业务员登录代码
     spotcontractid: string;//合同ID
     spotgoodsbrandid: number;//现货品牌ID(DGFactoryItem表的ID)
     spotgoodsdesc: string;//商品型号(商品规格)
     startdate: string;//点价开始日
     totalamount: number;//合计总额
+    tradeuserid: number;//交易员id
+    tradeuserlogincode: string;//交易员登录代码
+    tradeusername: string;//交易员名称
     unpayamount: number;//应收付款额(应支付或应收款)
     unpricedqty: number;//未定价量
     unsureqty: number;//未确定量

+ 6 - 5
src/services/proto/contract/interface.ts

@@ -19,7 +19,7 @@ export interface ErmcpContractOperateApplyRsp {
 export interface ErmcpContractOperateApplyInfo {
     OperateApplyType: number // uint32 操作申请类型-1:点价2:结算3:款项4:发票
     RelatedID: number // uint64 现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)
-    DetailJson : Uint8Array // bytes 明细JSON
+    DetailJson: Uint8Array // bytes 明细JSON
     AttachUrl?: Uint8Array // bytes 附件
 }
 
@@ -52,27 +52,28 @@ export interface ContractOperateApplyInfo {
 
 /*********************************** 这里有一堆用于登记的请求结构 ************************************/
 // 点价登记
-export interface SomePriceReq{
+export interface SomePriceReq {
     PricedPrice: number;
     PricedQty: number;
 }
 
 // 交收登记
-export interface SettlementReq{
+export interface SettlementReq {
     ReckonRealQty?: number  // 交收量
     ReckonOtherAmount?: number // 其它费用
     AddMargin?: number // 追加保证金
     DecMargin?: number // 减少保证金
     ReckonAdjustAmount?: number // 调整金额
+    Remark?: string
 }
 
 // 款项登记
-export interface FundsReq{
+export interface FundsReq {
     PayAmount: number
     DeductAmount: number
 }
 
 // 发票登记
-export interface InvoiceReq{
+export interface InvoiceReq {
     InvoiceAmount: number
 }

+ 37 - 1
src/services/proto/warehouse/index.ts

@@ -2,12 +2,13 @@ import APP from "@/services";
 import { Callback } from "@/utils/websocket";
 import { getSelectedAccountId, getUserId } from "@/services/bus/account";
 import {
-    AreaInOutApplyAuditPassReq, AuditERMCPAreaInOutStockApplyReq,
+    AreaInOutApplyAuditPassReq, AuditERMCPAreaInOutStockApplyReq, ERMCPAreaInOutStockApplyReq,
     WarehouseApplyReq,
     WarehouseStateChangeReq
 } from "@/services/proto/warehouse/interface";
 import {getUUID} from "@/utils/qt/common";
 import {buildProtoReq50, parseProtoRsp50} from "@/services/socket/protobuf/buildReq";
+import {getLongTypeLoginID} from "@/services/bus/login";
 
 /**
  * 新增 / 修改 仓库信息请求  修改需要传仓库id
@@ -144,3 +145,38 @@ export const refuseStockApplyReq = (param: AuditERMCPAreaInOutStockApplyReq): Pr
         } as Callback);
     });
 }
+
+/**
+ * 出入库申请
+ * @param param
+ */
+export const ermcpInOutStockApplyReq = (param: ERMCPAreaInOutStockApplyReq): Promise<any> => {
+    param.UserID = getUserId()
+    param.ApplySrc = 2
+    param.ApplyId = Number(getLongTypeLoginID())
+
+    return new Promise((resolve, reject) => {
+        const params = {
+            protobufName: 'ERMCPAreaInOutStockApplyReq',
+            funCodeName: 'ERMCPAreaInOutStockApplyReq',
+            reqParams: param,
+            msgHeadParams: {
+                AccountID: getSelectedAccountId(),
+                MarketID: 18,
+                GoodsID: 0,
+            }
+        };
+        const package50 = buildProtoReq50(params);
+        APP.sendTradingServer(package50, undefined, {
+            onSuccess: (res) => {
+                const { isSuccess, result } = parseProtoRsp50(res, 'ERMCPAreaInOutStockApplyRsp');
+                if (isSuccess) {
+                    resolve(result);
+                } else {
+                    reject(result);
+                }
+            },
+            onFail: (err) => reject(err.message),
+        } as Callback);
+    });
+}

+ 25 - 0
src/services/proto/warehouse/interface.ts

@@ -59,3 +59,28 @@ export interface  AuditERMCPAreaInOutStockApplyRsp {
     RetDesc: string; // string 描述信息
     InOutApplyID: number; // uint64 申请ID
 }
+
+// 机构出入库申请请求 0 29 137
+export interface ERMCPAreaInOutStockApplyReq {
+    UserID?: number; // uint64 机构ID
+    InOutType: number; // int32 出入库类型 - 1:采购入库 2:销售出库 3:生产入库 4:生产出库
+    WRStandardID: number; // uint64 现货商品ID
+    SpotGoodsModelID?: number; // uint64 现货型号ID
+    SpotGoodsBrandID: number; // uint64 现货品牌ID
+    DeliveryGoodsID: number; // uint64 现货品种ID
+    SpotContractID: number; // uint64 关联现货合同ID [1:采购入库 2:销售出库 ](1,2状态必填)
+    WarehouseInfo: number; // uint64 现货仓库ID
+    Qty: number; // double 数量
+    ApplySrc?: number; // int32 申请来源 - 1:管理端 2:终端
+    ApplyId?: number; // uint64 申请人
+    ApplyRemark?: string; // string 申请备注
+}
+
+// 机构出入库申请响应 0 29 138
+export interface ERMCPAreaInOutStockApplyRsp {
+    RetCode: number; // int32 返回码
+    RetDesc: string; // string 描述信息
+    InOutApplyID: number; // uint64 申请ID
+}
+
+

+ 32 - 6
src/views/business/plan/components/add/index.vue

@@ -144,14 +144,21 @@
 <script lang="ts">
 import { defineComponent, ref, toRaw } from 'vue';
 import { closeModal } from '@/common/setup/modal/index';
-import { initData } from '@/common/methods/index';
+import {formatTime, initData} from '@/common/methods/index';
 import { getPayCurrencyTypeEnumList, getSpotContractTypeEnumList } from '@/common/constants/enumsList';
 import { AllEnums } from '@/services/go/commonService/interface';
 import { getAllEnum } from '@/services/bus/allEnum';
-import { getMiddleGoodsD, handleForm, handleTrader } from '../setup';
+import {changeStatus, getMiddleGoodsD, handleForm, handleTrader} from '../setup';
 import { ValidateErrorEntity } from 'ant-design-vue/lib/form/interface';
 import { FormState } from '@/views/information/spot-contract/components/interface';
 import { context } from 'ant-design-vue/lib/vc-image/src/PreviewGroup';
+import {ErmcpHedgePlanReq} from "@/services/proto/hedgeplan/interface";
+import {hedgePlanReq} from "@/services/proto/hedgeplan";
+import {getLongTypeLoginID} from "@/services/bus/login";
+import {LongType} from "@/services/socket/login/interface";
+import moment from "moment";
+import APP from "@/services";
+import * as Long from "long";
 
 export default defineComponent({
     name: 'add-custom',
@@ -175,10 +182,29 @@ export default defineComponent({
                 .validate()
                 .then(() => {
                     const param = toRaw(formState);
-                    // addAction(param).then(() => {
-                    //     cancel();
-                    //     context.emit('refresh', true);
-                    // });
+                    const loginId = getLongTypeLoginID() as LongType;
+                    const userid = APP.get('userAccount').memberuserid;
+                    const reqParam: ErmcpHedgePlanReq = {
+                        HedgePlanNo: param.HedgePlanNo, // 计划类型
+                        ContractType: param.ContractType, // 计划类型
+                        DeliveryGoodsID: Number(param.DeliveryGoodsID),
+                        WRStandardID: Number(param.WRStandardID), // 现货品种
+                        PlanQty: Number(param.PlanQty),  // 计划数量
+                        OperateType: OperateType,
+                        Currencyid: param.Currencyid,
+                        ApplyId: Number(loginId),
+                        PlanTime: formatTime(moment(), "s"),
+                        ProductType: 1,
+                        Biztype: 1,
+                        AreaUserID: userid,
+                        Remark: param.Remark,
+                        Tradeuserid: param.Tradeuserid, // 交易用户id
+                    }
+                    changeStatus(reqParam, OperateType, loading)
+                    .then(() => {
+                        cancel();
+                        context.emit('refresh', true);
+                    });
                     console.log('param', param);
                 })
                 .catch((error: ValidateErrorEntity<FormState>) => {

+ 3 - 3
src/views/business/plan/setup.ts

@@ -8,10 +8,10 @@ export function getPlanContractType(contracttype: number): string{
     let result = "--";
     switch (contracttype) {
         case 1:
-            result = "套保采购计划";
+            result = "采购";
             break
-        case 2:
-            result = "套保销售计划";
+        case -1:
+            result = "销售";
             break
     }
     return result

+ 13 - 28
src/views/business/purchase/components/funds/index.vue

@@ -87,7 +87,7 @@
       <a-form class="inlineForm"
               ref="formRef"
               :model="formState"
-              :rules="formStateRules">
+              :rules="rules">
         <a-row :gutter="24">
           <a-col :span="12">
             <a-form-item label="点价价格"
@@ -152,8 +152,9 @@ import { getPriceTypeName } from '@/views/business/purchase/setup';
 import { operationContractReq } from '@/services/proto/contract';
 import { message } from 'ant-design-vue';
 import { objectToUint8Array } from '@/utils/objHandle';
-import {FundsReq, InvoiceReq} from "@/services/proto/contract/interface";
-import {fundsReq, invoiceReq} from "@/views/business/purchase/components/setup";
+import { FundsReq, InvoiceReq } from '@/services/proto/contract/interface';
+import { fundsReq, invoiceReq } from '@/views/business/purchase/components/setup';
+import { handleForm } from './setup';
 
 export default defineComponent({
     name: 'purchase_pending_funds',
@@ -164,41 +165,25 @@ export default defineComponent({
             default: {},
         },
     },
-    setup(props,context) {
+    setup(props, context) {
         const { visible, cancel } = closeModal('purchase_pending_funds');
         const loading = ref<boolean>(false);
-        const formRef = ref();
-        const formState = reactive({ PricedPrice: 0, PricedQty: 0 });
-        const numberIstrue = (rule: any, value: any) => {
-            if (!value) {
-                return Promise.reject(new Error('请输入正确的值'));
-            } else {
-                return Promise.resolve();
-            }
-        };
-        const formStateRules = {
-            PricedPrice: [{ required: true, validator: numberIstrue, trigger: 'blur', type: 'number' }],
-            PricedQty: [{ required: true, validator: numberIstrue, trigger: 'blur', type: 'number' }],
-        };
+        const { rules, formState, formRef } = handleForm();
         function submit() {
             const wrapEl = unref(formRef);
             wrapEl.validate().then(() => {
                 loading.value = true;
-                const params : FundsReq = {
+                const params: FundsReq = {
                     PayAmount: 98,
-                    DeductAmount: 90
-                }
+                    DeductAmount: 90,
+                };
                 // 发出发票登记
-                fundsReq(
-                    props.selectedRow.spotcontractid,
-                    params,
-                    loading)
+                fundsReq(props.selectedRow.spotcontractid, params, loading)
                     .then(() => {
                         cancel();
-                        context.emit('refresh')
+                        context.emit('refresh');
                     })
-                    .catch((err) => {
-                    });
+                    .catch((err) => {});
             });
         }
 
@@ -210,7 +195,7 @@ export default defineComponent({
             formRef,
             formState,
             formatValue,
-            formStateRules,
+            rules,
             getPriceTypeName,
         };
     },

+ 21 - 0
src/views/business/purchase/components/funds/setup.ts

@@ -0,0 +1,21 @@
+import { reactive, ref, UnwrapRef } from "vue";
+/**
+ * 表单
+ * @returns 
+ */
+export function handleForm() {
+    interface FormState {
+        PayAmount: number | null
+        DeductAmount: number | null
+    }
+    const formRef = ref();
+    const formState: UnwrapRef<FormState> = reactive({
+        PayAmount: null,
+        DeductAmount: null,
+    })
+    const rules = {
+        // PricedPrice: [{ required: true, message: '请输入点价价格', trigger: 'blur', type: 'number' }],
+        // PricedQty: [{ required: true, message: '请输入点价数量', trigger: 'blur', type: 'number' }],
+    }
+    return { rules, formState, formRef }
+}

+ 12 - 27
src/views/business/purchase/components/invoice/index.vue

@@ -87,7 +87,7 @@
       <a-form class="inlineForm"
               ref="formRef"
               :model="formState"
-              :rules="formStateRules">
+              :rules="rules">
         <a-row :gutter="24">
           <a-col :span="12">
             <a-form-item label="点价价格"
@@ -152,8 +152,9 @@ import { getPriceTypeName } from '@/views/business/purchase/setup';
 import { operationContractReq } from '@/services/proto/contract';
 import { message } from 'ant-design-vue';
 import { objectToUint8Array } from '@/utils/objHandle';
-import {InvoiceReq, SettlementReq} from "@/services/proto/contract/interface";
-import {invoiceReq, settlementReq} from "@/views/business/purchase/components/setup";
+import { InvoiceReq, SettlementReq } from '@/services/proto/contract/interface';
+import { invoiceReq, settlementReq } from '@/views/business/purchase/components/setup';
+import { handleForm } from './setup';
 
 export default defineComponent({
     name: 'purchase_pending_invoice',
@@ -164,40 +165,24 @@ export default defineComponent({
             default: {},
         },
     },
-    setup(props,context) {
+    setup(props, context) {
         const { visible, cancel } = closeModal('purchase_pending_invoice');
         const loading = ref<boolean>(false);
-        const formRef = ref();
-        const formState = reactive({ PricedPrice: 0, PricedQty: 0 });
-        const numberIstrue = (rule: any, value: any) => {
-            if (!value) {
-                return Promise.reject(new Error('请输入正确的值'));
-            } else {
-                return Promise.resolve();
-            }
-        };
-        const formStateRules = {
-            PricedPrice: [{ required: true, validator: numberIstrue, trigger: 'blur', type: 'number' }],
-            PricedQty: [{ required: true, validator: numberIstrue, trigger: 'blur', type: 'number' }],
-        };
+        const { rules, formState, formRef } = handleForm();
         function submit() {
             const wrapEl = unref(formRef);
             wrapEl.validate().then(() => {
                 loading.value = true;
-                const params : InvoiceReq = {
+                const params: InvoiceReq = {
                     InvoiceAmount: 123,
-                }
+                };
                 // 发出发票登记
-                invoiceReq(
-                    props.selectedRow.spotcontractid,
-                    params,
-                    loading)
+                invoiceReq(props.selectedRow.spotcontractid, params, loading)
                     .then(() => {
                         cancel();
-                        context.emit('refresh')
+                        context.emit('refresh');
                     })
-                    .catch((err) => {
-                    });
+                    .catch((err) => {});
             });
         }
 
@@ -209,7 +194,7 @@ export default defineComponent({
             formRef,
             formState,
             formatValue,
-            formStateRules,
+            rules,
             getPriceTypeName,
         };
     },

+ 19 - 0
src/views/business/purchase/components/invoice/setup.ts

@@ -0,0 +1,19 @@
+import { reactive, ref, UnwrapRef } from "vue";
+/**
+ * 表单
+ * @returns 
+ */
+export function handleForm() {
+    interface FormState {
+        InvoiceAmount: number | null
+    }
+    const formRef = ref();
+    const formState: UnwrapRef<FormState> = reactive({
+        InvoiceAmount: null,
+    })
+    const rules = {
+        // PricedPrice: [{ required: true, message: '请输入点价价格', trigger: 'blur', type: 'number' }],
+        // PricedQty: [{ required: true, message: '请输入点价数量', trigger: 'blur', type: 'number' }],
+    }
+    return { rules, formState, formRef }
+}

+ 35 - 37
src/views/business/purchase/components/settlement/index.vue

@@ -75,8 +75,23 @@
             </a-form-item>
           </a-col>
           <a-col :span="12">
-            <a-form-item label="已点均价">
-              <span class="white">{{ formatValue(selectedRow.pricedavg) }}</span>
+            <a-form-item label="调整金额">
+              <span class="white">{{ selectedRow.reckonadjustamount + selectedRow.currencyname }}</span>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="已交收量">
+              <span class="white">{{ selectedRow.reckonrealqty + selectedRow.enumdicname }}</span>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="保证金">
+              <span class="white">{{ selectedRow.margin + selectedRow.currencyname }}</span>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="其他费用">
+              <span class="white">{{ selectedRow.reckonotheramount + selectedRow.currencyname }}</span>
             </a-form-item>
           </a-col>
         </a-row>
@@ -87,7 +102,7 @@
       <a-form class="inlineForm"
               ref="formRef"
               :model="formState"
-              :rules="formStateRules">
+              :rules="rules">
         <a-row :gutter="24">
           <a-col :span="12">
             <a-form-item label="点价价格"
@@ -144,16 +159,14 @@
 </template>
 
 <script lang="ts">
-import { defineComponent, PropType, reactive, ref, unref } from 'vue';
+import { defineComponent, PropType, ref, unref } from 'vue';
 import { closeModal } from '@/common/setup/modal/index';
 import { formatValue } from '@/common/methods';
 import { Ermcp3SellBuyContract } from '@/services/go/ermcp/purchase/interface';
 import { getPriceTypeName } from '@/views/business/purchase/setup';
-import { operationContractReq } from '@/services/proto/contract';
-import { message } from 'ant-design-vue';
-import { objectToUint8Array } from '@/utils/objHandle';
-import {settlementReq} from "@/views/business/purchase/components/setup";
-import {SettlementReq} from "@/services/proto/contract/interface";
+import { settlementReq } from '@/views/business/purchase/components/setup';
+import { SettlementReq } from '@/services/proto/contract/interface';
+import { handleForm } from './setup';
 
 export default defineComponent({
     name: 'purchase_pending_settlement',
@@ -164,45 +177,30 @@ export default defineComponent({
             default: {},
         },
     },
-    setup(props,context) {
+    setup(props, context) {
         const { visible, cancel } = closeModal('purchase_pending_settlement');
         const loading = ref<boolean>(false);
-        const formRef = ref();
-        const formState = reactive({ PricedPrice: 0, PricedQty: 0 });
-        const numberIstrue = (rule: any, value: any) => {
-            if (!value) {
-                return Promise.reject(new Error('请输入正确的值'));
-            } else {
-                return Promise.resolve();
-            }
-        };
-        const formStateRules = {
-            PricedPrice: [{ required: true, validator: numberIstrue, trigger: 'blur', type: 'number' }],
-            PricedQty: [{ required: true, validator: numberIstrue, trigger: 'blur', type: 'number' }],
-        };
+
+        const { rules, formState, formRef, checkedObj } = handleForm();
+
         function submit() {
             const wrapEl = unref(formRef);
             wrapEl.validate().then(() => {
                 loading.value = true;
-
-                const params : SettlementReq = {
-                    ReckonRealQty: 10,  // 交收量
-                    ReckonOtherAmount: 11,// 其它费用
+                const params: SettlementReq = {
+                    ReckonRealQty: 10, // 交收量
+                    ReckonOtherAmount: 11, // 其它费用
                     AddMargin: 12, // 追加保证金
                     // DecMargin: number // 减少保证金
-                    ReckonAdjustAmount: 13 // 调整金额
-                }
+                    ReckonAdjustAmount: 13, // 调整金额
+                };
                 // 发出交收请求
-                settlementReq(
-                    props.selectedRow.spotcontractid,
-                    params,
-                    loading)
+                settlementReq(props.selectedRow.spotcontractid, params, loading)
                     .then(() => {
                         cancel();
-                        context.emit('refresh')
+                        context.emit('refresh');
                     })
-                    .catch((err) => {
-                    });
+                    .catch((err) => {});
             });
         }
 
@@ -214,7 +212,7 @@ export default defineComponent({
             formRef,
             formState,
             formatValue,
-            formStateRules,
+            rules,
             getPriceTypeName,
         };
     },

+ 34 - 0
src/views/business/purchase/components/settlement/setup.ts

@@ -0,0 +1,34 @@
+import { reactive, ref, UnwrapRef } from "vue";
+/**
+ * 表单
+ * @returns 
+ */
+export function handleForm() {
+    interface FormState {
+        ReckonRealQty?: number | null // 交收量
+        ReckonOtherAmount?: number | null // 其它费用
+        AddMargin?: number | null // 追加保证金
+        ReckonAdjustAmount?: number | null // 调整金额
+        Remark: string
+    }
+    // 是否选中数据
+    const checkedObj = reactive({
+        ReckonRealQty: false,
+        ReckonOtherAmount: false,
+        AddMargin: false,
+        ReckonAdjustAmount: false,
+    })
+    const formRef = ref();
+    const formState: UnwrapRef<FormState> = reactive({
+        ReckonRealQty: null, // 交收量
+        ReckonOtherAmount: null, // 其它费用
+        AddMargin: null, // 追加保证金
+        ReckonAdjustAmount: null, // 调整金额
+        Remark: ''
+    })
+    const rules = {
+        // PricedPrice: [{ required: true, message: '请输入点价价格', trigger: 'blur', type: 'number' }],
+        // PricedQty: [{ required: true, message: '请输入点价数量', trigger: 'blur', type: 'number' }],
+    }
+    return { rules, formState, formRef, checkedObj }
+}

+ 11 - 0
src/views/business/purchase/components/setup.ts

@@ -20,6 +20,8 @@ import {purchaseStateSign} from "@/views/business/purchase/setup";
 import {hedgePlanReq} from "@/services/proto/hedgeplan";
 import {Ref} from "vue";
 import {objectToUint8Array} from "@/utils/objHandle";
+import {ermcpInOutStockApplyReq} from "@/services/proto/warehouse";
+import {ERMCPAreaInOutStockApplyReq} from "@/services/proto/warehouse/interface";
 
 /**
  * 这里负责 点价登记, 交收登记, 款项登记, 发票登记, 入库登记
@@ -63,6 +65,15 @@ export function invoiceReq(spotcontractid: string, req: InvoiceReq, loading: Ref
         loading)
 }
 
+/**
+ * 入库登记
+ */
+export function storageReq(req: ERMCPAreaInOutStockApplyReq, loading: Ref<boolean>): Promise<string>{
+    const sign = getRequestResultInfo(purchaseStateSign, 5)  // 接口请求后的返回提示 这里统一进行管理
+    const result = ermcpInOutStockApplyReq(req)
+    return commonResultInfo(result, sign, loading)
+}
+
 
 /**
  * 请求报文组装

+ 167 - 188
src/views/business/purchase/components/someprice/index.vue

@@ -1,161 +1,162 @@
 <template>
-    <!-- 点价登记-->
-    <a-modal class="commonModal someprice"
-             :title="selectedRow.contracttype===1? '采购合同-点价登记': '销售合同-点价登记'"
-             v-model:visible="visible"
-             @cancel="cancel"
-             centered
-             width="890px">
-        <template #footer>
-            <a-button key="submit"
-                      class="cancelBtn"
-                      @click="cancel">取消
-            </a-button>
-            <a-button key="submit"
-                      type="primary"
-                      :loading="loading"
-                      @click="submit">点价登记
-            </a-button>
-        </template>
-        <fieldset class="formFieldSet">
-            <legend>合同基本信息</legend>
-            <a-form class="inlineForm">
-                <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="selectedRow.contracttype===1? '采购方': '销售方'">
-                            <span class="white">{{ formatValue(selectedRow.accountname) }}</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>
-                <a-row :gutter="24">
-                    <a-col :span="12">
-                        <a-form-item label="合同签署量">
-                            <span class="white">{{ formatValue(selectedRow.qty + selectedRow.enumdicname) }}</span>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="合同暂定价">
-                            <span class="white">{{ formatValue(selectedRow.price) }}</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.goodsname) }}</span>
-                        </a-form-item>
-                    </a-col>
-                </a-row>
-            </a-form>
-        </fieldset>
-        <fieldset class="formFieldSet">
-            <legend>已登记信息</legend>
-            <a-form class="inlineForm">
-                <a-row :gutter="24">
-                    <a-col :span="12">
-                        <a-form-item label="已定价量">
-                            <span class="white">{{ selectedRow.pricedqty + selectedRow.enumdicname }}</span>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="已点均价">
-                            <span class="white">{{ formatValue(selectedRow.pricedavg) }}</span>
-                        </a-form-item>
-                    </a-col>
-                </a-row>
-            </a-form>
-        </fieldset>
-        <fieldset class="formFieldSet">
-            <legend>本次点价信息</legend>
-            <a-form class="inlineForm"
-                    ref="formRef"
-                    :model="formState"
-                    :rules="formStateRules">
-                <a-row :gutter="24">
-                    <a-col :span="12">
-                        <a-form-item label="点价价格"
-                                     name="PricedPrice">
-                            <a-input-number class="dialogInput"
-                                            style="width: 200px"
-                                            v-model:value="formState.PricedPrice"
-                                            :min="0"
-                                            placeholder="请输入点价价格"/>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="升贴水">
-                            <span class="white">{{ formatValue(selectedRow.pricemove) }}</span>
-                        </a-form-item>
-                    </a-col>
-                </a-row>
+  <!-- 点价登记-->
+  <a-modal class="commonModal someprice"
+           :title="selectedRow.contracttype===1? '采购合同-点价登记': '销售合同-点价登记'"
+           v-model:visible="visible"
+           @cancel="cancel"
+           centered
+           width="890px">
+    <template #footer>
+      <a-button key="submit"
+                class="cancelBtn"
+                @click="cancel">取消
+      </a-button>
+      <a-button key="submit"
+                type="primary"
+                :loading="loading"
+                @click="submit">点价登记
+      </a-button>
+    </template>
+    <fieldset class="formFieldSet">
+      <legend>合同基本信息</legend>
+      <a-form class="inlineForm">
+        <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="selectedRow.contracttype===1? '采购方': '销售方'">
+              <span class="white">{{ formatValue(selectedRow.accountname) }}</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>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="合同签署量">
+              <span class="white">{{ formatValue(selectedRow.qty + selectedRow.enumdicname) }}</span>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="合同暂定价">
+              <span class="white">{{ formatValue(selectedRow.price) }}</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.goodsname) + selectedRow.currencyname }}</span>
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </a-form>
+    </fieldset>
+    <fieldset class="formFieldSet">
+      <legend>已登记信息</legend>
+      <a-form class="inlineForm">
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="已定价量">
+              <span class="white">{{ selectedRow.pricedqty + selectedRow.enumdicname }}</span>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="已点均价">
+              <span class="white">{{ formatValue(selectedRow.pricedavg)  + selectedRow.currencyname }}</span>
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </a-form>
+    </fieldset>
+    <fieldset class="formFieldSet">
+      <legend>本次点价信息</legend>
+      <a-form class="inlineForm"
+              ref="formRef"
+              :model="formState"
+              :rules="rules">
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="点价价格"
+                         name="PricedPrice">
+              <a-input-number class="dialogInput"
+                              style="width: 200px"
+                              v-model:value="formState.PricedPrice"
+                              :min="0"
+                              placeholder="请输入点价价格" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="升贴水">
+              <span class="white">{{ formatValue(selectedRow.pricemove) }}</span>
+            </a-form-item>
+          </a-col>
+        </a-row>
 
-                <a-row :gutter="24">
-                    <a-col :span="12">
-                        <a-form-item label="商品价格">
-                            <span class="white">{{
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="商品价格">
+              <span class="white">{{
                                     Number(selectedRow.pricemove) + Number(formState.PricedPrice)
                                 }}</span>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="点价数量"
-                                     class="relative"
-                                     name="PricedQty">
-                            <a-input-number class="dialogInput"
-                                            style="width: 200px"
-                                            v-model:value="formState.PricedQty"
-                                            :min="0"
-                                            :max="selectedRow.unpricedqty"
-                                            placeholder="请输入点价数量"/>
-                            <div class="tip">
-                                <span>未定价量<span
-                                    class="white">{{ selectedRow.unpricedqty }}{{ selectedRow.enumdicname }}</span> </span>
-                                <a class="blue ml10"
-                                   @click="formState.PricedQty = selectedRow.unpricedqty"> 全部登记</a>
-                            </div>
-                        </a-form-item>
-                    </a-col>
-                </a-row>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="点价数量"
+                         class="relative"
+                         name="PricedQty">
+              <a-input-number class="dialogInput"
+                              style="width: 200px"
+                              v-model:value="formState.PricedQty"
+                              :min="0"
+                              :max="selectedRow.unpricedqty"
+                              placeholder="请输入点价数量" />
+              <div class="tip">
+                <span>未定价量<span class="white">{{ selectedRow.unpricedqty }}{{ selectedRow.enumdicname }}</span> </span>
+                <a class="blue ml10"
+                   @click="formState.PricedQty = selectedRow.unpricedqty"> 全部登记</a>
+              </div>
+            </a-form-item>
+          </a-col>
+        </a-row>
 
-                <a-row :gutter="24">
-                    <a-col :span="12">
-                        <a-form-item label="点价金额">
-                            <span class="white">{{
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="点价金额">
+              <span class="white">{{
                                     (Number(selectedRow.pricemove) + Number(formState.PricedPrice)) * formState.PricedQty
-                                }}</span>
-                        </a-form-item>
-                    </a-col>
-                </a-row>
-            </a-form>
-        </fieldset>
-    </a-modal>
+                                }}{{selectedRow.currencyname}}</span>
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </a-form>
+    </fieldset>
+  </a-modal>
 </template>
 
 <script lang="ts">
-import {defineComponent, PropType, reactive, ref, unref} from 'vue';
-import {closeModal} from '@/common/setup/modal/index';
-import {formatValue} from '@/common/methods';
-import {Ermcp3SellBuyContract} from '@/services/go/ermcp/purchase/interface';
-import {getPriceTypeName} from '@/views/business/purchase/setup';
-import {SomePriceReq} from "@/services/proto/contract/interface";
-import {somePriceReq} from "@/views/business/purchase/components/setup";
+import { defineComponent, PropType, reactive, ref, unref } from 'vue';
+import { closeModal } from '@/common/setup/modal/index';
+import { formatValue } from '@/common/methods';
+import { Ermcp3SellBuyContract } from '@/services/go/ermcp/purchase/interface';
+import { getPriceTypeName } from '@/views/business/purchase/setup';
+import { SomePriceReq } from '@/services/proto/contract/interface';
+import { somePriceReq } from '@/views/business/purchase/components/setup';
+import { handleForm } from './setup';
 
 export default defineComponent({
     name: 'purchase_pending_someprice',
@@ -167,46 +168,25 @@ export default defineComponent({
         },
     },
     setup(props, context) {
-        const {visible, cancel} = closeModal('purchase_pending_someprice');
+        const { visible, cancel } = closeModal('purchase_pending_someprice');
         const loading = ref<boolean>(false);
-        const formRef = ref();
-        const formState = reactive({PricedPrice: 0, PricedQty: 0});
-
-        const numberIstrue = (rule: any, value: any) => {
-            if (!value) {
-                return Promise.reject(new Error('请输入正确的值'));
-            } else {
-                return Promise.resolve();
-            }
-        };
-        const formStateRules = {
-            PricedPrice: [{required: true, validator: numberIstrue, trigger: 'blur', type: 'number'}],
-            PricedQty: [{required: true, validator: numberIstrue, trigger: 'blur', type: 'number'}],
-        };
-
+        const { rules, formState, formRef } = handleForm();
         function submit() {
             const wrapEl = unref(formRef);
             wrapEl.validate().then(() => {
-                    loading.value = true;
-
-                    const params: SomePriceReq = {
-                        PricedPrice: Number(formState.PricedPrice),
-                        PricedQty:  Number(formState.PricedQty)
-                    }
-                    // 发出点价请求
-                    somePriceReq(
-                        props.selectedRow.spotcontractid,
-                        params, loading)
-                        .then(res => {
-                            cancel()
-                            context.emit('refresh')
-                        })
-                        .catch(err => {
-
-                        })
-                }
-
-            );
+                loading.value = true;
+                const params: SomePriceReq = {
+                    PricedPrice: Number(formState.PricedPrice),
+                    PricedQty: Number(formState.PricedQty),
+                };
+                // 发出点价请求
+                somePriceReq(props.selectedRow.spotcontractid, params, loading)
+                    .then((res) => {
+                        cancel();
+                        context.emit('refresh');
+                    })
+                    .catch((err) => {});
+            });
         }
 
         return {
@@ -217,12 +197,11 @@ export default defineComponent({
             formRef,
             formState,
             formatValue,
-            formStateRules,
+            rules,
             getPriceTypeName,
         };
     },
-})
-;
+});
 </script>
 
 <style lang="less">

+ 21 - 0
src/views/business/purchase/components/someprice/setup.ts

@@ -0,0 +1,21 @@
+import { reactive, ref, UnwrapRef } from "vue";
+/**
+ * 表单
+ * @returns 
+ */
+export function handleForm() {
+    interface FormState {
+        PricedPrice: number | null
+        PricedQty: number | null
+    }
+    const formRef = ref();
+    const formState: UnwrapRef<FormState> = reactive({
+        PricedPrice: null,
+        PricedQty: null,
+    })
+    const rules = {
+        PricedPrice: [{ required: true, message: '请输入点价价格', trigger: 'blur', type: 'number' }],
+        PricedQty: [{ required: true, message: '请输入点价数量', trigger: 'blur', type: 'number' }],
+    }
+    return { rules, formState, formRef }
+}

+ 34 - 3
src/views/business/purchase/components/storage/index.vue

@@ -115,17 +115,48 @@
 </template>
 
 <script lang="ts">
-import { defineComponent, ref } from 'vue';
+import {defineComponent, PropType, ref} from 'vue';
 import { closeModal } from '@/common/setup/modal/index';
+import {SomePriceReq} from "@/services/proto/contract/interface";
+import {somePriceReq, storageReq} from "@/views/business/purchase/components/setup";
+import {Ermcp3SellBuyContract} from "@/services/go/ermcp/purchase/interface";
+import {ERMCPAreaInOutStockApplyReq} from "@/services/proto/warehouse/interface";
+import * as Long from "long";
 
 export default defineComponent({
     name: 'purchase_pending_storage',
     components: {},
-    setup() {
+    props: {
+        selectedRow: {
+            type: Object as PropType<Ermcp3SellBuyContract>,
+            default: {},
+        },
+    },
+    setup(props, context) {
         const { visible, cancel } = closeModal('purchase_pending_storage');
         const loading = ref<boolean>(false);
         function submit() {
-            cancel();
+
+            const params : ERMCPAreaInOutStockApplyReq = {
+                InOutType: 1,  //  1:采购入库 2:销售出库 3:生产入库 4:生产出库
+                WRStandardID: props.selectedRow.wrstandardid,  //品类ID
+                SpotGoodsBrandID: props.selectedRow.spotgoodsbrandid,  //现货品牌ID(DGFactoryItem表的ID)
+                DeliveryGoodsID: props.selectedRow.deliverygoodsid,  //现货商品ID
+                SpotContractID: Long.fromString(props.selectedRow.spotcontractid),  //合同ID
+                WarehouseInfo: 8,   // uint64 现货仓库ID
+                Qty: 10,  // double 数量
+                ApplyRemark: "",  // string 申请备注
+            }
+            // 入库
+            storageReq(
+                params, loading)
+                .then(res => {
+                    cancel()
+                    context.emit('refresh')
+                })
+                .catch(err => {
+
+                })
         }
         return {
             visible,

+ 6 - 2
src/views/business/purchase/list/pending/index.vue

@@ -20,9 +20,11 @@
       </a-table>
     </contextMenu>
     <!-- 详情 -->
-    <Detail :selectedRow="selectedRow" @refresh="queryTable"/>
+    <Detail :selectedRow="selectedRow"
+            @refresh="queryTable" />
     <!-- 采购点价登记 -->
-    <SomePrice :selectedRow="selectedRow" @refresh="queryTable"/>
+    <SomePrice :selectedRow="selectedRow"
+               @refresh="queryTable" />
   </div>
 </template>
 
@@ -45,6 +47,8 @@ export default defineComponent({
         const { columns, registerColumn, updateColumn, filteredInfo } = getTableColumns();
         // 表格事件
         const { expandedRowKeys, selectedRow, Rowclick } = getTableEvent<Ermcp3SellBuyContract>({});
+        console.log('selectedRow', selectedRow);
+
         // 表格操作按钮列表
         const { commonBtn, forDataBtn } = getBtnList('purchase_pending', true);
         // 表格列表数据

+ 2 - 1
src/views/business/purchase/setup.ts

@@ -23,10 +23,11 @@ export function getPriceTypeName(pricetype: number): string {
 /************** 接口相关提示 **************** /
  *
  */
-// 登记操作 点价登记, 交收登记, 款项登记, 发票登记
+// 登记操作 点价登记, 交收登记, 款项登记, 发票登记 , 入库登记
 export const purchaseStateSign = new Map<number, ResultInfo>([
     [1, ['点价登记成功', '点价登记失败:']],
     [2, ['交收登记成功', '交收登记失败:']],
     [3, ['款项登记成功', '款项登记失败:']],
     [4, ['发票登记成功', '发票登记失败:']],
+    [5, ['入库登记成功', '入库登记失败:']],
 ])

+ 65 - 5
swagger-to-ts/swagger.ts

@@ -1,7 +1,67 @@
 export interface Name{
-remark	:string;//Remark
-tabelmenu	:string;//列表菜单
-tablekey	:string;//列表Key
-tablename	:string;//列表名称
-tabletype	:number;//列表类型 - 1:管理端 2:终端
+accountid	:string;//期货账户id
+accountname	:string;//账户名称
+attachment	:string;//附件
+audittime	:string;//审核时间
+biztype	:number;//业务类型 1-套保 2-套利
+brandname	:string;//品牌名称
+contracctstatus	:number;//合同状态- number;
+//:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回
+contractmargin	:number;//合同保证金
+contractno	:string;//合同编号
+contracttype	:number;//合同类型 1-采购, -1-销售
+convertfactor	:number;//标仓系数(品类)
+createtime	:string;//创建时间
+currencyid	:number;//币种id
+currencyname	:string;//币种名称
+daikaiamount	:number;//应收(开)票额
+deliveryenddate	:string;//交割结束日
+deliverygoodscode	:string;//现货品种代码
+deliverygoodsid	:number;//现货商品ID
+deliverygoodsname	:string;//现货品种名称
+deliverystartdate	:string;//交割开始日
+enddate	:string;//点价结束日
+enumdicname	:string;//单位名称
+goodscode	:string;//点价商品代码
+goodsid	:number;//点价商品ID
+goodsname	:string;//点价商品名称
+invoiceamount	:number;//已开票额
+loanamount	:number;//贷款总额=已定价额+调整金额
+margin	:number;//保证金
+meruserid	:number;//跟单员id
+meruserlogincode	:string;//跟单员登录代码
+nickname	:string;//账户昵称
+payamount	:number;//已收付额(收款或付款)
+preinvoiceamount	:number;//预收(开)票额
+prepayamount	:number;//预收付额
+price	:number;//价格
+pricedamount	:number;//已定价额
+pricedavg	:number;//已点均价
+pricedqty	:number;//已定价量
+pricemove	:number;//升贴水
+pricetype	:number;//定价类型 - 1:一口价 2:点价 3:暂定价
+producttype	:number;//产品类型 - 1:标准仓单 2:等标 3:非标
+qty	:number;//合同量
+reckonadjustamount	:number;//调整金额
+reckonedamount	:number;//实际已收付额(已确定额,已收付总额-已退款总额)
+reckonotheramount	:number;//其它费用
+reckonrealqty	:number;//已确定量
+remark	:string;//备注
+saleuserid	:number;//业务员id
+saleuserlogincode	:string;//业务员登录代码
+spotcontractid	:string;//合同ID
+spotgoodsbrandid	:number;//现货品牌ID(DGFactoryItem表的ID)
+spotgoodsdesc	:string;//商品型号(商品规格)
+startdate	:string;//点价开始日
+totalamount	:number;//合计总额
+tradeuserid	:number;//交易员id
+tradeuserlogincode	:string;//交易员登录代码
+tradeusername	:string;//交易员名称
+unpayamount	:number;//应收付款额(应支付或应收款)
+unpricedqty	:number;//未定价量
+unsureqty	:number;//未确定量
+userid	:number;//机构ID
+wrstandardcode	:string;//品类代码
+wrstandardid	:number;//品类ID
+wrstandardname	:string;//品类名称
 }

+ 186 - 9
swagger-to-ts/swagger.txt

@@ -1,16 +1,193 @@
 {
+accountid	string
+期货账户id
+
+accountname	string
+账户名称
+
+attachment	string
+附件
+
+audittime	string
+审核时间
+
+biztype	integer
+业务类型 1-套保 2-套利
+
+brandname	string
+品牌名称
+
+contracctstatus	integer
+合同状态- 0:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回
+
+contractmargin	number
+合同保证金
+
+contractno	string
+合同编号
+
+contracttype	integer
+合同类型 1-采购, -1-销售
+
+convertfactor	number
+标仓系数(品类)
+
+createtime	string
+创建时间
+
+currencyid	integer
+币种id
+
+currencyname	string
+币种名称
+
+daikaiamount	number
+应收(开)票额
+
+deliveryenddate	string
+交割结束日
+
+deliverygoodscode	string
+现货品种代码
+
+deliverygoodsid	integer
+现货商品ID
+
+deliverygoodsname	string
+现货品种名称
+
+deliverystartdate	string
+交割开始日
+
+enddate	string
+点价结束日
+
+enumdicname	string
+单位名称
+
+goodscode	string
+点价商品代码
+
+goodsid	integer
+点价商品ID
+
+goodsname	string
+点价商品名称
+
+invoiceamount	number
+已开票额
+
+loanamount	number
+贷款总额=已定价额+调整金额
+
+margin	number
+保证金
+
+meruserid	integer
+跟单员id
+
+meruserlogincode	string
+跟单员登录代码
+
+nickname	string
+账户昵称
+
+payamount	number
+已收付额(收款或付款)
+
+preinvoiceamount	number
+预收(开)票额
+
+prepayamount	number
+预收付额
+
+price	number
+价格
+
+pricedamount	number
+已定价额
+
+pricedavg	number
+已点均价
+
+pricedqty	number
+已定价量
+
+pricemove	number
+升贴水
+
+pricetype	integer
+定价类型 - 1:一口价 2:点价 3:暂定价
+
+producttype	integer
+产品类型 - 1:标准仓单 2:等标 3:非标
+
+qty	number
+合同量
+
+reckonadjustamount	number
+调整金额
+
+reckonedamount	number
+实际已收付额(已确定额,已收付总额-已退款总额)
+
+reckonotheramount	number
+其它费用
+
+reckonrealqty	number
+已确定量
+
 remark	string
-Remark
+备注
+
+saleuserid	integer
+业务员id
+
+saleuserlogincode	string
+业务员登录代码
+
+spotcontractid	string
+合同ID
+
+spotgoodsbrandid	integer
+现货品牌ID(DGFactoryItem表的ID)
+
+spotgoodsdesc	string
+商品型号(商品规格)
+
+startdate	string
+点价开始日
+
+totalamount	number
+合计总额
+
+tradeuserid	integer
+交易员id
+
+tradeuserlogincode	string
+交易员登录代码
+
+tradeusername	string
+交易员名称
+
+unpayamount	number
+应收付款额(应支付或应收款)
+
+unpricedqty	number
+未定价量
+
+unsureqty	number
+未确定量
 
-tabelmenu	string
-列表菜单
+userid	integer
+机构ID
 
-tablekey*	string
-列表Key
+wrstandardcode	string
+品类代码
 
-tablename	string
-列表名称
+wrstandardid	integer
+品类ID
 
-tabletype	integer
-列表类型 - 1:管理端 2:终端
+wrstandardname	string
+品类名称
 }