Quellcode durchsuchen

Merge branch 'mtp_v6' of http://47.101.159.18:3000/Muchinfo/MTP2.0_WEB into mtp_v6

zhou.xiaoning vor 4 Jahren
Ursprung
Commit
c22851ec62

+ 85 - 145
src/views/business/plan/components/add/index.vue

@@ -1,77 +1,40 @@
 <template>
   <!-- 新增计划 -->
-  <a-modal class="commonModal"
-           title="新增套保计划"
-           v-model:visible="visible"
-           centered
-           @cancel="cancel"
-           width="890px">
+  <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 key="submit" class="cancelBtn" @click="submit(1)">保存草稿
       </a-button>
-      <a-button key="submit"
-                type="primary"
-                :loading="loading"
-                @click="submit(2)">提交审核</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-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">
+          <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 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">
+          <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">
+          <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>
@@ -90,43 +53,26 @@
           </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">
+          <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">
+          <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 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>
@@ -152,74 +98,68 @@ import { handlerManagerList } from '@/common/setup/user';
 import { _closeModal } from '@/common/setup/modal/modal';
 
 export default defineComponent({
-    name: 'add-custom',
-    emits: ['cancel', 'update'],
-    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();
+  name: 'add-custom',
+  emits: ['cancel', 'update'],
+  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 = geLoginID_number();
-                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,
-                    ApplyId: Number(loginId),
-                    PlanTime: formatTime(new Date(), 's'),
-                    ProductType: 1,
-                    Biztype: 1,
-                    AreaUserID: userid,
-                    Remark: param.Remark,
-                };
-                if (param.ConvertFactor) reqParam.ConvertFactor = param.ConvertFactor;
-                if (param.Tradeuserid) reqParam.Tradeuserid = param.Tradeuserid;
-                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,
+    function submit(OperateType: 1 | 2) {
+      validateAction<FormState>(formRef, formState).then((param) => {
+        const loginId = geLoginID_number();
+        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,
+          ApplyId: Number(loginId),
+          PlanTime: formatTime(new Date(), 's'),
+          ProductType: 1,
+          Biztype: 1,
+          AreaUserID: userid,
+          Remark: param.Remark,
         };
-    },
+        if (param.ConvertFactor) reqParam.ConvertFactor = param.ConvertFactor;
+        if (param.Tradeuserid) reqParam.Tradeuserid = param.Tradeuserid;
+        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
->;
+</script>

+ 122 - 134
src/views/business/plan/components/audit/index.vue

@@ -1,79 +1,68 @@
 <template>
-    <!-- 审核计划-->
-    <a-modal class="commonModal fieldsetDialog warehouse-disable" title="审核计划" v-model:visible="visible" centered @cancel="cancel" width="890px">
-        <template #footer>
-            <a-button key="submit" class="cancelBtn" @click="cancel">取消</a-button>
-            <a-button key="submit" type="primary" :loading="loading" @click="pass">审核通过</a-button>
-            <a-button key="submit" type="primary" :loading="loading" @click="refuse">审核拒绝</a-button>
-        </template>
-        <a-form class="inlineForm" :form="form" @submit="handleSearch">
-            <fieldset class="formFieldSet">
-                <legend>套保计划</legend>
-                <a-row :gutter="24">
-                    <a-col :span="12">
-                        <a-form-item label="计划类型">
-                            <span class="white">{{ getPlanContractType(selectedRow.contracttype) }}</span>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="计划名称">
-                            <span class="white">{{ formatValue(selectedRow.hedgeplanno) }}</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.deliverygoodsname) }}</span>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="商品">
-                            <span class="white">{{ formatValue(selectedRow.wrstandardname) }}</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.planqty) }}</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.tradeusername) }}</span>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="结算币种">
-                            <span class="white">{{ formatValue(selectedRow.currencyname) }}</span>
-                        </a-form-item>
-                    </a-col>
-                </a-row>
-                <a-row :gutter="24">
-                    <a-col :span="12">
-                        <a-form-item label="状态">
-                            <span class="white">{{ formatValue(getPlanStatusName(selectedRow.hedgeplanstatus)) }}</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.remark) }}</span>
-                        </a-form-item>
-                    </a-col>
-                </a-row>
-            </fieldset>
-        </a-form>
-    </a-modal>
+  <!-- 审核计划-->
+  <a-modal class="commonModal fieldsetDialog warehouse-disable" title="审核计划" v-model:visible="visible" centered @cancel="cancel" width="890px">
+    <template #footer>
+      <a-button key="submit" class="cancelBtn" @click="cancel">取消</a-button>
+      <a-button key="submit" type="primary" :loading="loading" @click="pass">审核通过</a-button>
+      <a-button key="submit" type="primary" :loading="loading" @click="refuse">审核拒绝</a-button>
+    </template>
+    <a-form class="inlineForm" :form="form" @submit="handleSearch">
+      <fieldset class="formFieldSet">
+        <legend>套保计划</legend>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <a-form-item label="计划类型">
+              <span class="white">{{ getPlanContractType(selectedRow.contracttype) }}</span>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="计划名称">
+              <span class="white">{{ formatValue(selectedRow.hedgeplanno) }}</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-col :span="12">
+            <a-form-item label="商品">
+              <span class="white">{{ formatValue(selectedRow.wrstandardname) }}</span>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="计划量">
+              <span class="white">{{ formatValue(selectedRow.planqty) }}</span>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="交易用户">
+              <span class="white">{{ formatValue(selectedRow.tradeusername) }}</span>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="结算币种">
+              <span class="white">{{ formatValue(selectedRow.currencyname) }}</span>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="状态">
+              <span class="white">{{ formatValue(getPlanStatusName(selectedRow.hedgeplanstatus)) }}</span>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="备注">
+              <span class="white">{{ formatValue(selectedRow.remark) }}</span>
+            </a-form-item>
+          </a-col>
+        </a-row>
+      </fieldset>
+    </a-form>
+  </a-modal>
 </template>
 
 <script lang="ts">
 import { defineComponent, PropType, ref } from 'vue';
-import { closeModal } from '@/common/setup/modal/index';
 import { Modal } from 'ant-design-vue';
 import { ErmcpHedgePlanReq } from '@/services/proto/hedgeplan/interface';
 import Long from 'long';
@@ -83,72 +72,71 @@ import { formatValue } from '@/common/methods';
 import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
 import { hedgePlanReq } from '@/services/proto/hedgeplan';
 import { getPayCurrencyTypeEnumList } from '@/common/constants/enumsList';
-import { getUserId } from '@/services/bus/user';
 import { geLoginID_number } from '@/services/bus/login';
 import { _closeModal } from '@/common/setup/modal/modal';
 export default defineComponent({
-    name: 'plan_audit_audit',
-    emits: ['cancel', 'update'],
-    props: {
-        selectedRow: {
-            type: Object as PropType<Ermcp3HedgePlan>,
-            default: {},
-        },
-    },
-    setup(props, context) {
-        const { visible, cancel } = _closeModal(context);
-        const loading = ref<boolean>(false);
-        // 审核通过
-        function pass() {
-            Modal.confirm({
-                title: '是否确认审核通过',
-                okText: '审核通过',
-                cancelText: '取消',
-                onOk() {
-                    const params: ErmcpHedgePlanReq = {
-                        HedgePlanID: Long.fromString(props.selectedRow.hedgeplanid),
-                        OperateType: 4,
-                        auditremark: '通过',
-                        Currencyid: props.selectedRow.currencyid, // 结算币种id
-                        Tradeuserid: props.selectedRow.tradeuserid, // 交易用户id
-                        auditid: Number(geLoginID_number()),
-                    };
-                    requestResultLoadingAndInfo(hedgePlanReq, params, loading, ['审核通过', '审核失败:']).then(() => {
-                        cancel(true);
-                    });
-                },
-                onCancel() {},
-            });
-        }
-        // 审核拒绝
-        function refuse() {
-            Modal.confirm({
-                title: '是否确认审核拒绝',
-                okText: '审核拒绝',
-                cancelText: '取消',
-                onOk() {
-                    const params: ErmcpHedgePlanReq = {
-                        HedgePlanID: Long.fromString(props.selectedRow.hedgeplanid),
-                        OperateType: 5,
-                    };
-                    requestResultLoadingAndInfo(hedgePlanReq, params, loading, ['审核拒绝通过', '审核拒绝失败:']).then(() => {
-                        cancel(true);
-                    });
-                },
-                onCancel() {},
-            });
-        }
-        return {
-            visible,
-            cancel,
-            refuse,
-            loading,
-            pass,
-            getPlanContractType,
-            formatValue,
-            getPayCurrencyTypeEnumList,
-            getPlanStatusName,
-        };
+  name: 'plan_audit_audit',
+  emits: ['cancel', 'update'],
+  props: {
+    selectedRow: {
+      type: Object as PropType<Ermcp3HedgePlan>,
+      default: {},
     },
+  },
+  setup(props, context) {
+    const { visible, cancel } = _closeModal(context);
+    const loading = ref<boolean>(false);
+    // 审核通过
+    function pass() {
+      Modal.confirm({
+        title: '是否确认审核通过',
+        okText: '审核通过',
+        cancelText: '取消',
+        onOk() {
+          const params: ErmcpHedgePlanReq = {
+            HedgePlanID: Long.fromString(props.selectedRow.hedgeplanid),
+            OperateType: 4,
+            auditremark: '通过',
+            Currencyid: props.selectedRow.currencyid, // 结算币种id
+            Tradeuserid: props.selectedRow.tradeuserid, // 交易用户id
+            auditid: Number(geLoginID_number()),
+          };
+          requestResultLoadingAndInfo(hedgePlanReq, params, loading, ['审核通过', '审核失败:']).then(() => {
+            cancel(true);
+          });
+        },
+        onCancel() { },
+      });
+    }
+    // 审核拒绝
+    function refuse() {
+      Modal.confirm({
+        title: '是否确认审核拒绝',
+        okText: '审核拒绝',
+        cancelText: '取消',
+        onOk() {
+          const params: ErmcpHedgePlanReq = {
+            HedgePlanID: Long.fromString(props.selectedRow.hedgeplanid),
+            OperateType: 5,
+          };
+          requestResultLoadingAndInfo(hedgePlanReq, params, loading, ['审核拒绝通过', '审核拒绝失败:']).then(() => {
+            cancel(true);
+          });
+        },
+        onCancel() { },
+      });
+    }
+    return {
+      visible,
+      cancel,
+      refuse,
+      loading,
+      pass,
+      getPlanContractType,
+      formatValue,
+      getPayCurrencyTypeEnumList,
+      getPlanStatusName,
+    };
+  },
 });
 </script>

+ 51 - 60
src/views/business/plan/components/cancel/index.vue

@@ -19,21 +19,12 @@
               <span class="white">{{ formatValue(selectedRow.hedgeplanno) }}</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.deliverygoodsname) }}</span>
             </a-form-item>
           </a-col>
           <a-col :span="12">
-            <a-form-item label="标仓系数">
-              <span class="white">{{ formatValue(selectedRow.convertfactor) }}</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.planqty) }}</span>
             </a-form-item>
@@ -85,59 +76,59 @@ import { getPayCurrencyTypeEnumList } from '@/common/constants/enumsList';
 import { _closeModal } from '@/common/setup/modal/modal';
 
 export default defineComponent({
-    name: 'plan_audit_cancel',
-    emits: ['cancel', 'update'],
-    props: {
-        selectedRow: {
-            type: Object as PropType<Ermcp3HedgePlan>,
-            default: {},
-        },
+  name: 'plan_audit_cancel',
+  emits: ['cancel', 'update'],
+  props: {
+    selectedRow: {
+      type: Object as PropType<Ermcp3HedgePlan>,
+      default: {},
     },
-    setup(props, context) {
-        const { visible, cancel } = _closeModal(context);
-        const maskClosableFlag = ref<boolean>(false);
-        const loading = ref<boolean>(false);
+  },
+  setup(props, context) {
+    const { visible, cancel } = _closeModal(context);
+    const maskClosableFlag = ref<boolean>(false);
+    const loading = ref<boolean>(false);
 
-        function submit() {
-            Modal.confirm({
-                title: '是否确认撤销',
-                okText: '确认撤销',
-                cancelText: '取消',
-                onOk() {
-                    const { hedgeplanid, hedgeplanno, contracttype, areauserid, deliverygoodsid, wrstandardid, producttype, spotgoodsdesc, planqty, convertfactor, plantime } = props.selectedRow;
-                    const params: HedgePlanOperateReq = {
-                        HedgePlanID: Long.fromString(hedgeplanid),
-                        OperateType: 5,
-                        Info: {
-                            HedgePlanNo: hedgeplanno, // string 套保计划编号
-                            ContractType: contracttype, // int32 计划类型-1:采购-1:销售
-                            AreaUserID: areauserid, // uint32 机构ID
-                            DeliveryGoodsID: deliverygoodsid, // uint32 现货品种ID
-                            WrStandardID: wrstandardid, // uint32 现货商品ID
-                            ProductType: producttype, // uint32 产品类型-1:标准仓单2:等标3:非标
-                            SpotGoodsDesc: spotgoodsdesc, // string 商品型号
-                            PlanQty: planqty, // double 计划数量
-                            ConvertFactor: convertfactor, // double 标仓系数
-                            PlanTime: plantime, // string 计划时间
-                        },
-                    };
-                    requestResultLoadingAndInfo(oldHedgePlanReq, params, loading, ['撤销成功', '撤销失败:']).then(() => {
-                        cancel(true);
-                    });
-                },
-                onCancel() {},
-            });
-        }
+    function submit() {
+      Modal.confirm({
+        title: '是否确认撤销',
+        okText: '确认撤销',
+        cancelText: '取消',
+        onOk() {
+          const { hedgeplanid, hedgeplanno, contracttype, areauserid, deliverygoodsid, wrstandardid, producttype, spotgoodsdesc, planqty, convertfactor, plantime } = props.selectedRow;
+          const params: HedgePlanOperateReq = {
+            HedgePlanID: Long.fromString(hedgeplanid),
+            OperateType: 5,
+            Info: {
+              HedgePlanNo: hedgeplanno, // string 套保计划编号
+              ContractType: contracttype, // int32 计划类型-1:采购-1:销售
+              AreaUserID: areauserid, // uint32 机构ID
+              DeliveryGoodsID: deliverygoodsid, // uint32 现货品种ID
+              WrStandardID: wrstandardid, // uint32 现货商品ID
+              ProductType: producttype, // uint32 产品类型-1:标准仓单2:等标3:非标
+              SpotGoodsDesc: spotgoodsdesc, // string 商品型号
+              PlanQty: planqty, // double 计划数量
+              ConvertFactor: convertfactor, // double 标仓系数
+              PlanTime: plantime, // string 计划时间
+            },
+          };
+          requestResultLoadingAndInfo(oldHedgePlanReq, params, loading, ['撤销成功', '撤销失败:']).then(() => {
+            cancel(true);
+          });
+        },
+        onCancel() { },
+      });
+    }
 
-        return {
-            visible,
-            cancel,
-            submit,
-            maskClosableFlag,
-            formatValue,
-            getPlanContractType,
-            getPayCurrencyTypeEnumList,
-        };
-    },
+    return {
+      visible,
+      cancel,
+      submit,
+      maskClosableFlag,
+      formatValue,
+      getPlanContractType,
+      getPayCurrencyTypeEnumList,
+    };
+  },
 });
 </script>

+ 37 - 47
src/views/business/plan/components/delete/index.vue

@@ -19,8 +19,6 @@
               <span class="white">{{ formatValue(selectedRow.hedgeplanno) }}</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.deliverygoodsname) }}</span>
@@ -31,15 +29,11 @@
               <span class="white">{{ formatValue(selectedRow.wrstandardname) }}</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.planqty) }}</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.tradeusername) }}</span>
@@ -50,15 +44,11 @@
               <span class="white">{{ formatValue(selectedRow.currencyname) }}</span>
             </a-form-item>
           </a-col>
-        </a-row>
-        <a-row :gutter="24">
           <a-col :span="12">
             <a-form-item label="状态">
               <span class="white">{{ formatValue(getPlanStatusName(selectedRow.hedgeplanstatus)) }}</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.remark) }}</span>
@@ -106,43 +96,43 @@ import { getPayCurrencyTypeEnumList } from '@/common/constants/enumsList';
 import { _closeModal } from '@/common/setup/modal/modal';
 
 export default defineComponent({
-    name: 'plan_uncommitted_delete',
-    emits: ['cancel', 'update'],
-    props: {
-        selectedRow: {
-            type: Object as PropType<Ermcp3HedgePlan>,
-            default: {},
-        },
-    },
-    setup(props, context) {
-        const { visible, cancel } = _closeModal(context);
-        const loading = ref<boolean>(false);
-        function submit() {
-            Modal.confirm({
-                title: '是否确认删除',
-                okText: '确认删除',
-                cancelText: '取消',
-                onOk() {
-                    const params: ErmcpHedgePlanReq = {
-                        HedgePlanID: Long.fromString(props.selectedRow.hedgeplanid),
-                        OperateType: 3,
-                    };
-                    requestResultLoadingAndInfo(hedgePlanReq, params, loading, ['删除成功', '删除失败:']).then(() => {
-                        cancel(true);
-                    });
-                },
-                onCancel() {},
-            });
-        }
-        return {
-            visible,
-            cancel,
-            submit,
-            formatValue,
-            getPlanContractType,
-            getPayCurrencyTypeEnumList,
-            getPlanStatusName,
-        };
+  name: 'plan_uncommitted_delete',
+  emits: ['cancel', 'update'],
+  props: {
+    selectedRow: {
+      type: Object as PropType<Ermcp3HedgePlan>,
+      default: {},
     },
+  },
+  setup(props, context) {
+    const { visible, cancel } = _closeModal(context);
+    const loading = ref<boolean>(false);
+    function submit() {
+      Modal.confirm({
+        title: '是否确认删除',
+        okText: '确认删除',
+        cancelText: '取消',
+        onOk() {
+          const params: ErmcpHedgePlanReq = {
+            HedgePlanID: Long.fromString(props.selectedRow.hedgeplanid),
+            OperateType: 3,
+          };
+          requestResultLoadingAndInfo(hedgePlanReq, params, loading, ['删除成功', '删除失败:']).then(() => {
+            cancel(true);
+          });
+        },
+        onCancel() { },
+      });
+    }
+    return {
+      visible,
+      cancel,
+      submit,
+      formatValue,
+      getPlanContractType,
+      getPayCurrencyTypeEnumList,
+      getPlanStatusName,
+    };
+  },
 });
 </script>

+ 26 - 47
src/views/business/plan/components/detail/index.vue

@@ -1,21 +1,11 @@
 <template>
   <!-- 套保计划详情-->
-  <a-modal class="commonModal custom-detail"
-           title="套保计划详情"
-           v-model:visible="visible"
-           centered
-           @cancel="cancel"
-           width="890px">
+  <a-modal class="commonModal custom-detail" title="套保计划详情" v-model:visible="visible" centered @cancel="cancel" width="890px">
     <template #footer>
-      <a-button key="submit"
-                type="primary"
-                :loading="loading"
-                @click="submit">关闭
+      <a-button key="submit" type="primary" :loading="loading" @click="submit">关闭
       </a-button>
     </template>
-    <a-form class="inlineForm"
-            :form="form"
-            @submit="handleSearch">
+    <a-form class="inlineForm" :form="form" @submit="handleSearch">
       <fieldset class="formFieldSet">
         <legend>套保计划</legend>
         <a-row :gutter="24">
@@ -29,8 +19,6 @@
               <span class="white">{{ formatValue(selectedRow.hedgeplanno) }}</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.deliverygoodsname) }}</span>
@@ -41,15 +29,11 @@
               <span class="white">{{ formatValue(selectedRow.wrstandardname) }}</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.planqty) }}</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.tradeusername) }}</span>
@@ -60,16 +44,11 @@
               <span class="white">{{ formatValue(selectedRow.currencyname) }}</span>
             </a-form-item>
           </a-col>
-        </a-row>
-        <a-row :gutter="24">
           <a-col :span="12">
             <a-form-item label="状态">
-              <span
-                    class="white">{{ formatValue(getPlanStatusName(selectedRow.hedgeplanstatus)) }}</span>
+              <span class="white">{{ formatValue(getPlanStatusName(selectedRow.hedgeplanstatus)) }}</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.remark) }}</span>
@@ -112,31 +91,31 @@ import { getPayCurrencyTypeEnumList } from '@/common/constants/enumsList';
 import { _closeModal } from '@/common/setup/modal/modal';
 
 export default defineComponent({
-    name: 'plan-detail',
-    emits: ['cancel', 'update'],
-    props: {
-        selectedRow: {
-            type: Object as PropType<Ermcp3HedgePlan>,
-            default: {},
-        },
+  name: 'plan-detail',
+  emits: ['cancel', 'update'],
+  props: {
+    selectedRow: {
+      type: Object as PropType<Ermcp3HedgePlan>,
+      default: {},
     },
-    setup(props, context) {
-        const { visible, cancel } = _closeModal(context);
+  },
+  setup(props, context) {
+    const { visible, cancel } = _closeModal(context);
 
-        function submit() {
-            cancel();
-        }
+    function submit() {
+      cancel();
+    }
 
-        return {
-            visible,
-            cancel,
-            submit,
-            formatValue,
-            getPlanContractType,
-            getPayCurrencyTypeEnumList,
-            getPlanStatusName,
-        };
-    },
+    return {
+      visible,
+      cancel,
+      submit,
+      formatValue,
+      getPlanContractType,
+      getPayCurrencyTypeEnumList,
+      getPlanStatusName,
+    };
+  },
 });
 </script>
 

+ 97 - 169
src/views/business/plan/components/modify/index.vue

@@ -1,133 +1,61 @@
 <template>
   <!-- 修改计划 -->
-  <a-modal class="commonModal modify-custom"
-           title="修改计划"
-           v-if="visible"
-           centered
-           v-model:visible="visible"
-           @cancel="cancel"
-           width="890px">
+  <a-modal class="commonModal modify-custom" title="修改计划" v-if="visible" centered v-model:visible="visible" @cancel="cancel" width="890px">
     <template #footer>
-      <a-button key="submit"
-                type="primary"
-                :loading="loading"
-                @click="submit(2)">完成</a-button>
-      <a-button key="cancel"
-                type="primary"
-                :loading="loading"
-                @click="cancel">取消</a-button>
+      <a-button key="submit" type="primary" :loading="loading" @click="submit(2)">完成</a-button>
+      <a-button key="cancel" type="primary" :loading="loading" @click="cancel">取消</a-button>
     </template>
-    <a-form class="inlineForm"
-            ref="formRef"
-            :model="formState"
-            :rules="rules">
+    <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-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 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-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-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 ConvertFactor"
-                     v-model:value="formState.ConvertFactor"
-                     readonly
-                     style="width: 200px"
-                     placeholder="请输入标仓系数" />
+          <a-form-item label="计划量" class="relative" name="PlanQty">
+            <a-input-number class="dialogInput" style="width: 200px" :min="0" v-model:value="formState.PlanQty" placeholder="请输入计划量"></a-input-number>
           </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"
-                            :min="0"
-                            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-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-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 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>
@@ -155,83 +83,83 @@ import { handlerManagerList } from '@/common/setup/user';
 import { _closeModal } from '@/common/setup/modal/modal';
 
 export default defineComponent({
-    name: 'plan_uncommitted_modify',
-    emits: ['cancel', 'update'],
-    props: {
-        selectedRow: {
-            type: Object as PropType<Ermcp3HedgePlan>,
-            default: {},
-        },
+  name: 'plan_uncommitted_modify',
+  emits: ['cancel', 'update'],
+  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();
+  },
+  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();
 
-        getDG();
-        queryTable();
-        mergeTwoObj(formState, props.selectedRow);
-        const { deliverygoodsid, planqty, wrstandardid } = props.selectedRow;
-        deliverygoodsid && chooseMG(deliverygoodsid);
-        formState.PlanQty = planqty;
+    getDG();
+    queryTable();
+    mergeTwoObj(formState, props.selectedRow);
+    const { deliverygoodsid, planqty, wrstandardid } = props.selectedRow;
+    deliverygoodsid && chooseMG(deliverygoodsid);
+    formState.PlanQty = planqty;
 
-        if (wrstandardid) {
-            formState.WRStandardID = wrstandardid;
-            chooseWR(wrstandardid);
-        }
+    if (wrstandardid) {
+      formState.WRStandardID = wrstandardid;
+      chooseWR(wrstandardid);
+    }
 
-        function submit(OperateType: 1 | 2) {
-            validateAction<FormState>(formRef, formState).then((param) => {
-                const loginId = geLoginID_number();
-                const userid = getAreaUserId();
-                const reqParam: ErmcpHedgePlanReq = {
-                    HedgePlanID: Number(props.selectedRow.hedgeplanid),
-                    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(() => {
-                    cancel(true);
-                });
-            });
-        }
-        return {
-            visible,
-            cancel,
-            submit,
-            loading,
-            planTye,
-            DGList,
-            gmlist,
-            chooseMG,
-            tableList,
-            priceTyep,
-            formRef,
-            formState,
-            rules,
-            chooseWR,
+    function submit(OperateType: 1 | 2) {
+      validateAction<FormState>(formRef, formState).then((param) => {
+        const loginId = geLoginID_number();
+        const userid = getAreaUserId();
+        const reqParam: ErmcpHedgePlanReq = {
+          HedgePlanID: Number(props.selectedRow.hedgeplanid),
+          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(() => {
+          cancel(true);
+        });
+      });
+    }
+    return {
+      visible,
+      cancel,
+      submit,
+      loading,
+      planTye,
+      DGList,
+      gmlist,
+      chooseMG,
+      tableList,
+      priceTyep,
+      formRef,
+      formState,
+      rules,
+      chooseWR,
+    };
+  },
 });
 </script>
 

+ 109 - 109
src/views/business/purchase/components/detail/index.vue

@@ -97,122 +97,122 @@ import { invoiceStatusName, stateName } from '@/views/manage/finance-review/setu
 import moment from 'moment';
 
 export default defineComponent({
-    name: 'purchase_pending-detail',
-    components: { InfoDetail },
-    emits: ['cancel', 'update'],
-    props: {
-        selectedRow: {
-            type: Object as PropType<Ermcp3SellBuyContract>,
-            default: {},
-        },
+  name: 'purchase_pending-detail',
+  components: { InfoDetail },
+  emits: ['cancel', 'update'],
+  props: {
+    selectedRow: {
+      type: Object as PropType<Ermcp3SellBuyContract>,
+      default: {},
     },
-    setup(props, context) {
-        const { visible, cancel } = _closeModal(context);
-        const loading = ref<boolean>(false);
+  },
+  setup(props, context) {
+    const { visible, cancel } = _closeModal(context);
+    const loading = ref<boolean>(false);
 
-        const tabList = ref<{ key: number; name: string }[]>([]);
+    const tabList = ref<{ key: number; name: string }[]>([]);
 
-        const activeKey = ref<number>(1);
+    const activeKey = ref<number>(1);
 
-        const tableList = ref<any[]>([]);
-        // 表头数据
-        const { columns, registerColumn } = getTableColumns();
+    const tableList = ref<any[]>([]);
+    // 表头数据
+    const { columns, registerColumn } = getTableColumns();
 
-        function submit() {
-            cancel();
-        }
+    function submit() {
+      cancel();
+    }
 
-        // 审核拒绝和未提交不显示后面的选项
-        tabList.value = [0, 4, 6].includes(props.selectedRow.contracctstatus)
-            ? [{ key: 1, name: '合同详情' }]
-            : [
-                  { key: 1, name: '合同详情' },
-                  { key: 2, name: '点价记录' },
-                  { key: 3, name: '交收记录' },
-                  { key: 4, name: '款项记录' },
-                  { key: 5, name: '发票记录' },
-                  { key: 6, name: props.selectedRow.contracttype === 1 ? '入库记录' : '出库记录' },
-                  { key: 7, name: '变更记录' },
-                  { key: 8, name: '关联记录' },
-              ];
-        activeKey.value = 1;
-        function tabClick() {
-            const { spotcontractid, contracttype } = props.selectedRow;
-            switch (activeKey.value) {
-                case 2: // 点价记录
-                    registerColumn('table_pcweb_someprice_detail_dj', []);
-                    queryResultLoadingAndInfo(QueryBusinessDj, loading, { spotcontractid, applystatus: '2,3' }).then((res) => {
-                        tableList.value = res;
-                    });
-                    break;
-                case 3: // 交收记录
-                    registerColumn('table_pcweb_someprice_detail_js', []);
-                    queryResultLoadingAndInfo(QueryBusinessJs, loading, { spotcontractid, applystatus: '2,3' }).then((res) => {
-                        tableList.value = res;
-                    });
-                    break;
-                case 4: //款项记录
-                    registerColumn('table_pcweb_someprice_detail_kx', []);
-                    queryResultLoadingAndInfo(QueryBusinessKx, loading, { spotcontractid, applystatus: '2,3' }).then((res) => {
-                        tableList.value = res;
-                    });
-                    break;
-                case 5: // 发票记录
-                    registerColumn('table_pcweb_someprice_detail_fp', []);
-                    queryResultLoadingAndInfo(QueryBusinessFp, loading, { spotcontractid, applystatus: '2,3' }).then((res) => {
-                        tableList.value = res;
-                    });
-                    break;
-                case 6: // 出入库记录
-                    const inouttype = contracttype === 1 ? '5' : '6';
-                    if (contracttype === 1) {
-                        registerColumn('table_pcweb_someprice_detail_stock', []);
-                    } else {
-                        registerColumn('table_pcweb_someprice_detail_stock_out', []);
-                    }
-                    queryResultLoadingAndInfo(QueryAreaStockApply, loading, {
-                        spotcontractid: spotcontractid,
-                        inouttype,
-                    }).then((res) => {
-                        tableList.value = res;
-                    });
-                    break;
-                case 7: //// 变更记录
-                    registerColumn('table_pcweb_someprice_detail_change', []);
-                    queryResultLoadingAndInfo(QueryChangeLog, loading, { RelatedId: spotcontractid }).then((res) => {
-                        tableList.value = res;
-                    });
-                    break;
-                case 8: //// 关联记录
-                    columns.value.length = 0;
-                    columns.value.push(...columnsPaTradeLink);
-                    queryResultLoadingAndInfo(QueryPaTradeLinkDetail, loading).then((res) => {
-                        // 关联日期降序
-                        tableList.value = res.sort((a, b) => moment(b.tradetime).valueOf() - moment(a.tradetime).valueOf());
-                    });
-                    break;
-            }
-        }
+    // 审核拒绝和未提交不显示后面的选项
+    tabList.value = [0, 4, 6].includes(props.selectedRow.contracctstatus)
+      ? [{ key: 1, name: '合同详情' }]
+      : [
+        { key: 1, name: '合同详情' },
+        { key: 2, name: '点价记录' },
+        { key: 3, name: '交收记录' },
+        { key: 4, name: '款项记录' },
+        { key: 5, name: '发票记录' },
+        { key: 6, name: props.selectedRow.contracttype === 1 ? '入库记录' : '出库记录' },
+        { key: 7, name: '变更记录' },
+        { key: 8, name: '关联记录' },
+      ];
+    activeKey.value = 1;
+    function tabClick() {
+      const { spotcontractid, contracttype } = props.selectedRow;
+      switch (activeKey.value) {
+        case 2: // 点价记录
+          registerColumn('table_pcweb_someprice_detail_dj', []);
+          queryResultLoadingAndInfo(QueryBusinessDj, loading, { relatedid: spotcontractid, applystatus: '2,3' }).then((res) => {
+            tableList.value = res;
+          });
+          break;
+        case 3: // 交收记录
+          registerColumn('table_pcweb_someprice_detail_js', []);
+          queryResultLoadingAndInfo(QueryBusinessJs, loading, { relatedid: spotcontractid, applystatus: '2,3' }).then((res) => {
+            tableList.value = res;
+          });
+          break;
+        case 4: //款项记录
+          registerColumn('table_pcweb_someprice_detail_kx', []);
+          queryResultLoadingAndInfo(QueryBusinessKx, loading, { relatedid: spotcontractid, applystatus: '2,3' }).then((res) => {
+            tableList.value = res;
+          });
+          break;
+        case 5: // 发票记录
+          registerColumn('table_pcweb_someprice_detail_fp', []);
+          queryResultLoadingAndInfo(QueryBusinessFp, loading, { relatedid: spotcontractid, applystatus: '2,3' }).then((res) => {
+            tableList.value = res;
+          });
+          break;
+        case 6: // 出入库记录
+          const inouttype = contracttype === 1 ? '5' : '6';
+          if (contracttype === 1) {
+            registerColumn('table_pcweb_someprice_detail_stock', []);
+          } else {
+            registerColumn('table_pcweb_someprice_detail_stock_out', []);
+          }
+          queryResultLoadingAndInfo(QueryAreaStockApply, loading, {
+            spotcontractid,
+            inouttype,
+          }).then((res) => {
+            tableList.value = res;
+          });
+          break;
+        case 7: //// 变更记录
+          registerColumn('table_pcweb_someprice_detail_change', []);
+          queryResultLoadingAndInfo(QueryChangeLog, loading, { RelatedId: spotcontractid }).then((res) => {
+            tableList.value = res;
+          });
+          break;
+        case 8: //// 关联记录
+          columns.value.length = 0;
+          columns.value.push(...columnsPaTradeLink);
+          queryResultLoadingAndInfo(QueryPaTradeLinkDetail, loading).then((res) => {
+            // 关联日期降序
+            tableList.value = res.sort((a, b) => moment(b.tradetime).valueOf() - moment(a.tradetime).valueOf());
+          });
+          break;
+      }
+    }
 
-        return {
-            visible,
-            cancel,
-            submit,
-            loading,
-            formatValue,
-            getPriceTypeName,
-            tabClick,
-            tabList,
-            tableList,
-            activeKey,
-            columns,
-            getApplyStatusName,
-            getReceiptName,
-            InOutTypeName,
-            invoiceStatusName,
-            stateName,
-        };
-    },
+    return {
+      visible,
+      cancel,
+      submit,
+      loading,
+      formatValue,
+      getPriceTypeName,
+      tabClick,
+      tabList,
+      tableList,
+      activeKey,
+      columns,
+      getApplyStatusName,
+      getReceiptName,
+      InOutTypeName,
+      invoiceStatusName,
+      stateName,
+    };
+  },
 });
 </script>
 

+ 109 - 109
src/views/business/sell/components/detail/index.vue

@@ -96,117 +96,117 @@ import { InOutTypeName } from '@/views/manage/inventory-review/setup';
 import moment from 'moment';
 
 export default defineComponent({
-    name: 'sell-detail',
-    emits: ['cancel', 'update'],
-    components: { InfoDetail },
-    props: {
-        selectedRow: {
-            type: Object as PropType<Ermcp3SellBuyContract>,
-            default: {},
-        },
+  name: 'sell-detail',
+  emits: ['cancel', 'update'],
+  components: { InfoDetail },
+  props: {
+    selectedRow: {
+      type: Object as PropType<Ermcp3SellBuyContract>,
+      default: {},
     },
-    setup(props, context) {
-        const { visible, cancel } = _closeModal(context);
-        const loading = ref<boolean>(false);
-        const tabList = ref<{ key: number; name: string }[]>([]);
-        const activeKey = ref<number>(1);
-        const tableList = ref<any[]>([]);
-        activeKey.value = 1;
-        // 表头数据
-        const { columns, registerColumn } = getTableColumns();
-        // 审核拒绝和未提交不显示后面的选项
-        tabList.value = [0, 4, 6].includes(props.selectedRow.contracctstatus)
-            ? [{ key: 1, name: '合同详情' }]
-            : [
-                  { key: 1, name: '合同详情' },
-                  { key: 2, name: '点价记录' },
-                  { key: 3, name: '交收记录' },
-                  { key: 4, name: '款项记录' },
-                  { key: 5, name: '发票记录' },
-                  { key: 6, name: props.selectedRow.contracttype === 1 ? '入库记录' : '出库记录' },
-                  { key: 7, name: '变更记录' },
-                  { key: 8, name: '关联记录' },
-              ];
-        function submit() {
-            cancel();
-        }
+  },
+  setup(props, context) {
+    const { visible, cancel } = _closeModal(context);
+    const loading = ref<boolean>(false);
+    const tabList = ref<{ key: number; name: string }[]>([]);
+    const activeKey = ref<number>(1);
+    const tableList = ref<any[]>([]);
+    activeKey.value = 1;
+    // 表头数据
+    const { columns, registerColumn } = getTableColumns();
+    // 审核拒绝和未提交不显示后面的选项
+    tabList.value = [0, 4, 6].includes(props.selectedRow.contracctstatus)
+      ? [{ key: 1, name: '合同详情' }]
+      : [
+        { key: 1, name: '合同详情' },
+        { key: 2, name: '点价记录' },
+        { key: 3, name: '交收记录' },
+        { key: 4, name: '款项记录' },
+        { key: 5, name: '发票记录' },
+        { key: 6, name: props.selectedRow.contracttype === 1 ? '入库记录' : '出库记录' },
+        { key: 7, name: '变更记录' },
+        { key: 8, name: '关联记录' },
+      ];
+    function submit() {
+      cancel();
+    }
 
-        function tabClick() {
-            const { spotcontractid, contracttype } = props.selectedRow;
-            switch (activeKey.value) {
-                case 2: // 点价记录
-                    registerColumn('table_pcweb_someprice_detail_dj', []);
-                    queryResultLoadingAndInfo(QueryBusinessDj, loading, { spotcontractid, applystatus: '2,3' }).then((res) => {
-                        tableList.value = res;
-                    });
-                    break;
-                case 3: // 交收记录
-                    registerColumn('table_pcweb_someprice_detail_js', []);
-                    queryResultLoadingAndInfo(QueryBusinessJs, loading, { spotcontractid, applystatus: '2,3' }).then((res) => {
-                        tableList.value = res;
-                    });
-                    break;
-                case 4: //款项记录
-                    registerColumn('table_pcweb_someprice_detail_kx', []);
-                    queryResultLoadingAndInfo(QueryBusinessKx, loading, { spotcontractid, applystatus: '2,3' }).then((res) => {
-                        tableList.value = res;
-                    });
-                    break;
-                case 5: // 发票记录
-                    registerColumn('table_pcweb_someprice_detail_fp', []);
-                    queryResultLoadingAndInfo(QueryBusinessFp, loading, { spotcontractid, applystatus: '2,3' }).then((res) => {
-                        tableList.value = res;
-                    });
-                    break;
-                case 6: // 出入库记录
-                    const inouttype = contracttype === 1 ? '5' : '6';
-                    if (contracttype === 1) {
-                        registerColumn('table_pcweb_someprice_detail_stock', []);
-                    } else {
-                        registerColumn('table_pcweb_someprice_detail_stock_out', []);
-                    }
-                    queryResultLoadingAndInfo(QueryAreaStockApply, loading, {
-                        spotcontractid: spotcontractid,
-                        inouttype,
-                    }).then((res) => {
-                        tableList.value = res;
-                    });
-                    break;
-                case 7: //// 变更记录
-                    registerColumn('table_pcweb_someprice_detail_change', []);
-                    queryResultLoadingAndInfo(QueryChangeLog, loading, { RelatedId: spotcontractid }).then((res) => {
-                        tableList.value = res;
-                    });
-                    break;
-                case 8: //// 关联记录
-                    columns.value.length = 0;
-                    columns.value.push(...columnsPaTradeLink);
-                    queryResultLoadingAndInfo(QueryPaTradeLinkDetail, loading).then((res) => {
-                        // 关联日期降序
-                        tableList.value = res.sort((a, b) => moment(b.tradetime).valueOf() - moment(a.tradetime).valueOf());
-                    });
-                    break;
-            }
-        }
-        return {
-            visible,
-            cancel,
-            submit,
-            loading,
-            formatValue,
-            getPriceTypeName,
-            activeKey,
-            tabClick,
-            tabList,
-            columns,
-            tableList,
-            getApplyStatusName,
-            getReceiptName,
-            invoiceStatusName,
-            stateName,
-            InOutTypeName,
-        };
-    },
+    function tabClick() {
+      const { spotcontractid, contracttype } = props.selectedRow;
+      switch (activeKey.value) {
+        case 2: // 点价记录
+          registerColumn('table_pcweb_someprice_detail_dj', []);
+          queryResultLoadingAndInfo(QueryBusinessDj, loading, { relatedid: spotcontractid, applystatus: '2,3' }).then((res) => {
+            tableList.value = res;
+          });
+          break;
+        case 3: // 交收记录
+          registerColumn('table_pcweb_someprice_detail_js', []);
+          queryResultLoadingAndInfo(QueryBusinessJs, loading, { relatedid: spotcontractid, applystatus: '2,3' }).then((res) => {
+            tableList.value = res;
+          });
+          break;
+        case 4: //款项记录
+          registerColumn('table_pcweb_someprice_detail_kx', []);
+          queryResultLoadingAndInfo(QueryBusinessKx, loading, { relatedid: spotcontractid, applystatus: '2,3' }).then((res) => {
+            tableList.value = res;
+          });
+          break;
+        case 5: // 发票记录
+          registerColumn('table_pcweb_someprice_detail_fp', []);
+          queryResultLoadingAndInfo(QueryBusinessFp, loading, { relatedid: spotcontractid, applystatus: '2,3' }).then((res) => {
+            tableList.value = res;
+          });
+          break;
+        case 6: // 出入库记录
+          const inouttype = contracttype === 1 ? '5' : '6';
+          if (contracttype === 1) {
+            registerColumn('table_pcweb_someprice_detail_stock', []);
+          } else {
+            registerColumn('table_pcweb_someprice_detail_stock_out', []);
+          }
+          queryResultLoadingAndInfo(QueryAreaStockApply, loading, {
+            spotcontractid,
+            inouttype,
+          }).then((res) => {
+            tableList.value = res;
+          });
+          break;
+        case 7: //// 变更记录
+          registerColumn('table_pcweb_someprice_detail_change', []);
+          queryResultLoadingAndInfo(QueryChangeLog, loading, { RelatedId: spotcontractid }).then((res) => {
+            tableList.value = res;
+          });
+          break;
+        case 8: //// 关联记录
+          columns.value.length = 0;
+          columns.value.push(...columnsPaTradeLink);
+          queryResultLoadingAndInfo(QueryPaTradeLinkDetail, loading).then((res) => {
+            // 关联日期降序
+            tableList.value = res.sort((a, b) => moment(b.tradetime).valueOf() - moment(a.tradetime).valueOf());
+          });
+          break;
+      }
+    }
+    return {
+      visible,
+      cancel,
+      submit,
+      loading,
+      formatValue,
+      getPriceTypeName,
+      activeKey,
+      tabClick,
+      tabList,
+      columns,
+      tableList,
+      getApplyStatusName,
+      getReceiptName,
+      invoiceStatusName,
+      stateName,
+      InOutTypeName,
+    };
+  },
 });
 </script>
 

+ 107 - 107
src/views/information/spot-contract/components/detail/index.vue

@@ -101,118 +101,118 @@ import { columnsPaTradeLink } from './setup';
 import moment from 'moment';
 
 export default defineComponent({
-    name: 'spot-contract-detail',
-    components: { InfoDetail },
-    emits: ['cancel', 'update'],
-    props: {
-        selectedRow: {
-            type: Object as PropType<Ermcp3ContractRsp>,
-            default: {},
-        },
+  name: 'spot-contract-detail',
+  components: { InfoDetail },
+  emits: ['cancel', 'update'],
+  props: {
+    selectedRow: {
+      type: Object as PropType<Ermcp3ContractRsp>,
+      default: {},
     },
-    setup: function (props, context) {
-        const { visible, cancel } = _closeModal(context);
-        const tabList = ref<{ key: number; name: string }[]>([]);
+  },
+  setup: function (props, context) {
+    const { visible, cancel } = _closeModal(context);
+    const tabList = ref<{ key: number; name: string }[]>([]);
 
-        const activeKey = ref<number>(1);
+    const activeKey = ref<number>(1);
 
-        const loading = ref<boolean>(false);
-        const tableList = ref<any[]>([]);
-        // 表头数据
-        const { columns, registerColumn } = getTableColumns();
+    const loading = ref<boolean>(false);
+    const tableList = ref<any[]>([]);
+    // 表头数据
+    const { columns, registerColumn } = getTableColumns();
 
-        // 审核拒绝和未提交不显示后面的选项
-        tabList.value = [0, 4, 6].includes(props.selectedRow.contracctstatus)
-            ? [{ key: 1, name: '合同详情' }]
-            : [
-                  { key: 1, name: '合同详情' },
-                  { key: 2, name: '点价记录' },
-                  { key: 3, name: '交收记录' },
-                  { key: 4, name: '款项记录' },
-                  { key: 5, name: '发票记录' },
-                  { key: 6, name: props.selectedRow.contracttype === 1 ? '入库记录' : '出库记录' },
-                  { key: 7, name: '变更记录' },
-                  { key: 8, name: '关联记录' },
-              ];
-        activeKey.value = 1;
-        function tabClick() {
-            const { spotcontractid, contracttype } = props.selectedRow;
-            switch (activeKey.value) {
-                case 2: // 点价记录
-                    registerColumn('table_pcweb_someprice_detail_dj', []);
-                    queryResultLoadingAndInfo(QueryBusinessDj, loading, { spotcontractid, applystatus: '2,3' }).then((res) => {
-                        tableList.value = res;
-                    });
-                    break;
-                case 3: // 交收记录
-                    registerColumn('table_pcweb_someprice_detail_js', []);
-                    queryResultLoadingAndInfo(QueryBusinessJs, loading, { spotcontractid, applystatus: '2,3' }).then((res) => {
-                        tableList.value = res;
-                    });
-                    break;
-                case 4: //款项记录
-                    registerColumn('table_pcweb_someprice_detail_kx', []);
-                    queryResultLoadingAndInfo(QueryBusinessKx, loading, { spotcontractid, applystatus: '2,3' }).then((res) => {
-                        tableList.value = res;
-                    });
-                    break;
-                case 5: // 发票记录
-                    registerColumn('table_pcweb_someprice_detail_fp', []);
-                    queryResultLoadingAndInfo(QueryBusinessFp, loading, { spotcontractid, applystatus: '2,3' }).then((res) => {
-                        tableList.value = res;
-                    });
-                    break;
-                case 6: // 出入库记录
-                    const inouttype = contracttype === 1 ? '5' : '6';
-                    if (contracttype === 1) {
-                        registerColumn('table_pcweb_someprice_detail_stock', []);
-                    } else {
-                        registerColumn('table_pcweb_someprice_detail_stock_out', []);
-                    }
-                    queryResultLoadingAndInfo(QueryAreaStockApply, loading, {
-                        spotcontractid: spotcontractid,
-                        inouttype,
-                    }).then((res) => {
-                        tableList.value = res;
-                    });
-                    break;
-                case 7: //// 变更记录
-                    registerColumn('table_pcweb_someprice_detail_change', []);
-                    queryResultLoadingAndInfo(QueryChangeLog, loading, { RelatedId: spotcontractid }).then((res) => {
-                        tableList.value = res;
-                    });
-                    break;
-                case 8: //// 关联记录
-                    columns.value.length = 0;
-                    columns.value.push(...columnsPaTradeLink);
-                    queryResultLoadingAndInfo(QueryPaTradeLinkDetail, loading).then((res) => {
-                        // 关联日期降序
-                        tableList.value = res.sort((a, b) => moment(b.tradetime).valueOf() - moment(a.tradetime).valueOf());
-                    });
-                    break;
-            }
-        }
+    // 审核拒绝和未提交不显示后面的选项
+    tabList.value = [0, 4, 6].includes(props.selectedRow.contracctstatus)
+      ? [{ key: 1, name: '合同详情' }]
+      : [
+        { key: 1, name: '合同详情' },
+        { key: 2, name: '点价记录' },
+        { key: 3, name: '交收记录' },
+        { key: 4, name: '款项记录' },
+        { key: 5, name: '发票记录' },
+        { key: 6, name: props.selectedRow.contracttype === 1 ? '入库记录' : '出库记录' },
+        { key: 7, name: '变更记录' },
+        { key: 8, name: '关联记录' },
+      ];
+    activeKey.value = 1;
+    function tabClick() {
+      const { spotcontractid, contracttype, contractno } = props.selectedRow;
+      switch (activeKey.value) {
+        case 2: // 点价记录
+          registerColumn('table_pcweb_someprice_detail_dj', []);
+          queryResultLoadingAndInfo(QueryBusinessDj, loading, { relatedid: spotcontractid, applystatus: '2,3' }).then((res) => {
+            tableList.value = res;
+          });
+          break;
+        case 3: // 交收记录
+          registerColumn('table_pcweb_someprice_detail_js', []);
+          queryResultLoadingAndInfo(QueryBusinessJs, loading, { relatedid: spotcontractid, applystatus: '2,3' }).then((res) => {
+            tableList.value = res;
+          });
+          break;
+        case 4: //款项记录
+          registerColumn('table_pcweb_someprice_detail_kx', []);
+          queryResultLoadingAndInfo(QueryBusinessKx, loading, { relatedid: spotcontractid, applystatus: '2,3' }).then((res) => {
+            tableList.value = res;
+          });
+          break;
+        case 5: // 发票记录
+          registerColumn('table_pcweb_someprice_detail_fp', []);
+          queryResultLoadingAndInfo(QueryBusinessFp, loading, { relatedid: spotcontractid, applystatus: '2,3' }).then((res) => {
+            tableList.value = res;
+          });
+          break;
+        case 6: // 出入库记录
+          const inouttype = contracttype === 1 ? '5' : '6';
+          if (contracttype === 1) {
+            registerColumn('table_pcweb_someprice_detail_stock', []);
+          } else {
+            registerColumn('table_pcweb_someprice_detail_stock_out', []);
+          }
+          queryResultLoadingAndInfo(QueryAreaStockApply, loading, {
+            spotcontractid,
+            inouttype,
+          }).then((res) => {
+            tableList.value = res;
+          });
+          break;
+        case 7: // 变更记录
+          registerColumn('table_pcweb_someprice_detail_change', []);
+          queryResultLoadingAndInfo(QueryChangeLog, loading, { RelatedId: spotcontractid }).then((res) => {
+            tableList.value = res;
+          });
+          break;
+        case 8: // 关联记录
+          columns.value.length = 0;
+          columns.value.push(...columnsPaTradeLink);
+          queryResultLoadingAndInfo(QueryPaTradeLinkDetail, loading, { contractno }).then((res) => {
+            // 关联日期降序
+            tableList.value = res.sort((a, b) => moment(b.tradetime).valueOf() - moment(a.tradetime).valueOf());
+          });
+          break;
+      }
+    }
 
-        return {
-            visible,
-            cancel,
-            loading,
-            maskClosableFlag: false,
-            activeKey,
-            columns,
-            tableList,
-            tabList,
-            tabClick,
-            getApplyStatusName,
-            invoiceStatusName,
-            getPlanContractType,
-            InOutTypeName,
-            kxtypeName,
-            formatValue,
-            getReceiptName,
-            stateName,
-        };
-    },
+    return {
+      visible,
+      cancel,
+      loading,
+      maskClosableFlag: false,
+      activeKey,
+      columns,
+      tableList,
+      tabList,
+      tabClick,
+      getApplyStatusName,
+      invoiceStatusName,
+      getPlanContractType,
+      InOutTypeName,
+      kxtypeName,
+      formatValue,
+      getReceiptName,
+      stateName,
+    };
+  },
 });
 </script>
 

+ 84 - 88
src/views/manage/finance-review/list/invoice/index.vue

@@ -19,10 +19,6 @@
       <template #applystatus="{ text }">
         <a>{{ getApplyStatusName(text) }}</a>
       </template>
-      <!-- 发票附件 -->
-      <template #attachurl="{text}" class="attachurl">
-          {{text}}
-      </template>
       <!-- 点价类型 -->
       <template #operateapplytype="{ text }">
         <a>{{ operateApplyTypeName(text) }}</a>
@@ -52,101 +48,101 @@ import { QryBussinessFpRsp } from '@/services/go/ermcp/finance-review/interface'
 import { useRoute } from 'vue-router';
 
 export default defineComponent({
-    name: 'finance_review_invoice',
-    components: {
-        contextMenu,
-        Filter,
-        MtpTableButton,
-        detail: defineAsyncComponent(() => import('../../components/invoiceDetail/index.vue')),
-        check: defineAsyncComponent(() => import('../../components/invoiceAudit/index.vue')),
-        cancel: defineAsyncComponent(() => import('../../components/invoiceCancel/index.vue')),
-    },
-    setup() {
-        const { name: routeName } = useRoute();
-        // 权限按钮
-        const buttons = getTableButton();
+  name: 'finance_review_invoice',
+  components: {
+    contextMenu,
+    Filter,
+    MtpTableButton,
+    detail: defineAsyncComponent(() => import('../../components/invoiceDetail/index.vue')),
+    check: defineAsyncComponent(() => import('../../components/invoiceAudit/index.vue')),
+    cancel: defineAsyncComponent(() => import('../../components/invoiceCancel/index.vue')),
+  },
+  setup() {
+    const { name: routeName } = useRoute();
+    // 权限按钮
+    const buttons = getTableButton();
 
-        // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList<QryBussinessFpRsp>();
+    // 表格列表数据
+    const { loading, tableList, queryTable } = queryTableList<QryBussinessFpRsp>();
 
-        // 获取列表数据
-        const queryTableAction = () => {
-            switch (routeName) {
-                case 'invoice_checkpending':
-                    queryTable(QueryBusinessFp, { applystatus: '1' });
-                    break;
-                case 'invoice_performance':
-                    queryTable(QueryBusinessFp, { applystatus: '2,3' });
-                    break;
-            }
-        };
+    // 获取列表数据
+    const queryTableAction = () => {
+      switch (routeName) {
+        case 'invoice_checkpending':
+          queryTable(QueryBusinessFp, { applystatus: '1' });
+          break;
+        case 'invoice_performance':
+          queryTable(QueryBusinessFp, { applystatus: '2,3' });
+          break;
+      }
+    };
 
-        const filtrFn = (e: Column, item: ColumnType, filtered: any) => {
-            if (e.columnfield === 'buyusernameOrsellusername') {
-                item.onFilter = (value: string, record: QryBussinessFpRsp) => {
-                    const { contracttype, buyusername, sellusername } = record;
-                    if (contracttype === 1) {
-                        // 采购
-                        return sellusername.includes(value);
-                    } else {
-                        return buyusername.includes(value);
-                    }
-                };
-                item.filteredValue = filtered.buyusernameOrsellusername || null;
-            }
+    const filtrFn = (e: Column, item: ColumnType, filtered: any) => {
+      if (e.columnfield === 'buyusernameOrsellusername') {
+        item.onFilter = (value: string, record: QryBussinessFpRsp) => {
+          const { contracttype, buyusername, sellusername } = record;
+          if (contracttype === 1) {
+            // 采购
+            return sellusername.includes(value);
+          } else {
+            return buyusername.includes(value);
+          }
         };
+        item.filteredValue = filtered.buyusernameOrsellusername || null;
+      }
+    };
 
-        // 获取表头名称
-        const getTableName = () => {
-            switch (routeName) {
-                // 业务审核-发票
-                case 'invoice_checkpending':
-                    return 'table_pcweb_fincial_aduit_fp';
-                // 业务审核-发票-已审核
-                case 'invoice_performance':
-                    return 'table_pcweb_fincial_aduit_yfp';
-            }
-        };
+    // 获取表头名称
+    const getTableName = () => {
+      switch (routeName) {
+        // 业务审核-发票
+        case 'invoice_checkpending':
+          return 'table_pcweb_fincial_aduit_fp';
+        // 业务审核-发票-已审核
+        case 'invoice_performance':
+          return 'table_pcweb_fincial_aduit_yfp';
+      }
+    };
 
-        // 表格通用逻辑
-        const param: ComposeTableParam = {
-            queryFn: queryTableAction,
-            menuType: EnumRouterName.finance_review_invoice,
-            tableName: getTableName(),
-            tableFilterKey: ['contracttype', 'contractno', 'deliverygoodsname'],
-            tableFilterCB: filtrFn,
-            isDetail: true,
-        };
+    // 表格通用逻辑
+    const param: ComposeTableParam = {
+      queryFn: queryTableAction,
+      menuType: EnumRouterName.finance_review_invoice,
+      tableName: getTableName(),
+      tableFilterKey: ['contracttype', 'contractno', 'deliverygoodsname'],
+      tableFilterCB: filtrFn,
+      isDetail: true,
+    };
 
-        function handlePermissionBtn(btnList: BtnListType[], item: QryBussinessFpRsp) {
-            if (item) {
-                const { applystatus } = item;
-                if (applystatus === 1) {
-                    return btnList;
-                } else {
-                    return btnList.filter((e) => e.code === 'detail');
-                }
-            } else {
-                return [];
-            }
+    function handlePermissionBtn(btnList: BtnListType[], item: QryBussinessFpRsp) {
+      if (item) {
+        const { applystatus } = item;
+        if (applystatus === 1) {
+          return btnList;
+        } else {
+          return btnList.filter((e) => e.code === 'detail');
         }
+      } else {
+        return [];
+      }
+    }
 
-        return {
-            ...handleComposeTable<QryBussinessFpRsp>(param),
-            loading,
-            tableList,
-            handlePermissionBtn,
-            getContractTypeName,
-            invoiceStatusName,
-            getApplyStatusName,
-            operateApplyTypeName,
-            buttons,
-        };
-    },
+    return {
+      ...handleComposeTable<QryBussinessFpRsp>(param),
+      loading,
+      tableList,
+      handlePermissionBtn,
+      getContractTypeName,
+      invoiceStatusName,
+      getApplyStatusName,
+      operateApplyTypeName,
+      buttons,
+    };
+  },
 });
 </script>
 <style scoped>
-.attachurl{
-    white-space:nowrap
+.attachurl {
+    white-space: nowrap;
 }
 </style>

+ 121 - 138
src/views/report/exposure-report/list/exposure_report/index.vue

@@ -1,28 +1,11 @@
 <template>
   <!-- 敞口报表 -->
-  <div class="table-detail-container table-height"
-       :loading="loading">
-    <Filter @update="search"
-            @filter="updateColumn"></Filter>
-    <a-table :columns="columns"
-             class="srcollYTable"
-             :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }"
-             :pagination="false"
-             :expandedRowKeys="expandedRowKeys"
-             :customRow="Rowclick"
-             rowKey="key"
-             :data-source="tableList"> </a-table>
+  <div class="table-detail-container table-height" :loading="loading">
+    <Filter @update="search" @filter="updateColumn"></Filter>
+    <a-table :columns="columns" class="srcollYTable" :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }" :pagination="false" :expandedRowKeys="expandedRowKeys" :customRow="Rowclick" rowKey="key" :data-source="tableList"> </a-table>
     <!-- 明细 -->
-    <Description v-if="visible"
-                 @close="closeDrawer"
-                 @changeTab="changeTab"
-                 :tabList="tabList">
-      <a-table :columns="columnsDetail"
-               class="topTable"
-               :pagination="false"
-               rowKey="key"
-               :data-source="detailTableList"
-               :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }">
+    <Description v-if="visible" @close="closeDrawer" @changeTab="changeTab" :tabList="tabList">
+      <a-table :columns="columnsDetail" class="topTable" :pagination="false" rowKey="key" :data-source="detailTableList" :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }">
         <!-- 合同类型 -->
         <template #contracttype="{ text }">
           <a>{{ getContractTypeName(text) }}</a>
@@ -55,127 +38,127 @@ import { EnumRouterName } from '@/common/constants/enumRouterName';
 import { getTableButton } from '@/common/setup/table/button';
 
 export default defineComponent({
-    name: EnumRouterName.exposure_report_exposure,
-    components: {
-        Filter,
-        Description,
-    },
-    setup() {
-        let cycletime = '';
-        // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList<Ermcp3ExpourseReport>();
-        // 获取列表数据
-        const queryTableAction = () => {
-            const { getInitTime, getInitType } = handleInitTypeAndTime();
-            cycletime = getInitTime();
-            const param: AreaExpourseReportReq = {
-                cycletype: getInitType(),
-                cycletime,
-                querytype: 1,
-            };
-            // 获取列表数据
-            queryTable(qryAreaExpourseReport, param);
-        };
-        const param: ComposeTableDetailParam = {
-            queryFn: queryTableAction, // 查询表格数据
-            tableName: 'table_pcweb_exposure_report', // 表头key
-            tableFilterKey: ['middlegoodsname'], // 表格过滤字段
-            menuType: EnumRouterName.exposure_report_exposure, // 当前tab页对应的code
-        };
-        const {
-            visible,
-            closeDrawer, // 控制 drawer 组件是否显示
-            columns,
-            updateColumn, //  表头数据
-            columnsDetail,
-            registerColumnDetail,
-            detailTableList, // 明细表头数据
-            expandedRowKeys,
-            selectedRow,
-            Rowclick, // 表格事件
-        } = handleComposeTable_detail<Ermcp3ExpourseReport>(param);
-        const chaceSearchValue = ref<TypeAndTime>();
+  name: EnumRouterName.exposure_report_exposure,
+  components: {
+    Filter,
+    Description,
+  },
+  setup() {
+    let cycletime = '';
+    // 表格列表数据
+    const { loading, tableList, queryTable } = queryTableList<Ermcp3ExpourseReport>(true, 2);
+    // 获取列表数据
+    const queryTableAction = () => {
+      const { getInitTime, getInitType } = handleInitTypeAndTime();
+      cycletime = getInitTime();
+      const param: AreaExpourseReportReq = {
+        cycletype: getInitType(),
+        cycletime,
+        querytype: 1,
+      };
+      // 获取列表数据
+      queryTable(qryAreaExpourseReport, param);
+    };
+    const param: ComposeTableDetailParam = {
+      queryFn: queryTableAction, // 查询表格数据
+      tableName: 'table_pcweb_exposure_report', // 表头key
+      tableFilterKey: ['middlegoodsname'], // 表格过滤字段
+      menuType: EnumRouterName.exposure_report_exposure, // 当前tab页对应的code
+    };
+    const {
+      visible,
+      closeDrawer, // 控制 drawer 组件是否显示
+      columns,
+      updateColumn, //  表头数据
+      columnsDetail,
+      registerColumnDetail,
+      detailTableList, // 明细表头数据
+      expandedRowKeys,
+      selectedRow,
+      Rowclick, // 表格事件
+    } = handleComposeTable_detail<Ermcp3ExpourseReport>(param);
+    const chaceSearchValue = ref<TypeAndTime>();
 
-        // 底部明细标签
-        const tabList = getTableButton();
+    // 底部明细标签
+    const tabList = getTableButton();
 
-        // 切换明细
-        function changeTab(index: number, current: TabList) {
-            const { code, lable } = current;
-            const data = selectedRow.value as Ermcp3ExpourseReport;
-            const { cycletype, middlegoodsid } = data;
-            const param: QryAreaExpourseHedgeplanDetailReq = {
-                middlegoodsid,
-                cycletype,
-                cycletime,
-                userid: chaceSearchValue.value?.userid,
-            };
-            let fn = null;
-            if (code === 'exposure_report_exposure_contract_changes') {
-                // 现货合同变动量明细
-                // 注册表头
-                registerColumnDetail('table_pcweb_change_in_spot_contract', []);
-                fn = qryAreaExpourseContractDetail;
-            } else if (code === 'exposure_report_exposure_hedging_plan') {
-                // 套保计划变动量明细
-                // 注册表头
-                registerColumnDetail('table_pcweb_change_in_hedging_plan', []);
-                fn = qryAreaExpourseHedgeplanDetail;
-            } else if (code === 'exposure_report_exposure_futures_changes') {
-                // 期货变动量明细
-                // 注册表头
-                registerColumnDetail('table_pcweb_change_in_future', []);
-                fn = qryAreaExpourseFutuDetail;
-            } else if (code === 'exposure_report_exposure_parameter_adjustment_changes') {
-                // 参数调整变动量明细
-                // 注册表头
-                registerColumnDetail('table_pcweb_change_in_parameter_adjustment', []);
-                fn = qryAreaExpourseParamChLogDetail;
-            } else {
-                console.error(`${lable}没有配置对应的code: ${code},`);
-                return;
-            }
-            // 查询明细数据
-            queryResultLoadingAndInfo(fn, loading, param).then((res) => {
-                detailTableList.value = res;
-            });
-        }
-
-        watchEffect(() => {
-            if (visible.value) {
-                if (tabList.length) {
-                    changeTab(0, tabList[0]);
-                }
-            }
-        });
+    // 切换明细
+    function changeTab(index: number, current: TabList) {
+      const { code, lable } = current;
+      const data = selectedRow.value as Ermcp3ExpourseReport;
+      const { cycletype, middlegoodsid } = data;
+      const param: QryAreaExpourseHedgeplanDetailReq = {
+        middlegoodsid,
+        cycletype,
+        cycletime,
+        userid: chaceSearchValue.value?.userid,
+      };
+      let fn = null;
+      if (code === 'exposure_report_exposure_contract_changes') {
+        // 现货合同变动量明细
+        // 注册表头
+        registerColumnDetail('table_pcweb_change_in_spot_contract', []);
+        fn = qryAreaExpourseContractDetail;
+      } else if (code === 'exposure_report_exposure_hedging_plan') {
+        // 套保计划变动量明细
+        // 注册表头
+        registerColumnDetail('table_pcweb_change_in_hedging_plan', []);
+        fn = qryAreaExpourseHedgeplanDetail;
+      } else if (code === 'exposure_report_exposure_futures_changes') {
+        // 期货变动量明细
+        // 注册表头
+        registerColumnDetail('table_pcweb_change_in_future', []);
+        fn = qryAreaExpourseFutuDetail;
+      } else if (code === 'exposure_report_exposure_parameter_adjustment_changes') {
+        // 参数调整变动量明细
+        // 注册表头
+        registerColumnDetail('table_pcweb_change_in_parameter_adjustment', []);
+        fn = qryAreaExpourseParamChLogDetail;
+      } else {
+        console.error(`${lable}没有配置对应的code: ${code},`);
+        return;
+      }
+      // 查询明细数据
+      queryResultLoadingAndInfo(fn, loading, param).then((res) => {
+        detailTableList.value = res;
+      });
+    }
 
-        function search(value: TypeAndTime) {
-            chaceSearchValue.value = value;
-            cycletime = value.cycletime;
-            const obj = Object.assign(value, { querytype: 1 });
-            queryTable(qryAreaExpourseReport, obj);
+    watchEffect(() => {
+      if (visible.value) {
+        if (tabList.length) {
+          changeTab(0, tabList[0]);
         }
+      }
+    });
+
+    function search(value: TypeAndTime) {
+      chaceSearchValue.value = value;
+      cycletime = value.cycletime;
+      const obj = Object.assign(value, { querytype: 1 });
+      queryTable(qryAreaExpourseReport, obj);
+    }
 
-        return {
-            loading,
-            tableList,
-            visible,
-            closeDrawer,
-            columns,
-            updateColumn,
-            search,
-            columnsDetail,
-            detailTableList,
-            expandedRowKeys,
-            selectedRow,
-            Rowclick,
-            tabList,
-            changeTab,
-            getContractTypeName,
-            getBizTypeName,
-            getBuyOrSellName,
-        };
-    },
+    return {
+      loading,
+      tableList,
+      visible,
+      closeDrawer,
+      columns,
+      updateColumn,
+      search,
+      columnsDetail,
+      detailTableList,
+      expandedRowKeys,
+      selectedRow,
+      Rowclick,
+      tabList,
+      changeTab,
+      getContractTypeName,
+      getBizTypeName,
+      getBuyOrSellName,
+    };
+  },
 });
 </script>