Handy_Cao 1 år sedan
förälder
incheckning
a3ba63bb53

+ 24 - 1
src/packages/sbyj/views/bank/wallet/components/deposit/index.vue

@@ -18,7 +18,7 @@
                 <span class="tips">付款时间:交易日 {{ startTime }} - {{ endTime }}</span>
                 <span class="tips"><br>节假日以通知、公告为准,非交易日请勿操作!</span>
             </div>
-            <div class="tips_bank">
+            <div class="tips_bank" v-if="msg_320">
                 <div class="tips_bank_row" v-if="msg_320">
                     <span class="tips_bank_row__label">平台付款银行</span>
                     <span class="msg_tips" :data-clipboard-text="msg_320" v-copy="onCopy">{{ msg_320 }}</span>
@@ -36,6 +36,11 @@
                     <span class="msg_tips" :data-clipboard-text="msg_323" v-copy="onCopy">{{ msg_323 }}</span>
                 </div>
             </div>
+            <div class="member_payinfos" v-for="(item, index) in dataList" :key="index">
+                <button>{{ getPayInfoIcon(item.paymodel) }}</button>
+                <span>{{ item.payinfo }}</span>
+                <app-qrcode class="app-register-code__qrcode" :width="240" :text="getFileUrl(item.payqrcode)" />
+            </div>
             <CellGroup inset v-if="msg_324">
                 <Cell :title="$t('common.tips')">
                     <template #label>
@@ -62,6 +67,10 @@ import { getServerTime } from '@/services/api/common'
 import { useUserStore } from '@/stores'
 import AppUploader from '@mobile/components/base/uploader/index.vue'
 import moment from 'moment'
+import { useRequest } from '@/hooks/request'
+import { queryMemberPayInfos } from '@/services/api/order'
+import AppQrcode from '@/components/base/qrcode/index.vue'
+import { getFileUrl } from '@/filters'
 
 const formRef = shallowRef<FormInstance>()
 const { formData, onSubmit } = useDoDeposit()
@@ -77,6 +86,20 @@ const msg_322 = getSystemParamValue('322')
 const msg_323 = getSystemParamValue('323')
 const msg_324 = getSystemParamValue('324')
 
+// 获取所属会员的支付信息
+const { dataList } = useRequest(queryMemberPayInfos, {})
+// 获取对应的显示信息
+const getPayInfoIcon = (type: number) => {
+    switch (type) {
+        case 1:
+            return '银行卡'
+        case  2:
+            return '微信'
+        default:
+            return ' 支付宝'
+    }
+}
+
 // 表单验证规则
 const formRules: { [key: string]: FieldRule[] } = {
     Amount: [{

+ 21 - 2
src/packages/sbyj/views/market/detail/index.vue

@@ -157,7 +157,7 @@
                             <Button size="small" @click="showComponent('delivery')" round>
                                 {{ selectedRow.tHDetailEx.buyOrSell === BuyOrSell.Buy ? '提料' : '交料' }}
                             </Button>
-                            <Button size="small" @click="showComponent('closeholder')" round>终止</Button>
+                            <Button v-if="canClose" size="small" @click="showComponent('closeholder')" round>终止</Button>
                         </template>
                         <Button size="small" @click="showComponent('detail')" round>详情</Button>
                     </div>
@@ -184,6 +184,8 @@ import { BuyOrSell } from '@/constants/order'
 import quoteSocket from '@/services/websocket/quote'
 import { queryMdUserSwapProtocol } from '@/services/api/swap'
 import { getUserId } from '@/services/methods/user'
+import { useRequest } from '@/hooks/request'
+import { queryUserTradeSettings } from '@/services/api/order'
 
 const { getQueryString, router } = useNavigation()
 const { formData, formSubmit } = useOrder()
@@ -252,6 +254,24 @@ const showChart = () => {
     })
 }
 
+//  获取用户交易个性化设置
+const { dataList: settings } = useRequest(queryUserTradeSettings, {})
+// 判断是否有终止按钮
+const canClose = computed(() => {
+    //1. 获取用户交易个性化设置(sbyj/QueryUserTradeSettings)
+    // 若有GoodsId对应配置,且goodstradetype in (1:可建可平, 3:不可建可平) 时则显示
+    const setting = settings.value.find(e => e.goodsid === goods?.goodsid)
+    console.log(setting)
+    if (setting) {
+        const goodstradetype = setting.goodstradetype
+        return ['1', '3'].includes(goodstradetype)
+    } else {
+        // 2. 若无GoodsId对应配置,则看商品缓存(Ermcp/GetErmcpGoods)返回对应商品的goodstradetype in (1:可建可平, 3:不可建可平) 时则显示
+        const { goodstradetype = 0 } = goods ?? {}
+        return [1, 3].includes(goodstradetype)
+    }
+})
+
 const commit = (buyOrSell: BuyOrSell) => {
     /// 这里要去判断是否已经实名认证
     if (userStore.hasAuth) {
@@ -269,7 +289,6 @@ const commit = (buyOrSell: BuyOrSell) => {
 
 // 下单
 const onSubmit = () => {
-
     // 计算提示信息
     const { marketid = 0, goodsid = 0, goodunitid = 0 } = quote.value ?? {}
     const { marginalgorithm = 0, transferdepositratio = 0.0 } = goods ?? {}

+ 26 - 0
src/services/api/order/index.ts

@@ -276,4 +276,30 @@ export function queryTradeCloseDetails(config: RequestConfig<Model.TradeCloseDet
             ...config.data
         },
     })
+}
+
+/**
+ * 查询所属会员的支付信息(订单系统)
+ */
+export function queryMemberPayInfos(config: RequestConfig<Model.MemberPayInfosReq> = {}) {
+    return http.commonRequest<Model.MemberPayInfosRsp[]>({
+        url: '/sbyj/QueryMemberPayInfos',
+        params: {
+            userid: getUserId(),
+            ...config.data
+        },
+    })
+}
+
+/**
+ * 查询交易用户个性化设置(订单系统)
+ */
+export function queryUserTradeSettings(config: RequestConfig<Model.UserTradeSettingsReq> = {}) {
+    return http.commonRequest<Model.UserTradeSettingsRsp[]>({
+        url: '/sbyj/QueryUserTradeSettings',
+        params: {
+            userid: getUserId(),
+            ...config.data
+        },
+    })
 }

+ 26 - 0
src/types/model/order.d.ts

@@ -1871,4 +1871,30 @@ declare namespace Model {
         rerestockdeposit: number // 已补定金
         recallatefee: number // 滞纳金
     }
+
+    /** 查询所属会员的支付信息 请求 */
+    interface MemberPayInfosReq {
+        userid: number // 用户ID
+    }
+
+    /** 查询所属会员的支付信息 响应 */
+    interface MemberPayInfosRsp {
+        payinfo: string   // 支付信息
+        paymodel: number  // 支付方式 - 1:银行卡 2:微信 3:支付宝
+        payqrcode: string // 支付二维码(图片地址)
+        userid: number     // 用户ID
+    }
+
+    /** 查询用户交易个性化设置 请求 */
+    interface UserTradeSettingsReq {
+        userid: number // 用户ID
+    }
+
+    /** 查询用户交易个性化设置 响应 */
+    interface UserTradeSettingsRsp {
+        closeddays: string   // 最大持仓天数(3) -1为不限
+        goodsid: number  // 商品ID
+        goodstradetype: string // 商品交易权限类型(3) - 1:可建可平 2:可建不可平 3:不可建可平 4:不可建不可平
+        userid: number     // 用户ID
+    }
 }