From 552ceda11ab448fda302b30c2b61d91e6f097f94 Mon Sep 17 00:00:00 2001 From: huangjinming Date: Mon, 5 Dec 2022 13:44:18 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=84=E4=BB=B6=E6=8B=86=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .postcssrc.js | 38 +- src/components/market/FilterLeft.vue | 8 +- src/components/market/PriceFilter.vue | 101 +++++ src/components/market/PropertySelect.vue | 119 +++++ src/components/market/SearchInput.vue | 62 +++ src/components/market/Slider.vue | 11 +- src/components/market/filters/Chipfilter.vue | 218 ++++++++- src/components/market/filters/Herofilter.vue | 246 ++++------ .../market/filters/Weaponfilter.vue | 214 ++++++++- src/views/desktop/Market.vue | 2 +- src/views/desktop/MyNft.vue | 427 ++++++++++-------- 11 files changed, 1068 insertions(+), 378 deletions(-) create mode 100644 src/components/market/PriceFilter.vue create mode 100644 src/components/market/PropertySelect.vue create mode 100644 src/components/market/SearchInput.vue diff --git a/.postcssrc.js b/.postcssrc.js index ae3cdf5..43d1ea8 100644 --- a/.postcssrc.js +++ b/.postcssrc.js @@ -1,22 +1,22 @@ - module.exports = { - plugins: { - autoprefixer: {}, // 用来给不同的浏览器自动添加相应前缀,如-webkit-,-moz-等等 - "postcss-px-to-viewport": { - unitToConvert: "px", // 要转化的单位 - viewportWidth: 1080, // UI设计稿的宽度 - unitPrecision: 6, // 转换后的精度,即小数点位数 - propList: ["*"], // 指定转换的css属性的单位,*代表全部css属性的单位都进行转换 - viewportUnit: "vw", // 指定需要转换成的视窗单位,默认vw - fontViewportUnit: "vw", // 指定字体需要转换成的视窗单位,默认vw - selectorBlackList: ["wrap"], // 指定不转换为视窗单位的类名, - minPixelValue: 1, // 默认值1,小于或等于1px则不进行转换 - mediaQuery: true, // 是否在媒体查询的css代码中也进行转换,默认false - replace: true, // 是否转换后直接更换属性值 - exclude: [/\/src\/views\/desktop\//], // 设置忽略文件,用正则做目录名匹配 - landscape: false // 是否处理横屏情况 - }, + // module.exports = { + // plugins: { + // autoprefixer: {}, // 用来给不同的浏览器自动添加相应前缀,如-webkit-,-moz-等等 + // "postcss-px-to-viewport": { + // unitToConvert: "px", // 要转化的单位 + // viewportWidth: 1080, // UI设计稿的宽度 + // unitPrecision: 6, // 转换后的精度,即小数点位数 + // propList: ["*"], // 指定转换的css属性的单位,*代表全部css属性的单位都进行转换 + // viewportUnit: "vw", // 指定需要转换成的视窗单位,默认vw + // fontViewportUnit: "vw", // 指定字体需要转换成的视窗单位,默认vw + // selectorBlackList: ["wrap"], // 指定不转换为视窗单位的类名, + // minPixelValue: 1, // 默认值1,小于或等于1px则不进行转换 + // mediaQuery: true, // 是否在媒体查询的css代码中也进行转换,默认false + // replace: true, // 是否转换后直接更换属性值 + // exclude: [/\/src\/views\/desktop\//], // 设置忽略文件,用正则做目录名匹配 + // landscape: false // 是否处理横屏情况 + // }, - } - }; + // } + // }; diff --git a/src/components/market/FilterLeft.vue b/src/components/market/FilterLeft.vue index 12f3c8c..cfd6a12 100644 --- a/src/components/market/FilterLeft.vue +++ b/src/components/market/FilterLeft.vue @@ -1,8 +1,8 @@ @@ -11,7 +11,7 @@ import Herofilter from "@/components/market/filters/Herofilter"; import Weaponfilter from "@/components/market/filters/Weaponfilter"; import Chipfilter from "@/components/market/filters/Chipfilter"; export default { - props: ["nftType","value"], + props: ["nftType","value",'isType'], components: { Herofilter, Chipfilter, diff --git a/src/components/market/PriceFilter.vue b/src/components/market/PriceFilter.vue new file mode 100644 index 0000000..ca3e099 --- /dev/null +++ b/src/components/market/PriceFilter.vue @@ -0,0 +1,101 @@ + + + + diff --git a/src/components/market/PropertySelect.vue b/src/components/market/PropertySelect.vue new file mode 100644 index 0000000..9f9c664 --- /dev/null +++ b/src/components/market/PropertySelect.vue @@ -0,0 +1,119 @@ + + + + diff --git a/src/components/market/SearchInput.vue b/src/components/market/SearchInput.vue new file mode 100644 index 0000000..f47a6e9 --- /dev/null +++ b/src/components/market/SearchInput.vue @@ -0,0 +1,62 @@ + + + + diff --git a/src/components/market/Slider.vue b/src/components/market/Slider.vue index 3e6604f..34f6ae2 100644 --- a/src/components/market/Slider.vue +++ b/src/components/market/Slider.vue @@ -4,7 +4,8 @@
- {{ scale * 15 }} + + {{curValue}}
@@ -52,6 +53,11 @@ export default { return false; }; }, + watch: { + curValue(newVal, old) { + this.$emit("onChange", newVal); + }, + }, computed: { // 设置一个百分比,提供计算slider进度宽度和trunk的left值 // 对应公式为 当前值-最小值/最大值-最小值 = slider进度width / slider总width @@ -59,6 +65,9 @@ export default { scale() { return (this.per - this.min) / (this.max - this.min); }, + curValue(){ + return this.max === 100 ? parseInt(this.scale * this.max) + "%" : this.scale * this.max + }, width() { if (this.slider) { return this.slider.offsetWidth * this.scale + "px"; diff --git a/src/components/market/filters/Chipfilter.vue b/src/components/market/filters/Chipfilter.vue index df1564e..ebd1656 100644 --- a/src/components/market/filters/Chipfilter.vue +++ b/src/components/market/filters/Chipfilter.vue @@ -1,22 +1,230 @@ \ No newline at end of file + + diff --git a/src/components/market/filters/Herofilter.vue b/src/components/market/filters/Herofilter.vue index d89512e..e878b66 100644 --- a/src/components/market/filters/Herofilter.vue +++ b/src/components/market/filters/Herofilter.vue @@ -1,18 +1,8 @@ diff --git a/src/components/market/filters/Weaponfilter.vue b/src/components/market/filters/Weaponfilter.vue index 2be00e6..9275e79 100644 --- a/src/components/market/filters/Weaponfilter.vue +++ b/src/components/market/filters/Weaponfilter.vue @@ -1,22 +1,228 @@ \ No newline at end of file + + diff --git a/src/views/desktop/Market.vue b/src/views/desktop/Market.vue index 8c1c808..ebb5d52 100644 --- a/src/views/desktop/Market.vue +++ b/src/views/desktop/Market.vue @@ -85,7 +85,7 @@ export default class Market extends Vue { display: flex; flex-direction: column; // align-items: center; - background-image: url(../../assets/market/bg.png.png); + background-image: url('../../assets/market/bg.png.png'); } .container { display: flex; diff --git a/src/views/desktop/MyNft.vue b/src/views/desktop/MyNft.vue index 5b88053..e4b82d0 100644 --- a/src/views/desktop/MyNft.vue +++ b/src/views/desktop/MyNft.vue @@ -3,32 +3,58 @@
-
- - +
+ + + + + + +
+
+ + +
- - - -
-
- - -
> @@ -36,29 +62,30 @@