liyongli 1 an în urmă
părinte
comite
da444a10a2
1 a modificat fișierele cu 40 adăugiri și 101 ștergeri
  1. 40 101
      src/view/finance/index.vue

+ 40 - 101
src/view/finance/index.vue

@@ -11,7 +11,7 @@
       placeholder="请输入搜索关键词"
     />
     <van-tabs :color="theme" :background="background">
-      <van-tab title="网络短视频">
+      <van-tab :title="i" v-for="(v, i) in orilist" :key="i">
         <van-row gutter="8">
           <van-col
             span="12"
@@ -19,46 +19,7 @@
               position: 'relative',
               display: item.noShow ? 'none' : 'inline-block',
             }"
-            v-for="item in list"
-            :key="item.id"
-          >
-            <van-image
-              :width="width"
-              :height="height"
-              fit="cover"
-              @click="() => clickShowVideo(item)"
-              position="left"
-              :src="
-                item.workTitle +
-                '?x-oss-process=video/snapshot,t_4000,f_jpg,m_fast'
-              "
-            />
-            <van-row>
-              <van-col
-                span="24"
-                style="text-align: center"
-                class="van-ellipsis--l2"
-                >{{ item.name }}</van-col
-              >
-            </van-row>
-            <br />
-            <van-checkbox
-              class="act"
-              v-model="ids[item.phone].select"
-              :checked-color="theme"
-            />
-          </van-col>
-        </van-row>
-      </van-tab>
-      <van-tab title="优秀宣讲员">
-        <van-row gutter="8">
-          <van-col
-            span="12"
-            :style="{
-              position: 'relative',
-              display: item.noShow ? 'none' : 'inline-block',
-            }"
-            v-for="item in list_self"
+            v-for="item in v"
             :key="item.id"
           >
             <van-image
@@ -102,30 +63,11 @@
     <van-dialog v-model:show="showPaihang" confirm-button-text="关闭">
       <div style="height: 50vh">
         <van-tabs :color="theme">
-          <van-tab title="网络短视频">
+          <van-tab :title="key" v-for="(v, key) in rankList" :key="key">
             <div class="SilkList">
               <van-cell-group inset>
                 <van-cell title="名称" value="投票量"></van-cell>
-                <van-row v-for="item in rankList" :key="item.id + 'team'">
-                  <van-col span="16"
-                    ><p class="text van-ellipsis--l2" v-text="item.name"></p
-                  ></van-col>
-                  <van-col span="8"
-                    ><p
-                      class="text"
-                      style="text-align: right"
-                      v-text="formmate(item.votes)"
-                    ></p
-                  ></van-col>
-                </van-row>
-              </van-cell-group>
-            </div>
-          </van-tab>
-          <van-tab title="优秀宣讲员">
-            <div class="SilkList">
-              <van-cell-group inset>
-                <van-cell title="名称" value="投票量"></van-cell>
-                <van-row v-for="item in rankList_slef" :key="item.id + 'team'">
+                <van-row v-for="item in v" :key="item.id + 'team'">
                   <van-col span="16"
                     ><p class="text van-ellipsis--l2" v-text="item.name"></p
                   ></van-col>
@@ -202,10 +144,10 @@ const width = (w - 16) / 2;
 const height = width * 0.57;
 const showPaihang = ref(false);
 const showLogin = ref(false);
-const list = ref([]);
-const rankList = ref([]);
-const list_self = ref([]);
-const rankList_self = ref([]);
+
+const rankList = ref({});
+const orilist = ref({});
+
 const ids = ref({});
 const codePhoen = ref(0);
 const config = reactive({
@@ -223,22 +165,19 @@ const login = reactive({
   code: '',
 });
 const getList = call => {
-  Promise.all([
-    getEnrollList({
-      type: '网络短视频',
-      operateId,
-    }),
-    getEnrollList({
-      type: '优秀宣讲员',
-      operateId,
-    }),
-  ]).then(resList => {
-    list.value = resList[0] || [];
-    list_self.value = resList[1] || [];
-    const l = [...resList[0], ...resList[1]];
+  getEnrollList({
+    type: '网络短视频',
+    operateId,
+  }).then(r => {
+    const array = r || [];
+    const obj = {};
     const ids_list = [];
-    for (let i = 0; i < l.length; i++) {
-      const v = l[i];
+    for (let i = 0; i < array.length; i++) {
+      const v = array[i];
+      v.noShow = false;
+      if (obj[v.type]) obj[v.type].push(v);
+      else obj[v.type] = [v];
+
       ids_list[v.phone] = {
         select: false,
         name: v.name,
@@ -246,41 +185,41 @@ const getList = call => {
       };
     }
     ids.value = ids_list;
+    orilist.value = obj;
     call && call();
   });
 };
 getList();
 
 const getRankList = Call => {
-  Promise.all([
-    getEnrollRank({
-      type: '网络短视频',
-      operateId,
-    }),
-    getEnrollRank({
-      type: '优秀宣讲员',
-      operateId,
-    }),
-  ]).then(resList => {
-    rankList.value = resList[0] || [];
-    rankList_self.value = resList[1] || [];
+  getEnrollRank({
+    operateId,
+  }).then(r => {
+    const l = r || [];
+    const obj = {};
+    for (let i = 0; i < l.length; i++) {
+      const v = l[i];
+      if (obj[v.type]) obj[v.type].push(v);
+      else obj[v.type] = [v];
+    }
+    rankList.value = obj;
+    console.log(obj);
     Call && Call();
   });
 };
 
 let time = null;
 watch(search, res => {
-  console.log(res);
   if (time) clearTimeout(time);
   time = setTimeout(() => {
     const rex = res ? new RegExp(res) : /[.\n]*/;
-    for (let i = 0; i < list.value.length; i++) {
-      const v = list.value[i];
-      list.value[i].noShow = !rex.test(v.name);
-    }
-    for (let i = 0; i < list_self.value.length; i++) {
-      const v = list_self.value[i];
-      list_self.value[i].noShow = !rex.test(v.name);
+    for (const key in orilist.value) {
+      if (!Object.hasOwnProperty.call(orilist.value, key)) continue;
+      const v = orilist.value[key];
+      for (let i = 0; i < v.length; i++) {
+        const vv = v[i];
+        vv.noShow = !rex.test(vv.name);
+      }
     }
     clearTimeout(time);
     time = null;