li.shaoyi há 2 anos atrás
pai
commit
84071e2706
33 ficheiros alterados com 188 adições e 100 exclusões
  1. 10 8
      src/constants/funcode.ts
  2. BIN
      src/packages/mobile/assets/images/boot-1080p.png
  3. BIN
      src/packages/mobile/assets/images/boot-480p.png
  4. BIN
      src/packages/mobile/assets/images/boot-720p.png
  5. 1 1
      src/packages/mobile/components/base/popup/index.vue
  6. 90 2
      src/packages/mobile/views/account/certification/Index.vue
  7. 1 1
      src/packages/mobile/views/ballot/detail/components/delisting/index.vue
  8. 2 2
      src/packages/mobile/views/bank/sign/Index.vue
  9. 2 2
      src/packages/mobile/views/bank/sign/components/edit/Index.vue
  10. 2 2
      src/packages/mobile/views/bank/wallet/components/withdraw/Index.vue
  11. 4 4
      src/packages/mobile/views/goods/trade/components/delisting/index.vue
  12. 2 2
      src/packages/mobile/views/mine/address/Index.vue
  13. 5 2
      src/packages/mobile/views/mine/address/components/edit/Index.vue
  14. 2 2
      src/packages/mobile/views/mine/invoice/Index.vue
  15. 12 10
      src/packages/mobile/views/mine/invoice/components/edit/Index.vue
  16. 1 1
      src/packages/mobile/views/order/performance/components/breach/Index.vue
  17. 4 4
      src/packages/mobile/views/order/performance/components/detail/Index.vue
  18. 13 0
      src/packages/mobile/views/order/position/components/transfer/listing/Index.vue
  19. 1 1
      src/packages/mobile/views/presale/detail/components/delisting/index.vue
  20. 1 1
      src/packages/mobile/views/pricing/detail/Index.vue
  21. 1 1
      src/packages/mobile/views/spot/detail/components/delisting/index.vue
  22. 1 1
      src/packages/mobile/views/spot/detail/components/listing/index.vue
  23. 1 1
      src/packages/mobile/views/swap/detail/components/delisting/Index.vue
  24. 1 1
      src/packages/mobile/views/swap/detail/components/listing/Index.vue
  25. 1 1
      src/packages/mobile/views/transfer/detail2/index.vue
  26. 2 2
      src/packages/mobile/views/user/cancel/Index.vue
  27. 3 3
      src/packages/mobile/views/user/forget/Index.vue
  28. 2 2
      src/packages/mobile/views/user/password/Index.vue
  29. 2 2
      src/packages/mobile/views/user/register/Index.vue
  30. 2 0
      src/services/bus/types.ts
  31. 0 39
      src/services/websocket/quote.ts
  32. 15 2
      src/services/websocket/trade.ts
  33. 4 0
      src/stores/modules/futures.ts

+ 10 - 8
src/constants/funcode.ts

@@ -49,6 +49,8 @@ export enum FunCode {
     UserChangeNtf = 131106,    /// 用户变更通知(0, 2, 34)
     WRTradeDealedNtf = 131110, // 仓单贸易成交通知
     ListingOrderChangeNtf = 131176, // 挂牌委托变更广播通知
+    OrderDealedNtf = 131081, // 委托单成交通知
+    MarketStatusChangeNtf = 131089, // 市场状态变更通知
 
     // 行情内容
     QuoteBeat = 0x12, // 心跳
@@ -105,12 +107,12 @@ export enum FunCode {
     OfflineDeliveryReq = 196723,   // 线下交收申请请求
     OfflineDeliveryRsp = 196724,   // 线下交收申请请求
 
-    PerformanceContractedApplyReq       = 1310729, // 违约申请请求
-    PerformanceContractedApplyRsp       = 1310730, // 违约申请应答
-    PerformanceDelayApplyReq            = 1310725, // 延期申请请求
-    PerformanceDelayApplyRsp            = 1310726, // 延期申请应答
-    PerformanceManualConfirmReq         = 1310723, // 履约手动确认请求
-    PerformanceManualConfirmRsp         = 1310724, // 履约手动确认应答
-    PerformanceModifyContactReq         = 1310735, // 履约修改联络信息请求
-    PerformanceModifyContactRsp         = 1310736, // 履约修改联络信息回应
+    PerformanceContractedApplyReq = 1310729, // 违约申请请求
+    PerformanceContractedApplyRsp = 1310730, // 违约申请应答
+    PerformanceDelayApplyReq = 1310725, // 延期申请请求
+    PerformanceDelayApplyRsp = 1310726, // 延期申请应答
+    PerformanceManualConfirmReq = 1310723, // 履约手动确认请求
+    PerformanceManualConfirmRsp = 1310724, // 履约手动确认应答
+    PerformanceModifyContactReq = 1310735, // 履约修改联络信息请求
+    PerformanceModifyContactRsp = 1310736, // 履约修改联络信息回应
 } 

BIN
src/packages/mobile/assets/images/boot-1080p.png


BIN
src/packages/mobile/assets/images/boot-480p.png


BIN
src/packages/mobile/assets/images/boot-720p.png


+ 1 - 1
src/packages/mobile/components/base/popup/index.vue

@@ -13,7 +13,7 @@
                 <slot></slot>
             </div>
             <template #footer>
-                <div class="g-form__footer app-popup__footer">
+                <div class="g-form__footer app-popup__footer inset">
                     <slot name="footer"></slot>
                 </div>
             </template>

+ 90 - 2
src/packages/mobile/views/account/certification/Index.vue

@@ -1,8 +1,96 @@
 <template>
-    <app-view>
-
+    <app-view class="g-form account-certification">
+        <template #header>
+            <app-navbar title="实名认证" />
+        </template>
+        <Form ref="formRef" class="g-form__container" @submit="onSubmit">
+            <CellGroup inset>
+                <Field v-model="formData.username" name="username" label="姓名" placeholder="请输入用户姓名"
+                    :rules="formRules.username" />
+                <Field name="cardtype" label="证件类型" :rules="formRules.cardtype" is-link>
+                    <template #input>
+                        <app-select v-model="formData.cardtype" placeholder="请选择证件类型" :options="enums" />
+                    </template>
+                </Field>
+                <Field v-model="formData.cardnum" name="cardnum" label="证件号码" placeholder="请输入证件号码"
+                    :rules="formRules.cardnum" />
+                <Field name="cardfrontphotourl" label="证件正面照片" :rules="formRules.cardfrontphotourl">
+                    <template #input>
+                        <app-uploader @success="b_afterRead" />
+                    </template>
+                </Field>
+                <Field name="cardbackphotourl" label="证件反面照片" :rules="formRules.cardbackphotourl">
+                    <template #input>
+                        <app-uploader @success="f_afterRead" />
+                    </template>
+                </Field>
+            </CellGroup>
+        </Form>
+        <img src="@mobile/assets/images/certification.png" />
+        <template #footer>
+            <div class="g-form__footer">
+                <Button type="primary" @click="formRef?.submit" round block>提交实名认证</Button>
+            </div>
+        </template>
     </app-view>
 </template>
 
 <script lang="ts" setup>
+import { shallowRef, computed } from 'vue'
+import { CellGroup, Button, Field, Form, FormInstance, showFailToast, FieldRule } from 'vant'
+import { addAuthReq } from '@/business/user'
+import { fullloading, dialog } from '@/utils/vant';
+import { getCertificateTypeList } from "@/constants/account";
+import AppSelect from '@mobile/components/base/select/index.vue'
+import { useNavigation } from '@/hooks/navigation'
+import AppUploader from '@mobile/components/base/uploader/index.vue'
+
+const formRef = shallowRef<FormInstance>()
+const { formData, formSubmit } = addAuthReq()
+const { router } = useNavigation()
+
+/// 获取对应的证件枚举类型
+const enums = computed(() => { return getCertificateTypeList().map(obj => { return { label: obj.label, value: obj.value } }) })
+
+const b_afterRead = (filePath: string) => {
+    formData.cardfrontphotourl = filePath
+}
+
+const f_afterRead = (filePath: string) => {
+    formData.cardbackphotourl = filePath
+}
+
+// 表单验证规则
+const formRules: { [key in keyof Model.AddAuthReq]?: FieldRule[] } = {
+    username: [{
+        required: true,
+        message: '请输入用户姓名',
+    }],
+    cardnum: [{
+        required: true,
+        message: '请输入证件号码',
+
+    }],
+    cardbackphotourl: [{
+        required: true,
+        message: '请上传证件背面照片',
+    }],
+    cardfrontphotourl: [{
+        required: true,
+        message: '请上传证件正面照片',
+    }],
+}
+
+const onSubmit = () => {
+    fullloading((hideLoading) => {
+        formSubmit().then(() => {
+            hideLoading()
+            dialog('实名认证提交请求成功').then(() => {
+                router.back()
+            })
+        }).catch((err) => {
+            showFailToast(err)
+        })
+    })
+}
 </script>

+ 1 - 1
src/packages/mobile/views/ballot/detail/components/delisting/index.vue

@@ -24,7 +24,7 @@
             </Field>
         </Form>
         <template #footer>
-            <Button type="primary" block round @click="formRef?.submit">确定</Button>
+            <Button type="danger" block square @click="formRef?.submit">确定</Button>
         </template>
     </app-popup>
 </template>

+ 2 - 2
src/packages/mobile/views/bank/sign/Index.vue

@@ -14,13 +14,13 @@
         </div>
         <div class="bank-sign__empty" v-else>
             <Empty description="您还未添加签约账户" />
-            <Button type="primary" @click="openComponent('edit')" round>添加签约账户</Button>
+            <Button type="danger" @click="openComponent('edit')" round>添加签约账户</Button>
         </div>
         <template #footer>
             <div class="g-form__footer" v-if="bankInfo">
                 <Button type="warning" round block @click="formSubmit"
                     v-if="bankInfo.signstatus === SignStatus.Signed">解约</Button>
-                <Button type="primary" round block @click="openComponent('edit')"
+                <Button type="danger" round block @click="openComponent('edit')"
                     v-if="[SignStatus.Unsigned, SignStatus.Refuse, SignStatus.Signed].includes(bankInfo.signstatus)">修改</Button>
             </div>
         </template>

+ 2 - 2
src/packages/mobile/views/bank/sign/components/edit/Index.vue

@@ -21,8 +21,8 @@
                 </CellGroup>
             </Form>
             <template #footer>
-                <div class="g-form__footer">
-                    <Button type="primary" round block @click="formRef?.submit()">{{ bankInfo ? '修改' : '提交' }}</Button>
+                <div class="g-form__footer inset">
+                    <Button type="danger" round block @click="formRef?.submit()">{{ bankInfo ? '修改' : '提交' }}</Button>
                 </div>
             </template>
         </app-view>

+ 2 - 2
src/packages/mobile/views/bank/wallet/components/withdraw/Index.vue

@@ -34,8 +34,8 @@
             <label>充值提现时间:{{ start }}-{{ end }}</label>
         </div>
         <template #footer>
-            <div class="g-form__footer">
-                <Button round block type="primary" @click="formRef?.submit()">确定</Button>
+            <div class="g-form__footer inset">
+                <Button round block type="danger" @click="formRef?.submit()">确定</Button>
             </div>
         </template>
     </app-view>

+ 4 - 4
src/packages/mobile/views/goods/trade/components/delisting/index.vue

@@ -53,16 +53,16 @@
             <template #footer>
                 <div class="g-form__footer">
                     <template v-if="selectedRow.buyorsell === BuyOrSell.Buy">
-                        <Button type="primary" block round @click="onBeforeSubmit(EBuildType.BUILDTYPE_OPEN)">订立卖出</Button>
-                        <Button type="primary" :disabled="(sellQty === 0) || (orderQty > sellQty)" block round
+                        <Button type="danger" block square @click="onBeforeSubmit(EBuildType.BUILDTYPE_OPEN)">订立卖出</Button>
+                        <Button type="primary" :disabled="(sellQty === 0) || (orderQty > sellQty)" block square
                             @click="onBeforeSubmit(EBuildType.BUILDTYPE_CLOSE)">
                             <span>转让卖出</span>
                             <span v-if="sellQty">(≤{{ sellQty }})</span>
                         </Button>
                     </template>
                     <template v-if="selectedRow.buyorsell === BuyOrSell.Sell">
-                        <Button type="primary" block round @click="onBeforeSubmit(EBuildType.BUILDTYPE_OPEN)">订立买入</Button>
-                        <Button type="primary" :disabled="(buyQty === 0) || (orderQty > buyQty)" block round
+                        <Button type="danger" block square @click="onBeforeSubmit(EBuildType.BUILDTYPE_OPEN)">订立买入</Button>
+                        <Button type="primary" :disabled="(buyQty === 0) || (orderQty > buyQty)" block square
                             @click="onBeforeSubmit(EBuildType.BUILDTYPE_CLOSE)">
                             <span>转让买入</span>
                             <span v-if="buyQty">(≤{{ buyQty }})</span>

+ 2 - 2
src/packages/mobile/views/mine/address/Index.vue

@@ -28,8 +28,8 @@
         </RadioGroup>
         <Empty v-else />
         <template #footer>
-            <div class="g-form__footer">
-                <Button type="primary" @click="onEdit" round block>新增地址</Button>
+            <div class="g-form__footer inset">
+                <Button type="danger" @click="onEdit" round block>新增地址</Button>
             </div>
             <component ref="componentRef" v-bind="{ selectedRow }" :is="componentMap.get(componentId)"
                 @closed="closeComponent" v-if="componentId" />

+ 5 - 2
src/packages/mobile/views/mine/address/components/edit/Index.vue

@@ -3,7 +3,11 @@
         <template #default="{ animation }">
             <app-view class="g-form">
                 <template #header>
-                    <app-navbar :title="selectedRow.autoid ? '修改收货地址' : '新增收货地址'" @back="closed" />
+                    <app-navbar :title="selectedRow.autoid ? '修改收货地址' : '新增收货地址'" @back="closed">
+                        <template #right v-if="selectedRow.autoid">
+                            <span @click="formDelete">删除</span>
+                        </template>
+                    </app-navbar>
                 </template>
                 <Form ref="formRef" class="g-form__container" @submit="formSubmit">
                     <CellGroup inset>
@@ -23,7 +27,6 @@
                 </Form>
                 <template #footer>
                     <div class="g-form__footer inset">
-                        <Button type="warning" @click="formDelete" round block v-if="selectedRow.autoid">删除</Button>
                         <Button type="danger" @click="formRef?.submit" round block>保存</Button>
                     </div>
                 </template>

+ 2 - 2
src/packages/mobile/views/mine/invoice/Index.vue

@@ -24,8 +24,8 @@
         </RadioGroup>
         <Empty v-else />
         <template #footer>
-            <div class="g-form__footer">
-                <Button type="primary" @click="onEdit" round block>新增发票</Button>
+            <div class="g-form__footer inset">
+                <Button type="danger" @click="onEdit" round block>新增发票</Button>
             </div>
             <component ref="componentRef" v-bind="{ selectedRow }" :is="componentMap.get(componentId)"
                 @closed="closeComponent" v-if="componentId" />

+ 12 - 10
src/packages/mobile/views/mine/invoice/components/edit/Index.vue

@@ -2,12 +2,15 @@
     <app-modal direction="right" height="100%" v-model:show="showModal" :refresh="refresh">
         <app-view class="g-form">
             <template #header>
-                <app-navbar :title="selectedRow.autoid ? '修改发票信息' : '新增发票信息'" @back="closed" />
+                <app-navbar :title="selectedRow.autoid ? '修改发票信息' : '新增发票信息'" @back="closed">
+                    <template #right v-if="selectedRow.autoid">
+                        <span @click="formDelete">删除</span>
+                    </template>
+                </app-navbar>
             </template>
             <Form ref="formRef" class="g-form__container" @submit="formSubmit">
                 <CellGroup inset>
-                    <Field name="ReceiptType" label="发票类型" :rules="formRules.ReceiptType"
-                        :is-link="!selectedRow.autoid">
+                    <Field name="ReceiptType" label="发票类型" :rules="formRules.ReceiptType" :is-link="!selectedRow.autoid">
                         <template #input>
                             <app-select v-model="formData.ReceiptType" :options="getReceiptTypeList()"
                                 :readonly="!!selectedRow.autoid" />
@@ -18,22 +21,21 @@
                     <template v-if="formData.ReceiptType === ReceiptType.Company">
                         <Field v-model="formData.TaxpayerID" :rules="formRules.TaxpayerID" name="TaxpayerID" label="税号"
                             placeholder="必填" />
-                        <Field v-model="formData.ReceiptBank" :rules="formRules.ReceiptBank" name="ReceiptBank"
-                            label="开户银行" placeholder="选填" />
+                        <Field v-model="formData.ReceiptBank" :rules="formRules.ReceiptBank" name="ReceiptBank" label="开户银行"
+                            placeholder="选填" />
                         <Field v-model="formData.ReceiptAccount" :rules="formRules.ReceiptAccount" name="ReceiptAccount"
                             label="银行账号" placeholder="选填" />
                         <Field v-model="formData.Address" :rules="formRules.Address" name="Address" label="企业地址"
                             placeholder="选填" />
-                        <Field v-model="formData.ContactInfo" :rules="formRules.ContactInfo" name="ContactInfo"
-                            label="企业电话" placeholder="选填" />
+                        <Field v-model="formData.ContactInfo" :rules="formRules.ContactInfo" name="ContactInfo" label="企业电话"
+                            placeholder="选填" />
                     </template>
                     <Field v-model="formData.Email" :rules="formRules.Email" name="Email" label="邮箱" placeholder="选填" />
                 </CellGroup>
             </Form>
             <template #footer>
-                <div class="g-form__footer">
-                    <Button type="warning" @click="formDelete" round block v-if="selectedRow.autoid">删除</Button>
-                    <Button type="primary" @click="formRef?.submit" round block>保存</Button>
+                <div class="g-form__footer inset">
+                    <Button type="danger" @click="formRef?.submit" round block>保存</Button>
                 </div>
             </template>
         </app-view>

+ 1 - 1
src/packages/mobile/views/order/performance/components/breach/Index.vue

@@ -19,7 +19,7 @@
                 </CellGroup>
             </Form>
             <template #footer>
-                <Button type="primary" block round @click="contracted">申请违约</Button>
+                <Button type="danger" block round @click="contracted">申请违约</Button>
             </template>
         </app-view>
     </app-modal>

+ 4 - 4
src/packages/mobile/views/order/performance/components/detail/Index.vue

@@ -23,11 +23,11 @@
                     <Cell title="履约单号" :value="selectedRow.performanceplanid" />
                 </CellGroup>
                 <CellGroup title="执行信息">
-                    
+
                 </CellGroup>
             </div>
             <template #footer>
-                <Button type="primary" block round @click="delay">延期申请</Button>
+                <Button type="danger" block round @click="delay">延期申请</Button>
                 <Button type="info" block round @click="confirm">立即执行</Button>
             </template>
         </app-view>
@@ -48,7 +48,7 @@ import { useRequest } from '@/hooks/request'
 const showModal = shallowRef(true)
 // 是否刷新父组件数据
 const refresh = shallowRef(false)
-const { formData, formSubmit} = usePerformanceDelayApply()
+const { formData, formSubmit } = usePerformanceDelayApply()
 
 const props = defineProps({
     selectedRow: {
@@ -57,7 +57,7 @@ const props = defineProps({
     }
 })
 
-const { confirmFormData, confirmSubmit} = usePerformanceManualConfirm(props.selectedRow.buyaccountid)
+const { confirmFormData, confirmSubmit } = usePerformanceManualConfirm(props.selectedRow.buyaccountid)
 const datelist = shallowRef<Model.WrPerformancePlanStep[]>([])
 const error = shallowRef(false)
 

+ 13 - 0
src/packages/mobile/views/order/position/components/transfer/listing/Index.vue

@@ -17,6 +17,16 @@
                             <span>{{ enableqty }}</span>
                         </template>
                     </Field>
+                    <Field label="涨停">
+                        <template #input>
+                            <span>{{ quote?.limitup }}</span>
+                        </template>
+                    </Field>
+                    <Field label="跌停">
+                        <template #input>
+                            <span>{{ quote?.limitdown }}</span>
+                        </template>
+                    </Field>
                     <Field name="OrderPrice" :rules="formRules.OrderPrice" label="转让价">
                         <template #input>
                             <Stepper v-model="formData.OrderPrice" theme="round" :decimal-length="2" :auto-fixed="false"
@@ -45,6 +55,7 @@ import { shallowRef, PropType, computed, onMounted } from 'vue'
 import { CellGroup, Form, Field, Stepper, Button, FieldRule, FormInstance } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
 import { useOrder } from '@/business/trade'
+import { useFuturesStore } from '@/stores'
 import AppModal from '@/components/base/modal/index.vue'
 import { BuyOrSell } from '@/constants/order'
 import { EPriceMode, EValidType, EListingSelectType, EBuildType } from '@/constants/client'
@@ -57,9 +68,11 @@ const props = defineProps({
 })
 
 const { formData, formSubmit } = useOrder()
+const { getQuoteInfo } = useFuturesStore()
 const formRef = shallowRef<FormInstance>()
 const refresh = shallowRef(false) // 是否刷新父组件数据
 const showModal = shallowRef(true)
+const quote = getQuoteInfo(props.selectedRow.goodscode)
 
 // 表单验证规则
 const formRules: { [key in keyof Proto.OrderReq]?: FieldRule[] } = {

+ 1 - 1
src/packages/mobile/views/presale/detail/components/delisting/index.vue

@@ -30,7 +30,7 @@
             </Field>
         </Form>
         <template #footer>
-            <Button type="primary" block round @click="formRef?.submit">提交</Button>
+            <Button type="danger" block round @click="formRef?.submit">提交</Button>
         </template>
     </app-popup>
 </template>

+ 1 - 1
src/packages/mobile/views/pricing/detail/Index.vue

@@ -138,7 +138,7 @@
             </Form>
         </div>
         <template #footer>
-            <Button type="primary" block round @click="formRef?.submit">确定</Button>
+            <Button type="danger" block round @click="formRef?.submit">确定</Button>
         </template>
     </app-view>
 </template>

+ 1 - 1
src/packages/mobile/views/spot/detail/components/delisting/index.vue

@@ -46,7 +46,7 @@
             </Field>
         </Form>
         <template #footer>
-            <Button type="primary" block round @click="formRef?.submit">确定</Button>
+            <Button type="danger" block round @click="formRef?.submit">确定</Button>
         </template>
     </app-popup>
 </template>

+ 1 - 1
src/packages/mobile/views/spot/detail/components/listing/index.vue

@@ -37,7 +37,7 @@
             </Field>
         </Form>
         <template #footer>
-            <Button type="primary" block round @click="formRef?.submit">确定</Button>
+            <Button type="danger" block round @click="formRef?.submit">确定</Button>
         </template>
     </app-popup>
 </template>

+ 1 - 1
src/packages/mobile/views/swap/detail/components/delisting/Index.vue

@@ -62,7 +62,7 @@
             </Field>
         </Form>
         <template #footer>
-            <Button type="primary" block round @click="formRef?.submit">{{ tabIndex === 0 ? '卖出' : '买入' }}</Button>
+            <Button type="danger" block round @click="formRef?.submit">{{ tabIndex === 0 ? '卖出' : '买入' }}</Button>
         </template>
     </app-popup>
 </template>

+ 1 - 1
src/packages/mobile/views/swap/detail/components/listing/Index.vue

@@ -67,7 +67,7 @@
             </Field>
         </Form>
         <template #footer>
-            <Button type="primary" block round @click="formRef?.submit">确定</Button>
+            <Button type="danger" block round @click="formRef?.submit">确定</Button>
         </template>
     </app-popup>
 </template>

+ 1 - 1
src/packages/mobile/views/transfer/detail2/index.vue

@@ -1,7 +1,7 @@
 <template>
     <app-view class="transfer-detail g-form g-detail">
         <template #header>
-            <app-navbar title="转让详情" />
+            <app-navbar :title="quote ? quote.goodscode + '/' + quote.goodsname : '转让详情'" />
         </template>
         <component :is="Price" v-bind="{ goodsCode }" />
         <component :is="Chart" v-bind="{ goodsCode }" />

+ 2 - 2
src/packages/mobile/views/user/cancel/Index.vue

@@ -14,8 +14,8 @@
             </dl>
         </section>
         <template #footer>
-            <div class="g-form__footer">
-                <Button type="primary" @click="onSubmit" round block>确认注销</Button>
+            <div class="g-form__footer inset">
+                <Button type="danger" @click="onSubmit" round block>确认注销</Button>
             </div>
         </template>
     </app-view>

+ 3 - 3
src/packages/mobile/views/user/forget/Index.vue

@@ -10,7 +10,7 @@
                 <Field v-model="formData.vcode" type="digit" name="vcode" label="短信验证码" placeholder="必填" autocomplete="off"
                     :rules="formRules.vcode">
                     <template #button>
-                        <Button size="small" type="primary" :disabled="isCountdown" @click="sendVerifyCode">
+                        <Button size="small" type="danger" :disabled="isCountdown" @click="sendVerifyCode">
                             <span v-if="isCountdown">重新发送({{ currentTime.seconds }})</span>
                             <span v-else>获取验证码</span>
                         </Button>
@@ -23,8 +23,8 @@
             </CellGroup>
         </Form>
         <template #footer>
-            <div class="g-form__footer">
-                <Button type="primary" @click="formRef?.submit()" round block>重置密码</Button>
+            <div class="g-form__footer inset">
+                <Button type="danger" @click="formRef?.submit()" round block>重置密码</Button>
             </div>
         </template>
     </app-view>

+ 2 - 2
src/packages/mobile/views/user/password/Index.vue

@@ -14,8 +14,8 @@
             </CellGroup>
         </Form>
         <template #footer>
-            <div class="g-form__footer">
-                <Button type="primary" @click="formRef?.submit()" round block>提交</Button>
+            <div class="g-form__footer inset">
+                <Button type="danger" @click="formRef?.submit()" round block>提交</Button>
             </div>
         </template>
     </app-view>

+ 2 - 2
src/packages/mobile/views/user/register/Index.vue

@@ -40,8 +40,8 @@
       </CellGroup>
     </Form>
     <template #footer>
-      <div class="g-form__footer">
-        <Button type="primary" @click="formRef?.submit" round block>免费注册</Button>
+      <div class="g-form__footer inset">
+        <Button type="danger" @click="formRef?.submit" round block>免费注册</Button>
       </div>
       <app-reward :show="showReward" :value="redEnvelope" title="注册成功!" @click="router.back()" />
     </template>

+ 2 - 0
src/services/bus/types.ts

@@ -10,6 +10,8 @@ export enum EventCode {
     UserChangeNtf,       // 账户变更通知
     WRTradeDealedNtf, // 仓单贸易成交通知
     ListingOrderChangeNtf, // 挂牌委托变更广播通知
+    OrderDealedNtf, // 委托单成交通知
+    MarketStatusChangeNtf, // 市场状态变更通知
 }
 
 /**

+ 0 - 39
src/services/websocket/quote.ts

@@ -114,45 +114,6 @@ export default new (class {
     }
 
     /**
-     * 添加行情订阅
-     * @param goodsCodes 
-     * @param key 
-     * @returns 
-     */
-    addSubscribe = (goodsCodes: string[], key?: string) => {
-        const loginStore = useLoginStore()
-        const uuid = key ?? v4()
-        const value = this.subscribeMap.get(uuid) ?? []
-
-        const start = () => {
-            if (loginStore.token) {
-                goodsCodes.forEach((code) => {
-                    if (code && !value.includes(code)) {
-                        value.push(code)
-                    }
-                })
-                this.subscribeMap.set(uuid, value)
-                this.subscribe()
-            }
-        }
-
-        return {
-            uuid,
-            start,
-            stop: () => {
-                const flag = this.subscribeMap.delete(uuid)
-                if (flag) {
-                    console.log('删除订阅', uuid)
-                }
-                if (loginStore.token) {
-                    this.subscribe()
-                }
-                return flag
-            },
-        }
-    }
-
-    /**
      * 删除行情订阅
      * @param keys 
      */

+ 15 - 2
src/services/websocket/trade.ts

@@ -20,9 +20,22 @@ export default new (class {
             switch (funCode) {
                 case FunCode.MoneyChangedNotify: {
                     timerInterceptor.debounce(() => {
-                        // 通知上层 资金变动
+                        // 资金变动通知
                         eventBus.$emit('MoneyChangedNotify')
-                        console.log('接收到资金变动通知')
+                    }, delay, funCode.toString())
+                    break
+                }
+                case FunCode.OrderDealedNtf: {
+                    timerInterceptor.debounce(() => {
+                        // 委托单成交通知
+                        eventBus.$emit('OrderDealedNtf')
+                    }, delay, funCode.toString())
+                    break
+                }
+                case FunCode.MarketStatusChangeNtf: {
+                    timerInterceptor.debounce(() => {
+                        // 市场状态变更通知
+                        eventBus.$emit('MarketStatusChangeNtf')
                     }, delay, funCode.toString())
                     break
                 }

+ 4 - 0
src/stores/modules/futures.ts

@@ -388,6 +388,9 @@ export const useFuturesStore = defineStore(() => {
         handleQuote()
     })
 
+    // 接收委托单成交通知
+    const orderDealedNtf = eventBus.$on('OrderDealedNtf', () => getGoodsList())
+
     return {
         ...toRefs(state),
         quoteList,
@@ -397,5 +400,6 @@ export const useFuturesStore = defineStore(() => {
         getGoodsName,
         getGoodsMarket,
         quotePushNotify,
+        orderDealedNtf,
     }
 })