瀏覽代碼

修改查询

zs 9 月之前
父節點
當前提交
d2473f8318

+ 1 - 0
src/components/custom/custom-layout.vue

@@ -349,6 +349,7 @@ const toOut = () => {
           width: 100%;
           background: $global-color-fff;
           background: -webkit-linear-gradient(top, white, #6ea6f5, #3b86ee);
+          cursor: pointer; /* 改变鼠标样式为手形 */
           .list4 {
             display: flex;
             justify-content: center;

+ 9 - 0
src/store/api/platform/footplate.js

@@ -13,6 +13,14 @@ export const FootplateStore = defineStore('footplate', () => {
     const res = await axios.$get(`${url}`, cond)
     return res
   }
+  const list = async ({ skip = 0, limit = undefined, ...info } = {}) => {
+    let cond = {}
+    if (skip) cond.skip = skip
+    if (limit) cond.limit = limit
+    cond = { ...cond, ...info }
+    const res = await axios.$get(`${url}/list`, cond)
+    return res
+  }
   const fetch = async (payload) => {
     const res = await axios.$get(`${url}/${payload}`)
     return res
@@ -32,6 +40,7 @@ export const FootplateStore = defineStore('footplate', () => {
   }
   return {
     query,
+    list,
     fetch,
     create,
     update,

+ 9 - 0
src/store/api/platform/support.js

@@ -13,6 +13,14 @@ export const SupportStore = defineStore('support', () => {
     const res = await axios.$get(`${url}`, cond)
     return res
   }
+  const list = async ({ skip = 0, limit = undefined, ...info } = {}) => {
+    let cond = {}
+    if (skip) cond.skip = skip
+    if (limit) cond.limit = limit
+    cond = { ...cond, ...info }
+    const res = await axios.$get(`${url}/list`, cond)
+    return res
+  }
   const fetch = async (payload) => {
     const res = await axios.$get(`${url}/${payload}`)
     return res
@@ -32,6 +40,7 @@ export const SupportStore = defineStore('support', () => {
   }
   return {
     query,
+    list,
     fetch,
     create,
     update,

+ 3 - 3
src/views/brain/five.vue

@@ -29,7 +29,7 @@
             <div class="two_left">当前产业:</div>
             <div class="two_right">
               <el-select v-model="form.industry" clearable placeholder="请选择" :popper-append-to-body="false" style="width: 14rem" :teleported="false">
-                <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.value" />
+                <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.label" />
               </el-select>
             </div>
           </div>
@@ -37,7 +37,7 @@
             <div class="two_left">产业链:</div>
             <div class="two_right">
               <el-select v-model="form.chain" clearable placeholder="请选择" :popper-append-to-body="false" style="width: 14rem" :teleported="false">
-                <el-option v-for="(item, index) in chainList" :key="index" :label="item.label" :value="item.value" />
+                <el-option v-for="(item, index) in chainList" :key="index" :label="item.label" :value="item.label" />
               </el-select>
             </div>
           </div>
@@ -59,7 +59,7 @@
                   <div class="select_left">指标:</div>
                   <div class="select_right">
                     <el-select v-model="form.industry" clearable placeholder="请选择" style="width: 14rem" :teleported="false">
-                      <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.value" />
+                      <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.label" />
                     </el-select>
                   </div>
                 </div>

+ 3 - 3
src/views/brain/four.vue

@@ -29,7 +29,7 @@
             <div class="two_left">当前产业:</div>
             <div class="two_right">
               <el-select v-model="form.industry" clearable placeholder="请选择" :popper-append-to-body="false" style="width: 14rem" :teleported="false">
-                <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.value" />
+                <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.label" />
               </el-select>
             </div>
           </div>
@@ -37,7 +37,7 @@
             <div class="two_left">产业链:</div>
             <div class="two_right">
               <el-select v-model="form.chain" clearable placeholder="请选择" :popper-append-to-body="false" style="width: 14rem" :teleported="false">
-                <el-option v-for="(item, index) in chainList" :key="index" :label="item.label" :value="item.value" />
+                <el-option v-for="(item, index) in chainList" :key="index" :label="item.label" :value="item.label" />
               </el-select>
             </div>
           </div>
@@ -54,7 +54,7 @@
                     <div class="select_left">指标:</div>
                     <div class="select_right">
                       <el-select v-model="form.industry" clearable placeholder="请选择" style="width: 14rem" :teleported="false">
-                        <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.value" />
+                        <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.label" />
                       </el-select>
                     </div>
                   </div>

+ 2 - 2
src/views/brain/one.vue

@@ -29,7 +29,7 @@
             <div class="two_left">当前产业:</div>
             <div class="two_right">
               <el-select v-model="form.industry" clearable placeholder="请选择" :popper-append-to-body="false" style="width: 14rem" :teleported="false">
-                <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.value" />
+                <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.label" />
               </el-select>
             </div>
           </div>
@@ -37,7 +37,7 @@
             <div class="two_left">产业链:</div>
             <div class="two_right">
               <el-select v-model="form.chain" clearable placeholder="请选择" :popper-append-to-body="false" style="width: 14rem" :teleported="false">
-                <el-option v-for="(item, index) in chainList" :key="index" :label="item.label" :value="item.value" />
+                <el-option v-for="(item, index) in chainList" :key="index" :label="item.label" :value="item.label" />
               </el-select>
             </div>
           </div>

+ 3 - 3
src/views/brain/six.vue

@@ -29,7 +29,7 @@
             <div class="two_left">当前产业:</div>
             <div class="two_right">
               <el-select v-model="form.industry" clearable placeholder="请选择" :popper-append-to-body="false" style="width: 14rem" :teleported="false">
-                <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.value" />
+                <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.label" />
               </el-select>
             </div>
           </div>
@@ -37,7 +37,7 @@
             <div class="two_left">产业链:</div>
             <div class="two_right">
               <el-select v-model="form.chain" clearable placeholder="请选择" :popper-append-to-body="false" style="width: 14rem" :teleported="false">
-                <el-option v-for="(item, index) in chainList" :key="index" :label="item.label" :value="item.value" />
+                <el-option v-for="(item, index) in chainList" :key="index" :label="item.label" :value="item.label" />
               </el-select>
             </div>
           </div>
@@ -87,7 +87,7 @@
                     <div class="select_left">实力侧面:</div>
                     <div class="select_right">
                       <el-select v-model="form.industry" clearable placeholder="请选择" style="width: 14rem" :teleported="false">
-                        <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.value" />
+                        <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.label" />
                       </el-select>
                     </div>
                   </div>

+ 4 - 4
src/views/brain/thr.vue

@@ -29,7 +29,7 @@
             <div class="two_left">当前产业:</div>
             <div class="two_right">
               <el-select v-model="form.industry" clearable placeholder="请选择" style="width: 14rem" :teleported="false">
-                <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.value" />
+                <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.label" />
               </el-select>
             </div>
           </div>
@@ -37,7 +37,7 @@
             <div class="two_left">产业链:</div>
             <div class="two_right">
               <el-select v-model="form.chain" clearable placeholder="请选择" style="width: 14rem" :teleported="false">
-                <el-option v-for="(item, index) in chainList" :key="index" :label="item.label" :value="item.value" />
+                <el-option v-for="(item, index) in chainList" :key="index" :label="item.label" :value="item.label" />
               </el-select>
             </div>
           </div>
@@ -54,7 +54,7 @@
                   <div class="select_left">指标:</div>
                   <div class="select_right">
                     <el-select v-model="form.industry" clearable placeholder="请选择" style="width: 14rem" :teleported="false">
-                      <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.value" />
+                      <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.label" />
                     </el-select>
                   </div>
                 </div>
@@ -156,7 +156,7 @@
                   <div class="select_left">TOP:</div>
                   <div class="select_right">
                     <el-select v-model="form.industry" clearable placeholder="请选择" style="width: 14rem" :teleported="false">
-                      <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.value" />
+                      <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.label" />
                     </el-select>
                   </div>
                 </div>

+ 5 - 5
src/views/brain/two.vue

@@ -29,7 +29,7 @@
                   <div class="select_left">指标:</div>
                   <div class="select_right">
                     <el-select v-model="form.industry" clearable placeholder="请选择" style="width: 14rem" :teleported="false">
-                      <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.value" />
+                      <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.label" />
                     </el-select>
                   </div>
                 </div>
@@ -76,7 +76,7 @@
                   <div class="select_left">对比目标:</div>
                   <div class="select_right">
                     <el-select v-model="form.industry" clearable placeholder="请选择" style="width: 14rem" :teleported="false">
-                      <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.value" />
+                      <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.label" />
                     </el-select>
                   </div>
                 </div>
@@ -96,7 +96,7 @@
                 <div class="two_left">当前产业:</div>
                 <div class="two_right">
                   <el-select v-model="form.industry" clearable placeholder="请选择" :popper-append-to-body="false" style="width: 14rem" :teleported="false">
-                    <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.value" />
+                    <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.label" />
                   </el-select>
                 </div>
               </div>
@@ -104,7 +104,7 @@
                 <div class="two_left">产业链:</div>
                 <div class="two_right">
                   <el-select v-model="form.chain" clearable placeholder="请选择" :popper-append-to-body="false" style="width: 14rem" :teleported="false">
-                    <el-option v-for="(item, index) in chainList" :key="index" :label="item.label" :value="item.value" />
+                    <el-option v-for="(item, index) in chainList" :key="index" :label="item.label" :value="item.label" />
                   </el-select>
                 </div>
               </div>
@@ -122,7 +122,7 @@
                     <div class="select_left">市值:</div>
                     <div class="select_right">
                       <el-select v-model="form.industry" clearable placeholder="请选择" style="width: 14rem" :teleported="false">
-                        <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.value" />
+                        <el-option v-for="(item, index) in industryList" :key="index" :label="item.label" :value="item.label" />
                       </el-select>
                     </div>
                   </div>

+ 21 - 2
src/views/detail/company.vue

@@ -230,7 +230,24 @@ const sizeChange = (limits) => {
   currentPage.value = 1
   search({ skip: 0, limit: limit })
 }
-const toSelect = (data, type) => {
+// 筛选条件
+const toSearchFind = async () => {
+  if (industry.value && industry.value.length > 0) {
+    searchForm.value.industryList = industry.value.map((i) => {
+      return i.title
+    })
+  } else if (pattern.value && pattern.value.length > 0) {
+    searchForm.value.patternList = pattern.value.map((i) => {
+      return i.label
+    })
+  } else if (city.value && city.value.length > 0) {
+    searchForm.value.cityList = city.value.map((i) => {
+      return i.name
+    })
+  } else searchForm.value = {}
+  await search({ skip, limit })
+}
+const toSelect = async (data, type) => {
   if (data.is_active) {
     toDel(data, type)
   } else {
@@ -279,8 +296,9 @@ const toSelect = (data, type) => {
       }
     }
   }
+  await toSearchFind()
 }
-const toDel = (data, type) => {
+const toDel = async (data, type) => {
   if (type == '1') {
     for (const val of plateList.value) {
       if (data.id == val.id) val.is_active = false
@@ -312,6 +330,7 @@ const toDel = (data, type) => {
       }
     }
   }
+  await toSearchFind()
 }
 </script>
 <style scoped lang="scss">

+ 22 - 3
src/views/detail/expert.vue

@@ -192,7 +192,7 @@ const search = async (query = { skip, limit }) => {
     limit: query.limit,
     ...searchForm.value
   }
-  const res = await store.query(info)
+  const res = await store.list(info)
   if (res.errcode == '0') {
     list.value = res.data
     total.value = res.total
@@ -216,7 +216,24 @@ const sizeChange = (limits) => {
   currentPage.value = 1
   search({ skip: 0, limit: limit })
 }
-const toSelect = (data, type) => {
+// 筛选条件
+const toSearchFind = async () => {
+  if (industry.value && industry.value.length > 0) {
+    searchForm.value.industryList = industry.value.map((i) => {
+      return i.title
+    })
+  } else if (field.value && field.value.length > 0) {
+    searchForm.value.fieldList = field.value.map((i) => {
+      return i.label
+    })
+  } else if (city.value && city.value.length > 0) {
+    searchForm.value.cityList = city.value.map((i) => {
+      return i.name
+    })
+  } else searchForm.value = {}
+  await search({ skip, limit })
+}
+const toSelect = async (data, type) => {
   if (data.is_active) {
     toDel(data, type)
   } else {
@@ -265,8 +282,9 @@ const toSelect = (data, type) => {
       }
     }
   }
+  await toSearchFind()
 }
-const toDel = (data, type) => {
+const toDel = async (data, type) => {
   if (type == '1') {
     for (const val of plateList.value) {
       if (data.id == val.id) val.is_active = false
@@ -298,6 +316,7 @@ const toDel = (data, type) => {
       }
     }
   }
+  await toSearchFind()
 }
 </script>
 <style scoped lang="scss">

+ 5 - 1
src/views/detail/expertDetail.vue

@@ -19,10 +19,14 @@
               <span>所属产业:</span>
               <span>{{ info.industry || '暂无' }}</span>
             </div>
-            <div class="Brief_2">
+            <div class="Brief_2" v-if="info.work">
               <span>工作单位:</span>
               <span>{{ info.work || '暂无' }}</span>
             </div>
+            <div class="Brief_2" v-if="info.direction">
+              <span>研究方向:</span>
+              <span>{{ info.direction || '暂无' }}</span>
+            </div>
           </div>
           <div class="infoOther">
             <div class="title">合作信息</div>

+ 4 - 22
src/views/detail/parts/index.vue

@@ -3,14 +3,7 @@
     <el-row>
       <el-col :span="24" class="main">
         <el-col :span="24" class="one">
-          <el-form
-            label-position="top"
-            ref="ruleFormRef"
-            :model="form"
-            :rules="rules"
-            label-width="80px"
-            class="form"
-          >
+          <el-form label-position="top" ref="ruleFormRef" :model="form" :rules="rules" label-width="80px" class="form">
             <el-row :gutter="20">
               <el-col :span="12">
                 <el-form-item label="姓名" prop="name">
@@ -27,12 +20,7 @@
               <el-col :span="12">
                 <el-form-item label="证件类型" prop="cardType">
                   <el-select clearable v-model="form.cardType" placeholder="请选择证件类型">
-                    <el-option
-                      v-for="(item, index) in cardTypeList"
-                      :key="index"
-                      :label="item.label"
-                      :value="item.value"
-                    />
+                    <el-option v-for="(item, index) in cardTypeList" :key="index" :label="item.label" :value="item.label" />
                   </el-select>
                 </el-form-item>
               </el-col>
@@ -45,8 +33,7 @@
             <el-row :gutter="20">
               <el-col :span="12">
                 <el-form-item label="微信/QQ" prop="communication">
-                  <el-input clearable v-model="form.communication" placeholder="请输入微信/QQ">
-                  </el-input>
+                  <el-input clearable v-model="form.communication" placeholder="请输入微信/QQ"> </el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
@@ -56,12 +43,7 @@
               </el-col>
             </el-row>
             <el-form-item label="备注" prop="brief">
-              <el-input
-                v-model="form.remark"
-                :autosize="{ minRows: 2, maxRows: 8 }"
-                type="textarea"
-                placeholder="请输入备注"
-              />
+              <el-input v-model="form.remark" :autosize="{ minRows: 2, maxRows: 8 }" type="textarea" placeholder="请输入备注" />
             </el-form-item>
             <el-form-item>
               <el-col :span="24" class="button">

+ 17 - 10
src/views/detail/project.vue

@@ -4,9 +4,9 @@
       <div class="w_1300">
         <el-col :span="24" class="one_1">
           <div class="search">
-            <el-input v-model="input1" size="large" placeholder="请输入关键字" :suffix-icon="Search">
+            <el-input v-model="searchForm.name" size="large" placeholder="请输入关键字" :suffix-icon="Search">
               <template #append>
-                <el-button type="primary" size="large">搜索</el-button>
+                <el-button type="primary" size="large" @click="toSearchInfo">搜索</el-button>
               </template>
             </el-input>
           </div>
@@ -68,10 +68,10 @@
               </div>
             </div>
             <div class="one_ipunt">
-              <a-input class="input" size="large" v-model:value="searchForm.name" placeholder="项目名称" />
               <a-input class="input" size="large" v-model:value="searchForm.tags" placeholder="标签名称" />
               <a-input class="input" size="large" v-model:value="searchForm.source" placeholder="项目来源" />
-              <a-input class="input" size="large" v-model:value="searchForm.industry" placeholder="所属产业" />
+              <a-input class="input" size="large" v-model:value="searchForm.main" placeholder="项目主体" />
+              <a-input class="input" size="large" v-model:value="searchForm.progress" placeholder="项目进展" />
               <a-button class="button" size="large" type="primary" @click="toSearchInfo">检索</a-button>
             </div>
           </div>
@@ -171,7 +171,7 @@ const search = async (query = { skip, limit }) => {
     limit: query.limit,
     ...searchForm.value
   }
-  const res = await store.query(info)
+  const res = await store.list(info)
   if (res.errcode == '0') {
     list.value = res.data
     total.value = res.total
@@ -196,11 +196,18 @@ const sizeChange = (limits) => {
   search({ skip: 0, limit: limit })
 }
 // 选择
-const oneChange = (value) => {
-  console.log('1', checked1.value)
-  console.log('2', checked2.value)
-  console.log('3', checked3.value)
-  console.log('4', checked4.value)
+const oneChange = async (value) => {
+  if (checked1.value && checked1.value.length > 0) {
+    searchForm.value.industryList = checked1.value
+  } else if (checked2.value && checked2.value.length > 0) {
+    searchForm.value.fieldList = checked2.value
+  } else if (checked3.value && checked3.value.length > 0) {
+    searchForm.value.cityList = checked3.value
+  } else if (checked4.value && checked4.value.length > 0) {
+    searchForm.value.maturityList = checked4.value
+  } else searchForm.value = {}
+
+  await search({ skip, limit })
 }
 </script>
 <style scoped lang="scss">

+ 18 - 11
src/views/detail/projectDetail.vue

@@ -11,19 +11,23 @@
               </div>
               <div class="ba_tile">
                 项目来源:
-                <span class="hui_text textOne">{{ info.source || '暂无' }}</span>
+                <span class="hui_text textMore">{{ info.source || '暂无' }}</span>
               </div>
               <div class="ba_tile">
                 所属产业:
-                <span class="hui_text textOne">{{ info.industry || '暂无' }}</span>
+                <span class="hui_text textMore">{{ info.industry || '暂无' }}</span>
               </div>
               <div class="ba_tile">
                 跟踪支持单位:
-                <span class="hui_text textOne">{{ info.track_unit || '暂无' }}</span>
+                <span class="hui_text textMore">{{ info.track_unit || '暂无' }}</span>
+              </div>
+              <div class="ba_tile">
+                项目主体:
+                <span class="hui_text textMore">{{ info.main || '暂无' }}</span>
               </div>
               <div class="ba_tile">
                 项目进展:
-                <span class="hui_text textOne">{{ info.progress || '暂无' }}</span>
+                <span class="hui_text textMore">{{ info.progress || '暂无' }}</span>
               </div>
             </div>
             <div class="inose_top">
@@ -42,8 +46,10 @@
               <div class="wenbe_text">
                 <span v-if="is_show">{{ info.brief || '暂无' }}</span>
                 <span v-else>{{ truncateString(info.brief, 100) }}</span>
-                <span v-if="!is_show" class="anniu_btn" @click="is_show = true">《点击查看更多》</span>
-                <span v-else class="anniu_btn" @click="is_show = false">《点击收起更多》</span>
+                <span v-if="info.brief && info.brief.length > 100">
+                  <span v-if="!is_show" class="anniu_btn" @click="is_show = true">《点击查看更多》</span>
+                  <span v-else class="anniu_btn" @click="is_show = false">《点击收起更多》</span>
+                </span>
               </div>
             </div>
           </div>
@@ -57,9 +63,9 @@
               <div class="title">
                 <p class="ellipsis-3">{{ info.name || '暂无' }}</p>
               </div>
-              <div class="address textOne">
+              <div class="address">
                 <el-icon color="#595959"><Location /></el-icon>
-                <span>{{ info.main || '暂无' }}</span>
+                <span class="textOne">{{ info.main || '暂无' }}</span>
               </div>
               <div class="biaoqian textOne">
                 <span v-if="info.technology">{{ info.technology }}</span>
@@ -200,7 +206,7 @@ const toMore = (type) => {
       padding: 50px;
       background: #fff;
       .info_left {
-        width: 288px;
+        width: 390px;
         .inose_top {
           font-size: $global-font-size-16;
           line-height: 30px;
@@ -212,9 +218,10 @@ const toMore = (type) => {
             align-items: center;
           }
           .ba_tile {
+            display: flex;
             .hui_text {
               color: #8a91b0;
-              width: 184px;
+              width: 268px;
               margin-left: 10px;
             }
           }
@@ -308,7 +315,7 @@ const toMore = (type) => {
           }
           .address {
             margin-top: 138px;
-            padding: 0 70px 0 5px;
+            padding: 0 65px 0 0;
             font-size: 26px;
             color: #282828;
             display: flex;

+ 1 - 1
src/views/four/index.vue

@@ -6,7 +6,7 @@
         <a-tabs v-model:activeKey="activeKey" centered>
           <a-tab-pane key="1" tab="全部"> </a-tab-pane>
           <a-tab-pane key="2" tab="找专家"> </a-tab-pane>
-          <a-tab-pane key="3" tab="找资源"> </a-tab-pane>
+          <a-tab-pane key="3" tab="找项目"> </a-tab-pane>
           <a-tab-pane key="4" tab="找需求"> </a-tab-pane>
           <a-tab-pane key="5" tab="更多+"> </a-tab-pane>
         </a-tabs>

+ 34 - 4
src/views/nine/index.vue

@@ -145,7 +145,6 @@
           <a-input class="input" size="large" v-model:value="searchForm.name" placeholder="成果名称" />
           <a-input class="input" size="large" v-model:value="searchForm.tags" placeholder="标签名称" />
           <a-input class="input" size="large" v-model:value="searchForm.source" placeholder="项目来源" />
-          <a-input class="input" size="large" v-model:value="searchForm.industry" placeholder="所属产业" />
           <a-button class="button" size="large" type="primary" @click="toSearchInfo">检索</a-button>
         </div>
       </div>
@@ -253,7 +252,7 @@ const search = async (query = { skip, limit }) => {
     limit: query.limit,
     ...searchForm.value
   }
-  const res = await store.query(info)
+  const res = await store.list(info)
   if (res.errcode == '0') {
     list.value = res.data
     total.value = res.total
@@ -309,7 +308,36 @@ const sizeChange = (limits) => {
   currentPage.value = 1
   search({ skip: 0, limit: limit })
 }
-const toSelect = (data, type) => {
+// 筛选条件
+const toSearchFind = async () => {
+  if (industry.value && industry.value.length > 0) {
+    searchForm.value.industryList = industry.value.map((i) => {
+      return i.title
+    })
+  } else if (field.value && field.value.length > 0) {
+    searchForm.value.fieldList = field.value.map((i) => {
+      return i.label
+    })
+  } else if (mature.value && mature.value.length > 0) {
+    searchForm.value.matureList = mature.value.map((i) => {
+      return i.value
+    })
+  } else if (sell.value && sell.value.length > 0) {
+    searchForm.value.sellList = sell.value.map((i) => {
+      return i.value
+    })
+  } else if (money.value && money.value.length > 0) {
+    searchForm.value.moneyList = money.value.map((i) => {
+      return i.value
+    })
+  } else if (city.value && city.value.length > 0) {
+    searchForm.value.cityList = city.value.map((i) => {
+      return i.name
+    })
+  } else searchForm.value = {}
+  await search({ skip, limit })
+}
+const toSelect = async (data, type) => {
   if (data.is_active) {
     toDel(data, type)
   } else {
@@ -405,8 +433,9 @@ const toSelect = (data, type) => {
       }
     }
   }
+  await toSearchFind()
 }
-const toDel = (data, type) => {
+const toDel = async (data, type) => {
   if (type == '1') {
     for (const val of plateList.value) {
       if (data.id == val.id) val.is_active = false
@@ -468,6 +497,7 @@ const toDel = (data, type) => {
       }
     }
   }
+  await toSearchFind()
 }
 </script>
 <style scoped lang="scss">

+ 23 - 4
src/views/seven/index.vue

@@ -181,8 +181,8 @@ const searchOther = async () => {
 const search = async (query = { skip, limit }) => {
   skip = query.skip
   limit = query.limit
-  const info = { skip: query.skip, limit: query.limit, ...searchForm.value }
-  const res = await store.query(info)
+  const info = { skip: query.skip, limit: query.limit, is_use: '0', status: '1', ...searchForm.value }
+  const res = await store.list(info)
   if (res.errcode == '0') {
     list.value = res.data
     total.value = res.total
@@ -206,7 +206,24 @@ const sizeChange = (limits) => {
   currentPage.value = 1
   search({ skip: 0, limit: limit })
 }
-const toSelect = (data, type) => {
+// 筛选条件
+const toSearchFind = async () => {
+  if (industry.value && industry.value.length > 0) {
+    searchForm.value.industryList = industry.value.map((i) => {
+      return i.title
+    })
+  } else if (field.value && field.value.length > 0) {
+    searchForm.value.fieldList = field.value.map((i) => {
+      return i.label
+    })
+  } else if (city.value && city.value.length > 0) {
+    searchForm.value.cityList = city.value.map((i) => {
+      return i.name
+    })
+  } else searchForm.value = {}
+  await search({ skip, limit })
+}
+const toSelect = async (data, type) => {
   if (data.is_active) {
     toDel(data, type)
   } else {
@@ -255,8 +272,9 @@ const toSelect = (data, type) => {
       }
     }
   }
+  await toSearchFind()
 }
-const toDel = (data, type) => {
+const toDel = async (data, type) => {
   if (type == '1') {
     for (const val of plateList.value) {
       if (data.id == val.id) val.is_active = false
@@ -288,6 +306,7 @@ const toDel = (data, type) => {
       }
     }
   }
+  await toSearchFind()
 }
 </script>
 <style scoped lang="scss">

+ 19 - 6
src/views/six/index.vue

@@ -158,10 +158,8 @@ const searchOther = async () => {
   plateList.value.unshift({ id: '-1', title: '不限', is_active: true })
 }
 const search = async (query = { skip, limit }) => {
-  skip = query.skip
-  limit = query.limit
-  const info = { skip: query.skip, limit: query.limit, ...searchForm.value }
-  const res = await store.query(info)
+  const info = { skip: query.skip, limit: query.limit, is_use: '0', status: '1', ...searchForm.value }
+  const res = await store.list(info)
   if (res.errcode == '0') {
     list.value = res.data
     total.value = res.total
@@ -188,7 +186,20 @@ const sizeChange = (limits) => {
 const getUrl = (item) => {
   if (item && item.length > 0) return `${import.meta.env.VITE_APP_HOST}${item[0].uri}`
 }
-const toSelect = (data, type) => {
+// 筛选条件
+const toSearchFind = async () => {
+  if (industry.value && industry.value.length > 0) {
+    searchForm.value.industryList = industry.value.map((i) => {
+      return i.title
+    })
+  } else if (city.value && city.value.length > 0) {
+    searchForm.value.cityList = city.value.map((i) => {
+      return i.name
+    })
+  } else searchForm.value = {}
+  await search({ skip, limit })
+}
+const toSelect = async (data, type) => {
   if (data.is_active) {
     toDel(data, type)
   } else {
@@ -224,8 +235,9 @@ const toSelect = (data, type) => {
       }
     }
   }
+  await toSearchFind()
 }
-const toDel = (data, type) => {
+const toDel = async (data, type) => {
   if (type == '1') {
     for (const val of plateList.value) {
       if (data.id == val.id) val.is_active = false
@@ -247,6 +259,7 @@ const toDel = (data, type) => {
       }
     }
   }
+  await toSearchFind()
 }
 </script>
 <style scoped lang="scss">

+ 22 - 4
src/views/thr/index.vue

@@ -113,13 +113,13 @@ const search = async (query = { skip, limit }) => {
   const info = {
     skip: query.skip,
     limit: query.limit,
-    // is_use: '0',
-    // status: '1',
+    is_use: '0',
+    status: '1',
     ...searchForm.value
   }
   let res
-  if (active.value == '0') res = await demandStore.query(info)
-  else res = await supplyStore.query(info)
+  if (active.value == '0') res = await demandStore.list(info)
+  else res = await supplyStore.list(info)
   if (res.errcode == '0') {
     list.value = res.data
     total.value = res.total
@@ -131,6 +131,23 @@ const toSearchInfo = async (data, type) => {
   searchForm.value = data
   await search({ skip, limit })
 }
+// 筛选条件
+const toSearchFind = async () => {
+  if (industry.value && industry.value.length > 0) {
+    searchForm.value.industryList = industry.value.map((i) => {
+      return i.title
+    })
+  } else if (field.value && field.value.length > 0) {
+    searchForm.value.fieldList = field.value.map((i) => {
+      return i.label
+    })
+  } else if (city.value && city.value.length > 0) {
+    searchForm.value.cityList = city.value.map((i) => {
+      return i.name
+    })
+  } else searchForm.value = {}
+  await search({ skip, limit })
+}
 const currentPage = ref(1)
 // 分页
 const changePage = (page = currentPage.value) => {
@@ -151,6 +168,7 @@ provide('total', total)
 provide('sizeChange', sizeChange)
 provide('changePage', changePage)
 provide('toSearchInfo', toSearchInfo)
+provide('toSearchFind', toSearchFind)
 provide('searchForm', searchForm)
 provide('industry', industry)
 provide('field', field)

+ 5 - 3
src/views/thr/parts/demand.vue

@@ -119,7 +119,7 @@ import { get } from 'lodash-es'
 const router = useRouter()
 const list = inject('list')
 const total = inject('total')
-const toSearchInfo = inject('toSearchInfo')
+const toSearchFind = inject('toSearchFind')
 const sizeChange = inject('sizeChange')
 const changePage = inject('changePage')
 const plateList = inject('plateList')
@@ -160,7 +160,7 @@ const getDict = (data, model) => {
     return get(res, 'label')
   }
 }
-const toSelect = (data, type) => {
+const toSelect = async (data, type) => {
   if (data.is_active) {
     toDel(data, type)
   } else {
@@ -209,8 +209,9 @@ const toSelect = (data, type) => {
       }
     }
   }
+  await toSearchFind()
 }
-const toDel = (data, type) => {
+const toDel = async (data, type) => {
   if (type == '1') {
     for (const val of plateList.value) {
       if (data.id == val.id) val.is_active = false
@@ -242,6 +243,7 @@ const toDel = (data, type) => {
       }
     }
   }
+  await toSearchFind()
 }
 </script>
 <style scoped lang="scss">

+ 5 - 2
src/views/thr/parts/supply.vue

@@ -118,6 +118,7 @@
 const router = useRouter()
 const list = inject('list')
 const total = inject('total')
+const toSearchFind = inject('toSearchFind')
 const toSearchInfo = inject('toSearchInfo')
 const sizeChange = inject('sizeChange')
 const changePage = inject('changePage')
@@ -143,7 +144,7 @@ const column = ref([
 const toView = (item) => {
   router.push({ path: '/supply/detail', query: { id: item.id || item._id } })
 }
-const toSelect = (data, type) => {
+const toSelect = async (data, type) => {
   if (data.is_active) {
     toDel(data, type)
   } else {
@@ -192,8 +193,9 @@ const toSelect = (data, type) => {
       }
     }
   }
+  await toSearchFind()
 }
-const toDel = (data, type) => {
+const toDel = async (data, type) => {
   if (type == '1') {
     for (const val of plateList.value) {
       if (data.id == val.id) val.is_active = false
@@ -225,6 +227,7 @@ const toDel = (data, type) => {
       }
     }
   }
+  await toSearchFind()
 }
 </script>
 <style scoped lang="scss">

+ 2 - 2
src/views/two/parts/demand.vue

@@ -11,12 +11,12 @@
       </el-form-item>
       <el-form-item label="需求紧急度" prop="urgent">
         <el-select size="large" v-model="form.urgent" clearable placeholder="请选择需求紧急度">
-          <el-option v-for="(item, index) in urgentList" :key="index" :label="item.label" :value="item.value" />
+          <el-option v-for="(item, index) in urgentList" :key="index" :label="item.label" :value="item.label" />
         </el-select>
       </el-form-item>
       <el-form-item label="合作方式" prop="method">
         <el-select size="large" v-model="form.method" clearable placeholder="请选择合作方式">
-          <el-option v-for="(item, index) in methodList" :key="index" :label="item.label" :value="item.value" />
+          <el-option v-for="(item, index) in methodList" :key="index" :label="item.label" :value="item.label" />
         </el-select>
       </el-form-item>
       <el-form-item label="价格(万元)" prop="money">

+ 2 - 2
src/views/two/parts/supply.vue

@@ -11,12 +11,12 @@
       </el-form-item>
       <el-form-item label="供应紧急度" prop="urgent">
         <el-select size="large" v-model="form.urgent" clearable placeholder="请选择供应紧急度">
-          <el-option v-for="(item, index) in urgentList" :key="index" :label="item.label" :value="item.value" />
+          <el-option v-for="(item, index) in urgentList" :key="index" :label="item.label" :value="item.label" />
         </el-select>
       </el-form-item>
       <el-form-item label="合作方式" prop="method">
         <el-select size="large" v-model="form.method" clearable placeholder="请选择合作方式">
-          <el-option v-for="(item, index) in methodList" :key="index" :label="item.label" :value="item.value" />
+          <el-option v-for="(item, index) in methodList" :key="index" :label="item.label" :value="item.label" />
         </el-select>
       </el-form-item>
       <el-form-item label="价格(万元)" prop="money">