This commit is contained in:
cclu 2025-04-11 19:19:43 +08:00
parent c0beb494b9
commit 31a65d5c2d
81 changed files with 1517 additions and 678 deletions

View File

@ -249,4 +249,7 @@ export default {
<style>
/*每个页面公共css */
.vue-ref {
z-index: 999 !important;
}
</style>

View File

@ -722,72 +722,77 @@
ref="popup"
:show="isShow"
:safe-area="false"
@close="handleClosePopup"
@maskClick="handleClosePopup"
:mask-click="false"
:is-mask-click="false"
>
<div
class="popupDetailBox"
:style="{
height: comeForm === 'home' ? '80vh' : '95vh',
}"
>
<div class="popupTitle">
<div class="closeIcon" @click="handleClosePopup">
<image
class="img"
src="https://eshangtech.com/wanmeiyizhanImg/home/closeIcon.svg"
/>
</div>
<div clsas="title">电桩详情</div>
<div class="closeIcon"></div>
</div>
<div class="popupTab">
<div
:class="
item.value === selectPopup ? 'tabItem selectTabItem' : 'tabItem'
"
v-for="(item, index) in popupTab"
:key="index"
@click="handleChangeSelectPopup(item.value)"
>
{{ item.label }}
{{ item.sum ? `(${item.sum})` : "" }}
</div>
</div>
<scroll-view
class="stationList"
scroll-y
<!-- @close="handleClosePopup"
@maskClick="handleClosePopup" -->
<view class="popupBigBox" @touchmove.stop.prevent>
<div
class="popupDetailBox"
:style="{
height: `calc(${
comeForm === 'home' ? 80 : 95
}vh - 108rpx - 56rpx - 24rpx - ${comeForm === 'home' ? 100 : 0}px)`,
paddingBottom: comeForm === 'home' ? 0 : '',
height: comeForm === 'home' ? '80vh' : '95vh',
}"
>
<div
class="stationItem"
v-for="(item, index) in chargeDetailList"
:key="index"
<div class="popupTitle">
<div class="closeIcon" @click="handleClosePopup">
<image
class="img"
src="https://eshangtech.com/wanmeiyizhanImg/home/closeIcon.svg"
/>
</div>
<div clsas="title">电桩详情</div>
<div class="closeIcon"></div>
</div>
<div class="popupTab">
<div
:class="
item.value === selectPopup ? 'tabItem selectTabItem' : 'tabItem'
"
v-for="(item, index) in popupTab"
:key="index"
@click="handleChangeSelectPopup(item.value)"
>
{{ item.label }}
{{ item.sum ? `(${item.sum})` : "" }}
</div>
</div>
<scroll-view
class="stationList"
scroll-y
:style="{
height: `calc(${
comeForm === 'home' ? 80 : 95
}vh - 108rpx - 56rpx - 24rpx - ${
comeForm === 'home' ? 100 : 0
}px)`,
paddingBottom: comeForm === 'home' ? 0 : '',
}"
>
<div
class="leftItem"
:style="{
backgroundImage: `url(${
item.Status === 0 || item.Status === 255
? 'https://eshangtech.com/minTestImg/offGrid.svg'
: item.Power >= 240
? 'https://eshangtech.com/minTestImg/overfilling.svg'
: item.Power <= 130 && item.Power >= 60
? 'https://eshangtech.com/minTestImg/occupy.svg'
: item.Power < 60
? 'https://eshangtech.com/minTestImg/idle.svg'
: ''
})`,
}"
class="stationItem"
v-for="(item, index) in chargeDetailList"
:key="index"
>
<!-- item.Status === 0
<div
class="leftItem"
:style="{
backgroundImage: `url(${
item.Status === 0 || item.Status === 255
? 'https://eshangtech.com/minTestImg/offGrid.svg'
: item.Power >= 240
? 'https://eshangtech.com/minTestImg/overfilling.svg'
: item.Power <= 130 && item.Power >= 60
? 'https://eshangtech.com/minTestImg/occupy.svg'
: item.Power < 60
? 'https://eshangtech.com/minTestImg/idle.svg'
: ''
})`,
}"
>
<!-- item.Status === 0
? 'https://eshangtech.com/wanmeiyizhanImg/home/offGrid.svg'
: item.Status === 1
? 'https://eshangtech.com/wanmeiyizhanImg/home/idle.svg'
@ -801,166 +806,177 @@
? 'https://eshangtech.com/wanmeiyizhanImg/home/offGrid.svg'
: '' -->
<div
class="chargeType"
:style="{
color:
item.Status === 0 || item.Status === 255
? '#B8B7B4'
<div
class="chargeType"
:style="{
color:
item.Status === 0 || item.Status === 255
? '#B8B7B4'
: item.Power >= 240
? '#FF5959'
: item.Power <= 130 && item.Power >= 60
? '#FF8830'
: item.Power < 60
? '#01BD8B'
: '',
}"
>
{{
item.Status === 0
? "离网"
: item.Status === 255
? "故障"
: item.Power >= 240
? '#FF5959'
? "超充"
: item.Power <= 130 && item.Power >= 60
? '#FF8830'
: item.Power < 60
? '#01BD8B'
: '',
}"
>
{{
item.Status === 0
? "离网"
: item.Status === 255
? "故障"
: item.Power >= 240
? "超充"
: item.Power <= 130 && item.Power >= 60
? "‌快充"
: "慢充"
}}
? "‌快充"
: "慢充"
}}
</div>
<div
v-if="item.Status !== 0 && item.Status !== 255"
class="stausType"
:style="{
color:
item.Power >= 240
? '#FF5959'
: item.Power <= 130 && item.Power >= 60
? '#FF8830'
: item.Power < 60
? '#01BD8B'
: '',
}"
>
{{
item.Status === 2 || item.Status === 3 || item.Status === 4
? "占用"
: item.Status === 1
? "空闲"
: ""
}}
</div>
</div>
<div class="rightItem" @click="handleGoMin">
<div class="messageBox">
<span class="label">电桩编号</span>
<span class="value">{{ item.ConnectorID || "" }}</span>
</div>
<div class="messageBox">
<span class="label">额定电压</span>
<span class="value"
>{{
item.VoltageLowerLimits
? item.VoltageLowerLimits + "v"
: ""
}}{{
item.VoltageUpperLimits && item.VoltageLowerLimits
? "-"
: ""
}}{{
item.VoltageUpperLimits
? `${item.VoltageUpperLimits}v`
: ""
}}</span
>
</div>
<div class="messageBox">
<span class="label">最大功率</span>
<span class="value">{{
item.Power ? item.Power + "kw" : ""
}}</span>
</div>
<div class="noticeList">
<div
class="noticeItem"
style="margin-right: 12rpx"
v-if="item.ConnectorType"
>
{{
item.ConnectorType === 1
? "家用插座"
: item.ConnectorType === 2
? "交流接口插座"
: item.ConnectorType === 3
? "交流接口插头"
: item.ConnectorType === 4
? "直流接口插头"
: item.ConnectorType === 5
? "无线充电座"
: ""
}}
</div>
<div class="noticeItem" v-if="item.NationalStandard">
{{
`国标${
item.NationalStandard === 1
? "2001"
: item.NationalStandard === 2
? "2015"
: ""
}`
}}
</div>
</div>
</div>
<div
v-if="item.Status !== 0 && item.Status !== 255"
class="stausType"
class="statusBox"
v-if="
item.Status === 2 || item.Status === 3 || item.Status === 4
"
:style="{
color:
item.Power >= 240
? '#FF5959'
: item.Power <= 130 && item.Power >= 60
: item.Power <= 130 && item.Power > 60
? '#FF8830'
: item.Power < 60
? '#01BD8B'
: '',
backgroundColor:
item.Power >= 240
? '#FFF1F1'
: item.Power <= 130 && item.Power > 60
? '#FBF2EB'
: item.Power < 60
? '#EAF4F1'
: '',
}"
>
<image
v-if="item.Status === 3"
class="chargeIcon"
:src="
item.Power >= 240
? 'https://eshangtech.com/wanmeiyizhanImg/home/fast.svg'
: item.Power <= 130 && item.Power > 60
? 'https://eshangtech.com/wanmeiyizhanImg/home/normal.svg'
: item.Power < 60
? 'https://eshangtech.com/wanmeiyizhanImg/home/slow.svg'
: ''
"
/>
{{
item.Status === 2 || item.Status === 3 || item.Status === 4
item.Status === 2
? "占用"
: item.Status === 1
? "空闲"
: item.Status === 3
? "充电中"
: item.Status === 4
? "预约锁定"
: ""
}}
</div>
</div>
<div class="rightItem" @click="handleGoMin">
<div class="messageBox">
<span class="label">电桩编号</span>
<span class="value">{{ item.ConnectorID || "" }}</span>
</div>
<div class="messageBox">
<span class="label">额定电压</span>
<span class="value"
>{{
item.VoltageLowerLimits
? item.VoltageLowerLimits + "v"
: ""
}}{{
item.VoltageUpperLimits && item.VoltageLowerLimits
? "-"
: ""
}}{{
item.VoltageUpperLimits ? `${item.VoltageUpperLimits}v` : ""
}}</span
>
</div>
<div class="messageBox">
<span class="label">最大功率</span>
<span class="value">{{
item.Power ? item.Power + "kw" : ""
}}</span>
</div>
</scroll-view>
</div>
<div class="noticeList">
<div
class="noticeItem"
style="margin-right: 12rpx"
v-if="item.ConnectorType"
>
{{
item.ConnectorType === 1
? "家用插座"
: item.ConnectorType === 2
? "交流接口插座"
: item.ConnectorType === 3
? "交流接口插头"
: item.ConnectorType === 4
? "直流接口插头"
: item.ConnectorType === 5
? "无线充电座"
: ""
}}
</div>
<div class="noticeItem" v-if="item.NationalStandard">
{{
`国标${
item.NationalStandard === 1
? "2001"
: item.NationalStandard === 2
? "2015"
: ""
}`
}}
</div>
</div>
</div>
<div
class="statusBox"
v-if="item.Status === 2 || item.Status === 3 || item.Status === 4"
:style="{
color:
item.Power >= 240
? '#FF5959'
: item.Power <= 130 && item.Power > 60
? '#FF8830'
: item.Power < 60
? '#01BD8B'
: '',
backgroundColor:
item.Power >= 240
? '#FFF1F1'
: item.Power <= 130 && item.Power > 60
? '#FBF2EB'
: item.Power < 60
? '#EAF4F1'
: '',
}"
>
<image
v-if="item.Status === 3"
class="chargeIcon"
:src="
item.Power >= 240
? 'https://eshangtech.com/wanmeiyizhanImg/home/fast.svg'
: item.Power <= 130 && item.Power > 60
? 'https://eshangtech.com/wanmeiyizhanImg/home/normal.svg'
: item.Power < 60
? 'https://eshangtech.com/wanmeiyizhanImg/home/slow.svg'
: ''
"
/>
{{
item.Status === 2
? "占用"
: item.Status === 3
? "充电中"
: item.Status === 4
? "预约锁定"
: ""
}}
</div>
</div>
</scroll-view>
</div>
<view
class="popup-mask"
@catchtouchmove="preventTouchMove"
@click="handleClosePopup"
></view>
</view>
</uni-popup>
</view>
</template>
@ -1072,6 +1088,9 @@ export default {
},
// #endif
methods: {
preventTouchMove(e) {
return false; // 穿
},
//
handleGoDetail(id, obj) {
console.log("this.pageType", this.pageType);
@ -2442,7 +2461,10 @@ export default {
if (nameList && nameList.length > 0) {
nameList.forEach((subItem) => {
let sortName = subItem.split("服务区")[0];
if (item.StationName.indexOf(sortName) !== -1) {
if (
item.Address.indexOf(sortName) !== -1 &&
item.Address.indexOf("方向") !== -1
) {
allnewStationList.push(item);
}
});
@ -2475,7 +2497,10 @@ export default {
if (newStationList && newStationList.length > 0) {
newStationList.forEach((subItem) => {
if (subItem.StationName.indexOf(sortName) !== -1) {
if (
subItem.Address.indexOf(sortName) !== -1 &&
subItem.Address.indexOf("方向") !== -1
) {
if (
subItem.EquipmentInfos &&
subItem.EquipmentInfos.length > 0
@ -3343,186 +3368,211 @@ export default {
}
}
.popupDetailBox {
.popupBigBox {
width: 100vw;
height: 95vh;
background: #fff;
box-sizing: border-box;
padding: 0 32rpx;
.popupTitle {
width: 100%;
height: 108rpx;
display: flex;
align-items: center;
justify-content: space-between;
.closeIcon {
width: 32rpx;
height: 32rpx;
.img {
height: 100vh;
.popupDetailBox {
width: 100vw;
background: #fff;
box-sizing: border-box;
padding: 0 32rpx;
position: fixed;
bottom: 0;
left: 0;
// position: relative;
z-index: 1000; /* 确保内容在蒙层之上 */
.popupTitle {
width: 100%;
height: 108rpx;
display: flex;
align-items: center;
justify-content: space-between;
.closeIcon {
width: 32rpx;
height: 32rpx;
.img {
width: 32rpx;
height: 32rpx;
}
}
.title {
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 32rpx;
color: #130f05;
line-height: 44rpx;
text-align: left;
font-style: normal;
}
}
.title {
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 32rpx;
color: #130f05;
line-height: 44rpx;
text-align: left;
font-style: normal;
}
}
.popupTab {
width: 100%;
height: 56rpx;
display: flex;
align-items: center;
justify-content: space-between;
.tabItem {
width: calc((100% - 72rpx) / 4);
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 28rpx;
color: #716f69;
line-height: 40rpx;
text-align: left;
font-style: normal;
background: #f5f5f5;
border-radius: 8rpx;
display: flex;
align-items: center;
justify-content: center;
padding: 8rpx 0;
box-sizing: border-box;
}
.selectTabItem {
background: #f8f4ea;
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 28rpx;
color: #ba922f;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
}
.stationList {
width: 100%;
margin-top: 24rpx;
box-sizing: border-box;
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
.stationItem {
.popupTab {
width: 100%;
box-sizing: border-box;
padding: 32rpx;
height: 56rpx;
display: flex;
align-items: center;
background: #f9f9f9;
margin-bottom: 24rpx;
position: relative;
.leftItem {
width: 152rpx;
height: 152rpx;
margin-right: 24rpx;
justify-content: space-between;
.tabItem {
width: calc((100% - 72rpx) / 4);
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 28rpx;
color: #716f69;
line-height: 40rpx;
text-align: left;
font-style: normal;
background: #f5f5f5;
border-radius: 8rpx;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background-repeat: no-repeat;
background-size: 100% 100%;
.chargeType {
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 32rpx;
color: #01bd8b;
line-height: 44rpx;
text-align: left;
font-style: normal;
padding: 8rpx 0;
box-sizing: border-box;
}
.selectTabItem {
background: #f8f4ea;
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 28rpx;
color: #ba922f;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
}
.stationList {
width: 100%;
margin-top: 24rpx;
box-sizing: border-box;
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
.stationItem {
width: 100%;
box-sizing: border-box;
padding: 32rpx;
display: flex;
align-items: center;
background: #f9f9f9;
margin-bottom: 24rpx;
position: relative;
.leftItem {
width: 152rpx;
height: 152rpx;
margin-right: 24rpx;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background-repeat: no-repeat;
background-size: 100% 100%;
.chargeType {
font-family: PingFangSC, PingFang SC;
font-weight: 600;
font-size: 32rpx;
color: #01bd8b;
line-height: 44rpx;
text-align: left;
font-style: normal;
}
.stausType {
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #01bd8b;
line-height: 32rpx;
text-align: left;
font-style: normal;
}
}
.stausType {
.rightItem {
.messageBox {
display: flex;
align-items: center;
margin-bottom: 8rpx;
.label {
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #716f69;
line-height: 36rpx;
text-align: left;
font-style: normal;
margin-right: 16rpx;
}
.value {
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #130f05;
line-height: 36rpx;
text-align: left;
font-style: normal;
}
}
.noticeList {
width: 100%;
display: flex;
align-items: center;
.noticeItem {
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 22rpx;
color: #130f05;
line-height: 36rpx;
text-align: left;
font-style: normal;
padding: 0 10rpx;
background: #eef0f6;
border-radius: 4rpx;
}
}
}
.statusBox {
border-radius: 0rpx 16rpx 0rpx 16rpx;
padding: 10rpx 12rpx;
position: absolute;
right: 0;
top: 0;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #01bd8b;
line-height: 32rpx;
line-height: 36rpx;
text-align: left;
font-style: normal;
}
}
.rightItem {
.messageBox {
display: flex;
align-items: center;
margin-bottom: 8rpx;
.label {
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #716f69;
line-height: 36rpx;
text-align: left;
font-style: normal;
margin-right: 16rpx;
.chargeIcon {
width: 24rpx;
height: 24rpx;
}
.value {
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
color: #130f05;
line-height: 36rpx;
text-align: left;
font-style: normal;
}
}
.noticeList {
width: 100%;
display: flex;
align-items: center;
.noticeItem {
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 22rpx;
color: #130f05;
line-height: 36rpx;
text-align: left;
font-style: normal;
padding: 0 10rpx;
background: #eef0f6;
border-radius: 4rpx;
}
}
}
.statusBox {
border-radius: 0rpx 16rpx 0rpx 16rpx;
padding: 10rpx 12rpx;
position: absolute;
right: 0;
top: 0;
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 24rpx;
line-height: 36rpx;
text-align: left;
font-style: normal;
display: flex;
align-items: center;
.chargeIcon {
width: 24rpx;
height: 24rpx;
}
}
}
.stationList ::-webkit-scrollbar {
display: none;
width: 0;
}
}
.stationList ::-webkit-scrollbar {
display: none;
width: 0;
.popup-mask {
width: 100vw;
height: 100vh;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
// background-color: rgba(0, 0, 0, 0.5);
background-color: rgba(0, 0, 0, 0);
z-index: 999;
pointer-events: auto; /* 允许蒙层拦截触摸事件 */
/* 以下可选 */
backdrop-filter: blur(2px); /* iOS 毛玻璃效果(可选) */
transition: opacity 0.3s; /* 淡入淡出动画(可选) */
}
}
</style>

View File

@ -68,69 +68,74 @@
</template>
<script>
export default {
props: {
isShow: false,
oinp: ''
},
data () {
return {
keyVehicle1: ['陕', '京', '津', '沪', '冀', '豫', '云', '辽', '吉', '黑'],
keyVehicle2: ['湘', '皖', '鲁', '苏', '浙', '赣', '甘', '晋', '蒙', '闽'],
keyVehicle3: ['鄂', '桂', '粤', '川', '青', '藏', '琼', '宁', '贵', '渝'],
keyVehicle4: ['新', '使', '领', '警', '学', '港', '澳'],
keyNumber: '1234567890',
keyEnInput1: 'QWERTYUIOP',
keyEnInput2: 'ASDFGHJKL',
keyEnInput3: 'ZXCVBNM',
backgroundColor: '#cfd5dc',
keyBoardType: 1,
buttonBorder: '1px solid #ccc'
}
},
methods: {
vehicleTap: function (event) {
console.log(event)
switch (event) {
case 'delete':
this.$emit('delete')
// this.$emit('inputchange', event)
break
case 'ok':
this.$emit('ok')
break
case 'exit':
this.$emit('exit')
break
default:
if (event === 'I' || event === 'O') {
return
export default {
props: {
isShow: false,
oinp: "",
keyBoardType: {
type: Number,
default: 1,
},
// keyBoardType: 1,
},
data() {
return {
keyVehicle1: ["陕", "京", "津", "沪", "冀", "豫", "云", "辽", "吉", "黑"],
keyVehicle2: ["湘", "皖", "鲁", "苏", "浙", "赣", "甘", "晋", "蒙", "闽"],
keyVehicle3: ["鄂", "桂", "粤", "川", "青", "藏", "琼", "宁", "贵", "渝"],
keyVehicle4: ["新", "使", "领", "警", "学", "港", "澳"],
keyNumber: "1234567890",
keyEnInput1: "QWERTYUIOP",
keyEnInput2: "ASDFGHJKL",
keyEnInput3: "ZXCVBNM",
backgroundColor: "#cfd5dc",
// keyBoardType: 1,
buttonBorder: "1px solid #ccc",
};
},
methods: {
vehicleTap: function (event) {
console.log("event", event);
switch (event) {
case "delete":
this.$emit("delete");
// this.$emit('inputchange', event)
break;
case "ok":
this.$emit("ok");
break;
case "exit":
this.$emit("exit");
break;
default:
if (event === "I" || event === "O") {
return;
}
this.$emit('inputchange', event)
}
},
colse_da () {
this.$emit('exit2')
},
check () {
if (this.keyBoardType === 1) {
this.keyBoardType = 2
} else if (this.keyBoardType === 2) {
this.keyBoardType = 1
}
}
}
}
this.$emit("inputchange", event);
}
},
colse_da() {
this.$emit("exit2");
},
check() {
if (this.keyBoardType === 1) {
this.keyBoardType = 2;
} else if (this.keyBoardType === 2) {
this.keyBoardType = 1;
}
},
},
};
</script>
<style scoped>
:host {
width: 100%;
}
.bgf7 {
background: #fefefe;
}
/* .panel-wrap {
:host {
width: 100%;
}
.bgf7 {
background: #fefefe;
}
/* .panel-wrap {
position: fixed;
top: 0;
left: 0;
@ -139,94 +144,94 @@
background: rgba(0, 0, 0, 0.5);
z-index: 999;
} */
.vehicle-panel {
width: 100%;
position: fixed;
bottom: 0;
display: flex;
flex-direction: column;
justify-content: center;
z-index: 1000;
background: #fff;
padding-bottom: 28rpx;
}
.jik {
width: 0.6rem;
height: 0.8rem;
}
.vehicle-panel {
width: 100%;
position: fixed;
bottom: 0;
display: flex;
flex-direction: column;
justify-content: center;
z-index: 1000;
background: #fff;
padding-bottom: 28rpx;
}
.jik {
width: 0.6rem;
height: 0.8rem;
}
.vehicle-panel-row {
display: flex;
justify-content: center;
align-items: center;
}
.vehicle-panel-row-last {
display: flex;
justify-content: center;
align-items: center;
}
.vehicle-panel-row-button {
background-color: #fff;
margin: 7rpx 5rpx;
font-size: 32rpx;
width: 60rpx;
height: 80rpx;
text-align: center;
line-height: 80rpx;
border-radius: 10rpx;
box-shadow: 0 2rpx 4rpx #7f7f7f;
}
.vehicle-panel-row-button-number {
background-color: #eee;
box-shadow: none;
}
/* .vehicle-panel-row-button-last {
.vehicle-panel-row {
display: flex;
justify-content: center;
align-items: center;
}
.vehicle-panel-row-last {
display: flex;
justify-content: center;
align-items: center;
}
.vehicle-panel-row-button {
background-color: #fff;
margin: 7rpx 5rpx;
font-size: 32rpx;
width: 60rpx;
height: 80rpx;
text-align: center;
line-height: 80rpx;
border-radius: 10rpx;
box-shadow: 0 2rpx 4rpx #7f7f7f;
}
.vehicle-panel-row-button-number {
background-color: #eee;
box-shadow: none;
}
/* .vehicle-panel-row-button-last {
width: 0.9rem;
height: 0.9rem;
line-height: 0.9rem;
} */
.vehicle-hover {
background-color: #ccc;
}
.vehicle-panel-row-button-img {
display: flex;
justify-content: center;
align-items: center;
width: 96rpx;
background: #acb3bd;
font-size: 28rpx;
box-shadow: 0 2rpx 4rpx #acb3bd;
}
.vehicle-en-button-delete {
width: 52rpx;;
height: 80rpx;
}
.vehicle-panel-ok {
background-color: #6a7cff;
color: #fff;
width: 1.5rem;
height: 0.8rem;
line-height: 0.8rem;
}
.topItem {
display: flex;
justify-content: flex-end;
align-items: center;
height: 80rpx;
/* background: #f0f0f0; */
}
.exit {
margin-right: 30rpx;
color: #000;
font-size: 28rpx;
display: block;
line-height: 0.5rem;
}
.check {
margin-left: 0.3rem;
color: #6a7cff;
font-size: 0.28rem;
display: block;
line-height: 0.5rem;
}
.vehicle-hover {
background-color: #ccc;
}
.vehicle-panel-row-button-img {
display: flex;
justify-content: center;
align-items: center;
width: 96rpx;
background: #acb3bd;
font-size: 28rpx;
box-shadow: 0 2rpx 4rpx #acb3bd;
}
.vehicle-en-button-delete {
width: 52rpx;
height: 80rpx;
}
.vehicle-panel-ok {
background-color: #6a7cff;
color: #fff;
width: 1.5rem;
height: 0.8rem;
line-height: 0.8rem;
}
.topItem {
display: flex;
justify-content: flex-end;
align-items: center;
height: 80rpx;
/* background: #f0f0f0; */
}
.exit {
margin-right: 30rpx;
color: #000;
font-size: 28rpx;
display: block;
line-height: 0.5rem;
}
.check {
margin-left: 0.3rem;
color: #6a7cff;
font-size: 0.28rem;
display: block;
line-height: 0.5rem;
}
</style>

View File

@ -1,5 +1,5 @@
<template>
<div class="main" :style="{ background: pageStyle === 1 ? '' : ' #F5F7F9' }">
<page-meta class="main" :style="{ background: pageStyle === 1 ? '' : ' #F5F7F9' }">
<div
v-if="loginType === 'min'"
:class="pageStyle === 1 ? 'topBox' : 'topBox newTopBox'"
@ -393,7 +393,7 @@
</div>
</div>
<tabbar :page="'/pages/home/index'" />
</div>
</page-meta>
</template>
<script>
import { mapGetters, mapMutations } from "vuex";
@ -2348,6 +2348,7 @@ export default {
padding: 24rpx 32rpx 0;
padding-bottom: calc(110rpx + env(safe-area-inset-bottom));
padding-bottom: calc(110rpx + env(safe-area-inset-bottom));
background: #F5F7F9;
.newMajorFun {
margin-top: 0;
background: #ffffff;

View File

@ -32,6 +32,102 @@
</div>
</div>
</div>
<div class="bindTypeBox" v-if="!haveCode">
<span class="bindTrain" @click="handleChangeBindType">{{
bindCarType === 1 ? "绑定货车" : "绑定轿车"
}}</span>
</div>
<!-- 货车的内容 -->
<view v-if="bindCarType === 2">
<div class="bindPopup">
<div class="fileItem">
<div class="itemTitle">身份证<span style="color: red">*</span></div>
<div class="uploadImgBox">
<div class="submitImgBox" @click="submitImg('1')" v-if="!haveCode">
<image class="addIcon" src="/static/home/addImageIcon.svg" />
</div>
<div
class="imgItem"
v-for="(item, index) in IDCardImgList"
:key="index"
>
<image
:src="item"
@click="showImg2(index, IDCardImgList)"
mode="aspectFill"
/>
<div
class="closeBox"
@click.stop="deleteImgFuncResponse(IDCardImgList, index)"
v-if="!haveCode"
>
<image class="closeIcon" src="/static/home/closeIcon.svg" />
</div>
</div>
</div>
</div>
<div class="fileItem">
<div class="itemTitle">驾驶证<span style="color: red">*</span></div>
<div class="uploadImgBox">
<div class="submitImgBox" @click="submitImg('2')" v-if="!haveCode">
<image class="addIcon" src="/static/home/addImageIcon.svg" />
</div>
<div
class="imgItem"
v-for="(item, index) in driverLicenseList"
:key="index"
>
<image
:src="item"
@click="showImg2(index, driverLicenseList)"
mode="aspectFill"
/>
<div
class="closeBox"
@click.stop="deleteImgFuncResponse(driverLicenseList, index)"
v-if="!haveCode"
>
<image class="closeIcon" src="/static/home/closeIcon.svg" />
</div>
</div>
</div>
</div>
<div class="fileItem">
<div class="itemTitle">行驶证<span style="color: red">*</span></div>
<div class="uploadImgBox">
<div class="submitImgBox" @click="submitImg('3')" v-if="!haveCode">
<image class="addIcon" src="/static/home/addImageIcon.svg" />
</div>
<div
class="imgItem"
v-for="(item, index) in drivingLicenseList"
:key="index"
>
<image
:src="item"
@click="showImg2(index, drivingLicenseList)"
mode="aspectFill"
/>
<div
class="closeBox"
@click.stop="deleteImgFuncResponse(drivingLicenseList, index)"
v-if="!haveCode"
>
<image class="closeIcon" src="/static/home/closeIcon.svg" />
</div>
</div>
</div>
</div>
</div>
</view>
<!-- 确认绑定按钮 -->
<div class="confirmBox" @click="handleConfirmCode" v-if="!haveCode">
确认绑定
@ -41,9 +137,49 @@
解绑车辆
</div>
<!-- 货车司机 -->
<!-- <div class="confirmBox" style="margin-top: 26rpx" @click="handleBindTruck">
绑定货车
</div> -->
<!-- <uni-popup
ref="popup"
:show="showPopup"
:safe-area="false"
@close="handleClosePopup"
@maskClick="handleClosePopup"
>
<div class="bindPopup">
<div class="fileItem">
<div class="itemTitle">身份证<span style="color: red">*</span></div>
<div class="uploadImgBox">
<div class="submitImgBox" @click="submitImg('1')">
<image class="addIcon" src="/static/home/addImageIcon.svg" />
</div>
<div
class="imgItem"
v-for="(item, index) in IDCardImgList"
:key="index"
>
<image
:src="item"
@click="showImg2(index, IDCardImgList)"
mode="aspectFill"
/>
<div class="closeBox" @click.stop="deleteImgFunc(item, index)">
<image class="closeIcon" src="/static/home/closeIcon.svg" />
</div>
</div>
</div>
</div>
</div>
</uni-popup> -->
<div>
<keyboard
:isShow="isShow"
:keyBoardType="defaultKeyWordType"
@inputchange="inputChange"
@delete="delValue"
@ok="confirmboard"
@ -98,6 +234,12 @@ export default {
saveCarText: ["皖", "A", "", "", "", "", "", ""],
newEnergy: true, //
haveCode: false, // code
defaultKeyWordType: 1, // 1 2
showPopup: false,
IDCardImgList: [], //
driverLicenseList: [], //
drivingLicenseList: [], //
bindCarType: 1, // 1 轿 2
};
},
computed: {
@ -109,6 +251,166 @@ export default {
keyboard,
},
methods: {
//
handleChangeBindType() {
if (this.bindCarType === 1) {
this.bindCarType = 2;
} else {
this.bindCarType = 1;
}
},
//
handleBindTruck() {
this.handleOpenDetail();
},
//
handleClosePopup() {
this.$refs.popup.close();
},
//
handleOpenDetail() {
this.$refs.popup.open("bottom");
},
showImg2(index, imgList) {
uni.previewImage({
urls: imgList,
current: index,
loop: true,
indicator: "number",
});
},
//
deleteImgFuncResponse(item, index) {
console.log("item", item);
item = item.splice(index, 1);
this.$forceUpdate();
},
submitImg(type) {
let _this = this;
uni.chooseImage({
count: 9, //9
sizeType: ["original", "compressed"],
sourceType: ["camera"],
// "album",
success: function (rs) {
let quality = 100;
if (rs.tempFiles[0].size > 1024 * 200) {
quality = ((1024 * 200) / rs.tempFiles[0].size) * 100;
}
if (quality < 100 && rs.tempFiles[0].path.indexOf(".jpg") > -1) {
uni.compressImage({
src: rs.tempFilePaths[0], //
quality: quality, //
success(res) {
console.log("res", res);
let data = {};
if (res.data) {
data = JSON.parse(res.data);
}
console.log("data", data);
uni.showLoading({
title: "图片上传中...",
});
uni.uploadFile({
// url: "https://user.eshangtech.com/Coop.Merchant/Handler/handler_ajax.ashx?action_type=UploadFile&folder=MBWA",
// url: "https://es.robot-z.cn/oss/upload",
url: "https://es.eshangtech.com/oss/upload",
filePath: res.tempFilePath,
header: {
"Content-Type": "multipart/form-data",
},
formData: {},
fileType: "image",
name: "file",
success(res) {
console.log("res", res);
let data = {};
if (res.data) {
data = JSON.parse(res.data);
}
console.log("data", data);
uni.hideLoading();
if (type === "1") {
//
_this.IDCardImgList.push(
`https://es.eshangtech.com/${data.data.path}`
);
} else if (type === "2") {
//
_this.driverLicenseList.push(
`https://es.eshangtech.com/${data.data.path}`
);
} else if (type === "3") {
//
_this.drivingLicenseList.push(
`https://es.eshangtech.com/${data.data.path}`
);
}
// _this.$forceUpdate();
},
fail(error) {
console.log("error", error);
_this.noPost = true;
},
});
},
fail(error) {
_this.noPost = true;
},
});
} else {
uni.showLoading({
title: "图片上传中...",
});
uni.uploadFile({
// url: "https://user.eshangtech.com/Coop.Merchant/Handler/handler_ajax.ashx?action_type=UploadFile&folder=MBWA",
// url: "https://es.robot-z.cn/oss/upload",
url: "https://es.eshangtech.com/oss/upload",
filePath: rs.tempFilePaths[0],
fileType: "image",
header: {
"Content-Type": "multipart/form-data",
},
name: "file",
success(res) {
console.log("res", res);
let data = {};
if (res.data) {
data = JSON.parse(res.data);
}
console.log("data", data);
uni.hideLoading();
if (type === "1") {
//
_this.IDCardImgList.push(
`https://es.eshangtech.com/${data.data.path}`
);
} else if (type === "2") {
//
_this.driverLicenseList.push(
`https://es.eshangtech.com/${data.data.path}`
);
} else if (type === "3") {
//
_this.drivingLicenseList.push(
`https://es.eshangtech.com/${data.data.path}`
);
}
// _this.$forceUpdate();
},
fail(error) {
console.log("error", error);
_this.noPost = true;
},
});
}
},
fail: function (err) {},
});
},
//
handleConfirmCode() {
console.log("this.saveCarText", this.saveCarText);
@ -141,12 +443,47 @@ export default {
return;
}
}
if (this.bindCarType === 2) {
if (!(this.IDCardImgList && this.IDCardImgList.length > 0)) {
uni.showModal({
title: "温馨提示",
content: "请上传身份证!",
showCancel: false,
});
return;
}
if (!(this.driverLicenseList && this.driverLicenseList.length > 0)) {
uni.showModal({
title: "温馨提示",
content: "请上传驾驶证!",
showCancel: false,
});
return;
}
if (!(this.drivingLicenseList && this.drivingLicenseList.length > 0)) {
uni.showModal({
title: "温馨提示",
content: "请上传行驶证!",
showCancel: false,
});
return;
}
}
//
let imgObj = {
IDCardImgList: _this.IDCardImgList,
driverLicenseList: _this.driverLicenseList,
drivingLicenseList: _this.drivingLicenseList,
};
_this.$api
.getCoop({
action_type: "BindVehicle",
LicensePlate: carText,
VehicleType: _this.newEnergy ? "新能源" : "",
ImageInfo: _this.bindCarType === 2 ? JSON.stringify(imgObj) : "",
})
.then((res) => {
console.log("res", res);
@ -214,6 +551,16 @@ export default {
this.isShow = false;
},
focusInput(value) {
console.log("valudsadase", value);
console.log("saveCarText", this.saveCarText);
//
if (value === 0) {
this.defaultKeyWordType = 1;
} else {
this.defaultKeyWordType = 2;
}
console.log("this.defaultKeyWordType", this.defaultKeyWordType);
if (this.haveCode) {
uni.showToast({
title: "已有关联车辆!如需修改请先解绑",
@ -230,8 +577,6 @@ export default {
let _this = this;
if (_this.cards && _this.cards.length > 0) {
let obj = _this.cards[0];
console.log("user", _this.user);
console.log("obj", obj);
uni.showModal({
title: "确认取消绑定?",
content: "取消绑定后将无法恢复",
@ -242,11 +587,14 @@ export default {
action_type: "UnbindVehicle",
MEMBERSHIPVEHICLE_ID: obj.MEMBERSHIPVEHICLE_ID,
LicensePlate: obj.License_Plate,
Membership_Id: _this.user.MEMBERSHIP_ID,
// Membership_Id: _this.user.MEMBERSHIP_ID,
})
.then((res) => {
console.log("res", res);
if (res.Result_Code === 100) {
_this.IDCardImgList = [];
_this.driverLicenseList = [];
_this.drivingLicenseList = [];
uni.showModal({
content: res.Result_Desc,
cancelColor: "#000000",
@ -285,8 +633,16 @@ export default {
console.log("_this.cards", _this.cards);
if (_this.cards && _this.cards.length > 0) {
let obj = _this.cards[0];
console.log("obj", obj);
console.log("obj321321", obj);
let code = obj.License_Plate;
if (obj.ImageInfo) {
_this.bindCarType = 2;
let imgObj = JSON.parse(obj.ImageInfo);
console.log("imgObj", imgObj);
_this.IDCardImgList = imgObj.IDCardImgList;
_this.driverLicenseList = imgObj.driverLicenseList;
_this.drivingLicenseList = imgObj.drivingLicenseList;
}
_this.saveCarText = code.split("");
_this.haveCode = true;
} else {
@ -300,7 +656,8 @@ export default {
uni.navigateTo({ url: "/pages/homeFn/bindingCar/index" });
},
},
onShow() {
onShow() {},
onLoad() {
this.isLoading = true;
this.getList();
},
@ -431,7 +788,7 @@ export default {
justify-content: center;
}
.cancelBox {
font-family: PingFangSC, PingFang SC;
font-family: "PingFangSC";
font-weight: 400;
font-size: 32rpx;
height: 88rpx;
@ -449,6 +806,101 @@ export default {
border: 1px solid #b8b7b4;
margin-top: 24rpx;
}
.bindPopup {
width: 100%;
box-sizing: border-box;
padding: 0 32rpx;
border-top-left-radius: 32rpx;
border-top-right-radius: 32rpx;
padding-bottom: env(safe-area-inset-bottom);
.fileItem {
margin-bottom: 24rpx;
.itemTitle {
font-family: "PingFangSC";
font-weight: 400;
font-size: 32rpx;
line-height: 44rpx;
text-align: left;
font-style: normal;
margin-bottom: 16rpx;
}
.uploadImgBox {
width: 100%;
margin-top: 16rpx;
display: flex;
align-items: center;
flex-wrap: wrap;
.submitImgBox {
width: 148rpx;
height: 148rpx;
background: #fff;
border-radius: 8rpx;
display: flex;
align-items: center;
justify-content: center;
margin-right: 16rpx;
.addIcon {
width: 48rpx;
height: 48rpx;
color: #b4b5ba;
}
}
.imgItem {
width: 148rpx;
height: 148rpx;
margin-right: 16rpx;
position: relative;
border-radius: 8rpx;
overflow: hidden;
image {
width: 100%;
height: 100%;
}
.closeBox {
width: 32rpx;
height: 32rpx;
border-radius: 0rpx 8rpx 0rpx 8rpx;
background: rgba(6, 10, 25, 0.5);
display: flex;
align-items: center;
justify-content: center;
position: absolute;
top: 0;
right: 0;
.closeIcon {
width: 24rpx;
height: 24rpx;
}
}
}
}
}
}
.bindTypeBox {
width: 100%;
box-sizing: border-box;
padding: 0 32rpx;
display: flex;
align-items: center;
justify-content: flex-end;
margin-bottom: 8px;
.bindTrain {
font-family: "PingFangSC";
font-weight: 400;
font-size: 30rpx;
line-height: 36rpx;
color: #ba922f;
text-align: left;
font-style: normal;
}
}
}
page {

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742524490484" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2590" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128"><path d="M864 448 512 448 512 96C512 78.08 497.92 64 480 64 462.08 64 448 78.08 448 96L448 448 96 448C78.08 448 64 462.08 64 480 64 497.92 78.08 512 96 512L448 512l0 352C448 881.92 462.08 896 480 896 497.92 896 512 881.92 512 864L512 512l352 0C881.92 512 896 497.92 896 480 896 462.08 881.92 448 864 448z" p-id="2591" fill="#b4b5ba"></path></svg>

After

Width:  |  Height:  |  Size: 670 B

17
static/home/closeIcon.svg Normal file
View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="12px" height="12px" viewBox="0 0 12 12" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>编组_29备份@2x</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="切图" transform="translate(-190.000000, -29.000000)">
<g id="编组-29备份" transform="translate(190.000000, 29.000000)">
<rect id="矩形" x="0" y="0" width="12" height="12"></rect>
<g id="通用图标/关闭" transform="translate(1.000000, 1.000000)">
<rect id="矩形" x="0" y="0" width="10" height="10"></rect>
<g id="close" transform="translate(0.625000, 0.625000)" stroke="#999DA3" stroke-width="0.975">
<path d="M8.83875,0 L4.419375,4.419375 L0,8.83875 M0,0 L4.419375,4.419375 L8.83875,8.83875" id="形状"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -249,4 +249,7 @@
/*每个页面公共css */
.vue-ref {
z-index: 999 !important;
}

View File

@ -12366,7 +12366,7 @@ var api = {
data.ownerUnitId = _index.default.getters.ownerUnitId || data.ownerUnitId || '';
data.Membership_Id = _index.default.getters.user.MEMBERSHIP_ID || _index.default.getters.user.MemberShipID || data.MEMBERSHIP_ID || '';
data.MembershipId = _index.default.getters.user.MEMBERSHIP_ID || _index.default.getters.user.MemberShipID || data.MEMBERSHIP_ID || '';
data.MEMBERSHIP_ID = _index.default.getters.user.MEMBERSHIP_ID || _index.default.getters.user.MemberShipID || data.MEMBERSHIP_ID || '';
// data.MEMBERSHIP_ID = Store.getters.user.MEMBERSHIP_ID || Store.getters.user.MemberShipID || data.MEMBERSHIP_ID || ''
var requstOptions = {
url: isWebApi ? _this.url + control : _this.url,
data: data,

View File

@ -192,46 +192,51 @@ exports.default = void 0;
var _default = {
props: {
isShow: false,
oinp: ''
oinp: "",
keyBoardType: {
type: Number,
default: 1
}
// keyBoardType: 1,
},
data: function data() {
return {
keyVehicle1: ['陕', '京', '津', '沪', '冀', '豫', '云', '辽', '吉', '黑'],
keyVehicle2: ['湘', '皖', '鲁', '苏', '浙', '赣', '甘', '晋', '蒙', '闽'],
keyVehicle3: ['鄂', '桂', '粤', '川', '青', '藏', '琼', '宁', '贵', '渝'],
keyVehicle4: ['新', '使', '领', '警', '学', '港', '澳'],
keyNumber: '1234567890',
keyEnInput1: 'QWERTYUIOP',
keyEnInput2: 'ASDFGHJKL',
keyEnInput3: 'ZXCVBNM',
backgroundColor: '#cfd5dc',
keyBoardType: 1,
buttonBorder: '1px solid #ccc'
keyVehicle1: ["陕", "京", "津", "沪", "冀", "豫", "云", "辽", "吉", "黑"],
keyVehicle2: ["湘", "皖", "鲁", "苏", "浙", "赣", "甘", "晋", "蒙", "闽"],
keyVehicle3: ["鄂", "桂", "粤", "川", "青", "藏", "琼", "宁", "贵", "渝"],
keyVehicle4: ["新", "使", "领", "警", "学", "港", "澳"],
keyNumber: "1234567890",
keyEnInput1: "QWERTYUIOP",
keyEnInput2: "ASDFGHJKL",
keyEnInput3: "ZXCVBNM",
backgroundColor: "#cfd5dc",
// keyBoardType: 1,
buttonBorder: "1px solid #ccc"
};
},
methods: {
vehicleTap: function vehicleTap(event) {
console.log(event);
console.log("event", event);
switch (event) {
case 'delete':
this.$emit('delete');
case "delete":
this.$emit("delete");
// this.$emit('inputchange', event)
break;
case 'ok':
this.$emit('ok');
case "ok":
this.$emit("ok");
break;
case 'exit':
this.$emit('exit');
case "exit":
this.$emit("exit");
break;
default:
if (event === 'I' || event === 'O') {
if (event === "I" || event === "O") {
return;
}
this.$emit('inputchange', event);
this.$emit("inputchange", event);
}
},
colse_da: function colse_da() {
this.$emit('exit2');
this.$emit("exit2");
},
check: function check() {
if (this.keyBoardType === 1) {

View File

@ -1,106 +1,106 @@
.data-v-a6f5c6bc:host {
width: 100%;
width: 100%;
}
.bgf7.data-v-a6f5c6bc {
background: #fefefe;
background: #fefefe;
}
/* .panel-wrap {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 999;
} */
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 999;
} */
.vehicle-panel.data-v-a6f5c6bc {
width: 100%;
position: fixed;
bottom: 0;
display: flex;
flex-direction: column;
justify-content: center;
z-index: 1000;
background: #fff;
padding-bottom: 28rpx;
width: 100%;
position: fixed;
bottom: 0;
display: flex;
flex-direction: column;
justify-content: center;
z-index: 1000;
background: #fff;
padding-bottom: 28rpx;
}
.jik.data-v-a6f5c6bc {
width: 0.6rem;
height: 0.8rem;
width: 0.6rem;
height: 0.8rem;
}
.vehicle-panel-row.data-v-a6f5c6bc {
display: flex;
justify-content: center;
align-items: center;
display: flex;
justify-content: center;
align-items: center;
}
.vehicle-panel-row-last.data-v-a6f5c6bc {
display: flex;
justify-content: center;
align-items: center;
display: flex;
justify-content: center;
align-items: center;
}
.vehicle-panel-row-button.data-v-a6f5c6bc {
background-color: #fff;
margin: 7rpx 5rpx;
font-size: 32rpx;
width: 60rpx;
height: 80rpx;
text-align: center;
line-height: 80rpx;
border-radius: 10rpx;
box-shadow: 0 2rpx 4rpx #7f7f7f;
background-color: #fff;
margin: 7rpx 5rpx;
font-size: 32rpx;
width: 60rpx;
height: 80rpx;
text-align: center;
line-height: 80rpx;
border-radius: 10rpx;
box-shadow: 0 2rpx 4rpx #7f7f7f;
}
.vehicle-panel-row-button-number.data-v-a6f5c6bc {
background-color: #eee;
box-shadow: none;
background-color: #eee;
box-shadow: none;
}
/* .vehicle-panel-row-button-last {
width: 0.9rem;
height: 0.9rem;
line-height: 0.9rem;
} */
width: 0.9rem;
height: 0.9rem;
line-height: 0.9rem;
} */
.vehicle-hover.data-v-a6f5c6bc {
background-color: #ccc;
background-color: #ccc;
}
.vehicle-panel-row-button-img.data-v-a6f5c6bc {
display: flex;
justify-content: center;
align-items: center;
width: 96rpx;
background: #acb3bd;
font-size: 28rpx;
box-shadow: 0 2rpx 4rpx #acb3bd;
display: flex;
justify-content: center;
align-items: center;
width: 96rpx;
background: #acb3bd;
font-size: 28rpx;
box-shadow: 0 2rpx 4rpx #acb3bd;
}
.vehicle-en-button-delete.data-v-a6f5c6bc {
width: 52rpx;
height: 80rpx;
width: 52rpx;
height: 80rpx;
}
.vehicle-panel-ok.data-v-a6f5c6bc {
background-color: #6a7cff;
color: #fff;
width: 1.5rem;
height: 0.8rem;
line-height: 0.8rem;
background-color: #6a7cff;
color: #fff;
width: 1.5rem;
height: 0.8rem;
line-height: 0.8rem;
}
.topItem.data-v-a6f5c6bc {
display: flex;
justify-content: flex-end;
align-items: center;
height: 80rpx;
/* background: #f0f0f0; */
display: flex;
justify-content: flex-end;
align-items: center;
height: 80rpx;
/* background: #f0f0f0; */
}
.exit.data-v-a6f5c6bc {
margin-right: 30rpx;
color: #000;
font-size: 28rpx;
display: block;
line-height: 0.5rem;
margin-right: 30rpx;
color: #000;
font-size: 28rpx;
display: block;
line-height: 0.5rem;
}
.check.data-v-a6f5c6bc {
margin-left: 0.3rem;
color: #6a7cff;
font-size: 0.28rem;
display: block;
line-height: 0.5rem;
margin-left: 0.3rem;
color: #6a7cff;
font-size: 0.28rem;
display: block;
line-height: 0.5rem;
}

File diff suppressed because one or more lines are too long

View File

@ -669,6 +669,7 @@
box-sizing: border-box;
padding: 24rpx 32rpx 0;
padding-bottom: calc(110rpx + env(safe-area-inset-bottom));
background: #F5F7F9;
}
.main .newContent .newMajorFun.data-v-71e217db {
margin-top: 0;

View File

@ -173,7 +173,18 @@ var _default = {
saveCarText: ["皖", "A", "", "", "", "", "", ""],
newEnergy: true,
// 是否是新能源
haveCode: false // 判断是否已经有了code
haveCode: false,
// 判断是否已经有了code
defaultKeyWordType: 1,
// 默认的键盘类型 1是 省份 2是 车牌号
showPopup: false,
IDCardImgList: [],
// 身份证 上传的图片
driverLicenseList: [],
// 驾驶证 上传的图片
drivingLicenseList: [],
// 行驶证 上传的图片
bindCarType: 1 // 绑定车的类型 1 轿车 2 货车
};
},
@ -184,6 +195,155 @@ var _default = {
keyboard: keyboard
},
methods: {
// 修改绑定类型
handleChangeBindType: function handleChangeBindType() {
if (this.bindCarType === 1) {
this.bindCarType = 2;
} else {
this.bindCarType = 1;
}
},
// 绑定货车
handleBindTruck: function handleBindTruck() {
this.handleOpenDetail();
},
// 关闭悬浮框 货车的
handleClosePopup: function handleClosePopup() {
this.$refs.popup.close();
},
// 打开悬浮框 货车的
handleOpenDetail: function handleOpenDetail() {
this.$refs.popup.open("bottom");
},
showImg2: function showImg2(index, imgList) {
uni.previewImage({
urls: imgList,
current: index,
loop: true,
indicator: "number"
});
},
// 删除答案里面的图片
deleteImgFuncResponse: function deleteImgFuncResponse(item, index) {
console.log("item", item);
item = item.splice(index, 1);
this.$forceUpdate();
},
submitImg: function submitImg(type) {
var _this = this;
uni.chooseImage({
count: 9,
//默认9
sizeType: ["original", "compressed"],
sourceType: ["camera"],
// "album",
success: function success(rs) {
var quality = 100;
if (rs.tempFiles[0].size > 1024 * 200) {
quality = 1024 * 200 / rs.tempFiles[0].size * 100;
}
if (quality < 100 && rs.tempFiles[0].path.indexOf(".jpg") > -1) {
uni.compressImage({
src: rs.tempFilePaths[0],
// 图片路径
quality: quality,
// 压缩质量
success: function success(res) {
console.log("res", res);
var data = {};
if (res.data) {
data = JSON.parse(res.data);
}
console.log("data", data);
uni.showLoading({
title: "图片上传中..."
});
uni.uploadFile({
// url: "https://user.eshangtech.com/Coop.Merchant/Handler/handler_ajax.ashx?action_type=UploadFile&folder=MBWA",
// url: "https://es.robot-z.cn/oss/upload",
url: "https://es.eshangtech.com/oss/upload",
filePath: res.tempFilePath,
header: {
"Content-Type": "multipart/form-data"
},
formData: {},
fileType: "image",
name: "file",
success: function success(res) {
console.log("res", res);
var data = {};
if (res.data) {
data = JSON.parse(res.data);
}
console.log("data", data);
uni.hideLoading();
if (type === "1") {
// 身份证的数组
_this.IDCardImgList.push("https://es.eshangtech.com/".concat(data.data.path));
} else if (type === "2") {
// 驾驶证的图片
_this.driverLicenseList.push("https://es.eshangtech.com/".concat(data.data.path));
} else if (type === "3") {
// 行驶证图片
_this.drivingLicenseList.push("https://es.eshangtech.com/".concat(data.data.path));
}
// _this.$forceUpdate();
},
fail: function fail(error) {
console.log("error", error);
_this.noPost = true;
}
});
},
fail: function fail(error) {
_this.noPost = true;
}
});
} else {
uni.showLoading({
title: "图片上传中..."
});
uni.uploadFile({
// url: "https://user.eshangtech.com/Coop.Merchant/Handler/handler_ajax.ashx?action_type=UploadFile&folder=MBWA",
// url: "https://es.robot-z.cn/oss/upload",
url: "https://es.eshangtech.com/oss/upload",
filePath: rs.tempFilePaths[0],
fileType: "image",
header: {
"Content-Type": "multipart/form-data"
},
name: "file",
success: function success(res) {
console.log("res", res);
var data = {};
if (res.data) {
data = JSON.parse(res.data);
}
console.log("data", data);
uni.hideLoading();
if (type === "1") {
// 身份证的数组
_this.IDCardImgList.push("https://es.eshangtech.com/".concat(data.data.path));
} else if (type === "2") {
// 驾驶证的图片
_this.driverLicenseList.push("https://es.eshangtech.com/".concat(data.data.path));
} else if (type === "3") {
// 行驶证图片
_this.drivingLicenseList.push("https://es.eshangtech.com/".concat(data.data.path));
}
// _this.$forceUpdate();
},
fail: function fail(error) {
console.log("error", error);
_this.noPost = true;
}
});
}
},
fail: function fail(err) {}
});
},
// 确认绑定
handleConfirmCode: function handleConfirmCode() {
console.log("this.saveCarText", this.saveCarText);
@ -213,10 +373,44 @@ var _default = {
return;
}
}
if (this.bindCarType === 2) {
if (!(this.IDCardImgList && this.IDCardImgList.length > 0)) {
uni.showModal({
title: "温馨提示",
content: "请上传身份证!",
showCancel: false
});
return;
}
if (!(this.driverLicenseList && this.driverLicenseList.length > 0)) {
uni.showModal({
title: "温馨提示",
content: "请上传驾驶证!",
showCancel: false
});
return;
}
if (!(this.drivingLicenseList && this.drivingLicenseList.length > 0)) {
uni.showModal({
title: "温馨提示",
content: "请上传行驶证!",
showCancel: false
});
return;
}
}
// 图片的上传对象格式
var imgObj = {
IDCardImgList: _this.IDCardImgList,
driverLicenseList: _this.driverLicenseList,
drivingLicenseList: _this.drivingLicenseList
};
_this.$api.getCoop({
action_type: "BindVehicle",
LicensePlate: carText,
VehicleType: _this.newEnergy ? "新能源" : ""
VehicleType: _this.newEnergy ? "新能源" : "",
ImageInfo: _this.bindCarType === 2 ? JSON.stringify(imgObj) : ""
}).then(function (res) {
console.log("res", res);
if (res.Result_Code === 100) {
@ -280,6 +474,15 @@ var _default = {
this.isShow = false;
},
focusInput: function focusInput(value) {
console.log("valudsadase", value);
console.log("saveCarText", this.saveCarText);
// 判断第一个 有没有值 有值了的话 就显示数字键盘 没值的话 就显示中文键盘
if (value === 0) {
this.defaultKeyWordType = 1;
} else {
this.defaultKeyWordType = 2;
}
console.log("this.defaultKeyWordType", this.defaultKeyWordType);
if (this.haveCode) {
uni.showToast({
title: "已有关联车辆!如需修改请先解绑",
@ -296,8 +499,6 @@ var _default = {
var _this = this;
if (_this.cards && _this.cards.length > 0) {
var obj = _this.cards[0];
console.log("user", _this.user);
console.log("obj", obj);
uni.showModal({
title: "确认取消绑定?",
content: "取消绑定后将无法恢复",
@ -306,11 +507,14 @@ var _default = {
_this.$api.getCoop({
action_type: "UnbindVehicle",
MEMBERSHIPVEHICLE_ID: obj.MEMBERSHIPVEHICLE_ID,
LicensePlate: obj.License_Plate,
Membership_Id: _this.user.MEMBERSHIP_ID
LicensePlate: obj.License_Plate
// Membership_Id: _this.user.MEMBERSHIP_ID,
}).then(function (res) {
console.log("res", res);
if (res.Result_Code === 100) {
_this.IDCardImgList = [];
_this.driverLicenseList = [];
_this.drivingLicenseList = [];
uni.showModal({
content: res.Result_Desc,
cancelColor: "#000000",
@ -348,8 +552,16 @@ var _default = {
console.log("_this.cards", _this.cards);
if (_this.cards && _this.cards.length > 0) {
var obj = _this.cards[0];
console.log("obj", obj);
console.log("obj321321", obj);
var code = obj.License_Plate;
if (obj.ImageInfo) {
_this.bindCarType = 2;
var imgObj = JSON.parse(obj.ImageInfo);
console.log("imgObj", imgObj);
_this.IDCardImgList = imgObj.IDCardImgList;
_this.driverLicenseList = imgObj.driverLicenseList;
_this.drivingLicenseList = imgObj.drivingLicenseList;
}
_this.saveCarText = code.split("");
_this.haveCode = true;
} else {
@ -365,7 +577,8 @@ var _default = {
});
}
},
onShow: function onShow() {
onShow: function onShow() {},
onLoad: function onLoad() {
this.isLoading = true;
this.getList();
}

File diff suppressed because one or more lines are too long

View File

@ -122,7 +122,7 @@
justify-content: center;
}
.main .cancelBox.data-v-1cc19d5c {
font-family: PingFangSC, PingFang SC;
font-family: "PingFangSC";
font-weight: 400;
font-size: 32rpx;
height: 88rpx;
@ -140,6 +140,94 @@
border: 1px solid #b8b7b4;
margin-top: 24rpx;
}
.main .bindPopup.data-v-1cc19d5c {
width: 100%;
box-sizing: border-box;
padding: 0 32rpx;
border-top-left-radius: 32rpx;
border-top-right-radius: 32rpx;
padding-bottom: env(safe-area-inset-bottom);
}
.main .bindPopup .fileItem.data-v-1cc19d5c {
margin-bottom: 24rpx;
}
.main .bindPopup .fileItem .itemTitle.data-v-1cc19d5c {
font-family: "PingFangSC";
font-weight: 400;
font-size: 32rpx;
line-height: 44rpx;
text-align: left;
font-style: normal;
margin-bottom: 16rpx;
}
.main .bindPopup .fileItem .uploadImgBox.data-v-1cc19d5c {
width: 100%;
margin-top: 16rpx;
display: flex;
align-items: center;
flex-wrap: wrap;
}
.main .bindPopup .fileItem .uploadImgBox .submitImgBox.data-v-1cc19d5c {
width: 148rpx;
height: 148rpx;
background: #fff;
border-radius: 8rpx;
display: flex;
align-items: center;
justify-content: center;
margin-right: 16rpx;
}
.main .bindPopup .fileItem .uploadImgBox .submitImgBox .addIcon.data-v-1cc19d5c {
width: 48rpx;
height: 48rpx;
color: #b4b5ba;
}
.main .bindPopup .fileItem .uploadImgBox .imgItem.data-v-1cc19d5c {
width: 148rpx;
height: 148rpx;
margin-right: 16rpx;
position: relative;
border-radius: 8rpx;
overflow: hidden;
}
.main .bindPopup .fileItem .uploadImgBox .imgItem image.data-v-1cc19d5c {
width: 100%;
height: 100%;
}
.main .bindPopup .fileItem .uploadImgBox .imgItem .closeBox.data-v-1cc19d5c {
width: 32rpx;
height: 32rpx;
border-radius: 0rpx 8rpx 0rpx 8rpx;
background: rgba(6, 10, 25, 0.5);
display: flex;
align-items: center;
justify-content: center;
position: absolute;
top: 0;
right: 0;
}
.main .bindPopup .fileItem .uploadImgBox .imgItem .closeBox .closeIcon.data-v-1cc19d5c {
width: 24rpx;
height: 24rpx;
}
.main .bindTypeBox.data-v-1cc19d5c {
width: 100%;
box-sizing: border-box;
padding: 0 32rpx;
display: flex;
align-items: center;
justify-content: flex-end;
margin-bottom: 8px;
}
.main .bindTypeBox .bindTrain.data-v-1cc19d5c {
font-family: "PingFangSC";
font-weight: 400;
font-size: 30rpx;
line-height: 36rpx;
color: #ba922f;
text-align: left;
font-style: normal;
}
page.data-v-1cc19d5c {
background: #fff;
}

View File

@ -8,8 +8,8 @@
"miniprogram": {
"list": [
{
"name": "pages/scanCodeCharge/mapIndex",
"pathName": "pages/scanCodeCharge/mapIndex",
"name": "pages/homeFn/mycar/index",
"pathName": "pages/homeFn/mycar/index",
"query": "",
"scene": null,
"launchMode": "default"

View File

@ -40,7 +40,7 @@ const api = {
data.ownerUnitId = Store.getters.ownerUnitId || data.ownerUnitId || ''
data.Membership_Id = Store.getters.user.MEMBERSHIP_ID || Store.getters.user.MemberShipID || data.MEMBERSHIP_ID || ''
data.MembershipId = Store.getters.user.MEMBERSHIP_ID || Store.getters.user.MemberShipID || data.MEMBERSHIP_ID || ''
data.MEMBERSHIP_ID = Store.getters.user.MEMBERSHIP_ID || Store.getters.user.MemberShipID || data.MEMBERSHIP_ID || ''
// data.MEMBERSHIP_ID = Store.getters.user.MEMBERSHIP_ID || Store.getters.user.MemberShipID || data.MEMBERSHIP_ID || ''
let requstOptions = {
url: isWebApi ? this.url + control : this.url,
data: data,