|
@@ -20,13 +20,14 @@
|
|
|
<link rel="stylesheet" type="text/css" href='{{Msg "seo" "cdn"}}/pccss/public-nav-1200.css?v={{Msg "seo" "version"}}' />
|
|
|
<script type="text/javascript" src='{{Msg "seo" "cdn"}}/js/public-nav.js?v={{Msg "seo" "version"}}'></script>
|
|
|
<script src='{{Msg "seo" "cdn"}}/js/jquery.cookie.js'></script>
|
|
|
- <link href="//cdn-common.jianyu360.com/cdn/lib/element-ui/2.15.13-rc/lib/theme-chalk/index.css" rel="stylesheet" />
|
|
|
+ <link href="https://cdn-common.jianyu360.com/cdn/lib/element-ui/2.15.13-rc/lib/theme-chalk/index.css" rel="stylesheet" />
|
|
|
<link rel="stylesheet" href='{{Msg "seo" "cdn"}}/css/selector/selector.css?v={{Msg "seo" "version"}}'>
|
|
|
- <link href="//cdn-common.jianyu360.com/cdn/assets/iconfont/pc/23.8.30/iconfont.css" rel="stylesheet" />
|
|
|
+ <link href="https://cdn-common.jianyu360.com/cdn/assets/iconfont/pc/23.8.30/iconfont.css" rel="stylesheet" />
|
|
|
<link href='{{Msg "seo" "cdn"}}/css/collect-user-info.css?v={{Msg "seo" "version"}}' rel="stylesheet">
|
|
|
<link href='{{Msg "seo" "cdn"}}/css/ele-reset.css?v={{Msg "seo" "version"}}' rel="stylesheet">
|
|
|
<link rel="stylesheet" href='{{Msg "seo" "cdn"}}/css/selector/selector.css?v={{Msg "seo" "version"}}'>
|
|
|
- <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/v-charts/1.19.0/style.min.css />
|
|
|
+ <link rel="stylesheet" href='{{Msg "seo" "cdn"}}/css/selector/select-card.css?v={{Msg "seo" "version"}}'>
|
|
|
+ <link rel="stylesheet" href=https://cdn-common.jianyu360.com/cdn/lib/v-charts/1.19.0/style.min.css />
|
|
|
<!-- 原页面head内写的样式 移至superSearch-inside.css里 写到页面里打脸 -->
|
|
|
<link rel="stylesheet" href='{{Msg "seo" "cdn"}}/css/dev2/superSearch-inside.css?v={{Msg "seo" "version"}}'>
|
|
|
<link rel="stylesheet" href='{{Msg "seo" "cdn"}}/css/advanced/index.css?v={{Msg "seo" "version"}}'>
|
|
@@ -161,9 +162,12 @@
|
|
|
$(function(){
|
|
|
|
|
|
// console.log("是否有会员筛选权限 showVipScreen", {{.T.showVipScreen}})
|
|
|
-
|
|
|
- var oInput=document.getElementById("searchinput");
|
|
|
- moveEnd(oInput)
|
|
|
+ try {
|
|
|
+ var oInput=document.getElementById("searchinput");
|
|
|
+ moveEnd(oInput)
|
|
|
+ } catch (error) {
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
$(".working").show();
|
|
|
|
|
@@ -691,7 +695,7 @@
|
|
|
<!--搜索头部 START-->
|
|
|
<div class="searchHeader">
|
|
|
<div class="w searchHeader-container">
|
|
|
- <div class="search-tabs">
|
|
|
+ <div class="search-tabs" v-if="!inBIPropertyiframe">
|
|
|
<span class="search-tab-item search-tab-item-0 nologin-hide" :class="{'tab-active': searchTab === 0}" @click="onSearchTab(0)">全部</span>
|
|
|
<span class="search-tab-item search-tab-item-1" :class="{'tab-active': searchTab === 1}" @click="onSearchTab(1)">招标采购公告</span>
|
|
|
<span class="search-tab-item badge-recommend nologin-hide" :class="{'tab-active': searchTab === 2}" @click="onSearchTab(2)">超前项目</span>
|
|
@@ -785,7 +789,7 @@
|
|
|
</div>
|
|
|
<!--领域化页面不展示-->
|
|
|
{{if not .T.bidField}}
|
|
|
- <el-badge value="限免" type="danger" class="publish-button" v-if="!inResourceBIiframe">
|
|
|
+ <el-badge value="限免" type="danger" class="publish-button" v-if="!inResourceBIiframe && !inBIPropertyiframe">
|
|
|
<el-button type="primary" id="setInfoBtn" round @click="goToPublish">信息发布</el-button>
|
|
|
</el-badge>
|
|
|
{{end}}
|
|
@@ -888,7 +892,7 @@
|
|
|
<div class="f-h-label" :class="showFilter ? 'caret-up' : 'caret-down'" @click="toggleFilter">
|
|
|
<span>筛选条件</span>
|
|
|
</div>
|
|
|
- <div class="f-h-action nologin-hide">
|
|
|
+ <div class="f-h-action nologin-hide" v-if="!inBIPropertyiframe">
|
|
|
<span class="action-item reset-item" @click="onResetFilter">重置筛选条件</span>
|
|
|
<span class="action-item has-item" @click="onHasFilter">已存筛选条件 ${filterCounts}</span>
|
|
|
<span class="action-item save-item" @click="onSaveFilter">保存筛选条件</span>
|
|
@@ -898,6 +902,7 @@
|
|
|
<!-- slideUp、slideDown动画效果 -->
|
|
|
<el-collapse-transition>
|
|
|
<div class="filter-container" v-show="showFilter">
|
|
|
+ <div v-if="!inBIPropertyiframe">
|
|
|
<!--发布时间-->
|
|
|
<!-- 没有登陆或者为VIP走旧的展示筛选项逻辑,登录的普通用户展示引导开通VIP的控件样式 -->
|
|
|
<div class="release-time clearfix" v-if = "vipState || !islogin">
|
|
@@ -1130,7 +1135,7 @@
|
|
|
<!-- <div class="selector-card" style="border-bottom: 1px dashed #e0e0e0; ">
|
|
|
<div class="selector-card-header" style="padding:4px 15px 4px 0px;min-width: 94px;margin-right: 0;">项目地区:</div>
|
|
|
<div class="selector-card-content">
|
|
|
- <area-city-component ref="areaRefs" :show-selected-list="false" @change="areaCityChange" :before-city-selected="beforeCitySelected">
|
|
|
+ <area-city-component ref="areaRefs" :show-initial="false" :show-selected-list="false" @change="areaCityChange" :before-city-selected="beforeCitySelected">
|
|
|
<div slot="city-list-divide" style="display: inline-block;">市级:<img class="icon-vip" src="/images/biddingSearch/VIP.png" alt="" style="width:38px;height:18px;"></div>
|
|
|
</area-city-component>
|
|
|
</div>
|
|
@@ -1438,9 +1443,223 @@
|
|
|
</div>
|
|
|
<keyword-tags-component onClick="if(!vipState) return openVipDialog();" class="notkey-component" :before-change="onNotBeforeChange" :disabled="!vipState" :list="notkeyTags" placeholder="请输入不希望包含的关键词" @change="onNotKeyChange"></keyword-tags-component>
|
|
|
</div> -->
|
|
|
+ </div>
|
|
|
+ <div class="property-filter" v-else>
|
|
|
+ <!--地区-->
|
|
|
+ <div class="selector-card property-card" style="border-bottom: 1px solid #e0e0e0; ">
|
|
|
+ <div class="selector-card-header" style="padding:4px 15px 4px 0px;min-width: 94px;margin-right: 0;">地区:</div>
|
|
|
+ <div class="selector-card-content" :class="{'area-card-content': showMoreAreaState}">
|
|
|
+ <area-city-component ref="areaRefs" :show-initial="false" :show-selected-list="false" @show="showMoreAreaState = false;$('.el-icon-arrow-down').css('transform', 'rotate(180deg)')" @change="areaCityChange" :before-city-selected="beforeCitySelected">
|
|
|
+ <!-- <div slot="city-list-divide" style="display: inline-block;">市级:<img class="icon-vip" src="/images/biddingSearch/VIP.png" alt="" style="width:38px;height:18px;"></div> -->
|
|
|
+ </area-city-component>
|
|
|
+ <div class="area_more_btn" @click="showMoreArea" style="position: absolute;right: 0;top: 12px;cursor: pointer;">
|
|
|
+ <span style="font-size: 12px;color: #686868;">更多</span>
|
|
|
+ <i class="el-icon-arrow-down"></i>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 到期时间 -->
|
|
|
+ <div class="release-time clearfix flex-auto property-card" style="border-bottom: 1px solid #e0e0e0;">
|
|
|
+ <div class="leftTitle">
|
|
|
+ 到期时间:
|
|
|
+ </div>
|
|
|
+ <div class="fl timer" style="margin-left: 6px;">
|
|
|
+ <ul>
|
|
|
+ <li id="expireTimerAll" class="active" data-value="">全部</li>
|
|
|
+ <li data-value="1">本月到期</li>
|
|
|
+ <li data-value="1-3">1-3个月到期</li>
|
|
|
+ <li data-value="3-6">3-6个月到期</li>
|
|
|
+ <li data-value="6-12">6-12个月到期</li>
|
|
|
+ <li data-value="12">12个月后到期</li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ <div class="timerInput fl" style="margin-left: 12px;">
|
|
|
+ <input type="text" onClick="WdatePicker({onclearing:function(){onclearing(this)},onpicked:function(dp){picked(dp,this)},onpicking:function(dp){onpicking(dp,this)},dateFmt:'yyyy年MM月dd日',maxDate:'#F{$dp.$D(\'endtime\')}'})" id="starttime" readonly="true" placeholder="" />
|
|
|
+ <span></span>
|
|
|
+ <input type="text" name="maxtime" onClick="WdatePicker({onclearing:function(){onclearing(this)},onpicked:function(dp){picked(dp,this)},onpicking:function(dp){onpicking(dp,this)},dateFmt:'yyyy年MM月dd日',minDate:'#F{$dp.$D(\'starttime\')}'})" id="endtime" readonly="true" placeholder="" />
|
|
|
+ <button class="fl" id="timebut" style="display:none;">确定</button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 业务类型、物业业态、合作周期、价格区间 -->
|
|
|
+ <!-- propertyListData -->
|
|
|
+ <div>
|
|
|
+ <div class="selector-card property-card" style="border-bottom: 1px solid #e0e0e0;" v-for="(item, index) in Object.keys(propertyListData)">
|
|
|
+ <div class="selector-card-header" style="padding:4px 16px 4px 0px;min-width: 94px;margin-right: 0;">${item}:</div>
|
|
|
+ <div class="selector-card-content">
|
|
|
+ <el-checkbox-group class="j-checkbox-group" v-model="filterProperty[filterFiled[item]]" @change="onStateChange(item, filterProperty[filterFiled[item]])">
|
|
|
+ <el-checkbox-button class="j-checkbox-button" :class="{ 'is-checked': filterProperty[filterFiled[item]].indexOf('全部') > -1 }" label="全部">全部</el-checkbox-button>
|
|
|
+ <el-checkbox-button
|
|
|
+ class="j-checkbox-button"
|
|
|
+ v-for="state in propertyListData[item]"
|
|
|
+ :key="state"
|
|
|
+ :label="state.name">
|
|
|
+ </el-checkbox-button>
|
|
|
+ </el-checkbox-group>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 更多筛选条件 -->
|
|
|
+ <div class="other-filter clearfix" style="display: none; border-top: none;">
|
|
|
+ <div class="leftTitle lh-22">更多筛选:</div>
|
|
|
+ <div class="other-content" style="position: relative;margin-left: 6px;">
|
|
|
+ <div class="one-filter clearfix">
|
|
|
+ <!--领域化页面不展示-->
|
|
|
+ <!-- 搜索范围 -->
|
|
|
+ <div class="select-searchRange mr-16">
|
|
|
+ <div id="selectArea_">
|
|
|
+ <div class="valueBox"><span v-text="'搜索范围'"></span><span v-text="getSearchRangeLength" class="hightlight" v-show="getSearchRangeLength"></span><span v-show="getSearchRangeLength">个</span></div>
|
|
|
+ <el-select ref="selectchoose" placeholder="" v-model="selectValue" class="select_common" popper-class="select_common_data">
|
|
|
+ <div slot="empty">
|
|
|
+ <el-checkbox-group class="search-checkbox" v-model="filterProperty.searchCheckList" @change="onSearchRangeChange()">
|
|
|
+ <el-checkbox label="标题"></el-checkbox>
|
|
|
+ <el-checkbox label="正文"></el-checkbox>
|
|
|
+ <el-checkbox label="附件"></el-checkbox>
|
|
|
+ <el-checkbox label="项目名称/标的物"></el-checkbox>
|
|
|
+ <div style="display: flex;align-items: center;">
|
|
|
+ <el-checkbox label="采购单位"></el-checkbox>
|
|
|
+ <el-tooltip class="item" effect="dark" content="“采购单位”采购单位名称中包含输入关键词的会展示出来" placement="top">
|
|
|
+ <img src="{{Msg "seo" "cdn"}}/images/biddingSearch/info-icon1.png?v={{Msg "seo" "version"}}" alt="" class="desc-icon tooltip-help-btn">
|
|
|
+ </el-tooltip>
|
|
|
+ </div>
|
|
|
+ <div style="display: flex;align-items: center;">
|
|
|
+ <el-checkbox label="中标企业"></el-checkbox>
|
|
|
+ <el-tooltip class="item" effect="dark" content="“中标企业”中标企业名称中包含输入关键词的会展示出来" placement="top">
|
|
|
+ <img src="{{Msg "seo" "cdn"}}/images/biddingSearch/info-icon1.png?v={{Msg "seo" "version"}}" alt="" class="desc-icon tooltip-help-btn">
|
|
|
+ </el-tooltip>
|
|
|
+ </div>
|
|
|
+ <div style="display: flex;align-items: center;">
|
|
|
+ <el-checkbox label="招标代理机构"></el-checkbox>
|
|
|
+ <el-tooltip class="item" effect="dark" content="“招标代理机构”招标代理机构中包含输入关键词的会展示出来" placement="top">
|
|
|
+ <img src="{{Msg "seo" "cdn"}}/images/biddingSearch/info-icon1.png?v={{Msg "seo" "version"}}" alt="" class="desc-icon tooltip-help-btn">
|
|
|
+ </el-tooltip>
|
|
|
+ </div>
|
|
|
+ </el-checkbox-group>
|
|
|
+ </div>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 信息类型下拉筛选 -->
|
|
|
+ <div class="select-industry mr-16">
|
|
|
+ <select-areachoose ref='selectInfoType' :list-data="infoTypeDataProperty" :value-label="'信息类型'" left-tit="一级分类" right-tit="二级分类" :login="islogin" :type="'infoTypeProperty'" @datachange = "infoTypeChange">
|
|
|
+ </select-areachoose>
|
|
|
+ </div>
|
|
|
+ <!-- 发布时间 -->
|
|
|
+ <div class="selector-card file mr-16 property-placeholder" style="position: relative;">
|
|
|
+ <div class="selector-card-content flex mini-select">
|
|
|
+ <el-select v-model = "filterProperty.publishtimeValue" placeholder="发布时间" @change="changePublishtime" class="selefile" popper-class="select_common_data">
|
|
|
+ <el-option
|
|
|
+ v-for="item in publishtimeOptions"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :disabled="item.disabled"
|
|
|
+ :value="item.value">
|
|
|
+ <div class="custom-property-time" @click="handleClick" v-if="item.label == '自定义'">
|
|
|
+ <div style="font-size: 14px;color: #1D1D1D;">自定义</div>
|
|
|
+ <img style="width: 16px;" src="/images/more_.png" alt="">
|
|
|
+ <div class="date-select-property">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="datePropertyValue"
|
|
|
+ @focus="getFocus"
|
|
|
+ popper-class="propertyDatePicker"
|
|
|
+ @change="changePublishtimeCustom"
|
|
|
+ type="daterange"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 换手率 -->
|
|
|
+ <div class="selector-card file mr-16 property-placeholder">
|
|
|
+ <div class="selector-card-content flex mini-select">
|
|
|
+ <el-select v-model = "filterProperty.changehand" @change="onAttachClick_hsl" placeholder="换手率" class="selefile" popper-class="select_common_data">
|
|
|
+ <el-option
|
|
|
+ label="不限"
|
|
|
+ value="0">
|
|
|
+ </el-option>
|
|
|
+ <el-option
|
|
|
+ label="到期换手率高"
|
|
|
+ value="1">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <el-tooltip class="item" effect="dark" content="换手率说明:采购单位的历史物业项目中标单位更换频次统计。" placement="top">
|
|
|
+ <img style="margin: 8px 8px 0 -8px;" src="{{Msg "seo" "cdn"}}/images/biddingSearch/info-icon1.png?v={{Msg "seo" "version"}}" alt="" class="desc-icon tooltip-help-btn">
|
|
|
+ </el-tooltip>
|
|
|
+ </div>
|
|
|
+ <!-- 附件 -->
|
|
|
+ <div class="selector-card file mr-16">
|
|
|
+ <div class="selector-card-content flex mini-select">
|
|
|
+ <el-select :value = "attachVal | filters_" @change="onAttachClick" placeholder="附件" @visible-change="handleExpand" class="selefile" popper-class="select_common_data">
|
|
|
+ <el-option
|
|
|
+ v-for="item in selectorlist"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="two-filter clearfix">
|
|
|
+ <div class="selector-card file mr-16">
|
|
|
+ <div class="selector-card-content flex mini-select">
|
|
|
+ <el-select :value = "attachVal_cg | filters_cg" @change="onAttachClick_cg" placeholder="采购单位联系方式" class="selefile" popper-class="select_common_data">
|
|
|
+ <el-option
|
|
|
+ label="不限"
|
|
|
+ value="">
|
|
|
+ </el-option>
|
|
|
+ <el-option
|
|
|
+ label="有采购单位联系方式"
|
|
|
+ value="y">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="selector-card file mr-16">
|
|
|
+ <div class="selector-card-content flex mini-select">
|
|
|
+ <el-select :value = "attachVal_zb | filters_zb" @change="onAttachClick_zb" placeholder="中标企业联系方式" class="selefile" popper-class="select_common_data">
|
|
|
+ <el-option
|
|
|
+ label="不限"
|
|
|
+ value="">
|
|
|
+ </el-option>
|
|
|
+ <el-option
|
|
|
+ label="有中标企业联系方式"
|
|
|
+ value="y">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="selector-notkey">
|
|
|
+ <div class="selectNotkey" id="selectArea_">
|
|
|
+ <div class="valueBox">
|
|
|
+ <span class="title">排除词 </span><span class="hightlight num_" >${notkeyTags.length || 0}</span><span class="value_ hightlight">/5</span>
|
|
|
+ </div>
|
|
|
+ <el-select ref="selectchoose" :placeholder="''" :value="''" :popper-append-to-body="false" class="select_common" popper-class="select_common_data select_Notkey">
|
|
|
+ <div slot="empty" class="select_box notkeyBox">
|
|
|
+ <div class="key_box clearfix">
|
|
|
+ <keyword-tags-componentnew onClick="if(!vipState) return openVipDialog();" class="notkey-component" :before-change="onNotBeforeChange" :disabled="!vipState" :list="notkeyTags" placeholder="请输入不希望包含的关键词" @change="onNotKeyChange"></keyword-tags-componentnew>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</el-collapse-transition>
|
|
|
</div>
|
|
|
+ <el-dialog custom-class="property-employ-dialog" :visible.sync="showPropertyDialog">
|
|
|
+ <iframe width="600" height="650" :src="IframeSrc" frameborder="0"></iframe>
|
|
|
+ </el-dialog>
|
|
|
<!-- 展开收起 -->
|
|
|
<div class="w" style="text-align: center;" v-show="showFilter">
|
|
|
<!-- <div class="fold" id="fold">
|
|
@@ -1580,8 +1799,8 @@
|
|
|
<div class="split-line line-distribute" style="display: none;"></div>
|
|
|
<button id="right-distribute" style="display: none;">分发</button>
|
|
|
<template v-if="inResourceBIiframe">
|
|
|
- <div class="split-line"></div>
|
|
|
- <button id="right-employ">收录</button>
|
|
|
+ <div class="split-line shoulu-line" style="display: none;"></div>
|
|
|
+ <button id="right-employ" style="display: none;">收录</button>
|
|
|
</template>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -1909,9 +2128,11 @@
|
|
|
<script src='{{Msg "seo" "cdn"}}/common-module/selector/js/static-data.js?v={{Msg "seo" "version"}}'></script>
|
|
|
<script src='{{Msg "seo" "cdn"}}/common-module/collection/js/visited.js?v={{Msg "seo" "version"}}'></script>
|
|
|
<script src="https://cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js"></script>
|
|
|
-<script src="//cdn-common.jianyu360.com/cdn/lib/element-ui/2.15.13-rc/lib/index.js"></script>
|
|
|
+<script src="https://cdn-common.jianyu360.com/cdn/lib/element-ui/2.15.13-rc/lib/index.js"></script>
|
|
|
<script src='{{Msg "seo" "cdn"}}/big-member/js/utils.js?v={{Msg "seo" "version"}}'></script>
|
|
|
<script src='{{Msg "seo" "cdn"}}/js/selector/area-city-pc.js?v={{Msg "seo" "version"}}'></script>
|
|
|
+<script src='{{Msg "seo" "cdn"}}/js/selector/select-card.js?v={{Msg "seo" "version"}}'></script>
|
|
|
+<script src='{{Msg "seo" "cdn"}}/js/selector/info-type-data.js?v={{Msg "seo" "version"}}'></script>
|
|
|
<script src='{{Msg "seo" "cdn"}}/js/selector/keyword-tags.js?v={{Msg "seo" "version"}}'></script>
|
|
|
<script src='{{Msg "seo" "cdn"}}/js/selector/keyword-tags-new.js?v={{Msg "seo" "version"}}'></script>
|
|
|
<script src='{{Msg "seo" "cdn"}}/js/selector/area-city-data.js?v={{Msg "seo" "version"}}'></script>
|
|
@@ -1920,9 +2141,10 @@
|
|
|
<script src='{{Msg "seo" "cdn"}}/common-module/selector/js/buyerClass.js?v={{Msg "seo" "version"}}'></script>
|
|
|
<script src='{{Msg "seo" "cdn"}}/common-module/selector/js/province_city.js?v={{Msg "seo" "version"}}'></script>
|
|
|
<script src='{{Msg "seo" "cdn"}}/public-pc/js/workspace-desc.js?v={{Msg "seo" "version"}}'></script>
|
|
|
-<script src=//cdn-common.jianyu360.com/cdn/lib/echarts/4.8.0/echarts.min.js></script>
|
|
|
-<script src=//cdn-common.jianyu360.com/cdn/lib/v-charts/1.19.0/index.min.js></script>
|
|
|
-<script src=//cdn-common.jianyu360.com/cdn/lib/lodash/4.17.21/lodash.min.js></script>
|
|
|
+<script src='{{Msg "seo" "cdn"}}/common-module/selector/js/provinceMap.js?v={{Msg "seo" "version"}}'></script>
|
|
|
+<script src="https://cdn-common.jianyu360.com/cdn/lib/echarts/4.8.0/echarts.min.js"></script>
|
|
|
+<script src="https://cdn-common.jianyu360.com/cdn/lib/v-charts/1.19.0/index.min.js"></script>
|
|
|
+<script src="https://cdn-common.jianyu360.com/cdn/lib/lodash/4.17.21/lodash.min.js"></script>
|
|
|
<script src='{{Msg "seo" "cdn"}}/common-module/chart-module/js/chart-common.js?v={{Msg "seo" "version"}}'></script>
|
|
|
<script type="text/javascript">
|
|
|
$(function(){
|
|
@@ -2891,7 +3113,11 @@ function checkTagDisabled () {
|
|
|
aHref += 'industry='+dataindustry;
|
|
|
}
|
|
|
if (getParam('resource') === 'BI') {
|
|
|
- aHref += aHref.indexOf('?') > -1 ? '&resource=BI' : '?resource=BI'
|
|
|
+ if(getParam('property') === 'BIProperty') {
|
|
|
+ aHref += aHref.indexOf('?') > -1 ? '&resource=BI&property=BIProperty' : '?resource=BI&property=BIProperty'
|
|
|
+ } else {
|
|
|
+ aHref += aHref.indexOf('?') > -1 ? '&resource=BI' : '?resource=BI'
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
try {
|
|
@@ -2982,7 +3208,8 @@ function checkTagDisabled () {
|
|
|
delimiters: ['${', '}'],
|
|
|
mixins: [workspaceDescMixin],
|
|
|
components: {
|
|
|
- // areaCityComponent: areaCityComponent,
|
|
|
+ selectCardComponent: selectCardComponent,
|
|
|
+ areaCityComponent: areaCityComponent,
|
|
|
keywordTagsComponent: keywordTagsComponent,
|
|
|
selectAreachoose:selectAreachoose,
|
|
|
keywordTagsComponentnew:keywordTagsComponentnew,
|
|
@@ -2992,6 +3219,7 @@ function checkTagDisabled () {
|
|
|
return {
|
|
|
showPage: true,
|
|
|
inResourceBIiframe: getParam('resource') === 'BI',
|
|
|
+ inBIPropertyiframe: getParam('property') === 'BIProperty', // 物业专版
|
|
|
listState: {
|
|
|
prevPageNum: 1,
|
|
|
size: pageSize,
|
|
@@ -3098,7 +3326,60 @@ function checkTagDisabled () {
|
|
|
buyerclass_data:[],
|
|
|
isOld:'',
|
|
|
regionMap: {}, // 省市县区数据
|
|
|
- initAreaMap: '' // 省市区组件回显
|
|
|
+ initAreaMap: '', // 省市区组件回显
|
|
|
+ filterFiled: {
|
|
|
+ '业务类型': 'subinformation',
|
|
|
+ '物业业态': 'propertyForm',
|
|
|
+ '合同周期': 'period',
|
|
|
+ '价格区间': 'scale',
|
|
|
+ },
|
|
|
+ filterProperty: { // 物业专版筛选条件
|
|
|
+ expireTime: '', // 到期时间
|
|
|
+ subinformation: ['全部'], // 业务类型
|
|
|
+ propertyForm: ['全部'], // 物业业态
|
|
|
+ period: ['全部'], // 合同周期
|
|
|
+ scale: ['全部'], // 价格区间
|
|
|
+ searchCheckList: ['标题', '正文'], // 搜索范围
|
|
|
+ changehand: '', // 换手率
|
|
|
+ publishtimeValue: '', // 发布时间
|
|
|
+ subType: ''
|
|
|
+ },
|
|
|
+ apiFilterProperty: {
|
|
|
+ expireTime: '', // 到期时间
|
|
|
+ subinformation: [], // 业务类型
|
|
|
+ propertyForm: [], // 物业业态
|
|
|
+ period: [], // 合同周期
|
|
|
+ scale: [], // 价格区间
|
|
|
+ searchCheckList: ['title', 'content'], // 搜索范围
|
|
|
+ changehand: '', // 换手率
|
|
|
+ publishtimeValue: 'fiveyear',
|
|
|
+ subType: ''
|
|
|
+ },
|
|
|
+ selectValue: '',
|
|
|
+ publishtimeOptions: [{
|
|
|
+ value: 'lately-7',
|
|
|
+ label: '最近7天'
|
|
|
+ }, {
|
|
|
+ value: 'lately-30',
|
|
|
+ label: '最近30天'
|
|
|
+ }, {
|
|
|
+ value: 'thisyear',
|
|
|
+ label: '最近1年'
|
|
|
+ }, {
|
|
|
+ value: 'threeyear',
|
|
|
+ label: '最近3年'
|
|
|
+ }, {
|
|
|
+ value: 'fiveyear',
|
|
|
+ label: '最近5年'
|
|
|
+ }, {
|
|
|
+ value: 'custom',
|
|
|
+ label: '自定义'
|
|
|
+ }],
|
|
|
+ propertyListData: [],
|
|
|
+ showMoreAreaState: true,
|
|
|
+ datePropertyValue: '',
|
|
|
+ showPropertyDialog: false,
|
|
|
+ IframeSrc: '/succbi/crm_system/app/crm.app/%E9%80%9A%E7%94%A8%E5%88%9B%E5%BB%BA/create_intelligence.spg'
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
@@ -3183,11 +3464,19 @@ function checkTagDisabled () {
|
|
|
},
|
|
|
canShowFixedTableHeader: function () {
|
|
|
return this.tableHeaderShow && this.tableFixedTop
|
|
|
- }
|
|
|
+ },
|
|
|
+ getSearchRangeLength: function () {
|
|
|
+ return this.filterProperty.searchCheckList.length
|
|
|
+ },
|
|
|
},
|
|
|
watch: {
|
|
|
'listState.allCount': function (val) {
|
|
|
this.bidTotalCount()
|
|
|
+ },
|
|
|
+ 'filterProperty.searchCheckList': function (newval, oldval) {
|
|
|
+ if (newval.length === 0) {
|
|
|
+ this.filterProperty.searchCheckList = oldval
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
created: function () {
|
|
@@ -3210,6 +3499,28 @@ function checkTagDisabled () {
|
|
|
window.addEventListener('scroll', this.watchScroll)
|
|
|
})
|
|
|
this.getFilterList()
|
|
|
+ if(this.inBIPropertyiframe) {
|
|
|
+ // 物业专版筛选条件
|
|
|
+ this.getPropertyFilters()
|
|
|
+ const _this = this
|
|
|
+ window.addEventListener('storage', (event) => {
|
|
|
+ console.info(event.storageArea)
|
|
|
+ if (event.key === 'Op-upState') {
|
|
|
+ sessionStorage.removeItem('Op-upState', "0")
|
|
|
+ _this.showPropertyDialog = false
|
|
|
+ }
|
|
|
+ if(!_this.showPropertyDialog){
|
|
|
+ if(event.storageArea.return_status == '1') {
|
|
|
+ let propertyData = localStorage.getItem('property-data')
|
|
|
+ if(propertyData) {
|
|
|
+ propertyData = JSON.parse(propertyData)
|
|
|
+ $('.icon-shoulu[dataid="' + propertyData._id + '"]').removeClass('icon-a-Property1shoulu').addClass('icon-a-Property1yishoulu')
|
|
|
+ }
|
|
|
+ sessionStorage.removeItem('return_status')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
},
|
|
|
destroyed: function () {
|
|
|
window.removeEventListener('scroll', this.watchScroll)
|
|
@@ -3223,6 +3534,20 @@ function checkTagDisabled () {
|
|
|
}
|
|
|
|
|
|
},
|
|
|
+ filters_hsl: function(val){
|
|
|
+ if(val == ''){
|
|
|
+ return '换手率'
|
|
|
+ }else{
|
|
|
+ return val
|
|
|
+ }
|
|
|
+ },
|
|
|
+ filters_fbtime: function(val){
|
|
|
+ if(val == ''){
|
|
|
+ return '发布时间'
|
|
|
+ }else{
|
|
|
+ return val
|
|
|
+ }
|
|
|
+ },
|
|
|
filters_cg: function(val){
|
|
|
if(val == ''){
|
|
|
return '采购单位联系方式'
|
|
@@ -3241,6 +3566,88 @@ function checkTagDisabled () {
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ handleClick (e) {
|
|
|
+ e.stopPropagation()
|
|
|
+ $('.el-date-editor').trigger('click')
|
|
|
+ },
|
|
|
+ // 物业-发布时间
|
|
|
+ changePublishtime (data) {
|
|
|
+ this.apiFilterProperty.publishtimeValue = data
|
|
|
+ this.filterProperty.publishtimeValue = data
|
|
|
+ doSearch()
|
|
|
+ },
|
|
|
+ // 物业-发布时间-自定义
|
|
|
+ changePublishtimeCustom(data) {
|
|
|
+ const start = new Date(data[0]).getTime()
|
|
|
+ const end = new Date(data[1]).getTime()
|
|
|
+ this.filterProperty.publishtimeValue = new Date(start).Format("yyyy年MM月dd日") + '-' + new Date(end).Format("yyyy年MM月dd日")
|
|
|
+ this.apiFilterProperty.publishtimeValue = (start / 1000) + '_' + (end / 1000)
|
|
|
+ doSearch()
|
|
|
+ },
|
|
|
+ getFocus () {},
|
|
|
+ // 物业-搜索范围
|
|
|
+ onSearchRangeChange () {
|
|
|
+ if(!this.filterProperty.searchCheckList.length) return
|
|
|
+ this.apiFilterProperty.searchCheckList = []
|
|
|
+ this.filterProperty.searchCheckList.forEach(v => {
|
|
|
+ let str = ''
|
|
|
+ switch (v) {
|
|
|
+ case '标题':
|
|
|
+ str = 'title'
|
|
|
+ break;
|
|
|
+ case '正文':
|
|
|
+ str = 'content'
|
|
|
+ break;
|
|
|
+ case '附件':
|
|
|
+ str = 'file'
|
|
|
+ break;
|
|
|
+ case '项目名称/标的物':
|
|
|
+ str = 'ppa'
|
|
|
+ break;
|
|
|
+ case '采购单位':
|
|
|
+ str = 'buyer'
|
|
|
+ break;
|
|
|
+ case '中标企业':
|
|
|
+ str = 'winner'
|
|
|
+ break;
|
|
|
+ case '招标代理机构':
|
|
|
+ str = 'agency'
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ this.apiFilterProperty.searchCheckList.push(str)
|
|
|
+ this.apiFilterProperty.searchCheckList = [...new Set(this.apiFilterProperty.searchCheckList)]
|
|
|
+ })
|
|
|
+ doSearch()
|
|
|
+ },
|
|
|
+ // 获取物业筛选条件
|
|
|
+ getPropertyFilters: function () {
|
|
|
+ $.ajax({
|
|
|
+ url: '/jyapi/jybx/core/property/searchCriteria',
|
|
|
+ type: 'POST',
|
|
|
+ success: function (res) {
|
|
|
+ if(res.error_code === 0) {
|
|
|
+ let newData = {}
|
|
|
+ Object.keys(res.data).forEach(v => {
|
|
|
+ newData[v] = []
|
|
|
+ res.data[v].forEach(s => {
|
|
|
+ let sArr = s.split('#')
|
|
|
+ s = {
|
|
|
+ name: sArr[0],
|
|
|
+ value: sArr[1]
|
|
|
+ }
|
|
|
+ newData[v].push(s)
|
|
|
+ })
|
|
|
+ });
|
|
|
+ this.propertyListData = newData
|
|
|
+ }
|
|
|
+ }.bind(this),
|
|
|
+ error: function (err) {
|
|
|
+ console.log(err)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
// 引导文案点击事件
|
|
|
guideGoWorkSpace: function () {
|
|
|
if (!this.islogin) {
|
|
@@ -3470,6 +3877,18 @@ function checkTagDisabled () {
|
|
|
$("#zbSeatchT [name='industry']").val(val.toString())
|
|
|
beforeSubmit('filter-industry')
|
|
|
|
|
|
+ },200),
|
|
|
+ infoTypeChange:debounce(function(data){ // 信息类型提交搜索
|
|
|
+ let val
|
|
|
+ if(data.oneAndtwo.length>=data.alltwo.length){
|
|
|
+ val = ''
|
|
|
+ } else{
|
|
|
+ val = data.two_noall
|
|
|
+ }
|
|
|
+ this.filterProperty.subType = val.toString()
|
|
|
+ this.apiFilterProperty.subType = val.toString()
|
|
|
+ doSearch()
|
|
|
+
|
|
|
},200),
|
|
|
buyerclassChange :debounce(function(data){ //采购单位提交搜索
|
|
|
let val
|
|
@@ -3771,6 +4190,41 @@ function checkTagDisabled () {
|
|
|
return true
|
|
|
}
|
|
|
},
|
|
|
+ onStateChange (item, data) {
|
|
|
+ const _this = this
|
|
|
+ const isAllBtn = data.filter((item, i) => item === '全部' && i !== 0)
|
|
|
+ // propertyListData
|
|
|
+ // const filterKeys = ['area', 'build', 'civil', 'electromechanical', 'project_stage', 'ownerclass'];
|
|
|
+ const key = this.filterFiled[item]
|
|
|
+ if(isAllBtn.length > 0) {
|
|
|
+ this.filterProperty[key] = ['全部']
|
|
|
+ this.apiFilterProperty[key] = []
|
|
|
+ } else {
|
|
|
+ _this.apiFilterProperty[key] = []
|
|
|
+ data.forEach((v, i) => {
|
|
|
+ if(v === '全部') {
|
|
|
+ data.splice(i, 1)
|
|
|
+ }
|
|
|
+ });
|
|
|
+ data.forEach((v, i) => {
|
|
|
+ this.propertyListData[item].forEach(s => {
|
|
|
+ if(s.name === v) {
|
|
|
+ if(item === '合同周期') {
|
|
|
+ this.filterProperty[key] = [s.name]
|
|
|
+ _this.apiFilterProperty[key]= [s.value]
|
|
|
+ } else {
|
|
|
+ _this.apiFilterProperty[key].push(s.value)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ });
|
|
|
+ if (data.length === 0) {
|
|
|
+ this.filterProperty[key] = ['全部']
|
|
|
+ this.apiFilterProperty[key] = []
|
|
|
+ }
|
|
|
+ }
|
|
|
+ doSearch()
|
|
|
+ },
|
|
|
areaCityChange: function (area) {
|
|
|
var city = []
|
|
|
var area_arr = []
|
|
@@ -3785,6 +4239,16 @@ function checkTagDisabled () {
|
|
|
$("#zbSeatchT [name='city']").val(city.toString())
|
|
|
beforeSubmit('filter-area');
|
|
|
},
|
|
|
+ showMoreArea () {
|
|
|
+ this.showMoreAreaState = !this.showMoreAreaState
|
|
|
+ if(this.showMoreAreaState) {
|
|
|
+ $('.area_more_btn>span').text('更多')
|
|
|
+ $('.el-icon-arrow-down').css('transform', 'rotate(0)')
|
|
|
+ } else {
|
|
|
+ $('.area_more_btn>span').text('收起')
|
|
|
+ $('.el-icon-arrow-down').css('transform', 'rotate(180deg)')
|
|
|
+ }
|
|
|
+ },
|
|
|
// 通过省 转换成{省:[市]}格式的数据
|
|
|
areaToObj: function(area) {
|
|
|
if (!area) return
|
|
@@ -4768,6 +5232,13 @@ function checkTagDisabled () {
|
|
|
$("#zbSeatchT [name='fileExists']").val(item)
|
|
|
beforeSubmit('filter-file')
|
|
|
},
|
|
|
+ onAttachClick_hsl: function (item) {
|
|
|
+ if(item == '0') {
|
|
|
+ this.filterProperty.changehand = ''
|
|
|
+ }
|
|
|
+ this.apiFilterProperty.changehand = item
|
|
|
+ doSearch()
|
|
|
+ },
|
|
|
onAttachClick_cg: function (item) {
|
|
|
this.attachVal_cg = item
|
|
|
$("#zbSeatchT [name='buyertel']").val(item)
|