Browse Source

feat: 去重

jiangzixin 1 năm trước cách đây
mục cha
commit
a264f828dd

+ 3 - 3
server/api/modules/v1/controllers/SurveyController.php

@@ -241,10 +241,10 @@ class SurveyController extends Controller {
         //去重复
 		$cengci = [];      
         foreach ($list as $value) {       
-            if(isset($cengci[$value['id']])){
-                unset($value['id']);
+            if(isset($cengci[$value['title']])){
+                unset($value['title']);
             }else{
-                $cengci[$value['id']] = $value;
+                $cengci[$value['title']] = $value;
             }  
         }
         $cengci = array_values($cengci);

+ 6 - 1
server/backend/controllers/PolicyController.php

@@ -136,8 +136,13 @@ class PolicyController extends Controller
 		$filter = explode(',',$model->filter);
 		if(!empty($filter)){
 		    foreach ($filter as $key=>$value) {
+                if (empty($value)) {
+                    continue;
+                }
     		    $arr = explode('_',$value);
-    		    $filterArr[$arr[0]] = $arr[1];
+                if (!empty($arr) && isset($arr[0]) && isset($arr[1])) {
+    		        $filterArr[$arr[0]] = $arr[1];
+                }
     		}
 		}
 	

+ 39 - 33
uniapp/pages/policy/list.vue

@@ -7,47 +7,50 @@
         </view>
         <!-- 搜索 -->
         <view class="content">
-            <view class="flex row-center white lg bold">
-                <u-icon name="checkmark-circle-fill" size="48"></u-icon>
-                <view class="m-l-12" v-if="policyCengci.length > 0">匹配成功</view>
-                <view class="m-l-12" v-else>暂未匹配到政策</view>
-            </view>
             <block v-if="policyCengci.length > 0">
+                <view class="flex row-center white lg bold">
+                    <u-icon name="checkmark-circle-fill" size="48"></u-icon>
+                    <view class="m-l-12">匹配成功</view>
+                </view>
                 <view class="flex row-center m-t-14 white p-l-20 p-r-20">根据您的条件AI智能计算可能符合以下政策,具体以实际申报为准</view>
-            </block>
-
-            <view class="m-t-22 p-l-24 p-r-24">
-                <view class="top-line"></view>
-                <view class="list">
-                    <view class="bg-white p-t-18 p-l-24 p-r-24 p-b-34">
-                        <!-- 人才层次 -->
-                        <u-tabs :list="policyCengci" name="title" :is-scroll="true" :current="currentTab" :bold="false"
-                            active-color="#DD4250" height="80" font-size="24" @change="changeTab" />
-                        <!-- 标签 -->
-                        <view class="muted">您可能符合的认定条款:</view>
-                        <view class="m-t-10 primary bold">
-                            <rich-text :nodes="policyCengci[currentTab].content"></rich-text>
-                        </view>
-                        <view class="flex flex-wrap m-t-16">
-                            <view class="tag-item" :class="{ 'tat-active': activeIndex == index }"
-                                v-for="(item, index) in policyList" :key="index" @tap="changeTag(index)">
-                                {{ item.title }}
+                <view class="m-t-22 p-l-24 p-r-24">
+                    <view class="top-line"></view>
+                    <view class="list">
+                        <view class="bg-white p-t-18 p-l-24 p-r-24 p-b-34">
+                            <!-- 人才层次 -->
+                            <u-tabs :list="policyCengci" name="title" :is-scroll="true" :current="currentTab"
+                                :bold="false" active-color="#DD4250" height="80" font-size="24" @change="changeTab" />
+                            <!-- 标签 -->
+                            <view class="muted">您可能符合的认定条款:</view>
+                            <view class="m-t-10 primary bold">
+                                <rich-text :nodes="policyCengci[currentTab].content"></rich-text>
                             </view>
-                        </view>
-                        <view v-for="(item, index) in policyList" :key="index" v-if="activeIndex == index">
-
-                            <!-- <view class="detail">{{ item.content }}</view> -->
-                            <rich-text :nodes="item.content"></rich-text>
-                            <view class="flex row-center">
-                                <view class="user-logout flex col-center row-center white" @tap="goDetail(item)">
-                                    <view class="m-r-12">查看“{{ item.title }}”详情</view>
-                                    <u-icon name="arrow-rightward" size="28"></u-icon>
+                            <!-- 政策列表 -->
+                            <view class="flex flex-wrap m-t-16">
+                                <view class="tag-item" :class="{ 'tat-active': activeIndex == index }"
+                                    v-for="(item, index) in  policyList" :key="index" @tap="changeTag(index)">
+                                    {{ item.title }}
+                                </view>
+                            </view>
+                            <view v-for="(item, index) in policyList" :key="index" v-if="activeIndex == index">
+
+                                <!-- <view class="detail">{{ item.content }}</view> -->
+                                <rich-text :nodes="item.content"></rich-text>
+                                <view class="flex row-center">
+                                    <view class="user-logout flex col-center row-center white" @tap="goDetail(item)">
+                                        <view class="m-r-12">查看“{{ item.title }}”详情</view>
+                                        <u-icon name="arrow-rightward" size="28"></u-icon>
+                                    </view>
                                 </view>
                             </view>
-                        </view>
 
+                        </view>
                     </view>
                 </view>
+            </block>
+            <view class="flex row-center white lg bold" v-else>
+                <u-icon name="close-circle" size="48"></u-icon>
+                <view class="m-l-12">暂未匹配到政策</view>
             </view>
         </view>
     </view>
@@ -78,6 +81,9 @@
         onLoad(option) {
             this.policyList = uni.getStorageSync('policyList');
             this.policyCengci = uni.getStorageSync('policyCengci');
+            console.log(this.policyList)
+            console.log(this.policyCengci)
+            console.log(this.policyCengci.length)
         },
         onShow() {
             // this.getHomeFun();