Handy_Cao 7 mēneši atpakaļ
vecāks
revīzija
9f947077b0

+ 12 - 4
public/locales/en-US.json

@@ -202,7 +202,7 @@
             "managerstatus": "Account Status",
             "modifytime": "Creation Time",
             "status": "Status",
-            "loginCode": "Account",
+            "loginCode": "Login Account",
             "edit": {
                 "title": "Edit",
                 "logincode": "Login Account",
@@ -315,8 +315,8 @@
         "refuse": "Review Rejected",
         "agree": "Review Approved",
         "modifypwd": "Modify password",
-        "loginout": "系统登出",
-        "record": "暂存"
+        "loginout": "Login Out",
+        "record": "Record"
     },
     "investor": {
         "custom": {
@@ -497,6 +497,7 @@
             "tradecfg": {
                 "subtitle": "Trading Rules",
                 "subtitle1": "Trading Service Fee",
+                "subtitle2": "交易商交易个性化设置",
                 "usergroupid": "Group",
                 "marketid": "Market",
                 "goodsid": "Product",
@@ -1266,7 +1267,12 @@
                 "rolename": "Role Name",
                 "modifiername": "Creator",
                 "modifytime": "Creation Time",
-                "rolestatus": "Status"
+                "rolestatus": "Status",
+                "users": {
+                    "title": "关联用户",
+                    "rolename": "角色名称",
+                    "username": "用户名称"
+                } 
             },
             "self": {
                 "memberuserid": "Organization Code",
@@ -1630,6 +1636,7 @@
                     "logincode": "Admin Login Account",
                     "username": "Admin Name",
                     "smpassword": "Default Login Password",
+                    "usertype": "User Type",
                     "tips1": "Code or name fuzzy match"
                 },
                 "recover": {
@@ -2231,6 +2238,7 @@
                     "tradeid": "Transaction Number",
                     "matchaccountid": "Counterparty Account",
                     "tradeqty": "Transaction Quantity",
+                    "tradeqty1": "成交数量:",
                     "tradeprice": "Transaction Price",
                     "tradeamount": "Transaction Amount",
                     "tradeprice1": "Exercise Price",

+ 9 - 1
public/locales/th-TH.json

@@ -497,6 +497,7 @@
             "tradecfg": {
                 "subtitle": "กฎการซื้อขาย",
                 "subtitle1": "ค่าธรรมเนียมการซื้อขาย",
+                "subtitle2": "交易商交易个性化设置",
                 "usergroupid": "กลุ่ม",
                 "marketid": "ตลาด",
                 "goodsid": "สินค้า",
@@ -1266,7 +1267,12 @@
                 "rolename": "ชื่อบทบาท",
                 "modifiername": "ผู้สร้าง",
                 "modifytime": "เวลาสร้าง",
-                "rolestatus": "สถานะ"
+                "rolestatus": "สถานะ",
+                "users": {
+                    "title": "关联用户",
+                    "rolename": "角色名称",
+                    "username": "用户名称"
+                } 
             },
             "self": {
                 "memberuserid": "รหัสองค์กร",
@@ -1630,6 +1636,7 @@
                     "logincode": "บัญชีเข้าสู่ระบบของผู้ดูแลระบบ",
                     "username": "ชื่อผู้ดูแลระบบ",
                     "smpassword": "รหัสผ่านเข้าสู่ระบบเริ่มต้น",
+                    "usertype": "机构类型",
                     "tips1": "ค้นหาคร่าวๆด้วยรหัสหรือชื่อ"
                 },
                 "recover": {
@@ -2231,6 +2238,7 @@
                     "tradeid": "หมายเลขธุรกรรม",
                     "matchaccountid": "บัญชีคู่สัญญา",
                     "tradeqty": "ปริมาณการซื้อขาย",
+                    "tradeqty1": "成交数量:",
                     "tradeprice": "ราคาซื้อขาย",
                     "tradeamount": "มูลค่าการซื้อขาย",
                     "tradeprice1": "ราคาใช้สิทธิ",

+ 9 - 1
public/locales/vi-VN.json

@@ -497,6 +497,7 @@
             "tradecfg": {
                 "subtitle": "Quy tắc giao dịch",
                 "subtitle1": "Phí dịch vụ giao dịch",
+                "subtitle2": "交易商交易个性化设置",
                 "usergroupid": "Nhóm",
                 "marketid": "Thị trường",
                 "goodsid": "Hàng hóa",
@@ -1266,7 +1267,12 @@
                 "rolename": "Tên vai trò",
                 "modifiername": "Người tạo",
                 "modifytime": "Thời gian tạo",
-                "rolestatus": "Trạng thái"
+                "rolestatus": "Trạng thái",
+                "users": {
+                    "title": "关联用户",
+                    "rolename": "角色名称",
+                    "username": "用户名称"
+                } 
             },
             "self": {
                 "memberuserid": "Mã tổ chức",
@@ -1630,6 +1636,7 @@
                     "logincode": "Tài khoản đăng nhập quản trị",
                     "username": "Tên quản trị viên",
                     "smpassword": "Mật khẩu mặc định",
+                    "usertype": "机构类型",
                     "tips1": "Tìm kiếm theo mã/tên (tương đối)"
                 },
                 "recover": {
@@ -2231,6 +2238,7 @@
                     "tradeid": "Số lệnh khớp thành công",
                     "matchaccountid": "Tài khoản đối tác",
                     "tradeqty": "Số lượng khớp lệnh",
+                    "tradeqty1": "成交数量:",
                     "tradeprice": "Giá khớp lệnh",
                     "tradeamount": "Thành tiền",
                     "tradeprice1": "Gía thực hiện",

+ 13 - 5
public/locales/zh-CN.json

@@ -497,6 +497,7 @@
             "tradecfg": {
                 "subtitle": "交易规则",
                 "subtitle1": "交易服务费",
+                "subtitle2": "交易商交易个性化设置",
                 "usergroupid": "分组",
                 "marketid": "市场",
                 "goodsid": "商品",
@@ -594,7 +595,7 @@
             },
             "user": {
                 "accountName": "交易商名称",
-                "loginId": "登账号",
+                "loginId": "登账号",
                 "accountId": "资金账号",
                 "memberUserName": "所属会员",
                 "memberUserId": "所属会员\\机构",
@@ -1055,10 +1056,10 @@
                 "nodisplay": "不显示",
                 "cannotbuy": "不能挂买",
                 "cannotsell": "不能挂卖",
-                "userid": "经会员",
+                "userid": "经会员",
                 "marketid": "市场",
                 "goodsid": "商品",
-                "tips1": "请选择经会员",
+                "tips1": "请选择经会员",
                 "tips2": "输入代码或名称"
             },
             "industry": {
@@ -1266,7 +1267,12 @@
                 "rolename": "角色名称",
                 "modifiername": "创建人",
                 "modifytime": "创建时间",
-                "rolestatus": "状态"
+                "rolestatus": "状态",
+                "users": {
+                    "title": "关联用户",
+                    "rolename": "角色名称",
+                    "username": "用户名称"
+                } 
             },
             "self": {
                 "memberuserid": "机构代码",
@@ -1630,6 +1636,7 @@
                     "logincode": "管理员登录账号",
                     "username": "管理员名称",
                     "smpassword": "默认登录密码",
+                    "usertype": "机构类型",
                     "tips1": "代码或名称模糊匹配"
                 },
                 "recover": {
@@ -2208,7 +2215,7 @@
                     "operatetype": "操作类型:",
                     "orderstatus": "委托状态:",
                     "ordertime": "委托时间:",
-                    "clientticket": "客户端流水号",
+                    "clientticket": "客户端流水号",
                     "cancelorderid": "撤单单号:",
                     "preorderid": "关联预埋单号:",
                     "relatedid": "关联单号:",
@@ -2231,6 +2238,7 @@
                     "tradeid": "成交单号",
                     "matchaccountid": "对手账户",
                     "tradeqty": "成交数量",
+                    "tradeqty1": "成交数量:",
                     "tradeprice": "成交价格",
                     "tradeamount": "成交金额",
                     "tradeprice1": "行权价",

+ 9 - 1
public/locales/zh-TW.json

@@ -497,6 +497,7 @@
             "tradecfg": {
                 "subtitle": "交易規則",
                 "subtitle1": "交易服務費",
+                "subtitle2": "交易商交易个性化设置",
                 "usergroupid": "分組",
                 "marketid": "市場",
                 "goodsid": "商品",
@@ -1266,7 +1267,12 @@
                 "rolename": "角色名稱",
                 "modifiername": "創建人",
                 "modifytime": "創建時間",
-                "rolestatus": "狀態"
+                "rolestatus": "狀態",
+                "users": {
+                    "title": "关联用户",
+                    "rolename": "角色名称",
+                    "username": "用户名称"
+                } 
             },
             "self": {
                 "memberuserid": "機構代碼",
@@ -1630,6 +1636,7 @@
                     "logincode": "管理員登錄賬號",
                     "username": "管理員名稱",
                     "smpassword": "默認登錄密碼",
+                    "usertype": "机构类型",
                     "tips1": "代碼或名稱模糊匹配"
                 },
                 "recover": {
@@ -2231,6 +2238,7 @@
                     "tradeid": "成交單號",
                     "matchaccountid": "對手賬戶",
                     "tradeqty": "成交數量",
+                    "tradeqty1": "成交数量:",
                     "tradeprice": "成交價格",
                     "tradeamount": "成交金額",
                     "tradeprice1": "行權價",

+ 1 - 1
src/packages/pc/views/admin/role/components/edit/index.vue

@@ -16,7 +16,7 @@
             </el-form-item>
             <el-form-item :label="t('admin.role.edit.menuids')" prop="menuids">
                 <el-scrollbar max-height="300px" style="width: 100%;">
-                    <el-tree ref="treeRef" :data="routerStore.userRoutes" :props="{ label: 'title' }"
+                    <el-tree ref="treeRef" :data="routerStore.userRoutes" :props="{ label: (data: Model.MenusRsp)=> t('routes.'+data.resourceCode) }"
                         node-key="resourceCode" show-checkbox check-strictly @check="handleCheck" />
                 </el-scrollbar>
             </el-form-item>

+ 1 - 1
src/packages/pc/views/investor/custom/riskcfg/components/edit/index.vue

@@ -5,7 +5,7 @@
         <el-form ref="formRef" label-width="140px" :model="formData" :rules="formRules" :show-message="false">
             <fieldset class="g-fieldset el-form--horizontal">
                 <legend class="g-fieldset__legend">{{ t('investor.custom.riskcfg.edit.subtitle1') }}</legend>
-                <el-form-item label="交易商" prop="userid">
+                <el-form-item :label="t('investor.custom.riskcfg.edit.userid')" prop="userid">
                     <app-select-member ref="useridRef" v-model="formData.userid" :params="{ usertype: '5' }"
                         :placeholder="t('investor.custom.riskcfg.edit.tips1')" :disabled="!!record"
                         @change="onMemberChange" />

+ 1 - 1
src/packages/pc/views/investor/custom/tradecfg/index.vue

@@ -143,7 +143,7 @@ const { run: getNodeList } = useRequest(getInvestorTree, {
                 id: '-1',
                 level: 0,
                 marketid: 0,
-                name: '交易商交易个性化设置',
+                name: t('investor.custom.tradecfg.subtitle2'),
                 pid: '0',
                 usergroupid: 0
             }

+ 2 - 2
src/packages/pc/views/member/institution/goodscfg/components/edit/index.vue

@@ -4,12 +4,12 @@
         <el-form ref="formRef" label-width="140px" :model="formData" :rules="formRules" :show-message="false">
             <fieldset class="g-fieldset el-form--horizontal">
                 <legend class="g-fieldset__legend">机构</legend>
-                <el-form-item label="经会员" prop="userid">
+                <el-form-item label="经会员" prop="userid">
                     <app-select-member v-model="formData.userid" />
                 </el-form-item>
                 <el-form-item label="市场" prop="marketid">
                     <el-select v-model="formData.marketid">
-                        <template v-for="item in getMarketOptions()" :key="item.value">
+                        <template v-for="item in getMarketOptions(99, true)" :key="item.value">
                             <el-option :label="item.label" :value="item.value" />
                         </template>
                     </el-select>

+ 2 - 2
src/packages/pc/views/member/institution/marketing/components/broker/index.vue

@@ -1,6 +1,6 @@
-<!-- 会员机构管理-机构管理-营销中心管理-经会员 -->
+<!-- 会员机构管理-机构管理-营销中心管理-经会员 -->
 <template>
-    <app-drawer title="经会员" width="900" v-model:show="show" :loading="loading" :refresh="refresh">
+    <app-drawer title="经会员" width="900" v-model:show="show" :loading="loading" :refresh="refresh">
     </app-drawer>
 </template>
 

+ 1 - 1
src/packages/pc/views/member/institution/role/components/details/index.vue

@@ -7,7 +7,7 @@
             </template>
             <template #menuids>
                 <el-scrollbar max-height="300px" style="width: 100%; border: 1px solid #f2f2f2;">
-                    <el-tree :data="filteredRoutes" :props="{ label: 'title' }" node-key="resourceCode" />
+                    <el-tree :data="filteredRoutes" :props="{ label: (data: Model.MenusRsp)=> t('routes.'+data.resourceCode) }" node-key="resourceCode" />
                 </el-scrollbar>
             </template>
         </app-table-details>

+ 3 - 3
src/packages/pc/views/member/institution/role/components/users/index.vue

@@ -1,6 +1,6 @@
 <!-- 会员机构管理-机构管理-系统角色管理-用户 -->
 <template>
-    <app-drawer title="关联用户" width="480" v-model:show="show" :loading="loading">
+    <app-drawer :title="t('member.institution.role.users.title')" width="480" v-model:show="show" :loading="loading">
         <app-table :data="dataList" :columns="tableColumns" :highlight-current-row="false"
             :span-method="objectSpanMethod" />
         <template #footer>
@@ -38,8 +38,8 @@ const { dataList, loading } = useRequest(queryRoleUser, {
 })
 
 const tableColumns: Model.TableColumn[] = [
-    { field: 'rolename', label: '角色名称', formatValue: () => props.record.rolename },
-    { field: 'username', label: '用户名称' }
+    { field: 'rolename', label: 'member.institution.role.users.rolename', formatValue: () => props.record.rolename },
+    { field: 'username', label: 'member.institution.role.users.username' }
 ]
 
 // 计算行合并值

+ 1 - 1
src/packages/pc/views/member/subinstitution/manage/components/edit/index.vue

@@ -24,7 +24,7 @@
                     <span v-if="record">{{ formData.userid }}</span>
                     <el-input v-model="formData.userid" maxlength="4" :placeholder="t('common.pleaseenter')" v-else />
                 </el-form-item>
-                <el-form-item label="机构类型" v-if="record">
+                <el-form-item :label="t('member.subinstitution.manage.edit.usertype')" v-if="record">
                     {{ usertype2Enum.getEnumTypeName(record.usertype) }}
                 </el-form-item>
                 <el-form-item :label="t('member.subinstitution.manage.edit.accountname')" prop="accountname">

+ 115 - 1
src/packages/pc/views/performance/buy/index.vue

@@ -1,7 +1,121 @@
 <!-- 履约管理-我的买履约 -->
 <template>
-    <app-view></app-view>
+    <app-view>
+        <template #header>
+            <app-filter :option="filterOption"  :rules="filterRules">
+                <!-- <template #startDate>
+                    <el-form-item :label="t('report.fee.date')" prop="date">
+                        <el-date-picker type="daterange" v-model="dateValue" value-format="YYYYMMDD"
+                            :start-placeholder="t('report.fee.startdate')" :end-placeholder="t('report.fee.enddate')" />
+                    </el-form-item>
+                </template> -->
+            </app-filter>
+        </template>
+        <app-table :data="dataList" :columns="tableColumns" :loading="loading">
+            <template #headerLeft>
+                <app-operation :data-list="getActionButtons(['performance_plan_export'])"
+                    @click="openComponentOnClick" />
+            </template>
+            <template #footer>
+                <app-pagination :total="total" v-model:page-size="pageSize" v-model:page-index="pageIndex"
+                    @change="onSearch" />
+            </template>
+        </app-table>
+        <component :is="componentMap.get(componentId)" v-bind="{ record, queryParams }" @closed="closeComponent"
+            v-if="componentId" />
+    </app-view>
 </template>
 
 <script lang="ts" setup>
+import { ref, shallowRef } from 'vue'
+import { ElMessage, FormRules } from 'element-plus'
+import { useDataFilter } from '@/hooks/datatable-v2'
+import { useRequest } from '@/hooks/request'
+import { useOperation } from '@/hooks/operation'
+import { i18n } from '@/stores'
+import { queryPerformanceList } from '@/services/api/performance'
+import AppTable from '@pc/components/base/table/index.vue'
+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 { global: { t } } = i18n
+const dateValue = shallowRef<string[] | null>([])
+
+const { componentMap, componentId, record, openComponent, closeComponent, getActionButtons } = useOperation<Model.PerformanceReq>({
+    onClose: () => onSearch()
+})
+
+const { dataList, total, pageSize, pageIndex, loading, run } = useRequest(queryPerformanceList, {
+    manual: true,
+    params: {
+        pageNum: 1,
+        pageSize: 20
+    },
+    onError: (err) => {
+        ElMessage.error(err)
+    }
+})
+
+const tableColumns = ref<Model.TableColumn[]>([
+    // { field: 'tradedate', label: '履约计划ID' },
+    // { field: 'areaname', label: '交易日' },
+    // { field: 'areatype', label: '市场ID' },
+    { field: 'relatedorderid', label: '关联单号' },
+    // { field: 'totalcount', label: '金额' },
+    // { field: 'totalfee', label: '买方' },
+    // { field: 'tradedate', label: '付款方式' },
+    // { field: 'areaname', label: '卖方' },
+    // { field: 'areatype', label: '卖方已收金额' },
+    // { field: 'bankname', label: '履约状态' },
+    // { field: 'totalcount', label: '当前步骤' },
+    // { field: 'totalcount', label: '操作' },
+])
+
+// 表单验证规则
+const filterRules: FormRules = {
+    date: [{
+        required: true,
+        validator: () => dateValue.value?.length === 2
+    }]
+}
+
+const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilter<Model.PerformanceReq>({
+    filters: [
+        {
+            field: 'relatedorderid',
+            label: '关联单号',
+            placeholder: t('common.pleaseenter'),
+        }
+    ],
+    buttons: [
+        { label: t('operation.search'), className: 'el-button--primary', onClick: () => onSearch() },
+        { label: t('operation.reset'), className: 'el-button--primary', validateEvent: false, onClick: () => onReset() }
+    ]
+})
+
+// 处理请求参数
+const processRequiredParams = () => {
+    const qs = getQueryParams()
+    // const [startDate, endDate] = dateValue.value || []
+    // qs.startDate = startDate
+    // qs.endDate = endDate
+    return qs
+}
+
+const onSearch = () => {
+    const qs = processRequiredParams()
+    run(qs)
+}
+
+
+const onReset = () => {
+    dateValue.value = []
+    resetFilters()
+}
+
+const openComponentOnClick = (code: string) => {
+    queryParams.value = processRequiredParams()
+    openComponent(code)
+}
 </script>

+ 115 - 1
src/packages/pc/views/performance/plan/index.vue

@@ -1,7 +1,121 @@
 <!-- 履约管理-履约计划管理 -->
 <template>
-    <app-view></app-view>
+    <app-view>
+        <template #header>
+            <app-filter :option="filterOption"  :rules="filterRules">
+                <!-- <template #startDate>
+                    <el-form-item :label="t('report.fee.date')" prop="date">
+                        <el-date-picker type="daterange" v-model="dateValue" value-format="YYYYMMDD"
+                            :start-placeholder="t('report.fee.startdate')" :end-placeholder="t('report.fee.enddate')" />
+                    </el-form-item>
+                </template> -->
+            </app-filter>
+        </template>
+        <app-table :data="dataList" :columns="tableColumns" :loading="loading">
+            <template #headerLeft>
+                <app-operation :data-list="getActionButtons(['performance_plan_export'])"
+                    @click="openComponentOnClick" />
+            </template>
+            <template #footer>
+                <app-pagination :total="total" v-model:page-size="pageSize" v-model:page-index="pageIndex"
+                    @change="onSearch" />
+            </template>
+        </app-table>
+        <component :is="componentMap.get(componentId)" v-bind="{ record, queryParams }" @closed="closeComponent"
+            v-if="componentId" />
+    </app-view>
 </template>
 
 <script lang="ts" setup>
+import { ref, shallowRef } from 'vue'
+import { ElMessage, FormRules } from 'element-plus'
+import { useDataFilter } from '@/hooks/datatable-v2'
+import { useRequest } from '@/hooks/request'
+import { useOperation } from '@/hooks/operation'
+import { i18n } from '@/stores'
+import { queryPerformanceList } from '@/services/api/performance'
+import AppTable from '@pc/components/base/table/index.vue'
+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 { global: { t } } = i18n
+const dateValue = shallowRef<string[] | null>([])
+
+const { componentMap, componentId, record, openComponent, closeComponent, getActionButtons } = useOperation<Model.PerformanceReq>({
+    onClose: () => onSearch()
+})
+
+const { dataList, total, pageSize, pageIndex, loading, run } = useRequest(queryPerformanceList, {
+    manual: true,
+    params: {
+        pageNum: 1,
+        pageSize: 20
+    },
+    onError: (err) => {
+        ElMessage.error(err)
+    }
+})
+
+const tableColumns = ref<Model.TableColumn[]>([
+    // { field: 'tradedate', label: '履约计划ID' },
+    // { field: 'areaname', label: '交易日' },
+    // { field: 'areatype', label: '市场ID' },
+    { field: 'relatedorderid', label: '关联单号' },
+    // { field: 'totalcount', label: '金额' },
+    // { field: 'totalfee', label: '买方' },
+    // { field: 'tradedate', label: '付款方式' },
+    // { field: 'areaname', label: '卖方' },
+    // { field: 'areatype', label: '卖方已收金额' },
+    // { field: 'bankname', label: '履约状态' },
+    // { field: 'totalcount', label: '当前步骤' },
+    // { field: 'totalcount', label: '操作' },
+])
+
+// 表单验证规则
+const filterRules: FormRules = {
+    date: [{
+        required: true,
+        validator: () => dateValue.value?.length === 2
+    }]
+}
+
+const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilter<Model.PerformanceReq>({
+    filters: [
+        {
+            field: 'relatedorderid',
+            label: '关联单号',
+            placeholder: '输入关联单号模糊匹配',
+        }
+    ],
+    buttons: [
+        { label: t('operation.search'), className: 'el-button--primary', onClick: () => onSearch() },
+        { label: t('operation.reset'), className: 'el-button--primary', validateEvent: false, onClick: () => onReset() }
+    ]
+})
+
+// 处理请求参数
+const processRequiredParams = () => {
+    const qs = getQueryParams()
+    // const [startDate, endDate] = dateValue.value || []
+    // qs.startDate = startDate
+    // qs.endDate = endDate
+    return qs
+}
+
+const onSearch = () => {
+    const qs = processRequiredParams()
+    run(qs)
+}
+
+
+const onReset = () => {
+    dateValue.value = []
+    resetFilters()
+}
+
+const openComponentOnClick = (code: string) => {
+    queryParams.value = processRequiredParams()
+    openComponent(code)
+}
 </script>

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

@@ -1,7 +1,121 @@
 <!-- 履约管理-我的卖履约 -->
 <template>
-    <app-view></app-view>
+    <app-view>
+        <template #header>
+            <app-filter :option="filterOption"  :rules="filterRules">
+                <!-- <template #startDate>
+                    <el-form-item :label="t('report.fee.date')" prop="date">
+                        <el-date-picker type="daterange" v-model="dateValue" value-format="YYYYMMDD"
+                            :start-placeholder="t('report.fee.startdate')" :end-placeholder="t('report.fee.enddate')" />
+                    </el-form-item>
+                </template> -->
+            </app-filter>
+        </template>
+        <app-table :data="dataList" :columns="tableColumns" :loading="loading">
+            <template #headerLeft>
+                <app-operation :data-list="getActionButtons(['performance_plan_export'])"
+                    @click="openComponentOnClick" />
+            </template>
+            <template #footer>
+                <app-pagination :total="total" v-model:page-size="pageSize" v-model:page-index="pageIndex"
+                    @change="onSearch" />
+            </template>
+        </app-table>
+        <component :is="componentMap.get(componentId)" v-bind="{ record, queryParams }" @closed="closeComponent"
+            v-if="componentId" />
+    </app-view>
 </template>
 
 <script lang="ts" setup>
+import { ref, shallowRef } from 'vue'
+import { ElMessage, FormRules } from 'element-plus'
+import { useDataFilter } from '@/hooks/datatable-v2'
+import { useRequest } from '@/hooks/request'
+import { useOperation } from '@/hooks/operation'
+import { i18n } from '@/stores'
+import { queryPerformanceList } from '@/services/api/performance'
+import AppTable from '@pc/components/base/table/index.vue'
+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 { global: { t } } = i18n
+const dateValue = shallowRef<string[] | null>([])
+
+const { componentMap, componentId, record, openComponent, closeComponent, getActionButtons } = useOperation<Model.PerformanceReq>({
+    onClose: () => onSearch()
+})
+
+const { dataList, total, pageSize, pageIndex, loading, run } = useRequest(queryPerformanceList, {
+    manual: true,
+    params: {
+        pageNum: 1,
+        pageSize: 20
+    },
+    onError: (err) => {
+        ElMessage.error(err)
+    }
+})
+
+const tableColumns = ref<Model.TableColumn[]>([
+    // { field: 'tradedate', label: '履约计划ID' },
+    // { field: 'areaname', label: '交易日' },
+    // { field: 'areatype', label: '市场ID' },
+    { field: 'relatedorderid', label: '关联单号' },
+    // { field: 'totalcount', label: '金额' },
+    // { field: 'totalfee', label: '买方' },
+    // { field: 'tradedate', label: '付款方式' },
+    // { field: 'areaname', label: '卖方' },
+    // { field: 'areatype', label: '卖方已收金额' },
+    // { field: 'bankname', label: '履约状态' },
+    // { field: 'totalcount', label: '当前步骤' },
+    // { field: 'totalcount', label: '操作' },
+])
+
+// 表单验证规则
+const filterRules: FormRules = {
+    date: [{
+        required: true,
+        validator: () => dateValue.value?.length === 2
+    }]
+}
+
+const { queryParams, filterOption, getQueryParams, resetFilters } = useDataFilter<Model.PerformanceReq>({
+    filters: [
+        {
+            field: 'relatedorderid',
+            label: '关联单号',
+            placeholder: t('common.pleaseenter'),
+        }
+    ],
+    buttons: [
+        { label: t('operation.search'), className: 'el-button--primary', onClick: () => onSearch() },
+        { label: t('operation.reset'), className: 'el-button--primary', validateEvent: false, onClick: () => onReset() }
+    ]
+})
+
+// 处理请求参数
+const processRequiredParams = () => {
+    const qs = getQueryParams()
+    // const [startDate, endDate] = dateValue.value || []
+    // qs.startDate = startDate
+    // qs.endDate = endDate
+    return qs
+}
+
+const onSearch = () => {
+    const qs = processRequiredParams()
+    run(qs)
+}
+
+
+const onReset = () => {
+    dateValue.value = []
+    resetFilters()
+}
+
+const openComponentOnClick = (code: string) => {
+    queryParams.value = processRequiredParams()
+    openComponent(code)
+}
 </script>

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

@@ -94,7 +94,7 @@ const detailProps1 = computed<CellProp[]>(() => {
         { prop: 'orderprice', label: 'query.internal.order.details.orderprice1', show: isTradeMode18Or26 },
         { prop: 'premium', label: 'query.internal.order.details.premium', show: isTradeMode18Or26 },
         { prop: 'orderqty', label: 'query.internal.order.details.orderqty' },
-        { prop: 'tradeqty', label: 'query.internal.order.details.tradeqty', show: !!tradeqty },
+        { prop: 'tradeqty', label: 'query.internal.order.details.tradeqty1', show: !!tradeqty },
         { prop: 'openqty', label: 'query.internal.order.details.openqty', show: !!openqty },
         { prop: 'closeqty', label: 'query.internal.order.details.closeqty', show: !!closeqty },
         { prop: 'cancelqty', label: 'query.internal.order.details.cancelqty', show: !!cancelqty },

+ 2 - 2
src/services/api/member/index.ts

@@ -247,7 +247,7 @@ export function taaccountResetPwd(options: CommonFetchOptions<{ request: Member.
 }
 
 /**
- * 会员机构管理-->机构管理-->机构资料管理-->登账号-->获取列表
+ * 会员机构管理-->机构管理-->机构资料管理-->登账号-->获取列表
  */
 export function queryorgan2User(options: CommonFetchOptions<{ request: Member.Organ2UserReq; response: Member.Organ2UserRsp[]; }>) {
     return httpClient.commonRequest('/organDetail/queryorgan2User', 'get', options)
@@ -268,7 +268,7 @@ export function updateOrgan2User(options: CommonFetchOptions<{ request: Member.U
 }
 
 /**
- * 会员机构管理-->机构管理-->机构资料管理-->登账号-->重置登入密码
+ * 会员机构管理-->机构管理-->机构资料管理-->登账号-->重置登入密码
  */
 export function updateStatus(options: CommonFetchOptions<{ request: Member.UpdateStatusReq; }>) {
     return httpClient.commonRequest('/organDetail/updateStatus', 'get', options)

+ 1 - 1
src/types/model/account.d.ts

@@ -497,7 +497,7 @@ declare namespace Model {
         lastlogintime: string; // 最新登录时间
         logincode: string; // 登录代码
         loginfailnum: number; // 连续登录失败次数(登录成功时清零)
-        loginid: number; // 登账号
+        loginid: number; // 登账号
         loginport: number; // 最新登录端口
         loginstatus: number; // 登录账号状态 1:正常 2:冻结(停用) 3:无效(注销)
         loginusertype: number; // 登录账号类型 - 1:投资者 2:机构交易员

+ 3 - 3
src/types/model/investor.d.ts

@@ -55,7 +55,7 @@ declare namespace Investor {
         cancelTime: string; // 销户时间
         createTime: string; // 开户时间
         isAuth: number; // 是否实名
-        loginId: string; // 登账号
+        loginId: string; // 登账号
         memberUserName: string; // 所属会员
         modifyStatus: number; // 变更状态
         modifyTime: string; // 最后更新时间
@@ -881,7 +881,7 @@ declare namespace Investor {
         environmentinfo: string; // 登录软件环境信息
         funcode: number; // 功能号
         loginflowno: number; // 登录流水号(AutoID)
-        loginid: number; // 登账号
+        loginid: number; // 登账号
         loginip: string; // 登录IP地址
         loginport: number; // 登录端口
         loginretcode: number; // 登录结果-0:成功、非0均为失败
@@ -904,7 +904,7 @@ declare namespace Investor {
         authtype: number; // 三方认证类型 - 1:微信 2:支付宝 3:手机号 4:管理员账号
         bindname: string;
         isvalid: number; // 是否有效 - 0:无效 1:有效
-        loginid: number; // 登账号
+        loginid: number; // 登账号
         opentype: string;
         userid: number; // 用户ID
     }

+ 3 - 3
src/types/model/member.d.ts

@@ -1661,14 +1661,14 @@ declare namespace Member {
         userid: number;
     }
 
-    /** 会员机构管理-->机构管理-->机构资料管理-->登账号-->获取列表 请求 */
+    /** 会员机构管理-->机构管理-->机构资料管理-->登账号-->获取列表 请求 */
     interface Organ2UserReq {
         userid: number;
         pageNum: number;
         pageSize: number;
     }
 
-    /** 会员机构管理-->机构管理-->机构资料管理-->登账号-->获取列表 响应 */
+    /** 会员机构管理-->机构管理-->机构资料管理-->登账号-->获取列表 响应 */
     interface Organ2UserRsp {
         autoid: number;
         areauserid: number; // 所属机构代码
@@ -1689,7 +1689,7 @@ declare namespace Member {
         userid: number;
     }
 
-    /** 会员机构管理-->机构管理-->机构资料管理-->登账号-->重置登入密码 请求 */
+    /** 会员机构管理-->机构管理-->机构资料管理-->登账号-->重置登入密码 请求 */
     interface UpdateStatusReq {
         type: number;
         userid: number;