li.shaoyi 7 bulan lalu
induk
melakukan
9a47cb3ec8
40 mengubah file dengan 296 tambahan dan 198 penghapusan
  1. 2 1
      public/config/appconfig.json
  2. 20 2
      src/packages/pc/components/modules/select-goods/index.vue
  3. 1 1
      src/packages/pc/views/investor/manage/user/components/edit/index.vue
  4. 1 1
      src/packages/pc/views/investor/user/open/components/edit/index.vue
  5. 4 2
      src/packages/pc/views/marketrun/monitor/liquidation/index.vue
  6. 1 1
      src/packages/pc/views/query/internal/accountsumm/index.vue
  7. 3 2
      src/packages/pc/views/query/internal/deliverytrade/components/details/index.vue
  8. 7 4
      src/packages/pc/views/query/internal/deliverytrade/index.vue
  9. 1 1
      src/packages/pc/views/query/internal/goodssumm/index.vue
  10. 1 1
      src/packages/pc/views/query/internal/institutionsumm/index.vue
  11. 6 4
      src/packages/pc/views/query/internal/liquidation/index.vue
  12. 10 5
      src/packages/pc/views/query/internal/offlinedelivery/components/cancel/index.vue
  13. 5 3
      src/packages/pc/views/query/internal/offlinedelivery/components/confirm/index.vue
  14. 3 3
      src/packages/pc/views/query/internal/offlinedelivery/components/details/index.vue
  15. 5 4
      src/packages/pc/views/query/internal/offlinedelivery/index.vue
  16. 5 4
      src/packages/pc/views/query/internal/order/components/details/index.vue
  17. 6 7
      src/packages/pc/views/query/internal/order/index.vue
  18. 6 4
      src/packages/pc/views/query/internal/position/components/details/index.vue
  19. 5 6
      src/packages/pc/views/query/internal/position/index.vue
  20. 5 3
      src/packages/pc/views/query/internal/positionsumm/index.vue
  21. 5 5
      src/packages/pc/views/query/internal/trade/components/details/index.vue
  22. 5 4
      src/packages/pc/views/query/internal/trade/index.vue
  23. 8 5
      src/packages/pc/views/query/internal/tradesumm/index.vue
  24. 10 6
      src/packages/pc/views/query/order/close/index.vue
  25. 6 3
      src/packages/pc/views/query/order/delivery/components/cancel/index.vue
  26. 4 2
      src/packages/pc/views/query/order/delivery/components/confirm/index.vue
  27. 7 3
      src/packages/pc/views/query/order/delivery/components/details/index.vue
  28. 12 7
      src/packages/pc/views/query/order/delivery/index.vue
  29. 5 3
      src/packages/pc/views/query/order/list/index.vue
  30. 13 7
      src/packages/pc/views/query/order/monitor/index.vue
  31. 5 2
      src/packages/pc/views/query/order/report/index.vue
  32. 10 6
      src/packages/pc/views/query/order/terminate/index.vue
  33. 9 10
      src/packages/pc/views/query/warehouse_receipt_order/order/components/details/index.vue
  34. 5 7
      src/packages/pc/views/query/warehouse_receipt_order/order/index.vue
  35. 5 3
      src/packages/pc/views/query/warehouse_receipt_order/trade/index.vue
  36. 2 1
      src/packages/pc/views/report/goods/index.vue
  37. 1 1
      src/packages/pc/views/report/trade/index.vue
  38. 66 62
      src/types/model/common.d.ts
  39. 19 2
      src/types/model/order.d.ts
  40. 2 0
      src/types/model/report.d.ts

+ 2 - 1
public/config/appconfig.json

@@ -5,5 +5,6 @@
   "versionCode": "10000",
   "apiUrl": "http://192.168.30.188:8080",
   "tokenStore": "session",
-  "loginVerifyCodeEnabled": false
+  "loginVerifyCodeEnabled": false,
+  "tradeChannel": "ws"
 }

+ 20 - 2
src/packages/pc/components/modules/select-goods/index.vue

@@ -1,11 +1,11 @@
 <template>
     <app-remote-select v-model="selectedValue" :options="dataList"
-        :option-props="{ label: 'goodsName', value: 'goodsId' }" :remote-method="remoteMethod" @change="onChange"
+        :option-props="{ label: getLocalizedKey(), value: 'goodsId' }" :remote-method="remoteMethod" @change="onChange"
         @reset="onReset">
         <template #default="{ option }">
             <div style="display: flex;justify-content: space-between;">
                 <span>{{ option.goodsCode }}</span>
-                <span>{{ option.goodsName }}</span>
+                <span>{{ option[getLocalizedKey()] }}</span>
             </div>
         </template>
     </app-remote-select>
@@ -13,8 +13,10 @@
 
 <script lang="ts" setup>
 import { computed, toRaw, PropType, nextTick } from 'vue'
+import { Language } from '@/constants/language'
 import { useRequest } from '@/hooks/request'
 import { queryGoodsSelect } from '@/services/api/common'
+import { i18n } from '@/stores'
 import AppRemoteSelect from '@pc/components/base/remote-select/index.vue'
 
 const props = defineProps({
@@ -31,6 +33,22 @@ const selectedValue = computed({
     set: (val) => emit('update:modelValue', val)
 })
 
+// 获取本地化属性键
+const getLocalizedKey: () => keyof Model.GoodsSelectRsp = () => {
+    switch (i18n.global.locale) {
+        case Language.Simplified:
+            return 'goodsName'
+        case Language.Thai:
+            return 'goodsnameth'
+        case Language.Traditional:
+            return 'goodsnametw'
+        case Language.Vietnamese:
+            return 'goodsnamevi'
+        default:
+            return 'goodsnameen'
+    }
+}
+
 const { dataList, loading, run } = useRequest(queryGoodsSelect, {
     manual: true,
     params: props.params,

+ 1 - 1
src/packages/pc/views/investor/manage/user/components/edit/index.vue

@@ -129,7 +129,7 @@
                     <el-form-item :label="t('investor.manage.user.edit.otherUrl')" prop="otherUrl">
                         <div>
                             <app-upload v-model="uploadFiles.otherUrl" :max-size="uploadConfig.maxFileSize" />
-                            <a href="/template/法人授权书模板.zip" target="_blank"
+                            <a href="./template/法人授权书模板.zip" target="_blank"
                                 style="color: royalblue; text-decoration: underline;">下载模板</a>
                         </div>
                     </el-form-item>

+ 1 - 1
src/packages/pc/views/investor/user/open/components/edit/index.vue

@@ -82,7 +82,7 @@
             <el-form-item :label="t('investor.user.open.edit.otherurl')" prop="otherurl" v-if="!isPerson">
                 <div>
                     <app-upload v-model="uploadFiles.otherurl" :max-size="uploadConfig.maxFileSize" />
-                    <a href="/template/法人授权书模板.zip" target="_blank"
+                    <a href="./template/法人授权书模板.zip" target="_blank"
                         style="color: royalblue; text-decoration: underline;">下载模板</a>
                 </div>
             </el-form-item>

+ 4 - 2
src/packages/pc/views/marketrun/monitor/liquidation/index.vue

@@ -23,7 +23,7 @@
 import { shallowRef, onUnmounted } from 'vue'
 import { ElMessage } from 'element-plus'
 import { formatDate } from '@/filters'
-import { getBuyOrSellName } from '@/constants/order'
+import { useEnum } from '@/hooks/enum'
 import { useCountDown } from '@/hooks/countdown'
 import { useRequest } from '@/hooks/request'
 import { marketRunCutposition } from '@/services/api/market'
@@ -31,6 +31,8 @@ import AppTable from '@pc/components/base/table/index.vue'
 import AppPagination from '@pc/components/base/pagination/index.vue'
 import { i18n } from '@/stores'
 
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+
 const { global: { t } } = i18n
 const countDown = useCountDown(10)
 
@@ -50,7 +52,7 @@ const { dataList, total, loading, pageSize, pageIndex, run } = useRequest(market
 const tableColumns = shallowRef<Model.TableColumn[]>([
     { field: 'accountid', label: 'marketrun.monitor.liquidation.accountid' },
     { field: 'goodsname', label: 'marketrun.monitor.liquidation.goodsname' },
-    { field: 'buyorsell', label: 'marketrun.monitor.liquidation.buyorsell', formatValue: (val) => getBuyOrSellName(val) },
+    { field: 'buyorsell', label: 'marketrun.monitor.liquidation.buyorsell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { field: 'cuttime', label: 'marketrun.monitor.liquidation.cuttime', formatValue: (val) => formatDate(val) },
     { field: 'cuttradeqty', label: 'marketrun.monitor.liquidation.cuttradeqty' },
     { field: 'cutorderid', label: 'marketrun.monitor.liquidation.cutorderid' }

+ 1 - 1
src/packages/pc/views/query/internal/accountsumm/index.vue

@@ -80,7 +80,7 @@ const { dataList, total, pageSize, pageIndex, loading, run } = useRequest(accoun
 const tableColumns = ref<Model.TableColumn[]>([
     { field: 'tradeDate', label: 'query.internal.accountsumm.tradeDate' },
     { field: 'userfullname', label: 'query.internal.accountsumm.userfullname' },
-    { field: 'goodsfullname', label: 'query.internal.accountsumm.goodsfullname' },
+    { field: 'goodscode', label: 'query.internal.accountsumm.goodsfullname' },
     { field: 'membername', label: 'query.internal.accountsumm.membername' },
     { field: 'parentname', label: 'query.internal.accountsumm.parentname' },
     { field: 'tradeqtysum', label: 'query.internal.accountsumm.tradeqtysum' },

+ 3 - 2
src/packages/pc/views/query/internal/deliverytrade/components/details/index.vue

@@ -46,7 +46,7 @@
 import { shallowRef, PropType, computed } from 'vue'
 import { ElMessage } from 'element-plus'
 import { formatDate, parseTenThousand, handleNoneValue } from '@/filters'
-import { getBuyOrSellName, BuyOrSell, getFeeAlgorithmName, FeeAlgorithm } from '@/constants/order'
+import { BuyOrSell, getFeeAlgorithmName, FeeAlgorithm } from '@/constants/order'
 import { useEnum } from '@/hooks/enum'
 import { useRequest } from '@/hooks/request'
 import { querySettlementDealDetail } from '@/services/api/order'
@@ -66,6 +66,7 @@ const { global: { t } } = i18n
 const show = shallowRef(true)
 const refresh = shallowRef(false)
 
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
 const deliveryorderstatus1Enum = useEnum('deliveryorderstatus1') // 状态
 
 const { data } = useRequest(querySettlementDealDetail, {
@@ -87,7 +88,7 @@ const detailProps1 = computed(() => {
     const result: CellProp[] = [
         { prop: 'deliveryid', label: 'query.internal.deliverytrade.details.deliveryid' },
         { prop: 'tradedate', label: 'query.internal.deliverytrade.details.tradedate', formatValue: () => formatDate(histradedate || tradedate, 'YYYY-MM-DD') },
-        { prop: 'buyorsell', label: 'query.internal.deliverytrade.details.buyorsell', formatValue: (val) => getBuyOrSellName(val) },
+        { prop: 'buyorsell', label: 'query.internal.deliverytrade.details.buyorsell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
         { prop: 'accountid', label: 'query.internal.deliverytrade.details.accountid', formatValue: (val) => val && buyer },
         { prop: 'matchaccountid', label: 'query.internal.deliverytrade.details.matchaccountid', formatValue: (val) => val && seller },
         { prop: 'deliverytotalamount', label: 'query.internal.deliverytrade.details.deliverytotalamount' },

+ 7 - 4
src/packages/pc/views/query/internal/deliverytrade/index.vue

@@ -12,7 +12,8 @@
                     </el-form-item>
                     <el-form-item :label="t('query.internal.deliverytrade.date')" prop="date" v-if="item.value === 1">
                         <el-date-picker type="daterange" v-model="dateValue" value-format="YYYYMMDD"
-                            :start-placeholder="t('query.internal.deliverytrade.startDate')" :end-placeholder="t('query.internal.deliverytrade.endDate')" />
+                            :start-placeholder="t('query.internal.deliverytrade.startDate')"
+                            :end-placeholder="t('query.internal.deliverytrade.endDate')" />
                     </el-form-item>
                 </template>
             </app-filter>
@@ -40,8 +41,8 @@
 <script lang="ts" setup>
 import { shallowRef } from 'vue'
 import { ElMessage, FormRules } from 'element-plus'
-import { getBuyOrSellList, getBuyOrSellName } from '@/constants/order'
 import { useDataFilter } from '@/hooks/datatable-v2'
+import { useEnum } from '@/hooks/enum'
 import { useRequest } from '@/hooks/request'
 import { useOperation } from '@/hooks/operation'
 import { querySettlementDeal } from '@/services/api/order'
@@ -51,6 +52,8 @@ import AppPagination from '@pc/components/base/pagination/index.vue'
 import AppOperation from '@pc/components/base/operation/index.vue'
 import AppFilter from '@pc/components/base/table-filter-v2/index.vue'
 
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+
 const dateValue = shallowRef<string[] | null>([])
 const { global: { t } } = i18n
 
@@ -72,7 +75,7 @@ const { dataList, total, pageSize, pageIndex, loading, run } = useRequest(queryS
 const tableColumns = shallowRef<Model.TableColumn[]>([
     { field: 'deliveryid', label: 'query.internal.deliverytrade.deliveryid' },
     { field: 'tradedate', label: 'query.internal.deliverytrade.tradedate' },
-    { field: 'buyorsell', label: 'query.internal.deliverytrade.buyorsell', formatValue: (val) => getBuyOrSellName(val) },
+    { field: 'buyorsell', label: 'query.internal.deliverytrade.buyorsell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { field: 'accountid', label: 'query.internal.deliverytrade.accountid' },
     { field: 'matchaccountid', label: 'query.internal.deliverytrade.matchaccountid' },
     { field: 'deliverygoodsname', label: 'query.internal.deliverytrade.deliverygoodsname' },
@@ -125,7 +128,7 @@ const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilte
         {
             field: 'buyorsell',
             label: t('query.internal.deliverytrade.buyorsell'),
-            options: () => getBuyOrSellList()
+            options: () => buyOrSellEnum.getEnumOptions()
         },
         {
             field: 'ishis',

+ 1 - 1
src/packages/pc/views/query/internal/goodssumm/index.vue

@@ -73,7 +73,7 @@ const { dataList, total, pageSize, pageIndex, loading, run } = useRequest(queryG
 
 const tableColumns = shallowRef<Model.TableColumn[]>([
     { field: 'tradeDate', label: 'query.internal.goodssumm.tradeDate' },
-    { field: 'goodsfullname', label: 'query.internal.goodssumm.goodsfullname' },
+    { field: 'goodscode', label: 'query.internal.goodssumm.goodsfullname' },
     { field: 'tradeqtysum', label: 'query.internal.goodssumm.tradeqtysum' },
     { field: 'tradeamountsum', label: 'query.internal.goodssumm.tradeamountsum' },
     { field: 'closeplsum', label: 'query.internal.goodssumm.closeplsum' },

+ 1 - 1
src/packages/pc/views/query/internal/institutionsumm/index.vue

@@ -88,7 +88,7 @@ const tableColumns = shallowRef<Model.TableColumn[]>([
     { field: 'userid', label: 'query.internal.institutionsumm.userid' },
     { field: 'accountname', label: 'query.internal.institutionsumm.accountname' },
     { field: 'goodscode', label: 'query.internal.institutionsumm.goodscode' },
-    { field: 'goodsname', label: 'query.internal.institutionsumm.goodsname' },
+    //{ field: 'goodsname', label: 'query.internal.institutionsumm.goodsname' },
     { field: 'tradeqtysum', label: 'query.internal.institutionsumm.tradeqtysum' },
     { field: 'tradeamountsum', label: 'query.internal.institutionsumm.tradeamountsum' },
     { field: 'closeplsum', label: 'query.internal.institutionsumm.closeplsum' },

+ 6 - 4
src/packages/pc/views/query/internal/liquidation/index.vue

@@ -35,8 +35,8 @@
 <script lang="ts" setup>
 import { ref } from 'vue'
 import { ElMessage } from 'element-plus'
-import { getBuyOrSellList } from '@/constants/order'
 import { useDataFilter } from '@/hooks/datatable-v2'
+import { useEnum } from '@/hooks/enum'
 import { useRequest } from '@/hooks/request'
 import { useMarket } from '@/hooks/market'
 import { useOperation } from '@/hooks/operation'
@@ -48,6 +48,8 @@ import AppOperation from '@pc/components/base/operation/index.vue'
 import AppFilter from '@pc/components/base/table-filter-v2/index.vue'
 import AppSelectGoods from '@pc/components/modules/select-goods/index.vue'
 
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+
 const { getMarketOptions } = useMarket()
 const { global: { t } } = i18n
 const goodsRef = ref() // 商品组件实例
@@ -71,8 +73,8 @@ const { dataList, total, pageSize, pageIndex, loading, run } = useRequest(queryC
 const tableColumns = ref<Model.TableColumn[]>([
     { field: 'orderId', label: 'query.internal.liquidation.orderId' },
     { field: 'accountNameId', label: 'query.internal.liquidation.accountNameId' },
-    { field: 'goodsCodeName', label: 'query.internal.liquidation.goodsCodeName' },
-    { field: 'buyOrSell', label: 'query.internal.liquidation.buyOrSell' },
+    { field: 'goodscode', label: 'query.internal.liquidation.goodsCodeName' },
+    { field: 'buyOrSell', label: 'query.internal.liquidation.buyOrSell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { field: 'orderPrice', label: 'query.internal.liquidation.orderPrice' },
     { field: 'orderQty', label: 'query.internal.liquidation.orderQty' },
     { field: 'orderAccount', label: 'query.internal.liquidation.orderAccount' },
@@ -97,7 +99,7 @@ const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilte
         {
             field: 'buyOrSell',
             label: t('query.internal.liquidation.buyOrSell'),
-            options: () => getBuyOrSellList()
+            options: () => buyOrSellEnum.getEnumOptions()
         },
         {
             field: 'accountId',

+ 10 - 5
src/packages/pc/views/query/internal/offlinedelivery/components/cancel/index.vue

@@ -1,14 +1,17 @@
 <!-- 查询管理-内部订单查询-线下交收单查询-失败 -->
 <template>
-    <app-drawer :title="t('query.internal.offlinedelivery.cancel.title')" width="960" v-model:show="show" :refresh="refresh" :loading="loading">
+    <app-drawer :title="t('query.internal.offlinedelivery.cancel.title')" width="960" v-model:show="show"
+        :refresh="refresh" :loading="loading">
         <app-table-details :data="data" :label-width="160" :cell-props="detailProps1" :column="2">
             <template #auditremark>
-                <el-input ref="inputRef" type="textarea" :rows="3" :placeholder="t('common.require')" v-model="formData.auditremark" />
+                <el-input ref="inputRef" type="textarea" :rows="3" :placeholder="t('common.require')"
+                    v-model="formData.auditremark" />
             </template>
         </app-table-details>
         <template #footer>
             <el-button @click="onCancel(false)">{{ t('operation.close') }}</el-button>
-            <el-button type="primary" @click="onSubmit">{{ t('query.internal.offlinedelivery.cancel.submit') }}</el-button>
+            <el-button type="primary" @click="onSubmit">{{ t('query.internal.offlinedelivery.cancel.submit')
+                }}</el-button>
         </template>
     </app-drawer>
 </template>
@@ -17,7 +20,7 @@
 import { shallowRef, reactive, PropType } from 'vue'
 import { ElMessage, InputInstance } from 'element-plus'
 import { formatDate } from '@/filters'
-import { getBuyOrSellName } from '@/constants/order'
+import { useEnum } from '@/hooks/enum'
 import { useRequest } from '@/hooks/request'
 import { queryOfflineDetail, offlineFail } from '@/services/api/order'
 import { CellProp } from '@pc/components/base/table-details/types'
@@ -32,6 +35,8 @@ const props = defineProps({
     }
 })
 
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+
 const { t } = i18n.global
 const show = shallowRef(true)
 const refresh = shallowRef(false)
@@ -57,7 +62,7 @@ const detailProps1: CellProp[] = [
     { prop: 'deliveryorderid', label: 'query.internal.offlinedelivery.cancel.deliveryorderid' },
     { prop: 'username', label: 'query.internal.offlinedelivery.cancel.username' },
     { prop: 'goodsdisplay', label: 'query.internal.offlinedelivery.cancel.goodsdisplay' },
-    { prop: 'buyorsell', label: 'query.internal.offlinedelivery.cancel.buyorsell', formatValue: (val) => getBuyOrSellName(val) },
+    { prop: 'buyorsell', label: 'query.internal.offlinedelivery.cancel.buyorsell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { prop: 'deliveryqty', label: 'query.internal.offlinedelivery.cancel.deliveryqty' },
     { prop: 'deliveryprice', label: 'query.internal.offlinedelivery.cancel.deliveryprice' },
     { prop: 'deliveryamount', label: 'query.internal.offlinedelivery.cancel.deliveryamount' },

+ 5 - 3
src/packages/pc/views/query/internal/offlinedelivery/components/confirm/index.vue

@@ -6,7 +6,7 @@
         <template #footer>
             <el-button @click="onCancel(false)">{{ t('operation.close') }}</el-button>
             <el-button type="primary" @click="onSubmit">{{ t('query.internal.offlinedelivery.confirm.submit')
-            }}</el-button>
+                }}</el-button>
         </template>
     </app-drawer>
 </template>
@@ -15,7 +15,7 @@
 import { shallowRef, PropType } from 'vue'
 import { ElMessage } from 'element-plus'
 import { formatDate } from '@/filters'
-import { getBuyOrSellName } from '@/constants/order'
+import { useEnum } from '@/hooks/enum'
 import { useRequest } from '@/hooks/request'
 import { queryOfflineDetail, offlineClose } from '@/services/api/order'
 import { CellProp } from '@pc/components/base/table-details/types'
@@ -30,6 +30,8 @@ const props = defineProps({
     }
 })
 
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+
 const { t } = i18n.global
 const show = shallowRef(true)
 const refresh = shallowRef(false)
@@ -48,7 +50,7 @@ const detailProps1: CellProp[] = [
     { prop: 'deliveryorderid', label: 'query.internal.offlinedelivery.confirm.deliveryorderid' },
     { prop: 'username', label: 'query.internal.offlinedelivery.confirm.username' },
     { prop: 'goodsdisplay', label: 'query.internal.offlinedelivery.confirm.goodsdisplay' },
-    { prop: 'buyorsell', label: 'query.internal.offlinedelivery.confirm.buyorsell', formatValue: (val) => getBuyOrSellName(val) },
+    { prop: 'buyorsell', label: 'query.internal.offlinedelivery.confirm.buyorsell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { prop: 'deliveryqty', label: 'query.internal.offlinedelivery.confirm.deliveryqty' },
     { prop: 'deliveryprice', label: 'query.internal.offlinedelivery.confirm.deliveryprice' },
     { prop: 'deliveryamount', label: 'query.internal.offlinedelivery.confirm.deliveryamount' },

+ 3 - 3
src/packages/pc/views/query/internal/offlinedelivery/components/details/index.vue

@@ -29,7 +29,6 @@ import { shallowRef, PropType, computed } from 'vue'
 import { ElMessage } from 'element-plus'
 import { formatDate } from '@/filters'
 import { useEnum } from '@/hooks/enum'
-import { getBuyOrSellName } from '@/constants/order'
 import { useRequest } from '@/hooks/request'
 import { queryOfflineDetail } from '@/services/api/order'
 import { CellProp } from '@pc/components/base/table-details/types'
@@ -45,6 +44,7 @@ const props = defineProps({
 })
 
 const { t } = i18n.global
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
 const goodsunitEnum = useEnum('goodsunit')
 const deliveryOrderStatusEnum = useEnum('deliveryOrderStatus')
 const show = shallowRef(true)
@@ -61,8 +61,8 @@ const { data } = useRequest(queryOfflineDetail, {
 const detailProps = computed<CellProp[]>(() => [
     { prop: 'deliveryorderid', label: 'query.internal.offlinedelivery.details.deliveryorderid' },
     { prop: 'username', label: 'query.internal.offlinedelivery.details.username' },
-    { prop: 'goodsdisplay', label: 'query.internal.offlinedelivery.details.goodsdisplay' },
-    { prop: 'buyorsell', label: 'query.internal.offlinedelivery.details.buyorsell', formatValue: (val) => getBuyOrSellName(val) },
+    { prop: 'goodscode', label: 'query.internal.offlinedelivery.details.goodsdisplay' },
+    { prop: 'buyorsell', label: 'query.internal.offlinedelivery.details.buyorsell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { prop: 'deliveryqty', label: 'query.internal.offlinedelivery.details.deliveryqty' },
     { prop: 'sucdeliveryqty', label: 'query.internal.offlinedelivery.details.sucdeliveryqty' },
     { prop: 'cancledeliveryqty', label: 'query.internal.offlinedelivery.details.cancledeliveryqty' },

+ 5 - 4
src/packages/pc/views/query/internal/offlinedelivery/index.vue

@@ -34,7 +34,7 @@
 <script lang="ts" setup>
 import { shallowRef } from 'vue'
 import { ElMessage } from 'element-plus'
-import { BuyOrSell, getBuyOrSellList, getBuyOrSellName } from '@/constants/order'
+import { BuyOrSell } from '@/constants/order'
 import { useDataFilter } from '@/hooks/datatable-v2'
 import { useEnum } from '@/hooks/enum'
 import { useRequest } from '@/hooks/request'
@@ -47,6 +47,7 @@ import AppOperation from '@pc/components/base/operation/index.vue'
 import AppFilter from '@pc/components/base/table-filter-v2/index.vue'
 
 const { global: { t } } = i18n
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
 const deliveryOrderStatusEnum = useEnum('deliveryOrderStatus') // 单据状态
 
 const { componentMap, componentId, record, openComponent, closeComponent, getActionButtons } = useOperation<Model.OfflineRsp>({
@@ -66,8 +67,8 @@ const { dataList, total, pageSize, pageIndex, loading, run } = useRequest(queryO
 const tableColumns = shallowRef<Model.TableColumn[]>([
     { field: 'deliveryorderid', label: 'query.internal.offlinedelivery.deliveryorderid' },
     { field: 'username', label: 'query.internal.offlinedelivery.username' },
-    { field: 'goodsdisplay', label: 'query.internal.offlinedelivery.goodsdisplay' },
-    { field: 'buyorsell', label: 'query.internal.offlinedelivery.buyorselldisplay', formatValue: (val) => getBuyOrSellName(val) },
+    { field: 'goodscode', label: 'query.internal.offlinedelivery.goodsdisplay' },
+    { field: 'buyorsell', label: 'query.internal.offlinedelivery.buyorselldisplay', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { field: 'deliveryqty', label: 'query.internal.offlinedelivery.deliveryqty' },
     { field: 'sucdeliveryqty', label: 'query.internal.offlinedelivery.sucdeliveryqty' },
     { field: 'deliveryprice', label: 'query.internal.offlinedelivery.deliveryprice' },
@@ -100,7 +101,7 @@ const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilte
         {
             field: 'buyorsell',
             label: t('query.internal.offlinedelivery.buyorsell'),
-            options: () => getBuyOrSellList()
+            options: () => buyOrSellEnum.getEnumOptions()
         }
     ],
     buttons: [

+ 5 - 4
src/packages/pc/views/query/internal/order/components/details/index.vue

@@ -27,7 +27,6 @@
 import { shallowRef, PropType, computed } from 'vue'
 import { ElMessage } from 'element-plus'
 import { formatDate, parsePercent, parseTenThousand } from '@/filters'
-import { getBuyOrSellName } from '@/constants/order'
 import { useEnum } from '@/hooks/enum'
 import { useRequest } from '@/hooks/request'
 import { queryCommissionSheetDetail } from '@/services/api/order'
@@ -60,6 +59,8 @@ const ValidTypeEnum = useEnum('ValidType')
 const Pricemode2Enum = useEnum('Pricemode2')
 // 操作类型
 const orderoperatetypeEnum = useEnum('orderoperatetype')
+// 方向
+const buyOrSellEnum = useEnum('buyOrSell')
 
 const { data } = useRequest(queryCommissionSheetDetail, {
     params: {
@@ -73,7 +74,7 @@ const { data } = useRequest(queryCommissionSheetDetail, {
 })
 
 const detailProps1 = computed<CellProp[]>(() => {
-    const { trademode = 0, accountid, goodscode, cancelorderid, preorderid, relatedid, retcode, tradeqty, openqty, closeqty, cancelqty } = data.value ?? {}
+    const { trademode = 0, accountid, cancelorderid, preorderid, relatedid, retcode, tradeqty, openqty, closeqty, cancelqty } = data.value ?? {}
     const isTradeMode16 = trademode === 16
     const isTradeMode46 = trademode === 46
     const isTradeMode18Or26 = [18, 26].includes(trademode)
@@ -84,11 +85,11 @@ const detailProps1 = computed<CellProp[]>(() => {
         { prop: 'parentusername', label: 'query.internal.order.details.parentusername' },
         { prop: 'memberaccountname', label: 'query.internal.order.details.memberaccountname' },
         { prop: 'marketname', label: 'query.internal.order.details.marketname' },
-        { prop: 'goodsname', label: 'query.internal.order.details.goodsname', formatValue: (val) => val && `${val}/${goodscode}` },
+        { prop: 'goodscode', label: 'query.internal.order.details.goodsname' },
         { prop: 'listingselecttype', label: 'query.internal.order.details.listingselecttype', formatValue: (val) => listingselecttypeEnum.getEnumTypeName(val), show: isTradeMode16 },
         //{ prop: 'delistingtype', label: 'query.internal.order.details.delistingtype', show: isTradeMode16 },
         { prop: 'buildtype', label: 'query.internal.order.details.buildtype', formatValue: (val) => buildtypeEnum.getEnumTypeName(val) },
-        { prop: 'buyorsell', label: 'query.internal.order.details.buyorsell', formatValue: (val) => getBuyOrSellName(val) },
+        { prop: 'buyorsell', label: 'query.internal.order.details.buyorsell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
         { prop: 'orderprice', label: 'query.internal.order.details.orderprice', show: !isTradeMode18Or26 },
         { prop: 'optiontype', label: 'query.internal.order.details.optiontype', show: isTradeMode18Or26 },
         { prop: 'orderprice', label: 'query.internal.order.details.orderprice1', show: isTradeMode18Or26 },

+ 6 - 7
src/packages/pc/views/query/internal/order/index.vue

@@ -55,7 +55,6 @@
 import { ref } from 'vue'
 import { ElMessage, FormRules } from 'element-plus'
 import { formatDate } from '@/filters'
-import { getBuyOrSellName } from '@/constants/order'
 import { useEnum } from '@/hooks/enum'
 import { useMarket } from '@/hooks/market'
 import { useRequest } from '@/hooks/request'
@@ -71,10 +70,10 @@ import AppSelectAccount from '@pc/components/modules/select-account/index.vue'
 import { i18n } from '@/stores'
 
 const { getMarketOptions, getMarketById } = useMarket()
-// 委托类型
-const buildtypeEnum = useEnum('buildtype')
-// 委托状态
-const orderstatusEnum = useEnum('orderstatus')
+
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+const buildtypeEnum = useEnum('buildtype') // 委托类型
+const orderstatusEnum = useEnum('orderstatus') // 委托状态
 
 const { global: { t } } = i18n
 const goodsRef = ref() // 商品组件实例
@@ -98,9 +97,9 @@ const { dataList, total, pageSize, pageIndex, loading, run } = useRequest(queryC
 const tableColumns = ref<Model.TableColumn[]>([
     { field: 'orderId', label: 'query.internal.order.orderId' },
     { field: 'accountNameId', label: 'query.internal.order.accountNameId' },
-    { field: 'goodsCodeName', label: 'query.internal.order.goodsCodeName' },
+    { field: 'goodscode', label: 'query.internal.order.goodsCodeName' },
     { field: 'buildType', label: 'query.internal.order.buildType', formatValue: (val) => buildtypeEnum.getEnumTypeName(val) },
-    { field: 'buyOrSell', label: 'query.internal.order.buyOrSell', formatValue: (val) => getBuyOrSellName(val) },
+    { field: 'buyOrSell', label: 'query.internal.order.buyOrSell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { field: 'orderPrice', label: 'query.internal.order.orderPrice' },
     { field: 'orderQty', label: 'query.internal.order.orderQty' },
     { field: 'tradeQty', label: 'query.internal.order.tradeQty' },

+ 6 - 4
src/packages/pc/views/query/internal/position/components/details/index.vue

@@ -12,7 +12,7 @@
 import { shallowRef, PropType, computed } from 'vue'
 import { ElMessage } from 'element-plus'
 import { formatDate } from '@/filters'
-import { getBuyOrSellName } from '@/constants/order'
+import { useEnum } from '@/hooks/enum'
 import { useRequest } from '@/hooks/request'
 import { queryPositionSheetDetail } from '@/services/api/order'
 import { CellProp } from '@pc/components/base/table-details/types'
@@ -27,6 +27,8 @@ const props = defineProps({
     }
 })
 
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+
 const { global: { t } } = i18n
 const show = shallowRef(true)
 const refresh = shallowRef(false)
@@ -44,7 +46,7 @@ const { data } = useRequest(queryPositionSheetDetail, {
 })
 
 const detailProps = computed<CellProp[]>(() => {
-    const { trademode = 0, expiretype, accountname, goodscode } = data.value ?? {}
+    const { trademode = 0, expiretype, accountname } = data.value ?? {}
     const isTradeMode46 = trademode === 46
     const isTradeMode18Or26 = [18, 26].includes(trademode)
 
@@ -55,9 +57,9 @@ const detailProps = computed<CellProp[]>(() => {
         { prop: 'parentusername', label: 'query.internal.position.details.parentusername' },
         { prop: 'memberusername', label: 'query.internal.position.details.memberusername' },
         { prop: 'marketname', label: 'query.internal.position.details.marketname' },
-        { prop: 'goodsname', label: 'query.internal.position.details.goodsname', formatValue: (val) => val && `${val}/${goodscode}` },
+        { prop: 'goodscode', label: 'query.internal.position.details.goodsname' },
         { prop: 'optiontype', label: 'query.internal.position.details.optiontype', show: isTradeMode18Or26 },
-        { prop: 'buyorsell', label: 'query.internal.position.details.buyorsell', formatValue: (val) => getBuyOrSellName(val) },
+        { prop: 'buyorsell', label: 'query.internal.position.details.buyorsell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
         { prop: 'holderdays', label: 'query.internal.position.details.holderdays', show: !isTradeMode18Or26 },
         { prop: 'tradetime', label: 'query.internal.position.details.tradetime', formatValue: (val) => formatDate(val) },
         { prop: 'openprice', label: 'query.internal.position.details.openprice', show: !isTradeMode18Or26 },

+ 5 - 6
src/packages/pc/views/query/internal/position/index.vue

@@ -61,7 +61,6 @@
 import { ref } from 'vue'
 import { ElMessage, FormRules } from 'element-plus'
 import { formatDate } from '@/filters'
-import { getBuyOrSellList, getBuyOrSellName } from '@/constants/order'
 import { useEnum } from '@/hooks/enum'
 import { useMarket } from '@/hooks/market'
 import { useRequest } from '@/hooks/request'
@@ -78,8 +77,8 @@ import { i18n } from '@/stores'
 
 const { getMarketOptions } = useMarket()
 
-// 机构类型
-const usertype2Enum = useEnum('usertype2')
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+const usertype2Enum = useEnum('usertype2') // 机构类型
 
 const { global: { t } } = i18n
 
@@ -105,8 +104,8 @@ const tableColumns = ref<Model.TableColumn[]>([
     { field: 'tradeid', label: 'query.internal.position.tradeid' },
     { field: 'tradedate', label: 'query.internal.position.tradedate' },
     { field: 'accountNameId', label: 'query.internal.position.accountNameId' },
-    { field: 'goodsCodeName', label: 'query.internal.position.goodsCodeName' },
-    { field: 'buyorsell', label: 'query.internal.position.buyorsell', formatValue: (val) => getBuyOrSellName(val) },
+    { field: 'goodscode', label: 'query.internal.position.goodsCodeName' },
+    { field: 'buyorsell', label: 'query.internal.position.buyorsell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { field: 'openqty', label: 'query.internal.position.openqty' },
     { field: 'openprice', label: 'query.internal.position.openprice' },
     { field: 'tradeamount', label: 'query.internal.position.tradeamount' },
@@ -139,7 +138,7 @@ const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilte
         {
             field: 'buyOrSell',
             label: t('query.internal.position.buyOrSell'),
-            options: () => getBuyOrSellList()
+            options: () => buyOrSellEnum.getEnumOptions()
         },
         {
             field: 'isHis',

+ 5 - 3
src/packages/pc/views/query/internal/positionsumm/index.vue

@@ -36,7 +36,7 @@
 <script lang="ts" setup>
 import { ref } from 'vue'
 import { ElMessage } from 'element-plus'
-import { getBuyOrSellName } from '@/constants/order'
+import { useEnum } from '@/hooks/enum'
 import { useMarket } from '@/hooks/market'
 import { useRequest } from '@/hooks/request'
 import { useDataFilter } from '@/hooks/datatable-v2'
@@ -50,6 +50,8 @@ import AppFilter from '@pc/components/base/table-filter-v2/index.vue'
 import AppSelectGoods from '@pc/components/modules/select-goods/index.vue'
 import AppSelectMember from '@pc/components/modules/select-member/index.vue'
 
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+
 const { getMarketOptions } = useMarket()
 
 const userStore = useUserStore()
@@ -72,7 +74,7 @@ const { dataList, total, pageSize, pageIndex, loading, run } = useRequest(queryP
 })
 
 const tableColumns = ref<Model.TableColumn[]>([
-    { field: 'goodsCodeName', label: 'query.internal.positionsumm.goodsCodeName' },
+    { field: 'goodscode', label: 'query.internal.positionsumm.goodsCodeName' },
     { field: 'accountidname', label: 'query.internal.positionsumm.accountidname' },
     { field: 'loginids', label: 'query.internal.positionsumm.loginids' },
     { field: 'buycurpositionqty', label: 'query.internal.positionsumm.buycurpositionqty' },
@@ -84,7 +86,7 @@ const tableColumns = ref<Model.TableColumn[]>([
     { field: 'sellcuravgprice', label: 'query.internal.positionsumm.sellcuravgprice' },
     { field: 'sellFloatPL', label: 'query.internal.positionsumm.sellFloatPL' },
     { field: 'qty', label: 'query.internal.positionsumm.qty' },
-    { field: 'buyorsell', label: 'query.internal.positionsumm.buyorsell', formatValue: (val) => getBuyOrSellName(val) },
+    { field: 'buyorsell', label: 'query.internal.positionsumm.buyorsell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { field: 'floatPL', label: 'query.internal.positionsumm.floatPL' }
 ])
 

+ 5 - 5
src/packages/pc/views/query/internal/trade/components/details/index.vue

@@ -20,7 +20,6 @@
 import { shallowRef, PropType, computed } from 'vue'
 import { ElMessage } from 'element-plus'
 import { formatDate, parseTenThousand } from '@/filters'
-import { getBuyOrSellName } from '@/constants/order'
 import { useEnum } from '@/hooks/enum'
 import { useRequest } from '@/hooks/request'
 import { queryContractSheetDetailDetail } from '@/services/api/order'
@@ -41,6 +40,7 @@ const { global: { t } } = i18n
 const show = shallowRef(true)
 const refresh = shallowRef(false)
 
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
 const buildtypeEnum = useEnum('buildtype') // 成交单类型
 const tradetypeEnum = useEnum('tradetype') // 成交类别
 
@@ -56,7 +56,7 @@ const { data } = useRequest(queryContractSheetDetailDetail, {
 })
 
 const detailProps1 = computed<CellProp[]>(() => {
-    const { trademode = 0, nameType, membername, accountname, goodscode, tradetype3, matchaccountid } = data.value ?? {}
+    const { trademode = 0, nameType, membername, accountname, tradetype3, matchaccountid } = data.value ?? {}
     const isTradeMode46 = trademode === 46
     const isTradeMode18Or26 = [18, 26].includes(trademode)
 
@@ -68,9 +68,9 @@ const detailProps1 = computed<CellProp[]>(() => {
         { prop: 'parentusername', label: 'query.internal.trade.details.parentusername' },
         { prop: 'membername', label: 'query.internal.trade.details.membername' },
         { prop: 'marketname', label: 'query.internal.trade.details.marketname' },
-        { prop: 'goodsname', label: 'query.internal.trade.details.goodsname', formatValue: (val) => val && `${val}/${goodscode}` },
+        { prop: 'goodscode', label: 'query.internal.trade.details.goodsname' },
         { prop: 'buildtype', label: 'query.internal.trade.details.buildtype', formatValue: (val) => tradetype3 === 1 && val === 3 ? '执行交割' : buildtypeEnum.getEnumTypeName(val) },
-        { prop: 'buyorsell', label: 'query.internal.trade.details.buyorsell', formatValue: (val) => getBuyOrSellName(val) },
+        { prop: 'buyorsell', label: 'query.internal.trade.details.buyorsell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
         { prop: 'tradeprice', label: 'query.internal.trade.details.tradeprice', show: !isTradeMode18Or26 },
         { prop: 'optiontype', label: 'query.internal.trade.details.optiontype', show: isTradeMode18Or26 },
         { prop: 'isconfirmexercise', label: 'query.internal.trade.details.isconfirmexercise', show: isTradeMode18Or26 },
@@ -181,7 +181,7 @@ const tableColumns = computed<Model.TableColumn[]>(() => {
 
     return [
         { field: 'opentradeid', label: 'query.internal.trade.details.opentradeid' },
-        { field: 'buyorsell', label: 'query.internal.trade.details.buyorsell1', formatValue: (val) => getBuyOrSellName(val) },
+        { field: 'buyorsell', label: 'query.internal.trade.details.buyorsell1', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
         { field: 'openprice', label: 'query.internal.trade.details.openprice', show: !isTradeMode18Or26 },
         { field: 'holderprice', label: 'query.internal.trade.details.holderprice', show: !isTradeMode18Or26 },
         { field: 'closeprice', label: 'query.internal.trade.details.closeprice', show: isTradeMode18Or26 },

+ 5 - 4
src/packages/pc/views/query/internal/trade/index.vue

@@ -61,7 +61,6 @@
 import { ref } from 'vue'
 import { ElMessage, FormRules } from 'element-plus'
 import { formatDate } from '@/filters'
-import { getBuyOrSellList, getBuyOrSellName } from '@/constants/order'
 import { useEnum } from '@/hooks/enum'
 import { useMarket } from '@/hooks/market'
 import { useRequest } from '@/hooks/request'
@@ -78,6 +77,8 @@ import AppSelectMember2 from '@pc/components/modules/select-member2/index.vue'
 import { i18n } from '@/stores'
 
 const { getMarketOptions } = useMarket()
+
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
 const buildtypeEnum = useEnum('buildtype') // 单据类型
 const tradetypeEnum = useEnum('tradetype') // 成交类别
 
@@ -107,8 +108,8 @@ const tableColumns = ref<Model.TableColumn[]>([
     { field: 'accountid', label: 'query.internal.trade.accountid' },
     { field: 'currentname', label: 'query.internal.trade.currentname' },
     { field: 'membername', label: 'query.internal.trade.membername' },
-    { field: 'goodsCodeName', label: 'query.internal.trade.goodsCodeName' },
-    { field: 'buyorsell', label: 'query.internal.trade.buyorsell', formatValue: (val) => getBuyOrSellName(val) },
+    { field: 'goodscode', label: 'query.internal.trade.goodsCodeName' },
+    { field: 'buyorsell', label: 'query.internal.trade.buyorsell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { field: 'buildtype', label: 'query.internal.trade.buildtype', formatValue: (val) => buildtypeEnum.getEnumTypeName(val) },
     { field: 'tradetype', label: 'query.internal.trade.tradetype', formatValue: (val) => tradetypeEnum.getEnumTypeName(val) },
     { field: 'tradeprice', label: 'query.internal.trade.tradeprice' },
@@ -136,7 +137,7 @@ const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilte
         {
             field: 'buyOrSell',
             label: t('query.internal.trade.buyOrSell'),
-            options: () => getBuyOrSellList()
+            options: () => buyOrSellEnum.getEnumOptions()
         },
         {
             field: 'isHis',

+ 8 - 5
src/packages/pc/views/query/internal/tradesumm/index.vue

@@ -5,7 +5,8 @@
             <app-filter :option="filterOption">
                 <template #cycletime="{ item }">
                     <el-form-item :label="item.label" prop="cycletime">
-                        <el-date-picker v-model="item.value" value-format="YYYYMMDD" :placeholder="t('common.pleasechoice')" />
+                        <el-date-picker v-model="item.value" value-format="YYYYMMDD"
+                            :placeholder="t('common.pleasechoice')" />
                     </el-form-item>
                 </template>
             </app-filter>
@@ -28,8 +29,8 @@
 <script lang="ts" setup>
 import { ref } from 'vue'
 import { ElMessage } from 'element-plus'
-import { getBuyOrSellList } from '@/constants/order'
 import { useDataFilter } from '@/hooks/datatable-v2'
+import { useEnum } from '@/hooks/enum'
 import { useRequest } from '@/hooks/request'
 import { useOperation } from '@/hooks/operation'
 import { queryTradeSum } from '@/services/api/order'
@@ -39,6 +40,8 @@ import AppPagination from '@pc/components/base/pagination/index.vue'
 import AppOperation from '@pc/components/base/operation/index.vue'
 import AppFilter from '@pc/components/base/table-filter-v2/index.vue'
 
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+
 const { global: { t } } = i18n
 
 const { componentMap, componentId, record, openComponent, closeComponent, getActionButtons } = useOperation<Model.TradeSumRsp>({
@@ -62,8 +65,8 @@ const tableColumns = ref<Model.TableColumn[]>([
     { field: 'currentname', label: 'query.internal.tradesumm.currentname' },
     { field: 'parentusername', label: 'query.internal.tradesumm.parentusername' },
     { field: 'goodscode', label: 'query.internal.tradesumm.goodscode' },
-    { field: 'goodsname', label: 'query.internal.tradesumm.goodsname' },
-    { field: 'buyorselldisplay', label: 'query.internal.tradesumm.buyorselldisplay' },
+    //{ field: 'goodsname', label: 'query.internal.tradesumm.goodsname' },
+    { field: 'buyorsell', label: 'query.internal.tradesumm.buyorselldisplay', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { field: 'tradeqty', label: 'query.internal.tradesumm.tradeqty' },
     { field: 'tradepriceavg', label: 'query.internal.tradesumm.tradepriceavg' },
     { field: 'tradeamount', label: 'query.internal.tradesumm.tradeamount' },
@@ -84,7 +87,7 @@ const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilte
         {
             field: 'buyorsell',
             label: t('query.internal.tradesumm.buyorsell'),
-            options: () => getBuyOrSellList()
+            options: () => buyOrSellEnum.getEnumOptions()
         },
         {
             field: 'loginid',

+ 10 - 6
src/packages/pc/views/query/order/close/index.vue

@@ -12,12 +12,14 @@
                     </el-form-item>
                     <el-form-item :label="t('query.order.close.date')" prop="date" v-if="item.value === 1">
                         <el-date-picker type="daterange" v-model="dateValue" value-format="YYYYMMDD"
-                            :start-placeholder="t('query.order.close.startdate')" :end-placeholder="t('query.order.close.enddate')" />
+                            :start-placeholder="t('query.order.close.startdate')"
+                            :end-placeholder="t('query.order.close.enddate')" />
                     </el-form-item>
                 </template>
                 <template #goodsid="{ item }">
                     <el-form-item :label="item.label" prop="goodsid">
-                        <app-select-goods v-model="item.value" :params="{ trademodels: '52', goodsStatusIds: '3,6,7' }" />
+                        <app-select-goods v-model="item.value"
+                            :params="{ trademodels: '52', goodsStatusIds: '3,6,7' }" />
                     </el-form-item>
                 </template>
                 <template #areauserid="{ item }">
@@ -50,7 +52,7 @@
 <script lang="ts" setup>
 import { shallowRef } from 'vue'
 import { ElMessage, FormRules } from 'element-plus'
-import { getBuyOrSellList } from '@/constants/order'
+import { useEnum } from '@/hooks/enum'
 import { useDataFilter } from '@/hooks/datatable-v2'
 import { useRequest } from '@/hooks/request'
 import { useOperation } from '@/hooks/operation'
@@ -63,6 +65,8 @@ import AppSelectGoods from '@pc/components/modules/select-goods/index.vue'
 import AppSelectMember from '@pc/components/modules/select-member/index.vue'
 import { i18n } from '@/stores'
 
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+
 const dateValue = shallowRef<string[] | null>([])
 const { global: { t } } = i18n
 
@@ -85,8 +89,8 @@ const tableColumns = shallowRef<Model.TableColumn[]>([
     { field: 'opentradeid', label: 'query.order.close.opentradeid' },
     { field: 'loginid', label: 'query.order.close.loginid' },
     { field: 'currentname', label: 'query.order.close.currentname' },
-    { field: 'goodsfullname', label: 'query.order.close.goodsfullname' },
-    { field: 'buyorselldisplay', label: 'query.order.close.buyorselldisplay' },
+    { field: 'goodscode', label: 'query.order.close.goodsfullname' },
+    { field: 'buyorsell', label: 'query.order.close.buyorselldisplay', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { field: 'opennum', label: 'query.order.close.opennum' },
     { field: 'openprice', label: 'query.order.close.openprice' },
     { field: 'closenum', label: 'query.order.close.closenum' },
@@ -120,7 +124,7 @@ const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilte
         {
             field: 'buyorsell',
             label: t('query.order.close.buyorsell'),
-            options: () => getBuyOrSellList()
+            options: () => buyOrSellEnum.getEnumOptions()
         },
         {
             field: 'tradeid',

+ 6 - 3
src/packages/pc/views/query/order/delivery/components/cancel/index.vue

@@ -3,7 +3,8 @@
     <app-drawer :title="t('query.order.delivery.cancel.title')" width="960" v-model:show="show">
         <app-table-details :data="data" :label-width="160" :cell-props="detailProps1" :column="2">
             <template #auditremark>
-                <el-input ref="inputRef" type="textarea" :rows="3" :placeholder="t('common.require')" v-model="formData.auditremark" />
+                <el-input ref="inputRef" type="textarea" :rows="3" :placeholder="t('common.require')"
+                    v-model="formData.auditremark" />
             </template>
         </app-table-details>
         <template #footer>
@@ -17,7 +18,7 @@
 import { shallowRef, reactive, PropType } from 'vue'
 import { ElMessage, InputInstance } from 'element-plus'
 import { formatDate } from '@/filters'
-import { getBuyOrSellName } from '@/constants/order'
+import { useEnum } from '@/hooks/enum'
 import { useRequest } from '@/hooks/request'
 import { queryOfflineDetail, offlineFail } from '@/services/api/order'
 import { CellProp } from '@pc/components/base/table-details/types'
@@ -32,6 +33,8 @@ const props = defineProps({
     }
 })
 
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+
 const { t } = i18n.global
 const show = shallowRef(true)
 const refresh = shallowRef(false)
@@ -57,7 +60,7 @@ const detailProps1: CellProp[] = [
     { prop: 'deliveryorderid', label: 'query.order.delivery.cancel.deliveryorderid' },
     { prop: 'username', label: 'query.order.delivery.cancel.username' },
     { prop: 'goodsdisplay', label: 'query.order.delivery.cancel.goodsdisplay' },
-    { prop: 'buyorsell', label: 'query.order.delivery.cancel.buyorsell', formatValue: (val) => getBuyOrSellName(val) },
+    { prop: 'buyorsell', label: 'query.order.delivery.cancel.buyorsell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { prop: 'deliveryqty', label: 'query.order.delivery.cancel.deliveryqty' },
     { prop: 'deliveryprice', label: 'query.order.delivery.cancel.deliveryprice' },
     { prop: 'deliveryamount', label: 'query.order.delivery.cancel.deliveryamount' },

+ 4 - 2
src/packages/pc/views/query/order/delivery/components/confirm/index.vue

@@ -13,7 +13,7 @@
 import { shallowRef, PropType } from 'vue'
 import { ElMessage } from 'element-plus'
 import { formatDate } from '@/filters'
-import { getBuyOrSellName } from '@/constants/order'
+import { useEnum } from '@/hooks/enum'
 import { useRequest } from '@/hooks/request'
 import { queryOfflineDetail, offlineClose } from '@/services/api/order'
 import { CellProp } from '@pc/components/base/table-details/types'
@@ -28,6 +28,8 @@ const props = defineProps({
     }
 })
 
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+
 const { t } = i18n.global
 const show = shallowRef(true)
 const refresh = shallowRef(false)
@@ -46,7 +48,7 @@ const detailProps1: CellProp[] = [
     { prop: 'deliveryorderid', label: 'query.order.delivery.confirm.deliveryorderid' },
     { prop: 'username', label: 'query.order.delivery.confirm.username' },
     { prop: 'goodsdisplay', label: 'query.order.delivery.confirm.goodsdisplay' },
-    { prop: 'buyorsell', label: 'query.order.delivery.confirm.buyorsell', formatValue: (val) => getBuyOrSellName(val) },
+    { prop: 'buyorsell', label: 'query.order.delivery.confirm.buyorsell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { prop: 'deliveryqty', label: 'query.order.delivery.confirm.deliveryqty' },
     { prop: 'deliveryprice', label: 'query.order.delivery.confirm.deliveryprice' },
     { prop: 'deliveryamount', label: 'query.order.delivery.confirm.deliveryamount' },

+ 7 - 3
src/packages/pc/views/query/order/delivery/components/details/index.vue

@@ -12,6 +12,7 @@
 import { shallowRef, PropType } from 'vue'
 import { ElMessage } from 'element-plus'
 import { formatDate } from '@/filters'
+import { useEnum } from '@/hooks/enum'
 import { useRequest } from '@/hooks/request'
 import { queryDeliveryOrderListDetail } from '@/services/api/order'
 import { CellProp } from '@pc/components/base/table-details/types'
@@ -26,6 +27,9 @@ const props = defineProps({
     }
 })
 
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+const deliveryOrderStatusSellEnum = useEnum('deliveryOrderStatus') // 单据状态
+
 const { t } = i18n.global
 const show = shallowRef(true)
 
@@ -41,8 +45,8 @@ const { data } = useRequest(queryDeliveryOrderListDetail, {
 const detailProps1: CellProp[] = [
     { prop: 'deliveryorderid', label: 'query.order.delivery.details.deliveryorderid' },
     { prop: 'username', label: 'query.order.delivery.details.username' },
-    { prop: 'goodsdisplay', label: 'query.order.delivery.details.goodsdisplay' },
-    { prop: 'buyorselldisplay', label: 'query.order.delivery.details.buyorselldisplay' },
+    { prop: 'goodscode', label: 'query.order.delivery.details.goodsdisplay' },
+    { prop: 'buyorsell', label: 'query.order.delivery.details.buyorselldisplay', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { prop: 'deliveryqty', label: 'query.order.delivery.details.deliveryqty' },
     { prop: 'sucdeliveryqty', label: 'query.order.delivery.details.sucdeliveryqty' },
     { prop: 'cancledeliveryqty', label: 'query.order.delivery.details.cancledeliveryqty' },
@@ -51,7 +55,7 @@ const detailProps1: CellProp[] = [
     { prop: 'matchname', label: 'query.order.delivery.details.matchname' },
     { prop: 'deliveryinfo', label: 'query.order.delivery.details.deliveryinfo' },
     { prop: 'reqtime', label: 'query.order.delivery.details.reqtime', formatValue: (val) => formatDate(val) },
-    { prop: 'orderstatusdisplay', label: 'query.order.delivery.details.orderstatusdisplay' },
+    { prop: 'orderstatus', label: 'query.order.delivery.details.orderstatusdisplay', formatValue: (val) => deliveryOrderStatusSellEnum.getEnumTypeName(val) },
     { prop: 'remark', label: 'query.order.delivery.details.remark' },
     { prop: 'deliverycharge', label: 'query.order.delivery.details.deliverycharge' },
     { prop: 'closetime', label: 'query.order.delivery.details.closetime', formatValue: (val) => formatDate(val) },

+ 12 - 7
src/packages/pc/views/query/order/delivery/index.vue

@@ -5,7 +5,8 @@
             <app-filter :option="filterOption">
                 <template #startdate="{ item }">
                     <el-form-item :label="item.label" prop="startdate">
-                        <el-date-picker v-model="item.value" value-format="YYYYMMDD" :placeholder="t('common.pleasechoice')" />
+                        <el-date-picker v-model="item.value" value-format="YYYYMMDD"
+                            :placeholder="t('common.pleasechoice')" />
                     </el-form-item>
                 </template>
             </app-filter>
@@ -33,8 +34,9 @@
 <script lang="ts" setup>
 import { shallowRef } from 'vue'
 import { ElMessage } from 'element-plus'
-import { getBuyOrSellList, BuyOrSell } from '@/constants/order'
+import { BuyOrSell } from '@/constants/order'
 import { useDataFilter } from '@/hooks/datatable-v2'
+import { useEnum } from '@/hooks/enum'
 import { useRequest } from '@/hooks/request'
 import { useOperation } from '@/hooks/operation'
 import { queryDeliveryOrderList } from '@/services/api/order'
@@ -44,6 +46,9 @@ import AppOperation from '@pc/components/base/operation/index.vue'
 import AppFilter from '@pc/components/base/table-filter-v2/index.vue'
 import { i18n } from '@/stores'
 
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+const deliveryOrderStatusSellEnum = useEnum('deliveryOrderStatus') // 单据状态
+
 const { global: { t } } = i18n
 
 const { componentMap, componentId, record, openComponent, closeComponent, getActionButtons } = useOperation<Model.DeliveryOrderListRsp>({
@@ -63,15 +68,15 @@ const { dataList, total, pageSize, pageIndex, loading, run } = useRequest(queryD
 const tableColumns = shallowRef<Model.TableColumn[]>([
     { field: 'deliveryorderid', label: 'query.order.delivery.deliveryorderid' },
     { field: 'username', label: 'query.order.delivery.username' },
-    { field: 'goodsdisplay', label: 'query.order.delivery.goodsdisplay' },
-    { field: 'buyorselldisplay', label: 'query.order.delivery.buyorselldisplay' },
+    { field: 'goodscode', label: 'query.order.delivery.goodsdisplay' },
+    { field: 'buyorsell', label: 'query.order.delivery.buyorselldisplay', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { field: 'deliveryqty', label: 'query.order.delivery.deliveryqty' },
     { field: 'sucdeliveryqty', label: 'query.order.delivery.sucdeliveryqty' },
     { field: 'deliveryprice', label: 'query.order.delivery.deliveryprice' },
     { field: 'deliveryamount', label: 'query.order.delivery.deliveryamount' },
     { field: 'matchname', label: 'query.order.delivery.matchname' },
     { field: 'reqtime', label: 'query.order.delivery.reqtime' },
-    { field: 'orderstatusdisplay', label: 'query.order.delivery.orderstatusdisplay' },
+    { field: 'orderstatus', label: 'query.order.delivery.orderstatusdisplay', formatValue: (val) => deliveryOrderStatusSellEnum.getEnumTypeName(val) },
     { field: 'operate', label: 'common.operate', width: 180, fixed: 'right' }
 ])
 
@@ -80,7 +85,7 @@ const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilte
         {
             field: 'deliveryorderstatus',
             label: t('query.order.delivery.deliveryorderstatus'),
-            options: () => []
+            options: () => deliveryOrderStatusSellEnum.getEnumOptions()
         },
         {
             field: 'deliverygoodsname',
@@ -97,7 +102,7 @@ const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilte
         {
             field: 'buyorsell',
             label: t('query.order.delivery.buyorsell'),
-            options: () => getBuyOrSellList()
+            options: () => buyOrSellEnum.getEnumOptions()
         },
     ],
     buttons: [

+ 5 - 3
src/packages/pc/views/query/order/list/index.vue

@@ -39,7 +39,7 @@
 import { shallowRef } from 'vue'
 import { ElMessage } from 'element-plus'
 import { formatDate } from '@/filters'
-import { getBuyOrSellList, getBuyOrSellName } from '@/constants/order'
+import { useEnum } from '@/hooks/enum'
 import { useDataFilter } from '@/hooks/datatable-v2'
 import { useRequest } from '@/hooks/request'
 import { useOperation } from '@/hooks/operation'
@@ -51,6 +51,8 @@ import AppFilter from '@pc/components/base/table-filter-v2/index.vue'
 import AppSelectInvestor from '@pc/components/modules/select-investor/index.vue'
 import { i18n } from '@/stores'
 
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+
 const { global: { t } } = i18n
 
 const { componentMap, componentId, record, openComponent, closeComponent, getActionButtons } = useOperation<Model.OrderRsp>({
@@ -72,7 +74,7 @@ const tableColumns = shallowRef<Model.TableColumn[]>([
     { field: 'accountname', label: 'query.order.list.accountname' },
     { field: 'membername', label: 'query.order.list.membername' },
     { field: 'goodscode', label: 'query.order.list.goodscode' },
-    { field: 'buyorsell', label: 'query.order.list.buyorsell', formatValue: (val) => getBuyOrSellName(val) },
+    { field: 'buyorsell', label: 'query.order.list.buyorsell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { field: 'holderprice', label: 'query.order.list.holderprice' },
     { field: 'opennum', label: 'query.order.list.opennum' },
     { field: 'holdernum', label: 'query.order.list.holdernum' },
@@ -98,7 +100,7 @@ const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilte
         {
             field: 'buyorsell',
             label: t('query.order.list.buyorsell'),
-            options: () => getBuyOrSellList()
+            options: () => buyOrSellEnum.getEnumOptions()
         },
         {
             field: 'tradeid',

+ 13 - 7
src/packages/pc/views/query/order/monitor/index.vue

@@ -5,12 +5,16 @@
             <app-filter :option="filterOption">
                 <template #risk="{ item }">
                     <el-form-item :label="item.label" prop="risk">
-                        ><el-input-number v-model="item.value" :laceholder="t('common.pleaseenter')" />{{ t('query.order.monitor.tips1') }} {{ countDown.time }})
+                        ><el-input-number v-model="item.value" :laceholder="t('common.pleaseenter')" />{{
+                            t('query.order.monitor.tips1') }} {{ countDown.time }})
                     </el-form-item>
                 </template>
                 <el-form-item>
-                    <el-button type="primary" @click="countDown.stop" v-if="countDown.status.value">{{ t('query.order.monitor.start') }}</el-button>
-                    <el-button type="primary" @click="startCountDown" v-else>{{ t('query.order.monitor.stop') }}</el-button>
+                    <el-button type="primary" @click="countDown.stop" v-if="countDown.status.value">{{
+                        t('query.order.monitor.start')
+                    }}</el-button>
+                    <el-button type="primary" @click="startCountDown" v-else>{{ t('query.order.monitor.stop')
+                    }}</el-button>
                 </el-form-item>
             </app-filter>
         </template>
@@ -50,7 +54,7 @@
 <script lang="ts" setup>
 import { shallowRef } from 'vue'
 import { ElMessage } from 'element-plus'
-import { getBuyOrSellList } from '@/constants/order'
+import { useEnum } from '@/hooks/enum'
 import { useCountDown } from '@/hooks/countdown'
 import { useDataFilter } from '@/hooks/datatable-v2'
 import { useRequest } from '@/hooks/request'
@@ -60,13 +64,15 @@ import AppPagination from '@pc/components/base/pagination/index.vue'
 import AppFilter from '@pc/components/base/table-filter-v2/index.vue'
 import { i18n } from '@/stores'
 
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+
 const countDown = useCountDown(10)
 const { global: { t } } = i18n
 
 const tableColumns = shallowRef<Model.TableColumn[]>([
     { field: 'userfullname', label: 'query.order.monitor.userfullname' },
-    { field: 'goodsfullname', label: 'query.order.monitor.goodsfullname' },
-    { field: 'buyorselldisplay', label: 'query.order.monitor.buyorselldisplay' },
+    { field: 'goodsCode', label: 'query.order.monitor.goodsfullname' },
+    { field: 'buyorsell', label: 'query.order.monitor.buyorselldisplay', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { field: 'tradetimestr', label: 'query.order.monitor.tradetimestr' },
     { field: 'holderprice', label: 'query.order.monitor.holderprice' },
     { field: 'lastprice', label: 'query.order.monitor.lastprice' },
@@ -93,7 +99,7 @@ const { queryParams, filterOption, getQueryParams } = useDataFilter<Model.Monito
         {
             field: 'buyorsell',
             label: t('query.order.monitor.buyorsell'),
-            options: () => getBuyOrSellList()
+            options: () => buyOrSellEnum.getEnumOptions()
         },
         {
             field: 'userfullname',

+ 5 - 2
src/packages/pc/views/query/order/report/index.vue

@@ -47,6 +47,7 @@
 import { shallowRef } from 'vue'
 import { ElMessage, FormRules } from 'element-plus'
 import { useDataFilter } from '@/hooks/datatable-v2'
+import { useEnum } from '@/hooks/enum'
 import { useRequest } from '@/hooks/request'
 import { useOperation } from '@/hooks/operation'
 import { queryOrderDate } from '@/services/api/order'
@@ -59,6 +60,8 @@ import AppSelectInvestor from '@pc/components/modules/select-investor/index.vue'
 import AppSelectMember from '@pc/components/modules/select-member/index.vue'
 import { i18n } from '@/stores'
 
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+
 const dateValue = shallowRef<string[] | null>([])
 const { global: { t } } = i18n
 
@@ -82,8 +85,8 @@ const tableColumns = shallowRef<Model.TableColumn[]>([
     { field: 'tradeid', label: 'query.order.report.tradeid' },
     { field: 'userfullname', label: 'query.order.report.userfullname' },
     { field: 'areafullname', label: 'query.order.report.areafullname' },
-    { field: 'goodsfullname', label: 'query.order.report.goodsfullname' },
-    { field: 'buyorselldisplay', label: 'query.order.report.buyorselldisplay' },
+    { field: 'goodscode', label: 'query.order.report.goodsfullname' },
+    { field: 'buyorsell', label: 'query.order.report.buyorselldisplay', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { field: 'holderprice', label: 'query.order.report.holderprice' },
     { field: 'opennum', label: 'query.order.report.opennum' },
     { field: 'tradeamount', label: 'query.order.report.tradeamount' },

+ 10 - 6
src/packages/pc/views/query/order/terminate/index.vue

@@ -12,12 +12,14 @@
                     </el-form-item>
                     <el-form-item :label="t('query.order.terminate.date')" prop="date" v-if="item.value === 1">
                         <el-date-picker type="daterange" v-model="dateValue" value-format="YYYYMMDD"
-                            :start-placeholder="t('query.order.terminate.startDate')" :end-placeholder="t('query.order.terminate.endDate')" />
+                            :start-placeholder="t('query.order.terminate.startDate')"
+                            :end-placeholder="t('query.order.terminate.endDate')" />
                     </el-form-item>
                 </template>
                 <template #goodsid="{ item }">
                     <el-form-item :label="item.label" prop="goodsid">
-                        <app-select-goods v-model="item.value" :params="{ trademodels: '52', goodsStatusIds: '3,6,7' }" />
+                        <app-select-goods v-model="item.value"
+                            :params="{ trademodels: '52', goodsStatusIds: '3,6,7' }" />
                     </el-form-item>
                 </template>
             </app-filter>
@@ -45,8 +47,8 @@
 <script lang="ts" setup>
 import { shallowRef } from 'vue'
 import { ElMessage, FormRules } from 'element-plus'
-import { getBuyOrSellList } from '@/constants/order'
 import { useDataFilter } from '@/hooks/datatable-v2'
+import { useEnum } from '@/hooks/enum'
 import { useRequest } from '@/hooks/request'
 import { useOperation } from '@/hooks/operation'
 import { queryForcedOrder } from '@/services/api/order'
@@ -57,6 +59,8 @@ import AppFilter from '@pc/components/base/table-filter-v2/index.vue'
 import AppSelectGoods from '@pc/components/modules/select-goods/index.vue'
 import { i18n } from '@/stores'
 
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+
 const dateValue = shallowRef<string[] | null>([])
 const { global: { t } } = i18n
 
@@ -79,8 +83,8 @@ const tableColumns = shallowRef<Model.TableColumn[]>([
     { field: 'opentradeid', label: 'query.order.terminate.opentradeid' },
     { field: 'userfullname', label: 'query.order.terminate.userfullname' },
     { field: 'memberfullname', label: 'query.order.terminate.memberfullname' },
-    { field: 'goodsfullname', label: 'query.order.terminate.goodsfullname' },
-    { field: 'holderbuyorsell', label: 'query.order.terminate.holderbuyorsell' },
+    { field: 'goodscode', label: 'query.order.terminate.goodsfullname' },
+    { field: 'buyorsell', label: 'query.order.terminate.holderbuyorsell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { field: 'openprice', label: 'query.order.terminate.openprice' },
     { field: 'opennum', label: 'query.order.terminate.opennum' },
     { field: 'opentime', label: 'query.order.terminate.opentime' },
@@ -109,7 +113,7 @@ const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilte
         {
             field: 'holderbuyorsell',
             label: t('query.order.terminate.holderbuyorsell'),
-            options: () => getBuyOrSellList()
+            options: () => buyOrSellEnum.getEnumOptions()
         },
         {
             field: 'opentradeid',

+ 9 - 10
src/packages/pc/views/query/warehouse_receipt_order/order/components/details/index.vue

@@ -1,10 +1,11 @@
 <!-- 查询管理-仓单类订单查询-委托单查询-详情 -->
 <template>
     <app-drawer :title="t('query.warehouse_receipt_order.order.details.title')" width="960" v-model:show="show">
-        <app-table-details :title="t('common.baseinfo')" :data="data?.wrTradeOrderDetail" :label-width="180" :cell-props="detailProps1"
-            :column="2" />
-        <app-table-details :title="t('query.warehouse_receipt_order.order.details.subtitle1')" :data="data?.wrTradeOrderDetail" :label-width="180" :cell-props="detailProps2"
-            :column="2" v-if="data?.wrTradeOrderDetail.wrtradetype === 1">
+        <app-table-details :title="t('common.baseinfo')" :data="data?.wrTradeOrderDetail" :label-width="180"
+            :cell-props="detailProps1" :column="2" />
+        <app-table-details :title="t('query.warehouse_receipt_order.order.details.subtitle1')"
+            :data="data?.wrTradeOrderDetail" :label-width="180" :cell-props="detailProps2" :column="2"
+            v-if="data?.wrTradeOrderDetail.wrtradetype === 1">
             <app-table :data="data.wrTradeGoodsConfigs" :columns="tableColumns"
                 v-if="data.wrTradeOrderDetail.wrpricetype == 2" />
         </app-table-details>
@@ -20,7 +21,6 @@
 import { shallowRef, PropType, computed } from 'vue'
 import { ElMessage } from 'element-plus'
 import { formatDate } from '@/filters'
-import { getBuyOrSellName } from '@/constants/order'
 import { useEnum } from '@/hooks/enum'
 import { useRequest } from '@/hooks/request'
 import { tradeOrderView } from '@/services/api/order'
@@ -41,10 +41,9 @@ const { global: { t } } = i18n
 const show = shallowRef(true)
 const refresh = shallowRef(false)
 
-// 委托类型
-const wrtradetype2Enum = useEnum('wrtradetype2')
-// 状态
-const wrTradeOrderStatusEnum = useEnum('WRTradeOrderStatus')
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+const wrtradetype2Enum = useEnum('wrtradetype2') // 委托类型
+const wrTradeOrderStatusEnum = useEnum('WRTradeOrderStatus') // 状态
 
 const { data } = useRequest(tradeOrderView, {
     params: {
@@ -64,7 +63,7 @@ const detailProps1 = computed<CellProp[]>(() => {
         { prop: 'userName', label: 'query.warehouse_receipt_order.order.details.userName', formatValue: () => userName },
         { prop: 'accountid', label: 'query.warehouse_receipt_order.order.details.accountid' },
         { prop: 'wrtradetype', label: 'query.warehouse_receipt_order.order.details.wrtradetype', formatValue: (val) => wrtradetype2Enum.getEnumTypeName(val) },
-        { prop: 'buyorsell', label: 'query.warehouse_receipt_order.order.details.buyorsell', formatValue: (val) => getBuyOrSellName(val) },
+        { prop: 'buyorsell', label: 'query.warehouse_receipt_order.order.details.buyorsell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
         { prop: 'isspecified', label: 'query.warehouse_receipt_order.order.details.isspecified' },
         { prop: 'wrstandardname', label: 'query.warehouse_receipt_order.order.details.wrstandardname', formatValue: () => wrstandardname },
         { prop: 'wrFactorTypeName', label: 'query.warehouse_receipt_order.order.details.wrFactorTypeName', formatValue: () => wrFactorTypeName },

+ 5 - 7
src/packages/pc/views/query/warehouse_receipt_order/order/index.vue

@@ -29,7 +29,6 @@ import { shallowRef } from 'vue'
 import { ElMessage } from 'element-plus'
 import { formatDate } from '@/filters'
 import { useEnum } from '@/hooks/enum'
-import { getBuyOrSellList, getBuyOrSellName } from '@/constants/order'
 import { useMarket } from '@/hooks/market'
 import { useRequest } from '@/hooks/request'
 import { useDataFilter } from '@/hooks/datatable'
@@ -43,10 +42,9 @@ import { i18n } from '@/stores'
 
 const { global: { t } } = i18n
 
-// 委托类型
-const wrtradetype2Enum = useEnum('wrtradetype2')
-// 状态
-const wrTradeOrderStatusEnum = useEnum('WRTradeOrderStatus')
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+const wrtradetype2Enum = useEnum('wrtradetype2') // 委托类型
+const wrTradeOrderStatusEnum = useEnum('WRTradeOrderStatus') // 状态
 
 const { getMarketOptions } = useMarket()
 const queryParams = shallowRef<Model.WarehouseQueryReq>()
@@ -74,7 +72,7 @@ const tableColumns = shallowRef<Model.TableColumn[]>([
     { field: 'userid', label: 'query.warehouse_receipt_order.order.userid' },
     { field: 'marketname', label: 'query.warehouse_receipt_order.order.marketname' },
     { field: 'wrtradetype', label: 'query.warehouse_receipt_order.order.wrtradetype', formatValue: (val) => wrtradetype2Enum.getEnumTypeName(val) },
-    { field: 'buyorsell', label: 'query.warehouse_receipt_order.order.buyorsell', formatValue: (val) => getBuyOrSellName(val) },
+    { field: 'buyorsell', label: 'query.warehouse_receipt_order.order.buyorsell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { field: 'wrstandard', label: 'query.warehouse_receipt_order.order.wrstandard' },
     { field: 'wrfactortypename', label: 'query.warehouse_receipt_order.order.wrfactortypename' },
     { field: 'orderqtyname', label: 'query.warehouse_receipt_order.order.orderqtyname' },
@@ -101,7 +99,7 @@ filterOptons.selectList = [
     {
         key: 'buyorsell',
         label: t('query.warehouse_receipt_order.order.buyorsell'),
-        options: () => getBuyOrSellList(),
+        options: () => buyOrSellEnum.getEnumOptions(),
     }
 ]
 

+ 5 - 3
src/packages/pc/views/query/warehouse_receipt_order/trade/index.vue

@@ -28,7 +28,7 @@
 import { shallowRef } from 'vue'
 import { ElMessage } from 'element-plus'
 import { formatDate } from '@/filters'
-import { getBuyOrSellList, getBuyOrSellName } from '@/constants/order'
+import { useEnum } from '@/hooks/enum'
 import { useMarket } from '@/hooks/market'
 import { useRequest } from '@/hooks/request'
 import { useDataFilter } from '@/hooks/datatable'
@@ -40,6 +40,8 @@ import AppPagination from '@pc/components/base/pagination/index.vue'
 import AppOperation from '@pc/components/base/operation/index.vue'
 import { i18n } from '@/stores'
 
+const buyOrSellEnum = useEnum('buyOrSell') // 方向
+
 const { global: { t } } = i18n
 
 const { getMarketOptions } = useMarket()
@@ -68,7 +70,7 @@ const tableColumns = shallowRef<Model.TableColumn[]>([
     { field: 'userid', label: 'query.warehouse_receipt_order.trade.userid' },
     { field: 'marketname', label: 'query.warehouse_receipt_order.trade.marketname' },
     { field: 'wrtradetype', label: 'query.warehouse_receipt_order.trade.wrtradetype' },
-    { field: 'buyorsell', label: 'query.warehouse_receipt_order.trade.buyorsell', formatValue: (val) => getBuyOrSellName(val) },
+    { field: 'buyorsell', label: 'query.warehouse_receipt_order.trade.buyorsell', formatValue: (val) => buyOrSellEnum.getEnumTypeName(val) },
     { field: 'wrstandard', label: 'query.warehouse_receipt_order.trade.wrstandard' },
     { field: 'wrfactortypename', label: 'query.warehouse_receipt_order.trade.wrfactortypename' },
     { field: 'orderqtyname', label: 'query.warehouse_receipt_order.trade.orderqtyname' },
@@ -97,7 +99,7 @@ filterOptons.selectList = [
     {
         key: 'buyorsell',
         label: t('query.warehouse_receipt_order.trade.buyorsell'),
-        options: () => getBuyOrSellList(),
+        options: () => buyOrSellEnum.getEnumOptions(),
     }
 ]
 

+ 2 - 1
src/packages/pc/views/report/goods/index.vue

@@ -68,6 +68,7 @@ const dataList = computed<Model.DayGoodsCount[]>(() => {
 
         values.forEach((arr) => {
             const item = {
+                goodscode: '',
                 goodsname: t('report.goods.sum'),
                 holdaccountcount: 0,
                 marketid: 0,
@@ -109,7 +110,7 @@ const dataList = computed<Model.DayGoodsCount[]>(() => {
 
 const tableColumns = shallowRef<Model.TableColumn[]>([
     { field: 'marketname', label: 'report.goods.marketname' },
-    { field: 'goodsname', label: 'report.goods.goodsname' },
+    { field: 'goodscode', label: 'report.goods.goodsname' },
     { field: 'totalorderqty', label: 'report.goods.totalorderqty' },
     { field: 'tradeqty', label: 'report.goods.tradeqty' },
     { field: 'totalholdqty', label: 'report.goods.totalholdqty' },

+ 1 - 1
src/packages/pc/views/report/trade/index.vue

@@ -109,7 +109,7 @@ const dateFormat = computed(() => {
 })
 
 const tableColumns = shallowRef<Model.TableColumn[]>([
-    { field: 'goodsname', label: 'report.trade.goodsname' },
+    { field: 'goodscode', label: 'report.trade.goodsname' },
     { field: 'marketname', label: 'report.trade.marketname' },
     { field: 'tradeqty', label: 'report.trade.tradeqty' },
     { field: 'openqty', label: 'report.trade.openqty' },

+ 66 - 62
src/types/model/common.d.ts

@@ -190,6 +190,10 @@ declare namespace Model {
         goodsCode: string; // 商品代码
         goodsId: number; // id
         goodsName: string; // 商品名称
+        goodsnameen: string;
+        goodsnameth: string;
+        goodsnametw: string;
+        goodsnamevi: string;
     }
 
     /** 资金账户下拉框 平台查所有,经纪会员/子机构查自己及下级,其它角色查自己 请求 */
@@ -376,67 +380,67 @@ declare namespace Model {
 
     interface AccountIdRsp {
         accountflag: number; // 账户标识 - 0 (默认为0, 当上级账户与本账户的关联用户均为自己时更新为1)
-            accountid: number; // 资金账户ID
-            accountname: string; // 账户名称
-            avaiablemoney: number;
-            avaiableoutmoney: number;
-            balance: number; // 期初余额
-            capitalbalance: number; // 本金余额[外部子母账户实际出入金余额]
-            changeflag: number; // 变动标志(当前账户资金有任何变动更新为1系统结算时更新0;供清算时使用) 0:无变动 1:有变动
-            changetime: string; // 账户状态变更时间
-            children: [];
-            closepl: number; // 今日平仓盈亏
-            creditdecrease: number; // 今日授信减少
-            creditincrease: number; // 今日授信增加
-            cur_risk_rate: number;
-            curdebt: number; // 期末欠款
-            currencyid: number; // 货币ID
-            currentbalance: number; // 期末余额
-            floatnetvalue: number;
-            floatpl: number;
-            freezecharge: number; // 手续费冻结
-            freezemargin: number; // 冻结保证金
-            fromaccountid: number; // 所属上级账户
-            inamount: number; // 今日入金金额(包括三方入金)
-            ismain: number; // 是否母账号 0:不是母账户 1:是母账户
-            ismarketaccount: number; // 是否机构接单账号 0:不是 1:是
-            isreckonaccount: number; // 是否机构分润账号 0:不是 1:是
-            modifierid: number; // 修改人
-            modifysrc: number; // 修改来源 - 1:管理端 2:终端
-            modifytime: string; // 修改时间
-            mortgagecredit: number; // 授信金额
-            oridebt: number; // 期初欠款
-            orifreezecharge: number; // 期初手续费冻结
-            orifreezemargin: number; // 期初冻结保证金
-            orimortgagecredit: number; // 期初授信金额
-            oriothercredit: number; // 期初其它授信金额
-            oriotherfreezemargin: number; // 期初其他冻结保证金(出金冻结资金 交割买方冻结 申购冻结 全款买入 商城买入)
-            orioutamountfreeze: number; // 期初出金冻结
-            oriusedmargin: number; // 期初占用保证金
-            othercredit: number; // 其它授信金额
-            othercreditdecrease: number; // 今日其它授信减少
-            othercreditincrease: number; // 今日其它授信增加
-            otherfreezemargin: number; // 其他冻结保证金(交割买方冻结 申购冻结 全款买入 商城买入)
-            otherincome: number; // 其他收入(交割收款 申购收款 全款卖出 商城卖出 买家退货 会员手续费收入)
-            otherpay: number; // 其他支出(交割付款 申购付款 全款买入 商城买入 卖家退货)
-            outamount: number; // 今日出金金额(包括三方出金)
-            outamountfreeze: number; // 出金冻结
-            outthreshold: number; // 出金阈值
-            parentaccountid: number; // 所属根账号
-            password: string; // 资金密码
-            paycharge: number; // 今日手续费支出
-            relatedaccountstatus: number; // 关联用户交易权限状态 - 1:正常(可交易) 2:受限(可平仓,不可建仓) 3:冻结(不可交易)
-            relateduserid: number; // 关联用户
-            serivcegroup: number; // 服务分组
-            signstatus: number; // 签约状态 - 1:未签约 2:签约待审核 3:签约中 4:已签约 5:解约待审核 6:解约中 7:已解约 8:已解绑 9:绑卡中
-            sublevelpath: string; // 账号层级路径(逗号分隔,首尾加逗号)
-            taaccounttype: number; // 账号类型 - 1:外部账号 2:内部账号 3:内部做市自营账号 4:内部做市接单账号
-            thirdinamount: number; // 今日三方入金
-            thirdoutamount: number; // 今日三方出金
-            tradestatus: number; // 交易状态 - 1:正常 2:受限 3:冻结(停用) 4:禁止建仓(人工受限) 5:禁止交易(人工冻结) 6:待激活 7:已删除(注销)
-            tradestatuschangetime: string; // 激活时间
-            transferamount: number; // 今日划转金额(母子账号资金划转,从划入账号为正,从账号划出为负)
-            usedmargin: number; // 占用保证金
-            userid: number; // 用户ID
+        accountid: number; // 资金账户ID
+        accountname: string; // 账户名称
+        avaiablemoney: number;
+        avaiableoutmoney: number;
+        balance: number; // 期初余额
+        capitalbalance: number; // 本金余额[外部子母账户实际出入金余额]
+        changeflag: number; // 变动标志(当前账户资金有任何变动更新为1系统结算时更新0;供清算时使用) 0:无变动 1:有变动
+        changetime: string; // 账户状态变更时间
+        children: [];
+        closepl: number; // 今日平仓盈亏
+        creditdecrease: number; // 今日授信减少
+        creditincrease: number; // 今日授信增加
+        cur_risk_rate: number;
+        curdebt: number; // 期末欠款
+        currencyid: number; // 货币ID
+        currentbalance: number; // 期末余额
+        floatnetvalue: number;
+        floatpl: number;
+        freezecharge: number; // 手续费冻结
+        freezemargin: number; // 冻结保证金
+        fromaccountid: number; // 所属上级账户
+        inamount: number; // 今日入金金额(包括三方入金)
+        ismain: number; // 是否母账号 0:不是母账户 1:是母账户
+        ismarketaccount: number; // 是否机构接单账号 0:不是 1:是
+        isreckonaccount: number; // 是否机构分润账号 0:不是 1:是
+        modifierid: number; // 修改人
+        modifysrc: number; // 修改来源 - 1:管理端 2:终端
+        modifytime: string; // 修改时间
+        mortgagecredit: number; // 授信金额
+        oridebt: number; // 期初欠款
+        orifreezecharge: number; // 期初手续费冻结
+        orifreezemargin: number; // 期初冻结保证金
+        orimortgagecredit: number; // 期初授信金额
+        oriothercredit: number; // 期初其它授信金额
+        oriotherfreezemargin: number; // 期初其他冻结保证金(出金冻结资金 交割买方冻结 申购冻结 全款买入 商城买入)
+        orioutamountfreeze: number; // 期初出金冻结
+        oriusedmargin: number; // 期初占用保证金
+        othercredit: number; // 其它授信金额
+        othercreditdecrease: number; // 今日其它授信减少
+        othercreditincrease: number; // 今日其它授信增加
+        otherfreezemargin: number; // 其他冻结保证金(交割买方冻结 申购冻结 全款买入 商城买入)
+        otherincome: number; // 其他收入(交割收款 申购收款 全款卖出 商城卖出 买家退货 会员手续费收入)
+        otherpay: number; // 其他支出(交割付款 申购付款 全款买入 商城买入 卖家退货)
+        outamount: number; // 今日出金金额(包括三方出金)
+        outamountfreeze: number; // 出金冻结
+        outthreshold: number; // 出金阈值
+        parentaccountid: number; // 所属根账号
+        password: string; // 资金密码
+        paycharge: number; // 今日手续费支出
+        relatedaccountstatus: number; // 关联用户交易权限状态 - 1:正常(可交易) 2:受限(可平仓,不可建仓) 3:冻结(不可交易)
+        relateduserid: number; // 关联用户
+        serivcegroup: number; // 服务分组
+        signstatus: number; // 签约状态 - 1:未签约 2:签约待审核 3:签约中 4:已签约 5:解约待审核 6:解约中 7:已解约 8:已解绑 9:绑卡中
+        sublevelpath: string; // 账号层级路径(逗号分隔,首尾加逗号)
+        taaccounttype: number; // 账号类型 - 1:外部账号 2:内部账号 3:内部做市自营账号 4:内部做市接单账号
+        thirdinamount: number; // 今日三方入金
+        thirdoutamount: number; // 今日三方出金
+        tradestatus: number; // 交易状态 - 1:正常 2:受限 3:冻结(停用) 4:禁止建仓(人工受限) 5:禁止交易(人工冻结) 6:待激活 7:已删除(注销)
+        tradestatuschangetime: string; // 激活时间
+        transferamount: number; // 今日划转金额(母子账号资金划转,从划入账号为正,从账号划出为负)
+        usedmargin: number; // 占用保证金
+        userid: number; // 用户ID
     }
 }

+ 19 - 2
src/types/model/order.d.ts

@@ -29,6 +29,7 @@ declare namespace Model {
         buildType: number; // 单据类型
         buyOrSell: number; // 方向
         goodsCodeName: string; // 商品代码/名称
+        goodscode: string;
         isHis: number; // 查询类型 1历史 0当前
         listType: number; // 挂摘类型 tradeMode == 36
         marketMaxSub: number; // 点差 tradeMode = 46
@@ -161,6 +162,7 @@ declare namespace Model {
         closepl: number; // 转让损益
         currentname: string; // 账户
         goodsCodeName: string; // 商品代码/名称
+        goodscode: string;
         ishis: number; // 查询类型 1历史 0当前
         loginid: string; // 登录账号
         marketmaxsub: number; // 点差 tradeMode = 46
@@ -391,6 +393,7 @@ declare namespace Model {
         chargesum: number
         // 总转让损益
         closeplsum: number
+        goodscode: string;
         // 商品代码名称
         goodsfullname: string
         // 交易日
@@ -457,6 +460,7 @@ declare namespace Model {
         chargesum: number;
         // 总转让损益
         closeplsum: number;
+        goodscode: string;
         // 商品代码名称
         goodsfullname: string;
         // 所属会员
@@ -1265,7 +1269,8 @@ declare namespace Model {
 
     /** 内部订单查询--> 成交汇总查询 --> 获取列表 响应 */
     interface TradeSumRsp {
-        buyorselldisplay: number; // 方向
+        buyorsell: number;
+        buyorselldisplay: string; // 方向
         currentname: string; // 用户名称
         goodscode: string; // 商品代码
         goodsname: string; // 商品名称
@@ -1484,6 +1489,7 @@ declare namespace Model {
         deliveryorderid: string; // 交收单号
         deliveryprice: string; // 交收价格
         deliveryqty: string; // 申请交收数量
+        goodscode: string;
         goodsdisplay: string; // 交收商品
         marketid: number;
         matchname: string; // 对手方
@@ -1511,6 +1517,7 @@ declare namespace Model {
         deliveryorderid: string; // 交收单号
         deliveryprice: number; // 交收价格
         deliveryqty: number; // 申请交收数量
+        goodscode: string;
         goodsdisplay: string; // 交收商品
         goodunitid: number;
         matchname: string; // 对手方
@@ -1570,6 +1577,7 @@ declare namespace Model {
         floatpl: number; // 浮动盈亏
         freezenum: string; // 冻结数量
         freezeqty: number;
+        goodsCode: string;
         goodsfullname: string; // 商品/代码
         holddays: number;
         holderamount: number; // 订单金额
@@ -1728,6 +1736,7 @@ declare namespace Model {
 
     /** 订单管理--> 终止单查询 --> 获取列表 响应 */
     interface TerOrderRsp {
+        buyorsell: number;
         buyorselldisplay: string; // 订单方向
         closeid: string; // 终止单号
         closenum: number; // 终止数量
@@ -1735,6 +1744,7 @@ declare namespace Model {
         closeprice: number; // 终止价格
         closetime: string; // 终止时间
         currentname: string; // 用户
+        goodscode: string;
         goodsfullname: string; // 商品/代码
         loginid: string; // 登录账号
         opennum: number; // 订单数量
@@ -1769,6 +1779,7 @@ declare namespace Model {
         closeprice: number; // 终止价格
         closetime: string; // 终止时间
         depositrate: number; // 风险率
+        goodscode: string;
         goodsfullname: string; // 商品/代码
         holderbuyorsell: string; // 订单方向
         marketid: number;
@@ -1812,6 +1823,7 @@ declare namespace Model {
         deliveryorderid: string; // 交收单号
         deliveryprice: number; // 交收价格
         deliveryqty: number; // 申请交收数量
+        goodscode: string;
         goodsdisplay: string; // 交收商品
         goodunitid: string;
         marketid: number;
@@ -1831,6 +1843,7 @@ declare namespace Model {
 
     /** 订单管理--> 交收单管理 --> 获取详情 响应 */
     interface DeliveryOrderListDetailRsp {
+        buyorsell: number;
         buyorselldisplay: number; // 方向
         cancledeliveryqty: number; // 撤销交收数量
         closetime: string; // 完成时间
@@ -1840,10 +1853,12 @@ declare namespace Model {
         deliveryorderid: string; // 交收单号
         deliveryprice: number; // 交收价格
         deliveryqty: number; // 申请交收数量
+        goodscode: string;
         goodsdisplay: string; // 交收商品
         goodunitid: string;
         matchname: string; // 对手方
-        orderstatusdisplay: number; // 交收状态
+        orderstatus: number;
+        orderstatusdisplay: string; // 交收状态
         remark: string; // 备注
         reqtime: string; // 申请时间
         sucdeliveryqty: number; // 实际交收数量
@@ -1865,12 +1880,14 @@ declare namespace Model {
     /** 订单管理--> 订单日报表 --> 获取列表 */
     interface OrderDateRsp {
         areafullname: string; // 所属会员
+        buyorsell: number;
         buyorselldisplay: string; // 方向
         closepl: number; // 终止盈亏
         deliverynum: string; // 交收数量
         depositratedisplay: number; // 风险率
         floatpl: number; // 浮动盈亏
         freezenum: string; // 冻结数量
+        goodscode: string;
         goodsfullname: string; // 商品/代码
         holderamount: number; // 订单金额
         holdernum: string; // 订单数量

+ 2 - 0
src/types/model/report.d.ts

@@ -188,6 +188,7 @@ declare namespace Model {
     interface TradeRsp {
         closecharge: number  // 转让手续费
         closeqty: number  // 转让数量
+        goodscode: string;
         goodsname: string  // 商品/市场
         marketname: string  // 市场
         opencharge: number  // 订立手续费
@@ -503,6 +504,7 @@ declare namespace Model {
     }
 
     interface DayGoodsCount {
+        goodscode: string;
         // 商品/代码
         goodsname: string
         // 持仓账户数