<template>
	<div>
		<div class="content">
			<div class="content_item content_item_padding0">
				<div class="label">项目名称</div>
				<div class="content_right">
					<el-input class="ename_input" v-model="keyword" 
						placeholder="请输入项目名称、文章关键词，多关键词用空格隔开，如：房建 地基"></el-input>
					
				</div> 
			</div>
			<div class="content_item">
				<div class="label">招采单位</div>
				<div class="content_right">
					<el-input  v-model="jskBidQueryDto.companyName" clearable
						class="land_ipt_470" placeholder="请输入招标采购单位名称"></el-input>	
					
				</div>
			</div>
			<div class="content_item">
				<div class="label">招标代理</div>
				<div class="content_right">
					<el-input v-model="jskBidQueryDto.agency" clearable class="land_ipt_470"
						placeholder="请输入招标代理机构名称"></el-input>	
					
				</div>
			</div>
			<div class="content_item">
				<div class="label">阶段类型</div>
				<div class="content_right">
					<div class="select-popper">
						<span :class="{ color_text: jskBidQueryDto.tenderStage.length }">
							招采环节阶段{{jskBidQueryDto.tenderStage.length? jskBidQueryDto.tenderStage.length + "项": ""}}
							<i class="el-icon-caret-bottom"></i>
						</span>
						<el-select v-model="jskBidQueryDto.tenderStage" class="select-multiple" multiple placeholder="请选择">
							<el-option v-for="(item, i) in tenderStageOptions" :key="i" :label="item.label":value="item.value">
							</el-option>
						</el-select>
					</div>
					<div class="select-popper">
						<span :class="{ color_text: jskBidQueryDto.tenderingManner.length }">
							招采交易类型{{jskBidQueryDto.tenderingManner.length? jskBidQueryDto.tenderingManner.length + "项" : ""}}
							<i class="el-icon-caret-bottom"></i>
						</span>
						<el-select v-model="jskBidQueryDto.tenderingManner" class="select-multiple" multiple placeholder="请选择">
							<el-option v-for="(item, i) in tenderingMannerOptions" :key="i" :label="item.label":value="item.value">
							</el-option>
						</el-select>
					</div>
					
				</div>
			</div>
			<div class="content_item">
				<div class="label">更多筛选</div>
				<div class="content_right">
					<div class="select-popper select-popper1">
						<span :class="{color_text: jskBidQueryDto.province.length ||jskBidQueryDto.city.length ||jskBidQueryDto.county.length,}">
							行政区划{{jskBidQueryDto.province.length ||jskBidQueryDto.city.length ||jskBidQueryDto.county.length?
							 jskBidQueryDto.province.length +jskBidQueryDto.city.length +jskBidQueryDto.county.length + "项": ""}}
							<i class="el-icon-caret-bottom"></i>
						</span>
						<el-cascader ref="address" class="cascader-region" v-model="addressType" :options="addressList":props="props" @change="domicileChange" collapse-tags clearable>
						</el-cascader>
					</div>
					<el-dropdown @command="punishDatehandleCommand" trigger="click"  placement="bottom-start"  class="el-dropdown-land" ref="punishDateShowPopper":hide-on-click="false">
						<span class="el-dropdown-link" :class="punishDateValue ? 'color_text' : ''">发布时间{{ punishDateValue ? " 1项" : ""}}
						        <i class="el-icon-caret-bottom"></i>
						</span>
						<div>
							<el-dropdown-menu slot="dropdown">
								<el-dropdown-item v-for="(item, i) in punishDateOptions" :class="punishDateValue && punishDateValue == item.value? 'color_text' : ''" :key="i" :command="item.value">
									<div @mouseenter="hidePoper">{{ item.label }}</div>
								</el-dropdown-item>
								<el-dropdown-item command="自定义" style="padding: 0; text-indent: 20px">
									<div @mouseenter="mouseenter">
										<span :class="punishDateValue == '自定义' ? 'color_text' : ''">
									        自定义<i class="el-icon-arrow-right"></i>
										</span>
										<el-date-picker v-if="punishDateShowPopper" @change="changepunishDate"class="land_date_picker" v-model="punishDate" ref="datePicker"
										        value-format="yyyy-MM-dd" type="daterange" range-separator="至"
												start-placeholder="开始日期" end-placeholder="结束日期">
										</el-date-picker>
									</div>
								</el-dropdown-item>
							</el-dropdown-menu>
						</div>
					</el-dropdown>
					<div class="select-popper ">
						<span :class="{ color_text: jskBidQueryDto.projectType.length }">
								项目类别{{jskBidQueryDto.projectType.length? jskBidQueryDto.projectType.length + "项": ""}}
								<i class="el-icon-caret-bottom"></i>
						</span>
						<el-select v-model="jskBidQueryDto.projectType" class="select-multiple" multiple placeholder="请选择">
							<el-option v-for="(item, i) in projectTypeOptions" :key="i" :label="item" :value="item">
							</el-option>
						</el-select>
					</div>
					<div class="select-popper">
						<span :class="{ color_text: jskBidQueryDto.subjectMatter.length }">
							招标采购分类{{jskBidQueryDto.subjectMatter.length? jskBidQueryDto.subjectMatter.length + "项": ""}}
							<i class="el-icon-caret-bottom"></i>
						</span>
						<el-select v-model="jskBidQueryDto.subjectMatter" class="select-multiple" multiple placeholder="请选择">
							<el-option v-for="(item, i) in subjectMatterOptions" :key="i" :label="item" :value="item">
							</el-option>
						</el-select>
					</div>
					<el-dropdown @command="bidMoneyhandleCommand"  placement="bottom-start"  class="el-dropdown-land" trigger="click" ref="bidMoneyShowPopper":hide-on-click="false">
						<span class="el-dropdown-link" :class=" jskBidQueryDto.startBidMoney || jskBidQueryDto.endBidMoney? 'color_text' : ''">
							预算金额{{jskBidQueryDto.startBidMoney || jskBidQueryDto.endBidMoney? " 1项": ""}}
							<i class="el-icon-caret-bottom"></i>
						</span>
						<el-dropdown-menu slot="dropdown">
							<el-dropdown-item v-for="(item, i) in bidMoneyOptions" :class="jskBidQueryDto.startBidMoney == item.value[0] &&jskBidQueryDto.endBidMoney == item.value[1] &&
					            !startBidMoney &&!endBidMoney? 'color_text': ''" :key="i" :command="item.value">
								{{ item.label }}
							</el-dropdown-item>
							<el-dropdown-item command="" style="padding: 0; text-indent: 20px">
								<div @mouseenter="bidMoneyShowPopper = true" @mouseleave="bidMoneyShowPopper = false">
									<span :class="(startBidMoney || endBidMoney) &&jskBidQueryDto.startBidMoney == startBidMoney &&jskBidQueryDto.endBidMoney == endBidMoney? 'color_text' : ''">
										自定义<i class="el-icon-arrow-right"></i>
									</span>
									<div class="jabph_popper_box" style="position: absolute" v-if="bidMoneyShowPopper">
										<div class="jabph_popper_wrap">
											从
											<el-input class="jabph_popper_input" v-limit-num clearable v-model="startBidMoney"></el-input>
											万
										</div>
										<div class="jabph_popper_wrap">
											到
											<el-input class="jabph_popper_input" v-limit-num clearable v-model="endBidMoney"></el-input>
											万
										</div>
										<div style="">
											<el-button size="mini" @click="bidMoneyCancel">取消</el-button>
											<el-button type="primary" size="mini" @click="bidMoneyPopperConfirm">确定
											</el-button>
										</div>
									</div>
								</div>
							</el-dropdown-item>
						</el-dropdown-menu>
					</el-dropdown>
					<div class="select-popper">
						<span :class="{ color_text: jskBidQueryDto.source.length }">
						    来源网站{{jskBidQueryDto.source.length? jskBidQueryDto.source.length + "项": ""}}
						    <i class="el-icon-caret-bottom"></i>
					    </span>
						<Select ref="sourceNameSelect" @getSelectValue="getSourceName" />
					</div>
					<div class="select-popper">
						<span :class="{ color_text: jskBidQueryDto.phonePoint.length }">
							有无联系电话{{jskBidQueryDto.phonePoint.length? jskBidQueryDto.phonePoint.length + "项": ""}}
							<i class="el-icon-caret-bottom"></i>
						</span>
						<el-select v-model="jskBidQueryDto.phonePoint" class="select-multiple" multiple placeholder="请选择" @change="phonePointBtn">
							<el-option v-for="(item, i) in phonePointType" :key="i" :label="item.label":value="item.value">
							</el-option>
						</el-select>
					</div>
					
				</div>
			</div>
		    <div class="content_item content_item_padding0">
		        <div class="geduan">
		           
		        </div>
		    </div>
		    <div class="content_item content_item_padding0">
		    	
		    	<div class="search-new">
		    		<span @click="search()">查询</span>
		    		<span @click="reset">重置</span>
		    	</div>
		    </div>
		</div>
		<div class="bottomlist">
			<div class="bottomlist-title">
				  <p>共有{{total}}条</p>
				  <p>
					  <img src="@/assets/images/EXCEL.png" alt="">
					  <span>导出EXCEL</span>
				  </p>
			</div>
			<div class="table-item-jf1" v-if="tableData.length==0">
				<img class="item-jf-img" src="@/assets/images/kong.png" alt="">
				<div class="item-jf-titel">抱歉，没找到相关数据！</div>
				<div class="item-jf-text">建议调整关键词或筛选条件，重新搜索！</div>
			</div>  
			<ul class="bottomlist-content" v-if="tableData.length>0">
				<li class="bottomlist-list" v-for="item in tableData">
					<p class="list-titel">
						 <router-link :to="'/radar/Tender/details/'+ item.id" tag="a" class="list-titel-a" v-html="item.projectName"></router-link>
					</p>
					
					<div class="content-label" v-if="item.tenderStage ||item.domicile ||item.tenderingManner ||item.projectType">
						<span class="list-label " v-if="item.tenderStage&&item.tenderStage!='其他'&&item.tenderStage!='空白'">
						 {{item.tenderStage}}
						</span>
						  <span class="list-label list-label-zb" v-if="item.domicile">
						    {{item.domicile}}
						  </span>
						  <span class="list-label list-label-zb" v-if="item.tenderingManner&&item.tenderingManner!='其他'&&item.tenderingManner!='空白'">
						     {{ item.tenderingManner}}
						  </span>
						  <span class="list-label list-label-lx" v-if="item.projectType&&item.projectType!='其他'&&item.projectType!='空白'">
						     {{item.projectType}}
						  </span>
					</div>
					
					<div  class="list-content list-content1"  v-if="item.companyName||item.agency">
						<p class="list-content-text" v-if="item.companyName">
							<span>招采单位：</span>
							<router-link v-if="item.jskEid" :to="'/company/' + encodeStr(item.jskEid)  + '/?index=true'" tag="a" class="list-titel-a blue" v-html="item.companyName"></router-link>
						    <span v-else class="blue" v-html="item.companyName"></span>
						</p>
						<p class="list-content-text" v-if="item.agency">
							<span>代理单位：</span>
							<router-link v-if="item.agencyId" :to="'/company/' + encodeStr(item.agencyId)  + '/?index=true'" tag="a" class="list-titel-a blue" v-html="item.agency"></router-link>
							<span v-else class="blue" v-html="item.agency"></span>
						</p>
						
					</div>
					<div  class="list-content" v-if="item.bidMoney||item.contact">
						<p class="list-content-text" v-if="item.bidMoney">
							<span>预算金款：</span>
							<span>{{item.bidMoney||'--'}}万元</span>
						</p>
						<p class="list-content-text" v-if="item.contactTel || item.agencyContactTel">
							<span>联系方式：</span>
							<span >
								<template v-if="item.contactTel">
									招采单位 {{ item.contact }} {{ item.contactTel}}{{item.contactTel && item.agencyContactTel ? ";" : ""}}
								</template>
								<template v-if="item.agencyContactTel">
									代理单位 {{ item.agencyContact }} {{ item.agencyContactTel }}
								</template>
							</span>
						</p>
					</div>
					
					<div  class="list-content" v-if="item.punishDate||item.overTime||item.source">
						<p class="list-content-text" v-if="item.punishDate">
							<span>发布时间：</span>
							<span >{{item.punishDate||'--'}}</span>
						</p>
						<p class="list-content-text" v-if="item.overTime">
							<span>报名截止日期：</span>
							<span >{{item.overTime||'--'}}</span>
						</p>
						<p class="list-content-text" v-if="item.source">
							<span>来源网站：</span>
							<span >{{item.source||'--'}}</span>
						</p>
					</div>
				</li>
			</ul>
			<div class="pagination clearfix"  v-show="total>0">
				  <el-pagination
				    background
				    :page-size="limit"
				    :current-page="page"
				    @current-change="handleCurrentChange"
				    layout="prev, pager, next"
				    :total="total">
				  </el-pagination>
			</div>
			
			
		</div>
		
		
	</div>
</template>

<script>
	import Select from "./Select.vue";
	import jsk_data from '../../../../../public/jsk.json';
	import {encodeStr} from "@/assets/js/common.js"
	import api from '@/api/radar/radar.js';

	export default {
		name: 'Tender',
		components: {
			Select
		},

		data() {
			return {
				//有无联系方式
				encodeStr,
				phonePointType: [{
						value: '',
						label: '不限'
					},
					{
						value: 'hasPhone',
						label: '有联系电话'
					},
					{
						value: 'hasContactTel',
						label: '有招标单位联系电话'
					},
					{
						value: 'hasAgencyTel',
						label: '有代理机构联系电话'
					},
					{
						value: 'noPhone',
						label: '无联系电话'
					}
				],
				phonePointList: [],
				punishDateOptions: [{
						label: "不限",
						value: "",
					},
					{
						label: "今天",
						value: "今天",
					},
					{
						label: "近3日",
						value: "近3日",
					},
					{
						label: "近7日",
						value: "近7日",
					},
					{
						label: "近1个月",
						value: "近1个月",
					},
					{
						label: "近3个月",
						value: "近3个月",
					},
					{
						label: "近半年",
						value: "近半年",
					},
					{
						label: "近1年",
						value: "近1年",
					},
				],
				addressList: [],
				addressType: [],
				props: {
					multiple: true,
					expandTrigger: "hover",
					value: "id",
				},
				keyword: "",
				keywordNot: "",
				tenderType: "",
				tenderTypeOptions: [{
						value: "不限",
						key: "",
						status: true,
					},
					{
						value: "招标采购信息",
						key: "招标采购信息",
						status: false,
					},
					{
						value: "中标、成交信息",
						key: "中标、成交信息",
						status: false,
					},
					{
						value: "参投信息",
						key: "参投信息",
						status: false,
					},
				],
				tenderStageOptions: [{
						value: "招标公告",
						label: "招标公告",
					},
					{
						value: "招标计划",
						label: "招标计划",
					},
					{
						value: "补充公告",
						label: "补充公告",
					},
					{
						value: "终止公告",
						label: "终止公告",
					},
					{
						value: "废标公告",
						label: "废标公告",
					},
					{
						value: "流标公告",
						label: "流标公告",
					},
					{
						value: "重新招标",
						label: "重新招标",
					},
					{
						value: "更正公告",
						label: "更正公告",
					},
					{
						value: "资格预审公告",
						label: "资格预审公告",
					},
					{
						value: "澄清公告",
						label: "澄清公告",
					},
					{
						value: "答疑补遗公告",
						label: "答疑补遗公告",
					}
				],
				tenderStageOptions2: [{
						value: "中标公示",
						label: "中标公示",
					},
					{
						value: "中标公告",
						label: "中标公告",
					},
					{
						value: "成交",
						label: "成交",
					},
					{
						value: "终止",
						label: "终止",
					},
					{
						value: "非标",
						label: "非标",
					},
					{
						value: "流标",
						label: "流标",
					},
					{
						value: "合同及验收",
						label: "合同及验收",
					},
				],
				tenderStageOptions3: [{
						value: "开标",
						label: "开标",
					},
					{
						value: "参投记录",
						label: "参投记录",
					},
				],
				tenderingMannerOptions: [{
						value: "询价",
						label: "询价",
					},
					{
						value: "比选",
						label: "比选",
					},
					{
						value: "邀请",
						label: "邀请",
					},
					{
						value: "竞争性谈判",
						label: "竞争性谈判",
					},
					{
						value: "竞争性磋商",
						label: "竞争性磋商",
					},
					{
						value: "单一来源",
						label: "单一来源",
					},
					{
						value: "直接发包",
						label: "直接发包",
					},
					{
						value: "竞价",
						label: "竞价",
					},
					{
						value: "公开招标",
						label: "公开招标",
					},
					{
						value: "其他",
						label: "其他",
					},
				],
				scopeOptions: [{
						value: "contentInfo",
						label: "正文",
					},
					{
						value: "companyName",
						label: "企业名称",
					},
					{
						value: "projectName",
						label: "项目名称",
					},
				],
				selectedHeight: 64,
				projectTypeOptions: [],
				contactOptions: [{
						value: "不限",
						label: "不限",
					},
					{
						value: "有招采单位联系人",
						label: "有招采单位联系人",
					},
					{
						value: "有中标单位联系人",
						label: "有中标单位联系人",
					},
					{
						value: "有招标代理机构联系人",
						label: "有招标代理机构联系人",
					},
				],
				subjectMatterOptions: [

				],
				jskBidQueryDto: {
					province: [],
					city: [],
					county: [],
					tenderStage: [],
					tenderingManner: [],
					queryScope: [],
					projectType: [],
					subjectMatter: [],
					source: [],
					phonePoint: [],
				},
				
				punishDate: "",
				punishDateShowPopper: false,
				punishDateValue: "",
				startBidMoney: "",
				endBidMoney: "",
				bidMoneyShowPopper: false,
				bidMoneyOptions: [{
						value: "不限",
						label: "不限",
					},
					{
						value: [0, 100],
						label: "100万元以下",
					},
					{
						value: [100, 300],
						label: "100万-300万元",
					},
					{
						value: [300, 1000],
						label: "300万-1000万元",
					},
					{
						value: [1000, 5000],
						label: "1000万-5000万元",
					},
					{
						value: [5000, 20000],
						label: "5000万-2亿元",
					},
					{
						value: [20000, ""],
						label: "2亿元以上",
					},
				],
				fieldshow: false,
				fieldText: '默认排序',
				field: '', //查询结果排序方式
				fieldOptions: [{
						key: "",
						value: "默认排序",
						status: true,
					},
					{
						key: "punishDate",
						value: "发布日期从晚到早",
						status: false,
					},
					{
						key: "projectAmount",
						value: "预算金额从大到小",
						status: false,
					},
					{
						key: "overTime",
						value: "报名截止日期从晚到早",
						status: false,
					},
				],
				domicile: [],
				conditionsArr: [],
				
				total: 0,
				page: 1,
				pageFlag: true,
				tableData:[],
				limit: 20
			};
		},
		computed: {
			checkjskBidQueryDto() {
				let arr = [];
				let flag = false;
				let data = {};
				let keyid, value, title;
				if (this.domicile.length > 0) {
					data = {
						title: "行政区划:",
						value: this.domicile.join(","),
					}
					arr.push(data)
				}
				if (this.keyword) {
					data = {
						title: "项目包含:",
						value: this.keyword,
					}
					arr.push(data)
					flag = true;
				}
				if (this.keywordNot) {
					data = {
						title: "项目排除:",
						value: this.keywordNot,
					}
					arr.push(data)
					flag = true;
				}
				if (this.punishDateValue == "自定义") {
					data = {
						title: "发布时间:",
						value: this.jskBidQueryDto.startPunishDate + "~" + this.jskBidQueryDto.endPunishDate,
					}
					arr.push(data)
				}
				if (this.punishDateValue && this.punishDateValue != "自定义") {
					data = {
						title: "发布时间:",
						value: this.punishDateValue,
					}
					arr.push(data)
				}
				for (var i in this.jskBidQueryDto) {
					if (this.jskBidQueryDto[i]) {
						keyid = i;
						value = this.jskBidQueryDto[i];
						if (
							Object.prototype.toString.call(this.jskBidQueryDto[i]) ===
							"[object Array]"
						) {
							if (this.jskBidQueryDto[i].length > 0) {
								flag = true;
								switch (i) {
									case 'tenderStage':
										title = "招采环节阶段:";
										break;
									case 'tenderingManner':
										title = "招采交易类型:";
										break;
									case 'projectType':
										title = "项目类别:";
										break;
									case 'subjectMatter':
										title = "招标采购分类:";
										break;
									case 'source':
										title = "来源网站:";
										break;
									case 'phonePoint':
										title = "有无联系方式:";
										break;
									default:
										title = "";
										break;
								}
							} else {
								title = ""
							}
						} else {
							title = ""
							flag = true;
						}
						if (title) {
							data = {
								keyid: keyid,
								value: value,
								title: title,
								key: value
							}
							arr.push(data)
						}
					}
				}
				this.conditionsArr = arr
				return flag;
			},
		},
		created() {
			this.searchDic();
			this.search();
		},
		mounted() {


			this.addressListfn();

		},
		methods: {
			searchDic(){
				api.searchDic().then(res=>{
						this.projectTypeOptions = res.projectType;
						this.subjectMatterOptions = res.subjectMatter
				}).catch(error=>{
					
				});
							 
			},
			//有无联系方式
			phonePointBtn(e) {
				for (var i = 0; e.length > i; i++) {
					if (!e[i]) {
						this.jskBidQueryDto.phonePoint = []
					}
				}
			},
			refresh(value) {
				if (value) {
					this.$router.go(0)
				}
			},
			search(page, limit, exportFlag) {
				if (!page) {
					this.page = 1;
				}
				if (!limit) {
					this.limit = 20;
				}
				if (!page && !limit) {
					this.reloadPage();
				}
				var data = JSON.parse(JSON.stringify(this.jskBidQueryDto));
				data.province = data.province.join(",");
				data.city = data.city.join(",");
				data.county = data.county.join(",");
				data.tenderStage = data.tenderStage.join(",");
				data.tenderingManner = data.tenderingManner.join(",");
				data.queryScope = data.queryScope.join(",");
				data.projectType = data.projectType.join(",");
				data.subjectMatter = data.subjectMatter.join(",");
				data.source = data.source.join(",");
				data.phonePoint = data.phonePoint.join(",");
				
				let params = {
					page: {
						page: this.page,
						limit: this.limit,
						field: this.field,
					},
					jskBidQueryDto: data,
				};
				params.keyword = this.keyword;
				params.keywordNot = this.keywordNot;
				
				api.jskBidPage(params).then(res=>{
					if (res.code==200) {
						this.tableData=res.data.list;
						this.total=res.data.total;
					}
				}).catch(error=>{
					
				});
			},

			selectedHeightfn() {
				if (this.selectedHeight == 64) {
					this.selectedHeight = 'auto'
				} else {
					this.selectedHeight = 64;
				}
			},
			reset() {
				Object.assign(this.$data, this.$options.data.call(this)); //重置data
				this.$refs.sourceNameSelect.selectValue = []
				this.addressListfn();
				this.searchDic();
				this.search();
			},
			handsequencingList(index) {
				this.fieldshow = false;
				this.field = this.fieldOptions[index].key;
				for (let i = 0; i < this.fieldOptions.length; i++) {
					this.fieldOptions[i].status = false;
				}
				this.fieldText = this.fieldOptions[index].value;
				this.fieldOptions[index].status = true;
				this.search();
			},
			reloadPage() {
				this.pageFlag = false;
				this.$nextTick(() => {
					this.pageFlag = true;
				});
			},
			handleCurrentChange(page) {
				this.page = page;
				this.search(page, this.limit);
			},
			handleSizeChange(limit) {
				this.limit = limit;
				this.search(this.page, limit);
			},
			addressListfn() {
				var str = [];
				for (let x = 0; x < 3; x++) {
					for (let i = 0; i < jsk_data.length; i++) {
						if (jsk_data[i].regionLevel == x + 1 && x + 1 == 1) {
							str.push({
								id: jsk_data[i].id,
								label: jsk_data[i].regionName,
								short: jsk_data[i].short,
								value: jsk_data[i].parentId,
								children: jsk_data[i].id == 900000 ? undefined : [],
							});
						} else if (jsk_data[i].regionLevel == x + 1 && x + 1 == 2 && str) {
							for (let j = 0; j < str.length; j++) {
								if (str[j].id == jsk_data[i].parentId) {
									str[j].children.push({
										id: jsk_data[i].id,
										label: jsk_data[i].regionName,
										short: jsk_data[i].short,
										value: jsk_data[i].parentId,
										children: [],
									});
								}
							}
						} else if (jsk_data[i].regionLevel == x + 1 && x + 1 == 3) {
							for (let j = 0; j < str.length; j++) {
								if (str[j].children) {
									for (let k = 0; k < str[j].children.length; k++) {
										if (str[j].children[k].id == jsk_data[i].parentId) {
											str[j].children[k].children.push({
												id: jsk_data[i].id,
												label: jsk_data[i].regionName,
												short: jsk_data[i].short,
												value: jsk_data[i].parentId,
											});
										}
									}
								}
							}
						}
					}
				}
				this.addressList = str;
			},
			deleteDomicile() {
				this.$refs.address.handleClear();
			},
			domicileChange() {
				let arr = this.$refs.address.getCheckedNodes();
				let province = [],
					city = [],
					county = [];
				this.domicile = [];
				for (var i in arr) {
					if (arr[i].parent) {
						if (!arr[i].parent.checked) {
							arr[i].hasChildren && city.push(arr[i].value);
							arr[i].hasChildren && this.domicile.push(arr[i].label);
							!arr[i].hasChildren && county.push(arr[i].value);
							!arr[i].hasChildren && this.domicile.push(arr[i].label);
						}
					} else {
						province.push(arr[i].value);
						this.domicile.push(arr[i].label);
					}
				}
				var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
				obj.province = province;
				obj.city = city;
				obj.county = county;
				this.jskBidQueryDto = obj;
			},
			bidMoneyhandleCommand(command) {
				if (command) {
					this.$refs.bidMoneyShowPopper.hide();
					var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
					this.startBidMoney = "";
					this.endBidMoney = "";
					if (command == "不限") {
						obj.startBidMoney = "";
						obj.endBidMoney = "";
					} else {
						obj.startBidMoney = command[0];
						obj.endBidMoney = command[1];
					}
					this.jskBidQueryDto = obj;
				}
			},
			bidMoneyPopperConfirm() {
				if (
					this.startBidMoney &&
					this.endBidMoney &&
					!(Number(this.endBidMoney) > Number(this.startBidMoney))
				) {
					return this.$message.warning("最小值必须小于最大值,请重新输入！");
				}
				this.bidMoneyShowPopper = false;
				var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
				obj.startBidMoney = this.startBidMoney;
				obj.endBidMoney = this.endBidMoney;
				this.jskBidQueryDto = obj;
				this.$refs.bidMoneyShowPopper.hide();
			},
			bidMoneyCancel() {
				this.bidMoneyShowPopper = false;
				this.$refs.bidMoneyShowPopper.hide();
			},
			punishDatehandleCommand(command) {
				var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
				if (command && command != "自定义") {
					this.punishDateValue = command;
					this.$refs.punishDateShowPopper.hide();
					const datetime = new Date();
					var startTime, endTime, Year, Month, Day;
					Year = datetime.getFullYear();
					Month = datetime.getMonth() + 1;
					Day = datetime.getDate();
					switch (command) {
						case "今天":
							startTime = Year + "-" + Month + "-" + Day;
							endTime = Year + "-" + Month + "-" + Day;
							break;
						case "近3日":
							var newTime = datetime.getTime() - 3 * 24 * 60 * 60 * 1000;
							startTime =
								new Date(newTime).getFullYear() +
								"-" +
								(new Date(newTime).getMonth() + 1) +
								"-" +
								new Date(newTime).getDate();
							endTime = Year + "-" + Month + "-" + Day;
							break;
						case "近7日":
							var newTime = datetime.getTime() - 7 * 24 * 60 * 60 * 1000;
							startTime =
								new Date(newTime).getFullYear() +
								"-" +
								(new Date(newTime).getMonth() + 1) +
								"-" +
								new Date(newTime).getDate();
							endTime = Year + "-" + Month + "-" + Day;
							break;
						case "近1个月":
							if (Month > 1) {
								startTime = Year + "-" + (Month - 1) + "-1";
							} else {
								startTime = Year - 1 + "-" + (12 + Month - 1) + "-1";
							}
							endTime = Year + "-" + Month + "-" + Day;
							break;
						case "近3个月":
							if (Month > 3) {
								startTime = Year + "-" + (Month - 3) + "-1";
							} else {
								startTime = Year - 1 + "-" + (12 + Month - 3) + "-1";
							}
							endTime = Year + "-" + Month + "-" + Day;
							break;
						case "近半年":
							if (Month > 6) {
								startTime = Year + "-" + (Month - 6) + "-1";
							} else {
								startTime = Year - 1 + "-" + (12 + Month - 6) + "-1";
							}
							endTime = Year + "-" + Month + "-" + Day;
							break;
						case "近1年":
							startTime = Year - 1 + "-" + Month + "-" + Day;
							endTime = Year + "-" + Month + "-" + Day;
							break;
						case "近3年":
							startTime = Year - 3 + "-" + Month + "-" + Day;
							endTime = Year + "-" + Month + "-" + Day;
							break;
						case "自定义":
							if (!this.punishDate) {
								this.punishDateValue = "";
							}
							break;
					}
					if (startTime) {
						var start = startTime.split('-');
						startTime = start.map((item) => {
							if (item.length == 1) {
								return '0' + item
							} else {
								return item
							}
						})
						startTime = startTime.join('-')
					}
					if (endTime) {
						var end = endTime.split('-');
						endTime = end.map((item) => {
							if (item.length == 1) {
								return '0' + item
							} else {
								return item
							}
						})
						endTime = endTime.join('-')
					}
					obj.startPunishDate = startTime;
					obj.endPunishDate = endTime;
				} else if (command == "自定义") {
					this.$refs.datePicker.pickerVisible = true;
				} else {
					this.$refs.punishDateShowPopper.hide();
					this.punishDateValue = "";
					this.punishDate = "";
					obj.startPunishDate = "";
					obj.endPunishDate = "";
				}
				this.jskBidQueryDto = obj;
			},
			clearContractSignTime() {
				this.punishDate = "";
				this.punishDateValue = "";
				var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
				obj.startPunishDate = "";
				obj.endPunishDate = "";
				this.jskBidQueryDto = obj;
			},
			changepunishDate() {
				if (this.punishDate) {
					this.punishDateValue = "自定义";
					var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
					obj.startPunishDate = this.punishDate[0];
					obj.endPunishDate = this.punishDate[1];
					this.jskBidQueryDto = obj;
				}
			},
			hidePoper() {
				if (this.$refs.datePicker) {
					this.$refs.datePicker.pickerVisible = false;
				}
			},
			mouseenter() {
				this.punishDateShowPopper = true;
				if (this.punishDateValue == '自定义') {
					this.$nextTick(() => {
						//this.$refs.datePicker.focus()
						this.$refs.datePicker.pickerVisible = true;
					});
				}
			},

			tenderTypeClick(index) {
				this.tenderTypeOptions.map((item) => {
					item.status = false;
				});

				if (index == 2) {
					this.tenderStageOptions = this.tenderStageOptions2;
				}
				if (index == 3) {
					this.tenderStageOptions = this.tenderStageOptions3;
				}
				this.tenderTypeOptions[index].status = true;
			},

			getSourceName(arr) {
				for (var a in arr) {
					if (arr[a] == "不限") {
						this.jskBidQueryDto.source = [];
						this.$refs.sourceNameSelect.selectValue = [];
						this.$refs.sourceNameSelect.$refs.select.blur();
					} else {
						this.jskBidQueryDto.source = arr;
					}
				}
			},
		},
	};
</script>
<style lang="scss" scoped>
	.content {
		padding: 0px 16px;
		padding-top: 16px;
		border-radius: 4px 4px 4px 4px;
		background: #FFFFFF;

		.content_item {
			padding-top: 20px;
			display: flex;
			align-items: center;

			.label {
				width: 84px;
				font-size: 14px;
				font-weight: 400;
				color: rgba(35, 35, 35, 0.8);
			}

			.content_right {

				.ename_input {
					width: 640px;
					margin-right: 20px;

				}
				.land_ipt_470 {
					width: 640px;
				}
			}

			.item_ckquery_list {
				display: flex;

			}

			.item_ckquery_list .el-input__icon {
				position: relative;
				top: 1px;
			}

			.ckquery_list_right {
				width: 640px;
			}

			.register_count_ipt {
				margin-left: 0px;

			}

			.register_count_ipt .el-input__inner {
				width: 174px;
			}

			::v-deep .el-input-group__prepend {
				padding: 0 8px;
			}

			.content-projecttype {
				display: flex;
				align-items: center;
				justify-content: center;

				.projecttype {
					font-weight: 400;
					color: #232323;
					padding: 1px 5px;
					margin-right: 4px;
					cursor: pointer;
					border-radius: 3px 3px 3px 3px;
					font-size: 14px;
				}

				.projecttype:first-child {
					padding-left: 0px;
				}

				.projecttype:hover {
					background: #F3F4F5;
					padding: 1px 5px;
				}

				.activetype {
					background: #F3F4F5;
					padding: 1px 5px !important;
				}
			}



		}

		.content_item_padding0 {
			padding: 0;
		}

	}

	.bottomlist {
		width: 100%;
		background-color: #FFFFFF;

		border-radius: 4px 4px 4px 4px;

		.bottomlist-title {
			display: flex;
			justify-content: end;
			align-items: center;
			margin-top: 12px;
			padding: 24px;
			border-bottom: 1px solid #EFEFEF;

			p:first-child {
				font-size: 12px;
				font-weight: 400;
				color: #3D3D3D;
				margin-right: 10px;
			}

			p:last-child {
				font-size: 14px;
				font-weight: 400;
				color: rgba(35, 35, 35, 0.8);
			}

			img {
				width: 18px;
				height: 18px;
			}
		}

		.bottomlist-content {

			padding-bottom: 0px;
		}

		.bottomlist-list {
			padding: 14px;
			font-size: 14px;
			border-bottom: 1px solid #EFEFEF;
			padding-bottom: 14px;

			.list-titel {
				font-size: 16px;
				font-weight: 700;
				color: #3D3D3D;
				line-height: 19px;

				.list-titel-a {
					text-decoration: none;
					color: #3D3D3D;
				}

				a:hover,
				a:visited,
				a:link,
				a:active {
					color: #3D3D3D;
				}
			}

			.content-label {
				margin-top: 12px;
				margin-bottom:4px;

				.list-label {
					background: #F3F3FF;
					color: #8491E8;
					border-radius: 1px 1px 1px 1px;
                    margin-right: 8px;
					padding: 3px 7px;
					font-size: 12px;

				}
				.list-label-zb{
					font-weight: 400;
					color: #5A88F9;
					background: #E7EDFC;
				}
				.list-label-lx{
					font-weight: 400;
					color: #41A1FD;
					background: #E4F3FD;
				}
			}


			.list-content {
				margin-top:8px;
				display: flex;
				justify-content: start;
				align-items: center;
				.list-content-text {
					display: flex;
					justify-content: start;
					align-items: center;
					margin-right: 32px;
					font-size: 14px;

					span:first-child {
						font-weight: 400;
						color: rgba(35, 35, 35, 0.4);
						line-height: 15px
					}

					span:last-child {
						font-weight: 400;
						color: rgba(35, 35, 35, 0.8);
						line-height: 15px
					}

					.blue {
						color: #0081FF !important;
						cursor: pointer;

					}

				}


			}
			.list-content1{
				margin-top: 12px;
			}


		}

		.bottomlist-list:hover {
			background: #F6F9FC;
			cursor: pointer;
		}

		.pagination {
			padding: 14px;

			.el-pagination {
				float: right;
			}
		}
	}
</style>
<style lang="scss" scoped>
	#tender_wrap {
		padding: 0 16px;
		font-size: 14px;

		.tender_content_wrap {
			display: flex;

			.tender_content_wrap_label {
				color: #666666;
				margin-right: 4px;
			}

			.tender_content_wrap_item {
				display: inline-block;
				height: 28px;
				line-height: 28px;
				padding: 0 12px;
				margin-right: 24px;
				color: #333333;
				cursor: pointer;

				&:hover {
					background: #e5f2ff;
					color: #0081ff;
					border-radius: 2px 2px 2px 2px;
				}
			}

			.tender_content_wrap_item_active {
				background: #0081ff;
				color: #ffffff;
				border-radius: 2px 2px 2px 2px;
			}
		}

		.tender_content_wrap1 {
			margin-bottom: -2.5px;
		}

		.data_list {
			width: 1200px;
			margin: 0 auto;
			margin-left: -16px;
			padding: 0 16px;
			box-sizing: border-box;

			.data_list_head {
				height: 50px;
				line-height: 50px;
				color: #666666;

				.data_list_count {
					color: #ff2a00;
					font-weight: bold;
				}
			}

			.data_list_item {
				border-top: 1px solid #efefef;
				padding: 24px 16px;
				padding-left: 16px;
				margin-left: -16px;
				width: 1200px;

				&:hover {
					background: #f5faff;
				}

				.data_list_h1 {
					width: 1168px;
					font-size: 18px;
					font-weight: bold;
					color: #333333;
					line-height: 24px;
					margin-bottom: 10px;
					word-break: break-all;
					display: inline-block;
				}

				.data_list_h1_1 {
					cursor: pointer;
				}

				.label_box {
					padding-bottom: 6px;
					display: flex;

					.label_span {
						padding: 0 8px;
						display: inline-block;
						height: 22px;
						line-height: 22px;
						border-radius: 2px 2px 2px 2px;
						margin-right: 8px;
						font-size: 12px;
					}

					.label_span1 {
						background: #e4f3fd;
						color: #41A1FD;
					}

					.label_span2 {
						background: #f3f3ff;
						color: #8491e8;
					}

					.label_span3 {
						background: #e8f7f0;
						color: #38c8bf;
					}
				}

				.label_wrap {
					font-size: 14px;
					margin-top: 10px;
					line-height: 18px;
					display: flex;

					.label_item {
						color: #999999;
					}

					.company {
						color: #0081ff;
						cursor: pointer;
						margin-right: 20px;
					}

					.label_con {
						color: #333333;
						margin-right: 20px;
					}

					.label_con1 {
						width: 1095px;
						margin: 0;
						text-overflow: ellipsis;
						white-space: nowrap;
						display: inline-block;
						overflow: hidden;
					}

					.label_con2 {
						text-overflow: ellipsis;
						overflow: hidden;
						white-space: nowrap;
						max-width: 560px;
						display: inline-block;
					}
				}
			}
		}

		.content_li {
			padding: 16px 0;
			display: flex;
			align-items: center;
			position: relative;

			.content_item {
				.include-keywords {
					display: flex;
					align-items: center;
					position: relative;

					.lefttltel {
						display: inline-block;
						background: #f5f5f5;
						color: #333;
						border: 1px solid #efefef;
						border-right: none;
						opacity: 1;
						width: 71px;
						height: 40px;
						text-align: center;
						line-height: 40px;
					}

					.el-input {
						line-height: 40px;
						border-radius: 0;

						.el-input__inner {
							width: 100%;
							height: 40px;
							line-height: 40px;
							border-radius: 0;
						}
					}

					.commonly-input {
						.el-input__inner {
							padding-right: 100px;
						}
					}

					.commonly {
						position: absolute;
						top: 10px;
						right: 16px;
						font-size: 14px;
						font-weight: 400;
						color: #0081ff;
						cursor: pointer;
					}
				}

			}

		}
	}
</style>