Browse Source

Merge branch 'master' of http://git.zthymaoyi.com/gdc/yiliangyiyun-app

# Conflicts:
#	pages/sale/plant.vue
#	pages/sale/portprice.vue
ccjgmwz 3 years ago
parent
commit
3dc7b877ba

+ 3 - 0
App.vue

@@ -806,4 +806,7 @@
 			}
 		}
 	}
+	.align-item-center{
+		align-items: center;
+	}
 </style>

+ 1063 - 0
components/city.js

@@ -0,0 +1,1063 @@
+/**
+ * Created by dianwoda on 2019/3/28.
+ * // A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+    // { cityName: '', pinYin: '', py: '', code: '', airName: ''},
+ */
+export default {
+  hotCity: [
+    { cityName: '北京', pinYin: 'beijing', py: 'bj', code: 'PEK'},
+    { cityName: '上海', pinYin: 'shanghai', py: 'sh', code: 'SHA'},
+    { cityName: '天津', pinYin: 'tianjin', py: 'tj', code: 'TSN'},
+    { cityName: '青岛', pinYin: 'qingdao', py: 'qd', code: 'TAO'},
+    { cityName: '南京', pinYin: 'nanjing', py: 'nj', code: 'NKG'},
+    { cityName: '杭州', pinYin: 'hangzhou', py: 'hz', code: 'HGH'},
+    { cityName: '厦门', pinYin: 'xiamen', py: 'xm', code: 'XMN'},
+    { cityName: '成都', pinYin: 'chengdu', py: 'cd', code: 'CTU'},
+    { cityName: '深圳', pinYin: 'shenzhen', py: 'sz', code: 'SZX'},
+    { cityName: '广州', pinYin: 'guangzhou', py: 'gz', code: 'CAN'},
+    { cityName: '沈阳', pinYin: 'shenyang', py: 'sy', code: 'SHE'},
+    { cityName: '武汉', pinYin: 'wuhan', py: 'wh', code: 'WUH'}
+  ],
+  cities: [{
+      
+    "cityName": "阿尔山",
+    "pinyin": "aershan",
+    "py": "aes",
+    "code": "YIE"
+}, {
+    "cityName": "阿克苏",
+    "pinyin": "akesu",
+    "py": "aks",
+    "code": "AKU"
+}, {
+    "cityName": "阿勒泰",
+    "pinyin": "aletai",
+    "py": "alt",
+    "code": "AAT"
+}, {
+    "cityName": "阿里",
+    "pinyin": "ali",
+    "py": "al",
+    "code": "NGQ"
+}, {
+    "cityName": "安庆",
+    "pinyin": "anqing",
+    "py": "aq",
+    "code": "AQG"
+}, {
+    "cityName": "鞍山",
+    "pinyin": "anshan",
+    "py": "as",
+    "code": "AOG"
+}, {
+    "cityName": "安顺",
+    "pinyin": "anshun",
+    "py": "as",
+    "code": "AVA"
+}, {
+    "cityName": "巴彦淖尔",
+    "pinyin": "bayanzuoer",
+    "py": "byze",
+    "code": "RLK"
+}, {
+    "cityName": "百色",
+    "pinyin": "baise",
+    "py": "bs",
+    "code": "AEB"
+}, {
+    "cityName": "保山",
+    "pinyin": "baoshan",
+    "py": "bs",
+    "code": "BSD"
+}, {
+    "cityName": "包头",
+    "pinyin": "baotou",
+    "py": "bt",
+    "code": "BAV"
+}, {
+    "cityName": "北海",
+    "pinyin": "beihai",
+    "py": "bh",
+    "code": "BHY"
+}, {
+    "cityName": "北京",
+    "pinyin": "beijing",
+    "py": "bj",
+    "code": "PEK"
+}, {
+    "cityName": "北京南苑",
+    "pinyin": "beijingnanyuan",
+    "py": "bjny",
+    "code": "NAY"
+}, {
+    "cityName": "毕节",
+    "pinyin": "bijie",
+    "py": "bj",
+    "code": "BFJ"
+}, {
+    "cityName": "池州",
+    "pinyin": "chizhou",
+    "py": "cz",
+    "code": "JUH"
+}, {
+    "cityName": "沧源",
+    "pinyin": "cangyuan",
+    "py": "cy",
+    "code": "CWJ"
+}, {
+    "cityName": "长白山",
+    "pinyin": "changbaishan",
+    "py": "cbs",
+    "code": "NBS"
+}, {
+    "cityName": "长春",
+    "pinyin": "changchun",
+    "py": "cc",
+    "code": "CGQ"
+}, {
+    "cityName": "常德",
+    "pinyin": "changde",
+    "py": "cd",
+    "code": "CGD"
+}, {
+    "cityName": "长沙",
+    "pinyin": "changsha",
+    "py": "cs",
+    "code": "CSX"
+}, {
+    "cityName": "常州",
+    "pinyin": "changzhou",
+    "py": "cz",
+    "code": "CZX"
+}, {
+    "cityName": "朝阳",
+    "pinyin": "chaoyang",
+    "py": "cy",
+    "code": "CHG"
+}, {
+    "cityName": "成都",
+    "pinyin": "chengdu",
+    "py": "cd",
+    "code": "CTU"
+}, {
+    "cityName": "赤峰",
+    "pinyin": "chifeng",
+    "py": "cf",
+    "code": "CIF"
+}, {
+    "cityName": "重庆",
+    "pinyin": "chongqing",
+    "py": "cq",
+    "code": "CKG"
+}, {
+    "cityName": "大理",
+    "pinyin": "dali",
+    "py": "dl",
+    "code": "DLU"
+}, {
+    "cityName": "大连",
+    "pinyin": "dalian",
+    "py": "dl",
+    "code": "DLC"
+}, {
+    "cityName": "大同",
+    "pinyin": "datong",
+    "py": "dt",
+    "code": "DAT"
+}, {
+    "cityName": "达州",
+    "pinyin": "dazhou",
+    "py": "dz",
+    "code": "DAX"
+}, {
+    "cityName": "丹东",
+    "pinyin": "dandong",
+    "py": "dd",
+    "code": "DDG"
+}, {
+    "cityName": "丹阳",
+    "pinyin": "danyang",
+    "py": "dy",
+    "code": "DYN"
+}, {
+    "cityName": "稻城",
+    "pinyin": "daocheng",
+    "py": "dc",
+    "code": "DCY"
+}, {
+    "cityName": "德令哈",
+    "pinyin": "delingha",
+    "py": "dlh",
+    "code": "HXD"
+}, {
+    "cityName": "东营",
+    "pinyin": "dongying",
+    "py": "dy",
+    "code": "DOY"
+}, {
+    "cityName": "敦煌",
+    "pinyin": "dunhuang",
+    "py": "dh",
+    "code": "DNH"
+}, {
+    "cityName": "鄂尔多斯",
+    "pinyin": "eerduosi",
+    "py": "eeds",
+    "code": "DSN"
+}, {
+    "cityName": "恩施",
+    "pinyin": "enshi",
+    "py": "es",
+    "code": "ENH"
+}, {
+    "cityName": "二连浩特",
+    "pinyin": "erlianhaote",
+    "py": "elht",
+    "code": "ERL"
+}, {
+    "cityName": "佛山",
+    "pinyin": "foshan",
+    "py": "fs",
+    "code": "FUO"
+}, {
+    "cityName": "阜阳",
+    "pinyin": "fuyang",
+    "py": "fy",
+    "code": "FUG"
+}, {
+    "cityName": "福州",
+    "pinyin": "fuzhou",
+    "py": "fz",
+    "code": "FOC"
+}, {
+    "cityName": "赣州",
+    "pinyin": "ganzhou",
+    "py": "gz",
+    "code": "KOW"
+}, {
+    "cityName": "格尔木",
+    "pinyin": "geermu",
+    "py": "gem",
+    "code": "GOQ"
+}, {
+    "cityName": "固原",
+    "pinyin": "guyuan",
+    "py": "gy",
+    "code": "GYU"
+}, {
+    "cityName": "广元",
+    "pinyin": "guangyuan",
+    "py": "gy",
+    "code": "GYS"
+}, {
+    "cityName": "广州",
+    "pinyin": "guangzhou",
+    "py": "gz",
+    "code": "CAN"
+}, {
+    "cityName": "桂林",
+    "pinyin": "guilin",
+    "py": "gl",
+    "code": "KWL"
+}, {
+    "cityName": "贵阳",
+    "pinyin": "guiyang",
+    "py": "gy",
+    "code": "KWE"
+}, {
+    "cityName": "果洛",
+    "pinyin": "guoluo",
+    "py": "gl",
+    "code": "GMQ"
+}, {
+    "cityName": "哈尔滨",
+    "pinyin": "haerbin",
+    "py": "heb",
+    "code": "HRB"
+}, {
+    "cityName": "哈密",
+    "pinyin": "hami",
+    "py": "hm",
+    "code": "HMI"
+}, {
+    "cityName": "海口",
+    "pinyin": "haikou",
+    "py": "hk",
+    "code": "HAK"
+}, {
+    "cityName": "海拉尔",
+    "pinyin": "hailaer",
+    "py": "hle",
+    "code": "HLD"
+}, {
+    "cityName": "邯郸",
+    "pinyin": "handan",
+    "py": "hd",
+    "code": "HDG"
+}, {
+    "cityName": "汉中",
+    "pinyin": "hanzhong",
+    "py": "hz",
+    "code": "HZG"
+}, {
+    "cityName": "杭州",
+    "pinyin": "hangzhou",
+    "py": "hz",
+    "code": "HGH"
+}, {
+    "cityName": "合肥",
+    "pinyin": "hefei",
+    "py": "hf",
+    "code": "HFE"
+}, {
+    "cityName": "和田",
+    "pinyin": "hetian",
+    "py": "ht",
+    "code": "HTN"
+}, {
+    "cityName": "黑河",
+    "pinyin": "heihe",
+    "py": "hh",
+    "code": "HEK"
+}, {
+    "cityName": "衡阳",
+    "pinyin": "hengyang",
+    "py": "hy",
+    "code": "HNY"
+}, {
+    "cityName": "呼和浩特",
+    "pinyin": "huhehaote",
+    "py": "hhht",
+    "code": "HET"
+}, {
+    "cityName": "花土沟",
+    "pinyin": "huatugou",
+    "py": "htg",
+    "code": "HTT"
+}, {
+    "cityName": "淮安",
+    "pinyin": "huaan",
+    "py": "ha",
+    "code": "HIA"
+}, {
+    "cityName": "黄山",
+    "pinyin": "huangshan",
+    "py": "hs",
+    "code": "TXN"
+}, {
+    "cityName": "惠州",
+    "pinyin": "huizhou",
+    "py": "hz",
+    "code": "HUZ"
+}, {
+    "cityName": "济南",
+    "pinyin": "jinan",
+    "py": "jn",
+    "code": "TNA"
+}, {
+    "cityName": "济宁",
+    "pinyin": "jining",
+    "py": "jn",
+    "code": "JNG"
+}, {
+    "cityName": "鸡西",
+    "pinyin": "jixi",
+    "py": "jx",
+    "code": "JXA"
+}, {
+    "cityName": "加格达奇",
+    "pinyin": "jiagedaqi",
+    "py": "jgdq",
+    "code": "JGD"
+}, {
+    "cityName": "佳木斯",
+    "pinyin": "jiamusi",
+    "py": "jms",
+    "code": "JMU"
+}, {
+    "cityName": "嘉兴",
+    "pinyin": "jiaxing",
+    "py": "jx",
+    "code": "JXS"
+}, {
+    "cityName": "嘉峪关",
+    "pinyin": "jiayuguan",
+    "py": "jyg",
+    "code": "JGN"
+}, {
+    "cityName": "揭阳",
+    "pinyin": "jieyang",
+    "py": "jy",
+    "code": "SWA"
+}, {
+    "cityName": "金昌",
+    "pinyin": "jinchang",
+    "py": "jc",
+    "code": "JIC"
+}, {
+    "cityName": "锦州",
+    "pinyin": "jinzhou",
+    "py": "jz",
+    "code": "JNZ"
+}, {
+    "cityName": "景德镇",
+    "pinyin": "jingdezhen",
+    "py": "jdz",
+    "code": "JDZ"
+}, {
+    "cityName": "井冈山",
+    "pinyin": "jinggangshan",
+    "py": "jgs",
+    "code": "JGS"
+}, {
+    "cityName": "九江",
+    "pinyin": "jiujiang",
+    "py": "jj",
+    "code": "JIU"
+}, {
+    "cityName": "九寨沟",
+    "pinyin": "jiuzhaigou",
+    "py": "jzg",
+    "code": "JZH"
+}, {
+    "cityName": "喀什",
+    "pinyin": "kashen",
+    "py": "ks",
+    "code": "KHG"
+}, {
+    "cityName": "凯里",
+    "pinyin": "kaili",
+    "py": "kl",
+    "code": "KJH"
+}, {
+    "cityName": "康定",
+    "pinyin": "kangding",
+    "py": "kd",
+    "code": "KGT"
+}, {
+    "cityName": "克拉玛依",
+    "pinyin": "kelamayi",
+    "py": "klmy",
+    "code": "KRY"
+}, {
+    "cityName": "库车",
+    "pinyin": "kuche",
+    "py": "kc",
+    "code": "KCA"
+}, {
+    "cityName": "库尔勒",
+    "pinyin": "kuerle",
+    "py": "kel",
+    "code": "KRL"
+}, {
+    "cityName": "昆明",
+    "pinyin": "kunming",
+    "py": "km",
+    "code": "KMG"
+}, {
+    "cityName": "昆山",
+    "pinyin": "kunshan",
+    "py": "ks",
+    "code": "KVN"
+}, {
+    "cityName": "连城",
+    "pinyin": "liancheng",
+    "py": "lc",
+    "code": "LCX"
+}, {
+    "cityName": "临汾",
+    "pinyin": "linfen",
+    "py": "lf",
+    "code": "LFQ"
+}, {
+    "cityName": "泸沽湖",
+    "pinyin": "luguhu",
+    "py": "lgh",
+    "code": "NLH"
+}, {
+    "cityName": "拉萨",
+    "pinyin": "lasa",
+    "py": "ls",
+    "code": "LXA"
+}, {
+    "cityName": "澜沧",
+    "pinyin": "lancang",
+    "py": "lc",
+    "code": "JMJ"
+}, {
+    "cityName": "兰州",
+    "pinyin": "lanzhou",
+    "py": "lanzhou",
+    "code": "LHW"
+}, {
+    "cityName": "丽江",
+    "pinyin": "lijiang",
+    "py": "lijiang",
+    "code": "LJG"
+}, {
+    "cityName": "黎平",
+    "pinyin": "liping",
+    "py": "liping",
+    "code": "HZH"
+}, {
+    "cityName": "连云港",
+    "pinyin": "lianyungang",
+    "py": "lyg",
+    "code": "LYG"
+}, {
+    "cityName": "临沧",
+    "pinyin": "lincang",
+    "py": "lc",
+    "code": "LNJ"
+}, {
+    "cityName": "临沂",
+    "pinyin": "linyi",
+    "py": "ly",
+    "code": "LYI"
+}, {
+    "cityName": "林芝",
+    "pinyin": "linzhi",
+    "py": "lz",
+    "code": "LZY"
+}, {
+    "cityName": "六盘水",
+    "pinyin": "liupanshui",
+    "py": "lps",
+    "code": "LPF"
+}, {
+    "cityName": "柳州",
+    "pinyin": "liuzhou",
+    "py": "lz",
+    "code": "LZH"
+}, {
+    "cityName": "陇南",
+    "pinyin": "longnan",
+    "py": "ln",
+    "code": "LNL"
+}, {
+    "cityName": "泸州",
+    "pinyin": "luzhou",
+    "py": "lz",
+    "code": "LZO"
+}, {
+    "cityName": "洛阳",
+    "pinyin": "luoyang",
+    "py": "ly",
+    "code": "LYA"
+}, {
+    "cityName": "吕梁",
+    "pinyin": "lvliang",
+    "py": "ll",
+    "code": "LLV"
+}, {
+    "cityName": "茅台",
+    "pinyin": "maotai",
+    "py": "mt",
+    "code": "WMT"
+}, {
+    "cityName": "满洲里",
+    "pinyin": "manzhouli",
+    "py": "mzl",
+    "code": "NZH"
+}, {
+    "cityName": "芒市",
+    "pinyin": "mangshi",
+    "py": "ms",
+    "code": "LUM"
+}, {
+    "cityName": "绵阳",
+    "pinyin": "mianyang",
+    "py": "my",
+    "code": "MIG"
+}, {
+    "cityName": "漠河",
+    "pinyin": "mohe",
+    "py": "mh",
+    "code": "OHE"
+}, {
+    "cityName": "牡丹江",
+    "pinyin": "mudanjiang",
+    "py": "mdj",
+    "code": "MDG"
+}, {
+    "cityName": "南昌",
+    "pinyin": "nanchang",
+    "py": "nc",
+    "code": "KHN"
+}, {
+    "cityName": "南充",
+    "pinyin": "nanchong",
+    "py": "nc",
+    "code": "NAO"
+}, {
+    "cityName": "南京",
+    "pinyin": "nanjing",
+    "py": "nj",
+    "code": "NKG"
+}, {
+    "cityName": "南宁",
+    "pinyin": "nanning",
+    "py": "nn",
+    "code": "NNG"
+}, {
+    "cityName": "南通",
+    "pinyin": "nantong",
+    "py": "nt",
+    "code": "NTG"
+}, {
+    "cityName": "南阳",
+    "pinyin": "nanyang",
+    "py": "ny",
+    "code": "NNY"
+}, {
+    "cityName": "宁波",
+    "pinyin": "ningbo",
+    "py": "nb",
+    "code": "NGB"
+}, {
+    "cityName": "攀枝花",
+    "pinyin": "panzhihua",
+    "py": "pzh",
+    "code": "PZI"
+}, {
+    "cityName": "祁连县",
+    "pinyin": "qilianxian",
+    "py": "qlx",
+    "code": "HBQ"
+}, {
+    "cityName": "齐齐哈尔",
+    "pinyin": "qiqihaer",
+    "py": "qqhe",
+    "code": "NDG"
+}, {
+    "cityName": "黔江",
+    "pinyin": "qianjiang",
+    "py": "qj",
+    "code": "JIQ"
+}, {
+    "cityName": "秦皇岛",
+    "pinyin": "qinhuadao ",
+    "py": "qhd ",
+    "code": "BPE"
+}, {
+    "cityName": "青岛",
+    "pinyin": "qingdao",
+    "py": "qd",
+    "code": "TAO"
+}, {
+    "cityName": "庆阳",
+    "pinyin": "qy",
+    "py": "QingYang",
+    "code": "IQN"
+}, {
+    "cityName": "琼海",
+    "pinyin": "qionghai",
+    "py": "qh",
+    "code": "BAR"
+}, {
+    "cityName": "衢州",
+    "pinyin": "quzhou",
+    "py": "qz",
+    "code": "JUZ"
+}, {
+    "cityName": "泉州",
+    "pinyin": "quanzhou",
+    "py": "qz",
+    "code": "JJN"
+}, {
+    "cityName": "日喀则",
+    "pinyin": "rikaze",
+    "py": "rkz",
+    "code": "RKZ"
+}, {
+    "cityName": "日照",
+    "pinyin": "rizhao",
+    "py": "rz",
+    "code": "RIZ"
+}, {
+    "cityName": "三明",
+    "pinyin": "sanming",
+    "py": "sm",
+    "code": "SQJ"
+}, {
+    "cityName": "松原",
+    "pinyin": "songyuan",
+    "py": "sy",
+    "code": "YSQ"
+}, {
+    "cityName": "上海",
+    "pinyin": "shanghai",
+    "py": "sh",
+    "code": "SHA"
+}, {
+    "cityName": "上海浦东",
+    "pinyin": "shanghaipudong",
+    "py": "shpd",
+    "code": "PVG"
+}, {
+    "cityName": "上饶",
+    "pinyin": "shangrao",
+    "py": "sr",
+    "code": "SQD"
+}, {
+    "cityName": "邵阳",
+    "pinyin": "shaoyang",
+    "py": "sy",
+    "code": "WGN"
+}, {
+    "cityName": "神农架",
+    "pinyin": "shennongjia",
+    "py": "snj",
+    "code": "HPG"
+}, {
+    "cityName": "沈阳",
+    "pinyin": "shenyang",
+    "py": "sy",
+    "code": "SHE"
+}, {
+    "cityName": "深圳",
+    "pinyin": "shenzhen",
+    "py": "ss",
+    "code": "SZX"
+}, {
+    "cityName": "石河子",
+    "pinyin": "shihezi",
+    "py": "shz",
+    "code": "SHF"
+}, {
+    "cityName": "石家庄",
+    "pinyin": "shijiazhuang",
+    "py": "sjz",
+    "code": "SJW"
+}, {
+    "cityName": "十堰",
+    "pinyin": "shiyan",
+    "py": "sy",
+    "code": "WDS"
+}, {
+    "cityName": "苏州",
+    "pinyin": "suzhou",
+    "py": "sz",
+    "code": "SZV"
+}, {
+    "cityName": "太原",
+    "pinyin": "taiyuan",
+    "py": "ty",
+    "code": "TYN"
+}, {
+    "cityName": "台州",
+    "pinyin": "taizhou",
+    "py": "tz",
+    "code": "HYN"
+}, {
+    "cityName": "唐山",
+    "pinyin": "tangshan",
+    "py": "ts",
+    "code": "TVS"
+}, {
+    "cityName": "腾冲",
+    "pinyin": "tengchong",
+    "py": "tc",
+    "code": "TCZ"
+}, {
+    "cityName": "天津",
+    "pinyin": "tianjin",
+    "py": "tj",
+    "code": "TSN"
+}, {
+    "cityName": "通化",
+    "pinyin": "tonghua",
+    "py": "th",
+    "code": "TNH"
+}, {
+    "cityName": "通辽",
+    "pinyin": "tongliao",
+    "py": "tl",
+    "code": "TGO"
+}, {
+    "cityName": "铜仁",
+    "pinyin": "tongren",
+    "py": "tr",
+    "code": "TEN"
+}, {
+    "cityName": "桐乡",
+    "pinyin": "tongxiang",
+    "py": "tx",
+    "code": "TVX"
+}, {
+    "cityName": "吐鲁番",
+    "pinyin": "tulufan",
+    "py": "tlf",
+    "code": "TLQ"
+}, {
+    "cityName": "乌兰察布",
+    "pinyin": "wulanchabu",
+    "py": "wlcb",
+    "code": "UCB"
+}, {
+    "cityName": "五台山",
+    "pinyin": "wutaishan",
+    "py": "wts",
+    "code": "WUT"
+}, {
+    "cityName": "万州",
+    "pinyin": "wanzhou",
+    "py": "wz",
+    "code": "WXN"
+}, {
+    "cityName": "威海",
+    "pinyin": "weihai",
+    "py": "wh",
+    "code": "WEH"
+}, {
+    "cityName": "文山",
+    "pinyin": "wenshan",
+    "py": "ws",
+    "code": "WNH"
+}, {
+    "cityName": "温州",
+    "pinyin": "wenzhou",
+    "py": "wz",
+    "code": "WNZ"
+}, {
+    "cityName": "乌海",
+    "pinyin": "wuhai",
+    "py": "wh",
+    "code": "WUA"
+}, {
+    "cityName": "武汉",
+    "pinyin": "whhan",
+    "py": "wh",
+    "code": "WUH"
+}, {
+    "cityName": "乌兰浩特",
+    "pinyin": "wulanhaote",
+    "py": "wlht",
+    "code": "HLH"
+}, {
+    "cityName": "乌鲁木齐",
+    "pinyin": "wulumuqi",
+    "py": "wlmq",
+    "code": "URC"
+}, {
+    "cityName": "无锡",
+    "pinyin": "wuxi",
+    "py": "wx",
+    "code": "WUX"
+}, {
+    "cityName": "武夷山",
+    "pinyin": "wuyishan",
+    "py": "wys",
+    "code": "WUS"
+}, {
+    "cityName": "梧州",
+    "pinyin": "wuzhou",
+    "py": "wz",
+    "code": "WUZ"
+}, {
+    "cityName": "西安",
+    "pinyin": "xian",
+    "py": "xa",
+    "code": "SIA"
+}, {
+    "cityName": "西昌",
+    "pinyin": "xichang",
+    "py": "xc",
+    "code": "XIC"
+}, {
+    "cityName": "锡林浩特",
+    "pinyin": "xilinhaote",
+    "py": "xlht",
+    "code": "XIL"
+}, {
+    "cityName": "西宁",
+    "pinyin": "xining",
+    "py": "xn",
+    "code": "XNN"
+}, {
+    "cityName": "西双版纳",
+    "pinyin": "xushuangbanna",
+    "py": "xsbn",
+    "code": "JHG"
+}, {
+    "cityName": "厦门",
+    "pinyin": "xiamen",
+    "py": "xm",
+    "code": "XMN"
+}, {
+    "cityName": "香格里拉",
+    "pinyin": "xianggelila",
+    "py": "xgll",
+    "code": "DIG"
+}, {
+    "cityName": "襄阳",
+    "pinyin": "xiangyang",
+    "py": "xy",
+    "code": "XFN"
+}, {
+    "cityName": "信阳市",
+    "pinyin": "xinyang",
+    "py": "xy",
+    "code": "XAI"
+}, {
+    "cityName": "兴义",
+    "pinyin": "xingyi",
+    "py": "xy",
+    "code": "ACX"
+}, {
+    "cityName": "徐州",
+    "pinyin": "xuzhou",
+    "py": "xz",
+    "code": "XUZ"
+}, {
+    "cityName": "延安",
+    "pinyin": "yanan",
+    "py": "ya",
+    "code": "ENY"
+}, {
+    "cityName": "盐城",
+    "pinyin": "yancheng",
+    "py": "yc",
+    "code": "YNZ"
+}, {
+    "cityName": "延吉",
+    "pinyin": "yanji",
+    "py": "yj",
+    "code": "YNJ"
+}, {
+    "cityName": "烟台",
+    "pinyin": "yantai",
+    "py": "yt",
+    "code": "YNT"
+}, {
+    "cityName": "扬州",
+    "pinyin": "yangzhou",
+    "py": "yz",
+    "code": "YTY"
+}, {
+    "cityName": "宜宾",
+    "pinyin": "yibin",
+    "py": "yb",
+    "code": "YBP"
+}, {
+    "cityName": "宜昌",
+    "pinyin": "yichang",
+    "py": "yc",
+    "code": "YIH"
+}, {
+    "cityName": "伊春",
+    "pinyin": "yichun",
+    "py": "yc",
+    "code": "LDS"
+}, {
+    "cityName": "伊宁",
+    "pinyin": "yining",
+    "py": "yn",
+    "code": "YIN"
+}, {
+    "cityName": "义乌",
+    "pinyin": "yiwu",
+    "py": "yw",
+    "code": "YIW"
+}, {
+    "cityName": "银川",
+    "pinyin": "yinchuan",
+    "py": "yc",
+    "code": "INC"
+}, {
+    "cityName": "营口",
+    "pinyin": "yingkou",
+    "py": "yk",
+    "code": "YKH"
+}, {
+    "cityName": "永州",
+    "pinyin": "yongzhou",
+    "py": "yz",
+    "code": "LLF"
+}, {
+    "cityName": "榆林",
+    "pinyin": "yulin",
+    "py": "yl",
+    "code": "UYN"
+}, {
+    "cityName": "玉树",
+    "pinyin": "yushu",
+    "py": "ys",
+    "code": "YUS"
+}, {
+    "cityName": "运城",
+    "pinyin": "yuncheng",
+    "py": "yc",
+    "code": "YCU"
+}, {
+    "cityName": "湛江",
+    "pinyin": "zhanjiang",
+    "py": "zj",
+    "code": "ZHA"
+}, {
+    "cityName": "张家界",
+    "pinyin": "zhangjiajie",
+    "py": "zjj",
+    "code": "DYG"
+}, {
+    "cityName": "张家口",
+    "pinyin": "zhangjiakou",
+    "py": "zjk",
+    "code": "ZQZ"
+}, {
+    "cityName": "张掖",
+    "pinyin": "zhangye",
+    "py": "zy",
+    "code": "YZY"
+}, {
+    "cityName": "昭通",
+    "pinyin": "zhaotong",
+    "py": "zt",
+    "code": "ZAT"
+}, {
+    "cityName": "镇江",
+    "pinyin": "zhenjiang",
+    "py": "zj",
+    "code": "ZUJ"
+}, {
+    "cityName": "郑州",
+    "pinyin": "zhengzhou",
+    "py": "zz",
+    "code": "CGO"
+}, {
+    "cityName": "中卫",
+    "pinyin": "zhongwei",
+    "py": "zw",
+    "code": "ZHY"
+}, {
+    "cityName": "舟山",
+    "pinyin": "zhoushan",
+    "py": "zs",
+    "code": "HSN"
+}, {
+    "cityName": "珠海",
+    "pinyin": "zhuhai",
+    "py": "zh",
+    "code": "ZUH"
+}, {
+    "cityName": "遵义",
+    "pinyin": "zunyi",
+    "py": "zy",
+    "code": "ZYI"
+}, {
+    "cityName": "大庆",
+    "pinyin": "daqing",
+    "py": "dq",
+    "code": "DQA"
+}, {
+    "cityName": "普洱",
+    "pinyin": "puer",
+    "py": "pe",
+    "code": "SYM"
+}, {
+    "cityName": "三亚",
+    "pinyin": "sanya",
+    "py": "sy",
+    "code": "SYX"
+}],
+};

+ 454 - 0
components/linzq-citySelect/linzq-citySelect.vue

@@ -0,0 +1,454 @@
+<template>
+	<div class="wrapper" :style="'top:'+statusBarHeight+'px'">
+		<div class="header">
+			<view class="back_div">
+				<image class="back_img" @click="back_city()" src="../../static/img/login/logo@2x.png" mode=""></image>
+			</view>
+			<input class="input" @input="onInput" placeholder="中文/拼音/首字母" v-model="searchValue" />
+		</div>
+		<scroll-view class="calendar-list" scroll-y="true" :scroll-into-view="scrollIntoId">
+			<view v-if="disdingwei" id="hot">
+				<!-- 定位模块 -->
+				<view class="dingwei">
+					<view class="dingwei_Tips">
+						当前定位
+					</view>
+					<view class="dingwei_city">
+						<view class="dingwei_city_one">
+							{{position}}
+						</view>
+						<view class="dingweis_div" @click="getWarpweft">
+							<image class="dingweis" src="../../static/img/login/logo@2x.png" mode=""></image>
+							<text>{{po_tips}}</text>
+						</view>
+					</view>
+				</view>
+
+				<!-- 最近模块 -->
+				<view class="dingwei" v-if="Visit.length>=0">
+					<view class="dingwei_Tips">
+						最近访问
+					</view>
+					<view class="dingwei_city dingwei_city_zuijin">
+						<view class="dingwei_city_one toright" v-for="(item,index) in Visit" v-if="index<2" @click="back_city(item)">
+							{{item.cityName}}
+						</view> 
+					</view>
+				</view>
+
+			</view>
+
+
+			<!-- 城市列表 -->
+			<view v-if="searchValue == ''" v-for="(item, index) in list" :id="getId(index)" :key="index">
+				<view class="letter-header">{{ getId(index) }}</view>
+				<view class="city-div" v-for="(city, i) in item" :key="i" @click="back_city(city)">
+					<text class="city">{{ city.cityName }}</text>
+				</view>
+			</view>
+			<!-- 搜索结果 -->
+			<view class="city-div" v-for="(item, index) in searchList" @click="back_city(item)">
+				<text class="city">{{ item.cityName }}</text>
+			</view>
+		</scroll-view>
+
+		<!-- 右侧字母 -->
+		<view class="letters" v-if="searchValue == ''">
+			<view class="letters-item" @click="scrollTo('hot')">最近</view>
+			<view class="letters-item" v-for="item in letter" :key="item" @click="scrollTo(item)">{{ item }}</view>
+		</view>
+
+		<!-- 选中之后字母 -->
+		<view class="mask" v-if="showMask">
+			<view class="mask-r">{{selectLetter}}</view>
+		</view>
+	</div>
+</template>
+
+<script>
+	import Citys from '../city.js';
+	export default {
+		components: {},
+		props: {},
+
+		computed: {
+			hotCity() {
+				return Citys.hotCity;
+			},
+
+			citys() {
+				return Citys.cities;
+			}
+		},
+
+		data() {
+			return {
+				statusBarHeight: this.statusBarHeight,
+				ImgUrl: this.ImgUrl,
+				letter: [],
+				selectLetter: '',
+				searchValue: '',
+				scrollIntoId: '',
+				list: [],
+				tId: null,
+				searchList: [],
+				showMask: false,
+				disdingwei: true,
+				Visit: [], //最近访问
+				position: '青岛',
+				longitude: '', //经度
+				latitude: '', //纬度
+				seconds: 3,
+				po_tips: '重新定位',
+			}
+		},
+
+		created() {
+			//获取存储的最近访问
+			var that = this
+			uni.getStorage({
+				key: 'Visit_key',
+				success: function(res) {
+					that.Visit = res.data
+				}
+			});
+			//获取定位 经度纬度
+			that.getWarpweft()
+			//获取city.js 的程序字母
+			var mu = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'w', 'x', 'y',
+				'z'
+			];
+			var tmp = [];
+			for (var i = 0; i < mu.length; i++) {
+				var item = mu[i];
+				for (var j = 0; j < this.citys.length; j++) {
+					var py = this.citys[j].py;
+					if (py.substring(0, 1) == item) {
+						if (tmp.indexOf(item) == -1) {
+							this.list[i] = [this.citys[j]];
+							tmp.push(item);
+							this.letter.push(item.toUpperCase());
+						} else {
+							this.list[i].push(this.citys[j]);
+						}
+					}
+				}
+			}
+		},
+		methods: {
+			getId(index) {
+				return this.letter[index];
+			},
+
+			scrollTo(letter) {
+				this.showMask = true
+				this.selectLetter = letter == 'hot' ? '最' : letter
+				setTimeout(() => {
+					this.showMask = false
+				}, 300);
+				this.scrollIntoId = letter;
+			},
+
+
+			query(source, text) {
+				let res = [];
+				var self = this;
+				res = source.filter(item => {
+					const arr = [];
+					let isHave = false;
+					Object.keys(item).forEach(prop => {
+						const itemStr = item[prop];
+						self.isString(itemStr) &&
+							itemStr.split(',').forEach(val => {
+								arr.push(val);
+							});
+					});
+					arr.some(val => {
+						isHave = new RegExp('^' + text).test(val);
+						return isHave;
+					});
+					return isHave;
+				});
+				console.log(JSON.stringify(res));
+				return res;
+			},
+
+			isString(obj) {
+				return typeof obj === 'string';
+			},
+
+			onInput(e) {
+				const value = e.target.value;
+				console.log(value);
+				if (value !== '' && this.citys && this.citys.length > 0) {
+					const queryData = this.query(this.citys, String(value).trim());
+					this.searchList = queryData;
+					this.disdingwei = false
+				} else {
+					this.searchList = [];
+					this.disdingwei = true
+				}
+			},
+
+			back_city(item) {
+				if (item) {
+					this.$emit('back_city', item);
+					//unshift 把数据插入到首位,与push相反
+					this.Visit.unshift(item)
+					this.searchValue = "";
+					this.disdingwei = true
+					var arr = this.Visit
+					//数组去重
+					function distinct(arr) {
+						let newArr = []
+						for (let i = 0; i < arr.length; i++) {
+							if (newArr.indexOf(arr[i]) < 0) {
+								newArr.push(arr[i])
+							}
+						}
+						return newArr
+					}
+					this.Visit = distinct(arr)
+					console.log(this.Visit, "---最近访问")
+					uni.setStorage({
+						key: 'Visit_key',
+						data: this.Visit
+					});
+				} else {
+					this.$emit('back_city', 'no');
+				}
+
+			},
+			getWarpweft() {
+				var that = this
+				that.po_tips = '定位中...'
+				let countdown = setInterval(() => {
+					that.seconds--;
+					uni.getLocation({
+						type: 'wgs84',
+						success: function(res) {
+							console.log('当前位置的经度:' + res.longitude);
+							console.log('当前位置的纬度:' + res.latitude);
+							that.longitude = res.longitude
+							that.latitude = res.latitude
+						}
+					});
+					if (that.seconds <= 0) {
+						that.seconds = 3
+						that.po_tips = '重新定位'
+						clearInterval(countdown);
+					}
+				}, 1000);
+			}
+		}
+	};
+</script>
+
+<style scoped>
+	.wrapper {
+		position: fixed;
+		z-index: 999999;
+		background: #ffffff;
+		height: 100%;
+		width: 100%;
+		top: 0px;
+		left: 0px;
+	}
+
+	.mask {
+		position: absolute;
+		bottom: 0upx;
+		top: 83upx;
+		left: 0upx;
+		right: 0upx;
+		width: 750upx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		background: rgba(0, 0, 0, 0);
+	}
+
+	.mask-r {
+		height: 120upx;
+		width: 120upx;
+		border-radius: 60upx;
+		display: flex;
+		background: rgba(0, 0, 0, 0.5);
+		justify-content: center;
+		align-items: center;
+		font-size: 40upx;
+		color: #FFFFFF
+	}
+
+	.content {
+		height: 100%;
+		width: 100%;
+		background-color: #ffffff;
+	}
+
+	.header {
+		height: 85upx;
+		display: flex;
+		justify-content: flex-start;
+		align-items: center;
+	}
+
+
+	.back_div {
+		width: 65upx;
+		height: 100%;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+	}
+
+	.back_img {
+		width: 35upx;
+		height: 35upx;
+	}
+
+	.input {
+		font-size: 28upx;
+		width: 620upx;
+		height: 55upx;
+		border-radius: 40upx;
+		background-color: #F5F5F5;
+		padding-left: 20upx;
+		padding-right: 20upx;
+		box-sizing: border-box;
+	}
+
+	.title {
+		font-size: 30upx;
+		color: white;
+	}
+
+	.show {
+		left: 0;
+		width: 100%;
+		transition: left 0.3s ease;
+	}
+
+	.hide {
+		left: 100%;
+		width: 100%;
+		transition: left 0.3s ease;
+	}
+
+
+	.title {
+		font-size: 30upx;
+		color: white;
+	}
+
+	.calendar-list {
+		position: absolute;
+		top: 83upx;
+		bottom: 0upx;
+		width: 100%;
+		background-color: #FFFFFF;
+	}
+
+	.letters {
+		position: absolute;
+		right: 30upx;
+		bottom: 0px;
+		width: 50upx;
+		top: 260upx;
+		color: #2f9bfe;
+		text-align: center;
+		font-size: 24upx;
+	}
+
+	.letters-item {
+		margin-bottom: 5upx;
+	}
+
+	.letter-header {
+		height: 45upx;
+		font-size: 22upx;
+		color: #333333;
+		padding-left: 24upx;
+		box-sizing: border-box;
+		display: flex;
+		align-items: center;
+		background-color: #ebedef;
+
+	}
+
+	.city-div {
+		width: 660upx;
+		height: 85upx;
+		margin-left: 24upx;
+		border-bottom-width: 0.5upx;
+		border-bottom-color: #ebedef;
+		border-bottom-style: solid;
+		display: flex;
+		align-items: center;
+		margin-right: 35upx;
+	}
+
+	.city {
+		font-size: 28upx;
+		color: #000000;
+		padding-left: 30upx;
+	}
+
+	.dingwei {
+		width: 100%;
+		padding-top: 25upx;
+		box-sizing: border-box;
+		margin-bottom: 26upx;
+	}
+
+	.dingwei_Tips {
+		margin-left: 24upx;
+		margin-bottom: 24upx;
+		font-size: 24upx;
+		color: #A5A5A5;
+	}
+
+	.dingwei_city {
+		width: 100%;
+		height: 60upx;
+		padding-left: 55upx;
+		padding-right: 70upx;
+		box-sizing: border-box;
+		display: flex;
+		justify-content: space-between;
+	}
+
+	.dingwei_city_one {
+		width: 185upx;
+		height: 60upx;
+		background-color: #F5F5F5;
+		border-radius: 10upx;
+		font-size: 32upx;
+		color: #333333;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+	}
+
+	.dingweis_div {
+		display: flex;
+		align-content: flex-end;
+		align-items: center;
+		font-size: 24upx;
+		color: #FD5745;
+	}
+
+	.dingweis {
+		width: 32upx;
+		height: 32upx;
+	}
+
+	.dingwei_city_zuijin {
+		display: flex;
+		justify-content: flex-start;
+	}
+
+	.toright {
+		margin-right: 25upx;
+	}
+</style>

+ 140 - 0
components/popup-layer/popup-layer.vue

@@ -0,0 +1,140 @@
+<template>
+	<view>
+		<view v-show="ifshow" @tap="ableClose" @touchmove.stop.prevent class="popup-layer" >
+			
+		</view>
+		<view ref="popRef"  class="popup-content"   @tap.stop="stopEvent" :style="_location">
+			<slot></slot>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		name: 'popup-layer',
+		model: {
+			prop: "showPop",
+			event: "change"
+		},
+		props: {
+			showPop:{
+				type:Boolean,
+				default:false,
+			},
+			direction: {
+				type: String,
+				default: 'top', // 方向  top,bottom,left,right 
+			},
+			autoClose: {
+				type: Boolean,
+				default: true,
+			}
+		},
+		data() {
+			return {
+				ifshow: false, // 是否展示,
+				translateValue: -100, // 位移距离
+				site:-100,
+				timer: null,
+				iftoggle: false,
+
+			};
+		},
+		computed: {
+			_translate() {
+				const transformObj = {
+					'top': `transform:translateY(${-this.translateValue}%)`,
+					'bottom': `transform:translateY(${this.translateValue}%)`,
+					'left': `transform:translateX(${-this.translateValue}%)`,
+					'right': `transform:translateX(${this.translateValue}%)`
+				};
+				return transformObj[this.direction]
+			},
+			_location() {
+				const positionValue = {
+					'top': `bottom:${this.site}%;width:100%;`,
+					'bottom': `top:${this.site}%;width:100%;`,
+					'left': `right:0px;top:0;height:100%;`,
+					'right': `left:0px;top:0;height:100%;`,
+				};
+				return positionValue[this.direction]+ this._translate;
+			}
+		},
+		mounted(){
+			if(this.showPop){
+				// console.log(222);
+				this.show();
+			}
+		},
+		watch:{
+			showPop(value){
+				console.log(value)
+				if(value){
+					this.show();
+				}else{
+					this.close();
+				}
+			}	
+		},
+		methods: {
+			stopMove(event){
+				return;
+			},
+			show(events) {
+				this.ifshow = true;
+				this.site=0;
+				let _open = setTimeout(() => {
+					this.translateValue = 0;
+					_open = null;
+				}, 100)
+				let _toggle = setTimeout(() => {
+					this.iftoggle = true;
+					_toggle = null;
+				}, 300);
+			},
+			close() {
+				if (this.timer !== null || !this.iftoggle) {
+					return;
+				}
+				this.translateValue = -100;
+				this.timer = setTimeout(() => {
+					this.ifshow = false;
+					this.timer = null;
+					this.iftoggle = false;
+					this.$emit('closeCallBack', null);
+					this.$emit('change',false)
+				}, 300);
+			},
+			ableClose() {
+				if (this.autoClose) {
+					this.close();
+				}
+			},
+			stopEvent(event) {},
+			doSome(){
+			}
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	.popup-layer {
+		position: fixed;
+		z-index: 999999;
+		// background: rgba(0, 0, 0, .3);
+		height: 100%;
+		width: 100%;
+		top: 0px;
+		left: 0px;
+		overflow: hidden;
+	}
+
+	.popup-content {
+		position: fixed;
+		z-index: 1000000;
+		background: #FFFFFF;
+		transition: transform .2s ease;
+		overflow: hidden; 
+	}
+</style>

+ 4 - 3
config/index.js

@@ -1,7 +1,8 @@
 const dev = {
-	baseUrl: 'https://www.zthymaoyi.com',
-	baseUrlNew: 'http://192.168.1.120:8090/',
-	// baseUrlNew: 'http://api.eliangeyun.com/',
+	baseUrl: 'http://192.168.1.122:8080/',
+	// baseUrl: 'https://www.zthymaoyi.com',
+	// baseUrlNew: 'http://192.168.1.122:9100/',
+	baseUrlNew: 'http://api.eliangeyun.com/',
 	h5Appid: 'wxb66b599f7f61b46f',
 	debug: false
 }

+ 1 - 0
manifest.json

@@ -45,6 +45,7 @@
         }
     },
     "app-plus" : {
+		"runmode":"liberate",
         "privacy" : {
             "prompt" : "template",
             "template" : {

+ 21 - 13
pageA/product/detail.vue

@@ -9,18 +9,18 @@
 		<image style='width:100%;' src='../../static/img/jiaoyi/bg@3x.png'></image>
 		<view class="introduce-section">
 			<view style='height:70px;'>
-				<view class="title">{{goods.title}}</view>
-				<view class='flex justify-between'>
+				<view class="title Semibold">{{goods.title}}</view>
+				<view class='flex justify-between Regular'>
 					<view style='flex:1.5;color:#878C9C;'>{{goods.receivePrivate}}{{goods.receiveCity}}{{goods.receiveArea}}{{goods.receiveWarehouse}}</view>
-					<view  v-if='goods.procurementPlanType=="现货"' class="title-tip">
+					<view  v-if='goods.procurementPlanType=="现货"' class="title-tip NumberBold">
 						{{goods.procurementPrice}}
 					</view>
-					<view style='text-align:right;'  v-else class="title-tip">
+					<view style='text-align:right;'  v-else class="title-tip NumberBold">
 						{{goods.basisPrice}}
 					</view>
 				</view>
-				<view style='text-align:right;' v-if='goods.procurementPlanType=="现货"'>采购价格</view>
-				<view style='text-align:right;' v-if='goods.procurementPlanType=="期货"'>今日基差</view>
+				<view style='text-align:right;' class="Regular" v-if='goods.procurementPlanType=="现货"'>采购价格</view>
+				<view style='text-align:right;' class="Regular" v-if='goods.procurementPlanType=="期货"'>今日基差</view>
 			</view>
 		</view>
 		<view v-if="goods.storeImg" class="carousel-section">
@@ -43,10 +43,10 @@
 		</view>
 	
 		<view class="detail-desc">
-			<view class="d-header">
+			<view class="d-header Medium">
 				<text>基本信息</text>
 			</view>
-			<view class="c-list">
+			<view class="c-list Regular">
 				<view class="c-row">
 					<text class="tit">货名</text>
 					<view class="con-list">
@@ -128,10 +128,10 @@
 			</view>
 		</view>
 		<view class="detail-desc">
-			<view class="d-header">
+			<view class="d-header Medium">
 				<text>货物要求</text>
 			</view>
-			<view class="c-list">
+			<view class="c-list Regular">
 				<view class="c-row"  v-if="goods.waterContent">
 					<text class="tit">水分(%){{'<='}} </text>
 					<view class="con-list">
@@ -210,8 +210,8 @@
 		</view>
 		<!-- 底部操作菜单 -->
 		<view class="page-bottom1">
-			<view>
-				<button type="primary" @click="contactUs">立即沟通</button>
+			<view class="Regular">
+				<button class="talk-online" @click="contactUs">立即沟通</button>
 				<button  @click="salegrain" v-if="goods.pcFlag == 1" type="primary" class=" action-btn no-border add-cart-btn" >立即卖粮</button>
 				<button v-else type="primary" class="action-btn no-border add-cart-btn" 
 				@click="tradeNow">立即发车</button>
@@ -735,6 +735,9 @@
 			line-height: 40upx;
 			text-align: right;
 			padding-right: 20upx;
+			font-family: PingFangSC-Medium, PingFang SC;
+			font-weight: 500;
+			font-size: 28rpx;
 		}
 
 		.red {
@@ -1055,7 +1058,7 @@
 			border-radius:18px;
 			margin:0 10px;
 			font-size:14px;background:#fff;
-			color:#333;
+			color: #333333;
 			border:1px solid #333;
 		}
 		.action-btn{
@@ -1215,4 +1218,9 @@
 	a{
 		text-decoration: none;
 	}
+	.talk-online{
+		background: #FFFFFF;
+		border-radius: 38px;
+		border: 1px solid #B7B9C3!important;
+	}
 </style>

+ 448 - 267
pageA/product/lookup.vue

@@ -1,68 +1,80 @@
 <template>
 	<view class="content">
-		
-			<view style='background:#fff;display:flex;' class="cu-bar search">
-			<view style='flex:6;' class="search-form round" >
+
+		<view style='background:#fff;display:flex;' class="cu-bar search">
+			<view style='flex:6;' class="search-form round Medium">
 				<text style='color: #ccc;text-indent:6px;' class="cuIcon-search"></text>
-				<input type="text" maxlength="20" :focus="true" v-model="searchKeyWord" @confirm="doSearch()" @input='search' placeholder="请输入货名或标题" confirm-type="search"></input>
-				
+				<input type="text" maxlength="20" :focus="true" v-model="searchKeyWord" @confirm="doSearch()"
+					@input='search' placeholder="请输入货名或标题" confirm-type="search"></input>
+
 			</view>
-			<view @click='doSearch()' style="width:4%;flex:1;">搜索</view>
+			<view @click='doSearch()' class="Regular" style="width:4%;flex:1;">搜索</view>
 			<text @click='emptysearch' v-if='searchKeyWord.length>0' class='tip_text cuIcon-roundclosefill'></text>
-			</view>
-			<!-- mSearch组件 如果使用原样式,删除组件元素-->
-			<!-- <mSearch class="mSearch-input-box" :mode="2" button="inside" :placeholder="defaultKeyword" @search="doSearch(false)" @input="inputChange" @confirm="doSearch(false)" v-model="keyword"></mSearch> -->
-			<!-- 原样式 如果使用原样式,恢复下方注销代码 -->
-			<!-- 			
+		</view>
+		<!-- mSearch组件 如果使用原样式,删除组件元素-->
+		<!-- <mSearch class="mSearch-input-box" :mode="2" button="inside" :placeholder="defaultKeyword" @search="doSearch(false)" @input="inputChange" @confirm="doSearch(false)" v-model="keyword"></mSearch> -->
+		<!-- 原样式 如果使用原样式,恢复下方注销代码 -->
+		<!-- 			
 			<view class="input-box">
 				<input type="text" :placeholder="defaultKeyword" @input="inputChange" v-model="keyword" @confirm="doSearch(false)"
 				 placeholder-class="placeholder-class" confirm-type="search">
 			</view>
 			<view class="search-btn" @tap="doSearch(false)">搜索</view> 
 			-->
-			<!-- 原样式 end -->
+		<!-- 原样式 end -->
 		<view class="search-keyword" @touchstart="blur">
-			<scroll-view style='background:#F5F6FA;' class="keyword-list-box" v-show="isShowKeywordList&&keywordList.length>0" scroll-y>
-				<view style='background:#fff;padding:0 15px;'>
+			<scroll-view style='background:#F5F6FA;' class="keyword-list-box"
+				v-show="isShowKeywordList&&keywordList.length>0" scroll-y>
+				<view style='background:#fff;padding:0 15px;border-radius:0rpx 0rpx 30rpx 30rpx;' class="Semibold">
 					<view @click='tabcarchange(0)' class='line' :class='TabCur==0?"active":""'>采购</view>
-					<view @click='tabcarchange(1)' class='line'  :class='TabCur==1?"active":""'>销售</view>
+					<view @click='tabcarchange(1)' class='line' :class='TabCur==1?"active":""'>销售</view>
 				</view>
 				<view class="introduce-section">
-					<view v-for="(item, index) in keywordList" :key="index" class="guess-item" @click="navToDetailPage(item)">
+					<view v-for="(item, index) in keywordList" :key="index" class="guess-item"
+						@click="navToDetailPage(item)">
 						<view class="price-box">
-							<view class="title">{{item.title}}</view>
-							<view style='dsiplay:flex;' class='flex justify-between'>
+							<view class="title Medium">{{item.title}}</view>		
+							<view class='flex justify-between align-item-center Regular'>
 								<view v-if='TabCur==0' class='address'>
 									{{item.receivePrivate}}{{item.receiveCity}}{{item.receiveArea}}{{item.receiveWarehouse}}
 								</view>
 								<view v-if='TabCur==1' class='address'>
 									{{item.sendPrivate}}{{item.sendCity}}{{item.sendArea}}{{item.sendWarehouse}}
 								</view>
-								<view class='price' v-if='item.procurementPlanType=="期货"'>{{item.basisPrice}}<text
-										style='font-size:13px;color:#333333;'>元/吨</text></view>
-								<view class='price' v-if='item.procurementPlanType=="现货"'>{{item.unitPrice}}<text
-										style='font-size:13px;color:#333;'>元/吨</text></view>
-								<view class='price' v-if='item.salePlanType=="期货"'>{{item.basisPrice}}<text
-									style='font-size:13px;color:#333333;'>元/吨</text></view>
-								<view class='price' v-if='item.salePlanType=="现货"'>{{item.unitPrice}}<text
-									style='font-size:13px;color:#333;'>元/吨</text></view>
+								<view class='price NumberBold' v-if='item.procurementPlanType=="期货"'>
+									<text class="number-style">{{item.basisPrice}}</text><text style='font-size:13px;color:#333333;'
+										class="Semibold">元/吨</text></view>
+								<view class='price NumberBold' v-if='item.procurementPlanType=="现货"'>
+									<text class="number-style">{{item.procurementPrice}}</text><text style='font-size:13px;color:#333;'
+										class="Semibold">元/吨</text></view>
+								<view class='price NumberBold' v-if='item.salePlanType=="期货"'><text class="number-style">+{{item.basisPrice}}</text><text
+										style='font-size:13px;color:#333333;' class="Semibold">元/吨</text></view>
+								<view class='price NumberBold' v-if='item.salePlanType=="现货"'><text class="number-style">{{item.salePrice}}</text><text
+										style='font-size:13px;color:#333;' class="Semibold">元/吨</text></view>
 							</view>
 						</view>
-						<view class='flex justify-between'>
-							<view>
-								<view class='tag1 tag-bule radius line-pink' v-if='item.procurementPlanType=="现货"'>现货</view>
-								<view class='tag1 tag-bule radius line-pink' v-if='item.procurementPlanType=="期货"'>期货</view>
-								<view class='tag1 tag-bule radius line-pink' v-if='item.salePlanType=="现货"'>现货</view>
-								<view class='tag1 tag-bule radius line-pink' v-if='item.salePlanType=="期货"'>期货</view>
-								<view class='tag1 tag-yellow radius line-green'>{{item.goodsName}}</view>
-								<view class='tag1 tag-red radius line-yellow'>{{item.weight}}吨</view>
-							</view>
-							<view style='color:#878C9C;padding-top:5px;' v-if='item.procurementPlanType=="期货"'>今日基差</view>
-							<view style='color:#878C9C;padding-top:5px;' v-if='item.procurementPlanType=="现货"'>采购价格</view>
-							<view style='color:#878C9C;padding-top:5px;' v-if='item.salePlanType=="期货"'>今日基差</view>
-							<view style='color:#878C9C;padding-top:5px;' v-if='item.salePlanType=="现货"'>采购价格</view>
+				<view class='flex justify-between Regular'>
+					<view class="Regular">
+						<view class='tag1 tag-bule radius line-pink' v-if='item.procurementPlanType=="现货"'>现货</view>
+						<view class='tag1 tag-bule radius line-pink' v-if='item.procurementPlanType=="期货"'>期货</view>
+						<view class='tag1 tag-bule radius line-pink' v-if='item.salePlanType=="现货"'>现货</view>
+						<view class='tag1 tag-bule radius line-pink' v-if='item.salePlanType=="期货"'>期货</view>
+						<view class='tag1 tag-yellow radius line-green'>{{item.goodsName}}</view>
+						<view class='tag1 tag-red radius line-yellow' v-if="TabCur== 0">{{item.plannedPurchaseVolume}}吨
+						</view>
+						<view class='tag1 tag-red radius line-yellow' v-if="TabCur== 1">{{item.plannedSaleVolume}}吨
 						</view>
 					</view>
+					<view style='color:#878C9C;padding-top:5px;' v-if='item.procurementPlanType=="期货" && TabCur== 0'>
+						今日基差</view>
+					<view style='color:#878C9C;padding-top:5px;' v-if='item.procurementPlanType=="现货" && TabCur== 0'>
+						采购价格</view>
+					<view style='color:#878C9C;padding-top:5px;' v-if='item.salePlanType=="期货" && TabCur== 1'>今日基差
+					</view>
+					<view style='color:#878C9C;padding-top:5px;' v-if='item.salePlanType=="现货" && TabCur== 1'>销售价格
+					</view>
+				</view>
+					</view>
 					<view v-show="isLoadMore">
 						<uni-load-more :status="loadStatus"></uni-load-more>
 					</view>
@@ -71,7 +83,7 @@
 			<view style='height:80vh;' v-show="isShowKeywordList&&keywordList.length==0">
 				<view style='background:#fff;padding:0 15px;'>
 					<view @click='tabcarchange(0)' class='line' :class='TabCur==0?"active":""'>采购</view>
-					<view @click='tabcarchange(1)' class='line'  :class='TabCur==1?"active":""'>销售</view>
+					<view @click='tabcarchange(1)' class='line' :class='TabCur==1?"active":""'>销售</view>
 				</view>
 				<view style='background:#F5F6FA;height:100%;line-height:80vh;text-align:center;'>
 					暂无相关结果
@@ -79,30 +91,35 @@
 			</view>
 			<scroll-view class="keyword-box" v-show="!isShowKeywordList" scroll-y>
 				<view class="keyword-block" v-if="oldKeywordList.records.length>0">
-					<view class="keyword-list-header">
+					<view class="keyword-list-header Medium">
 						<view style='font-size:16px;font-weight:600;'>最近搜索</view>
 						<view>
-							<image @tap="oldDelete" style='width:16px;height:16px;' src="../../static/img/jiaoyi/shanchu@3x.png"></image>
+							<image @tap="oldDelete" style='width:16px;height:16px;'
+								src="../../static/img/jiaoyi/shanchu@3x.png"></image>
 							<!-- <image @tap="oldDelete" src="./static/delete.png"></image> -->
-						<!-- 	<text class="cuIcon-delete text-gray "  ></text> -->
-							
+							<!-- 	<text class="cuIcon-delete text-gray "  ></text> -->
+
 						</view>
 					</view>
-					<view class="keyword">
-						<view v-for="(keyword,index) in oldKeywordList.records" @tap="doSearch(keyword)" :key="index">{{keyword.searchContent}}</view>
+					<view class="keyword Regular">
+						<view v-for="(keyword,index) in oldKeywordList.records" @tap="doSearch(keyword)" :key="index">
+							{{keyword.searchContent}}
+						</view>
 					</view>
 				</view>
-				 <view class="keyword-block">
+				<view class="keyword-block Medium">
 					<view class="keyword-list-header">
 						<view style='font-size:16px;font-weight:600;'>推荐搜索</view>
 						<view>
-							 <image @tap="hotToggle" :src="'/static/HM-search/attention'+forbid+'.png'"></image> 
+							<image @tap="hotToggle" :src="'/static/HM-search/attention'+forbid+'.png'"></image>
 						</view>
 					</view>
-					<view class="keyword" v-if="forbid==''">
-						<view v-for="(keyword,index) in hotKeywordList" @tap="doSearch(keyword)" :key="index">{{keyword.searchContent}}</view>
+					<view class="keyword Regular" v-if="forbid==''">
+						<view v-for="(keyword,index) in hotKeywordList" @tap="doSearch(keyword)" :key="index">
+							{{keyword.searchContent}}
+						</view>
 					</view>
-				</view> 
+				</view>
 			</scroll-view>
 		</view>
 	</view>
@@ -119,26 +136,26 @@
 			return {
 				defaultKeyword: "",
 				searchKeyWord: "",
-				pageSize:10,
-				currentPage:1,
+				pageSize: 10,
+				currentPage: 1,
 				oldKeywordList: [],
 				hotKeywordList: [],
 				keywordList: [],
 				forbid: '',
 				isShowKeywordList: false,
-				TabCur:0,
-				isLoadMore:false,
-				loadStatus:'',
-				content:'搜索'
+				TabCur: 0,
+				isLoadMore: false,
+				loadStatus: '',
+				content: '搜索'
 			}
 		},
 		onLoad(options) {
-			if(options.searchKeyWord){
-				this.searchKeyWord=options.searchKeyWord
+			if (options.searchKeyWord) {
+				this.searchKeyWord = options.searchKeyWord
 			}
 			this.TabCur = options.TabCur
-			if(this.searchKeyWord){
-				this.isShowKeywordList=true
+			if (this.searchKeyWord) {
+				this.isShowKeywordList = true
 				this.getData()
 			}
 		},
@@ -172,138 +189,144 @@
 				this.loadHotKeyword();
 
 			},
-			search(e){
-				if(e.detail.value.length==0){
-					this.isShowKeywordList=false
+			search(e) {
+				if (e.detail.value.length == 0) {
+					this.isShowKeywordList = false
 					this.loadOldKeyword()
 					this.loadHotKeyword()
-				}
-				else{
+				} else {
 					this.searchKeyWord = e.detail.value
 				}
 			},
-			blur(){
+			blur() {
 				uni.hideKeyboard()
 			},
-			doSearch(keyword){
+			doSearch(keyword) {
 				console.log(keyword)
-				if(keyword){
-					this.searchKeyWord=keyword.searchContent
+				if (keyword) {
+					this.searchKeyWord = keyword.searchContent
 
 				}
-				if(this.searchKeyWord.length>0){
-						this.isShowKeywordList=true
-						this.$api.doRequest('post', '/searchRecordsInfo/api/addInfo',{commonId:this.userInfo.id,searchContent:this.searchKeyWord}).then(res => {
-						})
+				if (this.searchKeyWord.length > 0) {
+					this.isShowKeywordList = true
+					this.$api.doRequest('post', '/searchRecordsInfo/api/addInfo', {
+							commonId: this.userInfo.id,
+							searchContent: this.searchKeyWord
+						}).then(res => {})
 						.catch(res => {
-							
+
 						});
-					}else{
-						this.isShowKeywordList=false
-						this.loadOldKeyword()
-						this.loadHotKeyword()
-					}
+				} else {
+					this.isShowKeywordList = false
+					this.loadOldKeyword()
+					this.loadHotKeyword()
+				}
 				uni.showLoading({
 					title: '正在加载',
-					mask:true
+					mask: true
 				})
-				var param1=''
+				var param1 = ''
 				if (this.TabCur == 0) {
 					param1 = '/procurementPlanInfo/selectProcurementPlanInfo'
 				} else {
 					param1 = '/salePlanInfo/selectSalePlanInfo'
 				}
-				this.$api.doRequest('get', param1,{pageSize:this.pageSize,
-				currentPage:this.currentPage,searchKeyWord:this.searchKeyWord}).then(res => {
-					uni.hideLoading()
-					this.keywordList=res.data.data.records
-				})
-				.catch(res => {
-					uni.hideLoading()
-					if(res.errmsg){
-						uni.showToast({
-							title: res.errmsg,
-							icon: 'none',
-							duration: 2000
-						})
-					}
-					else{
-						uni.showToast({
-							title: "系统异常,请联系管理员",
-							icon: 'none',
-							duration: 2000
-						})
-					}
-				});
+				this.$api.doRequest('get', param1, {
+						pageSize: this.pageSize,
+						currentPage: this.currentPage,
+						searchKeyWord: this.searchKeyWord
+					}).then(res => {
+						uni.hideLoading()
+						this.keywordList = res.data.data.records
+					})
+					.catch(res => {
+						uni.hideLoading()
+						if (res.errmsg) {
+							uni.showToast({
+								title: res.errmsg,
+								icon: 'none',
+								duration: 2000
+							})
+						} else {
+							uni.showToast({
+								title: "系统异常,请联系管理员",
+								icon: 'none',
+								duration: 2000
+							})
+						}
+					});
 			},
-			emptysearch(){
-				this.searchKeyWord=''
-				this.isShowKeywordList=false
+			emptysearch() {
+				this.searchKeyWord = ''
+				this.isShowKeywordList = false
 				this.loadOldKeyword()
 				this.loadHotKeyword()
 			},
-			loadHotKeyword(){
-				this.$api.doRequest('get', '/searchRecordsInfo/selectRecommendedSearchRecordsInfo',{pageSize:this.pageSize,
-				currentPage:this.currentPage,commonId:this.userInfo.id}).then(res => {
-					uni.hideLoading()
-					this.hotKeywordList=res.data.data.records
-				})
-				.catch(res => {
-					if(res.errmsg){
-						uni.showToast({
-							title: res.errmsg,
-							icon: 'none',
-							duration: 2000
-						})
-					}
-					else{
-						uni.showToast({
-							title: "系统异常,请联系管理员",
-							icon: 'none',
-							duration: 2000
-						})
-					}
-				});
+			loadHotKeyword() {
+				this.$api.doRequest('get', '/searchRecordsInfo/selectRecommendedSearchRecordsInfo', {
+						pageSize: this.pageSize,
+						currentPage: this.currentPage,
+						commonId: this.userInfo.id
+					}).then(res => {
+						uni.hideLoading()
+						this.hotKeywordList = res.data.data.records
+					})
+					.catch(res => {
+						if (res.errmsg) {
+							uni.showToast({
+								title: res.errmsg,
+								icon: 'none',
+								duration: 2000
+							})
+						} else {
+							uni.showToast({
+								title: "系统异常,请联系管理员",
+								icon: 'none',
+								duration: 2000
+							})
+						}
+					});
 			},
 			tabSelect(e) {
-				if(e.currentTarget.dataset.id){
+				if (e.currentTarget.dataset.id) {
 					this.TabCur = e.currentTarget.dataset.id;
-				}
-				else{
+				} else {
 					this.TabCur = e.target.current;
 				}
 				this.pages = 1
 				this.isLoadMore = false
 				this.loadData()
 			},
-			getData(){
-				var param1=''
+			getData() {
+				var param1 = ''
 				if (this.TabCur == 0) {
 					param1 = '/procurementPlanInfo/selectProcurementPlanInfo'
 				} else {
 					param1 = '/salePlanInfo/selectSalePlanInfo'
 				}
-				this.$api.doRequest('get', param1,{pageSize:this.pageSize,
-				currentPage:this.currentPage,searchKeyWord:this.searchKeyWord}).then(res => {
-					uni.hideLoading()
-					this.keywordList=res.data.data.records
-				})
-				.catch(res => {
-					if(res.errmsg){
-						uni.showToast({
-							title: res.errmsg,
-							icon: 'none',
-							duration: 2000
-						})
-					}
-					else{
-						uni.showToast({
-							title: "系统异常,请联系管理员",
-							icon: 'none',
-							duration: 2000
-						})
-					}
-				});
+				this.$api.doRequest('get', param1, {
+						pageSize: this.pageSize,
+						currentPage: this.currentPage,
+						searchKeyWord: this.searchKeyWord
+					}).then(res => {
+						uni.hideLoading()
+						this.keywordList = res.data.data.records
+					})
+					.catch(res => {
+						if (res.errmsg) {
+							uni.showToast({
+								title: res.errmsg,
+								icon: 'none',
+								duration: 2000
+							})
+						} else {
+							uni.showToast({
+								title: "系统异常,请联系管理员",
+								icon: 'none',
+								duration: 2000
+							})
+						}
+					});
 			},
 			//加载默认搜索关键字
 			loadDefaultKeyword() {
@@ -312,18 +335,21 @@
 			},
 			//加载历史搜索,自动读取本地Storage
 			loadOldKeyword() {
-				var that=this
-				this.$api.doRequest('get', '/searchRecordsInfo/selectSearchRecordsInfo',{pageSize:this.pageSize,
-				currentPage:this.currentPage,commonId:this.userInfo.id}).then(res => {
+				var that = this
+				this.$api.doRequest('get', '/searchRecordsInfo/selectSearchRecordsInfo', {
+					pageSize: this.pageSize,
+					currentPage: this.currentPage,
+					commonId: this.userInfo.id
+				}).then(res => {
 					uni.hideLoading()
-					that.oldKeywordList=res.data.data
+					that.oldKeywordList = res.data.data
 					console.log(that.oldKeywordList)
 				})
 			},
 			//监听输入
 			inputChange(event) {
 				//兼容引入组件时传入参数情况
-				var keyword = event.detail?event.detail.value:event;
+				var keyword = event.detail ? event.detail.value : event;
 				// if (!keyword) {
 				// 	this.keywordList = [];
 				// 	this.isShowKeywordList = false;
@@ -361,28 +387,30 @@
 			},
 			//清除历史搜索
 			oldDelete() {
-				var that=this
+				var that = this
 				uni.showModal({
 					content: '确定清除历史搜索记录?',
 					success: (res) => {
 						if (res.confirm) {
-							this.$api.doRequest('post', '/searchRecordsInfo/api/deleteSearchRecordsInfo',{commonId:this.userInfo.id}).then(res => {
-								if(res.data.code==200){
+							this.$api.doRequest('post', '/searchRecordsInfo/api/deleteSearchRecordsInfo', {
+									commonId: this.userInfo.id
+								}).then(res => {
+									if (res.data.code == 200) {
+										uni.showToast({
+											title: '清除历史搜索成功',
+											icon: 'none',
+											duration: 2000
+										})
+										that.oldKeywordList.records = []
+									}
+								})
+								.catch(res => {
 									uni.showToast({
 										title: '清除历史搜索成功',
-										icon:'none',
+										icon: 'none',
 										duration: 2000
 									})
-									that.oldKeywordList.records=[]
-								}
-							})
-							.catch(res => {
-								uni.showToast({
-									title: '清除历史搜索成功',
-									icon:'none',
-									duration: 2000
-								})
-							});
+								});
 						} else if (res.cancel) {
 							console.log('用户点击取消');
 						}
@@ -402,7 +430,7 @@
 			// 			this.$api.doRequest('post', '/searchRecordsInfo/api/addInfo',{commonId:this.userInfo.id,searchContent:e.detail.value}).then(res => {
 			// 			})
 			// 			.catch(res => {
-							
+
 			// 			});
 			// 		}else{
 			// 			this.content='搜索'
@@ -419,7 +447,7 @@
 			// 			this.$api.doRequest('post', '/searchRecordsInfo/api/addInfo',{commonId:this.userInfo.id,searchContent:e}).then(res => {
 			// 			})
 			// 			.catch(res => {
-							
+
 			// 			})
 			// 		}else{
 			// 			this.content='搜索'
@@ -461,38 +489,40 @@
 			// 	// 	url: `/pageA/product/querylist?keywords=${key}&TabCur=${TabCur}`
 			// 	// })
 			// },
-			tabcarchange(status){
-				this.TabCur=status
+			tabcarchange(status) {
+				this.TabCur = status
 				var param1 = ''
 				if (this.TabCur == 0) {
 					param1 = '/procurementPlanInfo/selectProcurementPlanInfo'
 				} else {
 					param1 = '/salePlanInfo/selectSalePlanInfo'
 				}
-				this.$api.doRequest('get', param1,{pageSize:this.pageSize,
-				currentPage:this.currentPage,searchKeyWord:this.searchKeyWord}).then(res => {
-					if(res.data.code==200){
-						this.keywordList=res.data.data.records
-					}else{
-						uni.showToast({
-							title: res.data.message,
-							icon:'none',
-							duration: 2000
-						})
-						
-					}
-					uni.hideLoading()
+				this.$api.doRequest('get', param1, {
+						pageSize: this.pageSize,
+						currentPage: this.currentPage,
+						searchKeyWord: this.searchKeyWord
+					}).then(res => {
+						if (res.data.code == 200) {
+							this.keywordList = res.data.data.records
+						} else {
+							uni.showToast({
+								title: res.data.message,
+								icon: 'none',
+								duration: 2000
+							})
+
+						}
+						uni.hideLoading()
 					})
 					.catch(res => {
 						uni.hideLoading()
-						if(res.errmsg){
+						if (res.errmsg) {
 							uni.showToast({
 								title: res.errmsg,
 								icon: 'none',
 								duration: 2000
 							})
-						}
-						else{
+						} else {
 							uni.showToast({
 								title: "系统异常,请联系管理员",
 								icon: 'none',
@@ -537,113 +567,259 @@
 	}
 </script>
 <style scoped>
-	.search-form{
-		    background: #F5F6F9;
+	.search-form {
+		background: #F5F6F9;
 	}
-	.line{
-		display:inline-block;
-		padding:5px;
-		position:relative;
-		font-size:17px;
+
+	.line {
+		display: inline-block;
+		padding: 5px;
+		position: relative;
+		font-size: 17px;
 	}
-	.line.active{
-		font-size:19px;
+
+	.line.active {
+		font-size: 19px;
 		font-weight: 900;
 	}
-	.line.active:after{
-		content:'';
-		display:block;
-		position:absolute;
-		width:18px;
-		left:50%;
+
+	.line.active:after {
+		content: '';
+		display: block;
+		position: absolute;
+		width: 36rpx;
+		height: 6rpx;
+		left: 50%;
 		transform: translateX(-50%);
-		bottom:0;
-		border-bottom:1px solid #22C572;
-	}
-	.search-box {width:100%;background-color:rgb(242,242,242);padding:15upx 2.5%;display:flex;justify-content:space-between;}
-	.search-box .mSearch-input-box{width: 100%;}
-	.search-box .input-box {width:85%;flex-shrink:1;display:flex;justify-content:center;align-items:center;}
-	.search-box .search-btn {width:15%;margin:0 0 0 2%;display:flex;justify-content:center;align-items:center;flex-shrink:0;font-size:28upx;color:#fff;background:linear-gradient(to right,#ff9801,#ff570a);border-radius:60upx;}
-	.search-box .input-box>input {width:100%;height:60upx;font-size:32upx;border:0;border-radius:60upx;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 3%;margin:0;background-color:#ffffff;}
-	.placeholder-class {color:#9e9e9e;}
-	.search-keyword {width:100%;background-color:rgb(242,242,242);}
-	.keyword-list-box {background:#F5F6FA;height:calc(100vh - 110upx);padding-top:10upx;border-radius:20upx 20upx 0 0;}
-	.keyword-entry-tap {background-color:#eee;}
-	.keyword-entry {width:94%;height:80upx;margin:0 3%;font-size:30upx;color:#333;display:flex;justify-content:space-between;align-items:center;border-bottom:solid 1upx #e7e7e7;}
-	.keyword-entry image {width:60upx;height:60upx;}
-	.keyword-entry .keyword-text,.keyword-entry .keyword-img {height:80upx;display:flex;align-items:center;}
-	.keyword-entry .keyword-text {width:90%;}
-	.keyword-entry .keyword-img {width:10%;justify-content:center;}
-	.keyword-box {height:calc(100vh - 110upx);border-radius:20upx 20upx 0 0;background-color:#fff;}
-	.keyword-box .keyword-block {padding:10upx 0;}
-	.keyword-box .keyword-block .keyword-list-header {width:94%;padding:10upx 3%;font-size:27upx;color:#333;display:flex;justify-content:space-between;}
-	.keyword-box .keyword-block .keyword-list-header image {width:40upx;height:40upx;}
-	.keyword-box .keyword-block .keyword {width:94%;padding:3px 3%;display:flex;flex-flow:wrap;justify-content:flex-start;}
-	.keyword-box .keyword-block .hide-hot-tis {display:flex;justify-content:center;font-size:28upx;color:#6b6b6b;}
-	.keyword-box .keyword-block .keyword>view {display:flex;justify-content:center;align-items:center;border-radius:60upx;padding:0 20upx;margin:10upx 20upx 10upx 0;height:60upx;font-size:28upx;background-color:rgb(242,242,242);color:#6b6b6b;}
-	.cuIcon-roundclosefill{
-		position:absolute;
-		right:80px;
+		bottom: 0;
+		background: #22C572;
+		/* border-bottom: 1px solid #22C572; */
+	}
+
+	.search-box {
+		width: 100%;
+		background-color: rgb(242, 242, 242);
+		padding: 15upx 2.5%;
+		display: flex;
+		justify-content: space-between;
+	}
+
+	.search-box .mSearch-input-box {
+		width: 100%;
 	}
+
+	.search-box .input-box {
+		width: 85%;
+		flex-shrink: 1;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+	}
+
+	.search-box .search-btn {
+		width: 15%;
+		margin: 0 0 0 2%;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		flex-shrink: 0;
+		font-size: 28upx;
+		color: #fff;
+		background: linear-gradient(to right, #ff9801, #ff570a);
+		border-radius: 60upx;
+	}
+
+	.search-box .input-box>input {
+		width: 100%;
+		height: 60upx;
+		font-size: 32upx;
+		border: 0;
+		border-radius: 60upx;
+		-webkit-appearance: none;
+		-moz-appearance: none;
+		appearance: none;
+		padding: 0 3%;
+		margin: 0;
+		background-color: #ffffff;
+	}
+
+	.placeholder-class {
+		color: #9e9e9e;
+	}
+
+	.search-keyword {
+		width: 100%;
+		background-color: rgb(242, 242, 242);
+	}
+
+	.keyword-list-box {
+		background: #F5F6FA;
+		height: calc(100vh - 110upx);
+		/* padding-top: 10upx; */
+		border-radius: 20upx 20upx 0 0;
+	}
+
+	.keyword-entry-tap {
+		background-color: #eee;
+	}
+
+	.keyword-entry {
+		width: 94%;
+		height: 80upx;
+		margin: 0 3%;
+		font-size: 30upx;
+		color: #333;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		border-bottom: solid 1upx #e7e7e7;
+	}
+
+	.keyword-entry image {
+		width: 60upx;
+		height: 60upx;
+	}
+
+	.keyword-entry .keyword-text,
+	.keyword-entry .keyword-img {
+		height: 80upx;
+		display: flex;
+		align-items: center;
+	}
+
+	.keyword-entry .keyword-text {
+		width: 90%;
+	}
+
+	.keyword-entry .keyword-img {
+		width: 10%;
+		justify-content: center;
+	}
+
+	.keyword-box {
+		height: calc(100vh - 110upx);
+		border-radius: 20upx 20upx 0 0;
+		background-color: #fff;
+	}
+
+	.keyword-box .keyword-block {
+		padding: 10upx 0;
+	}
+
+	.keyword-box .keyword-block .keyword-list-header {
+		width: 94%;
+		padding: 10upx 3%;
+		font-size: 27upx;
+		color: #333;
+		display: flex;
+		justify-content: space-between;
+	}
+
+	.keyword-box .keyword-block .keyword-list-header image {
+		width: 40upx;
+		height: 40upx;
+	}
+
+	.keyword-box .keyword-block .keyword {
+		width: 94%;
+		padding: 3px 3%;
+		display: flex;
+		flex-flow: wrap;
+		justify-content: flex-start;
+	}
+
+	.keyword-box .keyword-block .hide-hot-tis {
+		display: flex;
+		justify-content: center;
+		font-size: 28upx;
+		color: #6b6b6b;
+	}
+
+	.keyword-box .keyword-block .keyword>view {
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		border-radius: 60upx;
+		padding: 0 20upx;
+		margin: 10upx 20upx 10upx 0;
+		height: 60upx;
+		font-size: 28upx;
+		background-color: rgb(242, 242, 242);
+		color: #6b6b6b;
+	}
+
+	.cuIcon-roundclosefill {
+		position: absolute;
+		right: 80px;
+	}
+
 	.tag1 {
-		background:#F5F6F9;
+		background: #F5F6F9;
 		padding: 5px;
-		color:#333333;
+		color: #333333;
 		display: inline-flex;
 		font-size: 22rpx;
 		border-radius: 3px;
 		margin: 3px;
 	}
+
 	.tag {
-		background:#F5F6F9;
+		background: #F5F6F9;
 		padding: 7px 12px;
-		color:#333333;
+		color: #333333;
 		display: inline-flex;
 		font-size: 22rpx;
 		border-radius: 15px;
 		margin: 3px;
 	}
+
 	.tag-bule {
 		background: #EBEEFA;
 		color: #5C76DF;
 	}
+
 	.tag-green {
 		background: #C6F7BC;
 		color: #065112;
 	}
+
 	.tag-yellow {
 		background: #F9F2EA;
 		color: #BE9C69;
 	}
+
 	.tag-red {
 		background: #FEECE6;
 		color: #FE6430;
 	}
-.introduce-section .title{
-	font-size: 17px;
-	font-weight: bold;
-	height:40px;
-	line-height: 40px;
-	flex: 2.5;
-	border-bottom:1px solid #EEEEEE;
-}
-.introduce-section .address{
-	color:#878C9C;
-	font-size:12px;
-	padding:15px 0 10px;
-}
-.introduce-section .price{
-	padding:10px 0 10px;
-	color:#FD714F;
-	font-size:19px;
-	font-weight:700;
-}
+
+	.introduce-section .title {
+		font-size: 17px;
+		height: 40px;
+		line-height: 40px;
+		flex: 2.5;
+		border-bottom: 1px solid #EEEEEE;
+	}
+
+	.introduce-section .address {
+		color: #878C9C;
+		font-size: 12px;
+		padding: 15px 0 10px;
+	}
+
+	.introduce-section .price {
+		padding: 10px 0 10px;
+		color: #FD714F;
+		font-size: 19px;
+		font-weight: 700;
+	}
+
 	/* 销售信息 */
 	.introduce-section {
 		background: #fff;
 		padding: 0upx 30upx 20upx;
-		margin:10px;
-		border-radius:4px;
+		margin: 10px;
+		border-radius: 4px;
 
 		.guess-item {
 			padding-bottom: 20upx;
@@ -696,27 +872,32 @@
 			}
 		}
 	}
-	.side-bg{
-		position:absolute;
+
+	.side-bg {
+		position: absolute;
 		width: 64px;
 		height: 64px;
 		z-index: 1;
 	}
+
 	.drag {
-		position:relative;
+		position: relative;
 		display: flex;
 		justify-content: center;
 		align-items: center;
 		color: $uni-text-color-inverse;
 		width: 64px;
 		height: 64px;
-		background:transparent;
+		background: transparent;
 		font-size: $uni-font-size-sm;
 		position: fixed;
 		z-index: 9;
-		
+
 		&.transition {
-			transition: left .3s ease,top .3s ease;
+			transition: left .3s ease, top .3s ease;
 		}
 	}
+	.number-style{
+		font-size: 44rpx;
+	}
 </style>

+ 60 - 9
pages.json

@@ -22,6 +22,12 @@
 				"selectedIconPath": "static/img/jiaoyi_check.png",
 				"text": "交易"
 			},
+			// {
+			// 	"pagePath": "pages/grain_pulse/home",
+			// 	"iconPath": "static/img/liangmai.png",
+			// 	"selectedIconPath": "static/img/liangmai_check.png",
+			// 	"text": "粮脉"
+			// },
 			{
 				"pagePath": "pages/tran/tran",
 				"iconPath": "static/img/wuliu.png",
@@ -37,6 +43,13 @@
 		]
 	},
 	"pages": [{
+			"path": "pages/sale/information",
+			"style": {
+				"enablePullDownRefresh": true,
+				"navigationBarTitleText": "",
+				"navigationStyle": "custom"
+			}
+		},{
 			"path": "pages/index/index",
 			"style": {
 				"navigationBarTitleText": "启动页",
@@ -45,14 +58,6 @@
 				}
 			}
 		},
-		{
-			"path": "pages/sale/information",
-			"style": {
-				"enablePullDownRefresh": true,
-				"navigationBarTitleText": "",
-				"navigationStyle": "custom"
-			}
-		},
 		{
 			"path": "pages/sale/plant",
 			"style": {
@@ -102,6 +107,16 @@
 				"enablePullDownRefresh": true
 			}
 		},
+		{
+			"path": "pages/grain_pulse/home",
+			"style": {
+				"navigationStyle": "custom",
+				"app-plus": {
+					"titleNView": false
+				},
+				"enablePullDownRefresh": true
+			}
+		},
 		{
 			"path": "pages/public/login",
 			"style": {
@@ -467,7 +482,43 @@
             
         }
 
-	],
+	    ,{
+            "path" : "pages/grain_pulse/distribution/distribution",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "分布图",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/grain_pulse/position/position",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "定位",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/grain_pulse/selectCity/selectCity",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "城市",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/grain_pulse/localtion/localtion",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "位置",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+    ],
 	"subpackages": [{
 			"root": "pageA",
 			"pages": [{

+ 79 - 50
pages/business/business.vue

@@ -6,10 +6,12 @@
 			<view style='background:#fff;border-bottom:1px solid #EEE;padding-bottom:10px;'>
 				<view class="cu-bar search">
 					<view style='position:absolute;left:30px;top:50%;transform: translateY(-50%);' @click='status=true'>
-						{{location}}<image style='width:10px;height:6px;margin-left:4px;position:relative;top:-2px;'
+						{{location}}
+						<image style='width:10px;height:6px;margin-left:4px;position:relative;top:-2px;'
 							src='../../static/img/jiaoyi/down.png'></image>
 					</view>
-					<u-picker mode="selector" @confirm='locationChange' v-model="status" :range="locationType"></u-picker>
+					<u-picker mode="selector" @confirm='locationChange' v-model="status" :range="locationType">
+					</u-picker>
 					<!-- <view>
 						<picker style='display:inline-block;' @change="locationChange" :value="location"
 							:range="locationType">
@@ -20,13 +22,13 @@
 						<image style='width:10px;height:6px;margin-left:4px;position:relative;top:-2px;'
 							src='../../static/img/jiaoyi/down.png'></image>
 					</view> -->
-					
+
 					<view class="search-form round" @click="naviageToPage('/pageA/product/lookup?TabCur=')">
 						<text style='color: #ccc;text-indent:56px;' class="cuIcon-search"></text>
-						<view > 请输入货名或标题</view>
+						<view class="Medium search-title"> 请输入货名或标题</view>
 					</view>
 				</view>
-				<view style='margin:0 15px;'>
+				<view style='margin:0 15px;' class="Medium">
 					<view class='tag radius line-pink' @click="sousuo('玉米')">玉米</view>
 					<view class='tag radius line-pink' @click="sousuo('大豆')">大豆</view>
 					<view class='tag radius line-pink' @click="sousuo('小麦')">小麦</view>
@@ -34,46 +36,54 @@
 					<view class='tag radius line-pink' @click="sousuo('高粱')">高粱</view>
 				</view>
 			</view>
-			<view style='background:#fff;padding:0 15px;'>
+			<view style='background:#fff;padding:0 15px;border-radius:0rpx 0rpx 30rpx 30rpx;' class="Semibold">
 				<view @click='tabcarchange(0)' class='line' :class='TabCur==0?"active":""'>采购</view>
 				<view @click='tabcarchange(1)' class='line' :class='TabCur==1?"active":""'>销售</view>
 			</view>
 		</view>
-		<view v-if='buyInfo.length>0' class="introduce-section">
+		<view v-if='buyInfo.length>0' class="introduce-section Semibold">
 			<view v-for="(item, index) in buyInfo" :key="index" class="guess-item" @click="navToDetailPage(item)">
 				<view class="price-box">
-					<view class="title">{{item.title}}</view>
+					<view class="title Medium">{{item.title}}</view>
 				</view>
-				<view class='flex justify-between'>
+				<view class='flex justify-between align-item-center Regular'>
 					<view v-if='TabCur==0' class='address'>
 						{{item.receivePrivate}}{{item.receiveCity}}{{item.receiveArea}}{{item.receiveWarehouse}}
 					</view>
 					<view v-if='TabCur==1' class='address'>
 						{{item.sendPrivate}}{{item.sendCity}}{{item.sendArea}}{{item.sendWarehouse}}
 					</view>
-					<view class='price' v-if='item.procurementPlanType=="期货"'>{{item.basisPrice}}<text
-							style='font-size:13px;color:#333333;'>元/吨</text></view>
-					<view class='price' v-if='item.procurementPlanType=="现货"'>{{item.procurementPrice}}<text
-							style='font-size:13px;color:#333;'>元/吨</text></view>
-					<view class='price' v-if='item.salePlanType=="期货"'>+{{item.basisPrice}}<text
-						style='font-size:13px;color:#333333;'>元/吨</text></view>
-					<view class='price' v-if='item.salePlanType=="现货"'>{{item.salePrice}}<text
-						style='font-size:13px;color:#333;'>元/吨</text></view>
+					<view class='price NumberBold' v-if='item.procurementPlanType=="期货"'>
+						<text class="number-style">{{item.basisPrice}}</text><text style='font-size:13px;color:#333333;'
+							class="Semibold">元/吨</text></view>
+					<view class='price NumberBold' v-if='item.procurementPlanType=="现货"'>
+						<text class="number-style">{{item.procurementPrice}}</text><text style='font-size:13px;color:#333;'
+							class="Semibold">元/吨</text></view>
+					<view class='price NumberBold' v-if='item.salePlanType=="期货"'><text class="number-style">+{{item.basisPrice}}</text><text
+							style='font-size:13px;color:#333333;' class="Semibold">元/吨</text></view>
+					<view class='price NumberBold' v-if='item.salePlanType=="现货"'><text class="number-style">{{item.salePrice}}</text><text
+							style='font-size:13px;color:#333;' class="Semibold">元/吨</text></view>
 				</view>
-				<view class='flex justify-between'>
-					<view>
+				<view class='flex justify-between Regular'>
+					<view class="Regular">
 						<view class='tag1 tag-bule radius line-pink' v-if='item.procurementPlanType=="现货"'>现货</view>
 						<view class='tag1 tag-bule radius line-pink' v-if='item.procurementPlanType=="期货"'>期货</view>
 						<view class='tag1 tag-bule radius line-pink' v-if='item.salePlanType=="现货"'>现货</view>
 						<view class='tag1 tag-bule radius line-pink' v-if='item.salePlanType=="期货"'>期货</view>
 						<view class='tag1 tag-yellow radius line-green'>{{item.goodsName}}</view>
-						<view class='tag1 tag-red radius line-yellow' v-if="TabCur== 0">{{item.plannedPurchaseVolume}}吨</view>
-						<view class='tag1 tag-red radius line-yellow' v-if="TabCur== 1">{{item.plannedSaleVolume}}吨</view>
+						<view class='tag1 tag-red radius line-yellow' v-if="TabCur== 0">{{item.plannedPurchaseVolume}}吨
+						</view>
+						<view class='tag1 tag-red radius line-yellow' v-if="TabCur== 1">{{item.plannedSaleVolume}}吨
+						</view>
+					</view>
+					<view style='color:#878C9C;padding-top:5px;' v-if='item.procurementPlanType=="期货" && TabCur== 0'>
+						今日基差</view>
+					<view style='color:#878C9C;padding-top:5px;' v-if='item.procurementPlanType=="现货" && TabCur== 0'>
+						采购价格</view>
+					<view style='color:#878C9C;padding-top:5px;' v-if='item.salePlanType=="期货" && TabCur== 1'>今日基差
+					</view>
+					<view style='color:#878C9C;padding-top:5px;' v-if='item.salePlanType=="现货" && TabCur== 1'>销售价格
 					</view>
-					<view style='color:#878C9C;padding-top:5px;' v-if='item.procurementPlanType=="期货" && TabCur== 0'>今日基差</view>
-					<view style='color:#878C9C;padding-top:5px;' v-if='item.procurementPlanType=="现货" && TabCur== 0'>采购价格</view>
-					<view style='color:#878C9C;padding-top:5px;' v-if='item.salePlanType=="期货" && TabCur== 1'>今日基差</view>
-					<view style='color:#878C9C;padding-top:5px;' v-if='item.salePlanType=="现货" && TabCur== 1'>销售价格</view>
 				</view>
 			</view>
 			<view v-show="isLoadMore">
@@ -85,7 +95,7 @@
 		</view>
 		<u-back-top :scroll-top="scrollTop" tips="顶部" :custom-style="{backgroundColor: '#a0cfff',color: '#2979ff'}"
 			:iconStyle="{color: '#2979ff',fontSize: '34rpx'}" mode="square" icon="arrow-up"></u-back-top>
-		
+
 	</view>
 </template>
 
@@ -101,7 +111,7 @@
 				isLoadMore: false, //是否加载中
 				showTran: true,
 				scrollTop: 0,
-				status:false,
+				status: false,
 				pageSize: 10,
 				searchKeyWord: '',
 				receivePrivate: '全国',
@@ -116,22 +126,24 @@
 				TabCur: 0,
 				current: 1,
 				location: '全国',
-				params:{
+				params: {
 					province: true,
 				},
 				locationType: ['全国', '黑龙江', '河南', '山东', '安徽', '吉林', '河北', '江苏', '内蒙古', '四川', '湖南', '湖北', '辽宁',
 					'江西', '云南', '新疆', '山西', '广西', '陕西', '广东', '甘肃', '重庆', '贵州', '浙江', '福建',
 					'宁夏', '天津', '海南', '青海', '西藏', '上海', '北京'
 				],
-				statusBarHeight:"height:"
+				statusBarHeight: "height:"
 			}
 		},
 		onShow() {
 			uni.showTabBar()
 			var userInfo = uni.getStorageSync("userInfo")
 			var that = this
-			console.log("userInfo",userInfo)
-			this.$api.doRequest('get', '/salePlanInfo/getTips', {phone:userInfo.phone}).then(res => {
+			console.log("userInfo", userInfo)
+			this.$api.doRequest('get', '/salePlanInfo/getTips', {
+				phone: userInfo.phone
+			}).then(res => {
 				if (res.data.data) {
 					let name = 'myTip';
 					let value = res.data.data.myTip;
@@ -139,10 +151,10 @@
 						name,
 						value
 					});
-					if(value != 0){
+					if (value != 0) {
 						uni.setTabBarBadge({
-							index:3,
-							text:value+""
+							index: 3,
+							text: value + ""
 						})
 					}
 					name = 'taskTip';
@@ -165,7 +177,7 @@
 			var that = this
 			uni.getSystemInfo({
 				success: function(res) {
-					console.log("statusBarHeight",res.statusBarHeight)
+					console.log("statusBarHeight", res.statusBarHeight)
 					that.statusBarHeight += res.statusBarHeight + "px"; //这就是状态栏的高度
 				},
 			});
@@ -182,7 +194,7 @@
 			this.isLoadMore = false
 			this.loadStatus = 'loading'
 			this.loadData()
-			setTimeout(function () {
+			setTimeout(function() {
 				uni.stopPullDownRefresh();
 			}, 1000);
 		},
@@ -274,14 +286,13 @@
 					})
 					.catch(res => {
 						uni.hideLoading()
-						if(res.errmsg){
+						if (res.errmsg) {
 							uni.showToast({
 								title: res.errmsg,
 								icon: 'none',
 								duration: 2000
 							})
-						}
-						else{
+						} else {
 							uni.showToast({
 								title: "系统异常,请联系管理员",
 								icon: 'none',
@@ -372,14 +383,13 @@
 					})
 					.catch(res => {
 						uni.hideLoading()
-						if(res.errmsg){
+						if (res.errmsg) {
 							uni.showToast({
 								title: res.errmsg,
 								icon: 'none',
 								duration: 2000
 							})
-						}
-						else{
+						} else {
 							uni.showToast({
 								title: "系统异常,请联系管理员",
 								icon: 'none',
@@ -415,11 +425,13 @@
 		content: '';
 		display: block;
 		position: absolute;
-		width: 38px;
+		width: 36rpx;
+		height: 6rpx;
 		left: 50%;
 		transform: translateX(-50%);
 		bottom: 0;
-		border-bottom: 1px solid #22C572;
+		background: #22C572;
+		/* border-bottom: 1px solid #22C572; */
 	}
 
 	.cu-tag.badge {
@@ -727,12 +739,13 @@
 			color: $base-color;
 		}
 	}
-	.introduce-section{
+
+	.introduce-section {
 		padding-top: 135px;
 	}
+
 	.introduce-section .title {
 		font-size: 17px;
-		font-weight: bold;
 		height: 40px;
 		line-height: 40px;
 		flex: 2.5;
@@ -757,7 +770,7 @@
 		background: #fff;
 		padding: 0upx 30upx 20upx;
 		margin: 8px;
-		border-bottom: 1px solid #ccc;
+		/* border-bottom: 1px solid #ccc; */
 	}
 
 	/* 销售信息 */
@@ -830,13 +843,29 @@
 			transition: left .3s ease, top .3s ease;
 		}
 	}
-	.top-style{
-		background: red;
+
+	.top-style {
 		position: fixed;
 		width: 100%;
 	}
-	
+
 	.status_bar {
 		width: 100%;
 	}
+
+	.search-title {
+		font-size: 28rpx;
+		color: #AFB3BF;
+	}
+
+	.tag {
+		font-size: 24rpx;
+	}
+
+	.align-item-center {
+		align-items: center;
+	}
+	.number-style{
+		font-size: 44rpx;
+	}
 </style>

+ 288 - 0
pages/grain_pulse/distribution/distribution.vue

@@ -0,0 +1,288 @@
+<template>
+	<view class="container">
+		<view class="header">
+			<view class="now-location">
+				<u-icon name="map" size="36" class="icon"></u-icon>
+				<view class="text Medium">{{address}}</view>
+			</view>
+			<view class="selectType">
+				<view @click="selectType" class="header-type Regular">{{typeStr}}</view>
+				<u-icon :style="{transform:(showType?'rotate(180deg)':'')}" name="arrow-down-fill" size="8" color="#AFB3BF" class="icon"></u-icon>
+			</view>
+			<u-picker mode="selector" v-model="showType" @confirm='typeConfirm' confirm-color='#22C572'
+				:range="typeList" range-key="name" :default-selector="[0]"></u-picker>
+		</view>
+		<view class="uni-common-mt">
+			<view class="content">
+				<map class="map" @markertap="markertap" :latitude="nowLocation.latitude" :longitude="nowLocation.longitude" :markers="covers">
+				</map>
+			</view>
+		</view>
+		<view class="content2">
+			<view class="no-enterprise Regular" v-if="enterpriseList.length!=0">
+				附近暂无相关企业
+			</view>
+			<view class="warp">
+				<view class="top-line"></view>
+				<view class="bottom-list-item">
+					<view class="left"><img src="../../../static/img/location.png" alt=""></view>
+					<view class="middle">
+						<view class="title Medium">中天昊元粮库中天昊元粮库</view>
+						<view class="location Regular">辽宁省营口市鲅鱼圈区xx路108号</view>
+					</view>
+					<view class="line"></view>
+					<view class="right">
+						<view class="top">
+							<img src="../../../static/img/location.png" alt="">
+						</view>
+						<view class="bottom Regular">500m</view>
+					</view>
+				</view>
+				<view class="bottom-list-item">
+					<view class="left"><img src="../../../static/img/location.png" alt=""></view>
+					<view class="middle">
+						<view class="title Medium">中天昊元粮库中天昊元粮库</view>
+						<view class="location Regular">辽宁省营口市鲅鱼圈区xx路108号</view>
+					</view>
+					<view class="line"></view>
+					<view class="right">
+						<view class="top">
+							<img src="../../../static/img/location.png" alt="">
+						</view>
+						<view class="bottom Regular">500m</view>
+					</view>
+				</view>
+			</view>
+
+		</view>
+	</view>
+</template>
+<script>
+	export default {
+		data() {
+			return {
+				address:"黑龙江中天...",
+				nowLocation: {
+					longitude: '',
+					latitude: ''
+				},
+				showType: false,
+				enterpriseList: [],
+				typeStr: '全部类型',
+				typeList: [{
+						name: "全部"
+					},
+					{
+						name: "粮库"
+					},
+					{
+						name: "加工厂"
+					}
+				],
+				title: 'map',
+				latitude: 39.909,
+				longitude: 116.39742,
+				covers: [{
+					id: 0,
+					latitude: 39.9085,
+					longitude: 116.39747,
+					iconPath: '../../../static/img/location.png',
+				}]
+			}
+		},
+		onLoad() {
+			//获取当前位置
+			this.getLocation()
+		},
+		methods: {
+			selectType() {
+				this.showType = true
+			},
+			typeConfirm(e) {
+				console.log(e)
+				this.typeStr = this.typeList[e[0]].name
+
+			},
+			getLocation() {
+				let that = this;
+				uni.getLocation({
+					type: 'gcj02',
+					geocode:true,
+					success: function(res) {
+						that.nowLocation.longitude = res.longitude
+						that.nowLocation.latitude = res.latitude
+						that.covers[0].longitude = res.longitude
+						that.covers[0].latitude = res.latitude
+						let _coverrsData = []
+						for (let i = 0; i < 50; i++) {
+							let _obj = {
+								id: i,
+								latitude: res.latitude += 0.00150,
+								longitude: res.longitude + 0.00150,
+								iconPath: '../../../static/img/location.png',
+								callout: {
+									content: '中天昊元粮库',
+									color: '#333333',
+									fontSize: 12,
+									borderRadius: 20,
+									bgColor: 'white',
+									display: 'ALWAYS',
+								},
+							}
+							_coverrsData.push(_obj)
+						}
+						that.covers = _coverrsData
+						console.log('获取位置数据:',res);
+						console.log('当前位置的经度:' + res.longitude);
+						console.log('当前位置的纬度:' + res.latitude);
+						//拼接当前定位回显地址
+						// let _address = res.address
+						// this.address = _address
+					}
+				});
+			},
+			markertap(e){
+				console.log(e)
+				uni.showToast({
+					title:"点击id为"+e.detail.markerId+"的坐标",
+					icon: 'none',
+					duration: 2000
+				})
+			}
+
+		}
+	}
+</script>
+<style lang="scss" scoped>
+	.header{
+		display: flex;
+		padding:20rpx 35rpx;
+		background: white;
+		justify-content: space-between;
+		align-items: center;
+		
+		.selectType{
+			display: flex;
+			justify-content: center;
+			align-items: flex-end;
+			.icon{
+				position: relative;
+				top: -4rpx
+				}
+		}
+		.header-type{
+			font-size: 26rpx;
+			color: #333333;
+			margin-right: 10rpx;
+			
+		}
+		.now-location{
+			display: flex;
+			align-items: center;
+			.icon{
+				margin-right: 10rpx;
+			}
+			.text{
+				font-size: 32rpx;
+				color: #333333;
+			}
+		}
+	}
+	.content {
+		height: calc(100vh - 100px);
+
+		.map {
+			width: 100%;
+			height: 100%;
+		}
+	}
+
+	.no-enterprise {
+		position: fixed;
+		bottom: 20px;
+		height: 84rpx;
+		width: 94%;
+		left: 0;
+		right: 0;
+		margin: auto;
+		background: #FFFFFF;
+		font-size: 26rpx;
+		color: #333333;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		border-radius: 20rpx;
+	}
+
+	.content2 {
+
+		position: fixed;
+		bottom: 0;
+		width: 100%;
+		background: white;
+		border-radius: 20px 20px 0 0;
+		padding: 37rpx 35rpx 20rpx 35rpx;
+
+		.warp {
+			.top-line {
+				width: 68rpx;
+				height: 8rpx;
+				background: #B4B7C3;
+				border-radius: 4px;
+				content: '';
+				display: block;
+				position: absolute;
+				top: 16rpx;
+				left: 0;
+				right: 0;
+				margin: auto;
+			}
+
+			.bottom-list-item {
+				display: flex;
+				justify-content: space-between;
+				align-items: flex-start;
+				border-bottom:1px solid #EEEEEE;
+				padding: 20rpx 0;
+				.left{
+					img{
+						width: 102rpx;
+						border-radius: 10px;
+						background: red;
+					}
+				}
+				.middle{
+					position: relative;
+					left: -10rpx;
+					.title{
+						font-size: 32rpx;
+						color: #333333;
+						margin-bottom: 6rpx;
+					}
+					.location{
+						font-size: 24rpx;
+						color: #AFB3BF;
+					}
+				}
+				.line{
+					width: 1px;
+					height: 80rpx;
+					border: 1px solid #EEEEEE;
+				}
+				.right{
+					display: flex;
+					flex-direction: column;
+					justify-content: center;
+					align-items: center;
+					img{
+						width: 21px;
+					}
+					.bottom{
+						font-size: 24rpx;
+						color: #AFB3BF;
+					}
+				}
+			}
+		}
+	}
+</style>

+ 195 - 0
pages/grain_pulse/home.vue

@@ -0,0 +1,195 @@
+<template>
+	<view>
+		<view class="header">
+			<view class="flex justify-between map">
+				<view class='Medium flex align-item-center locationwrap'>
+					<image class='location' src="../../static/img/liangmai/icon_ditu.png" mode=""></image>
+					黑龙江中天昊元…
+				</view>
+				<view class='Regular flex align-item-center distribution justify-center'>
+					<image class='cangku' src="../../static/img/liangmai/cangku.png" mode=""></image>
+					分布
+				</view>
+			</view>
+			<view class="cu-bar search">
+				<view class="search-form round" @click="naviageToPage('')">
+					<image class='icon-scarch' src="../../static/img/liangmai/sousuo.png" mode=""></image>
+					<view class='Regular'> 请输入货名或标题</view>
+				</view>
+			</view>
+		</view>
+		<view class="content">
+			<view class="friendcircle">
+				<view class='title flex align-item-center Medium'>
+					<image class='icon-friendcircle' src="../../static/img/liangmai/icon.png" mode=""></image>
+					圈友说
+				</view>
+				<view class='friendcircle-content flex justify-between'>
+					<image class='bg' src="../../static/img/liangmai/bg.png" mode=""></image>
+					<view class='friendcircle-content-right'>
+						<view class='friendcircle-content-right-item Regular flex align-item-center'><image class='headportrait' src="../../static/img/add@3x.png" mode=""></image>中天昊元粮库中天昊元…</view>
+						<view class='friendcircle-content-right-item Regular flex align-item-center'><image class='headportrait' src="../../static/img/add@3x.png" mode=""></image>中天昊元粮库中天昊元…</view>
+						<view class='friendcircle-content-right-item Regular flex align-item-center'><image class='headportrait' src="../../static/img/add@3x.png" mode=""></image>中天昊元粮库中天昊元…</view>
+						<view class='friendcircle-content-right-item Regular flex align-item-center'><image class='headportrait' src="../../static/img/add@3x.png" mode=""></image>中天昊元粮库中天昊元…</view>
+					</view>
+				</view>
+			</view>
+			<view class='list-type'>
+				<view :class='status==0?"Semibold active":"Regular"' class="typeitem">全部</view>
+				<view :class='status==0?"Semibold active":"Regular"' class="typeitem">粮库</view>
+				<view :class='status==0?"Semibold active":"Regular"' class="typeitem">加工厂</view>
+				<view :class='status==0?"Semibold active":"Regular"' class="typeitem">烘干塔</view>
+				<view :class='status==0?"Semibold active":"Regular"' class="typeitem">饲料厂</view>
+				<view :class='status==0?"Semibold active":"Regular"' class="typeitem">饲料厂</view>
+			</view>
+			<view class="listitem">
+				<view class="flex">
+					<image class='listitem-left' src="../../static/img/authentication/bankup(2).png" mode=""></image>
+					<view class="listitem-right">
+						<view class="companyname Medium">中天昊元粮库中天昊元粮库</view>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+        components: {
+            
+        },
+		data() {
+			return {
+				status:0
+			}
+		},
+		onLoad(){
+			
+		},
+		methods: {
+
+		}
+	}
+</script>
+
+<style scoped>
+	/* 《--头部 */
+	.header{
+		padding:0 12.5px;
+		background:#fff;
+		border-radius:0 0 10px 10px;
+	}
+	/* 头部--》 */
+	/* 《--定位 */
+	.location{
+		width:15.5px;height:17.5px;margin-right:2.5px;
+	}
+	.locationwrap{
+		font-size:16px;
+	}
+	/* 定位 --》 */
+	/* 《--分布 */
+	.map{
+		padding:8.5px 0;
+	}
+	.cangku{
+		width:16.5px;height:16.5px;margin-right:5px;
+	}
+	.distribution{
+		background:#F5F6FA;
+		width: 71.5px;
+		height:32px;
+		border-radius:15px;
+		font-size:12px;
+	}
+	/* 分布--》 */
+	/* 《--搜索 */
+	.cu-bar .search-form{
+		background:#F5F6F9;
+		margin:0;
+		margin-bottom:18px;
+		padding:10px 18px;
+	}
+	.icon-scarch{
+		width:15px;
+		height:15px;
+		margin-right:5px;
+	}
+	/* 搜索--》 */
+	/* 《--内容 */
+	.content{
+		margin-top:13px;
+	}
+	/* 内容--》 */
+	/* 《--圈友说 */
+	.friendcircle{
+		background:#fff;
+		margin:0 9px;
+		border-radius:4px;
+	}
+	.friendcircle .title{
+		font-size:16px;
+		padding:11.5px 14.5px;
+	}
+	.icon-friendcircle{
+		width:17px;height: 17px;margin-right:5.5px;
+	}
+	.bg{
+		width:110px;height:124px;
+	}
+	.friendcircle-content{
+		padding:0 17px 18px;
+	}
+	.friendcircle-content-right{
+		margin-left:15.5px;
+	}
+	.friendcircle-content-right-item{
+		background: linear-gradient(90deg, #F5F6FA 0%, #FFFFFF 100%);
+		border-radius:12.5px;
+		margin-bottom:10px;
+		width:205.5px;
+		font-size:12px;
+		padding:3px 0;
+	}
+	.headportrait{
+		width:22.5px;height:22.5px;
+		margin-right:8.5px;
+	}
+	/* 圈友说--》 */
+	/* 《--类型 */
+	.list-type{
+		background: linear-gradient(180deg, #F5F6FA 0%, #FFFFFF 100%);
+		width:100%;
+		padding-top:5px;
+		height:49px;
+	}
+	.typeitem{
+		margin:10px;
+		position:relative;
+		display:inline-block;
+		padding-top:8px;
+		padding-bottom:5px;
+	}
+	.typeitem.active{
+		font-size:16px;
+	}
+	.typeitem.active:after{
+		content:'';
+		display:block;
+		position:absolute;
+		height:3px;
+		bottom:0;
+		background:#22C572;
+		width:50%;
+		left:50%;
+		transform: translateX(-50%);
+	}
+	/* 类型--》 */
+	/* 《--数据 */
+	.listitem-left{
+		width:98.5px;
+		height:96.5px;
+	}
+	/* 数据--》 */
+</style>

+ 89 - 0
pages/grain_pulse/localtion/localtion.vue

@@ -0,0 +1,89 @@
+<template>
+	<view class="container">
+		<view class="content">
+			<map class="map" @markertap="markertap" :latitude="nowLocation.latitude" :longitude="nowLocation.longitude" :markers="covers">
+			</map>
+		</view>
+<!-- 		<view class="bottom">
+			<view class="title">
+				{{dataList.title}}
+			</view>
+			<view class="bottom-content">
+				{{dataList.content}}
+			</view>
+			<view>
+					<u-icon name="map" size="36" class="icon"></u-icon>
+					<view>{{dataList.localtion}}</view>
+					<view>{{dataList.rice}}</view>
+			</view>
+		</view> -->
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				dataList:{
+					title:'中天昊元粮库中天昊元粮库',
+					content:'我是企业介绍我是企业介绍我是企业介绍我是企业介绍我是企业介绍…',
+					localtion:"辽宁省营口市鲅鱼圈区熊岳镇火车站…",
+					rice:'500m'
+					
+				},
+				nowLocation: {
+					longitude: '',
+					latitude: ''
+				},
+				title: 'map',
+				latitude: 39.909,
+				longitude: 116.39742,
+				covers: [{
+					id: 0,
+					latitude: 39.9085,
+					longitude: 116.39747,
+					iconPath: '../../../static/img/location.png',
+				}]
+			}
+		},
+		onLoad() {
+				this.getLocation()
+		},
+		methods: {
+			getLocation() {
+				let that = this;
+				uni.getLocation({
+					type: 'gcj02',
+					geocode:true,
+					success: function(res) {
+						that.nowLocation.longitude = res.longitude
+						that.nowLocation.latitude = res.latitude
+						that.covers[0].longitude = res.longitude
+						that.covers[0].latitude = res.latitude
+						console.log('获取位置数据:',res);
+						console.log('当前位置的经度:' + res.longitude);
+						console.log('当前位置的纬度:' + res.latitude);
+						//拼接当前定位回显地址
+						// let _address = res.address
+						// this.address = _address
+					}
+				});
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.content{
+		width: 100vw;
+		height: 100vh;
+	}
+	.map {
+			width: 100%;
+			height: 100%;
+		}
+		.bottom{
+			width: 80%;
+			background: white;
+		}
+</style>

+ 64 - 0
pages/grain_pulse/position/position.vue

@@ -0,0 +1,64 @@
+<template>
+	<view class="container">
+		<view class="header">
+			<view class="city">
+				<text>全国</text>
+				<u-icon name="arrow-down"></u-icon>
+			</view>
+			<u-search input-align="left" :show-action="false" height="70" placeholder="请输入位置信息"></u-search>
+		</view>
+		<view class="header2">
+			<view>山海广场</view>
+			<view class="">
+				重新定位
+			</view>
+		</view>
+		<view class="pposition">
+			<view>
+				<view>
+					山海广场
+				</view>
+				<view>4.2千米</view>
+			</view>
+			<view>
+				山海广场
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		components: {
+		},
+		data() {
+			return {
+			}
+		},
+		methods: {
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.container{
+		padding: 0 35rpx;
+	}
+	/deep/.u-content{
+		padding-left: 140rpx;
+	}
+.header{
+	position: relative;
+	display: flex;
+	.city{
+		top: 0;
+		bottom: 0;
+		left: 20rpx;
+		margin: auto;
+		position: absolute;
+		display: flex;
+		align-items: center;
+		
+	}
+}
+</style>

+ 37 - 0
pages/grain_pulse/selectCity/selectCity.vue

@@ -0,0 +1,37 @@
+<template>
+	<view class="container">
+		<view>定位</view>
+		<citySelect @back_city="back_city"></citySelect>
+	</view>
+</template>
+
+<script>
+	import citySelect from '@/components/linzq-citySelect/linzq-citySelect.vue';
+	export default {
+		components: {
+			citySelect
+		},
+		data() {
+			return {
+			}
+		},
+		methods: {
+			back_city(e) {
+				if (e !== 'no') {
+					this.region = e.cityName 
+					this.$refs.popupRef.close();
+				} else {
+					this.$refs.popupRef.close();
+				}
+			}
+		}
+	}
+</script>
+
+<style>
+	.container {
+		padding: 20px;
+		font-size: 14px;
+		line-height: 24px;
+	}
+</style>

+ 13 - 8
pages/public/login.vue

@@ -7,12 +7,13 @@
 			<h2 class="title Semibold">欢迎使用易粮易运</h2>
 			<view style='width:100%;margin-top:50px;border-bottom:1px solid #E8E9ED;padding:10px;' class="flex">
 				<view class="phone-before-num NumberMedium">+86</view>
-				<view style='width:85%;'><input style='padding-left:10px;' v-model='phone' @input='changephone' placeholder="请输入手机号码" type="number" maxlength="11"></view>
+				<view style='width:85%;'><input style='padding-left:10px;' class="NumberMedium" v-model='phone' @input='changephone' placeholder="请输入手机号码" type="number" maxlength="11"></view>
 				<image v-if='phone!=""' @click='phone=""' class='close' src='../../static/img/login/guanbi@2x.png'></image>
 			</view>
-			<button @click='gocode' :class='codestatus?"active":""' class='verificationCode'>获取验证码</button>
-			<button @click='goregister' class='verificationCode active'>手机号一键注册</button>
-			<view @click='gonumber' style='text-align:center;color:#6A6A6A;margin-top:10px;'>使用账号密码登录</view>
+			<button @click='gocode' :class='codestatus?"active":""' class='Regular verificationCode'>获取验证码</button>
+			<view @click='gonumber' class="Regular use-password" style='text-align:center;color:#6A6A6A;'>使用账号密码登录</view>
+			
+			<button @click='goregister' class='Regular register active'>手机号一键注册</button>
 		</view>
 		<view v-if="loginType === 'phone'" class="register-section">
 			还没有账号?
@@ -903,13 +904,14 @@
 	}
 	.register{
 		position:absolute;
-		bottom:20px;
+		bottom:136rpx;
 		left:50%;
 		transform: translateX(-50%);
 		color:#333333;
-		height:50px;
-		line-height:50px;
-		border-radius:30px;border: 1px solid #444444;
+		border-radius:43rpx;
+		border: 1px solid #444444;
+		font-size: 28rpx;
+		
 	}
 	.register:after{
 		border:none;
@@ -923,4 +925,7 @@
 		font-weight: 500;
 		color: #333333;
 	}
+	.use-password{
+		margin-top: 31rpx;
+	}
 </style>

+ 27 - 10
pages/public/login_account_number.vue

@@ -4,22 +4,26 @@
 		<!-- 设置白色背景防止软键盘把下部绝对定位元素顶上来盖住输入框等 -->
 		<view class="wrapper">
 			<image style='width:38px;height:38px;margin-bottom:10px;' src='../../static/img/login/logo@2x.png'></image>
-			<h2>欢迎使用易粮易运</h2>
-			<view style='position:relative;width:100%;margin-top:50px;border-bottom:1px solid #E8E9ED;padding:10px;' class="flex">
-				<view style='width:15%;border-right:1px solid #E8E9ED;'>+86</view>
-				<view style='width:85%;'><input style='padding-left:10px;' maxlength='11' v-model='phone' placeholder="请输入手机号码" type="number"></view>
+			<h2 class="title Semibold">欢迎使用易粮易运</h2>
+			<view style='position:relative;width:100%;margin-top:50px;border-bottom:1px solid #E8E9ED;padding:10px;align-items: center;' class="flex">
+				<view class="phone-before-num NumberMedium">+86</view>
+				<view style='width:85%;'>
+					<u-input class="phone-number" :custom-style='{"fontSize":"16px"}'  maxlength='11' v-model='phone' placeholder="请输入手机号码" type="number"/>
+					<!-- <input style='padding-left:10px;' maxlength='11' v-model='phone' placeholder="请输入手机号码" type="number"> -->
+					</view>
 			<image v-if='phone!=""' @click='phone=""' class='close' src='../../static/img/login/guanbi@2x.png'></image>
 			</view>
 			<view style='margin-top:20px;border-bottom:1px solid #E8E9ED;position:relative;'>
-				<input class='password' style='height:40px;' v-model='password' placeholder="请输入密码,6-16位字符" :type="type" value="" />
+				<u-input class='password' style='height:40px;' :custom-style='{"fontSize":"16px"}' v-model='password' placeholder="请输入密码,6-16位字符" :type="type" value="" />
+				<!-- <input class='password' style='height:40px;' v-model='password' placeholder="请输入密码,6-16位字符" :type="type" value="" />
 				<view @click='switchover' style='position:absolute;right:0;top:38%;z-index:10;cursor:pointer;' class="iconfont " :class='type=="password"?"icon-yanjing-biyan":"icon-yanjing-zhengyan"'></view>
-				<image v-if='password!=""' @click='password=""' class='close2' src='../../static/img/login/guanbi@2x.png'></image>
+				<image v-if='password!=""' @click='password=""' class='close2' src='../../static/img/login/guanbi@2x.png'></image> -->
 			</view>
-			<button :class='phone!=""&&password!=""?"active":""' @click='passlogin' class='verificationCode'>登录</button>
-			<button @click='goregister' class='verificationCode active'>手机号一键注册</button>
+			<button :class='phone!=""&&password!=""?"active":""' @click='passlogin' class='Regular verificationCode'>登录</button>
+			<button @click='goregister' class='verificationCode active Regular'>手机号一键注册</button>
 			<view class='flex' style='color:#6A6A6A;margin-top:10px;'>
-				<view style='flex:1;text-align:center;border-right:1px solid #E8E9ED;' @click="forgetpass()">忘记密码</view>
-				<view @click='gocode' style='flex:1;text-align:center;'>验证码登录</view>
+				<view style='flex:1;text-align:center;border-right:1px solid #E8E9ED;' class="Regular" @click="forgetpass()">忘记密码</view>
+				<view @click='gocode' style='flex:1;text-align:center;' class="Regular">验证码登录</view>
 			</view>
 		</view>
 		</view>
@@ -933,4 +937,17 @@ username: "13333333333"}).then(res1 => {
 	.register:after{
 		border:none;
 	}
+	.phone-before-num{
+		font-size: 34rpx;
+		color: #333333;
+		border-right: 1px solid #E8E9ED;
+		padding-right: 20rpx;
+	}
+	.phone-number{
+		margin-left: 20rpx;
+		font-size: 34rpx;
+		font-family: DINPro-Medium, DINPro;
+		font-weight: 500;
+		color: #333333;
+	}
 </style>

+ 11 - 9
pages/public/register.vue

@@ -3,23 +3,24 @@
 		<view class="back-btn cuIcon-back" @click="navBack"></view>
 		
 		<view class="wrapper">
-			<h2>手机号注册</h2>
+			<h2 class="Semibold">手机号注册</h2>
 			<view style='width:100%;margin-top:50px;border-bottom:1px solid #E8E9ED;padding:10px;position:relative;' class="flex">
-				<view style='width:15%;border-right:1px solid #E8E9ED;'>+86</view>
-				<view style='width:85%;'><input maxlength="11" v-model='phone' @input='phoneinput' style='padding-left:10px;' placeholder="请输入手机号码" type="text"></view>
+				<view class="NumberMedium" style='width:15%;border-right:1px solid #E8E9ED;'>+86</view>
+				<view style='width:85%;'><input maxlength="11" v-model='phone' @input='phoneinput' style='padding-left:10px;' placeholder="请输入手机号码" type="number" class="Regular"></view>
 			<image v-if='phone!=""' @click='phone=""' class='close' src='../../static/img/login/guanbi@2x.png'></image>
 			</view>
 			<view style='width:100%;border-bottom:1px solid #E8E9ED;position:relative;padding:10px;' class="flex">
 				<view style='width:70%;position:relative;'>
-					<input  v-model='verifyCode' placeholder="请输入验证码" type="text">
+					<input  v-model='verifyCode' class="Regular" placeholder="请输入验证码" type="number">
 					<image v-if='verifyCode!=""' @click='verifyCode=""' class='close1' src='../../static/img/login/guanbi@2x.png'></image>
 					</view>
-				<button :class='codestatus&&!sendDisabled?"active":""' @click='getcode' class='getcode'>{{sendText}}</button>
+				<button :class='codestatus&&!sendDisabled?"active":""' @click='getcode' class='getcode Regular'>{{sendText}}</button>
 			</view>
 			<view style='border-bottom:1px solid #E8E9ED;padding:10px;position:relative;'>
-				<input maxlength='16' class='password' style='height:30px;' v-model='password' placeholder="请输入密码,6-16位字符" :type="type">
-				<image v-if='password!=""' @click='password=""' class='close2' src='../../static/img/login/guanbi@2x.png'></image>
-				<view @click='switchover' style='position:absolute;right:0;top:38%;z-index:10;cursor:pointer;' class="iconfont " :class='type=="password"?"icon-yanjing-biyan":"icon-yanjing-zhengyan"'></view>
+				<u-input maxlength='16' class='Regular input-style' style='height:30px;' v-model='password' placeholder="请输入密码,6-16位字符" :type="type"/>
+<!-- 				<input maxlength='16' class='password Regular input-style' style='height:30px;' v-model='password' placeholder="请输入密码,6-16位字符" :type="type"> -->
+				<!-- <image v-if='password!=""' @click='password=""' class='close2' src='../../static/img/login/guanbi@2x.png'></image> -->
+				<!-- <view @click='switchover' style='position:absolute;right:0;top:38%;z-index:10;cursor:pointer;' class="iconfont " :class='type=="password"?"icon-yanjing-biyan":"icon-yanjing-zhengyan"'></view> -->
 			</view>
 			<button  :class='phone!=""&&verifyCode!=""&&password!=""?"active":""' @click='register' class='verificationCode'>注册</button>
 			<view style='color:#6A6A6A;margin-top:10px;text-align:center;'>
@@ -62,7 +63,7 @@
 				},
 				consentStatus:false,
 				codestatus:false,
-				type:'text',
+				type:'password',
 				inputStatus:'none',
 				verifyCode:null,
 				sendText:'获取验证码',
@@ -982,6 +983,7 @@ username: "13333333333"}).then(res1 => {
 	.password{
 		border:none;
 		outline: none;
+		
 	}
 	.apple{
 		background: #000;

+ 19 - 12
pages/sale/information.vue

@@ -28,17 +28,17 @@
 		<swiper-up :list="infoList"></swiper-up>
 		<view class="guess-section-wrap">
 			<view class='flex justify-between'>
-				<view class='title'>工厂价格</view>
-				<view style='color:#B2B3BB;' @click='more("/pages/sale/plant")'>更多</view>
+				<view class='title Medium'>工厂价格</view>
+				<view class='Regular' style='color:#B2B3BB;' @click='more("/pages/sale/plant")'>更多</view>
 			</view>
 			<swiper class="screen-swiper header-swiper" :autoplay="true" interval="6000" duration="500" :circular="true"
 				:acceleration="true" style="min-height: 380px;">
 				<swiper-item class="" v-for="(item1,index) in factoryPriceData.list" :key="index">
-					<view class='guess-section-wrap-item clearfix' v-for='(item,index1) in item1' :key="index1">
+					<view class='Semibold guess-section-wrap-item clearfix' v-for='(item,index1) in item1' :key="index1">
 						<view class='factory'>{{item.factory}}</view>
 						<view class='wrap'>{{item.city}} {{item.factoryType}}</view>
 						<view class='price'>
-							<text class='currectprice'>{{item.price}}</text>
+							<text class='currectprice NumberBold'>{{item.price}}</text>
 							较昨日
 							<image v-if='item.comparePrice>0' style="width:7.5px;height:9px;"
 								src='../../static/img/homepage/shangsheng.png'></image>
@@ -54,8 +54,8 @@
 		</view>
 		<view class="guess-section-wrap">
 			<view class='flex justify-between'>
-				<view class='title'>港口价格</view>
-				<view style='color:#B2B3BB;' @click='more("/pages/sale/portprice")'>更多</view>
+				<view class='title Medium'>港口价格</view>
+				<view class='Regular' style='color:#B2B3BB;' @click='more("/pages/sale/portprice")'>更多</view>
 			</view>
 			<!-- <uni-notice-bar scrollable="true" single="true" background-color="white" :portList="portList" ></uni-notice-bar> -->
 			<swiper class="screen-swiper header-swiper-port" :autoplay="true" interval="0" duration="60000"
@@ -66,7 +66,7 @@
 						<view class='factory'>{{item.port}}</view>
 						<view class='wrap'>{{item.goodsName}}</view>
 						<view class='price'>
-							<text class='currectprice'>{{item.price}}</text>
+							<text class='currectprice NumberBold'>{{item.price}}</text>
 							较昨日
 							<image v-if='item.comparePrice>0' style="width:7.5px;height:9px;"
 								src='../../static/img/homepage/shangsheng.png'></image>
@@ -77,7 +77,7 @@
 							<text v-if='item.comparePrice==0' class='yesterday'>-</text>
 						</view>
 						<view style='color:#B2B3BB;' class='flex'>
-							<view class="port-number-style">
+							<view class="port-number-style NumberBold">
 								<image style='width:11px;height:11px;' src='../../static/img/homepage/water@3x.png'>
 								</image>
 								<={{item.waterContent}} </view>
@@ -93,15 +93,15 @@
 		</view>
 		<view class="guess-section-wrap1">
 			<view style='padding:15px;' class='flex justify-between'>
-				<view class='title'>行业新闻</view>
-				<view style='color:#B2B3BB;' @click="more('/pages/sale/newsinfo')">更多</view>
+				<view class='title Medium'>行业新闻</view>
+				<view class='Regular' style='color:#B2B3BB;' @click="more('/pages/sale/newsinfo')">更多</view>
 			</view>
 			<view style='border-bottom:1px solid #EEEEEE;' class='guess-section-wrap-content1'>
 				<view style='border-bottom:1px solid #eee;padding:15px;' class='flex justify-between'
 					v-for='(item, index) in newsInfo' :key="index" @click="navToDetailPage(item.id)">
 					<view>
-						<view class="list-row-titel">{{item.title}}</view>
-						<view style='color:#B2B3BB;font-size:12px;'><text
+						<view class="list-row-titel Regular">{{item.title}}</view>
+						<view style='color:#B2B3BB;font-size:12px;' class="Regular"><text
 								style='margin-right:5px;'>{{item.from}}</text>{{item.gmtUpdate}}</view>
 					</view>
 					<view>
@@ -209,6 +209,13 @@
 			})
 		},
 		onLoad(options) {
+			const value = uni.getStorageSync('launchFlag');
+			if (value) {
+			} else {
+				uni.navigateTo({
+					url: '/pages/index/index'
+				});
+			}
 			var that = this
 			uni.getSystemInfo({
 				success: function(res) {

+ 12 - 7
pages/sale/newsinfo.vue

@@ -2,10 +2,10 @@
 	<view>
 		<view class="guess-section-wrap1">
 			<view class='guess-section-wrap-content'>
-				<view style='margin:15px;background:#fff;padding:15px;border-radius:5px;' class='flex justify-between'  v-for='(item, index) in newsInfo' :key="index" @click="navToDetailPage(item.id)">
+				<view style='margin:19rpx;background:#fff;padding:15px;border-radius:5px;' class='flex justify-between'  v-for='(item, index) in newsInfo' :key="index" @click="navToDetailPage(item.id)">
 					<view style='margin-right:10px;'>
-						<view style='font-size:16px;height:54px;'>{{item.title}}</view>
-						<view style='color:#B2B3BB;font-size:12px;'><text style='margin-right:5px;'>{{item.from}}</text>{{item.gmtUpdate}}</view>
+						<view style='font-size:16px;height:54px;' class="Regular">{{item.title}}</view>
+						<view class="Regular" style='color:#B2B3BB;font-size:12px;'><text style='margin-right:5px;'>{{item.from}}</text>{{item.gmtUpdate}}</view>
 					</view>
 					<view><image style='width:100px;height:72px;border-radius:5px;' :src='item.titleImg'></image></view>
 				</view>
@@ -55,7 +55,8 @@
 					TabCur: 0,
 					category:0,
 					current: 0,
-					infoList1:[]
+					infoList1:[],
+					time:""
 				};
 			},
 			onReady() {
@@ -176,9 +177,11 @@
 					}).then(res => {
 						let data = res.data
 						for(var i=0;i<data.length;i++){
-							if(data[i].title.length > 20){
-								data[i].title = data[i].title.substring(0,20) + "..."
+							if(data[i].title.length > 25){
+								data[i].title = data[i].title.substring(0,25) + "..."
 							}
+							let _date = new Date(data[i].gmtUpdate)
+							data[i].gmtUpdate = this.$u.timeFormat(_date.getTime(), 'mm-dd hh:MM');
 						}
 						that.newsInfo = data
 						uni.hideLoading()
@@ -226,13 +229,15 @@
 						that.loadStatus = 'nomore'
 						if(that.pages>1){that.pages-=1}
 						uni.hideLoading()
-					}).then(res => {
+					}).then(res => {debugger
 						let data = res.data
 						if(data.length > 0){
 							for(var k =0;k<data.length;k++){
 								if(data[k].title.length > 20){
 									data[k].title = data[k].title.substring(0,20) + "..."
 								}
+								let _date = new Date(data[k].gmtUpdate)
+								data[k].gmtUpdate = this.$u.timeFormat(_date.getTime(), 'mm-dd hh:MM');
 							}
 							that.newsInfo = that.newsInfo.concat(data)
 							that.isLoadMore=false

+ 480 - 472
pages/sale/plant.vue

@@ -1,529 +1,537 @@
 <template>
 	<view>
 		<view class="guess-section">
-					<view class="cu-card article no-card" style='width: 100%;'>
-						<view class="cu-item  factoryItem justify-between align-center" style="display:flex;">
-							<view style='flex:1;color:#B2B3BB;'>工厂</view>
-							<view style='flex:1;color:#B2B3BB;'>价格</view>
-							<view style='flex:1;color:#B2B3BB;'>较昨日</view>
-						</view>
+			<view class="cu-card article no-card" style='width: 100%;'>
+				<view class="top-tap Regular" style="display:flex;">
+					<view class="top-tap-item">工厂</view>
+					<view class="top-tap-item">价格</view>
+					<view class="top-tap-item">较昨日</view>
+				</view>
+			</view>
+			<view class="guess-list">
+				<view class="guess-list-item" v-for="(item, index) in newsInfo" :key="index">
+					<view class="guess-item-item">
+						<view class='factory Medium'>{{item.factory}}</view>
+						<view class='wrap Regular'>{{item.city}} {{item.factoryType}}</view>
 					</view>
-					<view
-						v-for="(item, index) in newsInfo" :key="index"
-						class="guess-item">
-						<view class="cu-card article no-card"  >
-							<view class="cu-item  factoryItem justify-between align-center"style="display:flex;">
-								<view style='flex:1;'>
-									<view class='factory'>{{item.factory}}</view>
-									<view class='wrap'>{{item.city}} {{item.factoryType}}</view>
-								</view>
-								<view style='flex:1;' class='price'>{{item.price}}</view>
-								<view style='flex:1;' class='positive' v-if='item.comparePrice>0'><image class='up' src='../../static/img/homepage/shangsheng.png'>{{item.comparePrice}}</image></view>
-								<view style='flex:1;' class='negative' v-if='item.comparePrice<0'><image class='down' src='../../static/img/homepage/xiajiang.png'>{{-item.comparePrice}}</image></view>
-								<view style='flex:1;font-weight:900;' v-if='item.comparePrice==0'>-</view>
-							</view>
-						</view>
+					<view class='price NumberBold guess-item-item'>{{item.price}}</view>
+					<view class='positive NumberBold guess-item-item' v-if='item.comparePrice>0'>
+						<image class='up' src='../../static/img/homepage/shangsheng.png'>{{item.comparePrice}}
+						</image>
 					</view>
-					<view v-show="isLoadMore">
-					    <uni-load-more :status="loadStatus" ></uni-load-more>
+					<view class='negative NumberBold guess-item-item' v-if='item.comparePrice<0'>
+						<image class='down' src='../../static/img/homepage/xiajiang.png'>{{-item.comparePrice}}
+						</image>
 					</view>
+					<view class="guess-item-item Regular" v-if='item.comparePrice==0'>-</view>
 				</view>
+			</view>
+			<view v-show="isLoadMore">
+				<uni-load-more :status="loadStatus"></uni-load-more>
+			</view>
+		</view>
 	</view>
 </template>
 
 <script>
 	import {
-			mapState
-		} from 'vuex';
+		mapState
+	} from 'vuex';
 	export default {
-			name: "sale",
-			data() {
-				return {
-					titleNViewBackground: '',
-					swiperCurrent: 0,
-					swiperLength: 0,
-					carouselList: [],
-					windowSpuList: [],
-					categoryPickList: [],
-					categoryButtomList: [],
-					salesTop: [],
-					saleInfo: [],
-					portInfo: [],
-					banner: undefined,
-					isVip: false,
-					pages: 1, //页数
-					limit: 10, //每次取条目数
-					loadStatus: 'loading', //加载样式:more-加载前样式,loading-加载中样式,nomore-没有数据样式
-					isLoadMore: false, //是否加载中
-					showTran:true,
-					list: [],
-					scrollTop: 0,
-					cardCur: 0,
-			        dotStyle: false,
-					newsInfo: [],
-					categoryList:[],
-					pages:1,//页数
-					limit:10 ,//每次取条目数
-					loadStatus:'loading',  //加载样式:more-加载前样式,loading-加载中样式,nomore-没有数据样式
-					TabCur: 0,
-					category:0,
-					current: 0,
-					infoList1:[]
-				};
+		name: "sale",
+		data() {
+			return {
+				titleNViewBackground: '',
+				swiperCurrent: 0,
+				swiperLength: 0,
+				carouselList: [],
+				windowSpuList: [],
+				categoryPickList: [],
+				categoryButtomList: [],
+				salesTop: [],
+				saleInfo: [],
+				portInfo: [],
+				banner: undefined,
+				isVip: false,
+				pages: 1, //页数
+				limit: 10, //每次取条目数
+				loadStatus: 'loading', //加载样式:more-加载前样式,loading-加载中样式,nomore-没有数据样式
+				isLoadMore: false, //是否加载中
+				showTran: true,
+				list: [],
+				scrollTop: 0,
+				cardCur: 0,
+				dotStyle: false,
+				newsInfo: [],
+				categoryList: [],
+				pages: 1, //页数
+				limit: 10, //每次取条目数
+				loadStatus: 'loading', //加载样式:more-加载前样式,loading-加载中样式,nomore-没有数据样式
+				TabCur: 0,
+				category: 0,
+				current: 0,
+				infoList1: []
+			};
+		},
+		onReady() {},
+		onShow() {
+			uni.showTabBar()
+			this.pages = 1
+			this.isLoadMore = false
+			this.loadStatus = 'more'
+			this.loadData()
+		},
+		onLoad(options) {
+			var that = this
+			var infoList = [];
+			uni.request({
+				url: "https://hq.sinajs.cn/list=C0,C2109,C2111,C2201,C2203,C2205,C2207,A0,A2109,A2111,A2201,A2203,A2205,A2207",
+				// url: "https://hq.sinajs.cn/list=C2109",
+				header: {
+					'content-type': 'application/x-www-form-urlencoded'
+				},
+				success: function(result) {
+					// resolve调用后,即可传递到调用方使用then或者async+await同步方式进行处理逻辑
+					var tmp = result.data.split('"')
+					for (var i = 1; i < tmp.length; i = i + 2) {
+						var list = tmp[i].split(",")
+						var data = {
+							goodsName: list[0],
+							newPrice: list[6],
+							openPrice: list[2]
+						}
+						if (data.goodsName) {
+							infoList.push(data)
+						}
+					}
+					let name = 'infoList';
+					let value = infoList;
+					that.$store.commit('$uStore', {
+						name,
+						value
+					});
+					// console.log("infoList",infoList)
+				},
+				fail: function(e) {
+					console.log('error in...')
+					// reject调用后,即可传递到调用方使用catch或者async+await同步方式进行处理逻辑
+					reject(e)
+				},
+			})
+		},
+		onPageScroll(e) {
+			this.scrollTop = e.scrollTop;
+		},
+		onReachBottom() { //上拉触底函数
+			if (!this.isLoadMore) { //此处判断,上锁,防止重复请求
+				this.isLoadMore = true
+				this.pages += 1
+				this.getIndexSaleData()
+			}
+		},
+		onPullDownRefresh() {
+			this.pages = 1
+			this.isLoadMore = false
+			this.loadStatus = 'loading'
+			this.loadData()
+			setTimeout(function() {
+				uni.stopPullDownRefresh();
+			}, 1000);
+		},
+		computed: {
+			...mapState(['hasLogin', 'userInfo'])
+		},
+		methods: {
+
+			DotStyle(e) {
+				this.dotStyle = e.detail.value
 			},
-			onReady() {
+			cardSwiper(e) {
+				this.cardCur = e.detail.current
 			},
-			onShow() {
-				uni.showTabBar()
-				this.pages = 1
-				this.isLoadMore = false
-				this.loadStatus = 'more'
-				this.loadData()
-			},
-			onLoad(options) {
-				var that = this
-				var infoList = [];
-				uni.request({
-				    url: "https://hq.sinajs.cn/list=C0,C2109,C2111,C2201,C2203,C2205,C2207,A0,A2109,A2111,A2201,A2203,A2205,A2207",
-				    // url: "https://hq.sinajs.cn/list=C2109",
-				    header: {
-				        'content-type': 'application/x-www-form-urlencoded'
-				    },
-				    success: function(result) {
-				        // resolve调用后,即可传递到调用方使用then或者async+await同步方式进行处理逻辑
-						var tmp = result.data.split('"')
-						for(var i = 1; i<tmp.length;i=i+2){
-							var list = tmp[i].split(",")
-							var data = {
-								goodsName:list[0],
-								newPrice:list[6],
-								openPrice:list[2]
-							}
-							if(data.goodsName){
-								infoList.push(data)
-							}
-						}
-						let name = 'infoList';
-						let value = infoList;
-						that.$store.commit('$uStore', {
-							name,
-							value
-						});
-						// console.log("infoList",infoList)
-				    },
-				    fail: function(e) {
-				        console.log('error in...')
-				        // reject调用后,即可传递到调用方使用catch或者async+await同步方式进行处理逻辑
-				        reject(e)
-				    },
+			hangqing() {
+				uni.navigateTo({
+					url: `/pageB/news/news`
 				})
 			},
-			onPageScroll(e) {
-				this.scrollTop = e.scrollTop;
-			},
-			// onReachBottom() { //上拉触底函数
-			// 	if (!this.isLoadMore) { //此处判断,上锁,防止重复请求
-			// 		this.isLoadMore = true
-			// 		this.pages += 1
-			// 		this.getIndexSaleData()
-			// 	}
-			// },
-			onPullDownRefresh() {
+			tabSelect(e) {
+				this.TabCur = e.currentTarget.dataset.id;
+				this.category = this.TabCur
 				this.pages = 1
-				this.isLoadMore = false
-				this.loadStatus = 'loading'
 				this.loadData()
-				setTimeout(function () {
-					uni.stopPullDownRefresh();
-				}, 1000);
 			},
-			computed: {
-				...mapState(['hasLogin', 'userInfo'])
-			},
-			methods: {
-				
-				DotStyle(e) {
-					this.dotStyle = e.detail.value
-				},
-				cardSwiper(e) {
-					this.cardCur = e.detail.current
-				},
-				hangqing() {
-					uni.navigateTo({
-						url: `/pageB/news/news`
+			//回到顶部
+			goTop(e) { // 一键回到顶部
+				console.log(e)
+				if (wx.pageScrollTo) {
+					wx.pageScrollTo({
+						scrollTop: 0
 					})
-				},
-				tabSelect(e) {
-					this.TabCur = e.currentTarget.dataset.id;
-					this.category = this.TabCur
-					this.pages = 1
-					this.loadData()
-				},
-				 //回到顶部
-				  goTop(e) {  // 一键回到顶部
-				  console.log(e)
-				    if (wx.pageScrollTo) {
-				      wx.pageScrollTo({
-				        scrollTop: 0
-				      })
-				    } else {
-				      wx.showModal({
-				        title: '提示',
-				        content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
-				      })
-				    }
-				  },
-				async loadData() {
-					var that=this
-					var _gp=''
-	                var _mt=''
-					if(this.TabCur==0){
-						_gp='news'
-						_mt='getFactoryPriceInfo'
-					}else if(this.TabCur==1){
-						_gp='news'
-						_mt='getPortPriceInfo'
-					}else if(this.TabCur==2){
-						_gp='news'
-						_mt='getNewsInfo'
-					}
-					// 新闻内容
-					that.$api.request(_gp, _mt,{
-						category:this.category,
-						page: this.pages,
-						limit:this.limit
-					}, failres => {
-						that.$api.msg(failres.errmsg)
-						this.isLoadMore = false
-						this.loadStatus = 'nomore'
-						if(this.pages>1){this.pages=1}
-						uni.hideLoading()
-					}).then(res => {
-						let data = res.data
-						that.newsInfo = data
-						uni.hideLoading()
-					})
-					
-				},
-				//轮播图切换修改背景色
-				swiperChange(e) {
-					const index = e.detail.current;
-					this.swiperCurrent = index;
-					// this.titleNViewBackground = this.carouselList[index].color;
-				},
-				//详情
-				navToDetailPage(item) {
-					let id = item;
-					uni.navigateTo({
-						url: `/pageB/news/news_detail?id=${id}`
-					})
-				},
-				naviageToPage(page) {
-					uni.navigateTo({
-						url: page,
-						fail() {
-							uni.switchTab({
-								url: page
-							})
-						}
-					})
-				},
-				getIndexSaleData() {
-					
-					const that = this
-					var pages=that.pages
-					var limit=that.limit
-								   
-					uni.showLoading({
-						title: '正在加载',
-						mask:true
-					})
-					that.$api.request('news', 'getFactoryPriceInfo', {
-						category:this.category,
-						page: pages,
-						limit:limit
-					},failres => {
-						that.$api.msg(failres.errmsg)
-						that.isLoadMore=false
-						that.loadStatus = 'nomore'
-						if(that.pages>1){that.pages-=1}
-						uni.hideLoading()
-					}).then(res => {
-						let data = res.data
-						if(data.length > 0){
-							for(var k =0;k<data.length;k++){
-								data[k].gmtUpdate=formatDate(Date.parse(data[k].gmtUpdate))
-							}
-							that.newsInfo = that.newsInfo.concat(data)
-							that.isLoadMore=false
-						}
-						else{
-							if(that.pages>1){that.pages-=1}						
-							that.isLoadMore=true
-							that.loadStatus = 'nomore'
-						}
-						uni.hideLoading()
+				} else {
+					wx.showModal({
+						title: '提示',
+						content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
 					})
 				}
-	
 			},
-	
-			// #ifndef MP
-			// 标题栏input搜索框点击
-			onNavigationBarSearchInputClicked: async function(e) {
-				uni.navigateTo({
-					url: '/pageA/product/search'
+			async loadData() {
+				var that = this
+				var _gp = ''
+				var _mt = ''
+				if (this.TabCur == 0) {
+					_gp = 'news'
+					_mt = 'getFactoryPriceInfo'
+				} else if (this.TabCur == 1) {
+					_gp = 'news'
+					_mt = 'getPortPriceInfo'
+				} else if (this.TabCur == 2) {
+					_gp = 'news'
+					_mt = 'getNewsInfo'
+				}
+				// 新闻内容
+				that.$api.request(_gp, _mt, {
+					category: this.category,
+					page: this.pages,
+					limit: this.limit
+				}, failres => {
+					that.$api.msg(failres.errmsg)
+					this.isLoadMore = false
+					this.loadStatus = 'nomore'
+					if (this.pages > 1) {
+						this.pages = 1
+					}
+					uni.hideLoading()
+				}).then(res => {
+					let data = res.data
+					that.newsInfo = data
+					uni.hideLoading()
 				})
+
 			},
-			//点击导航栏 buttons 时触发
-			// onNavigationBarButtonTap(e) {
-			// 	const index = e.index;
-			// 	if (index === 0) {
-			// 		this.$api.msg('点击了扫描');
-			// 	} else if (index === 1) {
-			// 		// #ifdef APP-PLUS
-			// 		const pages = getCurrentPages();
-			// 		const page = pages[pages.length - 1];
-			// 		const currentWebview = page.$getAppWebview();
-			// 		currentWebview.hideTitleNViewButtonRedDot({
-			// 			index
-			// 		});
-			// 		// #endif
-			// 		uni.navigateTo({
-			// 			url: '/pages/notice/notice'
-			// 		})
-			// 	}
-			// }
-			// #endif
 		}
+	}
 </script>
 
-<style>
-	.price{
-		color:#FD714F;
+<style lang="scss" scoped>
+	.container {
+		margin: 10rpx 10rpx 10rpx 10rpx;
 	}
-	.container{
-			margin: 10rpx 10rpx 10rpx 10rpx;
-		}
-		.cu-tag.badge {
-		    right: 26rpx;
-		}
-		.up,.down{
-			width: 7.5px;
-			height: 9px;
-			position:relative;
-			top:-2px;
-			vertical-align: middle;
-			margin-right: 2px;
-		}
-		.gird-left,.gird-right{
-			
-		}
-		.cu-tag.radius[class*="line"]::after {
-	    border-radius: 66rpx;
-		}
-		.goTop{
-		  height: 32px;
-		  width: 32px;
-		  position: fixed;
-		  bottom: 200rpx;
-		  right: 30rpx;
-		  border-radius: 50%;
+
+	.cu-tag.badge {
+		right: 26rpx;
+	}
+
+	.up,
+	.down {
+		width: 7.5px;
+		height: 9px;
+		position: relative;
+		vertical-align: middle;
+		margin-right: 2px;
+	}
+
+	.gird-left,
+	.gird-right {}
+
+	.cu-tag.radius[class*="line"]::after {
+		border-radius: 66rpx;
+	}
+
+	.goTop {
+		height: 32px;
+		width: 32px;
+		position: fixed;
+		bottom: 200rpx;
+		right: 30rpx;
+		border-radius: 50%;
+	}
+
+	.goTop image {
+		width: 32px;
+		height: 32px;
+	}
+
+	.flex {
+		display: flex;
+	}
+
+	.text-white {
+		color: #fff;
+	}
+
+	.cu-card {
+		border-bottom: 1rpx solid #f8f8f8;
+		text-align: center;
+	}
+
+	.factory {
+		font-size: 28rpx;
+	}
+
+	.positive {
+		color: #FD714F;
+		font-size: 28rpx;
+	}
+
+	.negative {
+		color: #22C572;
+		font-size: 28rpx;
+		font-weight: 900;
+	}
+
+	.wrap {
+		font-size: 24rpx;
+		color: #B2B3BB;
+	}
+
+	.align-center {
+		align-items: center;
+	}
+
+	.flex-direction-row {
+		flex-direction: row;
+	}
+
+	.factoryItem {
+		padding: 20rpx 0;
+	}
+
+	/* #ifdef MP */
+	.mp-search-box {
+		// position:relative;
+		left: 0;
+		top: 30upx;
+		z-index: 9999;
+		width: 100%;
+		padding: 0 80upx;
+		background: rgba(255, 170, 0, 0.6);
+
+		.ser-input {
+			flex: 1;
+			height: 56upx;
+			line-height: 56upx;
+			text-align: center;
+			font-size: 28upx;
+			color: $font-color-base;
+			border-radius: 10px;
+			background: rgba(255, 255, 255, .6);
 		}
-		.goTop image{
-			width:32px;
-			height:32px;
+	}
+
+	.desc {
+		width: 73%;
+		margin-right: 2%;
+	}
+
+	.justify-between {
+		justify-content: space-between;
+	}
+
+	page {
+		.cate-section {
+			position: relative;
+			z-index: 5;
+			border-radius: 16upx 16upx 0 0;
+			margin-top: -20upx;
 		}
-		.flex{
-			display:flex;
+
+		.carousel-section {
+			padding: 0;
+
+			.titleNview-placing {
+				padding-top: 0;
+				height: 0;
+			}
+
+			.carousel {
+				.carousel-item {
+					padding: 0;
+				}
+			}
+
+			.swiper-dots {
+				left: 50%;
+				bottom: 5upx;
+				transform: translateX(-50%);
+			}
 		}
-		.text-white{
-			color:#fff;
+	}
+
+	/* #endif */
+	.cuIcon-notification::before {
+		color: #f37b1;
+	}
+
+	.cu-card.article>.cu-item .content>image {
+		height: 3.4em;
+		margin-right: 0rpx;
+		margin-top: 24rpx;
+	}
+
+	.screen-swiper.price-swiper {
+		height: 70rpx;
+		min-height: 70rpx;
+		background: #fff;
+		margin-bottom: 10px;
+	}
+
+	.swiper-item {
+		border-radius: 5%;
+	}
+
+	.guess-section {
+		padding: 0;
+		margin-top: 20rpx;
+	}
+
+	.guess-section .guess-item {
+		width: 100%;
+		background: green;
+		border-bottom: 1px solid #EEEEEE;
+	}
+
+	.guess-section .price {
+		font-size: 34rpx;
+		color: #FD714F;
+	}
+
+	page {
+		background: #f5f5f5;
+	}
+
+	.m-t {
+		margin-top: 16upx;
+	}
+
+	/* 销售信息 */
+	.introduce-section {
+		background: #fff;
+		padding: 20upx 30upx;
+		padding-bottom: 100upx;
+
+		.guess-item {
+			padding-bottom: 20upx;
+			border-bottom: 1px solid #ccc;
 		}
-		.cu-card{
-			border-bottom:1rpx solid #f8f8f8;
-			text-align: center;
+
+		.title {
+			font-size: 28upx;
+			color: $font-color-dark;
+			font-weight: bold;
+			height: 50upx;
+			line-height: 50upx;
+			flex: 2.5;
 		}
-		.factory{
-			font-size:26rpx;
-			font-weight:900;
+
+		.title-tip {
+			flex: 1;
 		}
-		.positive{
-			color:#FD714F;
-			font-size:26rpx;
-			font-weight:900;
+
+		.price-box {
+			display: flex;
+			align-items: baseline;
+			height: 70upx;
+			padding: 10upx 0;
+			font-size: 26upx;
+			color: $uni-color-primary;
 		}
-		.negative{
-			color:#22C572;
-			font-size:26rpx;
-			font-weight:900;
+
+		.price {
+			font-size: $font-lg + 2upx;
 		}
-		.wrap{
-			font-size:20rpx;
-			color: rgba(0,0,0,0.5);
+
+		.m-price {
+			margin: 0 12upx;
+			color: $font-color-light;
+			text-decoration: line-through;
 		}
-		.align-center{
+
+		.coupon-tip {
 			align-items: center;
+			padding: 4upx 10upx;
+			background: $uni-color-primary;
+			font-size: $font-sm;
+			color: #fff;
+			border-radius: 6upx;
+			line-height: 1;
+			transform: translateY(-4upx);
 		}
-		.flex-direction-row{
-			flex-direction:row;
-		}
-		.factoryItem{
-			padding: 20rpx 0;
-		}
-		/* #ifdef MP */
-		.mp-search-box {
-			// position:relative;
-			left: 0;
-			top: 30upx;
-			z-index: 9999;
-			width: 100%;
-			padding: 0 80upx;
-			background: rgba(255, 170, 0, 0.6);
-	
-			.ser-input {
+
+		.bot-row {
+			display: flex;
+			align-items: center;
+			height: 50upx;
+			font-size: $font-sm;
+			color: $font-color-light;
+
+			view {
 				flex: 1;
-				height: 56upx;
-				line-height: 56upx;
-				text-align: center;
-				font-size: 28upx;
-				color: $font-color-base;
-				border-radius: 10px;
-				background: rgba(255, 255, 255, .6);
 			}
 		}
-		.desc{
-		    width:73%;
-			margin-right:2%;
-		}
-	    .justify-between{
-			justify-content: space-between;
-		}
-		page {
-			.cate-section {
-				position: relative;
-				z-index: 5;
-				border-radius: 16upx 16upx 0 0;
-				margin-top: -20upx;
-			}
-	
-			.carousel-section {
-				padding: 0;
-	
-				.titleNview-placing {
-					padding-top: 0;
-					height: 0;
-				}
-	
-				.carousel {
-					.carousel-item {
-						padding: 0;
-					}
-				}
-	
-				.swiper-dots {
-					left: 50%;
-					bottom: 5upx;
-					transform: translateX(-50%);
-				}
-			}
-		}
-	
-		/* #endif */
-		.cuIcon-notification::before{
-			color:#f37b1;
-		}
-		.cu-card.article>.cu-item .content>image {
-		    height: 3.4em;
-			margin-right: 0rpx;
-			margin-top: 24rpx;
-		}
-		.screen-swiper.price-swiper{
-			height:70rpx;
-			min-height: 70rpx;
-			background: #fff;
-			margin-bottom: 10px;
-		}
-		.swiper-item{
-			border-radius: 5%;
-		}
-		.guess-section {
-			margin-bottom: 120rpx;
-			margin-top:20rpx;
+	}
+
+	.top-tap {
+		display: flex;
+		font-size: 27rpx;
+		padding: 20rpx 48rpx;
+		justify-content: space-between;
+
+		.top-tap-item {
+			color: #B2B3BB;
 		}
-		.guess-section .price{
-			color:#FD714F;
-			font-size: 34rpx;
-			font-weight:600;
+
+		.top-tap-item:nth-of-type(1) {
+			flex: 3;
+			display: flex;
+			justify-content: flex-start;
 		}
-		page {
-			background: #f5f5f5;
+
+		.top-tap-item:nth-of-type(2) {
+			flex: 3;
+			display: flex;
+			justify-content: center;
 		}
-	
-		.m-t {
-			margin-top: 16upx;
+
+		.top-tap-item:nth-of-type(3) {
+			flex: 1;
+			display: flex;
+			justify-content: flex-end;
 		}
-		
-		/* 销售信息 */
-		.introduce-section {
-			background: #fff;
-			padding: 20upx 30upx;
-			padding-bottom: 100upx;
-			.guess-item {
-				padding-bottom: 20upx;
-				border-bottom: 1px solid #ccc;
-			}
-			.title {
-				font-size: 28upx;
-				color: $font-color-dark;
-				font-weight:bold;
-				height: 50upx;
-				line-height: 50upx;
-				flex:2.5;
-			}
-			.title-tip {
-				flex:1;
-			}
-			.price-box {
+	}
+
+	.guess-list {
+		width: 100%;
+
+		.guess-list-item {
+			padding: 20rpx 47rpx;
+			display: flex;
+			width: 100%;
+			border-bottom: 1px solid #EEEEEE;
+
+			.guess-item-item:nth-of-type(1) {
+				flex: 3;
 				display: flex;
-				align-items: baseline;
-				height: 70upx;
-				padding: 10upx 0;
-				font-size: 26upx;
-				color: $uni-color-primary;
-			}
-		
-			.price {
-				font-size: $font-lg + 2upx;
-			}
-		
-			.m-price {
-				margin: 0 12upx;
-				color: $font-color-light;
-				text-decoration: line-through;
+				justify-content: flex-start;
+				flex-direction: column;
+
 			}
-		
-			.coupon-tip {
+
+			;
+
+			.guess-item-item:nth-of-type(2) {
+				flex: 3;
+				display: flex;
+				justify-content: center;
 				align-items: center;
-				padding: 4upx 10upx;
-				background: $uni-color-primary;
-				font-size: $font-sm;
-				color: #fff;
-				border-radius: 6upx;
-				line-height: 1;
-				transform: translateY(-4upx);
 			}
-		
-			.bot-row {
+
+			.guess-item-item:nth-of-type(3) {
+				flex: 1;
 				display: flex;
+				justify-content: flex-end;
 				align-items: center;
-				height: 50upx;
-				font-size: $font-sm;
-				color: $font-color-light;
-		
-				view {
-					flex: 1;
-				}
 			}
 		}
+
+	}
 </style>

+ 404 - 523
pages/sale/portprice.vue

@@ -1,559 +1,440 @@
 <template>
 	<view>
 		<view class="guess-section">
-					<view class="cu-card article no-card" style='width: 100%;'>
-						<view class="cu-item shadow factoryItem justify-between align-center" style="display:flex;">
-							<view style='flex:1.5;color:#B2B3BB;'>港口</view>
-							<view style='flex:1;color:#B2B3BB;'>价格</view>
-							<view style='flex:1;color:#B2B3BB;'>较昨日</view>
-						</view>
-					</view>
-					<view
-						v-for="(item, index) in newsInfo" :key="index"
-						class="guess-item"
-					>
-					<view class="cu-card article no-card" >
+			<view class="cu-card article no-card Regular" style='width: 100%;'>
+				<view class="top-tap Regular">
+					<view class="top-tap-item">港口</view>
+					<view class="top-tap-item">价格</view>
+					<view class="top-tap-item">较昨日</view>
+				</view>
+			</view>
+			<view class="guess-list">
+				<view v-for="(item, index) in newsInfo" :key="index" class="guess-item">
+					<view class="cu-card article no-card">
 						<view class="cu-item shadow factoryItem justify-between align-center" style="display:flex;">
-							<view style='flex:1.5;'><view class='factory'>{{item.port}}</view><view class='wrap'>{{item.goodsName}}</view></view>
-							<view style='flex:1;' >
-								<view class='price'>{{item.price}}</view>
-								<view class='wrap'>
-									<text style='margin-right:5px;'><image style='width:11px;height:11px;' src='../../static/img/homepage/water@3x.png'></image><={{item.waterContent}}</text>
-									<text><image style='width:11px;height:11px;' src='../../static/img/homepage/unitweight@3x.png'></image>>={{item.bulkDensity}}</text>
-								</view>
+							<view class="flex-item">
+								<view class='factory Regular'>{{item.port}}</view>
+								<view class='wrap Regular'>{{item.goodsName}}</view>
+							</view>
+							<view class="flex-item">
+								<view class='price NumberBold'>{{item.price}}</view>
+								<view class='wrap Regular'>
+									<text style='margin-right:5px;'>
+										<image style='width:11px;height:11px;'
+											src='../../static/img/homepage/water@3x.png'>
+										</image>
+										<={{item.waterContent}}</text>
+											<text>
+												<image style='width:11px;height:11px;'
+													src='../../static/img/homepage/unitweight@3x.png'></image>
+												>={{item.bulkDensity}}
+											</text>
 								</view>
-							<view style='flex:1;' class='positive' v-if='item.comparePrice>0'><image class='up' src='../../static/img/homepage/shangsheng.png'>{{item.comparePrice}}</image></view>
-							<view style='flex:1;' class='negative' v-if='item.comparePrice<0'><image class='down' src='../../static/img/homepage/xiajiang.png'>{{-item.comparePrice}}</image></view>
-							<view style='flex:1;font-weight:900;' v-if='item.comparePrice==0'>-</view>
+							</view>
+							<view class='flex-item positive NumberBold' v-if='item.comparePrice>0'>
+								<image class='up' src='../../static/img/homepage/shangsheng.png'>{{item.comparePrice}}
+								</image>
+							</view>
+							<view class='flex-item negative NumberBold' v-if='item.comparePrice<0'>
+								<image class='down' src='../../static/img/homepage/xiajiang.png'>{{-item.comparePrice}}
+								</image>
+							</view>
+							<view class="flex-item Regular" v-if='item.comparePrice==0'>-</view>
 						</view>
 					</view>
-					</view>
-					<view v-show="isLoadMore">
-					    <uni-load-more :status="loadStatus" ></uni-load-more>
-					</view>
 				</view>
+			</view>
+			<view v-show="isLoadMore">
+				<uni-load-more :status="loadStatus"></uni-load-more>
+			</view>
+		</view>
 	</view>
 </template>
 
 <script>
 	import {
-			mapState
-		} from 'vuex';
+		mapState
+	} from 'vuex';
 	export default {
-			name: "sale",
-			data() {
-				return {
-					titleNViewBackground: '',
-					swiperCurrent: 0,
-					swiperLength: 0,
-					carouselList: [],
-					windowSpuList: [],
-					categoryPickList: [],
-					categoryButtomList: [],
-					salesTop: [],
-					saleInfo: [],
-					portInfo: [],
-					banner: undefined,
-					isVip: false,
-					pages: 1, //页数
-					limit: 10, //每次取条目数
-					loadStatus: 'loading', //加载样式:more-加载前样式,loading-加载中样式,nomore-没有数据样式
-					isLoadMore: false, //是否加载中
-					showTran:true,
-					list: [],
-					scrollTop: 0,
-					cardCur: 0,
-			        dotStyle: false,
-					newsInfo: [],
-					categoryList:[],
-					pages:1,//页数
-					limit:10 ,//每次取条目数
-					loadStatus:'loading',  //加载样式:more-加载前样式,loading-加载中样式,nomore-没有数据样式
-					TabCur: 0,
-					category:0,
-					current: 0,
-					infoList1:[]
-				};
-			},
-			onReady() {
-			},
-			onShow() {
-				uni.showTabBar()
-				this.pages = 1
-				this.isLoadMore = false
-				this.loadStatus = 'more'
-				this.loadData()
-			},
-			onLoad(options) {
-				var that = this
-				var infoList = [];
-				uni.request({
-				    url: "https://hq.sinajs.cn/list=C0,C2109,C2111,C2201,C2203,C2205,C2207,A0,A2109,A2111,A2201,A2203,A2205,A2207",
-				    // url: "https://hq.sinajs.cn/list=C2109",
-				    header: {
-				        'content-type': 'application/x-www-form-urlencoded'
-				    },
-				    success: function(result) {
-				        // resolve调用后,即可传递到调用方使用then或者async+await同步方式进行处理逻辑
-						var tmp = result.data.split('"')
-						for(var i = 1; i<tmp.length;i=i+2){
-							var list = tmp[i].split(",")
-							var data = {
-								goodsName:list[0],
-								newPrice:list[6],
-								openPrice:list[2]
-							}
-							if(data.goodsName){
-								infoList.push(data)
-							}
-						}
-						let name = 'infoList';
-						let value = infoList;
-						that.$store.commit('$uStore', {
-							name,
-							value
-						});
-						// console.log("infoList",infoList)
-				    },
-				    fail: function(e) {
-				        console.log('error in...')
-				        // reject调用后,即可传递到调用方使用catch或者async+await同步方式进行处理逻辑
-				        reject(e)
-				    },
-				})
-			},
-			onPageScroll(e) {
-				this.scrollTop = e.scrollTop;
-			},
-			// onReachBottom() { //上拉触底函数
-			// 	if (!this.isLoadMore) { //此处判断,上锁,防止重复请求
-			// 		this.isLoadMore = true
-			// 		this.pages += 1
-			// 		this.getIndexSaleData()
-			// 	}
-			// },
-			onPullDownRefresh() {
-				this.pages = 1
-				this.isLoadMore = false
-				this.loadStatus = 'loading'
-				this.loadData()
-				setTimeout(function () {
-					uni.stopPullDownRefresh();
-				}, 1000);
-			},
-			computed: {
-				...mapState(['hasLogin', 'userInfo'])
-			},
-			methods: {
-				
-				DotStyle(e) {
-					this.dotStyle = e.detail.value
-				},
-				cardSwiper(e) {
-					this.cardCur = e.detail.current
-				},
-				hangqing() {
-					uni.navigateTo({
-						url: `/pageB/news/news`
-					})
-				},
-				tabSelect(e) {
-					this.TabCur = e.currentTarget.dataset.id;
-					this.category = this.TabCur
-					this.pages = 1
-					this.loadData()
+		name: "sale",
+		data() {
+			return {
+				titleNViewBackground: '',
+				swiperCurrent: 0,
+				swiperLength: 0,
+				carouselList: [],
+				windowSpuList: [],
+				categoryPickList: [],
+				categoryButtomList: [],
+				salesTop: [],
+				saleInfo: [],
+				portInfo: [],
+				banner: undefined,
+				isVip: false,
+				pages: 1, //页数
+				limit: 10, //每次取条目数
+				loadStatus: 'loading', //加载样式:more-加载前样式,loading-加载中样式,nomore-没有数据样式
+				isLoadMore: false, //是否加载中
+				showTran: true,
+				list: [],
+				scrollTop: 0,
+				cardCur: 0,
+				dotStyle: false,
+				newsInfo: [],
+				categoryList: [],
+				pages: 1, //页数
+				limit: 10, //每次取条目数
+				loadStatus: 'loading', //加载样式:more-加载前样式,loading-加载中样式,nomore-没有数据样式
+				TabCur: 0,
+				category: 0,
+				current: 0,
+				infoList1: []
+			};
+		},
+		onReady() {},
+		onShow() {
+			uni.showTabBar()
+			this.pages = 1
+			this.isLoadMore = false
+			this.loadStatus = 'more'
+			this.loadData()
+		},
+		onLoad(options) {
+			var that = this
+			var infoList = [];
+			uni.request({
+				url: "https://hq.sinajs.cn/list=C0,C2109,C2111,C2201,C2203,C2205,C2207,A0,A2109,A2111,A2201,A2203,A2205,A2207",
+				// url: "https://hq.sinajs.cn/list=C2109",
+				header: {
+					'content-type': 'application/x-www-form-urlencoded'
 				},
-				 //回到顶部
-				  goTop(e) {  // 一键回到顶部
-				  console.log(e)
-				    if (wx.pageScrollTo) {
-				      wx.pageScrollTo({
-				        scrollTop: 0
-				      })
-				    } else {
-				      wx.showModal({
-				        title: '提示',
-				        content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
-				      })
-				    }
-				  },
-				async loadData() {
-					var that=this
-					// 新闻内容
-					that.$api.request('news', 'getPortPriceInfo',{
-						category:this.category,
-						page: this.pages,
-						limit:this.limit
-					}, failres => {
-						that.$api.msg(failres.errmsg)
-						this.isLoadMore = false
-						this.loadStatus = 'nomore'
-						if(this.pages>1){this.pages=1}
-						uni.hideLoading()
-					}).then(res => {
-						let data = res.data
-						that.newsInfo = data
-						uni.hideLoading()
-					})
-					
-				},
-				//轮播图切换修改背景色
-				swiperChange(e) {
-					const index = e.detail.current;
-					this.swiperCurrent = index;
-					// this.titleNViewBackground = this.carouselList[index].color;
-				},
-				//详情
-				navToDetailPage(item) {
-					let id = item;
-					uni.navigateTo({
-						url: `/pageB/news/news_detail?id=${id}`
-					})
-				},
-				naviageToPage(page) {
-					uni.navigateTo({
-						url: page,
-						fail() {
-							uni.switchTab({
-								url: page
-							})
-						}
-					})
-				},
-				getIndexSaleData() {
-					// const that = this
-					// var pages = that.pages
-					// var limit = that.limit
-					// uni.showLoading({
-					// 	title: '正在加载'
-					// })
-					// that.$api.request('integral', 'getIndexSaleData', {
-					// 	page: pages,
-					// 	limit: limit
-					// }, failres => {
-					// 	that.$api.msg(failres.errmsg)
-					// 	that.isLoadMore = false
-					// 	that.loadStatus = 'nomore'
-					// 	if (that.pages > 1) {
-					// 		that.pages -= 1
-					// 	}
-					// 	uni.hideLoading()
-					// }).then(res => {
-					// 	let data = res.data
-					// 	//销售信息
-					// 	if (data.saleInfo.length > 0 ) {
-					// 		that.saleInfo = that.saleInfo.concat(data.saleInfo)
-					// 		that.isLoadMore = false
-					// 	} else {
-					// 		if (that.pages > 1) {
-					// 			that.pages -= 1
-					// 		}
-					// 		that.isLoadMore = true
-					// 		that.loadStatus = 'nomore'
-					// 	}
-					// 	if(data.saleInfo.length < that.limit){
-					// 		if (that.pages > 1) {
-					// 			that.pages -= 1
-					// 		}
-					// 		that.isLoadMore = true
-					// 		that.loadStatus = 'nomore'
-					// 	}
-					// 	uni.hideLoading()
-					// })
-					const that = this
-					var pages=that.pages
-					var limit=that.limit
-								   
-					uni.showLoading({
-						title: '正在加载',
-						mask:true
-					})
-					that.$api.request('news', 'getNewsInfo', {
-						category:this.category,
-						page: pages,
-						limit:limit
-					},failres => {
-						that.$api.msg(failres.errmsg)
-						that.isLoadMore=false
-						that.loadStatus = 'nomore'
-						if(that.pages>1){that.pages-=1}
-						uni.hideLoading()
-					}).then(res => {
-						let data = res.data
-						if(data.length > 0){
-							for(var k =0;k<data.length;k++){
-								data[k].gmtUpdate=formatDate(Date.parse(data[k].gmtUpdate))
-							}
-							that.newsInfo = that.newsInfo.concat(data)
-							that.isLoadMore=false
+				success: function(result) {
+					// resolve调用后,即可传递到调用方使用then或者async+await同步方式进行处理逻辑
+					var tmp = result.data.split('"')
+					for (var i = 1; i < tmp.length; i = i + 2) {
+						var list = tmp[i].split(",")
+						var data = {
+							goodsName: list[0],
+							newPrice: list[6],
+							openPrice: list[2]
 						}
-						else{
-							if(that.pages>1){that.pages-=1}						
-							that.isLoadMore=true
-							that.loadStatus = 'nomore'
+						if (data.goodsName) {
+							infoList.push(data)
 						}
-						uni.hideLoading()
-					})
-				}
-	
-			},
-	
-			// #ifndef MP
-			// 标题栏input搜索框点击
-			onNavigationBarSearchInputClicked: async function(e) {
-				uni.navigateTo({
-					url: '/pageA/product/search'
+					}
+					let name = 'infoList';
+					let value = infoList;
+					that.$store.commit('$uStore', {
+						name,
+						value
+					});
+					// console.log("infoList",infoList)
+				},
+				fail: function(e) {
+					console.log('error in...')
+					// reject调用后,即可传递到调用方使用catch或者async+await同步方式进行处理逻辑
+					reject(e)
+				},
+			})
+		},
+		onPageScroll(e) {
+			this.scrollTop = e.scrollTop;
+		},
+		onReachBottom() { //上拉触底函数
+			if (!this.isLoadMore) { //此处判断,上锁,防止重复请求
+				this.isLoadMore = true
+				this.pages += 1
+				this.getIndexSaleData()
+			}
+		},
+		onPullDownRefresh() {
+			this.pages = 1
+			this.isLoadMore = false
+			this.loadStatus = 'loading'
+			this.loadData()
+			setTimeout(function() {
+				uni.stopPullDownRefresh();
+			}, 1000);
+		},
+		computed: {
+			...mapState(['hasLogin', 'userInfo'])
+		},
+		methods: {
+			async loadData() {
+				var that = this
+				// 新闻内容
+				that.$api.request('news', 'getPortPriceInfo', {
+					category: this.category,
+					page: this.pages,
+					limit: this.limit
+				}, failres => {
+					that.$api.msg(failres.errmsg)
+					this.isLoadMore = false
+					this.loadStatus = 'nomore'
+					if (this.pages > 1) {
+						this.pages = 1
+					}
+					uni.hideLoading()
+				}).then(res => {
+					let data = res.data
+					that.newsInfo = data
+					uni.hideLoading()
 				})
+			
 			},
-			//点击导航栏 buttons 时触发
-			// onNavigationBarButtonTap(e) {
-			// 	const index = e.index;
-			// 	if (index === 0) {
-			// 		this.$api.msg('点击了扫描');
-			// 	} else if (index === 1) {
-			// 		// #ifdef APP-PLUS
-			// 		const pages = getCurrentPages();
-			// 		const page = pages[pages.length - 1];
-			// 		const currentWebview = page.$getAppWebview();
-			// 		currentWebview.hideTitleNViewButtonRedDot({
-			// 			index
-			// 		});
-			// 		// #endif
-			// 		uni.navigateTo({
-			// 			url: '/pages/notice/notice'
-			// 		})
-			// 	}
-			// }
-			// #endif
 		}
+	}
 </script>
 
-<style>
-	.price{
-		color:#FD714F;
+<style scoped lang="scss">
+	.price {
+		color: #FD714F;
 	}
-	.container{
-			margin: 10rpx 10rpx 10rpx 10rpx;
-		}
-		.cu-tag.badge {
-		    right: 26rpx;
-		}
-		.up,.down{
-			width: 7.5px;
-			height: 9px;
-			position:relative;
-			top:-2px;
-			vertical-align: middle;
-			margin-right: 2px;
-		}
-		.gird-left,.gird-right{
-			
-		}
-		.cu-tag.radius[class*="line"]::after {
-	    border-radius: 66rpx;
-		}
-		.goTop{
-		  height: 32px;
-		  width: 32px;
-		  position: fixed;
-		  bottom: 200rpx;
-		  right: 30rpx;
-		  border-radius: 50%;
-		}
-		.goTop image{
-			width:32px;
-			height:32px;
-		}
-		.flex{
-			display:flex;
-		}
-		.text-white{
-			color:#fff;
-		}
-		.cu-card{
-			border-bottom:1rpx solid #f8f8f8;
+
+	.container {
+		margin: 10rpx 10rpx 10rpx 10rpx;
+	}
+
+	.cu-tag.badge {
+		right: 26rpx;
+	}
+
+	.up,
+	.down {
+		width: 7.5px;
+		height: 9px;
+		position: relative;
+		top: -2px;
+		vertical-align: middle;
+		margin-right: 2px;
+	}
+
+	.gird-left,
+	.gird-right {}
+
+	.cu-tag.radius[class*="line"]::after {
+		border-radius: 66rpx;
+	}
+
+	.goTop {
+		height: 32px;
+		width: 32px;
+		position: fixed;
+		bottom: 200rpx;
+		right: 30rpx;
+		border-radius: 50%;
+	}
+
+	.goTop image {
+		width: 32px;
+		height: 32px;
+	}
+
+	.flex {
+		display: flex;
+	}
+
+	.text-white {
+		color: #fff;
+	}
+
+	.cu-card {
+		border-bottom: 1rpx solid #f8f8f8;
+		text-align: center;
+	}
+
+	.factory {
+		font-size: 28rpx;
+	}
+
+	.positive {
+		color: #FD714F;
+		font-size: 28rpx;
+	}
+
+	.negative {
+		color: #22C572;
+		font-size: 28rpx;
+	}
+
+	.wrap {
+		font-size: 20rpx;
+		color: rgba(0, 0, 0, 0.5);
+	}
+
+	.align-center {
+		align-items: center;
+	}
+
+	.flex-direction-row {
+		flex-direction: row;
+	}
+
+	.factoryItem {
+		padding: 20rpx 0;
+	}
+
+	/* #ifdef MP */
+	.mp-search-box {
+		// position:relative;
+		left: 0;
+		top: 30upx;
+		z-index: 9999;
+		width: 100%;
+		padding: 0 80upx;
+		background: rgba(255, 170, 0, 0.6);
+
+		.ser-input {
+			flex: 1;
+			height: 56upx;
+			line-height: 56upx;
 			text-align: center;
+			font-size: 28upx;
+			color: $font-color-base;
+			border-radius: 10px;
+			background: rgba(255, 255, 255, .6);
 		}
-		.factory{
-			font-size:26rpx;
-			font-weight:900;
-		}
-		.positive{
-			color:#FD714F;
-			font-size:26rpx;
-			font-weight:900;
-		}
-		.negative{
-			color:#22C572;
-			font-size:26rpx;
-			font-weight:900;
-		}
-		.wrap{
-			font-size:20rpx;
-			color: rgba(0,0,0,0.5);
-		}
-		.align-center{
-			align-items: center;
-		}
-		.flex-direction-row{
-			flex-direction:row;
-		}
-		.factoryItem{
-			padding: 20rpx 0;
-		}
-		/* #ifdef MP */
-		.mp-search-box {
-			// position:relative;
-			left: 0;
-			top: 30upx;
-			z-index: 9999;
-			width: 100%;
-			padding: 0 80upx;
-			background: rgba(255, 170, 0, 0.6);
-	
-			.ser-input {
-				flex: 1;
-				height: 56upx;
-				line-height: 56upx;
-				text-align: center;
-				font-size: 28upx;
-				color: $font-color-base;
-				border-radius: 10px;
-				background: rgba(255, 255, 255, .6);
-			}
-		}
-		.desc{
-		    width:73%;
-			margin-right:2%;
-		}
-	    .justify-between{
-			justify-content: space-between;
+	}
+
+	.desc {
+		width: 73%;
+		margin-right: 2%;
+	}
+
+	.justify-between {
+		justify-content: space-between;
+	}
+
+	page {
+		.cate-section {
+			position: relative;
+			z-index: 5;
+			border-radius: 16upx 16upx 0 0;
+			margin-top: -20upx;
 		}
-		page {
-			.cate-section {
-				position: relative;
-				z-index: 5;
-				border-radius: 16upx 16upx 0 0;
-				margin-top: -20upx;
+
+		.carousel-section {
+			padding: 0;
+
+			.titleNview-placing {
+				padding-top: 0;
+				height: 0;
 			}
-	
-			.carousel-section {
-				padding: 0;
-	
-				.titleNview-placing {
-					padding-top: 0;
-					height: 0;
-				}
-	
-				.carousel {
-					.carousel-item {
-						padding: 0;
-					}
-				}
-	
-				.swiper-dots {
-					left: 50%;
-					bottom: 5upx;
-					transform: translateX(-50%);
+
+			.carousel {
+				.carousel-item {
+					padding: 0;
 				}
 			}
+
+			.swiper-dots {
+				left: 50%;
+				bottom: 5upx;
+				transform: translateX(-50%);
+			}
 		}
-	
-		/* #endif */
-		.cuIcon-notification::before{
-			color:#f37b1;
-		}
-		.cu-card.article>.cu-item .content>image {
-		    height: 3.4em;
-			margin-right: 0rpx;
-			margin-top: 24rpx;
-		}
-		.screen-swiper.price-swiper{
-			height:70rpx;
-			min-height: 70rpx;
-			background: #fff;
-			margin-bottom: 10px;
-		}
-		.swiper-item{
-			border-radius: 5%;
-		}
-		.guess-section {
-			margin-bottom: 120rpx;
-			margin-top:20rpx;
+	}
+
+	/* #endif */
+	.cuIcon-notification::before {
+		color: #f37b1;
+	}
+
+	.cu-card.article>.cu-item .content>image {
+		height: 3.4em;
+		margin-right: 0rpx;
+		margin-top: 24rpx;
+	}
+
+	.screen-swiper.price-swiper {
+		height: 70rpx;
+		min-height: 70rpx;
+		background: #fff;
+		margin-bottom: 10px;
+	}
+
+	.swiper-item {
+		border-radius: 5%;
+	}
+
+	.guess-section {
+		margin-bottom: 120rpx;
+		margin-top: 20rpx;
+		padding: 0;
+
+		.guess-item {
+			width: 100%;
+			padding: 0 48rpx;
+			border-bottom: 1px solid #EEEEEE;
 		}
-		.guess-section .price{
-			color:#FD714F;
-			font-size: 34rpx;
-			font-weight:600;
+	}
+
+	.guess-section .price {
+		color: #FD714F;
+		font-size: 34rpx;
+		font-weight: 600;
+	}
+
+	page {
+		background: #f5f5f5;
+	}
+
+	.m-t {
+		margin-top: 16upx;
+	}
+
+
+	.top-tap {
+		display: flex;
+		font-size: 27rpx;
+		padding: 20rpx 48rpx;
+		justify-content: space-between;
+
+		.top-tap-item {
+			color: #B2B3BB;
 		}
-		page {
-			background: #f5f5f5;
+
+		.top-tap-item:nth-of-type(1) {
+			width: 40%;
+			display: flex;
+			justify-content: flex-start;
 		}
-	
-		.m-t {
-			margin-top: 16upx;
+
+		;
+
+		.top-tap-item:nth-of-type(2) {
+			width: 40%;
+			display: flex;
+			justify-content: center;
 		}
-		
-		/* 销售信息 */
-		.introduce-section {
-			background: #fff;
-			padding: 20upx 30upx;
-			padding-bottom: 100upx;
-			.guess-item {
-				padding-bottom: 20upx;
-				border-bottom: 1px solid #ccc;
-			}
-			.title {
-				font-size: 28upx;
-				color: $font-color-dark;
-				font-weight:bold;
-				height: 50upx;
-				line-height: 50upx;
-				flex:2.5;
-			}
-			.title-tip {
-				flex:1;
-			}
-			.price-box {
-				display: flex;
-				align-items: baseline;
-				height: 70upx;
-				padding: 10upx 0;
-				font-size: 26upx;
-				color: $uni-color-primary;
-			}
-		
-			.price {
-				font-size: $font-lg + 2upx;
-			}
-		
-			.m-price {
-				margin: 0 12upx;
-				color: $font-color-light;
-				text-decoration: line-through;
-			}
-		
-			.coupon-tip {
-				align-items: center;
-				padding: 4upx 10upx;
-				background: $uni-color-primary;
-				font-size: $font-sm;
-				color: #fff;
-				border-radius: 6upx;
-				line-height: 1;
-				transform: translateY(-4upx);
-			}
-		
-			.bot-row {
-				display: flex;
-				align-items: center;
-				height: 50upx;
-				font-size: $font-sm;
-				color: $font-color-light;
-		
-				view {
-					flex: 1;
-				}
-			}
+
+		;
+
+		.top-tap-item:nth-of-type(3) {
+			width: 20%;
+			display: flex;
+			justify-content: flex-end;
 		}
+	}
+
+	.flex-item:nth-of-type(1) {
+		width: 40%;
+		display: flex;
+		flex-direction: column;
+		align-items: flex-start;
+	}
+
+	.flex-item:nth-of-type(2) {
+		width: 40%;
+	}
+
+	.flex-item:nth-of-type(3) {
+		width: 20%;
+		display: flex;
+		justify-content: flex-end;
+	}
+
+	.guess-list {
+		width: 100%;
+	}
 </style>

BIN
static/img/liangmai/bg.png


BIN
static/img/liangmai/cangku.png


BIN
static/img/liangmai/icon.png


BIN
static/img/liangmai/icon_ditu.png


BIN
static/img/liangmai/sousuo.png


BIN
static/img/location.png