li.shaoyi 2 năm trước cách đây
mục cha
commit
73dbcecc0e

+ 1 - 1
src/packages/pc/views/auth/components/layout/index.vue

@@ -7,7 +7,7 @@
       </div>
       <div class="right">
         <div class="right-logo">
-          <img src="@pc/assets/logo-horizontal.png" title="广州钻石交易中心" />
+          <img src="@pc/assets/logo-horizontal.png" />
         </div>
         <div class="right-title">{{ title }}</div>
         <div class="right-container">

+ 4 - 2
src/packages/pc/views/footer/goods/order/clear/index.vue

@@ -42,8 +42,10 @@ const onCancelSumit = () => {
             /// 提交
             cancelSubmit()
         }
-        loading.value = false
-        onCancel(true)
+        setTimeout(() => {
+            loading.value = false
+            onCancel(true)
+        }, 2000)
     }).catch((err) => {
         loading.value = false
         ElMessage.error('提交失败:' + err)

+ 0 - 8
src/packages/sbyj/router/index.ts

@@ -134,14 +134,6 @@ const routes: Array<RouteRecordRaw> = [
           ignoreAuth: true,
         },
       },
-      {
-        path: 'detail',
-        name: 'news-detail',
-        component: () => import('../views/news/detail/index.vue'),
-        meta: {
-          ignoreAuth: true,
-        },
-      },
     ],
   },
   {

+ 5 - 5
src/packages/sbyj/views/delivery/components/processing/components/pay/index.vue

@@ -39,8 +39,8 @@
                 </Field>
                 <Field label="上传凭证" v-if="formData.DeliveryPayMode === 2" :rules="formRules.headurl">
                     <template #input>
-                        <Uploader v-model="fileList" :max-count="10" :max-size="5 * 1024 * 1024" @oversize="onOversize"  @delete="onDelete"
-                            :after-read="afterRead" />
+                        <Uploader v-model="fileList" :max-count="10" :max-size="5 * 1024 * 1024" @oversize="onOversize"
+                            @delete="onDelete" :after-read="afterRead" />
                     </template>
                 </Field>
             </Form>
@@ -56,7 +56,7 @@
 <script lang="ts" setup>
 import { ref, shallowRef, PropType, reactive } from 'vue'
 import { getGoodsUnitName } from '@/constants/unit'
-import { showFailToast, showSuccessToast, Uploader, UploaderFileListItem, Form, Field, Stepper, Button, FieldRule, FormInstance, Radio, RadioGroup, Checkbox } from 'vant'
+import { showFailToast, showSuccessToast, Uploader, UploaderFileListItem, Form, Field, Stepper, Button, FieldRule, FormInstance, Radio, RadioGroup } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
 import { CellGroup, Cell } from 'vant'
 import axios from 'axios'
@@ -65,7 +65,7 @@ import AppModal from '@/components/base/modal/index.vue'
 import { deliveryClientOperator } from '@/services/api/trade'
 
 const fileList = ref<UploaderFileListItem[]>([])
-    const props = defineProps({
+const props = defineProps({
     selectedRow: {
         type: Object as PropType<Model.MyTradeGoodsDeliveryOfflineRsp>,
         required: true,
@@ -133,7 +133,7 @@ const afterRead = (file: any) => {
     })
 }
 
-const onDelete = (file: UploaderFileListItem, {index}: {index: number}) => {
+const onDelete = (file: UploaderFileListItem, { index }: { index: number }) => {
     // console.log(file, index)
     // 删除对应已上传文件信息
     formData.PayAttr?.splice(index, 1)

+ 16 - 8
src/packages/sbyj/views/market/detail/index.vue

@@ -57,15 +57,14 @@
                             <li>
                                 <span>订单重量</span>
                                 <span>
-                                    {{ item.tHDetailEx.holderQty * item.agreeUnit }}
+                                    {{ item.tHDetailEx.openQty * item.agreeUnit }}
                                     {{ getGoodsUnitName(item.goodsUnitID) }}
                                 </span>
                             </li>
                             <li>
                                 <span>可用重量</span>
                                 <span>
-                                    {{ (item.tHDetailEx.holderQty - item.tHDetailEx.freezeQty) * item.agreeUnit }}
-                                    {{ getGoodsUnitName(item.goodsUnitID) }}
+                                    {{ enableqty(item) + getGoodsUnitName(item.goodsUnitID) }}
                                 </span>
                             </li>
                             <li>
@@ -96,9 +95,12 @@
                     </div>
                     <div class="g-order-list__btnbar">
                         <Button size="small" @click="showComponent('detail', item)" round>详情</Button>
-                        <Button size="small" @click="showComponent('supplement', item)" round>补充</Button>
-                        <Button size="small" @click="showComponent('delivery', item)" round>交收</Button>
-                        <Button size="small" @click="showComponent('closeholder', item)" round>转让</Button>
+                        <Button size="small" @click="showComponent('supplement', item)" round
+                            v-if="item.tHDetailEx.holderQty">补充</Button>
+                        <template v-if="enableqty(item)">
+                            <Button size="small" @click="showComponent('delivery', item)" round>交收</Button>
+                            <Button size="small" @click="showComponent('closeholder', item)" round>转让</Button>
+                        </template>
                     </div>
                 </div>
             </div>
@@ -149,6 +151,12 @@ const { componentRef, componentId, openComponent, closeComponent } = useComponen
 // 合约乘数
 const agreeunit = computed(() => quote.value?.agreeunit ?? 0)
 
+// 可用重量
+const enableqty = (item: Model.SBYJMyOrderRsp) => {
+    const { tHDetailEx, agreeUnit } = item
+    return (tHDetailEx.holderQty - tHDetailEx.freezeQty) * agreeUnit
+}
+
 // 数量步长列表
 const qtyStepList = computed(() => {
     return [
@@ -193,7 +201,7 @@ const onSubmit = () => {
             formSubmit().then(() => {
                 hideLoading('提交成功。', 'success')
                 // 刷新订单列表
-                getSBYJMyOrders()
+                getOrderList()
             }).catch((err) => {
                 hideLoading(err, 'fail')
             })
@@ -221,7 +229,7 @@ const showComponent = (componentName: string, row: Model.SBYJMyOrderRsp) => {
 }
 
 // 接收委托单成交通知
-const orderDealedNtf = eventBus.$on('OrderDealedNtf', () => getSBYJMyOrders())
+const orderDealedNtf = eventBus.$on('OrderDealedNtf', () => getOrderList())
 
 onMounted(() => {
     subscribe.start(goodscode)

+ 0 - 58
src/packages/sbyj/views/news/detail/index.less

@@ -1,58 +0,0 @@
-@import '@/packages/sbyj/assets/themes/base/mixin.less';
-
-.news-details {
-    background-color: #fff;
-
-    .app-view__body {
-        padding-bottom: 1.2rem;
-    }
-
-    &__container {
-        padding: .32rem;
-
-        >h1 {
-            font-size: .35rem;
-            font-weight: bold;
-        }
-
-        >h4 {
-            display: flex;
-            align-items: center;
-            gap: .12rem;
-            font-size: .24rem;
-            color: #999;
-            padding: .32rem 0;
-
-            img {
-                width: .48rem;
-                height: .48rem;
-                border-radius: 50%;
-                font-size: 0;
-            }
-        }
-
-        >p {
-            font-size: .28rem;
-            line-height: .48rem;
-
-            img {
-                max-width: 100%;
-            }
-        }
-    }
-
-    &__list {
-        .article-item {
-            &__title {
-                span {
-                    .mixin-text-overflow()
-                }
-            }
-
-            &__time {
-                flex: initial;
-                margin-left: .48rem;
-            }
-        }
-    }
-}

+ 0 - 112
src/packages/sbyj/views/news/detail/index.vue

@@ -1,112 +0,0 @@
-<template>
-    <app-view class="news-details">
-        <template #header>
-            <app-navbar title="资讯详情">
-                <!-- <template #right>
-                    <div @click="sendShareMessage" v-if="plus.hasPlus()">
-                        <Icon name="share" size=".36rem" />
-                    </div>
-                    <div :data-clipboard-text="getNewsShareUrl(newsId)" v-copy="onCopy" v-else>
-                        <Icon name="share" size=".36rem" />
-                    </div>
-                </template> -->
-            </app-navbar>
-        </template>
-        <section class="news-details__container" v-if="data">
-            <h1>{{ data.title }}</h1>
-            <h4>
-                <span>来源:</span>
-                <img :src="getFileUrl(data.srclogo)" v-if="data.srclogo" />
-                <span @click="openUrl(data?.srcurl)" style="color:dodgerblue" v-if="data.srcname">{{ data.srcname }}</span>
-                <span>{{ formatDate(data.publishdate, 'YYYY-MM-DD') }}</span>
-                <span style="margin-left: auto;">阅览数: {{ data.hits }}</span>
-            </h4>
-            <HtmlContainer :context="formatHtmlString(data.context)" v-if="data.context" />
-            <p style="color: #999;margin-top: .24rem;font-size: .24rem;" v-if="data.author">作者: {{ data.author }}</p>
-        </section>
-        <template v-if="dataList.length">
-            <Divider>热门资讯</Divider>
-            <CellGroup class="news-details__list">
-                <template v-for="(item, index) in dataList" :key="index">
-                    <Cell class="article-item" title-class="article-item__title" value-class="article-item__time"
-                        :title="item.title" :value="formatDate(item.publishdate, 'MM/DD')"
-                        :to="{ name: 'news-detail', query: { id: item.id } }" replace />
-                </template>
-            </CellGroup>
-        </template>
-    </app-view>
-</template>
-
-<script lang="ts" setup>
-import { CellGroup, Cell, Divider, showFailToast, showToast, Icon } from 'vant'
-import { formatDate, getFileUrl, getNewsShareUrl, formatHtmlString } from '@/filters'
-import { useNavigation } from '@/packages/sbyj/router/navigation'
-import { useRequest } from '@/hooks/request'
-import { queryNewTitles, queryNewContents } from '@/services/api/news'
-import plus from '@/utils/h5plus'
-import HtmlContainer from '@/packages/sbyj/components/base/html-container/index.vue'
-
-const { getQueryString } = useNavigation()
-const newsId = getQueryString('id')
-
-const { dataList, run } = useRequest(queryNewTitles, {
-    manual: true,
-    params: {
-        pagesize: 10,
-    },
-    onSuccess: (res) => {
-        dataList.value = res.data.filter((e) => e.id.toString() !== newsId)
-    }
-})
-
-const { data } = useRequest(queryNewContents, {
-    params: {
-        ids: newsId
-    },
-    onSuccess: (res) => {
-        if (res.data.length) {
-            const details = res.data[0]
-            data.value = details
-            run({ columnid: details.columnid })
-        } else {
-            run()
-        }
-    }
-})
-
-// 跳转链接
-const openUrl = (url?: string) => {
-    if (url) {
-        plus.openURL(url)
-    }
-}
-
-// 分享消息
-const sendShareMessage = () => {
-    if (data.value) {
-        plus.systemShare({
-            title: data.value.title,
-            href: getNewsShareUrl(newsId),
-        }).catch((err) => {
-            showFailToast(err)
-        })
-    } else {
-        showFailToast('文章不存在,分享失败')
-    }
-}
-
-const onCopy = (status: boolean) => {
-    if (status) {
-        showToast({
-            message: '已复制,快去粘贴吧~',
-            position: 'bottom',
-        })
-    } else {
-        showFailToast('复制失败')
-    }
-}
-</script>
-
-<style lang="less">
-@import './index.less';
-</style>

+ 1 - 1
src/packages/sbyj/views/order/detail/index.vue

@@ -11,7 +11,7 @@
                         :value="detail.tHDetailEx.tradeID" />
                     <Cell title="商品代码/名称" :value="detail.goodsCode + '/' + detail.goodsName" />
                     <Cell title="订单重量"
-                        :value="(detail.tHDetailEx.holderQty * detail.agreeUnit) + getGoodsUnitName(detail.goodsUnitID)" />
+                        :value="(detail.tHDetailEx.openQty * detail.agreeUnit) + getGoodsUnitName(detail.goodsUnitID)" />
                     <Cell title="可用数量"
                         :value="((detail.tHDetailEx.holderQty - detail.tHDetailEx.freezeQty) * detail.agreeUnit) + getGoodsUnitName(detail.goodsUnitID)" />
                     <Cell title="订单价格" :value="detail.tHDetailEx.holderPrice" />

+ 4 - 5
src/packages/sbyj/views/order/list/components/close-holder/index.vue

@@ -7,12 +7,12 @@
             </template>
             <Form ref="formRef" class="g-form__container" @submit="onSubmit">
                 <CellGroup inset>
-                    <Cell title="可用重量" :value="formatDecimal(enableqty) + getGoodsUnitName(selectedRow.goodsUnitID)" />
+                    <Cell title="可用重量" :value="enableqty + getGoodsUnitName(selectedRow.goodsUnitID)" />
                     <Field name="OrderQty" label="转让重量" :rules="formRules.OrderQty">
                         <template #input>
                             <div class="g-qty-group">
                                 <div class="g-qty-group__stepper">
-                                    <Stepper v-model="orderQty" :min="0" :step="qtyStep" integer />
+                                    <Stepper v-model="orderQty" :min="0" :max="enableqty" :step="qtyStep" integer />
                                     <span>{{ getGoodsUnitName(selectedRow.goodsUnitID) }}</span>
                                 </div>
                                 <RadioGroup v-model="qtyStep" direction="horizontal" @change="onRadioChange">
@@ -38,7 +38,6 @@
 import { shallowRef, PropType, onMounted, onUnmounted, computed } from 'vue'
 import { CellGroup, Cell, Button, Stepper, Field, Form, FormInstance, FieldRule, RadioGroup, Radio } from 'vant'
 import { fullloading } from '@/utils/vant'
-import { formatDecimal } from '@/filters'
 import AppModal from '@/components/base/modal/index.vue'
 import { getGoodsUnitName } from '@/constants/unit'
 import { useOrder } from '@/business/trade'
@@ -78,7 +77,7 @@ const qtyStepList = computed(() => {
 // 可用重量
 const enableqty = computed(() => {
     const { tHDetailEx, agreeUnit } = props.selectedRow
-    return (tHDetailEx.holderPrice - tHDetailEx.freezeQty) * agreeUnit
+    return (tHDetailEx.holderQty - tHDetailEx.freezeQty) * agreeUnit
 })
 
 // 表单验证规则
@@ -136,7 +135,7 @@ const closed = (isRefresh = false) => {
 onMounted(() => {
     subscribe.start(props.selectedRow.goodsCode)
     qtyStep.value = qtyStepList.value[0]
-    orderQty.value = (props.selectedRow.tHDetailEx.holderQty - props.selectedRow.tHDetailEx.freezeQty) * props.selectedRow.agreeUnit
+    orderQty.value = enableqty.value
 })
 
 onUnmounted(() => subscribe.stop())

+ 4 - 5
src/packages/sbyj/views/order/list/components/market-order-delivery/index.vue

@@ -7,12 +7,12 @@
             </template>
             <Form ref="formRef" class="g-form__container" @submit="onSubmit">
                 <CellGroup inset>
-                    <Cell title="可用重量" :value="formatDecimal(enableqty) + getGoodsUnitName(selectedRow.goodsUnitID)" />
+                    <Cell title="可用重量" :value="enableqty + getGoodsUnitName(selectedRow.goodsUnitID)" />
                     <Field name="OrderQty" label="交收重量" :rules="formRules.OrderQty">
                         <template #input>
                             <div class="g-qty-group">
                                 <div class="g-qty-group__stepper">
-                                    <Stepper v-model="orderQty" :min="0" :step="qtyStep" integer />
+                                    <Stepper v-model="orderQty" :min="0" :max="enableqty" :step="qtyStep" integer />
                                     <span>{{ getGoodsUnitName(selectedRow.goodsUnitID) }}</span>
                                 </div>
                                 <RadioGroup v-model="qtyStep" direction="horizontal" @change="onRadioChange">
@@ -38,7 +38,6 @@
 import { shallowRef, PropType, onMounted, computed, reactive } from 'vue'
 import { CellGroup, Cell, Button, Stepper, Field, Form, FormInstance, FieldRule, RadioGroup, Radio } from 'vant'
 import { fullloading } from '@/utils/vant'
-import { formatDecimal } from '@/filters'
 import AppModal from '@/components/base/modal/index.vue'
 import { marketOrderDeliveryApply } from '@/services/api/trade'
 import { getGoodsUnitName } from '@/constants/unit'
@@ -71,7 +70,7 @@ const qtyStepList = computed(() => {
 // 可用重量
 const enableqty = computed(() => {
     const { tHDetailEx, agreeUnit } = props.selectedRow
-    return (tHDetailEx.holderPrice - tHDetailEx.freezeQty) * agreeUnit
+    return (tHDetailEx.holderQty - tHDetailEx.freezeQty) * agreeUnit
 })
 
 // 表单验证规则
@@ -118,7 +117,7 @@ const closed = (isRefresh = false) => {
 }
 
 onMounted(() => {
-    orderQty.value = (props.selectedRow.tHDetailEx.holderQty - props.selectedRow.tHDetailEx.freezeQty) * props.selectedRow.agreeUnit
+    orderQty.value = enableqty.value
 })
 
 // 暴露组件属性给父组件调用

+ 14 - 6
src/packages/sbyj/views/order/list/index.vue

@@ -25,15 +25,14 @@
                             <li>
                                 <span>订单重量</span>
                                 <span>
-                                    {{ item.tHDetailEx.holderQty * item.agreeUnit }}
+                                    {{ item.tHDetailEx.openQty * item.agreeUnit }}
                                     {{ getGoodsUnitName(item.goodsUnitID) }}
                                 </span>
                             </li>
                             <li>
                                 <span>可用重量</span>
                                 <span>
-                                    {{ (item.tHDetailEx.holderQty - item.tHDetailEx.freezeQty) * item.agreeUnit }}
-                                    {{ getGoodsUnitName(item.goodsUnitID) }}
+                                    {{ enableqty(item) + getGoodsUnitName(item.goodsUnitID) }}
                                 </span>
                             </li>
                             <li>
@@ -64,9 +63,12 @@
                     </div>
                     <div class="g-order-list__btnbar">
                         <Button size="small" @click="showComponent('detail', item)" round>详情</Button>
-                        <Button size="small" @click="showComponent('supplement', item)" round>补充</Button>
-                        <Button size="small" @click="showComponent('delivery', item)" round>交收</Button>
-                        <Button size="small" @click="showComponent('closeholder', item)" round>转让</Button>
+                        <Button size="small" @click="showComponent('supplement', item)" round
+                            v-if="item.tHDetailEx.holderQty">补充</Button>
+                        <template v-if="enableqty(item)">
+                            <Button size="small" @click="showComponent('delivery', item)" round>交收</Button>
+                            <Button size="small" @click="showComponent('closeholder', item)" round>转让</Button>
+                        </template>
                     </div>
                 </div>
             </div>
@@ -98,6 +100,12 @@ const selectedRow = shallowRef<Model.SBYJMyOrderRsp>()
 
 const { componentRef, componentId, openComponent, closeComponent } = useComponent()
 
+// 可用重量
+const enableqty = (item: Model.SBYJMyOrderRsp) => {
+    const { tHDetailEx, agreeUnit } = item
+    return (tHDetailEx.holderQty - tHDetailEx.freezeQty) * agreeUnit
+}
+
 const showComponent = (componentName: string, row: Model.SBYJMyOrderRsp) => {
     selectedRow.value = row
     openComponent(componentName)