Skip to content

Commit

Permalink
ci:merge
Browse files Browse the repository at this point in the history
  • Loading branch information
iRuxu committed May 31, 2024
2 parents 2cabb45 + 4d5e692 commit daa47a6
Show file tree
Hide file tree
Showing 9 changed files with 540 additions and 104 deletions.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"update": "npm --registry https://registry.npmjs.org install @jx3box/jx3box-common-ui@latest @jx3box/jx3box-common@latest @jx3box/jx3box-facedat@latest @jx3box/jx3box-comment-ui@latest @jx3box/jx3box-data@latest @jx3box/jx3box-editor@latest @jx3box/jx3box-map@latest"
},
"dependencies": {
"@antv/g2": "^4.1.20",
"@jx3box/jx3box-comment-ui": "^1.8.8",
"@jx3box/jx3box-common": "^8.2.18",
"@jx3box/jx3box-common-ui": "^8.6.0",
Expand Down
108 changes: 101 additions & 7 deletions src/assets/css/exterior/list.less
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
.m-main {
.pb(0);
}
.p-main {
.pt(40px);
.flex();
.pr();
transition: 0.3s all;
.ml(-10px);
.u-back__status {
.none();
}
&.fewer {
.m-left {
max-width: 411px;
.m-more__list {
.u-more_col {
width: 100%;
}
}
}
.m-right {
.pr(80px);
Expand Down Expand Up @@ -38,10 +46,15 @@
}
.m-right {
.pr(80px);
max-width: 100%;
.w(100%);
.pb(40px);
max-width: 100%;
.m-info {
.ml(0);
.m-info__scroll {
max-height: initial;
overflow: initial !important;
}
}
.m-action {
.m-close {
Expand Down Expand Up @@ -84,7 +97,9 @@
}
.m-left {
transition: 0.3s all;
max-width: 100%;
max-height: calc(100vh - @header-height - 80px);
padding: 40px 10px;
width: 100%;
.m-list {
box-shadow: 0px 0px 10px 0px rgba(218, 128, 41, 0.3);
.r(10px);
Expand Down Expand Up @@ -140,12 +155,15 @@
.mt(20px);
.flex();
.flex(y);
.pointer();
background: rgba(255, 193, 134, 0.3);
padding: 11px 13px;
box-sizing: border-box;
.u-img {
.r(5px);
.size(38px);
background-size: cover;
background-position: center;
}
.u-title {
.ml(10px);
Expand All @@ -157,22 +175,44 @@
}
}
}
.m-archive-pages {
.x();
li {
background-color: white;
&:hover {
.color(#da8029);
}
&.active {
background-color: #da8029;
color: white;
}
}
.btn-prev,
.btn-next {
background-color: white;
}
}
&:not(:first-child) {
.mt(20px);
}
}
}
}
.m-right {
.mt(40px);
max-width: 0;
overflow: hidden;
align-self: self-start;
.pr();
.flex();
.m-info__scroll {
max-height: calc(100vh - @header-height - 120px);
}
.m-info {
.ml(40px);
.ml(30px);
.r(30px);
.pr();
box-sizing: border-box;
transition: 0.3s all;
flex-grow: 1;
padding: 40px;
Expand All @@ -183,13 +223,15 @@
.m-body {
.x();
.w(22px);
.mr(2px);
.u-item {
.dbi();
.color(#958b71);
.fz(12px);
.mt(4px);
.pr();
.z(1);
.pointer();
padding: 4px 2px;
border: 1px solid #afa089;
&.act {
Expand All @@ -209,7 +251,6 @@
.m-preview {
.w(158px);
.h(248px);
.ml(2px);
padding: 5px;
box-sizing: border-box;
background-image: url(../../img/exterior/exterior_border.svg);
Expand Down Expand Up @@ -313,17 +354,20 @@
}
.u-exterior {
.db();
.size(100% , 400px);
.w(100%);
.mt(28px);
}
.m-trend-chart {
.mt(40px);
}
}
&::after {
content: "";
.db();
.pa();
.lt(0);
.rb(0);
.z(0);
.size(100%,100%);
.r(30px);
}
&.info-bg1 {
Expand Down Expand Up @@ -360,8 +404,28 @@
.flex(o);
.pointer();
.r(50%);
.pr();
.m-img__pr {
.pr();
.size(20px);
}
.u-img {
.size(20px);
.db();
transition: 0.3s all;
&.u-img__hover {
.pa();
.lt(50%);
transform: translateX(-50%) translateY(-50%);
opacity: 0;
}
}
.u-img__fill {
.pa();
.lt(50%);
transform: translateX(-50%) translateY(-50%);
padding: 10px;
.r(50%);
}
&.u-close {
background: var(
Expand All @@ -382,6 +446,15 @@
.w(100%);
.x();
}
.u-img__fill {
background: #ff4365;
opacity: 0;
}
&:hover {
.u-img__fill {
opacity: 1;
}
}
}
&.u-bag {
background: #da8029;
Expand All @@ -398,6 +471,11 @@
&:not(:first-child) {
.mt(10px);
}
&:hover {
.u-img.u-img__hover {
opacity: 1;
}
}
}
.m-quick {
.mt(30px);
Expand Down Expand Up @@ -507,4 +585,20 @@
}
}
}
.m-left,
.m-right .m-info__scroll {
overflow-y: scroll;
&::-webkit-scrollbar {
width: 0;
}
}
}
// 平板
@media screen and (max-width: 1133px) {
}
// 手机
@media screen and (max-width: 768px) {
.p-main .m-left .m-list .m-box .m-new__list .m-item {
margin: 0 auto;
}
}
Binary file added src/assets/img/exterior/icon/mdi_heart_act.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/img/exterior/icon/ri_dislike-fill.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/pages/exterior.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ reporter.install(Vue);

// 数据与路由
import router from "../router/exterior";
import store from "../store";
import store from "../store/exterior";

import App from "@/views/exterior/index.vue";
new Vue({
Expand Down
49 changes: 45 additions & 4 deletions src/service/exterior.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,54 @@
import { $node } from "@jx3box/jx3box-common/js/https";
import { $node, $cms } from "@jx3box/jx3box-common/js/https";

// 外观类型列表
function getExteriorsTypes() {
return $node().get(`/api/node/v2/exterior/types`);
}

// 外观列表/搜索
function getExteriorsList() {
return $node().get(`/api/node/v2/exterior/list`);
function getExteriorsList(params) {
return $node().get(`/api/node/v2/exterior/list`, {
params,
});
}

export { getExteriorsTypes, getExteriorsList };
// 外观详情
function getExteriorsDetail(id) {
return $node().get(`/api/node/v2/exterior/${id}`);
}

// 外观价格趋势
function getExteriorsPriceTrending(params) {
return $node().get(`/api/node/v2/exterior/price-trending`, {
params,
});
}

// 用户入库外观
function entWarehouse(params) {
return $cms().post(`/api/cms/pvx/exterior/user/store`, {
params,
});
}

// 用户查看自己关注的外观列表
function exteriorUserStar(params) {
return $cms().get(`/api/cms/pvx/exterior/user/star`, {
params,
});
}

// 用户获取/关注/取消收藏外观
function userStarExterior(type, id, params) {
return $cms()[type](`/api/cms/pvx/exterior/user/star/${id}`, params);
}

export {
getExteriorsTypes,
getExteriorsList,
getExteriorsDetail,
getExteriorsPriceTrending,
entWarehouse,
exteriorUserStar,
userStarExterior,
};
32 changes: 32 additions & 0 deletions src/store/exterior.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import Vue from "vue";
import Vuex from "vuex";
import { exteriorUserStar } from "@/service/exterior";

Vue.use(Vuex);

let store = {
state: {
client: location.href.includes("origin") ? "origin" : "std",
userStarExteriorList: [],
},
mutations: {
toState(state, data) {
Object.keys(data).forEach((item) => {
state[item] = data[item];
});
},
toExteriorList(state, data) {
state.userStarExteriorList = data;
},
},

actions: {
getExteriorUserStar(ctx) {
exteriorUserStar().then((res) => {
ctx.commit("toExteriorList", res.data.data);
});
},
},
};

export default new Vuex.Store(store);
7 changes: 5 additions & 2 deletions src/views/exterior/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,13 @@
</template>

<script>
import Nav from "@/components/Nav_v4.vue";
import Nav from "@/components/Nav_v5.vue";
import { __imgPath, __dataPath } from "@jx3box/jx3box-common/data/jx3box.json";
export default {
name: "App",
provide: {},
provide: {
__imgPath,
},
data: function () {
return {
navStatusClass: "is-regular",
Expand Down
Loading

0 comments on commit daa47a6

Please sign in to comment.