chen.zujie 4 년 전
부모
커밋
43c1199ae0

+ 1 - 1
src/views/business/sell/components/storage/index.vue

@@ -113,7 +113,7 @@
                         v-model:value="formState.WarehouseInfo">
                 <a-select-option v-for="option in wareHouseList"
                                  :key="option.autoid"
-                                 :value="option.autoid">{{option.warehousename}}
+                                 :value="option.autoid">{{option.warehousecode}}
                 </a-select-option>
               </a-select>
             </a-form-item>

+ 39 - 19
src/views/information/account_info/compoments/managers-permission-detail/index.vue

@@ -1,6 +1,6 @@
 <template>
     <!-- 角色详情 -->
-    <a-modal class="commonModal add-roles" title="角色详情" v-model:visible="visible" @cancel="cancel" centered :maskClosable="false" width="100%">
+    <a-modal class="commonModal add-roles" title="角色详情" v-model:visible="visible" @cancel="cancel" centered :maskClosable="false">
         <template #footer>
             <a-button key="cancel" type="primary" :loading="loading" @click="cancel">完成</a-button>
         </template>
@@ -14,24 +14,8 @@
                 <a-col :span="24">
                     <a-form-item label="权限功能" name></a-form-item>
                 </a-col>
-                <a-col :span="24">
-                    <div class="powerTable">
-                        <div class="powerRow" v-for="(item, i) in tableList" :key="i + '0'">
-                            <div class="powerLeft">
-                                <a-checkbox v-model:checked="item.Menu.ishadrole" disabled>{{ item.Menu.resourcename }}</a-checkbox>
-                            </div>
-                            <div class="powerRight">
-                                <div class="line" v-for="(sub, j) in item.SubMenu" :key="j + '1'">
-                                    <div class="left">
-                                        <a-checkbox v-model:checked="sub.Menu.ishadrole" @change="secondChange(item, sub)" :value="sub.Menu.resourcecode" disabled>{{ sub.Menu.resourcename }}</a-checkbox>
-                                    </div>
-                                    <div class="right">
-                                        <a-checkbox v-for="(subNext, l) in sub.SubMenu" :key="l + '3'" v-model:checked="subNext.Menu.ishadrole" @change="thirdChange(item, sub, subNext)" :value="subNext.Menu.resourcecode" disabled>{{ subNext.Menu.resourcename }}</a-checkbox>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
+                <a-col :span="24" class="powerTable">
+                        <a-tree checkable :tree-data="tableList" v-model:checkedKeys="checkedKeys" :replace-fields="replaceFields" disabled> </a-tree>
                 </a-col>
             </a-row>
         </a-form>
@@ -68,17 +52,48 @@ export default defineComponent({
         const loading = ref<boolean>(false);
         const tableList = ref<ErmcpRoleMenuEx[]>([]);
         const name = ref<string>('');
+        const replaceFields = {
+            children: 'SubMenu',
+            title: 'resourcename',
+            key: 'resourcecode',
+        };
+        const checkedKeys = ref<string[]>([]);
         watchEffect(() => {
             if (visible.value) {
                 const { rolename, areauserid, autoid } = props.selectedData;
                 name.value = rolename;
                 const param = { userid: areauserid, roleid: autoid.toString() };
                 queryResultLoadingAndInfo(QueryAccMgrRoleMenu, loading, param).then((res) => {
+                    checkedKeys.value = getMenuCheckedKeys(res)
+                    const fn = (arr: any[]) => {
+                        arr.forEach((el) => {
+                            Object.assign(el, el.Menu);
+                            if (el.SubMenu.length) {
+                                fn(el.SubMenu);
+                            }
+                        });
+                    };
+                    fn(res);
                     tableList.value = res;
                 });
             }
         });
 
+
+        // 返回树形菜单选中项
+        const getMenuCheckedKeys = (menus: ErmcpRoleMenuEx[]): string[] => {
+            let result: string[] = [];
+            menus.forEach((parent) => {
+                if (parent.Menu.ishadrole) {
+                    result.push(parent.Menu.resourcecode);
+                }
+                if (parent.SubMenu && parent.SubMenu.length) {
+                    result = [...result, ...getMenuCheckedKeys(parent.SubMenu)]; // 递归调用
+                }
+            });
+            return result;
+        };
+
         function submit() {
             const result: string[] = [];
             // 处理已经勾选的数据
@@ -148,12 +163,17 @@ export default defineComponent({
             thirdChange,
             loading,
             tableList,
+            replaceFields,
+            checkedKeys
         };
     },
 });
 </script>
 
 <style lang="less">
+.ant-tree-title{
+    color:@m-white0 !important;
+}
 .add-roles {
     .ant-modal-content {
         .ant-modal-body {

+ 6 - 0
src/views/information/custom/index.vue

@@ -12,6 +12,12 @@
       <template #status="{ text }">
         <a>{{ getStatusName(text) }}</a>
       </template>
+      <template #customername="{record}">
+        {{record.username}}
+      </template>
+      <template #nickname="{record}">
+        {{record.username}}
+      </template>
       <template #userinfotype="{ text }">
         <a>{{ getUserInfoTypeName(text) }}</a>
       </template>

+ 11 - 10
src/views/information/spot-contract/components/add/index.vue

@@ -100,7 +100,7 @@
           <a-col :span="12">
             <a-form-item label="商品" name="WrStandardID">
               <a-select class="inlineFormSelect" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" @change="WrStandardChange" v-model:value="formState.WrStandardID" placeholder="请选择商品">
-                <a-select-option v-for="item in gmlist" :key="item.wrstandardid" :value="item.wrstandardid">
+                <a-select-option v-for="item in wdlst" :key="item.wrstandardid" :value="item.wrstandardid">
                   {{ item.wrstandardname }}
                 </a-select-option>
               </a-select>
@@ -109,7 +109,7 @@
           <a-col :span="12">
             <a-form-item label="品牌" name="SpotGoodsBrandID">
               <a-select class="inlineFormSelect" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" v-model:value="formState.SpotGoodsBrandID" placeholder="请选择品牌">
-                <a-select-option v-for="item in gblist" :key="item.brandid" :value="item.brandid">
+                <a-select-option v-for="item in bdlst" :key="item.brandid" :value="item.brandid">
                   {{ item.brandname }}
                 </a-select-option>
               </a-select>
@@ -158,7 +158,7 @@
             <a-col :span="12">
               <a-form-item label="点价合约" name="GoodsID">
                 <a-select class="inlineFormSelect" v-model:value="formState.GoodsID" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" placeholder="请选择点价合约">
-                  <a-select-option v-for="item in goodsList" :key="item.goodsid" :value="item.goodsid">
+                  <a-select-option v-for="item in gdlist" :key="item.goodsid" :value="item.goodsid">
                     {{ item.goodsname }}
                   </a-select-option>
                 </a-select>
@@ -247,7 +247,7 @@
 </template>
 
 <script lang="ts">
-import { defineComponent, PropType, ref } from 'vue';
+import { defineComponent, PropType, ref  } from 'vue';
 import { addContractReq } from './setup';
 import { getRootUserInfo, getUserName, getUserId } from '@/services/bus/user';
 import { FormState } from '../interface';
@@ -279,7 +279,7 @@ export default defineComponent({
             required: true,
         },
     },
-    setup(props, context) {
+     setup(props, context) {
         const { visible, cancel } = _closeModal(context);
         const { sendReq } = addContractReq();
         const loading = ref<boolean>(false);
@@ -292,7 +292,7 @@ export default defineComponent({
         const { contractType, isSell, contractChange, customList, queryCustomList } = handleContract(formState);
 
         //  处理现货商品
-        const { deliveryGoodsList, goodsList, gblist, gmlist, numberUnit, WrStandardChange, getDeliveryGoods, deliveryGoodsChange } = handleDeliveryGoods(formState);
+        const { deliveryGoodsList, gdlist, bdlst, wdlst, numberUnit, WrStandardChange, getDeliveryGoods, deliveryGoodsChange ,GetDeliveryGoodsDetail} = handleDeliveryGoods(formState);
         // 价格信息
         const { priceType, payCurrency, payCurrencyUnit, parCurrencyChange } = handlePrice(formState);
         // 日期
@@ -314,6 +314,7 @@ export default defineComponent({
             subjectList.value = res;
         });
 
+        GetDeliveryGoodsDetail()
         queryCustomList();
         getDeliveryGoods();
         queryTradeManager();
@@ -375,8 +376,9 @@ export default defineComponent({
             contractChange,
             customList,
             deliveryGoodsList,
-            gblist,
-            gmlist,
+            gdlist, 
+            bdlst, 
+            wdlst,
             deliveryGoodsChange,
             WrStandardChange,
             priceType,
@@ -388,7 +390,6 @@ export default defineComponent({
             deliveryDate,
             priceDate,
             disabledDate,
-            goodsList,
             getAmout,
             traderList,
             businesserList,
@@ -408,4 +409,4 @@ export default defineComponent({
         padding: 0 20px;
     }
 }
-</style>;
+</style>;

+ 7 - 7
src/views/information/spot-contract/components/modify/index.vue

@@ -96,7 +96,7 @@
           <a-col :span="12">
             <a-form-item label="商品" name="WrStandardID">
               <a-select class="inlineFormSelect" style="width: 200px" @change="WrStandardChange" v-model:value="formState.WrStandardID" placeholder="请选择商品">
-                <a-select-option v-for="item in gmlist" :key="item.wrstandardid" :value="item.wrstandardid">
+                <a-select-option v-for="item in wdlst" :key="item.wrstandardid" :value="item.wrstandardid">
                   {{ item.wrstandardname }}
                 </a-select-option>
               </a-select>
@@ -105,7 +105,7 @@
           <a-col :span="12">
             <a-form-item label="品牌" name="SpotGoodsBrandID">
               <a-select class="inlineFormSelect" style="width: 200px" v-model:value="formState.SpotGoodsBrandID" placeholder="请选择品牌">
-                <a-select-option v-for="item in gblist" :key="item.brandid" :value="item.brandid">
+                <a-select-option v-for="item in bdlst" :key="item.brandid" :value="item.brandid">
                   {{ item.brandname }}
                 </a-select-option>
               </a-select>
@@ -154,7 +154,7 @@
             <a-col :span="12">
               <a-form-item label="点价合约" name="GoodsID">
                 <a-select class="inlineFormSelect" v-model:value="formState.GoodsID" style="width: 200px" placeholder="请选择点价合约">
-                  <a-select-option v-for="item in goodsList" :key="item.goodsid" :value="item.goodsid">
+                  <a-select-option v-for="item in gdsList" :key="item.goodsid" :value="item.goodsid">
                     {{ item.goodsname }}
                   </a-select-option>
                 </a-select>
@@ -291,7 +291,7 @@ export default defineComponent({
         const { contractType, isSell, contractChange, customList, queryCustomList } = handleContract(formState);
 
         //  处理现货商品
-        const { deliveryGoodsList, goodsList, gblist, gmlist, numberUnit, WrStandardChange, getDeliveryGoods, deliveryGoodsChange } = handleDeliveryGoods(formState);
+        const { deliveryGoodsList, bdlst,wdlst,gdlist, numberUnit, WrStandardChange, getDeliveryGoods, deliveryGoodsChange } = handleDeliveryGoods(formState);
         // 价格信息
         const { priceType, payCurrency, payCurrencyUnit, parCurrencyChange } = handlePrice(formState);
         // 日期
@@ -401,8 +401,9 @@ export default defineComponent({
             contractChange,
             customList,
             deliveryGoodsList,
-            gblist,
-            gmlist,
+            bdlst,
+            wdlst,
+            gdlist,
             deliveryGoodsChange,
             WrStandardChange,
             priceType,
@@ -414,7 +415,6 @@ export default defineComponent({
             deliveryDate,
             priceDate,
             disabledDate,
-            goodsList,
             getAmout,
             traderList,
             businesserList,

+ 32 - 48
src/views/information/spot-contract/components/setup.ts

@@ -2,12 +2,10 @@ import { getPayCurrencyTypeEnumList } from "@/common/constants/enumsList";
 import { getGoodsUnitEnumItemName } from "@/common/constants/enumsName";
 import { commonResultInfo, getRequestResultInfo } from "@/common/methods/request";
 import { validateCommon } from "@/common/setup/validate";
-import APP from '@/services';
 import { QueryCustomInfo } from "@/services/go/ermcp/customInfo";
 import { QueryCustomInfoType } from "@/services/go/ermcp/customInfo/interface";
 import { QueryDeliveryGoods, GetDeliveryGoodsDetail } from "@/services/go/ermcp/goodsInfo";
-import { TBGoods } from "@/services/go/ermcp/goodsInfo/interface/deliverygoodsdetail";
-import { Ermcp3Brand, Ermcp3Wrstandard, ErmcpDeliveryGoodsDetailEx, ErmcpDeliveryGoodsRsp } from "@/services/go/ermcp/goodsInfo/interface";
+import { ErmcpDeliveryGoodsRsp } from "@/services/go/ermcp/goodsInfo/interface";
 import { orderContract, spotContractStatus } from "@/services/proto/spotcontract";
 import {
     GldErmcpSpotContractOperateReq,
@@ -20,6 +18,7 @@ import Long from 'long';
 import moment, { Moment } from "moment";
 import { reactive, ref, Ref, UnwrapRef } from "vue";
 import { FormState } from './interface';
+import { Ermcp3DeliveryGoodsDetail, XHBRAND, XHWrstandard, TBGoods } from '@/services/go/ermcp/goodsInfo/interface/deliverygoodsdetail'
 
 
 /**
@@ -249,12 +248,14 @@ export function handleContract(formState: UnwrapRef<FormState>) {
 export function handleDeliveryGoods(formState: UnwrapRef<FormState>) {
     // 现货品种
     const deliveryGoodsList = ref<ErmcpDeliveryGoodsRsp[]>([])
+    // 现货商品详情
+    let goodsDetailList: Ermcp3DeliveryGoodsDetail[] = [];
     // 品牌
-    const gblist = ref<Ermcp3Brand[]>([])
+    const bdlst = ref<XHBRAND[]>([])
     // 品类列表
-    const gmlist = ref<Ermcp3Wrstandard[]>([])
+    const wdlst = ref<XHWrstandard[]>([])
     // 合约列表
-    const goodsList = ref<TBGoods[]>([]);
+    const gdlist = ref<TBGoods[]>([]);
 
     // 查询现货商品
     function getDeliveryGoods() {
@@ -266,72 +267,55 @@ export function handleDeliveryGoods(formState: UnwrapRef<FormState>) {
         })
     }
 
+
+    GetDeliveryGoodsDetail().then((res) => {
+        goodsDetailList=res
+    })
     // 查询商品列表
-    function getGoodsList(deliverygoodsid: number, wrstandardid: number) {
-        goodsList.value.length = 0;
-        GetDeliveryGoodsDetail(deliverygoodsid).then((res) => {
-            res.forEach((deliverygoods) => {
-                // 查询现货商品
-                const wrstandard = deliverygoods.wdlst.find((e) => e.wrstandardid === wrstandardid);
-                if (wrstandard) {
-                    // 套保品种列表
-                    wrstandard.mglst.forEach((middlegoods) => {
-                        // 期货品种列表
-                        middlegoods.GPLST.forEach((item) => {
-                            goodsList.value.push(...item.GDLST);
-                        })
-                    })
-                }
-            })
-        })
+    function getGoodsList(value:number) {
+        gdlist.value.length = 0;
+        const obj=goodsDetailList.find(itme=>itme.deliverygoodsid===value)
+        if(obj){
+            bdlst.value=obj.bdlst
+            wdlst.value=obj.wdlst
+        } 
     }
-
+  
     // 切换现货商品
     function deliveryGoodsChange(value: number | undefined) {
         if (value !== undefined) {
-            getDeliveryGoodsDetail(value)
+            getGoodsList(value)
         } else {
-            gblist.value.length = 0
-            gmlist.value.length = 0
+            bdlst.value.length = 0
+            wdlst.value.length = 0
         }
         formState.WrStandardID = undefined;
         formState.SpotGoodsBrandID = undefined;
         formState.ConvertFactor = undefined;
-    }
-
-    // 查询现货商品详情
-    function getDeliveryGoodsDetail(deliverygoodsid: number) {
-        const temp = APP.get('DeliveryGoodsList').find((e: ErmcpDeliveryGoodsDetailEx) => e.data.deliverygoodsid === deliverygoodsid)
-        if (temp) {
-            gblist.value = temp.gblist
-            gmlist.value = temp.gmlist
-        }
+        formState.GoodsID = undefined;
     }
 
     const numberUnit = ref<string>('')
 
     // 品类变更
     function WrStandardChange(value: number) {
-        const obj = gmlist.value.find((e) => e.wrstandardid === value);
-        if (obj) {
-            //标仓系数
-            formState.ConvertFactor = obj.convertfactor;
-            // 单位
-            numberUnit.value = getGoodsUnitEnumItemName(obj.unitid);
-            getGoodsList(obj.deliverygoodsid, obj.wrstandardid);
+        const obj=wdlst.value.find(item=>item.wrstandardid===value)
+        if(obj){
+            gdlist.value=obj.mglst[0].GPLST[0].GDLST
         }
+        formState.GoodsID = undefined;
     }
 
     return {
         deliveryGoodsList,
-        gblist,
-        gmlist,
-        goodsList,
+        bdlst,
+        wdlst,
+        gdlist,
         numberUnit,
         WrStandardChange,
         getDeliveryGoods,
-        getDeliveryGoodsDetail,
-        deliveryGoodsChange
+        deliveryGoodsChange,
+        GetDeliveryGoodsDetail
     }
 }