|
@@ -12,27 +12,229 @@
|
|
|
:loading="loading"
|
|
:loading="loading"
|
|
|
@click="submit">完成</a-button>
|
|
@click="submit">完成</a-button>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
+ <a-form class="inlineForm"
|
|
|
|
|
+ ref="formRef"
|
|
|
|
|
+ :model="formState"
|
|
|
|
|
+ :rules="rules">
|
|
|
|
|
+ <a-row :gutter="24">
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="计划类型"
|
|
|
|
|
+ name="ContractType">
|
|
|
|
|
+ <a-select class="inlineFormSelect"
|
|
|
|
|
+ style="width: 200px"
|
|
|
|
|
+ v-model:value="formState.ContractType"
|
|
|
|
|
+ placeholder="请选择计划类型">
|
|
|
|
|
+ <a-select-option v-for="item in planTye"
|
|
|
|
|
+ :value="item.enumitemname"
|
|
|
|
|
+ :key="item.autoid">
|
|
|
|
|
+ {{item.enumdicname}}
|
|
|
|
|
+ </a-select-option>
|
|
|
|
|
+ </a-select>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="计划名称"
|
|
|
|
|
+ name="HedgePlanNo">
|
|
|
|
|
+ <a-input class="dialogInput"
|
|
|
|
|
+ v-model:value="formState.HedgePlanNo"
|
|
|
|
|
+ style="width: 200px"
|
|
|
|
|
+ placeholder="请输入计划名称" />
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="现货品种"
|
|
|
|
|
+ name="DeliveryGoodsID">
|
|
|
|
|
+ <a-select class="inlineFormSelect"
|
|
|
|
|
+ style="width: 200px"
|
|
|
|
|
+ v-model:value="formState.DeliveryGoodsID"
|
|
|
|
|
+ @change="chooseMG"
|
|
|
|
|
+ placeholder="请选择现货品种">
|
|
|
|
|
+ <a-select-option v-for="item in DGList"
|
|
|
|
|
+ :value="item.data.deliverygoodsid"
|
|
|
|
|
+ :key="item.data.deliverygoodsid">
|
|
|
|
|
+ {{item.data.deliverygoodsname}}
|
|
|
|
|
+ </a-select-option>
|
|
|
|
|
+ </a-select>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="品类"
|
|
|
|
|
+ name="WRStandardID">
|
|
|
|
|
+ <a-select class="inlineFormSelect"
|
|
|
|
|
+ style="width: 200px"
|
|
|
|
|
+ @change="chooseWR"
|
|
|
|
|
+ v-model:value="formState.WRStandardID"
|
|
|
|
|
+ placeholder="请选择品类">
|
|
|
|
|
+ <a-select-option v-for="item in gmlist"
|
|
|
|
|
+ :value="item.wrstandardid"
|
|
|
|
|
+ :key="item.wrstandardid">
|
|
|
|
|
+ {{item.wrstandardname}}
|
|
|
|
|
+ </a-select-option>
|
|
|
|
|
+ </a-select>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="标仓系数"
|
|
|
|
|
+ name="">
|
|
|
|
|
+ <a-input class="ConvertFactor"
|
|
|
|
|
+ v-model:value="formState.ConvertFactor"
|
|
|
|
|
+ readonly
|
|
|
|
|
+ style="width: 200px"
|
|
|
|
|
+ placeholder="请输入标仓系数" />
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="计划量"
|
|
|
|
|
+ class="relative"
|
|
|
|
|
+ name="PlanQty">
|
|
|
|
|
+ <a-input class="dialogInput"
|
|
|
|
|
+ style="width: 200px"
|
|
|
|
|
+ v-model:value="formState.PlanQty"
|
|
|
|
|
+ placeholder="请输入计划量" />
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="交易用户"
|
|
|
|
|
+ name="Tradeuserid">
|
|
|
|
|
+ <a-select class="inlineFormSelect"
|
|
|
|
|
+ style="width: 200px"
|
|
|
|
|
+ v-model:value="formState.Tradeuserid"
|
|
|
|
|
+ placeholder="请选择交易用户">
|
|
|
|
|
+ <a-select-option v-for="item in tableList"
|
|
|
|
|
+ :value="item.roleid"
|
|
|
|
|
+ :key="item.roleid">
|
|
|
|
|
+ {{item.rolename}}
|
|
|
|
|
+ </a-select-option>
|
|
|
|
|
+ </a-select>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="12">
|
|
|
|
|
+ <a-form-item label="结算币种"
|
|
|
|
|
+ name="Currencyid">
|
|
|
|
|
+ <a-select class="inlineFormSelect"
|
|
|
|
|
+ style="width: 200px"
|
|
|
|
|
+ v-model:value="formState.Currencyid"
|
|
|
|
|
+ placeholder="请选择结算币种">
|
|
|
|
|
+ <a-select-option v-for="item in priceTyep"
|
|
|
|
|
+ :key="item.enumdicid"
|
|
|
|
|
+ :value="item.enumdicid">
|
|
|
|
|
+ {{item.enumdicname}}
|
|
|
|
|
+ </a-select-option>
|
|
|
|
|
+ </a-select>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ <a-col :span="24">
|
|
|
|
|
+ <a-form-item label="备注"
|
|
|
|
|
+ class="relative"
|
|
|
|
|
+ name="Remark">
|
|
|
|
|
+ <a-input class="dialogInput"
|
|
|
|
|
+ v-model:value="formState.Remark"
|
|
|
|
|
+ style="width: 636px"
|
|
|
|
|
+ placeholder="请输入备注" />
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-col>
|
|
|
|
|
+ </a-row>
|
|
|
|
|
+ </a-form>
|
|
|
</a-modal>
|
|
</a-modal>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script lang="ts">
|
|
<script lang="ts">
|
|
|
-import { defineComponent, ref } from 'vue';
|
|
|
|
|
|
|
+import { defineComponent, PropType, ref, watchEffect } from 'vue';
|
|
|
import { closeModal } from '@/common/setup/modal/index';
|
|
import { closeModal } from '@/common/setup/modal/index';
|
|
|
|
|
+import { formatTime } from '@/common/methods/index';
|
|
|
|
|
+import { getPayCurrencyTypeEnumList, getSpotContractTypeEnumList } from '@/common/constants/enumsList';
|
|
|
|
|
+import { AllEnums } from '@/services/go/commonService/interface';
|
|
|
|
|
+import { getMiddleGoodsD, handleForm } from '../setup';
|
|
|
|
|
+import { FormState } from '../interface';
|
|
|
|
|
+import { ErmcpHedgePlanReq } from '@/services/proto/hedgeplan/interface';
|
|
|
|
|
+import { getLongTypeLoginID } from '@/services/bus/login';
|
|
|
|
|
+import { LongType } from '@/services/socket/login/interface';
|
|
|
|
|
+import { mergeTwoObj } from '@/utils/objHandle';
|
|
|
|
|
+import { Ermcp3HedgePlan } from '@/services/go/ermcp/plan/interface';
|
|
|
|
|
+import { getAreaUserId } from '@/services/bus/user';
|
|
|
|
|
+import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
|
|
|
|
|
+import { hedgePlanReq } from '@/services/proto/hedgeplan';
|
|
|
|
|
+import { validateAction } from '@/common/setup/form';
|
|
|
|
|
+import { handlerManagerList } from '@/common/setup/user';
|
|
|
|
|
|
|
|
export default defineComponent({
|
|
export default defineComponent({
|
|
|
name: 'plan-recommit',
|
|
name: 'plan-recommit',
|
|
|
components: {},
|
|
components: {},
|
|
|
- setup() {
|
|
|
|
|
|
|
+ props: {
|
|
|
|
|
+ selectedRow: {
|
|
|
|
|
+ type: Object as PropType<Ermcp3HedgePlan>,
|
|
|
|
|
+ default: {},
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ setup(props, context) {
|
|
|
const { visible, cancel } = closeModal('plan_uncommitted_recommit');
|
|
const { visible, cancel } = closeModal('plan_uncommitted_recommit');
|
|
|
- const loading = ref<boolean>(false);
|
|
|
|
|
|
|
+ const loading = ref<boolean>(false);
|
|
|
|
|
+ const planTye = ref<AllEnums[]>(getSpotContractTypeEnumList());
|
|
|
|
|
+ // 表单
|
|
|
|
|
+ const { formRef, formState, rules } = handleForm();
|
|
|
|
|
+ // 品种、品类
|
|
|
|
|
+ const { DGList, getDG, gmlist, chooseMG, chooseWR } = getMiddleGoodsD(formState);
|
|
|
|
|
+ // 交易用户
|
|
|
|
|
+ const { tableList, queryTable } = handlerManagerList(loading, 2);
|
|
|
|
|
+ // 币种
|
|
|
|
|
+ const priceTyep = getPayCurrencyTypeEnumList();
|
|
|
|
|
+ watchEffect(() => {
|
|
|
|
|
+ if (visible.value) {
|
|
|
|
|
+ getDG();
|
|
|
|
|
+ queryTable();
|
|
|
|
|
+ mergeTwoObj(formState, props.selectedRow);
|
|
|
|
|
+ const { deliverygoodsid, planqty, wrstandardid } = props.selectedRow;
|
|
|
|
|
+ deliverygoodsid && chooseMG(deliverygoodsid);
|
|
|
|
|
+ formState.PlanQty = String(planqty);
|
|
|
|
|
+
|
|
|
|
|
+ if (wrstandardid) {
|
|
|
|
|
+ formState.WRStandardID = wrstandardid;
|
|
|
|
|
+ chooseWR(wrstandardid);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
function submit() {
|
|
function submit() {
|
|
|
- cancel();
|
|
|
|
|
|
|
+ validateAction<FormState>(formRef, formState).then((param) => {
|
|
|
|
|
+ const loginId = getLongTypeLoginID() as LongType;
|
|
|
|
|
+ const userid = getAreaUserId();
|
|
|
|
|
+ const reqParam: ErmcpHedgePlanReq = {
|
|
|
|
|
+ HedgePlanNo: param.HedgePlanNo, // 计划类型
|
|
|
|
|
+ ContractType: param.ContractType, // 计划类型
|
|
|
|
|
+ DeliveryGoodsID: Number(param.DeliveryGoodsID),
|
|
|
|
|
+ WRStandardID: Number(param.WRStandardID), // 现货品种
|
|
|
|
|
+ PlanQty: Number(param.PlanQty), // 计划数量
|
|
|
|
|
+ OperateType: 2,
|
|
|
|
|
+ ConvertFactor: param.ConvertFactor,
|
|
|
|
|
+ Currencyid: param.Currencyid,
|
|
|
|
|
+ ApplyId: Number(loginId),
|
|
|
|
|
+ PlanTime: formatTime(new Date(), 's'),
|
|
|
|
|
+ ProductType: 1,
|
|
|
|
|
+ Biztype: 1,
|
|
|
|
|
+ AreaUserID: userid,
|
|
|
|
|
+ Remark: param.Remark,
|
|
|
|
|
+ Tradeuserid: param.Tradeuserid, // 交易用户id
|
|
|
|
|
+ };
|
|
|
|
|
+ requestResultLoadingAndInfo(hedgePlanReq, reqParam, loading, ['重新提交计划成功', '重新提交计划失败:']).then(() => {
|
|
|
|
|
+ context.emit('refresh');
|
|
|
|
|
+ cancel();
|
|
|
|
|
+ });
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
return {
|
|
return {
|
|
|
- visible,
|
|
|
|
|
|
|
+ visible,
|
|
|
cancel,
|
|
cancel,
|
|
|
submit,
|
|
submit,
|
|
|
loading,
|
|
loading,
|
|
|
|
|
+ planTye,
|
|
|
|
|
+ DGList,
|
|
|
|
|
+ gmlist,
|
|
|
|
|
+ chooseMG,
|
|
|
|
|
+ tableList,
|
|
|
|
|
+ priceTyep,
|
|
|
|
|
+ formRef,
|
|
|
|
|
+ formState,
|
|
|
|
|
+ rules,
|
|
|
|
|
+ chooseWR,
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
});
|
|
});
|