| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- <template>
- <!-- 计划 重新提交-->
- <a-modal
- class="commonModal plan-recommit"
- title="重新提交"
- v-model:visible="visible"
- centered
- @cancel="cancel"
- width="890px"
- >
- <template #footer>
- <a-button key="submit" type="primary" :loading="loading" @click="submit">完成</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="计划量" class="relative" name="PlanQty">
- <a-input-number
- 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.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, PropType, ref, watchEffect } from 'vue';
- import { _closeModal } from '@/common/setup/modal/modal';
- 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 { geLoginID_number } 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({
- name: 'plan-recommit',
- emits: ['cancel', 'update'],
- components: {},
- props: {
- selectedRow: {
- type: Object as PropType<Ermcp3HedgePlan>,
- default: {},
- },
- },
- 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 } = 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, hedgeplanid } = props.selectedRow;
- deliverygoodsid && chooseMG(deliverygoodsid);
- formState.PlanQty = planqty;
- formState.HedgePlanID = hedgeplanid;
- if (wrstandardid) {
- formState.WRStandardID = wrstandardid;
- chooseWR(wrstandardid);
- }
- }
- });
- function submit() {
- validateAction<FormState>(formRef, formState).then((param) => {
- const loginId = geLoginID_number();
- const userid = getAreaUserId();
- const reqParam: ErmcpHedgePlanReq = {
- HedgePlanID: param.HedgePlanID,
- 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(() => {
- cancel(true);
- });
- });
- }
- return {
- visible,
- cancel,
- submit,
- loading,
- planTye,
- DGList,
- gmlist,
- chooseMG,
- tableList,
- priceTyep,
- formRef,
- formState,
- rules,
- chooseWR,
- };
- },
- });
- </script>
|