Xiao_123 hai 8 meses
pai
achega
58ed253531

+ 21 - 3
components/FilterList/index.vue

@@ -1,17 +1,25 @@
 <template>
   <view class="labelColor itemBox" style="height: 45px;">
     <view class="item" v-for="item in filterList" :key="item[props.idValue]">
-      <uni-data-picker 
-        v-slot:default="{ error }"
+      <uni-data-picker
+        ref="picker"
+        v-slot:default="{ data, error }"
         :localdata="item.array" 
         :clear-icon="true"
         :popup-title="'请选择' + item[labelValue]" 
         :map="item.map || { text: 'label', value: 'value' }"
          @change="e => handleClick(e, item)"
+         @nodeclick="handleChange"
       >
         <view v-if="error" class="error">
           <text>{{error}}</text>
         </view>
+        <view v-else-if="data.length" class="selected">
+          <view class="selected-item d-flex align-center">
+            <view class="ellipsis" style="max-width: 100rpx;">{{ data.length > 1 ? data[data.length - 1].text : data[0].text }}</view>
+            <uni-icons type="closeempty" size="18" @click="data = [], handleClear"></uni-icons>
+          </view>
+        </view>
         <view v-else>
           {{ item[labelValue] }}
           <uni-icons type="icon-arrow-sortdown-smal" custom-prefix="iconfont" color="#999"/>
@@ -36,12 +44,19 @@ const props = defineProps({
   lazy: { type: Boolean, default: false },
 })
 
+const picker = ref()
 const handleClick = (e, item) => {
   const obj = e.detail.value
   item.value = obj.length && obj.length === 1 ? obj[0].value : obj[obj.length - 1].value
   emit('change', item.key, item.value)
 }
 
+const handleClear = () => {
+  console.log(picker.value)
+}
+
+const handleChange = () => {}
+
 // 获取字典数据
 const getData = (e) => {
   getDict(e.dictType, e.map ? {} : null, e.map ? e.dictType : 'dict').then(({ data }) => {
@@ -70,14 +85,17 @@ watch(() => props.list,
 .labelColor { color: #5c5c5c; }
 .marginR5 { margin-right: 5px; }
 .itemBox {
+  width: 100%;
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
   .item {
+    width: 20%;
     display: flex;
     align-items: center;
     font-size: 14px;
-    margin: 0 5px;
+    flex-wrap: wrap;
+    // margin: 0 3px;
   }
 }
 .popup {

+ 3 - 3
components/PositionList/index.vue

@@ -10,13 +10,13 @@
             <view v-if="item.job.name.indexOf('style')" v-html="item.job.name" class="job-name" style=""></view>
             <view v-else class="job-name" style="">{{item.job?.name}}</view>
           </view>
-          <span class="salary-text">{{ item.job?.payFrom }}-{{ item.job?.payTo }}/{{ item.job?.payName }}</span>
+          <span class="salary-text">{{ item.job?.payFrom }}-{{ item.job?.payTo }}{{ item.job?.payName ? '/' + item.job?.payName : '' }}</span>
         </view>
         <!-- 工作地 -->
         <view style="font-size: 13px;" class="mt">
           <span class="tag-gap">
             <span>{{item.job?.areaName }}</span>
-            <span class="divider-mx" v-if="item.job?.areaName && item.job?.jobName">|</span>
+            <span class="divider-mx" v-if="item.job?.areaName && item.job?.eduName">|</span>
             <span>{{item.job?.eduName }}</span>
             <span class="divider-mx" v-if="item.job?.expName">|</span>
             <span>{{item.job?.expName }}</span>
@@ -31,7 +31,7 @@
             :text="tag"
             inverted="false"
             size="mini"
-            custom-style="background-color: #eef1f7;color:#7f828b;border-color:#eef1f7;"
+            custom-style="background-color: #eef1f7;color:#7f828b;border-color:#eef1f7;display: inline-block;"
           />
         </view>
         <view style="text-align: end;" v-if="item.job?.hire">

+ 2 - 3
pages/index/position.vue

@@ -14,7 +14,7 @@
       </view>
       <view class="white-bgc px-10 pb-10 mb-10">
         <SwiperAd :list="swiperAdList"></SwiperAd>
-        <FilterList :list="filterList" idValue="label" @change="handleSearch"></FilterList>
+        <!-- <FilterList :list="filterList" idValue="label" @change="handleSearch"></FilterList> -->
       </view>
       <PositionList class="pb-10" :list="positionListData" :noMore="noMore"></PositionList>
     </scroll-view>
@@ -23,7 +23,7 @@
 
 <script setup>
 import SwiperAd from '@/components/SwiperAd'
-import FilterList from '@/components/FilterList'
+// import FilterList from '@/components/FilterList'
 import PositionList from '@/components/PositionList'
 import { swiperAdListTest } from '@/utils/testData'
 import { dealDictObjData } from '@/utils/position'
@@ -69,7 +69,6 @@ getData()
 
 const handleSearch = (key, value) => {
   query[key][0] = value
-  console.log(query, 'query')
   onSearch()
 }
 

+ 2 - 2
utils/config.js

@@ -1,5 +1,5 @@
-export const baseUrl = 'http://menduner.citupro.com:7878'
-// const baseUrl = 'https://menduner.citupro.com:2443'
+// export const baseUrl = 'http://menduner.citupro.com:7878'
+export const baseUrl = 'https://menduner.citupro.com:2443'
 
 // 租户id
 export const tenantId = '155'