li.shaoyi há 1 ano atrás
pai
commit
52f2e760f9

+ 1 - 1
app/package.json

@@ -1,6 +1,6 @@
 {
   "name": "trading",
-  "version": "1.0.32",
+  "version": "1.0.33",
   "main": "main.js",
   "dependencies": {
     "electron-updater": "^6.1.4",

+ 2 - 2
oem/gstj/config/appconfig.json

@@ -1,8 +1,8 @@
 {
   "appId": "com.muchinfo.gstj",
   "appName": "甘肃碳交",
-  "version": "1.0.28",
-  "versionCode": "100028",
+  "version": "1.0.29",
+  "versionCode": "100029",
   "apiUrl": "http://192.168.31.205:8080/cfg?key=test_205",
   "tradeChannel": "ws",
   "modules": [

+ 2 - 2
oem/qxst/config/appconfig.json

@@ -1,8 +1,8 @@
 {
   "appId": "com.muchinfo.qxst",
   "appName": "贵州茶交数字化中心",
-  "version": "1.0.32",
-  "versionCode": "100032",
+  "version": "1.0.33",
+  "versionCode": "100033",
   "apiUrl": "http://192.168.31.204:8080/cfg?key=test_204",
   "tradeChannel": "ws",
   "modules": [

+ 10 - 4
src/packages/mobile/components/modules/delivery/index.vue

@@ -23,11 +23,11 @@
                     <Cell title="可交收数量" :value="(total * qtyStep) + (deliveryRelation?.enumdicname ?? '')" />
                     <Field name="DeliveryQty" type="digit" :rules="formRules.DeliveryQty" label="交收数量">
                         <template #input>
-                            <Stepper v-model="formData.DeliveryQty" theme="round" button-size="22" :min="0" :max="maxQty"
-                                :step="qtyStep" integer />
+                            <Stepper v-model="formData.DeliveryQty" theme="round" button-size="22" :min="0"
+                                :max="maxQty" :step="qtyStep" integer />
                         </template>
                     </Field>
-                    <Cell title="所需合约量" :value="(formData.DeliveryQty ?? 0) / qtyStep" />
+                    <Cell title="所需合约量" :value="formData.DeliveryQty ? (formData.DeliveryQty / qtyStep) : 0" />
                     <Cell title="升贴水" :value="discount.toFixed(2)" />
                     <slot name="form" :discount="discount" :qty="formData.DeliveryQty ?? 0"></slot>
                 </CellGroup>
@@ -41,7 +41,7 @@
 </template>
 
 <script lang="ts" setup>
-import { reactive, shallowRef, computed, defineAsyncComponent } from 'vue'
+import { reactive, shallowRef, computed, defineAsyncComponent, onMounted } from 'vue'
 import { v4 } from 'uuid'
 import { CellGroup, Cell, Button, FieldRule, Form, Field, Stepper, FormInstance } from 'vant'
 import { handleRequestBigNumber } from '@/filters'
@@ -181,4 +181,10 @@ const closed = (isRefresh = false) => {
 defineExpose({
     closed,
 })
+
+onMounted(() => {
+    if (!quote.value) {
+        console.warn(`商品 ${props.goodsId} 不存在`)
+    }
+})
 </script>

+ 8 - 3
src/packages/mobile/views/home/main/Index.vue

@@ -6,7 +6,11 @@
     <Banner :data-list="topBanners" />
     <PullRefresh class="home-main__container" v-model="refreshing" @refresh="onRefresh">
       <app-block>
-        <Cell title="通知公告" value="更多" :to="{ name: 'notice-list' }" icon="volume" is-link />
+        <Cell value="更多" :to="{ name: 'notice-list' }" icon="volume" is-link>
+          <template #title>
+            <Badge :offset="[10, 8]" :dot="noticeStore.unreadList.length > 0">通知公告</Badge>
+          </template>
+        </Cell>
       </app-block>
       <app-block class="home-main__iconbar" v-if="iconbar.length">
         <template v-for="(list, i) in iconbar" :key="i">
@@ -35,16 +39,17 @@
 
 <script lang="ts" setup>
 import { shallowRef, computed } from 'vue'
-import { Cell, CellGroup, PullRefresh } from 'vant'
+import { Cell, CellGroup, PullRefresh, Badge } from 'vant'
 import { formatDate } from "@/filters"
 import { queryImageConfigs } from "@/services/api/common"
 import { queryNewTitles } from "@/services/api/news"
 import { useMarketSection } from '@/business/market'
-import { useGlobalStore } from '@/stores'
+import { useGlobalStore, useNoticeStore } from '@/stores'
 import Banner from '@mobile/components/base/banner/index.vue'
 import Iconfont from '@/components/base/iconfont/index.vue'
 
 const globalStore = useGlobalStore()
+const noticeStore = useNoticeStore()
 const refreshing = shallowRef(false) // 是否处于加载中状态
 const topBanners = shallowRef<string[]>([]); // 轮播图列表
 const newsList = shallowRef<Model.NewTitlesRsp[]>([]) // 资讯列表

+ 10 - 5
src/packages/mobile/views/notice/list/index.vue

@@ -10,26 +10,31 @@
                 </template>
             </app-navbar>
         </template>
-        <app-pull-refresh ref="pullRefreshRef" v-model:loading="loading" v-model:error="error" v-model:pageIndex="pageIndex"
-            :page-count="pageCount" @refresh="onRefresh">
+        <app-pull-refresh ref="pullRefreshRef" v-model:loading="loading" v-model:error="error"
+            v-model:pageIndex="pageIndex" :page-count="pageCount" @refresh="onRefresh">
             <CellGroup class="article" style="background-color: transparent;padding-top: 10px;" v-if="dataList.length">
                 <template v-for="(item, index) in dataList" :key="index">
                     <Cell :value="formatDate(item.createtime, 'YYYY-MM-DD')" @click="openDetail(item)">
                         <template #title>
                             <TextEllipsis :content="item.title" />
                         </template>
+                        <template #value>
+                            <Badge :offset="[-5, 8]" :dot="!item.readed">
+                                <span style="padding-right: 15px;">{{ formatDate(item.createtime, 'YYYY-MM-DD') }}</span>
+                            </Badge>
+                        </template>
                     </Cell>
                 </template>
             </CellGroup>
         </app-pull-refresh>
-        <component ref="componentRef" v-bind="{ selectedRow }" :is="componentMap.get(componentId)" @closed="closeComponent"
-            v-if="componentId" />
+        <component ref="componentRef" v-bind="{ selectedRow }" :is="componentMap.get(componentId)"
+            @closed="closeComponent" v-if="componentId" />
     </app-view>
 </template>
 
 <script lang="ts" setup>
 import { shallowRef, defineAsyncComponent } from 'vue'
-import { Tab, Tabs, CellGroup, Cell, TextEllipsis } from 'vant'
+import { Tab, Tabs, CellGroup, Cell, TextEllipsis, Badge } from 'vant'
 import { formatDate } from '@/filters'
 import { useComponent } from '@/hooks/component'
 import { useRequest } from '@/hooks/request'

+ 11 - 9
src/packages/pc/views/footer/spot/position/components/pickup/index.vue

@@ -22,8 +22,8 @@
             </el-form-item>
             <el-form-item prop="AppointmentModel" label="提货方式">
                 <el-select effect="dark" v-model="formData.AppointmentModel" :disabled="loading">
-                    <el-option :label="item.label" :value="item.value" v-for="(item, index) in getAppointmentModelOutList()"
-                        :key="index" />
+                    <el-option :label="item.label" :value="item.value"
+                        v-for="(item, index) in getAppointmentModelOutList()" :key="index" />
                 </el-select>
             </el-form-item>
             <el-form-item prop="ContractName" label="联系人">
@@ -47,13 +47,15 @@
             <el-form-item prop="ContactNum" label="联系方式">
                 <el-input placeholder="请输入" v-model="formData.ContactNum" />
             </el-form-item>
-            <el-form-item prop="Region" class="el-form-item--row" label="收货地区">
-                <app-region class="el-form-item--col" v-model:province="formData.ProvinceID" v-model:city="formData.CityID"
-                    v-model:district="formData.DistrictID" />
-            </el-form-item>
-            <el-form-item class="el-form-item--row" prop="Address" label="收货地址">
-                <el-input placeholder="请输入" v-model="formData.Address" />
-            </el-form-item>
+            <template v-if="formData.AppointmentModel === 1">
+                <el-form-item prop="Region" class="el-form-item--row" label="收货地区">
+                    <app-region class="el-form-item--col" v-model:province="formData.ProvinceID"
+                        v-model:city="formData.CityID" v-model:district="formData.DistrictID" />
+                </el-form-item>
+                <el-form-item class="el-form-item--row" prop="Address" label="收货地址">
+                    <el-input placeholder="请输入" v-model="formData.Address" />
+                </el-form-item>
+            </template>
             <el-form-item prop="AppointmentRemark" class="el-form-item--row" label="发票信息">
                 <div class="el-form-item--col">
                     <el-input type="textarea" :rows="2" v-model="formData.AppointmentRemark" />

+ 1 - 1
src/stores/modules/table.ts

@@ -35,7 +35,7 @@ export const useTableColumnsStore = defineStore(() => {
             getColumnsAsync.finally(() => {
                 const table = tables.value.find((e) => e.tableKey === tableKey)
                 if (table) {
-                    const baseColumns: TableColumn[] = table.columns
+                    const baseColumns: TableColumn[] = [...table.columns]
                     if (operateColumn) {
                         baseColumns.push({
                             field: 'operate',