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