li.shaoyi 4 سال پیش
والد
کامیت
1fc147a46b

+ 5 - 1
src/services/go/ermcp/spot-contract/interface.ts

@@ -2,10 +2,14 @@
  * 现货合同请求
  */
 export interface Ermcp3ContractReq {
-    querytype: string    //  查询类型 1-未提交 2-待审核 3-履约中 4-已完成
+    querytype?: string    //  查询类型 1-未提交 2-待审核 3-履约中 4-已完成
     usertype?: number    //  用户类型 2-机构 7-企业成员
     contractid?: string  //  合同ID(SpotContractId)
+    contractno?: string // 合同编号(模糊匹配)
+    wrstandardname?: string // 商品名称(模糊匹配)
+    status?: string // 合同状态(当填写此项时,将忽略querytype条件;可多个,逗号隔开,如0,1,2) 0:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回
     contracttype?: number  // 合同类型 1-采购, -1-销售
+    istoday?: number // 是否只查今日的合同 1-查今日合同
 }
 
 /**

+ 40 - 39
src/services/go/useInfo/interface.ts

@@ -278,43 +278,44 @@ export interface LoginQueryRsp {
     username: string,
 }
 
-export interface Ermcp3RootUserAccount{
-    accountname	:string;//账户名称(机构名称)
-    accountstatus	:number;//账户状态 - 1:待激活 2:待审核 3:待复审 4:正常 5:审核拒绝 6:停用(注销) 7:注销(删除)
-    applysrc	:number;//申请来源 - 1:管理端 2:终端
-    auditremark	:string;//审核备注
-    auditsrc	:number;//审核来源 - 1:管理端 2:终端
-    audittime	:string;//审核时间
-    audituserid	:number;//审核人
-    broker	:number;//所属经纪人ID
-    canceltime	:string;//销户时间
-    canceluserid	:number;//销户人
-    canrecommend	:number;//是否可推荐 - number;
-//:不可 1;可
-    createtime	:string;//创建时间
-    creatorid	:number;//创建人
-    hasauth	:number;//是否已实名认证 - number;
-//:未认证 1:已认证 2:已提交(待审核) 3:已拒绝
-    isanonymous	:number;//是否匿名下单 - number;
-//:否 1:是
-    maxinvestornum	:number;//最大用户数(经纪会员下投资者个数)
-    memberuserid	:number;//所属会员ID
-    modifierid	:number;//修改人
-    modifyremark	:string;//变更备注
-    modifystatus	:number;//变更状态 1 未变更 2 变更中 3 变更待审核 4 变更待复核(投资者)
-    modifytime	:string;//修改时间
-    parenttopuser	:string;//上级顶级机构 [number;
-//92=number;
-//,1时,默认为1, number;
-//92=2时若自已为顶级,则填入自己,自己不为顶级,填入ParentUserID的ParentTopUser]
-    parentuserid	:number;//所属机构ID
-    reckonaccountid	:number;//默认结算资金账号ID(机构分润使用) 作废
-    refercount	:number;//推荐总人数
-    refereeuserid	:number;//推荐人ID
-    refernum	:string;//推荐码
-    rootuserid	:number;//根用户ID
-    subaccountlevel	:number;//子账户层数
-    subarealevelpath	:string;//子机构层级路径(逗号分隔,首尾加逗号)
-    userid	:number;//用户ID
-    usertype	:number;//账户类型 - 1:交易所 2:机构 3:会员子机构 4:经纪人 5:投资者 6:客户 7:企业成员(云平台)
+export interface Ermcp3RootUserAccount {
+    accountname: string;//账户名称(机构名称)
+    nickname: string; //账户简称
+    accountstatus: number;//账户状态 - 1:待激活 2:待审核 3:待复审 4:正常 5:审核拒绝 6:停用(注销) 7:注销(删除)
+    applysrc: number;//申请来源 - 1:管理端 2:终端
+    auditremark: string;//审核备注
+    auditsrc: number;//审核来源 - 1:管理端 2:终端
+    audittime: string;//审核时间
+    audituserid: number;//审核人
+    broker: number;//所属经纪人ID
+    canceltime: string;//销户时间
+    canceluserid: number;//销户人
+    canrecommend: number;//是否可推荐 - number;
+    //:不可 1;可
+    createtime: string;//创建时间
+    creatorid: number;//创建人
+    hasauth: number;//是否已实名认证 - number;
+    //:未认证 1:已认证 2:已提交(待审核) 3:已拒绝
+    isanonymous: number;//是否匿名下单 - number;
+    //:否 1:是
+    maxinvestornum: number;//最大用户数(经纪会员下投资者个数)
+    memberuserid: number;//所属会员ID
+    modifierid: number;//修改人
+    modifyremark: string;//变更备注
+    modifystatus: number;//变更状态 1 未变更 2 变更中 3 变更待审核 4 变更待复核(投资者)
+    modifytime: string;//修改时间
+    parenttopuser: string;//上级顶级机构 [number;
+    //92=number;
+    //,1时,默认为1, number;
+    //92=2时若自已为顶级,则填入自己,自己不为顶级,填入ParentUserID的ParentTopUser]
+    parentuserid: number;//所属机构ID
+    reckonaccountid: number;//默认结算资金账号ID(机构分润使用) 作废
+    refercount: number;//推荐总人数
+    refereeuserid: number;//推荐人ID
+    refernum: string;//推荐码
+    rootuserid: number;//根用户ID
+    subaccountlevel: number;//子账户层数
+    subarealevelpath: string;//子机构层级路径(逗号分隔,首尾加逗号)
+    userid: number;//用户ID
+    usertype: number;//账户类型 - 1:交易所 2:机构 3:会员子机构 4:经纪人 5:投资者 6:客户 7:企业成员(云平台)
 }

+ 71 - 69
src/views/business/plan/list/uncommitted/index.vue

@@ -1,25 +1,25 @@
 <template>
-    <!-- 计划: 未提交-->
-    <div class="plan-uncommitted" :loading="loading">
-        <Filter @search="updateColumn">
-            <mtp-table-button class="btn-list-sticky" :buttons="firstBtn" @click="openComponent" />
-        </Filter>
-        <a-table :columns="columns" class="srcollYTable" :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }" :pagination="false" :loading="loading" :expandedRowKeys="expandedRowKeys" :customRow="Rowclick" rowKey="key" :data-source="tableList">
-            <!-- 额外的展开行 -->
-            <template #expandedRowRender="{ record }">
-                <mtp-table-button class="btn-list-sticky" :buttons="handleBtnList(secondBtn, record)" :record="record" @click="openComponent" />
-            </template>
-            <template #contracttype="{ text }">
-                <a>{{ getPlanContractType(text) }}</a>
-            </template>
-            <template #hedgeplanstatus="{ text }">
-                <a>{{ getPlanStatusName(text) }}</a>
-            </template>
-        </a-table>
-        <!-- 右键 -->
-        <contextMenu :contextMenu="contextMenu" @cancel="closeContext" :list="secondBtn"> </contextMenu>
-        <component :is="componentId" v-if="componentId" :selectedRow="selectedRow" @cancel="closeComponent"></component>
-    </div>
+  <!-- 计划: 未提交-->
+  <div class="plan-uncommitted" :loading="loading">
+    <Filter @search="updateColumn">
+      <mtp-table-button class="btn-list-sticky" :buttons="firstBtn" @click="openComponent" />
+    </Filter>
+    <a-table :columns="columns" class="srcollYTable" :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }" :pagination="false" :loading="loading" :expandedRowKeys="expandedRowKeys" :customRow="Rowclick" rowKey="key" :data-source="tableList">
+      <!-- 额外的展开行 -->
+      <template #expandedRowRender="{ record }">
+        <mtp-table-button class="btn-list-sticky" :buttons="handleBtnList(record)" :record="record" @click="openComponent" />
+      </template>
+      <template #contracttype="{ text }">
+        <a>{{ getPlanContractType(text) }}</a>
+      </template>
+      <template #hedgeplanstatus="{ text }">
+        <a>{{ getPlanStatusName(text) }}</a>
+      </template>
+    </a-table>
+    <!-- 右键 -->
+    <contextMenu :contextMenu="contextMenu" @cancel="closeContext" :list="handleBtnList(selectedRow)"></contextMenu>
+    <component :is="componentId" v-if="componentId" :selectedRow="selectedRow" @cancel="closeComponent"></component>
+  </div>
 </template>
 
 <script lang="ts">
@@ -33,58 +33,60 @@ import { EnumRouterName } from '@/common/constants/enumRouterName';
 import { getTableButton } from '@/common/setup/table/button';
 
 export default defineComponent({
-    name: EnumRouterName.plan_uncommitted,
-    components: {
-        contextMenu,
-        MtpTableButton,
-        Filter,
-        detail: defineAsyncComponent(() => import('../../components/detail/index.vue')), // 详情
-        add: defineAsyncComponent(() => import('../../components/add/index.vue')), // 新增
-        delete: defineAsyncComponent(() => import('../../components/delete/index.vue')), // 删除
-        modify: defineAsyncComponent(() => import('../../components/modify/index.vue')), // 修改
-        resubmit: defineAsyncComponent(() => import('../../components/recommit/index.vue')), // 重新提交
-        cancel: defineAsyncComponent(() => import('../../components/cancel/index.vue')), // 撤销
-        check: defineAsyncComponent(() => import('../../components/audit/index.vue')), // 审核
-    },
-    setup() {
-        // 权限按钮
-        const firstBtn = getTableButton(['add']);
-        const secondBtn = getTableButton(['add'], true);
-        // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList<Ermcp3HedgePlan>();
+  name: EnumRouterName.plan_uncommitted,
+  components: {
+    contextMenu,
+    MtpTableButton,
+    Filter,
+    detail: defineAsyncComponent(() => import('../../components/detail/index.vue')), // 详情
+    add: defineAsyncComponent(() => import('../../components/add/index.vue')), // 新增
+    delete: defineAsyncComponent(() => import('../../components/delete/index.vue')), // 删除
+    modify: defineAsyncComponent(() => import('../../components/modify/index.vue')), // 修改
+    resubmit: defineAsyncComponent(() => import('../../components/recommit/index.vue')), // 重新提交
+    cancel: defineAsyncComponent(() => import('../../components/cancel/index.vue')), // 撤销
+    check: defineAsyncComponent(() => import('../../components/audit/index.vue')), // 审核
+  },
+  setup() {
+    // 权限按钮
+    const firstBtn = getTableButton(['add']);
+    const secondBtn = getTableButton(['add'], true);
+    // 表格列表数据
+    const { loading, tableList, queryTable } = queryTableList<Ermcp3HedgePlan>();
 
-        // 获取列表数据
-        const queryTableAction = () => queryTable(QueryHedgePlan, '1,4,6');
+    // 获取列表数据
+    const queryTableAction = () => queryTable(QueryHedgePlan, '1,4,6');
 
-        // 表格通用逻辑
-        const param: ComposeTableParam = {
-            queryFn: queryTableAction,
-            menuType: EnumRouterName.plan_uncommitted,
-            tableName: 'table_pcweb_hedging_plan',
-            tableFilterKey: ['contracttype', 'hedgeplanno', 'deliverygoodsname'],
-            isDetail: true,
-        };
+    // 表格通用逻辑
+    const param: ComposeTableParam = {
+      queryFn: queryTableAction,
+      menuType: EnumRouterName.plan_uncommitted,
+      tableName: 'table_pcweb_hedging_plan',
+      tableFilterKey: ['contracttype', 'hedgeplanno', 'deliverygoodsname'],
+      isDetail: true,
+    };
 
-        function handleBtnList(btnList: BtnListType[], item: Ermcp3HedgePlan) {
-            switch (item.hedgeplanstatus) {
-                case 1: // 待审核
-                    return secondBtn.filter((item) => ['check', 'cancel', 'detail'].includes(item.code));
-                case 4: // 拒绝审核
-                case 6: // 已撤回
-                    return secondBtn.filter((item) => ['resubmit', 'delete', 'detail'].includes(item.code));
-            }
+    function handleBtnList(item: Ermcp3HedgePlan) {
+      if (item) {
+        switch (item.hedgeplanstatus) {
+          case 1: // 待审核
+            return secondBtn.filter((item) => ['check', 'cancel', 'detail'].includes(item.code));
+          case 4: // 拒绝审核
+          case 6: // 已撤回
+            return secondBtn.filter((item) => ['resubmit', 'delete', 'detail'].includes(item.code));
         }
+      }
+    }
 
-        return {
-            ...handleComposeTable<Ermcp3HedgePlan>(param),
-            loading,
-            tableList,
-            getPlanStatusName,
-            getPlanContractType,
-            handleBtnList,
-            firstBtn,
-            secondBtn,
-        };
-    },
+    return {
+      ...handleComposeTable<Ermcp3HedgePlan>(param),
+      loading,
+      tableList,
+      getPlanStatusName,
+      getPlanContractType,
+      handleBtnList,
+      firstBtn,
+      secondBtn,
+    };
+  },
 });
 </script>

+ 64 - 64
src/views/business/purchase/list/all/index.vue

@@ -53,73 +53,73 @@ import { getTableButton } from '@/common/setup/table/button';
 import { useRoute } from 'vue-router';
 
 export default defineComponent({
-    name: EnumRouterName.purchase_pending,
-    components: {
-        contextMenu,
-        filterCustomTable,
-        MtpTableButton,
-        detail: defineAsyncComponent(() => import('../../components/detail/index.vue')), // 详情
-        purchase_pending_trade: defineAsyncComponent(() => import('@/views/market/futures/compoments/futures-trade/index.vue')), // 套保交易
-        purchase_pending_someprice: defineAsyncComponent(() => import('../../components/someprice/index.vue')), //点价登记
-        purchase_performance_settlement: defineAsyncComponent(() => import('../../components/settlement/index.vue')), //交收登记
-        purchase_performance_funds: defineAsyncComponent(() => import('../../components/funds/index.vue')), // 款项登记
-        purchase_performance_invoice: defineAsyncComponent(() => import('../../components/invoice/index.vue')), // 发票登记
-        purchase_performance_storage: defineAsyncComponent(() => import('../../components/storage/index.vue')), // 入库登记
-        purchase_performance_ending: defineAsyncComponent(() => import('@/views/information/spot-contract/components/finish/index.vue')), // 完结合同
-    },
-    setup() {
-        const { name: routeName } = useRoute();
-        // 权限按钮
-        const buttons = getTableButton();
-        // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList<Ermcp3SellBuyContract>(true, 2);
+  name: EnumRouterName.purchase_pending,
+  components: {
+    contextMenu,
+    filterCustomTable,
+    MtpTableButton,
+    detail: defineAsyncComponent(() => import('@/views/information/spot-contract/components/detail/index.vue')), // 详情
+    purchase_pending_trade: defineAsyncComponent(() => import('@/views/market/futures/compoments/futures-trade/index.vue')), // 套保交易
+    purchase_pending_someprice: defineAsyncComponent(() => import('../../components/someprice/index.vue')), //点价登记
+    purchase_performance_settlement: defineAsyncComponent(() => import('../../components/settlement/index.vue')), //交收登记
+    purchase_performance_funds: defineAsyncComponent(() => import('../../components/funds/index.vue')), // 款项登记
+    purchase_performance_invoice: defineAsyncComponent(() => import('../../components/invoice/index.vue')), // 发票登记
+    purchase_performance_storage: defineAsyncComponent(() => import('../../components/storage/index.vue')), // 入库登记
+    purchase_performance_ending: defineAsyncComponent(() => import('@/views/information/spot-contract/components/finish/index.vue')), // 完结合同
+  },
+  setup() {
+    const { name: routeName } = useRoute();
+    // 权限按钮
+    const buttons = getTableButton();
+    // 表格列表数据
+    const { loading, tableList, queryTable } = queryTableList<Ermcp3SellBuyContract>(true, 2);
 
-        // 获取列表数据
-        const queryTableAction = () => {
-            switch (routeName) {
-                // 特点价合同
-                case 'purchase_pending':
-                    queryTable(QueryPurchase, { querytype: 2 });
-                    break;
-                // 待交收合同
-                case 'purchase_performance':
-                    queryTable(QueryPurchase, { querytype: 3 });
-                    break;
-            }
-        };
+    // 获取列表数据
+    const queryTableAction = () => {
+      switch (routeName) {
+        // 特点价合同
+        case 'purchase_pending':
+          queryTable(QueryPurchase, { querytype: 2 });
+          break;
+        // 待交收合同
+        case 'purchase_performance':
+          queryTable(QueryPurchase, { querytype: 3 });
+          break;
+      }
+    };
 
-        // 获取表头名称
-        const getTableName = () => {
-            switch (routeName) {
-                // 特点价合同
-                case 'purchase_pending':
-                    return 'table_pcweb_purchase_pointprice';
-                // 待交收合同
-                case 'purchase_performance':
-                    return 'table_pcweb_purchase_settle';
-                default:
-                    return 'table_pcweb_purchase_all';
-            }
-        };
+    // 获取表头名称
+    const getTableName = () => {
+      switch (routeName) {
+        // 特点价合同
+        case 'purchase_pending':
+          return 'table_pcweb_purchase_pointprice';
+        // 待交收合同
+        case 'purchase_performance':
+          return 'table_pcweb_purchase_settle';
+        default:
+          return 'table_pcweb_purchase_all';
+      }
+    };
 
-        // 表格通用逻辑
-        const param: ComposeTableParam = {
-            queryFn: queryTableAction,
-            menuType: EnumRouterName.purchase_pending,
-            tableName: getTableName(),
-            tableFilterKey: ['accountname', 'contractno', 'deliverygoodsname', 'convertfactor', 'goodsname'],
-            isDetail: true,
-        };
+    // 表格通用逻辑
+    const param: ComposeTableParam = {
+      queryFn: queryTableAction,
+      menuType: EnumRouterName.purchase_pending,
+      tableName: getTableName(),
+      tableFilterKey: ['accountname', 'contractno', 'deliverygoodsname', 'convertfactor', 'goodsname'],
+      isDetail: true,
+    };
 
-        return {
-            ...handleComposeTable<Ermcp3SellBuyContract>(param),
-            tableList,
-            loading,
-            handleEnumdic,
-            formatTime,
-            formatValue,
-            buttons,
-        };
-    },
+    return {
+      ...handleComposeTable<Ermcp3SellBuyContract>(param),
+      tableList,
+      loading,
+      handleEnumdic,
+      formatTime,
+      formatValue,
+      buttons,
+    };
+  },
 });
 </script>

+ 64 - 64
src/views/business/sell/list/all/index.vue

@@ -44,73 +44,73 @@ import { getTableButton } from '@/common/setup/table/button';
 import { useRoute } from 'vue-router';
 
 export default defineComponent({
-    name: EnumRouterName.sell_pending,
-    components: {
-        contextMenu,
-        filterCustomTable,
-        MtpTableButton,
-        detail: defineAsyncComponent(() => import('../../components/detail/index.vue')), // 详情
-        sell_pending_trade: defineAsyncComponent(() => import('@/views/market/futures/compoments/futures-trade/index.vue')), // 套保交易
-        sell_pending_someprice: defineAsyncComponent(() => import('../../components/someprice/index.vue')), //点价登记
-        sell_performance_settlement: defineAsyncComponent(() => import('../../components/settlement/index.vue')), //交收登记
-        sell_performance_funds: defineAsyncComponent(() => import('../../components/funds/index.vue')), // 款项登记
-        sell_performance_invoice: defineAsyncComponent(() => import('../../components/invoice/index.vue')), // 发票登记
-        sell_performance_storage: defineAsyncComponent(() => import('../../components/storage/index.vue')), // 入库登记
-        sell_performance_ending: defineAsyncComponent(() => import('@/views/information/spot-contract/components/finish/index.vue')), // 完结合同
-    },
-    setup() {
-        const { name: routeName } = useRoute();
-        // 权限按钮
-        const buttons = getTableButton();
-        // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList<Ermcp3SellBuyContract>(true, 2);
+  name: EnumRouterName.sell_pending,
+  components: {
+    contextMenu,
+    filterCustomTable,
+    MtpTableButton,
+    detail: defineAsyncComponent(() => import('@/views/information/spot-contract/components/detail/index.vue')), // 详情
+    sell_pending_trade: defineAsyncComponent(() => import('@/views/market/futures/compoments/futures-trade/index.vue')), // 套保交易
+    sell_pending_someprice: defineAsyncComponent(() => import('../../components/someprice/index.vue')), //点价登记
+    sell_performance_settlement: defineAsyncComponent(() => import('../../components/settlement/index.vue')), //交收登记
+    sell_performance_funds: defineAsyncComponent(() => import('../../components/funds/index.vue')), // 款项登记
+    sell_performance_invoice: defineAsyncComponent(() => import('../../components/invoice/index.vue')), // 发票登记
+    sell_performance_storage: defineAsyncComponent(() => import('../../components/storage/index.vue')), // 入库登记
+    sell_performance_ending: defineAsyncComponent(() => import('@/views/information/spot-contract/components/finish/index.vue')), // 完结合同
+  },
+  setup() {
+    const { name: routeName } = useRoute();
+    // 权限按钮
+    const buttons = getTableButton();
+    // 表格列表数据
+    const { loading, tableList, queryTable } = queryTableList<Ermcp3SellBuyContract>(true, 2);
 
-        // 获取列表数据
-        const queryTableAction = () => {
-            switch (routeName) {
-                // 特点价合同
-                case 'sell_pending':
-                    queryTable(QueryWareHouse, { querytype: 2 });
-                    break;
-                // 待交收合同
-                case 'sell_performance':
-                    queryTable(QueryWareHouse, { querytype: 3 });
-                    break;
-            }
-        };
+    // 获取列表数据
+    const queryTableAction = () => {
+      switch (routeName) {
+        // 特点价合同
+        case 'sell_pending':
+          queryTable(QueryWareHouse, { querytype: 2 });
+          break;
+        // 待交收合同
+        case 'sell_performance':
+          queryTable(QueryWareHouse, { querytype: 3 });
+          break;
+      }
+    };
 
-        // 获取表头名称
-        const getTableName = () => {
-            switch (routeName) {
-                // 特点价合同
-                case 'sell_pending':
-                    return 'table_pcweb_sales_pointprice';
-                // 待交收合同
-                case 'sell_performance':
-                    return 'table_pcweb_sales_settle';
-                default:
-                    return 'table_pcweb_sales_all';
-            }
-        };
+    // 获取表头名称
+    const getTableName = () => {
+      switch (routeName) {
+        // 特点价合同
+        case 'sell_pending':
+          return 'table_pcweb_sales_pointprice';
+        // 待交收合同
+        case 'sell_performance':
+          return 'table_pcweb_sales_settle';
+        default:
+          return 'table_pcweb_sales_all';
+      }
+    };
 
-        // 表格通用逻辑
-        const param: ComposeTableParam = {
-            queryFn: queryTableAction,
-            menuType: EnumRouterName.sell_pending,
-            tableName: getTableName(),
-            tableFilterKey: ['accountname', 'contractno', 'deliverygoodsname', 'convertfactor', 'goodsname'],
-            isDetail: true,
-        };
+    // 表格通用逻辑
+    const param: ComposeTableParam = {
+      queryFn: queryTableAction,
+      menuType: EnumRouterName.sell_pending,
+      tableName: getTableName(),
+      tableFilterKey: ['accountname', 'contractno', 'deliverygoodsname', 'convertfactor', 'goodsname'],
+      isDetail: true,
+    };
 
-        return {
-            ...handleComposeTable<Ermcp3SellBuyContract>(param),
-            tableList,
-            loading,
-            handleEnumdic,
-            formatTime,
-            formatValue,
-            buttons,
-        };
-    },
+    return {
+      ...handleComposeTable<Ermcp3SellBuyContract>(param),
+      tableList,
+      loading,
+      handleEnumdic,
+      formatTime,
+      formatValue,
+      buttons,
+    };
+  },
 });
 </script>

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

@@ -41,21 +41,21 @@
                 <a-select class="inlineFormSelect" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" v-model:value="formState.BuyUserID" placeholder="请选择客户">
                   <!-- 客户资料列表 正常 -->
                   <a-select-option :value="item.userid" v-for="item in customList" :key="item.userid">
-                    {{ item.customername }}
+                    {{ item.nickname }}
                   </a-select-option>
                 </a-select>
               </a-form-item>
             </a-col>
             <a-col :span="12">
               <a-form-item label="销售方">
-                <span class="white">{{ getRootUserInfo().accountname }}</span>
+                <span class="white">{{ getRootUserInfo().nickname ?? getRootUserInfo().accountname }}</span>
               </a-form-item>
             </a-col>
           </template>
           <template v-else>
             <a-col :span="12">
               <a-form-item label="采购方">
-                <span class="white">{{ getRootUserInfo().accountname }}</span>
+                <span class="white">{{ getRootUserInfo().nickname ?? getRootUserInfo().accountname }}</span>
               </a-form-item>
             </a-col>
             <a-col :span="12">
@@ -63,7 +63,7 @@
                 <a-select class="inlineFormSelect" v-model:value="formState.SellUserID" style="width: 200px" :getPopupContainer="(triggerNode) => triggerNode.parentNode" placeholder="请选择客户">
                   <!-- 客户资料列表 正常 -->
                   <a-select-option :value="item.userid" v-for="item in customList" :key="item.userid">
-                    {{ item.customername }}
+                    {{ item.nickname }}
                   </a-select-option>
                 </a-select>
               </a-form-item>
@@ -266,138 +266,138 @@ import { _closeModal } from '@/common/setup/modal/modal';
 import { getContractTypeName } from '@/common/constants/enumsName';
 
 export default defineComponent({
-    name: 'add-spot-contract',
-    components: { UploadImg },
-    emits: ['cancel', 'update'],
-    props: {
-        selectedRow: {
-            type: Object as PropType<Ermcp3ContractRsp>,
-            default: {},
-        },
-        contractType: {
-            type: Number,
-            required: true,
-        },
+  name: 'add-spot-contract',
+  components: { UploadImg },
+  emits: ['cancel', 'update'],
+  props: {
+    selectedRow: {
+      type: Object as PropType<Ermcp3ContractRsp>,
+      default: {},
     },
-    setup(props, context) {
-        const { visible, cancel } = _closeModal(context);
-        const { sendReq } = addContractReq();
-        const loading = ref<boolean>(false);
-
-        // 表单
-        const formRef = ref();
-        const { formState, businessType, initFormData } = handleFromState(props.contractType);
-        const { rules } = handleFormRule(formState);
-        // 合同类型
-        const { contractType, isSell, contractChange, customList, queryCustomList } = handleContract(formState);
+    contractType: {
+      type: Number,
+      required: true,
+    },
+  },
+  setup(props, context) {
+    const { visible, cancel } = _closeModal(context);
+    const { sendReq } = addContractReq();
+    const loading = ref<boolean>(false);
 
-        //  处理现货商品
-        const { deliveryGoodsList, barandList, wrstandardList, goodsList, numberUnit, WrStandardChange, deliveryGoodsChange } = handleDeliveryGoods(formState);
-        // 价格信息
-        const { priceType, payCurrency, payCurrencyUnit, parCurrencyChange } = handlePrice(formState);
-        // 日期
-        const { deliveryDate, priceDate, disabledDate } = handleDate();
-        // 处理金额
-        const { getAmout } = handleAmout(formState);
-        // 获取 业务账户
-        const { queryTable: queryBusinessManager, getBusinesserOrMerchandiser } = handlerManagerList(loading, 1);
-        const { tableList: traderList, queryTable: queryTradeManager } = handlerManagerList(loading, 2, true);
-        // 业务员
-        const businesserList = ref<ErmcpLoginUser[]>([]);
-        // 跟单员
-        const merchandiserList = ref<ErmcpLoginUser[]>([]);
-        const { getFirstImg, uploadImgAction } = getUploadImg();
+    // 表单
+    const formRef = ref();
+    const { formState, businessType, initFormData } = handleFromState(props.contractType);
+    const { rules } = handleFormRule(formState);
+    // 合同类型
+    const { contractType, isSell, contractChange, customList, queryCustomList } = handleContract(formState);
 
-        // 交易主体列表
-        const subjectList = ref<Ermcp3SubjectRsp[]>([]);
-        QueryPaAreaSubject().then((res) => {
-            subjectList.value = res.filter((item) => item.subjectstatus === 1);
-        });
+    //  处理现货商品
+    const { deliveryGoodsList, barandList, wrstandardList, goodsList, numberUnit, WrStandardChange, deliveryGoodsChange } = handleDeliveryGoods(formState);
+    // 价格信息
+    const { priceType, payCurrency, payCurrencyUnit, parCurrencyChange } = handlePrice(formState);
+    // 日期
+    const { deliveryDate, priceDate, disabledDate } = handleDate();
+    // 处理金额
+    const { getAmout } = handleAmout(formState);
+    // 获取 业务账户
+    const { queryTable: queryBusinessManager, getBusinesserOrMerchandiser } = handlerManagerList(loading, 1);
+    const { tableList: traderList, queryTable: queryTradeManager } = handlerManagerList(loading, 2, true);
+    // 业务员
+    const businesserList = ref<ErmcpLoginUser[]>([]);
+    // 跟单员
+    const merchandiserList = ref<ErmcpLoginUser[]>([]);
+    const { getFirstImg, uploadImgAction } = getUploadImg();
 
-        queryCustomList();
-        queryTradeManager();
-        queryBusinessManager().then(() => {
-            businesserList.value = getBusinesserOrMerchandiser('22');
-            merchandiserList.value = getBusinesserOrMerchandiser('23');
-        });
-        function submit(OperateType: 1 | 2) {
-            validateAction<FormState>(formRef, formState).then((param) => {
-                const id = getUserId();
-                isSell.value ? (param.SellUserID = id) : (param.BuyUserID = id);
-                const fn = (value: Moment) => {
-                    return formatTime(value, 'd') + ' ' + '00:00:00';
-                };
-                // 交收期
-                const dDate = deliveryDate.value;
-                if (dDate.length) {
-                    const DeliveryStartDate = fn(dDate[0]);
-                    const DeliveryEndDate = fn(dDate[1]);
-                    Object.assign(param, { DeliveryStartDate, DeliveryEndDate });
-                }
+    // 交易主体列表
+    const subjectList = ref<Ermcp3SubjectRsp[]>([]);
+    QueryPaAreaSubject().then((res) => {
+      subjectList.value = res.filter((item) => item.subjectstatus === 1);
+    });
 
-                // 点价期
-                const pDate = priceDate.value;
-                if (pDate.length && param.PriceType !== 1) {
-                    // 点价日期[2:点价3:暂定价]
-                    const StartDate = fn(pDate[0]);
-                    const EndDate = fn(pDate[1]);
-                    Object.assign(param, { StartDate, EndDate });
-                }
-                // 合同附件
-                param.ContractAttachment = getFirstImg();
-                sendReq(param, loading, OperateType)
-                    .then((res) => {
-                        cancel(true);
-                    })
-                    .catch((err) => {});
-            });
+    queryCustomList();
+    queryTradeManager();
+    queryBusinessManager().then(() => {
+      businesserList.value = getBusinesserOrMerchandiser('22');
+      merchandiserList.value = getBusinesserOrMerchandiser('23');
+    });
+    function submit(OperateType: 1 | 2) {
+      validateAction<FormState>(formRef, formState).then((param) => {
+        const id = getUserId();
+        isSell.value ? (param.SellUserID = id) : (param.BuyUserID = id);
+        const fn = (value: Moment) => {
+          return formatTime(value, 'd') + ' ' + '00:00:00';
+        };
+        // 交收期
+        const dDate = deliveryDate.value;
+        if (dDate.length) {
+          const DeliveryStartDate = fn(dDate[0]);
+          const DeliveryEndDate = fn(dDate[1]);
+          Object.assign(param, { DeliveryStartDate, DeliveryEndDate });
         }
 
-        function closeAction() {
-            //清空添加成功后的数据,确保在此新增打开是个空数据
-            Object.assign(formState, initFormData());
-            cancel();
+        // 点价期
+        const pDate = priceDate.value;
+        if (pDate.length && param.PriceType !== 1) {
+          // 点价日期[2:点价3:暂定价]
+          const StartDate = fn(pDate[0]);
+          const EndDate = fn(pDate[1]);
+          Object.assign(param, { StartDate, EndDate });
         }
+        // 合同附件
+        param.ContractAttachment = getFirstImg();
+        sendReq(param, loading, OperateType)
+          .then((res) => {
+            cancel(true);
+          })
+          .catch((err) => { });
+      });
+    }
 
-        return {
-            visible,
-            closeAction,
-            submit,
-            formRef,
-            loading,
-            maskClosableFlag: false,
-            formState,
-            rules,
-            businessType,
-            contractType,
-            isSell,
-            contractChange,
-            customList,
-            deliveryGoodsList,
-            barandList,
-            wrstandardList,
-            goodsList,
-            deliveryGoodsChange,
-            WrStandardChange,
-            priceType,
-            payCurrency,
-            payCurrencyUnit,
-            parCurrencyChange,
-            numberUnit,
-            getUserName,
-            deliveryDate,
-            priceDate,
-            disabledDate,
-            getAmout,
-            traderList,
-            businesserList,
-            merchandiserList,
-            uploadImgAction,
-            getRootUserInfo,
-            subjectList,
-            getContractTypeName,
-        };
-    },
+    function closeAction() {
+      //清空添加成功后的数据,确保在此新增打开是个空数据
+      Object.assign(formState, initFormData());
+      cancel();
+    }
+
+    return {
+      visible,
+      closeAction,
+      submit,
+      formRef,
+      loading,
+      maskClosableFlag: false,
+      formState,
+      rules,
+      businessType,
+      contractType,
+      isSell,
+      contractChange,
+      customList,
+      deliveryGoodsList,
+      barandList,
+      wrstandardList,
+      goodsList,
+      deliveryGoodsChange,
+      WrStandardChange,
+      priceType,
+      payCurrency,
+      payCurrencyUnit,
+      parCurrencyChange,
+      numberUnit,
+      getUserName,
+      deliveryDate,
+      priceDate,
+      disabledDate,
+      getAmout,
+      traderList,
+      businesserList,
+      merchandiserList,
+      uploadImgAction,
+      getRootUserInfo,
+      subjectList,
+      getContractTypeName,
+    };
+  },
 });
 </script>
 

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

@@ -110,7 +110,7 @@ export default defineComponent({
       default: {},
     },
   },
-  setup: function (props, context) {
+  setup(props, context) {
     const { visible, cancel } = _closeModal(context);
     const tabList = ref<{ key: number; name: string }[]>([]);
 

+ 34 - 22
src/views/information/spot-contract/components/infoDetail/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <Detail :selectedRow="selectedRow">
+  <Detail :selectedRow="contractInfo">
     <fieldset class="formFieldSet">
       <legend>其它信息</legend>
       <Des :list="desList" />
@@ -8,38 +8,50 @@
 </template>
 
 <script lang="ts">
-import { defineComponent, PropType } from 'vue';
+import { defineComponent, PropType, ref } from 'vue';
 import { Ermcp3ContractRsp } from '@/services/go/ermcp/spot-contract/interface';
 import { formatValue } from '@/common/methods';
 import Detail from '../common-detail/index.vue';
 import { Des, handleDesList } from '@/common/components/commonDes';
 import { businessManager, findManagerName } from '../../list/setup';
+import { QuerySpotContract } from '@/services/go/ermcp/spot-contract';
 
 export default defineComponent({
-    name: 'spot-contract-info-detail',
-    components: { Detail, Des },
-    props: {
-        selectedRow: {
-            type: Object as PropType<Ermcp3ContractRsp>,
-            default: {},
-        },
+  name: 'spot-contract-info-detail',
+  components: { Detail, Des },
+  props: {
+    selectedRow: {
+      type: Object as PropType<Ermcp3ContractRsp>,
+      default: {},
     },
-    setup(props, context) {
-        // 预览附件
-        const { desList, getDesList } = handleDesList();
-        const data = props.selectedRow;
+  },
+  setup(props, context) {
+    const contractInfo = ref<Ermcp3ContractRsp>();
+    // 预览附件
+    const { desList, getDesList } = handleDesList();
+
+    // 获取合同详情
+    QuerySpotContract({ contractid: props.selectedRow.spotcontractid }).then((res) => {
+      if (res.length) {
+        contractInfo.value = res[0];
+
+        const { contractmargin, saleuserid, meruserid, tradeusername, remark } = res[0];
         const list = [
-            { label: '保证金', value: formatValue(data.contractmargin) },
-            { label: '业务员', value: formatValue(findManagerName(data.saleuserid, businessManager.value)) },
-            { label: '跟单员', value: formatValue(findManagerName(data.meruserid, businessManager.value)) },
-            { label: '交易用户', value: formatValue(data.tradeusername) },
-            { label: '备注', value: formatValue(data.remark) },
+          { label: '保证金', value: formatValue(contractmargin) },
+          { label: '业务员', value: formatValue(findManagerName(saleuserid, businessManager.value)) },
+          { label: '跟单员', value: formatValue(findManagerName(meruserid, businessManager.value)) },
+          { label: '交易用户', value: formatValue(tradeusername) },
+          { label: '备注', value: formatValue(remark) },
         ];
         getDesList(list);
-        return {
-            desList,
-        };
-    },
+      }
+    })
+
+    return {
+      contractInfo,
+      desList,
+    };
+  },
 });
 </script>
 

+ 1 - 4
src/views/order/funding_information/components/funding_information_funding_summary/index.vue

@@ -65,7 +65,4 @@ export default defineComponent({
     };
   },
 });
-</script>
-
-<style lang="less">
-</style>;
+</script>

+ 60 - 60
src/views/setting/notice/components/noticeContent.vue

@@ -1,30 +1,27 @@
 <template>
-    <div class="notice-content">
-        <aside>
-            <a-list item-layout="horizontal" :data-source="noticeList">
-                <template #renderItem="{ item }">
-                    <a-list-item @click="choose(item)">
-                        <a-list-item-meta :description="formatTime(item.createtime)">
-                            <template #title>
-                                <a
-                                    :style="{ color: item.readed ? '@m-grey2' : '@m-white1' }"
-                                    href="javascript:;"
-                                >{{ item.title }}</a>
-                            </template>
-                            <template #avatar>
-                                <a-badge :color="item.readed ? '@m-grey2' : 'orange'" />
-                            </template>
-                        </a-list-item-meta>
-                    </a-list-item>
-                </template>
-            </a-list>
-        </aside>
-        <main>
-            <h4>{{ chooseItemNotice.title }}</h4>
-            <p>{{ formatTime(chooseItemNotice.createtime) }}</p>
-            <div>{{ chooseItemNotice.content }}</div>
-        </main>
-    </div>
+  <div class="notice-content">
+    <aside>
+      <a-list item-layout="horizontal" :data-source="noticeList">
+        <template #renderItem="{ item }">
+          <a-list-item @click="choose(item)">
+            <a-list-item-meta :description="formatTime(item.createtime)">
+              <template #title>
+                <a :style="{ color: item.readed ? '@m-grey2' : '@m-white1' }" href="javascript:;">{{ item.title }}</a>
+              </template>
+              <template #avatar>
+                <a-badge :color="item.readed ? '@m-grey2' : 'orange'" />
+              </template>
+            </a-list-item-meta>
+          </a-list-item>
+        </template>
+      </a-list>
+    </aside>
+    <main>
+      <h4>{{ chooseItemNotice.title }}</h4>
+      <p>{{ formatTime(chooseItemNotice.createtime) }}</p>
+      <div>{{ chooseItemNotice.content }}</div>
+    </main>
+  </div>
 </template>
 
 <script lang="ts">
@@ -35,44 +32,44 @@ import { handleNotice } from '../setup';
 import { formatTime } from '@/common/methods/format';
 
 function chooseNotice(fn: Function) {
-    interface ItemNotice {
-        title: string;
-        content: string; //内容
-        createtime: string; //创建时间
-    }
-    const chooseItemNotice = reactive<ItemNotice>({
-        title: '',
-        content: '',
-        createtime: '',
-    });
-    function choose(item: QueryNoticeRsp) {
-        fn(item);
-        mergeObj(chooseItemNotice, item);
-    }
-    return { chooseItemNotice, choose };
+  interface ItemNotice {
+    title: string;
+    content: string; //内容
+    createtime: string; //创建时间
+  }
+  const chooseItemNotice = reactive<ItemNotice>({
+    title: '',
+    content: '',
+    createtime: '',
+  });
+  function choose(item: QueryNoticeRsp) {
+    fn(item);
+    mergeObj(chooseItemNotice, item);
+  }
+  return { chooseItemNotice, choose };
 }
 
 export default defineComponent({
-    name: 'notice',
-    props: {
-        noticeList: {
-            type: Object as PropType<QueryNoticeRsp[]>,
-            default: [],
-        },
-    },
-    setup(props) {
-        // 公告消息
-        const { readNotice } = handleNotice();
-        const { chooseItemNotice, choose } = chooseNotice(readNotice);
-        computed(() => {
-            props.noticeList.length && mergeObj(chooseItemNotice, props.noticeList[0]);
-        });
-        return {
-            choose,
-            formatTime,
-            chooseItemNotice,
-        };
+  name: 'notice',
+  props: {
+    noticeList: {
+      type: Object as PropType<QueryNoticeRsp[]>,
+      default: [],
     },
+  },
+  setup(props) {
+    // 公告消息
+    const { readNotice } = handleNotice();
+    const { chooseItemNotice, choose } = chooseNotice(readNotice);
+    computed(() => {
+      props.noticeList.length && mergeObj(chooseItemNotice, props.noticeList[0]);
+    });
+    return {
+      choose,
+      formatTime,
+      chooseItemNotice,
+    };
+  },
 });
 </script>
 
@@ -85,6 +82,9 @@ export default defineComponent({
         width: 202px;
         height: 619px;
         .ant-list-split {
+            .ant-list-items {
+                width: 100%;
+            }
             .ant-list-item-meta-title {
                 > a {
                     color: @m-grey65;