Quellcode durchsuchen

:sparkles: 用户管理搜索;:bug: 账户交易禁用;

Ritchie vor 1 Jahr
Ursprung
Commit
44253e07cf

+ 46 - 50
src/App.vue

@@ -1,7 +1,52 @@
+<script setup>
+import { reactive, ref } from "vue";
+import { useRouter, useRoute } from "vue-router";
+import { getLocal } from "@/common/js/utils";
+import navBar from "@/components/NavBar";
+
+const router = useRouter();
+const route = useRoute();
+const state = reactive({
+  transitionName: "slide-left",
+});
+const tabType = ref(true);
+
+router.beforeEach((to, from, next) => {
+  const token = getLocal("token");
+  // token为空跳转登陆页面
+  if (!token && to.path !== "/login") {
+    // next(`/login?redirect=${to.fullPath}`)
+  }
+  if (to.meta.index > from.meta.index) {
+    state.transitionName = "slide-left"; // 向左滑动
+  } else if (to.meta.index < from.meta.index) {
+    // 由次级到主级
+    state.transitionName = "slide-right";
+  } else {
+    state.transitionName = ""; // 同级无过渡效果
+  }
+  next();
+});
+
+router.afterEach(() => {
+  const currentRouteName = route.name;
+  if (
+    currentRouteName === "home" ||
+    currentRouteName === "trading" ||
+    currentRouteName === "position" ||
+    currentRouteName === "user"
+  ) {
+    tabType.value = true;
+  } else {
+    tabType.value = false;
+  }
+});
+</script>
+
 <template>
   <div id="app">
     <router-view class="router-view" v-slot="{ Component }">
-      <transition :name="transitionName">
+      <transition :name="state.transitionName">
         <!-- 缓存组件,但是进入编辑页面就会有问题 -->
         <!-- <keep-alive include="trading,tradingSet,role"><component :is="Component" /></keep-alive> -->
         <component :is="Component" v-if="!$route.meta.keepAlive" />
@@ -14,55 +59,6 @@
   </div>
 </template>
 
-<script>
-import { reactive, toRefs } from "vue";
-import { useRouter } from "vue-router";
-import { getLocal } from "@/common/js/utils";
-import navBar from "@/components/NavBar";
-import { ref } from "vue";
-
-export default {
-  setup() {
-    const router = useRouter();
-    const state = reactive({
-      transitionName: "slide-left",
-    });
-    const tabType = ref(true);
-    router.beforeEach((to, from, next) => {
-      const token = getLocal("token");
-      // token为空跳转登陆页面
-      if (!token && to.path !== "/login") {
-        // next(`/login?redirect=${to.fullPath}`)
-      }
-      if (to.meta.index > from.meta.index) {
-        state.transitionName = "slide-left"; // 向左滑动
-      } else if (to.meta.index < from.meta.index) {
-        // 由次级到主级
-        state.transitionName = "slide-right";
-      } else {
-        state.transitionName = ""; // 同级无过渡效果
-      }
-      next();
-    });
-    router.afterEach(()=>{
-      let currentRouteName = router.currentRoute.value.name;
-      if (currentRouteName === 'home' || currentRouteName === 'trading' || currentRouteName === 'position' || currentRouteName === 'user') {
-        tabType.value = true;
-      } else { 
-        tabType.value = false;
-      }
-    })
-    
-
-    return { 
-      ...toRefs(state),
-      tabType,
-    };
-  },
-  components: { navBar }
-};
-</script>
-
 <style lang="less">
 // 宽度动态
 // width: -moz-calc(100% - 70px);

+ 11 - 0
src/styles/pendingOrderList/index.less

@@ -111,6 +111,17 @@
           color: #4d6add;
           margin-right: 10px;
         }
+  
+        .main5 {
+          width: auto;
+  
+          .label2 {
+            width: 0.5rem;
+            height: 0.5rem;
+            margin-right: 5px;
+            cursor: pointer;
+          }
+        }
       }
   
       .van-tabs__line {

+ 1 - 1
src/views/buyOrSell/SellConf.vue

@@ -65,7 +65,7 @@ const onSubmit = async () => {
 onMounted(() => {
     if (tradeStore.tradeItem) {
         const item = tradeStore.getTradeItem()
-        console.log("item >>>", item);
+        // console.log("item >>>", item);
 
         // certificate.value = item.certificate;
         tradeNumber.value = item.tradeNumber;

+ 1 - 1
src/views/position/SearchPop.vue

@@ -1,5 +1,5 @@
 <template>
-  <!-- 设备列表 - 搜索弹窗 -->
+  <!-- 搜索弹窗 -->
   <div class="SearchPop flex-col">
     <van-action-sheet v-model:show="sheetShow" :closeable='false' title="输入以下任意信息进行搜索">
 

+ 1 - 1
src/views/taskMessage/UserManage.vue

@@ -35,7 +35,7 @@ const onConfEndTime = ({ selectedValues }) => {
     showEndTime.value = false;
 };
 
-const minDate = ref(new Date(2024, 4, 1))
+const minDate = ref(new Date())
 
 onMounted(() => {
     if (userStore.userInfo) {

+ 76 - 10
src/views/taskMessage/UserManageList.vue

@@ -6,6 +6,7 @@ import { showFailToast } from "vant";
 import { getLoginUser, styleUrl } from "@/common/js/utils";
 import { useRouter } from 'vue-router'
 import { useUserStore } from '@/stores/user';
+import kDialog from "@/components/commom/kDialog/index.vue";
 
 const router = useRouter()
 
@@ -36,6 +37,25 @@ let searchParams = reactive({
     current: 1, // 当前页,默认第一页
     size: 10, // 页大小,默认10条
 });
+const kDialogRef = ref(null);
+const searchClick = () => {
+    kDialogRef.value.openDialog();
+};
+// 点击查询按钮
+const confirmClk = () => {
+    searchGetList();
+};
+// 筛选条件
+const searchForm = reactive({
+    phone: "",
+    name: ""
+});
+// 查询列表
+const searchGetList = () => {
+    userManageList.value = [];
+    searchParams.current = 1;
+    getList();
+};
 
 // 滚动加载
 const onLoad = () => {
@@ -44,14 +64,13 @@ const onLoad = () => {
         getList();
     }
 };
-// 查询列表
-const searchGetList = () => {
-    userManageList.value = [];
-    searchParams.current = 1;
-    getList();
-};
+
+
+
 // 获取用户管理列表数据
 const getList = async () => {
+    searchParams.phone = searchForm.phone;
+    searchParams.name = searchForm.userName;
 
     const { data } = await pageUserList(
         Object.assign({}, searchParams)
@@ -108,6 +127,23 @@ onMounted(async () => {
             <van-list v-model:loading="loading" v-model:error="error" :error-text="$t('common.reqFailClkReload')"
                 :finished="finished" :finished-text="$t('common.noMoreTxt')" offset="300" :immediate-check="false"
                 @load="onLoad">
+                <div class="searchRow flex-row justify-between">
+                    <div class="flex-col">
+                        <div class="flex-row justify-between bd3">
+                            <!-- <div class="flex-col outer4 proportionIcon"></div> -->
+                            <span class="flex-col txt2">{{ $t("taskMessage.total")
+                                }}<span class="discountNumber">{{ userInfoTotal }}</span>{{
+                                    $t("taskMessage.recordsInTotal") }}</span>
+                        </div>
+                    </div>
+
+                    <div class="l-flex-RC">
+                        <div @click="searchClick" class="main5 l-flex-RC">
+                            <img class="label2 o-mr-5" src="../../assets/position/searchIcon.png" alt="搜索">
+                        </div>
+                    </div>
+                </div>
+
                 <div class="listBox">
                     <div v-for="(item) in userManageList" :key="item.phone" class="listItem">
                         <div class="itemBox">
@@ -132,17 +168,17 @@ onMounted(async () => {
                             <div v-if="item.state === '1'" class="itemRow">
                                 <span class="itemTitle">账号状态:&nbsp;</span><span style="color: #00CC00">{{
                                     showStateText(item.state)
-                                }}</span>
+                                    }}</span>
                             </div>
 
                             <!-- isBan禁用:去禁用账号> -->
                             <div v-if="item.state === '2'" class="itemRow">
                                 <span class="itemTitle">账号状态:&nbsp;</span><span style="color: red">{{
                                     showStateText(item.state)
-                                }}</span>
+                                    }}</span>
                             </div>
                             <!-- state 用户状态:1正常,2禁用,3删除 -->
-                            <!-- 禁用账号 -->
+                            <!-- 禁止交易 -->
                             <div v-if="item.state === '1' && isOper" class="itemRow"
                                 style="display: flex; justify-content: flex-end">
                                 <van-button span="5" round type="primary" :style="{
@@ -154,7 +190,7 @@ onMounted(async () => {
                                     boxShadow: '0 2px 8px rgba(255, 55, 95, 0.3)', // 添加阴影效果
                                     transition: 'all 0.3s ease' // 添加过渡效果,使变化更平滑
                                 }" @click="toManageUser(item)">
-                                    禁用账号
+                                    禁止交易
                                 </van-button>
                             </div>
 
@@ -175,6 +211,36 @@ onMounted(async () => {
             </van-list>
         </div>
 
+        <!-- 筛选弹窗 -->
+        <kDialog :dialogTitle="$t('taskMessage.equipmentInit.searchPop.title')"
+            :confirmBtnTxt="$t('taskMessage.equipmentInit.searchPop.filterBtn')" ref="kDialogRef"
+            @confirmclk="confirmClk">
+            <template #content>
+                <div class="cust_vantBorder">
+                    <!-- 手机号 -->
+                    <van-field clearable v-model="searchForm.phone" placeholder="请输入账户手机号
+                        " label="手机号" />
+                    <!-- 用户名 -->
+                    <van-field clearable v-model="searchForm.userName" placeholder="请输入账户用户名
+                        " label="用户名" />
+                    <!-- 状态:是否被禁用 -->
+                    <!-- <van-field @click-input="busiInpClk" readonly clearable v-model="searchForm.stateName"
+                        :placeholder="$t('taskMessage.equipmentInit.searchPop.statePlace')"
+                        :label="$t('taskMessage.equipmentInit.searchPop.state')">
+                        <template #right-icon>
+                            <div class="l-flex-RC">
+                                <van-icon v-if="searchForm.stateName" @click="
+                                    searchForm.stateName = '';
+                                searchForm.state = '';
+                                " class="o-mr-6" name="clear" />
+                                <van-icon @click="busiInpClk" name="arrow-down" />
+                            </div>
+                        </template>
+</van-field> -->
+                </div>
+            </template>
+        </kDialog>
+
     </div>
 </template>