Jelajahi Sumber

price-subtype

liuxiaolu 6 tahun lalu
induk
melakukan
7128b9697a

+ 124 - 0
src/web/staticres/dataExport/js/delbox.js

@@ -0,0 +1,124 @@
+'use strict';
+
+var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+var DelBox = function () {
+  function DelBox(_ref) {
+    var box = _ref.box;
+
+    _classCallCheck(this, DelBox);
+
+    this.arr = [];
+    this.domArr = [];
+    this.box = box;
+  }
+  /**
+   * addDelBox 添加可删除的盒子
+   * @param str - 内容ID(唯一ID,用于去重)
+   * @param box - *父级盒子选择器
+   * @param template - 模板函数 (str,i,arr_key)
+   * @param arr - 数据存放的数组变量 ('key'|'buy'|..)
+   */
+
+
+  _createClass(DelBox, [{
+    key: 'addDelBox',
+    value: function addDelBox() {
+      var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
+        _ref2$str = _ref2.str,
+        str = _ref2$str === undefined ? '默认内容' : _ref2$str,
+        _ref2$k = _ref2.k,
+        k = _ref2$k === undefined ? 'key' : _ref2$k;
+
+      var tempArr = this.arr;
+      var tempDom = this.domArr;
+      if (tempArr.indexOf(k) === -1) {
+        var pDom = this.toJqDom(this.box);
+        var tempContent = this.toJqDom(this.createDefaultTemp(str, tempArr.length, k));
+        pDom.append(tempContent);
+        tempDom.push(tempContent);
+        tempArr.push(k);
+      }
+      this.arr = tempArr;
+      this.domArr = tempDom;
+    }
+    /**
+     * createDefaultTemp 默认可删除标签模板
+     * @param s - 内容
+     * @param i - 数组变量 index
+     * @param k - 数组变量 key
+     * @return {string}
+     */
+
+  }, {
+    key: 'createDefaultTemp',
+    value: function createDefaultTemp(s, i, k) {
+      var _this = this;
+
+      var temp = document.createElement('div');
+      temp.innerHTML = '<div data-arrIndex="' + i + '" data-key="' + k + '"  class="delete-box-close">' + s + '</div>';
+      var child = this.toJqDom(temp.children);
+      var close = document.createElement('i');
+      close.className = 'iconfont icon-guanbi';
+      close.onclick = function () {
+        _this.del(k);
+      };
+      child.append(close);
+      return child;
+    }
+    /**
+     * toJqDom 顾名思义,转化为Jq对象
+     * @param selector
+     * @return {*}
+     */
+
+  }, {
+    key: 'toJqDom',
+    value: function toJqDom(selector) {
+      if (selector instanceof jQuery) {
+        return selector;
+      }
+      return $(selector);
+    }
+  }, {
+    key: 'add',
+    value: function add(s, k) {
+      this.addDelBox({ str: s, k: k });
+    }
+  }, {
+    key: 'clear',
+    value: function clear(other) {
+      var _this2 = this;
+
+      if ((typeof other === 'undefined' ? 'undefined' : _typeof(other)) !== 'object') {
+        return false;
+      }
+      other.forEach(function (v) {
+        return _this2.del(v);
+      });
+    }
+  }, {
+    key: 'del',
+    value: function del(s) {
+      var _this3 = this;
+
+      var index = s;
+      if (typeof s !== 'number') {
+        index = this.arr.indexOf(s);
+      }
+      if (index !== -1) {
+        this.arr = this.arr.filter(function (v) {
+          return v !== _this3.arr[index];
+        });
+        var d = this.domArr.splice(index, 1)[0];
+        d.remove();
+      }
+    }
+  }]);
+
+  return DelBox;
+}();

+ 516 - 61
src/web/templates/pc/dataExport_sieve.html

@@ -9,9 +9,10 @@
     <link rel="stylesheet" href="/dataExport/css/reset_pc.css?v={{Msg "seo" "version"}}">
     <link rel="stylesheet" href="/dataExport/css/conditions.css?v={{Msg "seo" "version"}}">
     <script language="javascript" type="text/javascript" src="/My97DatePicker/WdatePicker.js?v={{Msg "seo" "version"}}"></script>
+    <script language="javascript" type="text/javascript" src="/dataExport/js/delbox.js?v={{Msg "seo" "version"}}"></script>
 
     {{include "/common/pnc.html"}}
-    <link href="/css/pc.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+    <link href="/css/pc.css?v={{Msg "seo" "venrsion"}}" rel="stylesheet">
     <link href="/css/dev2/reset_pc.css?v={{Msg "seo" "version"}}" rel="stylesheet">
     <link rel="stylesheet" type="text/css" href="/pccss/public-nav-1200.css?v={{Msg "seo" "version"}}"/>
     <script type="text/javascript" src="/js/public-nav.js?v={{Msg "seo" "version"}}"></script>
@@ -39,8 +40,8 @@
             height: 0px;
             border: 1px solid #ccc;
             position: absolute;
-            left: 94px;
-            top: 274px;
+            left: 64px;
+            top: 8px;
             border-width: 9px;
             border-color: transparent #ccc transparent transparent;
         }
@@ -50,8 +51,8 @@
              height: 0px;
              border: 1px solid #fff;
              position: absolute;
-             left: 96px;
-             top: 274px;
+             left: 66px;
+             top: 8px;
              border-width: 9px;
              border-color: transparent #fff transparent transparent;
              z-index: 99;
@@ -62,14 +63,14 @@
             width: 596px;
             border: 1px solid #cecbce;
             position: absolute;
-            left: 112px;
+            left: 82px;
+            top: -21px;
             background-color: #fff;
             padding: 24px 24px;
             font-family: MicrosoftYaHer-Bold,MicrosoftYaHei;
             font-size: 14px;
             line-height: 24px;
             border-radius: 2px;
-            top: 244px;
             color: #5c5d61;
             box-shadow: 0 0 10px rgba(0,0,0, .24);
         }
@@ -77,8 +78,10 @@
             display: inline-block;
             border: 1px solid #cecbce;
             position: absolute;
-            left: 624px;
-            top: 464px;
+            width: 100px;
+            text-align: center;
+            left: 578px;
+            top: 202px;
             border-radius: 2px;
             background-color: #fff;
             padding: 7px 13px;
@@ -100,6 +103,98 @@
         .remindtwo_ div:nth-child(1){
             margin-top: 0px !important;
         }
+        .priceSel{
+             border-color: #2CB7CA;
+         }
+        .priceSelected{
+            border-color: #2CB7CA;
+        }
+    </style>
+    <style>
+        .select-date.number::before {
+            content: none;
+        }
+
+        .select-date.number > input {
+            margin-top: 0;
+        }
+
+        .select-date.number::after {
+            content: '万元';
+            top: 0;
+            color: #252627;
+        }
+
+        .info-select-box {
+            text-align: left;
+        }
+
+        .info-select-box > span {
+            cursor: pointer;
+            color: #252627;
+            font-size: 14px;
+            line-height: 30px;
+            padding-right: 18px;
+        }
+
+        .info-select-box > span.info-select-now {
+            color: #2CB7CA;
+            margin-top: 10px;
+            padding-left: 18px;
+            border-left: 1px solid #C9CAD0;
+        }
+
+        .info-select-box > span.info-select-now.all {
+            padding-left: 0;
+            border-left: none;
+            color: #252627;
+        }
+
+        .delete-boxs .delete-box-close {
+            cursor: pointer;
+            height: 36px;
+            line-height: 36px;
+            border: 1px solid #2cb7ca;
+            color: #2cb7ca;
+            border-radius: 4px;
+            font-size: 14px;
+            box-sizing: border-box;
+            padding-left: 15px;
+            margin-bottom: 8px;
+            margin-right: 8px;
+        }
+
+        .delete-boxs .delete-box-close > i {
+            font-size: 10px;
+            padding: 8px 17px;
+        }
+
+        .class-open {
+            position: relative;
+            padding-right: 50px;
+        }
+
+        .class-open strong {
+            font-weight: normal;
+        }
+
+        .class-open .open-more {
+            color: #686868;
+            font-size: 14px;
+            line-height: 30px;
+            position: absolute;
+            right: 0;
+            top: 0;
+            cursor: pointer;
+        }
+
+        .class-open .open-more > i {
+            font-size: 10px;
+        }
+
+        .class-open .open-more .s-hide {
+            display: none;
+        }
     </style>
 </head>
 <body>
@@ -118,12 +213,12 @@
         </div>
     </div>
     <!--选择区域-->
-    <div class="inner" style="position: relative;">
+    <div class="inner">
         <!--日期-->
         <div class="line-box float-box">
             <div class="left">筛选日期</div>
             <div class="right">
-                <div class="float-box">
+                <div class="float-box" id="sieveDate">
                     <button class="u-select select" data-value="2018">2018全年</button>
                     <button class="u-select" data-value="2017">2017全年</button>
                     <button class="u-select" data-value="2017_toNow">2017年至今</button>
@@ -177,23 +272,56 @@
                 </div>
             </div>
         </div>
+        {{/*<!--行业-->*/}}
+        {{/*<div class="line-box float-box" style="padding-bottom: 0">*/}}
+            {{/*<div class="left" style="padding-top: 8px">行业</div>*/}}
+            {{/*<div class="right" style="font-size: 14px;">*/}}
+                {{/*<div class="industry">*/}}
+                    {{/*<!--收起-->*/}}
+                    {{/*<div class="stop">*/}}
+                        {{/*更多*/}}
+                    {{/*</div>*/}}
+                    {{/*<div class="industry-content" style="width:1004px;">*/}}
+                    {{/*</div>*/}}
+                {{/*</div>*/}}
+            {{/*</div>*/}}
+        {{/*</div>*/}}
         <!--行业-->
-        <div class="line-box float-box" style="padding-bottom: 0">
-            <div class="left" style="padding-top: 8px">行业</div>
-            <div class="right" style="font-size: 14px;">
-                <div class="industry">
-                    <!--收起-->
-                    <div class="stop">
-                        更多
-                    </div>
-                    <div class="industry-content" style="width:1004px;">
+        <div class="line-box float-box p20">
+            <div class="left">行业</div>
+            <div class="right">
+                <div class="delete-boxs float-box" id="class-del"></div>
+                <div class="float-box" id="class-select">
+                    <div class="info-select-box class-open" id="industrySel">
+                        <div class="open-more">
+                            <strong>更多</strong>
+                            <i class="iconfont icon-gengduo"></i>
+                            <strong class="s-hide">收起</strong>
+                            <i class="iconfont icon-shouqi s-hide"></i>
+                        </div>
                     </div>
                 </div>
             </div>
         </div>
         <!--关键词-->
         <div class="line-box float-box p20">
-            <div class="left">关键词 <i id="exp" class="iconfont icon-bangzhu"></i></div>
+            <div class="left" style="position: relative">
+                关键词 <i id="exp" class="iconfont icon-bangzhu"></i>
+                <!--关键词说明-->
+                <div class="remind" style="display:none;">
+                    <span class="remindone_"></span>
+                    <span class="remindonebak_"></span>
+                    <span class="remindtwo_">
+                        <div>关键词</div>
+                        <div>目标信息中的关键性词语,如:信息化</div>
+                        <div>附加词</div>
+                        <div>与关键词形成一体/组合,便于查找准确信息,如:招标项目</div>
+                        <div>排除词</div>
+                        <div>与关键词互斥,为了便于查找目标信息需要去除某一部分非目标信息,如:办公用品</div>
+                    </span>
+                    <span class="iknow_">我知道了</span>
+                </div>
+            </div>
             <div class="right float-box">
                 <div class="del-box float-box" id="inputDel_0">
                     <div class="column"></div>
@@ -220,20 +348,42 @@
                 </div>
             </div>
         </div>
-        <!--关键词说明-->
-        <span class="remind" style="display:none;">
-            <span class="remindone_"></span>
-            <span class="remindonebak_"></span>
-            <span class="remindtwo_">
-                <div>关键词</div>
-                <div>目标信息中的关键性词语,如:信息化</div>
-                <div>附加词</div>
-                <div>与关键词形成一体/组合,便于查找准确信息,如:招标项目</div>
-                <div>排除词</div>
-                <div>与关键词互斥,为了便于查找目标信息需要去除某一部分非目标信息,如:办公用品</div>
-            </span>
-            <span class="iknow_">我知道了</span>
-        </span>
+        <!--金额-->
+        <div class="line-box float-box p20">
+            <div class="left">金额</div>
+            <div class="right">
+                <div class="float-box">
+                    <button class="u-select select" style="width: 60px" id="priceAll">全部</button>
+                    <div class="select-date number" data-text="万元">
+                        <input type="text" name="minprice" id="minprice">
+                    </div>
+                    <div class="split-line">—</div>
+                    <div class="select-date number" data-text="万元">
+                        <input type="text" name="maxprice" id="maxprice">
+                    </div>
+                    <button class="u-select" id="priceConfirm"
+                            style="width: 60px;background-color: #2CB7CA;color: #fff;margin-left: 10px;display: none;">确定</button>
+                </div>
+            </div>
+        </div>
+        <!--信息类型-->
+        <!--信息类型-->
+        <div class="line-box float-box p20">
+            <div class="left">信息类型</div>
+            <div class="right">
+                <div class="delete-boxs float-box" id="info-del"></div>
+                <div class="float-box " id="info-select">
+                    <div class="info-select-box all">
+                        <span class="info-select-now all">全部</span>
+                        <span class="info-select-now">拟建项目</span>
+                        <span class="info-select-now">招标预告</span>
+                        <span class="info-select-now">招标公告</span><span data-value="招标公告_招标">招标</span><span data-value="招标公告_邀标">邀标</span><span data-value="招标公告_询价">询价</span><span data-value="招标公告_竞谈">竞谈</span><span data-value="招标公告_单一">单一</span><span data-value="招标公告_竞价">竞价</span><span data-value="招标公告_变更">变更</span><span data-value="招标公告_其他">其他</span>
+                        <span class="info-select-now">招标结果</span><span data-value="招标结果_中标">中标</span><span data-value="招标结果_成交">成交</span><span data-value="招标结果_废标">废标</span><span data-value="招标结果_流标">流标</span>
+                        <span class="info-select-now">招标信用信息</span><span data-value="招标信用信息_合同">合同</span><span data-value="招标信用信息_验收">验收</span><span data-value="招标信用信息_违规">违规</span>
+                    </div>
+                </div>
+            </div>
+        </div>
         <!--采购单位-->
         <div class="line-box float-box p20">
             <div class="left">采购单位</div>
@@ -280,31 +430,46 @@
         $(".public-nav").css("background-color", "#fff");
         $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
         //行业
-        var industryhtml = '<span id="induAll" class="active">全部</span>';
+        // var industryhtml = '<span id="induAll" class="active">全部</span>';
+        // if (sortArray != null && sortArray.length > 0) {
+        //     for (var i in sortArray) {
+        //         var fat = sortArray[i];
+        //         var childlist = industrylist[fat];
+        //         industryhtml += '<i class="diver"></i><font class="parent-node">' + fat + '</font>';
+        //         for (var j in childlist) {
+        //             industryhtml += '<font data-value="' + fat + '_' + childlist[j] + '" style="display: none;">' + childlist[j] + '</font>';
+        //         }
+        //     }
+        //     $(".industry-content").html(industryhtml);
+        //     /*行业筛选*/
+        //     industryScreening($(".industry  .industry-content"), $(".industry-content .parent-node"), $("#induAll"), $(".industry .stop"));
+        // }
+
+        //行业-new
+        var industryhtml = '<span class="info-select-now all">全部</span>';
         if (sortArray != null && sortArray.length > 0) {
             for (var i in sortArray) {
                 var fat = sortArray[i];
                 var childlist = industrylist[fat];
-                industryhtml += '<i class="diver"></i><font class="parent-node">' + fat + '</font>';
+                industryhtml += '<span class="info-select-now">' + fat + '</span>';
                 for (var j in childlist) {
-                    industryhtml += '<font data-value="' + fat + '_' + childlist[j] + '" style="display: none;">' + childlist[j] + '</font>';
+                    industryhtml += '<span data-value="' + fat + '_' + childlist[j] + '" style="display: none;">' + childlist[j] + '</span>';
                 }
             }
-            $(".industry-content").html(industryhtml);
-            /*行业筛选*/
-            industryScreening($(".industry  .industry-content"), $(".industry-content .parent-node"), $("#induAll"), $(".industry .stop"));
+            $("#industrySel").append($(industryhtml));
         }
+
     });
 
-    $(".u-select").click(function () {
+    $("#sieveDate .u-select").click(function () {
         resetSelectDate();
-        $(".u-select").removeClass("select");
+        $("#sieveDate .u-select").removeClass("select");
         $(this).addClass("select");
     });
 
     //重置开始时间 结束时间
     function resetSelectDate() {
-        $(".select-date").removeClass("select");
+        $("#sieveDate .select-date").removeClass("select");
         $("#starttime").attr("data-value", "");
         $("#endtime").attr("data-value", "");
         $("#starttime").val("");
@@ -317,7 +482,7 @@
         time = time.substring(0, time.length - 3);
         $(obj).attr("data-value", time);
         if ($("#starttime").attr("data-value") && $("#endtime").attr("data-value")) {
-            $(".u-select").removeClass("select");
+            $("#sieveDate .u-select").removeClass("select");
             $(".select-date").addClass("select");
         }
     }
@@ -326,7 +491,7 @@
         $(".select-date").removeClass("select");
         $(obj).attr("data-value", "");
         if (!$("#starttime").attr("data-value") || !$("#endtime").attr("data-value")) {
-            $(".u-select").first().addClass("select");
+            $("#sieveDate .u-select").first().addClass("select");
         }
     }
 
@@ -339,8 +504,8 @@
     function getDate() {
         var start;
         var end;
-        if ($(".u-select").hasClass("select")) {
-            var temp = $(".u-select.select").data("value") + "";
+        if ($("#sieveDate .u-select").hasClass("select")) {
+            var temp = $("#sieveDate .u-select.select").data("value") + "";
             if (temp) {
                 if (temp.indexOf("_toNow") > 0) {
                     start = new Date(temp.split("_")[0] + "-01-01 00:00:00").getTime() / 1000;
@@ -370,14 +535,17 @@
 
     //行业
     function getIndustries() {
-        var arr = new Array();
-        $.each($(".industry-content").children("font[class='active']"), function (index, value) {
-            var obj = $(value);
-            if (obj) {
-                arr.push(obj.data("value"));
-            }
-        });
-        return arr;
+        var industryArr = new Array();
+        // $.each($(".industry-content").children("font[class='active']"), function (index, value) {
+        //     var obj = $(value);
+        //     if (obj) {
+        //         arr.push(obj.data("value"));
+        //     }
+        // });
+        ClassArr.getArr().forEach(v => {
+            industryArr = industryArr.concat(v.split(","));
+        })
+        return industryArr;
     }
 
     //关键词
@@ -402,6 +570,41 @@
         });
         return re;
     }
+    
+    //金额
+    function getPrice() {
+        var minPrice = "";
+        var maxPrice = "";
+        if(!$("#priceAll").hasClass("select")){
+            if($("#minprice").parent().hasClass("priceSelected")
+                    && $("#maxprice").parent().hasClass("priceSelected")){
+                minPrice = $("#minprice").val();
+                maxPrice = $("#maxprice").val();
+            }
+        }
+        return [minPrice,maxPrice];
+    }
+    
+    //信息类型
+    function getSubType() {
+        var njxm = {"拟建项目":"拟建"};
+        var zbyg = {"招标预告":"预告"};
+        var subArr = new Array();
+        InfoArr.arr.forEach(v => {
+            let arr = InfoData[v];
+            if(arr){
+                subArr = subArr.concat(arr);
+            }else{
+                if(v==Object.keys(njxm)[0]){
+                    v = njxm[v];
+                }else if(v==Object.keys(zbyg)[0]){
+                    v = zbyg[v];
+                }
+                subArr.push(v.split('_').pop());
+            }
+        })
+        return subArr
+    }
 
     //采购单位
     function getBuyers() {
@@ -432,14 +635,19 @@
         var area = getAreas();
         var industry = getIndustries();
         var keyword = getKeywords();
+        var price = getPrice();
+        var subType = getSubType();
         var buyer = getBuyers();
         var winner = getWinners();
 
         var param = {
             "publishtime": date,
             "area": area.toString() == "全国" ? "" : area.toString(),
-            "industry": industry.toString(),
+            "industry": industry.toString() == "全部" ? "" : industry.toString(),
             "keyword": JSON.stringify(keyword),
+            "minprice": price[0],
+            "maxprice": price[1],
+            "subtype": subType.toString() == "全部" ? "" : subType.toString(),
             "buyer": buyer.toString(),
             "winner": winner.toString()
         };
@@ -458,21 +666,35 @@
         $("#sieve").addClass("btn-border");
         //publishtime
         resetSelectDate();
-        $(".u-select").removeClass("select");
-        $(".u-select").first().addClass("select");
+        $("#sieveDate .u-select").removeClass("select");
+        $("#sieveDate .u-select").first().addClass("select");
         //area
         $("#area-del").children().remove();
         //industry
-        $(".industry-content").children("font").removeClass("active");
-        $(".industry-content #induAll").addClass("active");
+        // $(".industry-content").children("font").removeClass("active");
+        // $(".industry-content #induAll").addClass("active");
+        $("#class-del").children().remove();
+        ClassArr.clear(ClassArr.arr);
         //keyword
         $("#inputDel_0").find("div[data-arr='inputDel_0']").remove();
+        //price
+        $("#minprice").val("");
+        $("#maxprice").val("");
+        $("#priceAll").addClass("select");
+        priceDisSelected();
+        priceDisSel();
+        priceConfirmHide();
+        priceShow = false;
+        //subtype
+        $("#info-del").children().remove();
+        InfoArr.clear(InfoArr.arr);
         //buyer
         $("#inputDel_1").find("div[data-arr='inputDel_1']").remove();
         //winner
         $("#inputDel_2").find("div[data-arr='inputDel_2']").remove();
     });
 
+    //关键词说明
     $("#exp").click(function () {
         $(".remind").fadeIn();
     });
@@ -480,5 +702,238 @@
     $(".iknow_").click(function(){
         $(".remind").fadeOut();
     })
+
+    //金额全部
+    $("#priceAll").click(function () {
+        priceShow = false;
+        priceDisSel();
+        priceDisSelected();
+        priceConfirmHide();
+        $(this).addClass("select");
+    })
+
+    //金额区间
+    var priceShow = false;
+    $("#minprice,#maxprice").mouseover(function () {
+        if(!$(this).parent().hasClass("priceSelected")){
+            priceSel();
+            priceConfirmShow();
+        }
+    }).mouseout(function () {
+        if(!$(this).parent().hasClass("priceSelected")){
+            if(!priceShow) {
+                priceDisSel();
+                priceConfirmHide();
+            }
+        }
+    });
+    
+    $("#minprice,#maxprice").click(function(){
+        priceShow = true;
+        priceSel();
+        priceConfirmShow();
+    })
+
+    function priceSel() {
+        $("#minprice,#maxprice").parent().addClass("priceSel");
+    }
+    function priceDisSel() {
+        $("#minprice,#maxprice").parent().removeClass("priceSel");
+    }
+
+    function priceConfirmShow() {
+        $("#priceConfirm").show();
+    }
+    function priceConfirmHide() {
+        $("#priceConfirm").hide();
+    }
+
+    function priceSelected() {
+        $("#minprice,#maxprice").parent().addClass("priceSelected");
+    }
+    function priceDisSelected() {
+        $("#minprice,#maxprice").parent().removeClass("priceSelected");
+    }
+    
+    $("#priceConfirm").click(function () {
+        var minP = $("#minprice").val();
+        var maxP = $("#maxprice").val();
+        if(minP!="" && isNaN(minP)){
+            $("#minprice").val("");
+        }
+        if(maxP!="" && isNaN(maxP)){
+            $("#maxprice").val("");
+        }
+        if(minP || maxP){
+            if(minP && maxP && parseFloat(minP)>parseFloat(maxP)){
+                $("#minprice").val(maxP);
+                $("#maxprice").val(minP);
+            }
+            $(this).parent().children("button:eq(0)").removeClass("select");
+            priceSelected();
+        }else{
+            $(this).parent().children("button:eq(0)").addClass("select");
+            priceDisSelected();
+        }
+        priceDisSel();
+        priceConfirmHide();
+        priceShow = false;
+    });
+    
+    var reg = /^[\u4e00-\u9fa5]+$/;
+    var minnum ;
+    $("#minprice").on("input propertychange",function(){
+        var minp = $.trim($(this).val()).replace(/\s/g,"");
+        $(this).val(minp);
+        if(!/^[\d]{1,9}([.][\d]{0,2})?$/.test(minp)){
+            if((reg.test(minp)||isNaN(minp)||minp.indexOf("e")>0)&&minp.indexOf(".")<0){
+                $(this).val(minnum)
+            }else{
+                if(reg.test(minp)||isNaN(minp)||minp.indexOf("e")>0){
+                    $(this).val(minnum)
+                }else{
+                    if(minp.indexOf(".")>0){
+                        var offront = minp.split(".")[0];
+                        var ofafter = minp.split(".")[1];
+                        if(offront.length>9||ofafter.length>2){
+                            $(this).val(minnum)
+                        }else{
+                            $(this).val(minp)
+                            minnum = minp;
+                        }
+                    }else{
+                        if(minp.length>9){
+                            $(this).val(minnum)
+                        }else{
+                            $(this).val(minp)
+                            minnum = minp;
+                        }
+                    }
+                }
+            }
+        }else{
+            minnum = minp;
+        }
+    })
+
+    var maxnum;
+    $("#maxprice").on("input propertychange",function(){
+        var maxp = $.trim($(this).val()).replace(/\s/g,"");
+        $(this).val(maxp)
+        if(!/^[\d]{1,9}([.][\d]{0,2})?$/.test(maxp)){
+            if((reg.test(maxp)||isNaN(maxp)||maxp.indexOf("e")>0)&&maxp.indexOf(".")<0){
+                $(this).val(maxnum)
+            }else{
+                if(reg.test(maxp)||isNaN(maxp)||maxp.indexOf("e")>0){
+                    $(this).val(maxnum)
+                }else{
+                    if(maxp.indexOf(".")>0){
+                        var offront = maxp.split(".")[0];
+                        var ofafter = maxp.split(".")[1];
+                        if(offront.length>9||ofafter.length>2){
+                            $(this).val(maxnum)
+                        }else{
+                            $(this).val(maxp)
+                            maxnum = maxp;
+                        }
+                    }else{
+                        if(maxp.length>9){
+                            $(this).val(maxnum)
+                        }else{
+                            $(this).val(maxp)
+                            maxnum = maxp;
+                        }
+                    }
+                }
+            }
+        }else{
+            maxnum = maxp;
+        }
+    })
+</script>
+<script>
+    'use strict'
+
+    /* 公用判断及补全 */
+    function AddClick (dom, newsDelBox, DelBoxData) {
+        var dom = dom
+        var d = dom.text()
+        var f = dom.attr('data-value') || d
+        if (!f) {
+            dom.attr('data-value', d)
+        }
+        if (d === '全部') {
+            newsDelBox.clear(newsDelBox.arr)
+        } else {
+            newsDelBox.del('全部')
+        }
+        var checkData = DelBoxData
+        for (var i in checkData) {
+            var arr = checkData[i]
+            if (i === d) {
+                newsDelBox.clear(arr.map(function (v) {
+                    return i + '_' + v
+                }))
+                break
+            }
+            if (arr.indexOf(d) !== -1) {
+                newsDelBox.del(i)
+            }
+        }
+        newsDelBox.add(d, f)
+    }
+
+    function getArr (oldArr, DelBoxData) {
+        var newArr = oldArr.map(function (v) {
+            var arr = DelBoxData[v]
+            if (arr) {
+                return arr.map(function (sv) {
+                    return v + '_' + sv
+                }).join(',')
+            } else {
+                return v
+            }
+        })
+        return newArr
+    }
+
+    /* 信息 */
+    var InfoData = {
+        '招标公告': ['招标', '邀标', '询价', '竞谈', '单一', '竞价', '变更', '其他'],
+        '招标结果': ['中标', '成交', '废标', '流标'],
+        '招标信用信息': ['合同', '验收', '违规']
+    }
+    var InfoArr = new DelBox({
+        box: '#info-del'
+    })
+    InfoArr.getArr = function () {
+        return getArr(InfoArr.arr, InfoData)
+    }
+    $('#info-select span').on('click', function () {
+        AddClick($(this), InfoArr, InfoData)
+    })
+    /* 行业 */
+    var ClassData = industrylist;
+    var ClassArr = new DelBox({
+        box: '#class-del'
+    })
+    ClassArr.getArr = function () {
+        return getArr(ClassArr.arr, ClassData)
+    }
+    $(document).on('click', '#class-select span', function () {
+        AddClick($(this), ClassArr, ClassData)
+    })
+    /* 展示更多 */
+    var openMore = true
+    $('#class-select span:not(.info-select-now)').hide()
+    $('#class-select .open-more').on('click', function () {
+        $(this).children().toggleClass('s-hide')
+        if (openMore) {
+            $('#class-select span:not(.info-select-now)').show()
+        } else {
+            $('#class-select span:not(.info-select-now)').hide()
+        }
+        openMore = !openMore
+    })
 </script>
 </html>

+ 1 - 3
src/web/templates/pc/myOrder.html

@@ -114,9 +114,7 @@
                         if(!orderMoney){
                             orderMoney = 0;
                         }
-                        if(spec){
-                            spec = spec + "字段包";
-                        }else{
+                        if(!spec){
                             spec = "";
                         }
                         if(orderStatus==0){

+ 8 - 2
src/web/templates/pc/orderDetail.html

@@ -67,7 +67,7 @@
                 <p>产品类型:{{.T.o.product_type}}</p>
             </div>
             <div class="item">
-                <p>数据规格:{{if .T.o.data_spec}}{{.T.o.data_spec}}字段包{{end}}</p>
+                <p>数据规格:{{.T.o.data_spec}}</p>
                 <p>数量:{{.T.o.data_count}}条</p>
                 <p>价格:<script>document.write(FormatNum({{.T.o.pay_money}}))</script>元</p>
                 <p>邮箱地址:{{.T.o.user_mail}}</p>
@@ -116,7 +116,13 @@
             var industryHtml = ``;
             if(industry){
                 for (var i=0;i<industry.length;i++){
-                    industryHtml += `<span>`+industry[i]+`</span>`;
+                    var d = industry[i];
+                    if (d && d.split("_").length==2){
+                        d = d.split("_")[1];
+                    }else {
+                        d = "";
+                    }
+                    industryHtml += `<span>`+d+`</span>`;
                 }
             }
             var keywordsHtml = `<div>`;