li.shaoyi 2 yıl önce
ebeveyn
işleme
5bc441e3a2

+ 2 - 2
src/mock/router.ts

@@ -543,7 +543,7 @@ const appmenu = {
                             },
                             {
                                 authType: 3,
-                                title: '付款',
+                                title: '手动',
                                 code: 'order_buy_manual',
                                 component: 'views/order/main/components/manual/index.vue',
                             },
@@ -584,7 +584,7 @@ const appmenu = {
                             },
                             {
                                 authType: 3,
-                                title: '收款',
+                                title: '手动',
                                 code: 'order_sell_manual',
                                 component: 'views/order/main/components/manual/index.vue',
                             },

+ 7 - 3
src/packages/pc/components/modules/auth-operation/index.vue

@@ -10,7 +10,9 @@
                         <el-icon v-if="item.icon">
                             <component :is="item.icon" />
                         </el-icon>
-                        <span>{{ item.title }}</span>
+                        <slot :name="item.code" :label="item.title">
+                            <span>{{ item.title }}</span>
+                        </slot>
                     </li>
                 </ul>
             </div>
@@ -23,7 +25,7 @@
                         <el-dropdown-menu>
                             <el-dropdown-item :class="item.code" v-for="(item, index) in dataList" :key="index"
                                 :icon="item.icon" @click="openComponent(item.code)">
-                                {{ item.title }}
+                                <slot :name="item.code" :label="item.title">{{ item.title }}</slot>
                             </el-dropdown-item>
                         </el-dropdown-menu>
                     </template>
@@ -35,7 +37,9 @@
                             <el-icon v-if="item.icon">
                                 <component :is="item.icon" />
                             </el-icon>
-                            <span v-if="item.title">{{ item.title }}</span>
+                            <slot :name="item.code" :label="item.title" v-if="item.title">
+                                <span>{{ item.title }}</span>
+                            </slot>
                         </el-button>
                     </li>
                 </ul>

+ 10 - 2
src/packages/pc/views/centralize/list/index.vue

@@ -14,6 +14,10 @@
             <template #buymarginvalue="{ value }">
                 {{ parsePercent(value) }}
             </template>
+            <!-- 状态 -->
+            <template #presalestatus="{ value }">
+                {{ getWRPresaleStatusName(value) }}
+            </template>
             <!-- 操作 -->
             <template #operate="{ row }">
                 <app-auth-operation type="dropdown" :menus="['centralize_list_details']" :options="{ selectedRow: row }"
@@ -31,6 +35,7 @@
 import { shallowRef } from 'vue'
 import { ElMessage } from 'element-plus'
 import { parsePercent } from '@/filters'
+import { getWRPresaleStatusName } from '@/constants/presale'
 import { useDataFilter } from '@/hooks/datatable'
 import { useRequest } from '@/hooks/request'
 import { queryGZPreSell } from '@/services/api/presale'
@@ -44,7 +49,7 @@ const { loading, dataList, total, pageIndex, pageSize, run } = useRequest(queryG
     params: {
         pagesize: 20,
         marketid: 62201,
-        presalestatuses: '1,2'
+        presalestatuses: '2'
     },
     onError: (err) => {
         ElMessage.error(err)
@@ -55,9 +60,10 @@ const tableColumns = shallowRef<Ermcp.TableColumn[]>([
     { prop: 'customername', label: '卖方' },
     { prop: 'wrstandardname', label: '商品' },
     { prop: 'presaleqty', label: '集采数量(克拉)' },
-    { prop: 'buyqty', label: '最小 / 最大采购单位(克拉)', width: 190 },
+    { prop: 'buyqty', label: '最小 / 最大单位(克拉)', width: 160 },
     { prop: 'minsuccessqty', label: '最低成团量(克拉)', width: 140 },
     { prop: 'buymarginvalue', label: '采购保证金(%)' },
+    { prop: 'presalestatus', label: '状态' },
     { prop: 'startdate', label: '开始日期' },
     { prop: 'enddate', label: '结束日期' },
     { prop: 'tradeqty', label: '已认购数量(克拉)', width: 140 },
@@ -68,6 +74,7 @@ filterOptons.selectList = [
     {
         label: '状态',
         key: 'presalestatuses',
+        selectedValue: '2',
         options: [
             { label: '未开始', value: '1' },
             { label: '进行中', value: '2' },
@@ -88,6 +95,7 @@ filterOptons.buttonList = [
 const onSearch = (clear = false) => {
     getQueryParams((qs) => {
         pageIndex.value = 1
+        qs.presalestatuses = qs.presalestatuses ?? '1,2'
         run(qs)
     }, clear)
 }

+ 6 - 0
src/packages/pc/views/centralize/mine/index.vue

@@ -9,6 +9,10 @@
             <template #header>
                 <app-auth-operation :menus="['centralize_mine_add', 'centralize_mine_apply']" @closed="onRefresh" />
             </template>
+            <!-- 状态 -->
+            <template #presalestatus="{ value }">
+                {{ getWRPresaleStatusName(value) }}
+            </template>
             <!-- 操作 -->
             <template #operate="{ row }">
                 <app-auth-operation type="dropdown" :menus="['centralize_mine_details']" :options="{ selectedRow: row }"
@@ -28,6 +32,7 @@ import { ElMessage } from 'element-plus'
 import { useDataFilter } from '@/hooks/datatable'
 import { useRequest } from '@/hooks/request'
 import { queryGZPreSell } from '@/services/api/presale'
+import { getWRPresaleStatusName } from '@/constants/presale'
 import { useLoginStore } from '@/stores'
 import AppTable from '@pc/components/base/table/index.vue'
 import AppPagination from '@pc/components/base/pagination/index.vue'
@@ -55,6 +60,7 @@ const tableColumns = shallowRef<Ermcp.TableColumn[]>([
     { prop: 'enddate', label: '结束日期' },
     { prop: 'tradeqty', label: '已采购数量(克拉)', width: 140 },
     { prop: 'createtime', label: '申请时间' },
+    { prop: 'presalestatus', label: '状态' },
     { prop: 'operate', label: '操作', fixed: 'right' },
 ])
 

+ 1 - 6
src/packages/pc/views/mine/statement/index.vue

@@ -20,10 +20,6 @@
             <template #createtime="{ value }">
                 {{ formatDate(value) }}
             </template>
-            <!-- 操作类型 -->
-            <template #businesscode="{ value }">
-                {{ getAccountBusinessCodeName(value) }}
-            </template>
             <template #footer>
                 <app-pagination :total="total" v-model:page-size="pageSize" v-model:page-index="pageIndex"
                     @change="onRefresh" />
@@ -38,7 +34,6 @@ import { ElMessage } from 'element-plus'
 import { formatDate } from '@/filters'
 import { useDataTable } from '@/hooks/datatable'
 import { useDataFilter } from '@/hooks/datatable'
-import { getAccountBusinessCodeName } from '@/constants/bank'
 import { queryAmountLog, queryHisAmountLog } from '@/services/api/bank'
 import AppTable from '@pc/components/base/table/index.vue'
 import AppFilter from '@pc/components/base/table-filter/index.vue'
@@ -52,7 +47,7 @@ const filterDate = shallowRef<string[]>([])
 
 const tableColumns = shallowRef<Ermcp.TableColumn[]>([
     { prop: 'createtime', label: '时间' },
-    { prop: 'businesscode', label: '操作类型' },
+    { prop: 'operatetypename', label: '操作类型' },
     { prop: 'amount', label: '金额' },
 ])
 

+ 32 - 9
src/packages/pc/views/order/main/index.vue

@@ -39,7 +39,14 @@
             <!-- 操作 -->
             <template #operate="{ row }">
                 <app-auth-operation type="dropdown" :menus="handleOperateButtons(row)" :options="{ selectedRow: row }"
-                    @closed="onRefresh" />
+                    @closed="onRefresh">
+                    <template #order_buy_manual>
+                        <span>{{ handleManualName(row.steptypeid) }}</span>
+                    </template>
+                    <template #order_sell_manual>
+                        <span>{{ handleManualName(row.steptypeid) }}</span>
+                    </template>
+                </app-auth-operation>
             </template>
             <template #footer>
                 <app-pagination :total="total" v-model:page-size="pageSize" v-model:page-index="pageIndex"
@@ -99,19 +106,35 @@ const handleOperateButtons = (item: Ermcp.MyPerformancRsp) => {
             return undefined
         }
     }
-    // 违约已完成
-    if (item.performancestatus === 7) {
-        return ['order_buy_details', 'order_sell_details']
+    if (item.performancestatus === 2) {
+        return ['order_buy_details', 'order_buy_contracted', 'order_buy_edit', 'order_sell_details', 'order_sell_contracted', 'order_sell_edit']
+    }
+    return ['order_buy_details', 'order_sell_details']
+}
+
+// 处理手动操作菜单
+const handleManualName = (steptypeid: number) => {
+    switch (steptypeid) {
+        case 1:
+            return '付款'
+        case 2:
+            return '收款'
+        case 4:
+            return '发货'
+        case 5:
+            return '确认收货'
+        case 6:
+            return '发票'
+        case 7:
+            return '确认发票'
+        default:
+            return '手动'
     }
-    return ['order_buy_details', 'order_buy_contracted', 'order_buy_edit', 'order_sell_details', 'order_sell_contracted', 'order_sell_edit']
 }
 
 const onSearch = (clear = false) => {
     if (clear) {
-        filterData.value = {
-            history: false,
-            date: []
-        }
+        filterData.value.date = []
     }
     getQueryParams((qs) => {
         pageIndex.value = 1

+ 10 - 2
src/packages/pc/views/presale/list/index.vue

@@ -14,6 +14,10 @@
             <template #buymarginvalue="{ value }">
                 {{ parsePercent(value) }}
             </template>
+            <!-- 状态 -->
+            <template #presalestatus="{ value }">
+                {{ getWRPresaleStatusName(value) }}
+            </template>
             <!-- 操作 -->
             <template #operate="{ row }">
                 <app-auth-operation type="dropdown" :menus="['presale_list_details']" :options="{ selectedRow: row }"
@@ -31,6 +35,7 @@
 import { shallowRef } from 'vue'
 import { ElMessage } from 'element-plus'
 import { parsePercent } from '@/filters'
+import { getWRPresaleStatusName } from '@/constants/presale'
 import { useDataFilter } from '@/hooks/datatable'
 import { useRequest } from '@/hooks/request'
 import { queryGZPreSell } from '@/services/api/presale'
@@ -44,7 +49,7 @@ const { loading, dataList, total, pageIndex, pageSize, run } = useRequest(queryG
     params: {
         pagesize: 20,
         marketid: 63201,
-        presalestatuses: '1,2'
+        presalestatuses: '2'
     },
     onError: (err) => {
         ElMessage.error(err)
@@ -56,9 +61,10 @@ const tableColumns = shallowRef<Ermcp.TableColumn[]>([
     { prop: 'wrstandardname', label: '商品' },
     { prop: 'presaleqty', label: '预售数量(克拉)' },
     { prop: 'unitprice', label: '预售单价(元/克拉)', width: 140 },
-    { prop: 'buyqty', label: '最小 / 最大采购单位(克拉)', width: 190 },
+    { prop: 'buyqty', label: '最小 / 最大单位(克拉)', width: 160 },
     { prop: 'minsuccessqty', label: '最低成团量(克拉)', width: 140 },
     { prop: 'buymarginvalue', label: '采购保证金(%)' },
+    { prop: 'presalestatus', label: '状态' },
     { prop: 'startdate', label: '开始日期' },
     { prop: 'enddate', label: '结束日期' },
     { prop: 'tradeqty', label: '已认购数量(克拉)', width: 140 },
@@ -69,6 +75,7 @@ filterOptons.selectList = [
     {
         label: '状态',
         key: 'presalestatuses',
+        selectedValue: '2',
         options: [
             { label: '未开始', value: '1' },
             { label: '进行中', value: '2' },
@@ -89,6 +96,7 @@ filterOptons.buttonList = [
 const onSearch = (clear = false) => {
     getQueryParams((qs) => {
         pageIndex.value = 1
+        qs.presalestatuses = qs.presalestatuses ?? '1,2'
         run(qs)
     }, clear)
 }

+ 6 - 0
src/packages/pc/views/presale/mine/index.vue

@@ -9,6 +9,10 @@
             <template #header>
                 <app-auth-operation :menus="['presale_mine_add', 'presale_mine_apply']" @closed="onRefresh" />
             </template>
+            <!-- 状态 -->
+            <template #presalestatus="{ value }">
+                {{ getWRPresaleStatusName(value) }}
+            </template>
             <!-- 操作 -->
             <template #operate="{ row }">
                 <app-auth-operation type="dropdown" :menus="['presale_mine_details']" :options="{ selectedRow: row }"
@@ -28,6 +32,7 @@ import { ElMessage } from 'element-plus'
 import { useDataFilter } from '@/hooks/datatable'
 import { useRequest } from '@/hooks/request'
 import { queryGZPreSell } from '@/services/api/presale'
+import { getWRPresaleStatusName } from '@/constants/presale'
 import { useLoginStore } from '@/stores'
 import AppTable from '@pc/components/base/table/index.vue'
 import AppPagination from '@pc/components/base/pagination/index.vue'
@@ -56,6 +61,7 @@ const tableColumns = shallowRef<Ermcp.TableColumn[]>([
     { prop: 'enddate', label: '结束日期' },
     { prop: 'tradeqty', label: '已认购数量(克拉)', width: 140 },
     { prop: 'createtime', label: '申请时间' },
+    { prop: 'presalestatus', label: '状态' },
     { prop: 'operate', label: '操作', fixed: 'right' },
 ])
 

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

@@ -1,6 +1,6 @@
 <!-- 挂牌大厅-出售大厅 -->
 <template>
-    <app-view>
+    <app-view flex>
         <template #header>
             <app-filter :options="filterOptons" :loading="loading" />
         </template>

+ 2 - 0
src/types/ermcp/bank.d.ts

@@ -210,6 +210,7 @@ declare global {
             // 资金流水号:银行端流水号
             moneyticket: number
             // 资金操作类型 (AccountFundCmdOp)- 101:入金 102:入金手续费 103:出金 104:出金冻结 105:出金解冻 106:出金手续费 107:出金手续费冻结 108:出金手续费解冻 201:交易冻结 202:交易解冻 203:交易占用 204:交易解占用 205:交易手续费冻结 206:交易手续费解冻 207:交易手续费 208:交易货款 209:交易盈亏 301:交割冻结 302:交割解冻 303:交割手续费 304:交割手续费冻结 305:交割手续费解冻 306:交割货款 307:交割税款 401:结算盈亏 402:结算递延费 403:分润收入 404:延期分润 501:授信增加 502:授信减少 503:转积分 504:转入 505:转出 506:转出冻结 507:转出解冻 601:履约金额冻结 602:履约最大冻结 603:履约金额解冻 604:履约扣款 605:履约收款 606:履约违约手续费 607:履约违约收入 608:履约最大扣款 701:供应链金融冻结 702:供应链金融解冻 703:供应链金融最大冻结 704:供应链金融利息 705:供应链金融货款 706:供应链金融押金 707:供应链金融最大扣款 801:仓单贸易冻结 802:仓单贸易解冻 803:仓单贸易首付款 804:仓单贸易最大扣款 901:商城扣款冻结 902:商城扣款解冻 903:商城扣款 904:商城收款 1001:期权冻结 1002:期权解冻 1003:期权权力金 1004:期权手续费冻结 1005:期权手续费解冻 1006:期权手续费 1007:期权盈亏 1101:营销扣款 1102:营销收款
+            operatetypename: string; // 资金操作类型名称(显示)
             operatetype: number
             // 关联单号
             relationorderid: string
@@ -255,6 +256,7 @@ declare global {
             marketname: string; // 市场名称
             moneyticket: number; // 资金流水号:银行端流水号
             operatetype: number; // 资金操作类型 (AccountFundCmdOp)- 101:入金 102:入金手续费 103:出金 104:出金冻结 105:出金解冻 106:出金手续费 107:出金手续费冻结 108:出金手续费解冻 201:交易冻结 202:交易解冻 203:交易占用 204:交易解占用 205:交易手续费冻结 206:交易手续费解冻 207:交易手续费 208:交易货款 209:交易盈亏 301:交割冻结 302:交割解冻 303:交割手续费 304:交割手续费冻结 305:交割手续费解冻 306:交割货款 307:交割税款 401:结算盈亏 402:结算递延费 403:分润收入 404:延期分润 501:授信增加 502:授信减少 503:转积分 504:转入 505:转出 506:转出冻结 507:转出解冻 601:履约金额冻结 602:履约最大冻结 603:履约金额解冻 604:履约扣款 605:履约收款 606:履约违约手续费 607:履约违约收入 608:履约最大扣款 701:供应链金融冻结 702:供应链金融解冻 703:供应链金融最大冻结 704:供应链金融利息 705:供应链金融货款 706:供应链金融押金 707:供应链金融最大扣款 801:仓单贸易冻结 802:仓单贸易解冻 803:仓单贸易首付款 804:仓单贸易最大扣款 901:商城扣款冻结 902:商城扣款解冻 903:商城扣款 904:商城收款 1001:期权冻结 1002:期权解冻 1003:期权权力金 1004:期权手续费冻结 1005:期权手续费解冻 1006:期权手续费 1007:期权盈亏 1101:营销扣款 1102:营销收款
+            operatetypename: string; // 资金操作类型名称(显示)
             relationorderid: string; // 关联单号
             remark: string; // 备注
             trademode: number; // 交易模式