| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233 |
- <template>
- <!-- 新增计划 -->
- <a-modal class="commonModal"
- title="新增套保计划"
- v-model:visible="visible"
- centered
- @cancel="cancel"
- width="890px">
- <template #footer>
- <a-button key="submit"
- class="cancelBtn"
- @click="submit(1)">保存草稿
- </a-button>
- <a-button key="submit"
- type="primary"
- :loading="loading"
- @click="submit(2)">提交审核</a-button>
- </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="dialogInput"
- 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-number class="dialogInput"
- style="width: 200px"
- v-model:value="formState.PlanQty"
- placeholder="请输入计划量"></a-input-number>
- </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.enumitemname"
- :value="item.enumitemname">
- {{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>
- </template>
- <script lang="ts">
- import { defineComponent, ref } from 'vue';
- import { formatTime, initData } from '@/common/methods/index';
- import { getPayCurrencyTypeEnumList, getSpotContractTypeEnumList } from '@/common/constants/enumsList';
- import { AllEnums } from '@/services/go/commonService/interface';
- import { getMiddleGoodsD, handleForm } from '../setup';
- import { ErmcpHedgePlanReq } from '@/services/proto/hedgeplan/interface';
- import { getLongTypeLoginID } from '@/services/bus/login';
- import { LongType } from '@/services/socket/login/interface';
- import { hedgePlanReq } from '@/services/proto/hedgeplan';
- import { getAreaUserId } from '@/services/bus/user';
- import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
- import { validateAction } from '@/common/setup/form';
- import { FormState } from '../interface';
- import { handlerManagerList } from '@/common/setup/user';
- import { _closeModal } from '@/common/setup/modal/modal';
- export default defineComponent({
- name: 'add-custom',
- emits: ['cancel'],
- setup(props, context) {
- const { visible, cancel } = _closeModal(context);
- const loading = ref<boolean>(false);
- const planTye = ref<AllEnums[]>(getSpotContractTypeEnumList());
- // 表单
- const { formRef, formState, rules } = handleForm();
- // 品种、品类
- const { DGList, getDG, gmlist, chooseMG, chooseWR, numberUnit } = getMiddleGoodsD(formState);
- // 交易用户
- const { tableList, queryTable } = handlerManagerList(loading, 2);
- // 币种
- const priceTyep = getPayCurrencyTypeEnumList();
- function submit(OperateType: 1 | 2) {
- 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: OperateType,
- Currencyid: param.Currencyid,
- ConvertFactor: param.ConvertFactor,
- 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, OperateType === 1 ? ['保存草稿成功', '保存草稿失败:'] : ['提交申请成功', '提交申请失败:']).then(() => {
- cancel(true);
- });
- });
- }
- initData(() => {
- getDG();
- queryTable();
- });
- return {
- visible,
- cancel,
- submit,
- loading,
- planTye,
- DGList,
- gmlist,
- chooseMG,
- tableList,
- priceTyep,
- formRef,
- formState,
- numberUnit,
- rules,
- chooseWR,
- };
- },
- });
- </script>
- <style lang="less">
- .add-custom {
- }
- </style
- >;
|