Przeglądaj źródła

'2023年8月8日10:03:21'

yxb
wq 1 rok temu
rodzic
commit
2f6e0ff093

+ 210
- 201
pages.json Wyświetl plik

@@ -7,8 +7,8 @@
"navigationBarTitleText": "首页",
"navigationStyle": "custom",
"mp-alipay": { //在支付宝小程序中如果不生效 就加上这两行代码 就会生效啦
"transparentTitle": "always",
"titlePenetrate": "YES"
"transparentTitle": "always",
"titlePenetrate": "YES"
}
}
},
@@ -26,22 +26,22 @@
"navigationBarBackgroundColor": "#22dbc8",
"navigationStyle": "custom",
"mp-alipay": { //在支付宝小程序中如果不生效 就加上这两行代码 就会生效啦
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
}
}
},
{
"path": "pages/service/service",
"style": {
"navigationBarTitleText": "九州ETC",
"navigationStyle": "custom",
"mp-alipay": { //在支付宝小程序中如果不生效 就加上这两行代码 就会生效啦
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
}
}
},
@@ -81,11 +81,9 @@
}
}
],
"subPackages": [
{
"subPackages": [{
"root": "subpackage/after-sale", //售后相关
"pages": [
{
"pages": [{
"path": "account-recharge/recharge",
"style": {
"navigationBarTitleText": "充值",
@@ -793,16 +791,15 @@
},
{
"root": "subpackage/orders", //订单管理模块
"pages": [
{
"pages": [{
"path": "essential-information",
"style": {
"navigationBarTitleText": "九州ETC",
"navigationStyle": "custom",
"mp-alipay": { //在支付宝小程序中如果不生效 就加上这两行代码 就会生效啦
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
}
}
},
@@ -818,9 +815,9 @@
"navigationBarTitleText": "扣款账户关联",
"navigationStyle": "custom",
"mp-alipay": { //在支付宝小程序中如果不生效 就加上这两行代码 就会生效啦
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
}
}
},
@@ -830,9 +827,9 @@
"navigationBarTitleText": "支付账户签约",
"navigationStyle": "custom",
"mp-alipay": { //在支付宝小程序中如果不生效 就加上这两行代码 就会生效啦
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
}
}
},
@@ -854,9 +851,9 @@
"navigationBarTitleText": "ETC开户新办申请-单位",
"navigationStyle": "custom",
"mp-alipay": { //在支付宝小程序中如果不生效 就加上这两行代码 就会生效啦
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
}
}
},
@@ -866,9 +863,9 @@
"navigationBarTitleText": "ETC开户新办申请-个人",
"navigationStyle": "custom",
"mp-alipay": { //在支付宝小程序中如果不生效 就加上这两行代码 就会生效啦
"transparentTitle": "always",
"titlePenetrate": "YES", // 允许点击穿透后,才能触发导航栏上的 onTap 事件
"defaultTitle": "" // 将导航栏默认的 title 置空
"transparentTitle": "always",
"titlePenetrate": "YES", // 允许点击穿透后,才能触发导航栏上的 onTap 事件
"defaultTitle": "" // 将导航栏默认的 title 置空
}
}
},
@@ -878,9 +875,9 @@
"navigationBarTitleText": "行驶证信息上传",
"navigationStyle": "custom",
"mp-alipay": { //在支付宝小程序中如果不生效 就加上这两行代码 就会生效啦
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
}
}
},
@@ -902,9 +899,9 @@
"navigationBarTitleText": "选择产品",
"navigationStyle": "custom",
"mp-alipay": { //在支付宝小程序中如果不生效 就加上这两行代码 就会生效啦
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
}
}
@@ -915,9 +912,9 @@
"navigationBarTitleText": "产品详情",
"navigationStyle": "custom",
"mp-alipay": { //在支付宝小程序中如果不生效 就加上这两行代码 就会生效啦
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
}
}
},
@@ -985,7 +982,7 @@
"path": "moreHighMsg/moreHighMsg",
"style": {
"navigationBarTitleText": "高速快讯",
"enablePullDownRefresh":true
"enablePullDownRefresh": true
}
},
{
@@ -1060,9 +1057,9 @@
"navigationBarTitleText": "补卡额申请",
"navigationStyle": "custom",
"mp-alipay": { //在支付宝小程序中如果不生效 就加上这两行代码 就会生效啦
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
}
}
},
@@ -1150,9 +1147,9 @@
"navigationBarTitleText": "收银",
"navigationStyle": "custom",
"mp-alipay": { //在支付宝小程序中如果不生效 就加上这两行代码 就会生效啦
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
}
}
},
@@ -1162,9 +1159,9 @@
"navigationBarTitleText": "欠费补缴",
"navigationStyle": "custom",
"mp-alipay": { //在支付宝小程序中如果不生效 就加上这两行代码 就会生效啦
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
}
}
},
@@ -1186,161 +1183,174 @@
"navigationBarTitleText": "余额补零",
"navigationStyle": "custom",
"mp-alipay": { //在支付宝小程序中如果不生效 就加上这两行代码 就会生效啦
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
"transparentTitle": "always",
"titlePenetrate": "YES",
"defaultTitle": "" // 将导航栏默认的 title 置空
}
}
}, {
"path": "verify/verify-phone/verify-phone",
"style": {
"navigationBarTitleText": "获取短信验证码",
"enablePullDownRefresh": false
}
}, {
"path": "verify/verify-phone-code/verify-phone-code",
"style": {
"navigationBarTitleText": "短信验证码校验",
"enablePullDownRefresh": false
}
}
]
},
{
{
"root": "subpackage/personal-center", //个人中心
"pages": [
{
"path": "consumption-record",
"style": {
"navigationBarTitleText": "消费明细",
"enablePullDownRefresh": false
}
},
{
"path": "remind/remind",
"style": {
"navigationBarTitleText": "服务提醒",
"enablePullDownRefresh": false
}
},
{
"path": "remind/satisfaction-evaluate",
"style": {
"navigationBarTitleText": "满意度评价"
}
},
{
"path": "remind/evaluate-list",
"style": {
"navigationBarTitleText": "评价列表"
}
},
{
"path": "search/carDetail",
"style": {
"navigationBarTitleText": "车辆详情"
}
},
{
"path": "search/etcFlowingWater",
"style": {
"navigationBarTitleText": "ETC通行流水记录"
}
},
{
"path": "search/select-car",
"style": {
"navigationBarTitleText": "选择车辆"
}
},
{
"path": "search/select-card",
"style": {
"navigationBarTitleText": "选择卡号"
}
},
{
"path": "search/unitUser",
"style": {
"navigationBarTitleText": "单位用户信息"
}
},
{
"path": "search/userInfo",
"style": {
"navigationBarTitleText": "个人用户信息"
}
},
{
"path": "search/obuCancel",
"style": {
"navigationBarTitleText": "卡签注销记录"
}
},
{
"path": "search/cardCancel",
"style": {
"navigationBarTitleText": "卡签注销记录"
}
},
{
"path": "capital/card-loop",
"style": {
"navigationBarTitleText": "存储卡圈存"
}
},
{
"path": "help/help",
"style": {
"navigationBarTitleText": "常见问题"
}
},
{
"path": "old-user",
"style": {
"navigationBarTitleText": "历史用户申请",
"enablePullDownRefresh": true
}
},
{
"path": "address",
"style": {
"navigationBarTitleText": "邮寄地址",
"enablePullDownRefresh": true
}
},
{
"path": "install-activation-order",
"style": {
"navigationBarTitleText": "安装激活-选择订单",
"enablePullDownRefresh": true
}
},
{
"path": "car-submit-record",
"style": {
"navigationBarTitleText": "车辆提交记录"
}
},
{
"path": "official-car-issue",
"style": {
"navigationBarTitleText": "公务车发行"
}
},
{
"path": "query-company-list",
"style": {
"navigationBarTitleText": "单位查询"
}
},
{
"path": "add-company",
"style": {
"navigationBarTitleText": "新增单位"
}
},
{
"path": "add-car",
"style": {
"navigationBarTitleText": "新增车辆"
}
},
{
"path": "official-car-issue-result",
"style": {
"navigationBarTitleText": "公务车发行-查询结果"
}
},
"pages": [{
"path": "consumption-record",
"style": {
"navigationBarTitleText": "消费明细",
"enablePullDownRefresh": false
}
},
{
"path": "remind/remind",
"style": {
"navigationBarTitleText": "服务提醒",
"enablePullDownRefresh": false
}
},
{
"path": "remind/satisfaction-evaluate",
"style": {
"navigationBarTitleText": "满意度评价"
}
},
{
"path": "remind/evaluate-list",
"style": {
"navigationBarTitleText": "评价列表"
}
},
{
"path": "search/carDetail",
"style": {
"navigationBarTitleText": "车辆详情"
}
},
{
"path": "search/etcFlowingWater",
"style": {
"navigationBarTitleText": "ETC通行流水记录"
}
},
{
"path": "search/select-car",
"style": {
"navigationBarTitleText": "选择车辆"
}
},
{
"path": "search/select-card",
"style": {
"navigationBarTitleText": "选择卡号"
}
},
{
"path": "search/unitUser",
"style": {
"navigationBarTitleText": "单位用户信息"
}
},
{
"path": "search/userInfo",
"style": {
"navigationBarTitleText": "个人用户信息"
}
},
{
"path": "search/obuCancel",
"style": {
"navigationBarTitleText": "卡签注销记录"
}
},
{
"path": "search/cardCancel",
"style": {
"navigationBarTitleText": "卡签注销记录"
}
},
{
"path": "capital/card-loop",
"style": {
"navigationBarTitleText": "存储卡圈存"
}
},
{
"path": "help/help",
"style": {
"navigationBarTitleText": "常见问题"
}
},
{
"path": "old-user",
"style": {
"navigationBarTitleText": "历史用户申请",
"enablePullDownRefresh": true
}
},
{
"path": "address",
"style": {
"navigationBarTitleText": "邮寄地址",
"enablePullDownRefresh": true
}
},
{
"path": "install-activation-order",
"style": {
"navigationBarTitleText": "安装激活-选择订单",
"enablePullDownRefresh": true
}
},
{
"path": "car-submit-record",
"style": {
"navigationBarTitleText": "车辆提交记录"
}
},
{
"path": "official-car-issue",
"style": {
"navigationBarTitleText": "公务车发行"
}
},
{
"path": "query-company-list",
"style": {
"navigationBarTitleText": "单位查询"
}
},
{
"path": "add-company",
"style": {
"navigationBarTitleText": "新增单位"
}
},
{
"path": "add-car",
"style": {
"navigationBarTitleText": "新增车辆"
}
},
{
"path": "official-car-issue-result",
"style": {
"navigationBarTitleText": "公务车发行-查询结果"
}
},
{
"path": "trajectory/trajectory",
"style": {
@@ -1509,7 +1519,7 @@
"style": {
"navigationBarTitleText": "修改手机号"
}
},
},
{
"path": "excel",
"style": {
@@ -1574,8 +1584,7 @@
{
//其他服务模块
"root": "subpackage/service",
"pages": [
{
"pages": [{
"path": "trajectory-map",
"style": {
"navigationBarTitleText": "我的轨迹"

+ 1
- 1
subpackage/after-sale/pin-code-deblocking/pin-code-confirm.vue Wyświetl plik

@@ -200,7 +200,7 @@
let cmdArray = result.command ? result.command.split(",") : "";
if (cmdArray.length > 0) {
tools.showLoadingAlert("正在执行指令");
bluetoothUtil.transCmd(cmdArray, "10", function(res) {0
bluetoothUtil.transCmd(cmdArray, "10", function(res) {
let cosResponse = res.join(",");
if (cosResponse == "6985") {
tools.showModalAlert("此卡未锁定", function successFunc() {});

+ 18
- 5
subpackage/orders/choice-product.vue Wyświetl plik

@@ -32,7 +32,8 @@

<view class="as-layout-horizontal">
<view v-for="(item, index) in state.radiolist1" :key="index" :label="item.disabled" :name="item.name"
@click="radioChange(item.name)" style="width: 100%;display: flex;align-items: center;margin-bottom: 30rpx;">
@click="radioChange(item.name)"
style="width: 100%;display: flex;align-items: center;margin-bottom: 30rpx;">
<view class="as-layout-vertical as-gravity-center">
<image style="width: 140rpx; height: 100rpx; border-radius: 20rpx;margin-right: 20rpx;"
:src="`${$imgUrl}card2.png`" mode="aspectFill"></image>
@@ -52,12 +53,10 @@
import { reactive, ref } from "vue";
import { etcQueryProduct, productReCode } from "@/utils/network/api.js";
import { request } from "@/utils/network/request.js";

import { stringToJson } from "@/utils/network/encryption";
import { fileURL } from "@/datas/fileURL.js";
import navBgCar from "./components/nav-bg-car1";
import navBar from "@/components/nav-bar/nav-bar2.vue";

import { getItem, StorageKeys, setItem } from "@/utils/storage.ts";
import { msg } from "@/utils/utils";
const imgURL = `${fileURL}image/`;
@@ -81,14 +80,27 @@
});
}
const savaHandle = (val) => {
state.choiceCardShow = true;
console.log("vAL", val)
setItem("clientFee", val.clientFee);
setItem("promoteId", val.promoteId);
setItem("isValueCard", val.isValueCard);
state.isSign = val.isSign;
// 判断是几张卡
console.log("val.cardTypeArr.split(",")",val.cardTypeArr.split(","))
console.log("val.cardTypeArr.split(", ")", val.cardTypeArr.split(","))
if (val.promoteName.indexOf('选装') != -1) {
if (val.cardTypeArr.split(",")[0] == "记账卡") {
state.isValueCard = 2
} else if (val.cardTypeArr.split(",")[0] == '储值卡') {
state.isValueCard = 1
} else {
state.isValueCard = 3
}
uni.redirectTo({
url: `/subpackage/orders/verify/verify-phone/verify-phone?promoteId=${getItem("promoteId")}&userType=${state.userType}&type=${state.type}&isValueCard=${state.isValueCard}`,
});
return
}

if (val.cardTypeArr.split(",").length == 1) {
if (val.cardTypeArr.split(",")[0] == "记账卡") {
state.isValueCard = 2
@@ -109,6 +121,7 @@
obj["disabled"] = false;
state.radiolist1.push(obj)
}
state.choiceCardShow = true;
console.log("state.radiolist1", state.radiolist1)
}
};

+ 175
- 0
subpackage/orders/verify/verify-phone-code/verify-phone-code.vue Wyświetl plik

@@ -0,0 +1,175 @@
<!-- 注册第2步 -->
<template>
<view class="register-main">
<view class="title">请输入验证码</view>
<view class="hint">验证码已发送至:{{ phone }}</view>
<view class="input-code">
<verification-code-input v-model="code"></verification-code-input>
</view>
<view class="hint2">
<view class="green">{{ codeDuration === 0 ? "" : codeDuration }}</view>
<view class="grey" @click="sendRegisterCode">{{
codeDuration === 0 ? "重新发送验证码" : "秒后可重新发送验证码"
}}</view>
</view>
</view>

<view class="btn">
<submit-button title="更换手机号" @submit="nextStep"></submit-button>
</view>
</template>

<script setup lang="ts">
import {
msg,
navTo
} from "@/utils/utils";
import {
onLoad
} from "@dcloudio/uni-app";
import {
ref,
reactive
} from "vue";
import {
request
} from "@/utils/network/request";
import {
sendCode,
changePhone
} from "@/utils/network/api.js";
import {
useUserStore
} from '@/stores/user';

const state = reactive({
promoteId: '',
userType: '',
type: '',
isValueCard: '',
phone: "", //电话
checked: false, //是否勾选阅读协议
});
const userStore = useUserStore();
const {
loginOutNoConfirm
} = userStore;
//上个界面传递的电话号码
const phone = ref("");
const code = ref(null);

//倒计时时常
const codeDuration = ref(0);
let interval = null;

onLoad((option) => {
state.type = option.type; //客车
state.userType = option.userType;
state.promoteId = option.promoteId;
state.isValueCard=option.isValueCard
phone.value = option.phone;
codeInterval();
});

/* 验证码倒计时 */
const codeInterval = () => {
codeDuration.value = 60;
interval = setInterval(() => {
codeDuration.value--;
if (codeDuration.value === 0) {
if (interval) {
clearInterval(interval);
interval = null;
}
}
}, 1000);
};

/* 发送验证码 */
const sendRegisterCode = () => {
if (codeDuration.value !== 0) {
return;
}
const options = {
type: 2,
data: {
mobile: phone.value
},
method: "POST",
showLoading: true,
};
request(sendCode, options).then((res) => {
msg("验证码发送成功!");
codeInterval();
});
};

/* 下一步 */
const nextStep = () => {
if (!code.value) {
msg("请先输入验证码!");
return;
}

const options = {
type: 2,
data: {
mobile: phone.value,
code: code.value
},
method: "POST",
showLoading: true,
};
request('966', options).then((res) => {
uni.redirectTo({
url: `/subpackage/orders/essential-information?promoteId=${state.promoteId}&userType=${state.userType}&type=${state.type}&isValueCard=${state.isValueCard}`,
});
});
};
</script>

<style lang="scss" scoped>
.register-main {
border-top: 1rpx solid #dcdcdc;
padding: 78rpx 30rpx 50rpx;

.title {
font-size: 32rpx;
color: #333333;
font-weight: 600;
}

.hint {
font-size: 24rpx;
color: #999999;
margin-top: 20rpx;
}
}

.input-code {
margin: 100rpx -10rpx 0px;
}

.hint2 {
margin-top: 40rpx;
display: flex;

.green {
font-size: 28rpx;
color: #00b38b;
}

.grey {
font-size: 24rpx;
color: #999999;
margin-left: 16rpx;
}
}

.btn {
margin: 200rpx 40rpx 0px;
}
</style>

+ 193
- 0
subpackage/orders/verify/verify-phone/verify-phone.vue Wyświetl plik

@@ -0,0 +1,193 @@
<!-- 注册第1步 -->
<template>
<view class="register-main">
<view class="title">业务办理</view>
<view class="hint">请输入办理手机号</view>

<view class="form-input">
<view> +86</view>
<image :src="`${$imgUrl}common/arror_down_black.png`" class="arror" />
<input class="input" v-model="state.phone" focus placeholder="请输入手机号" placeholder-class="form-placeholder"
type="number" maxlength="11" />
</view>

<view class="agreement">
<checkbox-group @change="checkboxChange" class="group">
<checkbox :checked="state.checked" color="#00B38B" style="transform:scale(0.85)">
</checkbox>
<label>我已阅读并同意</label>
</checkbox-group>
<!-- <view class="txt-grey">我已阅读并同意</view> -->
<view class="txt-green" @click="toRead">《平台用户服务隐私协议》</view>
</view>
</view>

<view class="btn">
<submit-button title="同意协议并获取验证码" @submit="nextStep"></submit-button>
</view>
</template>

<script setup lang="ts">
import uCheckBox from "@/uni_modules/vk-uview-ui/components/u-checkbox/u-checkbox.vue";
import {
reactive
} from "vue";
import {
checkStr,
msg,
navTo
} from "@/utils/utils";
import {
sendCode,
regist
} from "@/utils/network/api.js";
import {
request
} from "@/utils/network/request.js";
import { onLoad } from "@dcloudio/uni-app";

const state = reactive({
promoteId: '',
userType: '',
type: '',
isValueCard: '',
phone: "", //电话
checked: false, //是否勾选阅读协议
});
onLoad((option: any) => {
state.type = option.type; //客车
state.userType = option.userType;
state.promoteId = option.promoteId;
state.isValueCard=option.isValueCard
});

const checkboxChange = (e) => {
console.log(e);
state.checked = !state.checked;
};
// 去协议页面
const toRead=()=>{
navTo("/login/agreement")
}

/* 下一步 */
const nextStep = () => {
if (!state.phone) {
msg("请输入手机号!");
return;
}
if (!checkStr(state.phone, "mobile")) {
msg("请输入正确的手机号!");
return;
}
if (!state.checked) {
msg("请勾选我已阅读并同意《平台用户服务隐私协议》");
return;
}

const options = {
type: 2,
data: {
mobile: state.phone
},
method: "POST",
showLoading: true,
};
request(sendCode, options)
.then((res) => {
msg("验证码发送成功!");
navTo(`/subpackage/orders/verify/verify-phone-code/verify-phone-code?phone=${state.phone}&promoteId=${state.promoteId}&userType=${state.userType}&type=${state.type}&isValueCard=${state.isValueCard}`);
})
.catch((err) => {
console.log(err);
});
};
</script>

<style lang="scss" scoped>
.group {
display: flex;
align-items: center;
}
.register-main {
border-top: 1rpx solid #dcdcdc;
padding: 78rpx 30rpx 50rpx;

.title {
font-size: 32rpx;
color: #333333;
font-weight: 600;
}

.hint {
font-size: 24rpx;
color: #999999;
margin-top: 20rpx;
}

.form-input {
margin-top: 80rpx;
display: flex;
flex-direction: row;
align-items: center;
height: 90rpx;
border-bottom: 1rpx solid #dcdcdc;
padding: 0rpx 12rpx;
font-size: 28rpx;
color: #333333;

&:last-child {
margin-top: 50rpx;
}

.input {
flex: 1;
padding-right: 48rpx;
background: transparent;
}

.arror {
width: 28rpx;
height: 25rpx;
margin-left: 16rpx;
margin-right: 40rpx;
}

.eye {
width: 48rpx;
height: 48rpx;
}
}

.form-placeholder {
color: #999999;
}

.agreement {
font-size: 24rpx;
display: flex;
align-items: center;
margin-top: 60rpx;

.txt-grey {
color: #666666;
}

.txt-green {
color: #00b38b;
}

:deep(.u-checkbox) {
margin-right: -20rpx;
}
}
}

.btn {
margin: 200rpx 40rpx 0px;
}
</style>

Ładowanie…
Anuluj
Zapisz