From 3d1e8016516b1b27def77871c8644be363d4fb88 Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期五, 26 七月 2024 18:38:59 +0800
Subject: [PATCH] 1

---
 /dev/null                           |   41 -
 environments/index.js               |    3 
 sub_pages/customer/self/collect.vue |  286 +++++----
 pages.json                          |   12 
 mixin/mixin.js                      |  723 +++++++-----------------
 main.js                             |   20 
 sub_pages/customer/trade/detail.vue |  640 +++++++++++----------
 7 files changed, 711 insertions(+), 1,014 deletions(-)

diff --git a/common/airport.js b/common/airport.js
deleted file mode 100644
index 445b6aa..0000000
--- a/common/airport.js
+++ /dev/null
@@ -1,262 +0,0 @@
-export default {
-    "list": [{
-        "letter": "A",
-        "data": [
-            "阿克苏机场",
-            "阿拉山口机场",
-            "阿勒泰机场",
-            "阿里昆莎机场",
-            "安庆天柱山机场",
-            "澳门国际机场"
-        ]
-    }, {
-        "letter": "B",
-        "data": [
-            "保山机场",
-            "包头机场",
-            "北海福成机场",
-            "北京南苑机场",
-            "北京首都国际机场"
-        ]
-    }, {
-        "letter": "C",
-        "data": [
-            "长白山机场",
-            "长春龙嘉国际机场",
-            "常德桃花源机场",
-            "昌都邦达机场",
-            "长沙黄花国际机场",
-            "长治王村机场",
-            "常州奔牛机场",
-            "成都双流国际机场",
-            "赤峰机场"
-        ]
-    }, {
-        "letter": "D",
-        "data": [
-            "大理机场",
-            "大连周水子国际机场",
-            "大庆萨尔图机场",
-            "大同东王庄机场",
-            "达州河市机场",
-            "丹东浪头机场",
-            "德宏芒市机场",
-            "迪庆香格里拉机场",
-            "东营机场",
-            "敦煌机场"
-        ]
-    }, {
-        "letter": "E",
-        "data": [
-            "鄂尔多斯机场",
-            "恩施许家坪机场",
-            "二连浩特赛乌苏国际机场"
-        ]
-    }, {
-        "letter": "F",
-        "data": [
-            "阜阳西关机场",
-            "福州长乐国际机场"
-        ]
-    }, {
-        "letter": "G",
-        "data": [
-            "赣州黄金机场",
-            "格尔木机场",
-            "固原六盘山机场",
-            "广元盘龙机场",
-            "广州白云国际机场",
-            "桂林两江国际机场",
-            "贵阳龙洞堡国际机场"
-        ]
-    }, {
-        "letter": "H",
-        "data": [
-            "哈尔滨太平国际机场",
-            "哈密机场",
-            "海口美兰国际机场",
-            "海拉尔东山国际机场",
-            "邯郸机场",
-            "汉中机场",
-            "杭州萧山国际机场",
-            "合肥骆岗国际机场",
-            "和田机场",
-            "黑河机场",
-            "呼和浩特白塔国际机场",
-            "淮安涟水机场",
-            "黄山屯溪国际机场"
-        ]
-    }, {
-        "letter": "I",
-        "data": []
-    }, {
-        "letter": "J",
-        "data": [
-            "济南遥墙国际机场",
-            "济宁曲阜机场",
-            "鸡西兴凯湖机场",
-            "佳木斯东郊机场",
-            "嘉峪关机场",
-            "锦州小岭子机场",
-            "景德镇机场",
-            "井冈山机场",
-            "九江庐山机场",
-            "九寨黄龙机场"
-        ]
-    }, {
-        "letter": "K",
-        "data": [
-            "喀什机场",
-            "克拉玛依机场",
-            "库车龟兹机场",
-            "库尔勒机场",
-            "昆明巫家坝国际机场"
-        ]
-    }, {
-        "letter": "L",
-        "data": [
-            "拉萨贡嘎机场",
-            "兰州中川机场",
-            "丽江三义机场",
-            "黎平机场",
-            "连云港白塔埠机场",
-            "临沧机场",
-            "临沂机场",
-            "林芝米林机场",
-            "柳州白莲机场",
-            "龙岩冠豸山机场",
-            "泸州蓝田机场",
-            "洛阳北郊机场"
-        ]
-    }, {
-        "letter": "M",
-        "data": [
-            "满洲里西郊机场",
-            "绵阳南郊机场",
-            "漠河古莲机场",
-            "牡丹江海浪机场"
-        ]
-    }, {
-        "letter": "N",
-        "data": [
-            "南昌昌北国际机场",
-            "南充高坪机场",
-            "南京禄口国际机场",
-            "南宁吴圩机场",
-            "南通兴东机场",
-            "南阳姜营机场",
-            "宁波栎社国际机场"
-        ]
-    }, {
-        "letter": "O",
-        "data": []
-    }, {
-        "letter": "P",
-        "data": [
-            "普洱思茅机场"
-        ]
-    }, {
-        "letter": "Q",
-        "data": [
-            "齐齐哈尔三家子机场",
-            "秦皇岛山海关机场",
-            "青岛流亭国际机场",
-            "衢州机场",
-            "泉州晋江机场"
-        ]
-    }, {
-        "letter": "R",
-        "data": [
-            "日喀则和平机场"
-        ]
-    }, {
-        "letter": "S",
-        "data": [
-            "三亚凤凰国际机场",
-            "汕头外砂机场",
-            "上海虹桥国际机场",
-            "上海浦东国际机场",
-            "深圳宝安国际机场",
-            "沈阳桃仙国际机场",
-            "石家庄正定国际机场",
-            "苏南硕放国际机场"
-        ]
-    }, {
-        "letter": "T",
-        "data": [
-            "塔城机场",
-            "太原武宿国际机场",
-            "台州路桥机场 (黄岩机场)",
-            "唐山三女河机场",
-            "腾冲驼峰机场",
-            "天津滨海国际机场",
-            "通辽机场",
-            "铜仁凤凰机场"
-        ]
-    }, {
-        "letter": "U",
-        "data": []
-    }, {
-        "letter": "V",
-        "data": []
-    }, {
-        "letter": "W",
-        "data": [
-            "万州五桥机场",
-            "潍坊机场",
-            "威海大水泊机场",
-            "文山普者黑机场",
-            "温州永强国际机场",
-            "乌海机场",
-            "武汉天河国际机场",
-            "乌兰浩特机场",
-            "乌鲁木齐地窝堡国际机场",
-            "武夷山机场",
-            "梧州长洲岛机场"
-        ]
-    }, {
-        "letter": "X",
-        "data": [
-            "西安咸阳国际机场",
-            "西昌青山机场",
-            "锡林浩特机场",
-            "西宁曹家堡机场",
-            "西双版纳嘎洒机场",
-            "厦门高崎国际机场",
-            "香港国际机场",
-            "襄阳刘集机场",
-            "兴义机场",
-            "徐州观音机场"
-        ]
-    }, {
-        "letter": "Y",
-        "data": [
-            "延安二十里堡机场",
-            "盐城机场",
-            "延吉朝阳川机场",
-            "烟台莱山国际机场",
-            "宜宾菜坝机场",
-            "宜昌三峡机场",
-            "伊春林都机场",
-            "伊宁机场",
-            "义乌机场",
-            "银川河东机场",
-            "永州零陵机场",
-            "榆林榆阳机场",
-            "玉树巴塘机场",
-            "运城张孝机场"
-        ]
-    }, {
-        "letter": "Z",
-        "data": [
-            "湛江机场",
-            "昭通机场",
-            "郑州新郑国际机场",
-            "芷江机场",
-            "重庆江北国际机场",
-            "中卫香山机场",
-            "舟山朱家尖机场",
-            "珠海三灶机场"
-        ]
-    }]
-}
diff --git a/common/html-parser.js b/common/html-parser.js
deleted file mode 100644
index 20a89b2..0000000
--- a/common/html-parser.js
+++ /dev/null
@@ -1,352 +0,0 @@
-/*
- * HTML5 Parser By Sam Blowes
- *
- * Designed for HTML5 documents
- *
- * Original code by John Resig (ejohn.org)
- * http://ejohn.org/blog/pure-javascript-html-parser/
- * Original code by Erik Arvidsson, Mozilla Public License
- * http://erik.eae.net/simplehtmlparser/simplehtmlparser.js
- *
- * ----------------------------------------------------------------------------
- * License
- * ----------------------------------------------------------------------------
- *
- * This code is triple licensed using Apache Software License 2.0,
- * Mozilla Public License or GNU Public License
- *
- * ////////////////////////////////////////////////////////////////////////////
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License.  You may obtain a copy
- * of the License at http://www.apache.org/licenses/LICENSE-2.0
- *
- * ////////////////////////////////////////////////////////////////////////////
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
- * License for the specific language governing rights and limitations
- * under the License.
- *
- * The Original Code is Simple HTML Parser.
- *
- * The Initial Developer of the Original Code is Erik Arvidsson.
- * Portions created by Erik Arvidssson are Copyright (C) 2004. All Rights
- * Reserved.
- *
- * ////////////////////////////////////////////////////////////////////////////
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- * ----------------------------------------------------------------------------
- * Usage
- * ----------------------------------------------------------------------------
- *
- * // Use like so:
- * HTMLParser(htmlString, {
- *     start: function(tag, attrs, unary) {},
- *     end: function(tag) {},
- *     chars: function(text) {},
- *     comment: function(text) {}
- * });
- *
- * // or to get an XML string:
- * HTMLtoXML(htmlString);
- *
- * // or to get an XML DOM Document
- * HTMLtoDOM(htmlString);
- *
- * // or to inject into an existing document/DOM node
- * HTMLtoDOM(htmlString, document);
- * HTMLtoDOM(htmlString, document.body);
- *
- */
-// Regular Expressions for parsing tags and attributes
-var startTag = /^<([-A-Za-z0-9_]+)((?:\s+[a-zA-Z_:][-a-zA-Z0-9_:.]*(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/;
-var endTag = /^<\/([-A-Za-z0-9_]+)[^>]*>/;
-var attr = /([a-zA-Z_:][-a-zA-Z0-9_:.]*)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g; // Empty Elements - HTML 5
-
-var empty = makeMap('area,base,basefont,br,col,frame,hr,img,input,link,meta,param,embed,command,keygen,source,track,wbr'); // Block Elements - HTML 5
-// fixed by xxx 将 ins 标签从块级名单中移除
-
-var block = makeMap('a,address,article,applet,aside,audio,blockquote,button,canvas,center,dd,del,dir,div,dl,dt,fieldset,figcaption,figure,footer,form,frameset,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,isindex,li,map,menu,noframes,noscript,object,ol,output,p,pre,section,script,table,tbody,td,tfoot,th,thead,tr,ul,video'); // Inline Elements - HTML 5
-
-var inline = makeMap('abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var'); // Elements that you can, intentionally, leave open
-// (and which close themselves)
-
-var closeSelf = makeMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr'); // Attributes that have their values filled in disabled="disabled"
-
-var fillAttrs = makeMap('checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected'); // Special Elements (can contain anything)
-
-var special = makeMap('script,style');
-function HTMLParser(html, handler) {
-  var index;
-  var chars;
-  var match;
-  var stack = [];
-  var last = html;
-
-  stack.last = function () {
-    return this[this.length - 1];
-  };
-
-  while (html) {
-    chars = true; // Make sure we're not in a script or style element
-
-    if (!stack.last() || !special[stack.last()]) {
-      // Comment
-      if (html.indexOf('<!--') == 0) {
-        index = html.indexOf('-->');
-
-        if (index >= 0) {
-          if (handler.comment) {
-            handler.comment(html.substring(4, index));
-          }
-
-          html = html.substring(index + 3);
-          chars = false;
-        } // end tag
-
-      } else if (html.indexOf('</') == 0) {
-        match = html.match(endTag);
-
-        if (match) {
-          html = html.substring(match[0].length);
-          match[0].replace(endTag, parseEndTag);
-          chars = false;
-        } // start tag
-
-      } else if (html.indexOf('<') == 0) {
-        match = html.match(startTag);
-
-        if (match) {
-          html = html.substring(match[0].length);
-          match[0].replace(startTag, parseStartTag);
-          chars = false;
-        }
-      }
-
-      if (chars) {
-        index = html.indexOf('<');
-        var text = index < 0 ? html : html.substring(0, index);
-        html = index < 0 ? '' : html.substring(index);
-
-        if (handler.chars) {
-          handler.chars(text);
-        }
-      }
-    } else {
-      html = html.replace(new RegExp('([\\s\\S]*?)<\/' + stack.last() + '[^>]*>'), function (all, text) {
-        text = text.replace(/<!--([\s\S]*?)-->|<!\[CDATA\[([\s\S]*?)]]>/g, '$1$2');
-
-        if (handler.chars) {
-          handler.chars(text);
-        }
-
-        return '';
-      });
-      parseEndTag('', stack.last());
-    }
-
-    if (html == last) {
-      throw 'Parse Error: ' + html;
-    }
-
-    last = html;
-  } // Clean up any remaining tags
-
-
-  parseEndTag();
-
-  function parseStartTag(tag, tagName, rest, unary) {
-    tagName = tagName.toLowerCase();
-
-    if (block[tagName]) {
-      while (stack.last() && inline[stack.last()]) {
-        parseEndTag('', stack.last());
-      }
-    }
-
-    if (closeSelf[tagName] && stack.last() == tagName) {
-      parseEndTag('', tagName);
-    }
-
-    unary = empty[tagName] || !!unary;
-
-    if (!unary) {
-      stack.push(tagName);
-    }
-
-    if (handler.start) {
-      var attrs = [];
-      rest.replace(attr, function (match, name) {
-        var value = arguments[2] ? arguments[2] : arguments[3] ? arguments[3] : arguments[4] ? arguments[4] : fillAttrs[name] ? name : '';
-        attrs.push({
-          name: name,
-          value: value,
-          escaped: value.replace(/(^|[^\\])"/g, '$1\\\"') // "
-
-        });
-      });
-
-      if (handler.start) {
-        handler.start(tagName, attrs, unary);
-      }
-    }
-  }
-
-  function parseEndTag(tag, tagName) {
-    // If no tag name is provided, clean shop
-    if (!tagName) {
-      var pos = 0;
-    } // Find the closest opened tag of the same type
-    else {
-        for (var pos = stack.length - 1; pos >= 0; pos--) {
-          if (stack[pos] == tagName) {
-            break;
-          }
-        }
-      }
-
-    if (pos >= 0) {
-      // Close all the open elements, up the stack
-      for (var i = stack.length - 1; i >= pos; i--) {
-        if (handler.end) {
-          handler.end(stack[i]);
-        }
-      } // Remove the open elements from the stack
-
-
-      stack.length = pos;
-    }
-  }
-}
-
-function makeMap(str) {
-  var obj = {};
-  var items = str.split(',');
-
-  for (var i = 0; i < items.length; i++) {
-    obj[items[i]] = true;
-  }
-
-  return obj;
-}
-
-function removeDOCTYPE(html) {
-  return html.replace(/<\?xml.*\?>\n/, '').replace(/<!doctype.*>\n/, '').replace(/<!DOCTYPE.*>\n/, '');
-}
-
-function parseAttrs(attrs) {
-  return attrs.reduce(function (pre, attr) {
-    var value = attr.value;
-    var name = attr.name;
-
-    if (pre[name]) {
-			pre[name] = pre[name] + " " + value;
-    } else {
-			pre[name] = value;
-    }
-
-    return pre;
-  }, {});
-}
-
-function parseHtml(html) {
-  html = removeDOCTYPE(html);
-  var stacks = [];
-  var results = {
-    node: 'root',
-    children: []
-  };
-  HTMLParser(html, {
-    start: function start(tag, attrs, unary) {
-      var node = {
-        name: tag
-      };
-
-      if (attrs.length !== 0) {
-        node.attrs = parseAttrs(attrs);
-      }
-
-      if (unary) {
-        var parent = stacks[0] || results;
-
-        if (!parent.children) {
-          parent.children = [];
-        }
-
-        parent.children.push(node);
-      } else {
-        stacks.unshift(node);
-      }
-    },
-    end: function end(tag) {
-      var node = stacks.shift();
-      if (node.name !== tag) console.error('invalid state: mismatch end tag');
-
-      if (stacks.length === 0) {
-        results.children.push(node);
-      } else {
-        var parent = stacks[0];
-
-        if (!parent.children) {
-          parent.children = [];
-        }
-
-        parent.children.push(node);
-      }
-    },
-    chars: function chars(text) {
-      var node = {
-        type: 'text',
-        text: text
-      };
-
-      if (stacks.length === 0) {
-        results.children.push(node);
-      } else {
-        var parent = stacks[0];
-
-        if (!parent.children) {
-          parent.children = [];
-        }
-
-        parent.children.push(node);
-      }
-    },
-    comment: function comment(text) {
-      var node = {
-        node: 'comment',
-        text: text
-      };
-      var parent = stacks[0];
-
-      if (!parent.children) {
-        parent.children = [];
-      }
-
-      parent.children.push(node);
-    }
-  });
-  return results.children;
-}
-
-export default parseHtml;
diff --git a/common/self_base.js b/common/self_base.js
deleted file mode 100644
index d4d4ee1..0000000
--- a/common/self_base.js
+++ /dev/null
@@ -1,53 +0,0 @@
-import store from '../store/index.js'
-import message from '../plugins/message.js'
-
-exports.install = function(Vue, options) {
-	Vue.prototype.isCurrent = function(current, arr) {
-		if (!!arr) {
-			for (let url of arr) {
-				if (current == url) {
-					return true
-				}
-			}
-		}
-		return false
-	};
-	Vue.prototype.goto = function(current_path,url) {
-		console.log('current_path:',current_path,'   url:',url)
-		console.log('store')
-		// console.log(store.state.hasLogin)
-
-		if (current_path == url) {
-			
-		} else {
-			//判断有没有登录
-			// if(url.con)
-			if(url.includes('/center')&&!store.state.hasLogin&&!store.state.isDebug){
-				//跳转到不同页面
-				console.log('goto no登录')
-				// store.state.hasLogin = true
-				// // #ifdef H5
-				// 	uni.navigateTo({
-				// 		url: '/views/pc/login'
-				// 	});
-				// // #endif
-				// // #ifndef H5
-				// 	uni.navigateTo({
-				// 		url: '/views/app/login'
-				// 	});
-				// // #endif
-				message.showToast('请先登录')
-				// uni.navigateTo({
-				// 	url: '/views/home/home?select=self'
-				// });
-			}else{
-				console.log('goto ok登录')
-				uni.navigateTo({
-					url: url
-				});
-			}
-
-		}
-
-	};
-};
diff --git a/environments/index.js b/environments/index.js
index 35e6a7b..199d56d 100644
--- a/environments/index.js
+++ b/environments/index.js
@@ -3,12 +3,9 @@
 	httpBaseUri: 'https://www.hmyxianhua.com/flower',
 	// httpBaseUri: 'http://47.99.58.211/flower',
 	// httpBaseUri: 'http://localhost:8080/flower',
-
 	clientId: '',
 	secret: '',
 	tenantId: '',
-	appDownloadUri: 'http://xxx/app/',
-	websocketUrl: '',
 	type: 'dev'
 }
 
diff --git a/main.js b/main.js
index 9cdb3b5..0f77c8f 100644
--- a/main.js
+++ b/main.js
@@ -1,4 +1,4 @@
-// #ifndef VUE3
+
 import Vue from 'vue'
 import App from './App'
 import store from './store'
@@ -13,8 +13,8 @@
 Vue.prototype.$storage = storage
 import util from './plugins/util'
 Vue.prototype.$util = util
-import self_base from './common/self_base.js'
-Vue.use(self_base);
+// import self_base from './common/self_base.js'
+// Vue.use(self_base);
 import mixinsCommon from './mixin/mixin.js'
 
 Vue.mixin(mixinsCommon)
@@ -92,17 +92,3 @@
 	...App
 })
 app.$mount()
-// #endif
-
-// #ifdef VUE3
-import {
-	createSSRApp
-} from 'vue'
-import App from './App.vue'
-export function createApp() {
-	const app = createSSRApp(App)
-	return {
-		app
-	}
-}
-// #endif
\ No newline at end of file
diff --git a/mixin/mixin.js b/mixin/mixin.js
index c119261..f81204d 100644
--- a/mixin/mixin.js
+++ b/mixin/mixin.js
@@ -1,515 +1,250 @@
 import {
-    mapState
+	mapState
 } from 'vuex'
 import store from "../store";
 
-import environments from '@/environments'
+// import environments from '@/environments'
 
 const mixinsCommon = {
-    computed: {
-        ...mapState({
-            hasLogin: state => {
-                // console.log('computed hasLogin',state.hasLogin,state)
-                return state.hasLogin || false
-            },
-            selftype: state => {
-                return (state.currentInfo || {}).type || ''
-            },
-            currentInfo: state => {
-                return state.currentInfo || {}
-            },
-            cache_address: state => {
-                return state.cache_address || {}
-            },
-            cache_user: state => {
-                return state.currentInfo || {}
-            },
-            sign: state => {
-                return state.sign || {}
-            },
-            // currentEnId: state=>{
-            // 	// console.log('currentEnId',state.currentInfo.enId,state.currentInfo)
-            // 	return state.currentInfo.enId || ''
-            // }
-        }),
-    },
-    data() {
-        return {
-            list: [],
-            query: {},
-            page: {
-                size: 10,
-                current: 1,
-                total: 0,
-            },
-            style: {
-                'color': '#fff'
-            },
-            listApi: '',
-            regUserName: '用户-' + this.getRandomName(Math.floor(Math.random() * (6 - 2) + 3)),
-            regAvatarUrl: 'https://youzhen123.oss-cn-huhehaote.aliyuncs.com/WechatOwnerProperty/images/mrtx.png',
-
-        }
-    },
-    methods: {
-        onChooseavatar(e) {
-            let self = this;
-            let {
-                avatarUrl
-            } = e.detail;
-            this.regAvatarUrl = avatarUrl
-            console.log('avatarUrl', this.regAvatarUrl)
-        },
-        onBindblur(e) {
-            this.regUserName = e.detail.value; // 获取微信昵称
-        },
-        onBindinput(e) {
-            this.regUserName = e.detail.value; // 获取微信昵称
-        },
-        randomAccess(min, max) {
-            return Math.floor(Math.random() * (min - max) + max)
-        },
-        getRandomName(NameLength) {
-            let name = ""
-            for (let i = 0; i < NameLength; i++) {
-                let unicodeNum = ""
-                unicodeNum = this.randomAccess(0x4e00, 0x9fa5).toString(16)
-                name += this.decodeUnicode(unicodeNum)
-            }
-            return name
-        },
-        decodeUnicode(str) {
-            //Unicode显示方式是\u4e00
-            str = "\\u" + str
-            str = str.replace(/\\/g, "%");
-            //转换中文
-            str = unescape(str);
-            //将其他受影响的转换回原来
-            str = str.replace(/%/g, "\\");
-            return str;
-        },
-        async onWxCheckSubmit() {
-            if (this.regUserName == '微信用户') {
-                this.$message.showToast('昵称不合规,不可以叫做:微信用户哈~')
-                return
-            }
-            //保存一下
-            //先上传图片
-            if (this.regAvatarUrl ===
-                'https://youzhen123.oss-cn-huhehaote.aliyuncs.com/WechatOwnerProperty/images/mrtx.png') {
-                var picture = this.regAvatarUrl
-                //更新接口
-                this.$message.showLoading()
-                const {
-                    code
-                } = await this.$http.request('post', "/api/current/user/update", {
-                    data: {
-                        ...this.dto,
-                        nickName: this.regUserName,
-                        picture: picture
-                    }
-                })
-
-                this.$message.hideLoading()
-                this.$forceUpdate()
-                if (code == 0) {
-                    this.$refs.popup_info.close()
-                    this.$message.showToast('设置成功')
-                    this.currentInfo.picture = picture
-                    this.currentInfo.nickName = this.regUserName
-                } else {
-
-                }
-            } else {
-                this.$http.upload(this.regAvatarUrl).then(async res => {
-                    var picture = res.data && res.data.length > 0 && res.data[0].url || ''
-                    //更新接口
-                    this.$message.showLoading()
-                    const {
-                        code
-                    } = await this.$http.request('post', "/api/current/user/update", {
-                        data: {
-                            ...this.currentInfo,
-                            nickName: this.regUserName,
-                            picture: picture
-                        }
-                    })
-
-                    this.$message.hideLoading()
-                    this.$forceUpdate()
-                    if (code == 0) {
-                        this.$refs.popup_info.close()
-                        this.$message.showToast('设置成功')
-                        this.currentInfo.picture = picture
-                        this.currentInfo.nickName = this.regUserName
-                    } else {
-
-                    }
-                })
-            }
-        },
+	computed: {
+		...mapState({
+			hasLogin: state => {
+				// console.log('computed hasLogin',state.hasLogin,state)
+				return state.hasLogin || false
+			},
+			selftype: state => {
+				return (state.currentInfo || {}).type || ''
+			},
+			currentInfo: state => {
+				return state.currentInfo || {}
+			},
+			cache_address: state => {
+				return state.cache_address || {}
+			},
+			cache_user: state => {
+				return state.currentInfo || {}
+			},
+			sign: state => {
+				return state.sign || {}
+			},
+			// currentEnId: state=>{
+			// 	// console.log('currentEnId',state.currentInfo.enId,state.currentInfo)
+			// 	return state.currentInfo.enId || ''
+			// }
+		}),
+	},
+	data() {
+		return {
+			list: [],
+			query: {},
+			page: {
+				size: 10,
+				current: 1,
+				total: 0,
+			},
+			style: {
+				'color': '#fff'
+			},
+			listApi: '',
+			// regUserName: '用户-' + this.getRandomName(Math.floor(Math.random() * (6 - 2) + 3)),
+			// regAvatarUrl: 'https://youzhen123.oss-cn-huhehaote.aliyuncs.com/WechatOwnerProperty/images/mrtx.png',
+			regUserName: '',
+			regAvatarUrl: '',
+		}
+	},
+	methods: {
+		onChooseavatar(e) {
+			let self = this;
+			let {
+				avatarUrl
+			} = e.detail;
+			this.regAvatarUrl = avatarUrl
+			console.log('avatarUrl', this.regAvatarUrl)
+		},
+		onBindblur(e) {
+			this.regUserName = e.detail.value; // 获取微信昵称
+		},
+		onBindinput(e) {
+			this.regUserName = e.detail.value; // 获取微信昵称
+		},
 
 
-        async getUserProfile(e) {
-            this.$message.showLoading()
-            const res = await wx.getUserProfile({
-                desc: '用于完善会员资料',
-            });
-            console.log(res);
-            this.$message.hideLoading()
-            this.login_Wx(res.userInfo.avatarUrl, res.userInfo.nickName)
-        },
-        login_Wx(imgurl, nickname) {
-            //获取openId
-            // /wx/jscode2session
-            let inviter = this.$storage.getItem('inviter') || ''
-            let inviterName = this.$storage.getItem('inviterName') || ''
-            //有效24小时
-            if (inviter) {
-                var inviterTime = this.$storage.getItem('inviterTime')
-                if (new Date().getTime() > parseInt(inviterTime) + 1000 * 3600 * 24) {
-                    inviter = ''
-                    inviterName = ''
-                    this.$storage.removeItem('inviter')
-                    this.$storage.removeItem('inviterTime')
-                    this.$storage.removeItem('inviterName')
-                }
-            }
 
 
-            const tmp = this;
-            this.$message.showLoading()
-            this.openid = this.$storage.getItem('openid');
-            this.tel = this.$storage.getItem('tel');
-            console.log('info,info,info,info,info,info', this.openid, this.tel);
-            if (!!this.openid && !!this.tel) {
-                // this.login = true;
-            } else {
-                // this.login = false;
-                console.log('wx.login');
-                wx.login({
-                    success: async res => {
-                        if (res.code) {
-                            //微信登录成功 已拿到code
-                            // tmp.login = true;
-                            // tmp.jsCode = res.code; //保存获取到的code
-                            console.log('abcd', res.code);
-                            // this.$http.request('post',`/api/login/wechat`,{data:{code:tmp.jsCode}})
-                            this.$storage.setItem('jsCode', res.code);
-                            const res2 = await wx.getUserInfo();
-                            console.log('res', res2);
-                            this.tcode = res.code || ''
-                            // if (nickname == '微信用户' || true) {
-                            // 	//跳出弹出框,获取具体用户信息
-                            // 	tmp.$message.hideLoading()
+		previewImg(url) {
+			if (url) {
+				uni.previewImage({
+					urls: [url]
+				})
+			}
+		},
+		checkFormValues(dto, keys) {
+			if (keys) {
+				for (var key of keys) {
+					if (!dto[key]) {
+						return false
+					}
+				}
+			}
+			return true
+		},
+		async refreshList(type = 'get') {
+			this.page.current = 1
+			await this.getList(type)
+		},
+		async getList(type = 'get') {
+			if (this.listApi) {
+				this.$message.showLoading()
+				const {
+					data
+				} = await this.$http.request(type, this.listApi, {
+					params: {
+						...this.query,
+						...this.page
+					},
+					data: {
+						...this.query,
+						...this.page
+					}
+				})
+				if (data) {
+					if (data && Array.isArray(data)) {
+						this.list = data || []
+						this.page.total = data.length || 0
+					} else {
+						if (this.page.current === 1) {
+							this.list = data.records || []
+						} else {
+							//根据id去重正常
+							var ids = []
+							for (var item of this.list) {
+								ids.push(item.id)
+							}
+							for (var item of data.records) {
+								if (ids.indexOf(item.id) < 0) {
+									this.list.push(item)
+								}
+							}
 
-                            // 	this.$refs.popup_info.open()
+						}
+						this.page.total = data.total || 0
+					}
 
-                            // } else {
-                            await this.$store.dispatch('loginwx', {
-                                code: res.code,
-                                imgurl: imgurl,
-                                nickname: nickname,
-                                inviter: inviter
-                            });
-                            tmp.$message.hideLoading()
-                            this.$forceUpdate()
-                            //延迟,如果用户昵称是微信用户的话?
+					if (this.getList_after) {
+						this.getList_after()
+					}
+				}
+				this.$message.hideLoading()
+			}
 
-                            setTimeout(() => {
-                                if (tmp.currentInfo && tmp.currentInfo.id) {
-                                    if (tmp.currentInfo.nickName == '微信用户') {
-                                        tmp.$refs.popup_info && tmp.$refs.popup_info.open()
-                                    }
-                                }
-                            }, 500)
-                            // }
+		},
+		async getMore(type = 'get') {
+			if (this.page.total > this.page.current * this.page.size) {
+				this.page.current += 1
+				await this.getList(type)
+			}
+		},
+		backHome() {
+			uni.reLaunch({
+				url: '/pages/home/home'
+			})
+		},
+		goto(url, check = false) {
+			if (check) {
+				console.log('currentInfo', this.currentInfo)
+				if (!this.currentInfo.id) {
+					this.$message.showToast('请先登陆')
+					return
+				}
 
-                        } else {
-                            tmp.$message.hideLoading()
-                            tmp.$message.showToast('微信登录失败');
+			}
+			uni.navigateTo({
+				url
+			})
+		},
+		backpage() {
+			// this.$router.go(-1)
+			uni.navigateBack()
+		}
+		// #ifdef APP || H5
+		,
+		async appdownload(url, name = '') {
+			await this.$message.confirm('确定下载此文件吗')
+			let _this = this
+			if (url) {
+				// var url2 = environments.httpBaseUri + `/api/download/file?fileName=${name}&filePath=` + url
+				// uni.downloadFile({
+				// 	url: url2,
+				// 	success: (res) => {
+				// 		if (res.statusCode === 200) {
+				// 			_this.$message.showToast('下载成功')
+				// 		} else {
+				// 			console.log(res)
+				// 			_this.$message.showToast('下载失败')
+				// 		}
+				// 	},
+				// 	fail: (res) => {
+				// 		console.log(res)
+				// 		_this.$message.showToast('下载失败')
+				// 	}
+				// });
+				_this.$message.showLoading()
 
-                        }
-                    },
-                    error: res => {
-                        console.log('wx.login error', res);
-                        tmp.$message.hideLoading()
+				uni.downloadFile({
+					url: url, //下载地址接口返回
+					success: (data) => {
+						_this.$message.hideLoading()
+						console.log('success', data)
+						if (data.statusCode === 200) {
+							//文件保存到本地
+							uni.saveFile({
+								tempFilePath: data.tempFilePath, //临时路径
+								success: function(res) {
+									uni.showToast({
+										icon: 'none',
+										mask: true,
+										title: '文件已保存:' + res
+											.savedFilePath, //保存路径
+										duration: 2000,
+									});
+									setTimeout(() => {
+										//打开文档查看
+										uni.openDocument({
+											filePath: res.savedFilePath,
+											success: function(res) {
+												// console.log('打开文档成功');
+											}
+										});
+									}, 2000)
+								},
+								fail: (err) => {
 
-                        tmp.$message.showToast('微信授权失败');
-                    }
-                });
-            }
-        },
+									console.log(err);
+									uni.showToast({
+										icon: 'none',
+										mask: true,
+										title: '下载成功保存失败',
+									});
+								},
+							});
+						}
+					},
+					fail: (err) => {
+						_this.$message.hideLoading()
 
-        previewImg(url) {
-            if (url) {
-                uni.previewImage({
-                    urls: [url]
-                })
-            }
-        },
-        checkFormValues(dto, keys) {
-            if (keys) {
-                for (var key of keys) {
-                    if (!dto[key]) {
-                        return false
-                    }
-                }
-            }
-            return true
-        },
-        async refreshList(type = 'get') {
-            this.page.current = 1
-            await this.getList(type)
-        },
-        async getList(type = 'get') {
-            if (this.listApi) {
-                this.$message.showLoading()
-                const {
-                    data
-                } = await this.$http.request(type, this.listApi, {
-                    params: {
-                        ...this.query,
-                        ...this.page
-                    },
-                    data: {
-                        ...this.query,
-                        ...this.page
-                    }
-                })
-                if (data) {
-                    if (data && Array.isArray(data)) {
-                        this.list = data || []
-                        this.page.total = data.length || 0
-                    } else {
-                        if (this.page.current === 1) {
-                            this.list = data.records || []
-                        } else {
-                            //根据id去重正常
-                            var ids = []
-                            for (var item of this.list) {
-                                ids.push(item.id)
-                            }
-                            for (var item of data.records) {
-                                if (ids.indexOf(item.id) < 0) {
-                                    this.list.push(item)
-                                }
-                            }
+						console.log(err);
+						uni.showToast({
+							icon: 'none',
+							mask: true,
+							title: '失败请重新下载',
+						});
+					},
+				});
+			}
+		}
+		// #endif
 
-                        }
-                        this.page.total = data.total || 0
-                    }
 
-                    if (this.getList_after) {
-                        this.getList_after()
-                    }
-                }
-                this.$message.hideLoading()
-            }
-
-        },
-        async getMore(type = 'get') {
-            if (this.page.total > this.page.current * this.page.size) {
-                this.page.current += 1
-                await this.getList(type)
-            }
-        },
-        backHome() {
-            uni.reLaunch({
-                url: '/pages/home/home'
-            })
-        },
-        goto(url, check = false) {
-            if (check) {
-                console.log('currentInfo', this.currentInfo)
-                if (!this.currentInfo.id) {
-                    this.$message.showToast('请先登陆')
-                    return
-                }
-
-            }
-            uni.navigateTo({
-                url
-            })
-        },
-        backpage() {
-            // this.$router.go(-1)
-            uni.navigateBack()
-        }
-        // #ifdef APP || H5
-        ,
-        async appdownload(url, name = '') {
-            await this.$message.confirm('确定下载此文件吗')
-            let _this = this
-            if (url) {
-                // var url2 = environments.httpBaseUri + `/api/download/file?fileName=${name}&filePath=` + url
-                // uni.downloadFile({
-                // 	url: url2,
-                // 	success: (res) => {
-                // 		if (res.statusCode === 200) {
-                // 			_this.$message.showToast('下载成功')
-                // 		} else {
-                // 			console.log(res)
-                // 			_this.$message.showToast('下载失败')
-                // 		}
-                // 	},
-                // 	fail: (res) => {
-                // 		console.log(res)
-                // 		_this.$message.showToast('下载失败')
-                // 	}
-                // });
-                _this.$message.showLoading()
-
-                uni.downloadFile({
-                    url: url, //下载地址接口返回
-                    success: (data) => {
-                        _this.$message.hideLoading()
-                        console.log('success', data)
-                        if (data.statusCode === 200) {
-                            //文件保存到本地
-                            uni.saveFile({
-                                tempFilePath: data.tempFilePath, //临时路径
-                                success: function (res) {
-                                    uni.showToast({
-                                        icon: 'none',
-                                        mask: true,
-                                        title: '文件已保存:' + res
-                                            .savedFilePath, //保存路径
-                                        duration: 2000,
-                                    });
-                                    setTimeout(() => {
-                                        //打开文档查看
-                                        uni.openDocument({
-                                            filePath: res.savedFilePath,
-                                            success: function (res) {
-                                                // console.log('打开文档成功');
-                                            }
-                                        });
-                                    }, 2000)
-                                },
-                                fail: (err) => {
-
-                                    console.log(err);
-                                    uni.showToast({
-                                        icon: 'none',
-                                        mask: true,
-                                        title: '下载成功保存失败',
-                                    });
-                                },
-                            });
-                        }
-                    },
-                    fail: (err) => {
-                        _this.$message.hideLoading()
-
-                        console.log(err);
-                        uni.showToast({
-                            icon: 'none',
-                            mask: true,
-                            title: '失败请重新下载',
-                        });
-                    },
-                });
-            }
-        }
-        // #endif
-        // #ifdef MP
-        ,
-        async wxdownload(url, name = '') {
-            await this.$message.confirm('是否要下载此文件')
-            var url2 = environments.httpBaseUri + `/api/download/file?fileName=${name}&filePath=` + url
-
-            let that = this
-            that.$message.showLoading()
-            // wx.sa
-            // wx.downloadFile({
-            // 	url: url2,
-            // 	success: res => {
-            // 		that.$message.showToast('下载成功')
-
-            // 	},
-            // 	fail: res => {
-            // 		that.$message.showToast('下载失败')
-
-            // 	},
-            // 	complete: res => {
-            // 		that.$message.hideLoading()
-            // 	}
-            // })
-            wx.downloadFile({
-                url: url,
-                timeout: 120000,
-                success(res) {
-                    that.$message.hideLoading()
-                    console.log('res', res)
-                    if (res.statusCode === 200) {
-                        const filePath = res.tempFilePath
-                        if (filePath.endsWith('.jpg') ||
-                            filePath.endsWith('.jpeg') ||
-                            filePath.endsWith('.png') ||
-                            filePath.endsWith('.jpg')) {
-                            wx.saveImageToPhotosAlbum({
-                                filePath: filePath,
-                                success: function (res) {
-                                    that.$message.showToast('保存图片成功')
-                                },
-                                fail: function (res) {
-                                    that.$message.showToast('打开文档失败,非支持的类型')
-                                }
-                            })
-
-                        } else if (filePath.endsWith('.mp4') ||
-                            filePath.endsWith('.flv') ||
-                            filePath.endsWith('.avi') ||
-                            filePath.endsWith('.wmv') ||
-                            filePath.endsWith('.mpeg')) {
-                            wx.saveVideoToPhotosAlbum({
-                                filePath: filePath,
-                                success: function (res) {
-                                    that.$message.showToast('保存视频成功')
-                                },
-                                fail: function (res) {
-                                    that.$message.showToast('打开文档失败,非支持的类型')
-                                }
-                            })
-
-                        } else {
-                            wx.openDocument({
-                                filePath: filePath,
-                                showMenu: true, //关键点
-                                success: function (res) {
-                                    console.log('打开文档成功')
-                                },
-                                fail: function (res) {
-                                    that.$message.showToast('打开文档失败,非支持的类型')
-                                }
-                            })
-                        }
-                    } else {
-                        that.$message.showToast('下载失败,服务器内部错误')
-
-                    }
-                },
-                fail: res => {
-                    that.$message.hideLoading()
-                    that.$message.showToast('下载失败')
-                },
-                complete: res => {
-
-                }
-            })
-        }
-        // #endif
-
-        // #ifdef PUB_CUSTOMER
-        ,
-        async submitShopping(dto) {
-            //提交到购物车中
-            this.$message.showLoading()
-            await this.$store.dispatch('submitShopping', dto);
-            this.$message.hideLoading()
-        }
-        // #endif
-    }
+	}
 }
 export default mixinsCommon
\ No newline at end of file
diff --git a/modifyManifest.js b/modifyManifest.js
deleted file mode 100644
index d50ec8b..0000000
--- a/modifyManifest.js
+++ /dev/null
@@ -1,41 +0,0 @@
-const fs = require('fs')
-//此处如果是用HBuilderX创建的项目manifest.json文件在项目跟目录,如果是 cli 创建的则在 src 下,这里要注意
-//process.env.UNI_INPUT_DIR为项目所在的绝对路径,经测试,相对路径会找不到文件
-const manifestPath = process.env.UNI_INPUT_DIR + '/manifest.json'
-let Manifest = fs.readFileSync(manifestPath, { encoding: 'utf-8' })
-function replaceManifest(path, value) {
-  const arr = path.split('.')
-  const len = arr.length
-  const lastItem = arr[len - 1]
- 
-  let i = 0
-  let ManifestArr = Manifest.split(/\n/)
- 
-  for (let index = 0; index < ManifestArr.length; index++) {
-    const item = ManifestArr[index]
-    if (new RegExp(`"${arr[i]}"`).test(item)) ++i;
-    if (i === len) {
-      const hasComma = /,/.test(item)
-      ManifestArr[index] = item.replace(new RegExp(`"${lastItem}"[\\s\\S]*:[\\s\\S]*`), `"${lastItem}": ${value}${hasComma ? ',' : ''}`)
-      break;
-    }
-  }
- 
-  Manifest = ManifestArr.join('\n')
-}
-//动态配置 h5.router.base ,这部分的代码可根据自己的需要写,需要改什么,按照manifest.json对应的路径写好即可
-if (process.env.NODE_ENV === 'production') {
-replaceManifest('h5.router.base', '"/game"')
-} 
-else if (process.env.NODE_ENV === 'test') { 
-replaceManifest('h5.router.base', '"/test/game"') 
-}
-else if (process.env.NODE_ENV === 'development') { 
-replaceManifest('h5.router.base', '"/dev/game"') 
-}
- 
- 
- 
-fs.writeFileSync(manifestPath, Manifest, {
-  "flag": "w"
-})
\ No newline at end of file
diff --git a/pages.json b/pages.json
index 82e365e..4900a51 100644
--- a/pages.json
+++ b/pages.json
@@ -99,7 +99,9 @@
         "navigationBarTitleText": "订单详情",
         "enablePullDownRefresh": false
       }
-    },
+    }
+	// #ifdef PUB_PARTNER	
+	,
     {
       "path": "sub_pages/partner/delivery/delivery",
       "style": {
@@ -113,7 +115,8 @@
         "navigationBarTitleText": "质检详情",
         "enablePullDownRefresh": true
       }
-    }
+    }
+	// #endif
   ],
   "subPackages": [
     {
@@ -141,7 +144,7 @@
             "enablePullDownRefresh": false
           }
         },
-        // #endif
+
         {
           "path": "order-settlement/order-settlement",
           "style": {
@@ -163,7 +166,8 @@
             "enablePullDownRefresh": true,
             "navigationBarBackgroundColor": "#E6F2EB"
           }
-        },
+        },
+        // #endif		
         {
           "path": "protocol",
           "style": {
diff --git a/sub_pages/customer/self/collect.vue b/sub_pages/customer/self/collect.vue
index eec6161..81d4612 100644
--- a/sub_pages/customer/self/collect.vue
+++ b/sub_pages/customer/self/collect.vue
@@ -1,158 +1,166 @@
 <template>
-  <view class="page-collect p20">
-    <view class="search-container bg-white flex">
-      <view class="flex1 input">
-        <u-input placeholder="请输入花名" v-model="query.name">
-          <template slot="suffix">
-            <uni-icons color="#20613D" type="search" size="24" @tap="refreshList"></uni-icons>
-          </template>
-        </u-input>
-      </view>
-    </view>
-    <view class="component-filter-container p10 bg-white">
-      <view class="flex1" @click.stop="order_show=true">
-        {{ this.query.columnStr || '排序' }}
-        <image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
-      </view>
-      <view class="flex1" @click.stop="level_show=true">
-        {{ this.query.levelStr || '级别' }}
-        <image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"
-        ></image>
-      </view>
-    </view>
-    <no-data v-if="!list||list.length===0" style="width: 100%;"></no-data>
+	<view class="page-collect p20">
+		<view class="search-container bg-white flex">
+			<view class="flex1 input">
+				<u-input placeholder="请输入花名" v-model="query.name">
+					<template slot="suffix">
+						<uni-icons color="#20613D" type="search" size="24" @tap="refreshList"></uni-icons>
+					</template>
+				</u-input>
+			</view>
+		</view>
+		<view class="component-filter-container p10 bg-white">
+			<view class="flex1" @click.stop="order_show=true">
+				{{ this.query.columnStr || '排序' }}
+				<image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
+			</view>
+			<view class="flex1" @click.stop="level_show=true">
+				{{ this.query.levelStr || '级别' }}
+				<image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
+			</view>
+		</view>
+		<no-data v-if="!list||list.length===0" style="width: 100%;"></no-data>
 
 
-    <u-picker :show="level_show" @confirm="select_level" keyName="label" :columns="level_columns"
-              @cancel="level_show=false"></u-picker>
-    <u-picker :show="order_show" @confirm="select_order" keyName="label" :columns="order_columns"
-              @cancel="order_show=false"></u-picker>
+		<u-picker :show="level_show" @confirm="select_level" keyName="label" :columns="level_columns"
+			@cancel="level_show=false"></u-picker>
+		<u-picker :show="order_show" @confirm="select_order" keyName="label" :columns="order_columns"
+			@cancel="order_show=false"></u-picker>
 
-    <view class="trade-list-container">
-      <view class="trade-info-container" v-for="(dto,index) of list" :key="index">
-        <view class="title">
-          <view class="level m-r-15">{{ dto.levelStr || '-' }}级</view>
-          <view class="">
-            {{ dto.name || '-' }}
-          </view>
-        </view>
-        <view class="desc m-t-12">
-          <view class="m-r-15">已售:{{ dto.sales || 0 }}</view>
-          <view class="m-r-15">剩余:{{ dto.stock || 0 }}</view>
-          <view class=" ">{{ dto.unit || '-' }}支/扎</view>
-        </view>
-        <view class="flex m-t-12">
-          <view class="price m-r-a">
-            <span class="num">{{ dto.price || '-' }}</span>
-            元/扎
-          </view>
-          <view class="m-l-a m-r-15">
-            <image src="../../../static/common/icon-kf.png" class="icon-kf m-l-15 img100"></image>
+		<view class="trade-list-container">
+			<view class="trade-info-container" v-for="(dto,index) of list" :key="index">
+				<view class="title">
+					<view class="level m-r-15">{{ dto.levelStr || '-' }}级</view>
+					<view class="">
+						{{ dto.name || '-' }}
+					</view>
+				</view>
+				<view class="desc m-t-12">
+					<view class="m-r-15">已售:{{ dto.sales || 0 }}</view>
+					<view class="m-r-15">剩余:{{ dto.stock || 0 }}</view>
+					<view class=" ">{{ dto.unit || '-' }}支/扎</view>
+				</view>
+				<view class="flex m-t-12">
+					<view class="price m-r-a">
+						<span class="num">{{ dto.price || '-' }}</span>
+						元/扎
+					</view>
+					<view class="m-l-a m-r-15">
+						<image src="../../../static/common/icon-kf.png" class="icon-kf m-l-15 img100"></image>
 
-          </view>
-          <view class="m-r-0 gwc" @click="submitShopping(dto)">
-            + 购物车
-          </view>
-        </view>
-      </view>
+					</view>
+					<view class="m-r-0 gwc" @click="submitShopping(dto)">
+						+ 购物车
+					</view>
+				</view>
+			</view>
 
-    </view>
-  </view>
+		</view>
+	</view>
 </template>
 
 <script>
-export default {
-  async onPullDownRefresh() {
-    await this.refreshList()
-    uni.stopPullDownRefresh()
-  },
-  data() {
-    return {
-      query: {
-        name: '',
-        levelStr: '',
-        level: '',
-        column: '',
-        columnStr: '',
-      },
-      level_show: false,
-      level_columns: [[]],
+	export default {
+		async onPullDownRefresh() {
+			await this.refreshList()
+			uni.stopPullDownRefresh()
+		},
+		data() {
+			return {
+				query: {
+					name: '',
+					levelStr: '',
+					level: '',
+					column: '',
+					columnStr: '',
+				},
+				level_show: false,
+				level_columns: [
+					[]
+				],
 
-      order_show: false,
-      order_columns: [[]]
-    }
-  },
-  onLoad() {
-    this.listApi = '/api/collect/list'
-    this.getList()
+				order_show: false,
+				order_columns: [
+					[]
+				]
+			}
+		},
+		onLoad() {
+			this.listApi = '/api/collect/list'
+			this.getList()
 
-    this.$http.request('get', '/api/code/value', {
-      params: {
-        type: 'FLOWER_LEVEL'
-      }
-    }).then(res => {
-      var data = res.data
-      this.level_columns = [data || []]
-      this.columns_levels[0].unshift({
-        label: '全部',
-        value: ''
-      })
-    })
+			this.$http.request('get', '/api/code/value', {
+				params: {
+					type: 'FLOWER_LEVEL'
+				}
+			}).then(res => {
+				var data = res.data
+				this.level_columns = [data || []]
+				this.columns_levels[0].unshift({
+					label: '全部',
+					value: ''
+				})
+			})
 
-    this.$http.request('get', '/api/code/value', {
-      params: {
-        type: 'FLOWER_ORDER_BY'
-      }
-    }).then(res => {
-      var data = res.data
-      this.order_columns = [data || []]
-      this.order_columns[0].unshift({
-        label: '默认',
-        value: ''
-      })
-    })
-  },
-  methods: {
-    select_level(e) {
-      this.level_show = false
-      this.query.levelStr = e.value[0].label
-      this.query.level = e.value[0].value
-      this.refreshList()
+			this.$http.request('get', '/api/code/value', {
+				params: {
+					type: 'FLOWER_ORDER_BY'
+				}
+			}).then(res => {
+				var data = res.data
+				this.order_columns = [data || []]
+				this.order_columns[0].unshift({
+					label: '默认',
+					value: ''
+				})
+			})
+		},
+		methods: {
+			async submitShopping(dto) {
+				//提交到购物车中
+				this.$message.showLoading()
+				await this.$store.dispatch('submitShopping', dto);
+				this.$message.hideLoading()
+			},
+			select_level(e) {
+				this.level_show = false
+				this.query.levelStr = e.value[0].label
+				this.query.level = e.value[0].value
+				this.refreshList()
 
-    },
-    select_order(e) {
-      this.order_show = false
-      this.query.columnStr = e.value[0].label
-      this.query.column = e.value[0].value
-      this.refreshList()
+			},
+			select_order(e) {
+				this.order_show = false
+				this.query.columnStr = e.value[0].label
+				this.query.column = e.value[0].value
+				this.refreshList()
 
-    },
-  }
-}
+			},
+		}
+	}
 </script>
 
 <style lang="scss" scoped>
-.page-collect {
-  .search-container {
-    display: flex;
-    margin: 12rpx 0rpx 20rpx 0rpx;
-    position: relative;
-    z-index: 1;
+	.page-collect {
+		.search-container {
+			display: flex;
+			margin: 12rpx 0rpx 20rpx 0rpx;
+			position: relative;
+			z-index: 1;
 
-    .input {
-      background-color: #fff !important;
-      border-radius: 8rpx;
-    }
+			.input {
+				background-color: #fff !important;
+				border-radius: 8rpx;
+			}
 
-    .button {
-      min-width: 120rpx;
-      max-width: 120rpx;
-      margin-left: auto;
-      margin-right: 0rpx;
-      text-align: right;
-      line-height: 70rpx !important;
-    }
-  }
-}
-
-</style>
+			.button {
+				min-width: 120rpx;
+				max-width: 120rpx;
+				margin-left: auto;
+				margin-right: 0rpx;
+				text-align: right;
+				line-height: 70rpx !important;
+			}
+		}
+	}
+</style>
\ No newline at end of file
diff --git a/sub_pages/customer/trade/detail.vue b/sub_pages/customer/trade/detail.vue
index 6ff1636..b25c7c0 100644
--- a/sub_pages/customer/trade/detail.vue
+++ b/sub_pages/customer/trade/detail.vue
@@ -1,371 +1,379 @@
 <template>
-  <view class="trade-detail">
-    <view class="top-img-container">
-      <image :src="dto.cover" class="top-img" mode="aspectFill"></image>
-      <view class="icon-container">
-        <image src="../../../static/common/icon-sc.png" class="icon-sc"></image>
-<!--        <view class="num">12</view>-->
-      </view>
-      <view class="icon-container">
-        <image src="../../../static/common/icon-shop.png" @click="submitShopping(dto)" class="icon-shop"></image>
+	<view class="trade-detail">
+		<view class="top-img-container">
+			<image :src="dto.cover" class="top-img" mode="aspectFill"></image>
+			<view class="icon-container">
+				<image src="../../../static/common/icon-sc.png" class="icon-sc"></image>
+				<!--        <view class="num">12</view>-->
+			</view>
+			<view class="icon-container">
+				<image src="../../../static/common/icon-shop.png" @click="submitShopping(dto)" class="icon-shop">
+				</image>
 
-      </view>
-    </view>
-    <view class="trade-info-container">
-      <view class="title flex">
-        <view class="level m-r-15">{{ dto.levelStr || '-' }}级</view>
-        <view class="">
-          {{ dto.name || '-' }}
-        </view>
-      </view>
-      <view class="desc m-t-12">
-        <view class="m-r-15">已售:{{ dto.sales || 0 }}</view>
-        <view class="m-r-15">剩余:{{ dto.stock || 0 }}</view>
-        <view class=" ">{{ dto.unit || '-' }}</view>
-      </view>
-      <view class="flex m-t-12">
-        <view class="price m-r-a">
-          <span class="num">{{ dto.price || '-' }}</span>
-          元/扎
-        </view>
-        <view class="m-l-a m-r-15">
-          <image src="../../../static/common/icon-kf.png" class="icon-kf m-l-15 img100"></image>
+			</view>
+		</view>
+		<view class="trade-info-container">
+			<view class="title flex">
+				<view class="level m-r-15">{{ dto.levelStr || '-' }}级</view>
+				<view class="">
+					{{ dto.name || '-' }}
+				</view>
+			</view>
+			<view class="desc m-t-12">
+				<view class="m-r-15">已售:{{ dto.sales || 0 }}</view>
+				<view class="m-r-15">剩余:{{ dto.stock || 0 }}</view>
+				<view class=" ">{{ dto.unit || '-' }}</view>
+			</view>
+			<view class="flex m-t-12">
+				<view class="price m-r-a">
+					<span class="num">{{ dto.price || '-' }}</span>
+					元/扎
+				</view>
+				<view class="m-l-a m-r-15">
+					<image src="../../../static/common/icon-kf.png" class="icon-kf m-l-15 img100"></image>
 
-        </view>
-        <view class="m-r-0 gwc" @click="submitShopping(dto)">
-          + 购物车
-        </view>
-      </view>
-    </view>
-    <view class="line">
+				</view>
+				<view class="m-r-0 gwc" @click="submitShopping(dto)">
+					+ 购物车
+				</view>
+			</view>
+		</view>
+		<view class="line">
 
-    </view>
-    <view class="info-detail" v-if="dto.params">
-      <view class="title-before-blue" style="padding-top: 0rpx;padding-bottom: 0rpx;">详情</view>
-      <view class="flex m-t-8" v-for="(param,index) of dto.params" :key="index">
-        <view class="label">{{ param.name}}:</view>
-        <view class="value">{{ param.value || '-'}}</view>
-      </view>
-<!--      <view class="flex m-t-8">-->
-<!--        <view class="label">枝粗:</view>-->
-<!--        <view class="value">中等粗细</view>-->
-<!--      </view>-->
-<!--      <view class="flex m-t-8">-->
-<!--        <view class="label">均匀度:</view>-->
-<!--        <view class="value">1-2支不均匀</view>-->
-<!--      </view>-->
-    </view>
-    <view class="line">
+		</view>
+		<view class="info-detail" v-if="dto.params">
+			<view class="title-before-blue" style="padding-top: 0rpx;padding-bottom: 0rpx;">详情</view>
+			<view class="flex m-t-8" v-for="(param,index) of dto.params" :key="index">
+				<view class="label">{{ param.name}}:</view>
+				<view class="value">{{ param.value || '-'}}</view>
+			</view>
+			<!--      <view class="flex m-t-8">-->
+			<!--        <view class="label">枝粗:</view>-->
+			<!--        <view class="value">中等粗细</view>-->
+			<!--      </view>-->
+			<!--      <view class="flex m-t-8">-->
+			<!--        <view class="label">均匀度:</view>-->
+			<!--        <view class="value">1-2支不均匀</view>-->
+			<!--      </view>-->
+		</view>
+		<view class="line">
 
-    </view>
+		</view>
 
-    <view class="info-brand m-t-12" @click.stop="openbrand">
-      <view class="title-before-blue" style="padding-top: 0rpx;padding-bottom: 0rpx;">店铺</view>
-      <view class="flex m-t-12">
-        <image class="store-logo"></image>
-        <view>
-          <view class="store-name">{{dto.supplierName||'-'}}</view>
-          <view class="store-address">{{dto.supplierStation||'-'}}</view>
-        </view>
-        <view class="store-to m-l-a m-r-0">进入店铺</view>
-      </view>
-    </view>
-    <view class="m-t-20 shop-recommend-container"  v-if="false">
-      <view class="shop-recommend-title">店铺推荐</view>
-      <view class="flex">
-        <view v-for="i in 3" :key="i" class="shop-recommend">
-          <image src="" class="shop-recommend-image"></image>
-          <view class="shop-recommend-title m-t-8">
-            <view class="level m-r-15">B级</view>
-            <view class="">
-              {{ dto.name || '-' }}
-            </view>
-          </view>
-          <view class="shop-recommend-price m-t-8">
-            ¥23.01/扎
-          </view>
-        </view>
-      </view>
-    </view>
-    <view class="line">
+		<view class="info-brand m-t-12" @click.stop="openbrand">
+			<view class="title-before-blue" style="padding-top: 0rpx;padding-bottom: 0rpx;">店铺</view>
+			<view class="flex m-t-12">
+				<image class="store-logo"></image>
+				<view>
+					<view class="store-name">{{dto.supplierName||'-'}}</view>
+					<view class="store-address">{{dto.supplierStation||'-'}}</view>
+				</view>
+				<view class="store-to m-l-a m-r-0">进入店铺</view>
+			</view>
+		</view>
+		<view class="m-t-20 shop-recommend-container" v-if="false">
+			<view class="shop-recommend-title">店铺推荐</view>
+			<view class="flex">
+				<view v-for="i in 3" :key="i" class="shop-recommend">
+					<image src="" class="shop-recommend-image"></image>
+					<view class="shop-recommend-title m-t-8">
+						<view class="level m-r-15">B级</view>
+						<view class="">
+							{{ dto.name || '-' }}
+						</view>
+					</view>
+					<view class="shop-recommend-price m-t-8">
+						¥23.01/扎
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="line">
 
-    </view>
-    <view class="comment-container m-t-12" v-if="false">
-      <view class="title-before-blue" style="padding-top: 0rpx;padding-bottom: 0rpx;">
-        <view>评价</view>
-        <view class="desc">
-          7条评论
-          <uni-icons type="right" size="18" color="#B3B3B3"></uni-icons>
+		</view>
+		<view class="comment-container m-t-12" v-if="false">
+			<view class="title-before-blue" style="padding-top: 0rpx;padding-bottom: 0rpx;">
+				<view>评价</view>
+				<view class="desc">
+					7条评论
+					<uni-icons type="right" size="18" color="#B3B3B3"></uni-icons>
 
-        </view>
-      </view>
-      <view v-for="i in 3" :key="i" class="m-t-20 flex user-item">
-        <image class="user-icon m-r-10"></image>
-        <view>
-          <view class="name">用户名3370</view>
-          <view class="comment">非常棒,会回购</view>
-        </view>
-        <view class="stars">
+				</view>
+			</view>
+			<view v-for="i in 3" :key="i" class="m-t-20 flex user-item">
+				<image class="user-icon m-r-10"></image>
+				<view>
+					<view class="name">用户名3370</view>
+					<view class="comment">非常棒,会回购</view>
+				</view>
+				<view class="stars">
 
-        </view>
-        <view class="date">
-          04-07 08:00
-        </view>
-      </view>
-    </view>
+				</view>
+				<view class="date">
+					04-07 08:00
+				</view>
+			</view>
+		</view>
 
-  </view>
+	</view>
 </template>
 
 <script>
-export default {
-  data() {
-    return {
-      id: '',
-      dto: {}
-    }
-  },
-  onLoad(options) {
-    this.id = options.id || ''
-    if (this.id) {
-      this.getDetail()
-    }
-  },
-  methods: {
-    async getDetail() {
-      this.$message.showLoading()
-      const {
-        code,
-        data
-      } = await this.$http.request('get', '/api/customer/flower/list/view', {
-        params: {
-          id: this.id
-        }
-      })
-      if (code === 0) {
-        this.dto = {
-          ...data,
-        }
-      }
+	export default {
+		data() {
+			return {
+				id: '',
+				dto: {}
+			}
+		},
+		onLoad(options) {
+			this.id = options.id || ''
+			if (this.id) {
+				this.getDetail()
+			}
+		},
+		methods: {
+			async submitShopping(dto) {
+				//提交到购物车中
+				this.$message.showLoading()
+				await this.$store.dispatch('submitShopping', dto);
+				this.$message.hideLoading()
+			},
+			async getDetail() {
+				this.$message.showLoading()
+				const {
+					code,
+					data
+				} = await this.$http.request('get', '/api/customer/flower/list/view', {
+					params: {
+						id: this.id
+					}
+				})
+				if (code === 0) {
+					this.dto = {
+						...data,
+					}
+				}
 
-      this.$message.hideLoading()
+				this.$message.hideLoading()
 
-    },
-    openbrand() {
-      uni.navigateTo({
-        url: '/sub_pages/customer/shop/shop?id=' + (this.dto.id || '')
-      })
-    }
-  }
-}
+			},
+			openbrand() {
+				uni.navigateTo({
+					url: '/sub_pages/customer/shop/shop?id=' + (this.dto.id || '')
+				})
+			}
+		}
+	}
 </script>
 
 <style lang="scss" scoped>
-.trade-detail {
-  background-color: #FFFFFF;
+	.trade-detail {
+		background-color: #FFFFFF;
 
-  .trade-info-container {
-    padding: 46rpx 30rpx;
-    border-radius: 40rpx 40rpx 0rpx 0rpx;
+		.trade-info-container {
+			padding: 46rpx 30rpx;
+			border-radius: 40rpx 40rpx 0rpx 0rpx;
 
-    .title {
-      font-weight: 600;
-      font-size: 36rpx;
-      color: #000000;
-      line-height: 50rpx;
+			.title {
+				font-weight: 600;
+				font-size: 36rpx;
+				color: #000000;
+				line-height: 50rpx;
 
-      .level {
-        color: #20613D;
-      }
-    }
+				.level {
+					color: #20613D;
+				}
+			}
 
-    .desc {
-      font-weight: 400;
-      font-size: 28rpx;
-      color: #666666;
-      line-height: 40rpx;
-    }
+			.desc {
+				font-weight: 400;
+				font-size: 28rpx;
+				color: #666666;
+				line-height: 40rpx;
+			}
 
-    .price {
-      font-weight: 600;
-      font-size: 28rpx;
-      color: #CF0000;
-      line-height: 40rpx;
+			.price {
+				font-weight: 600;
+				font-size: 28rpx;
+				color: #CF0000;
+				line-height: 40rpx;
 
-      .num {
-        font-size: 48rpx;
-        line-height: 66rpx;
-      }
-    }
+				.num {
+					font-size: 48rpx;
+					line-height: 66rpx;
+				}
+			}
 
-    .icon-kf {
-      width: 44rpx;
-      height: 44rpx;
-    }
+			.icon-kf {
+				width: 44rpx;
+				height: 44rpx;
+			}
 
-    .gwc {
-      width: 168rpx;
-      height: 48rpx;
-      border-radius: 30rpx;
-      border: 2rpx solid #20613D;
-      font-size: 24rpx;
-      color: #20613D;
-      line-height: 48rpx;
-      text-align: center;
-    }
+			.gwc {
+				width: 168rpx;
+				height: 48rpx;
+				border-radius: 30rpx;
+				border: 2rpx solid #20613D;
+				font-size: 24rpx;
+				color: #20613D;
+				line-height: 48rpx;
+				text-align: center;
+			}
 
-  }
+		}
 
-  .line {
-    min-height: 20rpx;
-    background: #F7F7F7;
-  }
+		.line {
+			min-height: 20rpx;
+			background: #F7F7F7;
+		}
 
-  .info-detail {
-    padding: 18rpx 30rpx;
+		.info-detail {
+			padding: 18rpx 30rpx;
 
-    .label {
-      font-weight: 400;
-      font-size: 28rpx;
-      color: #666666;
-      line-height: 40rpx;
-      min-width: 160rpx;
-      margin-right: 20rpx;
-    }
+			.label {
+				font-weight: 400;
+				font-size: 28rpx;
+				color: #666666;
+				line-height: 40rpx;
+				min-width: 160rpx;
+				margin-right: 20rpx;
+			}
 
-    .value {
-      font-weight: 400;
-      font-size: 28rpx;
-      color: #666666;
-      line-height: 40rpx;
-    }
-  }
+			.value {
+				font-weight: 400;
+				font-size: 28rpx;
+				color: #666666;
+				line-height: 40rpx;
+			}
+		}
 
-  .shop-recommend-title {
-    font-weight: 400;
-    font-size: 24rpx;
-    color: #666666;
-    line-height: 34rpx;
-  }
+		.shop-recommend-title {
+			font-weight: 400;
+			font-size: 24rpx;
+			color: #666666;
+			line-height: 34rpx;
+		}
 
 
-  .shop-recommend-container {
-    padding: 24rpx 30rpx;
+		.shop-recommend-container {
+			padding: 24rpx 30rpx;
 
-    .shop-recommend {
-      .shop-recommend-image {
-        width: 214rpx;
-        height: 214rpx;
-        background-size: 100% 100%;
-        border-radius: 8rpx;
-      }
+			.shop-recommend {
+				.shop-recommend-image {
+					width: 214rpx;
+					height: 214rpx;
+					background-size: 100% 100%;
+					border-radius: 8rpx;
+				}
 
-      .shop-recommend-title {
-        font-weight: 600;
-        font-size: 28rpx;
-        color: #000000;
-        line-height: 40rpx;
+				.shop-recommend-title {
+					font-weight: 600;
+					font-size: 28rpx;
+					color: #000000;
+					line-height: 40rpx;
 
-        .level {
-          color: #20613D;;
-        }
-      }
-    }
-  }
+					.level {
+						color: #20613D;
+						;
+					}
+				}
+			}
+		}
 
-  .comment-container {
-    padding: 18rpx 30rpx;
+		.comment-container {
+			padding: 18rpx 30rpx;
 
-    .desc {
-      font-weight: 400;
-      font-size: 24rpx;
-      color: #666666;
-      line-height: 34rpx;
-    }
+			.desc {
+				font-weight: 400;
+				font-size: 24rpx;
+				color: #666666;
+				line-height: 34rpx;
+			}
 
-    .user-item {
-      .user-icon {
-        width: 72rpx;
-        height: 72rpx;
-        background-size: 100% 100%;
-        border-radius: 50%;
-      }
+			.user-item {
+				.user-icon {
+					width: 72rpx;
+					height: 72rpx;
+					background-size: 100% 100%;
+					border-radius: 50%;
+				}
 
-      .name {
-        font-weight: 600;
-        font-size: 24rpx;
-        color: #000000;
-        line-height: 34rpx;
-      }
+				.name {
+					font-weight: 600;
+					font-size: 24rpx;
+					color: #000000;
+					line-height: 34rpx;
+				}
 
-      .comment {
-        font-weight: 400;
-        font-size: 24rpx;
-        color: #666666;
-        line-height: 34rpx;
-      }
+				.comment {
+					font-weight: 400;
+					font-size: 24rpx;
+					color: #666666;
+					line-height: 34rpx;
+				}
 
-      .date {
-        font-weight: 400;
-        font-size: 24rpx;
-        color: #666666;
-        line-height: 72rpx;
-      }
-    }
-  }
+				.date {
+					font-weight: 400;
+					font-size: 24rpx;
+					color: #666666;
+					line-height: 72rpx;
+				}
+			}
+		}
 
 
-  .top-img-container {
-    position: relative;
+		.top-img-container {
+			position: relative;
 
-    .top-img {
-      width: 750rpx;
-      height: 764rpx;
-    }
+			.top-img {
+				width: 750rpx;
+				height: 764rpx;
+			}
 
-    .icon-container {
-      position: absolute;
-      top: 20rpx;
-      width: 80rpx;
-      height: 80rpx;
-      background: rgba(0, 0, 0, 0);
+			.icon-container {
+				position: absolute;
+				top: 20rpx;
+				width: 80rpx;
+				height: 80rpx;
+				background: rgba(0, 0, 0, 0);
 
-      .icon-sc {
-        width: 54rpx;
-        height: 54rpx;
-        margin: 0 auto;
-        margin-top: 12rpx;
-        display: inline-block;
-      }
+				.icon-sc {
+					width: 54rpx;
+					height: 54rpx;
+					margin: 0 auto;
+					margin-top: 12rpx;
+					display: inline-block;
+				}
 
-      .icon-shop {
-        width: 54rpx;
-        height: 54rpx;
-        margin: 0 auto;
-        margin-top: 12rpx;
-        display: inline-block;
+				.icon-shop {
+					width: 54rpx;
+					height: 54rpx;
+					margin: 0 auto;
+					margin-top: 12rpx;
+					display: inline-block;
 
-      }
+				}
 
-      .num {
-        font-weight: 400;
-        font-size: 20rpx;
-        color: #FFFFFF;
-        line-height: 28rpx;
-        position: absolute;
-        top: 6prx;
-        right: 16rpx;
-      }
-    }
+				.num {
+					font-weight: 400;
+					font-size: 20rpx;
+					color: #FFFFFF;
+					line-height: 28rpx;
+					position: absolute;
+					top: 6prx;
+					right: 16rpx;
+				}
+			}
 
-    .icon-container:last-child {
-      left: 140rpx;
-    }
+			.icon-container:last-child {
+				left: 140rpx;
+			}
 
-    .icon-container:first-child {
-      left: 40rpx;
-    }
+			.icon-container:first-child {
+				left: 40rpx;
+			}
 
-  }
-}
+		}
+	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3