huangbin 4 år sedan
förälder
incheckning
c60ce31f32

+ 3 - 5
src/views/business/plan/components/modify/index.vue

@@ -181,7 +181,9 @@ export default defineComponent({
         const priceTyep = getPayCurrencyTypeEnumList();
 
         watchEffect(() => {
-            if (props.selectedRow.contracttype) {
+            if (visible.value) {
+              getDG();
+              queryTable();
                 mergeTwoObj(formState, props.selectedRow);
                 const { deliverygoodsid, planqty, wrstandardid } = props.selectedRow;
                 deliverygoodsid && chooseMG(deliverygoodsid);
@@ -220,10 +222,6 @@ export default defineComponent({
                 });
             });
         }
-        initData(() => {
-            getDG();
-            queryTable();
-        });
         return {
             visible,
             cancel,

+ 208 - 6
src/views/business/plan/components/recommit/index.vue

@@ -12,27 +12,229 @@
                 :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="标仓系数"
+                       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>
 </template>
 
 <script lang="ts">
-import { defineComponent, ref } from 'vue';
+import { defineComponent, PropType, ref, watchEffect } from 'vue';
 import { closeModal } from '@/common/setup/modal/index';
+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 { 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({
     name: 'plan-recommit',
     components: {},
-    setup() {
+    props: {
+        selectedRow: {
+            type: Object as PropType<Ermcp3HedgePlan>,
+            default: {},
+        },
+    },
+    setup(props, context) {
         const { visible, cancel } = closeModal('plan_uncommitted_recommit');
-        const loading = ref<boolean>(false);
-        function submit() {
-            cancel();
+                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(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,
+                    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 {
-            visible,
+                        visible,
             cancel,
             submit,
             loading,
+            planTye,
+            DGList,
+            gmlist,
+            chooseMG,
+            tableList,
+            priceTyep,
+            formRef,
+            formState,
+            rules,
+            chooseWR,
         };
     },
 });

+ 1 - 1
src/views/business/plan/list/audit/index.vue

@@ -64,7 +64,7 @@ export default defineComponent({
         // 表格操作按钮列表
         const { commonBtn, forDataBtn } = getBtnList('plan_audit', true);
         // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList('1,4');
+        const { loading, tableList, queryTable } = queryTableList('1');
 
         // 查询
         function search(value: any) {

+ 15 - 5
src/views/business/plan/list/uncommitted/index.vue

@@ -14,8 +14,8 @@
                rowKey="key"
                :data-source="tableList">
         <!-- 额外的展开行 -->
-        <template #expandedRowRender="{  }">
-          <BtnList :btnList="forDataBtn" />
+        <template #expandedRowRender="{ record }">
+          <BtnList :btnList="handleBtnList(record.hedgeplanstatus)" />
         </template>
         <template #contracttype="{ text }">
           <a>{{ getPlanContractType(text) }}</a>
@@ -34,7 +34,6 @@
     <!-- 修改 -->
     <Modfiy :selectedRow="selectedRow"
             @refresh="queryTable" />
-    <!-- 重新提交 -->
     <Recommit :selectedRow="selectedRow"
               @refresh="queryTable" />
     <!-- 删除-->
@@ -48,6 +47,8 @@ import { defineComponent, initData, getTableColumns, getTableEvent, getBtnList,
 import { queryTableList, Ermcp3HedgePlan } from '../index';
 import { Add, Delete, Detail, Filter, Modfiy, Recommit } from '../../components';
 import { getPlanContractType, getPlanStatusName } from '@/views/business/plan/setup';
+import { ref } from 'vue';
+import {BtnList as typeBtnList} from '@/common/setup/table/interface'
 
 export default defineComponent({
     name: 'plan-uncommitted',
@@ -56,10 +57,10 @@ export default defineComponent({
         BtnList,
         Add,
         Modfiy,
-        Recommit,
         Filter,
         Detail,
         Delete,
+        Recommit,
     },
     setup() {
         // 表头数据
@@ -69,7 +70,15 @@ export default defineComponent({
         // 表格操作按钮列表
         const { commonBtn, forDataBtn } = getBtnList('plan_uncommitted', true);
         // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList('0,6');
+        const { loading, tableList, queryTable } = queryTableList('0,4,6');
+
+        function handleBtnList(type: number) {
+          if(type === 4) { // 审核拒绝
+            return forDataBtn.value.filter(e => e.lable !== '修改')
+          } else {
+            return forDataBtn.value.filter(e => e.lable !== '重新提交')
+          }
+        }
 
         // 查询
         function search(value: any) {
@@ -98,6 +107,7 @@ export default defineComponent({
             getPlanStatusName,
             getPlanContractType,
             queryTable,
+            handleBtnList,
         };
     },
 });