Quellcode durchsuchen

Merge branch 'master' of http://47.101.159.18:3000/Muchinfo/THJ_Mobile

li.shaoyi vor 3 Jahren
Ursprung
Commit
1d1141485b

+ 3 - 3
public/proto/thj.proto

@@ -333,7 +333,7 @@ message t2bBankSignReq {
 		optional string MobilePhone = 31; // 移动电话
 		optional string IdentifyCode = 32; // 验证码
 		optional string email = 33; // 电子邮箱
-		optional string extend_info = 34; // 扩展信息(JSON串,参考配置要求进行填充)
+		optional string Extend_Info = 34; // 扩展信息(JSON串,参考配置要求进行填充)
 }
 
 // 签约应答
@@ -410,7 +410,7 @@ message t2bBankWithdrawReq {
 		optional string Desc = 16; // 备注
 		optional string IdentifyCode = 17; // 验证码
 		optional string BranchBankName = 18; // 收款支行名称
-		optional string extend_info = 19; // 扩展信息(JSON串,参考配置要求进行填充)
+		optional string Extend_Info = 19; // 扩展信息(JSON串,参考配置要求进行填充)
 		optional string Remark = 20; // 备注
 		optional string ExchTicket = 21; // 交易所流水号
 }
@@ -451,7 +451,7 @@ message t2bBankDepositReq {
 		optional string OpenCardBankId = 15; // 银行卡行号
 		optional string BankAccoutNum = 16; // 银行卡号
 		optional string BankAccoutName = 17; // 银行卡户名
-		optional string extend_info = 18; // 扩展信息(JSON串,参考配置要求进行填充)
+		optional string Extend_Info = 18; // 扩展信息(JSON串,参考配置要求进行填充)
 }
 
 // 入金应答

+ 4 - 4
src/business/bank/index.ts

@@ -213,7 +213,7 @@ export function useDoWithdraw() {
     const formData = reactive<Partial<Proto.t2bBankWithdrawReq>>({
         AccountType: 0,
         AppDateTime: moment(new Date()).format('YYYY-MM-DD HH:mm:ss'),
-        extend_info: JSON.stringify({ "sex": 1 })
+        Extend_Info: JSON.stringify({ "sex": 1 })
     })
 
     const onSubmit = async () => {
@@ -247,7 +247,7 @@ export function useDoDeposit() {
     /// 获取当前是否已签约
     const sign = shallowRef<Model.BankAccountSignRsp[]>([])
     /// 常量信息
-    const extendInfo = { certificate_photo_url: '', sex: 1 }
+    const extendInfo = { certificate_photo_url: '' }
     /// formData
     const formData = reactive<Partial<Proto.t2bBankDepositReq>>({})
 
@@ -276,7 +276,7 @@ export function useDoDeposit() {
             data: {
                 ...formData,
                 ExtOperatorID: new Date().getTime(),
-                extend_info: JSON.stringify(extendInfo)
+                Extend_Info: JSON.stringify(extendInfo)
             },
             complete: () => {
                 loading.value = false
@@ -343,7 +343,7 @@ export function useDoBankSign() {
         AgentCertType: 0,
         BankCardType: 0,
         BankAccountType: 1,
-        extend_info: JSON.stringify({ "sex": 1 }),
+        Extend_Info: JSON.stringify({ "sex": 1 }),
         AccountCode: getFirstAccountId().toString(),
         CertID: decryptAES(getUserInfo()?.cardnum ?? ''),
         CertType: getUserInfo()?.cardtypeid.toString(),

+ 33 - 1
src/business/goods/index.ts

@@ -1,6 +1,6 @@
 import { shallowRef } from 'vue'
 import { useDataTable } from '@/hooks/datatable'
-import { queryTHJWrstandard, queryTHJWrstandardDetail, addUserFavoriteGoods, removeUserFavoriteGoods, queryTHJProduct, queryTHJTradeData, querySpotGoodsPrice } from '@/services/api/goods'
+import { queryTHJWrstandard, queryTHJWrstandardDetail, addUserFavoriteGoods, removeUserFavoriteGoods, queryTHJProduct, queryMarketRun, queryTHJTradeData, querySpotGoodsPrice } from '@/services/api/goods'
 import { useLoginStore } from '@/stores'
 
 // 采购列表
@@ -198,3 +198,35 @@ export function useQuerySpotGoodsPriceLists() {
         getQuerySpotGoodsPriceLists,
     }
 }
+
+// 查询市场运行信息
+export function useQueryMarketRunLists() {
+    const { dataList, total, pageIndex, pageSize, pageCount } = useDataTable<Model.MarketRunRsp>()
+    const loading = shallowRef(false)
+
+    const getQueryMarketRunLists = (marketid?: number) => {
+        loading.value = true
+        return queryMarketRun({
+            data: {
+                marketID: marketid
+            },
+            success: (res) => {
+                total.value = res.total
+                dataList.value = res.data
+            }, 
+            complete: () => {
+                loading.value = false
+            }
+        })
+    }
+
+    return {
+        loading,
+        dataList,
+        total,
+        pageIndex,
+        pageSize,
+        pageCount,
+        getQueryMarketRunLists,
+    }
+}

+ 37 - 0
src/constants/order.ts

@@ -0,0 +1,37 @@
+import { useEnumStore } from '@/stores'
+
+const { getEnumTypeList, getEnumTypeName } = useEnumStore()
+
+/**
+ * 获取交割方式类型列表
+ * @returns 
+ */
+ export function getTHJDeliveryModeList() {
+    return getEnumTypeList('thjDeliveryMode')
+}
+
+/**
+ * 获取交割方式类型名称
+ * @returns 
+ */
+ export function getTHJDeliveryModeName(value: number) {
+    const enums = getTHJDeliveryModeList()
+    return getEnumTypeName(enums, value)
+}
+
+/**
+ * 获取单据状态类型列表
+ * @returns 
+ */
+ export function getTHJOrderStatusList() {
+    return getEnumTypeList('thjOrderStatus')
+}
+
+/**
+ * 获取单据状态类型名称
+ * @returns 
+ */
+ export function getTHJOrderStatusName(value: number) {
+    const enums = getTHJDeliveryModeList()
+    return getEnumTypeName(enums, value)
+}

+ 26 - 0
src/packages/mobile/router/index.ts

@@ -199,6 +199,32 @@ const routes: Array<RouteRecordRaw> = [
     ]
   },
   {
+    path: '/order',
+    component: Page,
+    children: [
+      {
+        path: 'order',
+        name: 'my-order',
+        component: () => import('../views/mine/order/index.vue'),
+      },
+      {
+        path: 'purchasetradedetail',
+        name: 'purchase-trade-detail',
+        component: () => import('../views/mine/order/components/purchasetradedetail/index.vue'),
+      },
+      {
+        path: 'wrorderdetail',
+        name: 'wr-order-detail',
+        component: () => import('../views/mine/order/components/wrorderdetail/index.vue'),
+      },
+      {
+        path: 'wrtradedetail',
+        name: 'wr-trade-detail',
+        component: () => import('../views/mine/order/components/wrtradedetail/index.vue'),
+      }
+    ]
+  },
+  {
     path: '/rules',
     component: Page,
     children: [

+ 17 - 1
src/packages/mobile/views/bank/wallet/components/deposit/index.vue

@@ -12,6 +12,9 @@
                 </Field>
             </CellGroup>
         </Form>
+        <div class="g-form__time">
+            <label>充值提现时间:{{start}}-{{end}}</label>
+        </div>
         <template #footer>
             <div class="g-form__footer">
                 <Button round block type="primary" @click="formRef?.submit()">确定</Button>
@@ -28,10 +31,14 @@ import { fullloading, dialog } from '@/utils/vant';
 import { useNavigation } from '@/hooks/navigation'
 import axios from 'axios';
 import { getServiceUrl } from '@/services/http';
+import { useUserStore } from '@/stores'
 
 const formRef = ref<FormInstance>()
 const { formData, onSubmit, extendInfo } = useDoDeposit()
 const { router } = useNavigation()
+const { getSystemParamValue } = useUserStore()
+const start = getSystemParamValue('012')
+const end = getSystemParamValue('013')
 
 /// 证件正面地址
 const fileList = ref([]);
@@ -89,4 +96,13 @@ const formSubmit = () => {
     })
 }
 
-</script>
+</script>
+
+<style lang="less">
+.g-form {
+    &__time {
+        color: #999;
+        padding-left: 15px;
+    }
+}
+</style>

+ 5 - 0
src/packages/mobile/views/bank/wallet/components/withdraw/index.less

@@ -10,4 +10,9 @@
             font-size: .24rem;
         }
     }
+
+    &__time {
+        color: #999;
+        padding-left: 15px;
+    }
 }

+ 7 - 0
src/packages/mobile/views/bank/wallet/components/withdraw/index.vue

@@ -30,6 +30,9 @@
                 </Field>
             </CellGroup>
         </Form>
+        <div class="g-form__time">
+            <label>充值提现时间:{{start}}-{{end}}</label>
+        </div>
         <template #footer>
             <div class="g-form__footer">
                 <Button round block type="primary" @click="formRef?.submit()">确定</Button>
@@ -44,12 +47,16 @@ import { Form, Field, CellGroup, FormInstance, Button, FieldRule, Toast } from '
 import { shallowRef } from 'vue'
 import { fullloading, dialog } from '@/utils/vant'
 import { useNavigation } from '@/hooks/navigation'
+import { useUserStore } from '@/stores'
 
 const { formData, onSubmit, sign } = useDoWithdraw()
 /// 资金账户信息
 const { fund } = useAccountFundInfo()
 const { router } = useNavigation()
 const formRef = shallowRef<FormInstance>()
+const { getSystemParamValue } = useUserStore()
+const start = getSystemParamValue('012')
+const end = getSystemParamValue('013')
 
 // 表单验证规则
 const formRules: { [key in keyof Proto.t2bBankWithdrawReq]?: FieldRule[] } = {

+ 6 - 0
src/packages/mobile/views/home/components/main/index.less

@@ -81,6 +81,8 @@
         background-color: #fff;
         margin-bottom   : .2rem;
         padding         : .16rem;
+        border-top      : 5px solid #f0f0f0;
+        border-bottom   : 5px solid #f0f0f0;
 
         .left {
             display        : flex;
@@ -89,6 +91,7 @@
             align-items    : center;
             padding        : .24rem;
             border-right   : 1px solid #eee;
+            width: 33%;
 
             h2 {
                 font-size: .36rem;
@@ -104,6 +107,7 @@
         .right {
             flex   : 1;
             padding: 0 .24rem;
+            
 
             table {
                 width    : 100%;
@@ -112,6 +116,8 @@
                 tr {
                     td {
                         line-height: .4rem;
+                        width: 25%;
+                        text-align: center;
                     }
                 }
             }

+ 29 - 17
src/packages/mobile/views/home/components/main/index.vue

@@ -35,31 +35,31 @@
           </li>
         </ul>
       </div>
-      <div class="home-main__banner home-main__banner--body">
-        <Swipe :autoplay="3000" indicator-color="white" lazy-render>
-          <SwipeItem v-for="(item, index) in bodyBanners" :key="index">
-            <img :src="getImageUrl(item.imagepath)" />
-          </SwipeItem>
-        </Swipe>
-      </div>
-      <!-- <div class="home-main__market">
+      <div class="home-main__market">
         <div class="left">
           <h2>合金指数</h2>
-          <span>2022-10-24</span>
+          <span>{{ formatDate(marketRun.tradedate, "YYYY-MM-DD") }}</span>
         </div>
         <div class="right">
           <table cellspacing="0" cellpadding="0">
             <tbody>
-              <tr v-for="i in 3" :key="i">
-                <td>硅锰</td>
-                <td>7000</td>
-                <td>7120</td>
-                <td>2.03%</td>
+              <tr v-for="(item, index) in dataList" :key="index">
+                <td>{{ item.wrstandardname }}</td>
+                <td>{{ item.prespotgoodsprice }}</td>
+                <td>{{ item.todayspotgoodsprice }}</td>
+                <td>{{ item.chg }}</td>
               </tr>
             </tbody>
           </table>
         </div>
-      </div> -->
+      </div>
+      <div class="home-main__banner home-main__banner--body">
+        <Swipe :autoplay="3000" indicator-color="white" lazy-render>
+          <SwipeItem v-for="(item, index) in bodyBanners" :key="index">
+            <img :src="getImageUrl(item.imagepath)" />
+          </SwipeItem>
+        </Swipe>
+      </div>
       <div class="home-main__news">
         <Cell class="titlebar" title-class="titlebar-title" value-class="titlebar-more" title="市场资讯" value="更多资讯"
           :to="{ name: 'news-list' }" is-link />
@@ -82,13 +82,19 @@ import { getImageUrl, formatDate } from '@/filters'
 import { useNavigation } from '@/hooks/navigation'
 import { queryImageConfigs } from '@/services/api/common'
 import { querySiteColumnDetail } from '@/services/api/news'
+import { useQuerySpotGoodsPriceLists } from '@/business/goods'
+import { queryMarketRun } from '@/services/api/goods'
 import AppIconfont from '@mobile/components/base/iconfont/index.vue'
 
 const { routerTo } = useNavigation()
 const refreshing = shallowRef(false) // 是否处于加载中状态
-const topBanners = shallowRef<Model.ImageConfigsRsp[]>([]) // 轮播图列表
-const bodyBanners = shallowRef<Model.ImageConfigsRsp[]>([]) // 轮播图列表
+const topBanners = shallowRef<Model.ImageConfigsRsp[]>([])   // 轮播图列表
+const bodyBanners = shallowRef<Model.ImageConfigsRsp[]>([])  // 轮播图列表
 const newsList = shallowRef<Model.SiteColumnDetailRsp[]>([]) // 资讯列表
+const marketRun = shallowRef<Model.MarketRunRsp>({}) // 资讯列表
+
+const {dataList, getQuerySpotGoodsPriceLists} = useQuerySpotGoodsPriceLists()
+getQuerySpotGoodsPriceLists()
 
 // 下拉刷新
 const onRefresh = () => {
@@ -124,6 +130,12 @@ queryImageConfigs({
   }
 })
 
+queryMarketRun({
+  success: (res) => {
+    marketRun.value = res.data[0]
+  }
+})
+
 onRefresh()
 </script>
 

+ 1 - 1
src/packages/mobile/views/home/components/mine/index.vue

@@ -53,7 +53,7 @@
         <li @click="routerTo('mine-generalize')">
           <app-iconfont icon="icon-wodetuiguang" label-direction="bottom">我的推广</app-iconfont>
         </li>
-        <li>
+        <li @click="routerTo('my-order')" style="align-items:flex-start">
           <app-iconfont icon="icon-wodedingdan" label-direction="bottom">我的订单</app-iconfont>
         </li>
         <!-- <li>

+ 105 - 0
src/packages/mobile/views/mine/order/components/purchasetradedetail/index.vue

@@ -0,0 +1,105 @@
+<template>
+    <app-view class="purchase">
+        <app-pull-refresh class="purchase__container" v-model:pageIndex="pageIndex" :page-count="pageCount"
+            :updateList="dataList" @refresh="onRefresh" @updated="onRefreshUpdated">
+            <template #header>
+                <ul class="list list-row" v-if="showHeader">
+                    <li class="list-column">
+                        <span>商品</span>
+                    </li>
+                    <li class="list-column">
+                        <span>数量</span>
+                    </li>
+                    <li class="list-column">
+                        <span>预售价</span>
+                    </li>
+                    <li class="list-column">
+                        <span>实际价</span>
+                    </li>
+                    <li class="list-column">
+                        <span>定金</span>
+                    </li>
+                    <li class="list-column">
+                        <span>尾款</span>
+                    </li>
+                    <li class="list-column">
+                        <span>状态</span>
+                    </li>
+                    <Button round @click="routerTo('')">更多</Button>
+                </ul>
+            </template>
+            <template #default="{ item }">
+                <ul class="list list-row">
+                    <li class="list-column"><span>{{ item.wrstandardname }}</span></li>
+                    <li class="list-column"><span>{{ item.tradeqty }}</span></li>
+                    <li class="list-column"><span>{{ item.tradeprice }}</span></li>
+                    <li class="list-column"><span>{{ item.lastprice }}</span></li>
+                    <li class="list-column"><span>{{ item.payeddeposit }}</span></li>
+                    <li class="list-column"><span>{{ item.remainamount }}</span></li>
+                    <li class="list-column"><span>{{ item.thjorderstatusdisplay }}</span></li>
+                </ul>
+            </template>
+        </app-pull-refresh>
+    </app-view>
+</template>
+
+<script lang="ts" setup>
+import { shallowRef } from 'vue'
+import { useTHJPurchaseTradeDetail } from '@/business/order'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
+import { useNavigation } from '@/hooks/navigation'
+import { Button } from 'vant'
+
+const { dataList, pageIndex, pageCount, getTHJPurchaseTradeDetail } = useTHJPurchaseTradeDetail()
+const showHeader = shallowRef(false)
+const { routerTo } = useNavigation()
+
+const onRefresh = (callback: () => void) => {
+    getTHJPurchaseTradeDetail().finally(() => callback())
+}
+
+const onRefreshUpdated = (data: Model.UserScoreLogRsp[]) => {
+    showHeader.value = data.length > 0
+}
+</script>
+
+<style lang="less">
+.purchase {
+    &__container {
+        height: 100%;
+        overflow-y: auto;
+
+        .list {
+            display: flex;
+            align-items: center;
+            background-color: #fff;
+
+            &-row {
+                font-size: .32rem;
+                border-bottom: 1px solid #eee;
+                padding: .12rem .32rem;
+            }
+
+            &-column {
+                flex: 1;
+                display: flex;
+                flex-direction: column;
+                text-align: center;
+
+                &:first-child {
+                    text-align: left;
+                }
+
+                &:last-child {
+                    text-align: right;
+                }
+
+                span:last-child {
+                    color: #999;
+                    font-size: .24rem;
+                }
+            }
+        }
+    }
+}
+</style>

+ 102 - 0
src/packages/mobile/views/mine/order/components/wrorderdetail/index.vue

@@ -0,0 +1,102 @@
+<template>
+    <app-view class="wrorderdetail">
+        <app-pull-refresh class="wrorderdetail__container" v-model:pageIndex="pageIndex" :page-count="pageCount"
+            :updateList="dataList" @refresh="onRefresh" @updated="onRefreshUpdated">
+            <template #header>
+                <ul class="list list-row" v-if="showHeader">
+                    <li class="list-column">
+                        <span>商品</span>
+                    </li>
+                    <li class="list-column">
+                        <span>方向</span>
+                    </li>
+                    <li class="list-column">
+                        <span>挂牌价格</span>
+                    </li>
+                    <li class="list-column">
+                        <span>挂牌数量</span>
+                    </li>
+                    <li class="list-column">
+                        <span>成交数量</span>
+                    </li>
+                    <li class="list-column">
+                        <span>状态</span>
+                    </li>
+                    <Button round @click="routerTo('')">更多</Button>
+                </ul>
+            </template>
+            <template #default="{ item }">
+                <ul class="list list-row">
+                    <li class="list-column"><span>{{ item.wrstandardname }}</span></li>
+                    <li class="list-column"><span>{{ item.buyorsell === 0 ? '买入' : '卖出' }}</span></li>
+                    <li class="list-column"><span>{{ item.fixedprice }}</span></li>
+                    <li class="list-column"><span>{{ item.orderqty }}</span></li>
+                    <li class="list-column"><span>{{ item.tradeqty }}</span></li>
+                    <li class="list-column"><span></span>{{ getTHJOrderStatusName(item.wrtradeorderstatus) }}</li>
+                </ul>
+            </template>
+        </app-pull-refresh>
+    </app-view>
+</template>
+
+<script lang="ts" setup>
+import { shallowRef } from 'vue'
+import { useQueryWrOrderDetail } from '@/business/order'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
+import { useNavigation } from '@/hooks/navigation'
+import { Button } from 'vant'
+import { getTHJOrderStatusName } from "@/constants/order";
+
+const { dataList, pageIndex, pageCount, getWrOrderDetail } = useQueryWrOrderDetail()
+const showHeader = shallowRef(false)
+const { routerTo } = useNavigation()
+
+const onRefresh = (callback: () => void) => {
+    getWrOrderDetail(1).finally(() => callback())
+}
+
+const onRefreshUpdated = (data: Model.UserScoreLogRsp[]) => {
+    showHeader.value = data.length > 0
+}
+</script>
+
+<style lang="less">
+.wrorderdetail {
+    &__container {
+        height: 100%;
+        overflow-y: auto;
+
+        .list {
+            display: flex;
+            align-items: center;
+            background-color: #fff;
+
+            &-row {
+                font-size: .32rem;
+                border-bottom: 1px solid #eee;
+                padding: .12rem .32rem;
+            }
+
+            &-column {
+                flex: 1;
+                display: flex;
+                flex-direction: column;
+                text-align: center;
+
+                &:first-child {
+                    text-align: left;
+                }
+
+                &:last-child {
+                    text-align: right;
+                }
+
+                span:last-child {
+                    color: #999;
+                    font-size: .24rem;
+                }
+            }
+        }
+    }
+}
+</style>

+ 104 - 0
src/packages/mobile/views/mine/order/components/wrtradedetail/index.vue

@@ -0,0 +1,104 @@
+<template>
+    <app-view class="wrtradedetail">
+        <app-pull-refresh class="wrtradedetail__container" v-model:pageIndex="pageIndex" :page-count="pageCount"
+            :updateList="dataList" @refresh="onRefresh" @updated="onRefreshUpdated">
+            <template #header>
+                <ul class="list list-row" v-if="showHeader">
+                    <li class="list-column">
+                        <span>商品</span>
+                    </li>
+                    <li class="list-column">
+                        <span>方向</span>
+                    </li>
+                    <li class="list-column">
+                        <span>成交价格</span>
+                    </li>
+                    <li class="list-column">
+                        <span>成交数量</span>
+                    </li>
+                    <li class="list-column">
+                        <span>成交金额</span>
+                    </li>
+                    <li class="list-column">
+                        <span>成交时间</span>
+                    </li>
+                    <Button round @click="routerTo('bank-hisstatement')">更多</Button>
+                </ul>
+            </template>
+            <template #default="{ item }">
+                <ul class="list list-row">
+                    <li class="list-column"><span>{{ item.wrstandardname }}</span></li>
+                    <li class="list-column"><span>{{ item.buyorsell === 0 ? '买入' : '卖出' }}</span></li>
+                    <li class="list-column"><span>{{ item.tradeprice }}</span></li>
+                    <li class="list-column"><span>{{ item.tradeqty }}</span></li>
+                    <li class="list-column">
+                        <span>{{ formatDate(item.tradetime, 'YYYY-MM-DD') }}</span>
+                        <span>{{ formatDate(item.tradetime, 'HH:mm:ss') }}</span>
+                    </li>
+                </ul>
+            </template>
+        </app-pull-refresh>
+    </app-view>
+</template>
+
+<script lang="ts" setup>
+import { shallowRef } from 'vue'
+import { useQueryWrTradeDetail } from '@/business/order'
+import AppPullRefresh from '@mobile/components/base/pull-refresh/index.vue'
+import { useNavigation } from '@/hooks/navigation'
+import { Button } from 'vant'
+import { formatDate } from '@/filters'
+
+const { dataList, pageIndex, pageCount, getWrTradeDetail } = useQueryWrTradeDetail()
+const showHeader = shallowRef(false)
+const { routerTo } = useNavigation()
+
+const onRefresh = (callback: () => void) => {
+    getWrTradeDetail(1).finally(() => callback())
+}
+
+const onRefreshUpdated = (data: Model.UserScoreLogRsp[]) => {
+    showHeader.value = data.length > 0
+}
+</script>
+
+<style lang="less">
+.wrtradedetail {
+    &__container {
+        height: 100%;
+        overflow-y: auto;
+
+        .list {
+            display: flex;
+            align-items: center;
+            background-color: #fff;
+
+            &-row {
+                font-size: .32rem;
+                border-bottom: 1px solid #eee;
+                padding: .12rem .32rem;
+            }
+
+            &-column {
+                flex: 1;
+                display: flex;
+                flex-direction: column;
+                text-align: center;
+
+                &:first-child {
+                    text-align: left;
+                }
+
+                &:last-child {
+                    text-align: right;
+                }
+
+                span:last-child {
+                    color: #999;
+                    font-size: .24rem;
+                }
+            }
+        }
+    }
+}
+</style>

+ 15 - 0
src/packages/mobile/views/mine/order/index.less

@@ -0,0 +1,15 @@
+.mine-order {
+    .van-tabs {
+        display       : flex;
+        flex-direction: column;
+        height        : 100%;
+
+        &__content {
+            flex: 1;
+        }
+
+        .van-tab__panel {
+            height: 100%;
+        }
+    }
+}

+ 32 - 0
src/packages/mobile/views/mine/order/index.vue

@@ -0,0 +1,32 @@
+<template>
+    <app-view class="mine-order">
+        <template #header>
+            <app-navbar title="我的订单" />
+        </template>
+        <Tabs>
+            <Tab title="采购订单">
+                <purchase-trade-detail />
+            </Tab>
+            <Tab title="供求委托">
+                <wr-order-detail />
+            </Tab>
+            <Tab title="供求成交">
+                <wr-trade-detail />
+            </Tab>
+        </Tabs>
+    </app-view>
+</template>
+
+<script lang="ts" setup>
+
+import { Tab, Tabs } from 'vant'
+
+import PurchaseTradeDetail from './components/purchasetradedetail/index.vue'
+import WrOrderDetail from './components/wrorderdetail/index.vue'
+import WrTradeDetail from './components/wrtradedetail/index.vue'
+
+</script>
+
+<style lang="less">
+@import './index.less';
+</style>

+ 6 - 6
src/packages/mobile/views/rules/ptgz/index.vue

@@ -15,12 +15,12 @@
 
 <script lang="ts" setup>
 
-import {  ref } from 'vue'
-import AppHtml from '@mobile/components/base/html-panel/index.vue'
-import { Tab, Tabs, Toast } from 'vant'
+    import {  ref } from 'vue'
+    import AppHtml from '@mobile/components/base/html-panel/index.vue'
+    import { Tab, Tabs, Toast } from 'vant'
 
-  /// tab激活项
-const active = ref(0);
-const onClickTab = ( {name} ) => Toast(name);
+    /// tab激活项
+    const active = ref(0);
+    const onClickTab = ( {name} ) => Toast(name);
 
 </script>

+ 7 - 0
src/services/api/goods/index.ts

@@ -55,4 +55,11 @@ export function queryTHJWrstandardDetail(params: HttpParams<{ req: Model.THJWrst
  */
  export function querySpotGoodsPrice(params: HttpParams<{ req: Model.SpotGoodsPriceReq, rsp: Model.SpotGoodsPriceRsp[] }>) {
     return httpRequest('/Ferroalloy/GetSpotGoodsPrice', 'get', params);
+}
+
+/**
+ * 查询市场运行信息
+ */
+ export function queryMarketRun(params: HttpParams<{ req: Model.MarketRunReq, rsp: Model.MarketRunRsp[] }>) {
+    return httpRequest('/Market/QueryMarketRun', 'get', params);
 }

+ 1 - 2
src/stores/modules/enum.ts

@@ -16,8 +16,7 @@ interface StoreState {
     loading: boolean;
     allEnums: ShallowRef<Model.EnumRsp[]>;
 }
-
-const enumKeys = ['clientType', 'scoreConfigType', 'accountBusinessCode', 'certificatetype', 'signstatus', 'goodsunit'] as const
+const enumKeys = ['clientType', 'scoreConfigType', 'accountBusinessCode', 'certificatetype', 'signstatus', 'thjOrderStatus', 'thjDeliveryMode', 'goodsunit'] as const
 
 /**
  * 枚举存储类

+ 7 - 0
src/stores/modules/user.ts

@@ -71,6 +71,13 @@ const store = new (class extends VueStore<StoreState>{
         getUserInfo: () => {
             const { userInfo } = this.state.userData
             return userInfo
+        },
+        /** 获取对应系统参数的对应值 */
+        getSystemParamValue: (paramcode: string) => {
+            const {systemParams} = this.state.userData
+            return systemParams.find(obj => {
+                return obj.paramcode === paramcode
+            })?.paramvalue
         }
     }
 })

+ 38 - 0
src/types/model/goods.d.ts

@@ -241,4 +241,42 @@ declare namespace Model {
         /// 昨价
         ystspotgoodsprice: number
     }
+
+    /** 市场运行信息 响应 */
+    interface MarketRunReq {
+        /// 市场ID,不传返回所有
+        marketID?: number
+    }
+
+    /** 市场运行信息 响应 */
+    interface MarketRunRsp {
+        /// 下下交易日
+        afternexttradedate: string
+        /// 行情清盘标志- 1:未发送 2:已发送 3:已回复
+        clearquoteflag: number
+        /// 最新交易日(结算成功)
+        lastreckondate: string
+        /// 机器时间
+        machinedate: string
+        /// 手动开市标志- 0:否 1:是 (市场为手动时,是否触发了手动开市标志)
+        manualflag: number
+        /// 市场ID
+        marketid: number
+        /// 下一交易日
+        nexttradedate: string
+        /// 上一交易日
+        pretradedate: string
+        /// 结算标识 - 0: 停止结算 1: 正常(管理端控制此字段,交易服务根据此字段判断是否做结算)
+        reckonflag: number
+        /// 运行状态 - 0:初始化 1:待开市 2:开市 3:休市 4:手工休市 5:闭市 6:确认行权开始 7:确认行权结束 10:日终处理开始 11:日终处理成功 12:日终处理失败 13基础服务结算开始 14基础服务结算成功 23.资金结算开始 24.资金结算成功 25.资金结算失败 26.系统结算成功 27.系统结算失败 28.盘中处理开始 29.盘中处理成功 30.盘中处理失败 31.资金结算开始(内) 32.资金结算成功(内) 33.资金结算失败(内) 40.签到开始 41.签到成功 42.签到部份成功 43.签到失败 44.签退开始 45.签退成功 46.签退部份成功 47.签退失败 48.对账开始 49.对账成功 50.对账失败 51.清算开始 52.清算成功 53.清算失败 54.清算部分成功 55. 系统结算开始 62.今日免清算
+        runstatus: number
+        /// 时间段号[多时段时用]
+        sectionid: number
+        /// 当前交易日(服务) 资金结算完成即变更,供交易服务使用
+        tradedate: string
+        /// 当前交易日(行情) 在第一个市场待开市时变更为TradeDate,供行情及终端系统使用
+        tradedate2: string
+        /// 更新时间
+        updatetime: string
+    }
 }

+ 3 - 3
src/types/proto/bank.d.ts

@@ -38,7 +38,7 @@ declare global {
             MobilePhone: string; // 移动电话
             IdentifyCode: string; // 验证码
             email: string; // 电子邮箱
-            extend_info: string; // 扩展信息(JSON串,参考配置要求进行填充)
+            Extend_Info: string; // 扩展信息(JSON串,参考配置要求进行填充)
         }
 
         /** 签约应答 */
@@ -115,7 +115,7 @@ declare global {
             Desc: string; // 备注
             IdentifyCode: string; // 验证码
             BranchBankName: string; // 收款支行名称
-            extend_info: string; // 扩展信息(JSON串,参考配置要求进行填充)
+            Extend_Info: string; // 扩展信息(JSON串,参考配置要求进行填充)
             Remark: string; // 备注
             ExchTicket: string; // 交易所流水号
         }
@@ -156,7 +156,7 @@ declare global {
             OpenCardBankId: string; // 银行卡行号
             BankAccoutNum: string; // 银行卡号
             BankAccoutName: string; // 银行卡户名
-            extend_info: string; // 扩展信息(JSON串,参考配置要求进行填充)
+            Extend_Info: string; // 扩展信息(JSON串,参考配置要求进行填充)
         }
 
         /** 入金应答 */