master
tangyi 2022-03-25 11:41:31 +08:00
parent 8d8a6f15ed
commit b5df5a87aa
21 changed files with 741 additions and 466 deletions

View File

@ -12,16 +12,18 @@
</view> </view>
<view class="appreciationServe-from"> <view class="appreciationServe-from">
<view class="li"> <view class="li">
<view class="title">
<text class="cor">*</text>产品名称
</view>
<input class="input" type="text" value="全彩LED显示屏" /> <input class="input" type="text" value="全彩LED显示屏" />
</view> </view>
<view class="li"> <view class="li">
<view class="title"> <view class="title">
<text class="cor">*</text>规格型号 <text class="cor">*</text>规格型号
</view> </view>
<input class="input" type="text" value="P2.5" />
</view> </view>
<view class="li">
<view class="title">*规格型号</view>
</view>
<view class="li"> <view class="li">
<view class="title">产品品牌</view> <view class="title">产品品牌</view>
<input class="input" type="text" value="" placeholder="请输入品牌" /> <input class="input" type="text" value="" placeholder="请输入品牌" />
@ -30,7 +32,7 @@
<view class="title"> <view class="title">
<text class="cor">*</text>产品尺寸 <text class="cor">*</text>产品尺寸
</view> </view>
<view class="title">*产品尺寸</view>
<input class="input" type="text" value="宽:38.5m x 高14.5m" /> <input class="input" type="text" value="宽:38.5m x 高14.5m" />
</view> </view>
</view> </view>
@ -54,21 +56,9 @@
</view> </view>
<input type="text" class="input" value="2022-02-16" /> <input type="text" class="input" value="2022-02-16" />
</view> </view>
<view class="li-textarea">
<view class="title">
<text class="cor">*</text>详细地址
</view>
<view class="title">*联系人</view>
<input type="text" class="input" value="王富贵" />
</view>
<view class="li">
<view class="">*联系电话</view>
<input type="text" class="input" value="18256666666" />
</view>
<view class="li">
<view class="">*预约时间</view>
<input type="text" class="input" value="2022-02-16" />
</view>
<view class="li-textarea"> <view class="li-textarea">
<view class="title">*详细地址</view> <view class="title">*详细地址</view>
<textarea class="textarea" value="湖南省株洲市荷塘区红旗中路456号五矿二十三冶综合楼" placeholder="" /> <textarea class="textarea" value="湖南省株洲市荷塘区红旗中路456号五矿二十三冶综合楼" placeholder="" />
@ -132,6 +122,7 @@
<style> <style>
.content { .content {
padding-top: 80rpx; padding-top: 80rpx;
padding-bottom: 80rpx;
} }
.cor{ .cor{
color: #FF0000; color: #FF0000;
@ -170,6 +161,7 @@
line-height: 44rpx; line-height: 44rpx;
text-align: center; text-align: center;
height: 44rpx; height: 44rpx;
color: #bbbbbb;
border-radius: 50rpx; border-radius: 50rpx;
font-size: 24rpx; font-size: 24rpx;
border: solid 2rpx #99999b; border: solid 2rpx #99999b;
@ -237,6 +229,7 @@
} }
.supplement-from .li .input{ .supplement-from .li .input{
text-align: right; text-align: right;
font-size: 24rpx
} }
.supplement-from .li-textarea { .supplement-from .li-textarea {
font-size: 27rpx; font-size: 27rpx;

View File

@ -3,6 +3,7 @@
<statusNav navBarTitle="(备品)查询结果"></statusNav> <statusNav navBarTitle="(备品)查询结果"></statusNav>
<view class="dataQuery-content"> <view class="dataQuery-content">
<view class="li"> <view class="li">
<view class="title"> <view class="title">
项目名称湖南工业大学生化学院三楼会议室 项目名称湖南工业大学生化学院三楼会议室
</view> </view>
@ -143,6 +144,8 @@
.dataQuery-content .li{ .dataQuery-content .li{
background-color: #FFFFFF; background-color: #FFFFFF;
padding: 26rpx 28rpx; padding: 26rpx 28rpx;
margin-bottom: 14rpx; margin-bottom: 14rpx;
} }
@ -151,6 +154,8 @@
} }
.dataQuery-content .li .text-content{ .dataQuery-content .li .text-content{
display: flex; display: flex;
border-bottom: 2rpx solid #EEEEEE;
padding-bottom: 10rpx;
} }
.dataQuery-content .li .text-content .left{ .dataQuery-content .li .text-content .left{

View File

@ -86,7 +86,7 @@
qq<text class="cor">9090000</text> qq<text class="cor">9090000</text>
</view> </view>
<view class="li"> <view class="li">
邮箱<text class="cor1">1216311@qq.com</text> 邮箱<text class="cor">1216311@qq.com</text>
</view> </view>
<view class="li"> <view class="li">
负责时间段<text class="cor">xxxxx </text> 负责时间段<text class="cor">xxxxx </text>

View File

@ -345,6 +345,7 @@
.project-list-address .address { .project-list-address .address {
display: flex; display: flex;
color: #666666;
align-items: center; align-items: center;
} }

View File

@ -9,18 +9,18 @@
<view class="queryFunction-head-content"> <view class="queryFunction-head-content">
<view class="queryFunction-head-nav"> <view class="queryFunction-head-nav">
<view class="li" @click="navIndex(index)" :class="[dataIndex==0?'li1':'',dataIndex==1?'li2':'',dataIndex==2?'li3':'' ]" <view class="li" @click="navIndex(index)"
:class="[dataIndex==0?'li1':'',dataIndex==1?'li2':'',dataIndex==2?'li3':'' ]"
v-for="(item,index) in dataList"> v-for="(item,index) in dataList">
{{item.title}} {{item.title}}
</view> </view>
</view> </view>
<view class="queryFunction-head-Fun"> <view class="queryFunction-head-Fun">
<input type="text" placeholder="请输入关键词进行查询" class="queryFunction-head-input" value="" /> <input type="text" placeholder="请输入关键词进行查询" class="queryFunction-head-input" value="" />
<view class="button"> <view class="button">
查询 查询
</view> </view>
</view> </view>
@ -34,199 +34,222 @@
<view class="recently-query-content"> <view class="recently-query-content">
<view class="li"> <view class="li">
<image class="icon" src="../../static/iocn/jfd.png" mode=""></image> <image class="icon" src="../../static/iocn/jfd.png" mode=""></image>
<view class="text-content"> <view class="text-content">
<view class="title"> <view class="title">
湖南争鸣光电科技有限公司 湖南争鸣光电科技有限公司
</view> </view>
<view class="text"> <view class="text">
编号FRID23123141123321124 编号FRID23123141123321124
</view> </view>
<view class="text"> <view class="text">
2121-1-8 12:23 2121-1-8 12:23
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<view class="imgJCon">
<image class="imgJ" src="../../static/iocn/jh.png" mode=""></image>
</view>
</view> </view>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
dataIndex: 0, dataIndex: 0,
dataList: [{ dataList: [{
title: "客户查询", title: "客户查询",
}, },
{ {
title: "项目查询", title: "项目查询",
}, },
{ {
title: "备品查询", title: "备品查询",
}, },
], ],
key_word:'', // key_word: '', //
} }
}, },
onLoad(op) { onLoad(op) {
if(op.index!=undefined) this.dataIndex = op.index; if (op.index != undefined) this.dataIndex = op.index;
}, },
methods: { methods: {
// //
navIndex(index) { navIndex(index) {
this.dataIndex = index this.dataIndex = index
}, },
// //
checkEv(){ checkEv() {
console.log(this.key_word); console.log(this.key_word);
} }
} }
} }
</script> </script>
<style> <style>
.head { .head {
width: 100%; width: 100%;
height: 344rpx; height: 344rpx;
padding: 0 35rpx; padding: 0 35rpx;
padding-top: 107rpx; padding-top: 107rpx;
background-color: #00A2E9; background-color: #00A2E9;
box-sizing: border-box; box-sizing: border-box;
} }
.head .text { .head .text {
font-size: 41rpx; font-size: 41rpx;
color: #FFFFFF; color: #FFFFFF;
} }
.queryFunction-head-content { .queryFunction-head-content {
width: 676rpx; width: 676rpx;
height: 400rpx; height: 400rpx;
background-color: #FFFFFF; background-color: #FFFFFF;
margin: auto; margin: auto;
border-radius: 15rpx; border-radius: 15rpx;
margin-top: -130rpx; margin-top: -130rpx;
} }
.queryFunction-head-nav { .queryFunction-head-nav {
display: flex; display: flex;
border-radius: 15rpx 15rpx 0 0; border-radius: 15rpx 15rpx 0 0;
overflow: hidden; overflow: hidden;
} }
.queryFunction-head-nav .li { .queryFunction-head-nav .li {
position: relative; position: relative;
width: 233rpx; width: 233rpx;
color: #505050; color: #505050;
height: 102rpx; height: 102rpx;
background-color: #F5F5F5; background-color: #F5F5F5;
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 35rpx; font-size: 35rpx;
justify-content: center; justify-content: center;
} }
.typeActive {
position: absolute;
width: 30%;
bottom: 0;
left: 50%;
transform: translateX(-50%);
height: 6rpx;
border-radius: 21%;
background-color: #00A2E9;
}
.queryFunction-head-nav .li1:nth-child(2) {
border-radius: 15rpx 0rpx 0rpx 15rpx;
}
.queryFunction-head-nav .li1:nth-child(1) { .typeActive {
background-color: #FFFFFF; position: absolute;
} width: 30%;
bottom: 0;
left: 50%;
transform: translateX(-50%);
height: 6rpx;
border-radius: 21%;
background-color: #00A2E9;
}
.queryFunction-head-nav .li2:nth-child(2) { .queryFunction-head-nav .li1:nth-child(2) {
background-color: #FFFFFF; border-radius: 15rpx 0rpx 0rpx 15rpx;
} }
.queryFunction-head-nav .li2:nth-child(1) { .queryFunction-head-nav .li1:nth-child(1) {
border-radius: 0rpx 15rpx 15rpx 0rpx; background-color: #FFFFFF;
} }
.queryFunction-head-nav .li2:nth-child(3) { .queryFunction-head-nav .li2:nth-child(2) {
border-radius: 15rpx 0rpx 0rpx 15rpx; background-color: #FFFFFF;
} }
.queryFunction-head-nav .li3:nth-child(2) { .queryFunction-head-nav .li2:nth-child(1) {
border-radius: 0rpx 15rpx 15rpx 0rpx; border-radius: 0rpx 15rpx 15rpx 0rpx;
} }
.queryFunction-head-nav .li3:nth-child(3) { .queryFunction-head-nav .li2:nth-child(3) {
background-color: #FFFFFF; border-radius: 15rpx 0rpx 0rpx 15rpx;
} }
.queryFunction-head-input { .queryFunction-head-nav .li3:nth-child(2) {
margin-top: 20rpx; border-radius: 0rpx 15rpx 15rpx 0rpx;
height: 100rpx; }
width: 100%;
border-bottom: 2rpx solid #eeeeee;
} .queryFunction-head-nav .li3:nth-child(3) {
background-color: #FFFFFF;
}
.queryFunction-head-Fun { .queryFunction-head-input {
padding: 0 32rpx; margin-top: 20rpx;
height: 100rpx;
width: 100%;
border-bottom: 2rpx solid #eeeeee;
} }
.queryFunction-head-Fun .button { .queryFunction-head-Fun {
background-color: #00A2E9; padding: 0 32rpx;
border-radius: 15rpx;
height: 80rpx;
color: #FFFFFF;
text-align: center;
margin-top: 34rpx;
line-height: 80rpx;
}
.recently-query-title { }
color: #040b26;
font-weight: bold;
padding: 50rpx 34rpx 44rpx;
}
.recently-query-content { .queryFunction-head-Fun .button {
padding: 0 34rpx; background-color: #00A2E9;
box-sizing: border-box; border-radius: 15rpx;
} height: 80rpx;
color: #FFFFFF;
text-align: center;
margin-top: 34rpx;
line-height: 80rpx;
}
.recently-query-content .li { .recently-query-title {
width: 100%; color: #040b26;
height: 232rpx; font-weight: bold;
box-sizing: border-box; padding: 50rpx 34rpx 44rpx;
background-color: #FFFFFF; }
border-radius: 15rpx;
padding-top: 30rpx;
padding-left: 40rpx;
margin-bottom: 37rpx;
display: flex;
}
.recently-query-content .li .icon { .recently-query-content {
width: 37rpx; padding: 0 34rpx;
height: 37rpx; box-sizing: border-box;
margin-right: 40rpx; }
}
.recently-query-content .li .text-content .title { .recently-query-content .li {
color: #30364c; width: 100%;
font-size: 33rpx; height: 232rpx;
margin-bottom: 25rpx; box-sizing: border-box;
} background-color: #FFFFFF;
border-radius: 15rpx;
padding-top: 30rpx;
padding-left: 40rpx;
margin-bottom: 37rpx;
display: flex;
}
.recently-query-content .li .text-content .text { .recently-query-content .li .icon {
color: #b5b5b5; width: 37rpx;
font-size: 27rpx; height: 37rpx;
margin-bottom: 25rpx; margin-right: 40rpx;
} }
.recently-query-content .li .text-content .title {
color: #30364c;
font-size: 33rpx;
margin-bottom: 25rpx;
}
.recently-query-content .li .text-content .text {
color: #b5b5b5;
font-size: 27rpx;
margin-bottom: 25rpx;
}
.imgJ {
width: 40rpx;
height: 40rpx;
position: fixed;
display: block;
margin: auto;
}
.imgJCon{
display: flex;
justify-content: center;
height: 40rpx;
margin-top: 180rpx;
}
</style> </style>

View File

@ -454,7 +454,9 @@
padding-top: 90rpx; padding-top: 90rpx;
padding-bottom: 80rpx; padding-bottom: 80rpx;
} }
.charts-box{
width: 100%;
}
.settlement-type-title { .settlement-type-title {
font-size: 32rpx; font-size: 32rpx;
color: #2c2c2c; color: #2c2c2c;
@ -543,7 +545,7 @@
.project-gross-box .li .date-con .date-con-li { .project-gross-box .li .date-con .date-con-li {
border-right: 2rpx solid #E6E6E6; border-right: 2rpx solid #E6E6E6;
padding-right: 60rpx; padding-right: 58rpx;
padding-left: 60rpx; padding-left: 60rpx;
} }

View File

@ -112,12 +112,15 @@
} }
.content{ .content{
padding-top: 76rpx; padding-top: 76rpx;
padding-bottom: 180rpx;
} }
.opinion-type { .opinion-type {
width: 100%; width: 100%;
height: 80rpx; height: 80rpx;
line-height: 80rpx; line-height: 80rpx;
padding: 0 40rpx; padding: 0 40rpx;
border-top: 2rpx solid #EAEAEA;
border-bottom: 2rpx solid #EAEAEA;
margin-top: 24rpx; margin-top: 24rpx;
background-color: #FFFFFF; background-color: #FFFFFF;
font-size: 36rpx; font-size: 36rpx;
@ -130,7 +133,7 @@
background-color: #FFFFFF; background-color: #FFFFFF;
text-align: center; text-align: center;
line-height: 68rpx; line-height: 68rpx;
color: #dddddd; color: #9f9898;
border-radius: 8rpx; border-radius: 8rpx;
margin-bottom: 24rpx; margin-bottom: 24rpx;
} }

View File

@ -4,6 +4,9 @@
<view class="mountingsList-input"> <view class="mountingsList-input">
<input type="text" class="int" value="" placeholder="请输入关键字" /> <input type="text" class="int" value="" placeholder="请输入关键字" />
<image class="search" src="../../static/iocn/ss.png" mode=""></image> <image class="search" src="../../static/iocn/ss.png" mode=""></image>
<view class="xian">
</view>
</view> </view>
<view class="mountings-list"> <view class="mountings-list">
@ -132,8 +135,17 @@
<style> <style>
.content { .content {
padding-top: 70rpx; padding-top: 70rpx;
padding-bottom: 80rpx;
} }
.mountingsList-input .xian {
width: 3rpx;
height: 35rpx;
position: absolute;
background-color: #EAEAEA;
right: 100rpx;
top: 50%;
margin-top: -14rpx;
}
.submit-button { .submit-button {
width: 686rpx; width: 686rpx;
border-radius: 50rpx; border-radius: 50rpx;
@ -230,6 +242,7 @@
.mountings-list .li .text .p { .mountings-list .li .text .p {
color: #999999; color: #999999;
font-size: 24rpx; font-size: 24rpx;
margin-top: 5rpx;
} }
.mountings-list .li .text .num { .mountings-list .li .text .num {

View File

@ -4,6 +4,9 @@
<view class="peopleManagement-input"> <view class="peopleManagement-input">
<input type="text" class="int" value="" placeholder="请输入关键字" /> <input type="text" class="int" value="" placeholder="请输入关键字" />
<image class="search" src="../../static/iocn/ss.png" mode=""></image> <image class="search" src="../../static/iocn/ss.png" mode=""></image>
<view class="xian">
</view>
</view> </view>
<view class="peopleManagement-content"> <view class="peopleManagement-content">
@ -41,7 +44,7 @@
</view> </view>
</view> </view>
<view class="p"> <view class="p">
<view class=""> <view class="one">
待处理1 待处理1
</view> </view>
@ -56,11 +59,11 @@
</view> </view>
<view class="bottom"> <view class="bottom">
<view class=""> <view class="bottom-content">
联系电话 <text class="cor3">157xxxx8279</text> 联系电话 <text class="cor3">157xxxx8279</text>
</view> </view>
<view class=""> <view class="bottom-content">
注册时间 <text class="cor3">2018-12-12</text> 注册时间 <text class="cor3">2018-12-12</text>
</view> </view>
@ -115,6 +118,7 @@
<style> <style>
.content { .content {
padding-top: 80rpx; padding-top: 80rpx;
padding-bottom: 80rpx;
} }
.submit-button { .submit-button {
width: 686rpx; width: 686rpx;
@ -143,7 +147,15 @@
box-sizing: border-box; box-sizing: border-box;
border-radius: 36rpx; border-radius: 36rpx;
} }
.peopleManagement-input .xian {
width: 3rpx;
height: 35rpx;
position: absolute;
background-color: #EAEAEA;
right: 100rpx;
top: 50%;
margin-top: -14rpx;
}
.peopleManagement-input .search { .peopleManagement-input .search {
width: 28rpx; width: 28rpx;
height: 28rpx; height: 28rpx;
@ -247,13 +259,17 @@
font-size: 24rpx; font-size: 24rpx;
padding: 22rpx 0rpx; padding: 22rpx 0rpx;
} }
.peopleManagement-content .li .con .text .p .one{
margin-right: 40rpx;
}
.peopleManagement-content .li .con .text .address{ .peopleManagement-content .li .con .text .address{
color: #7a7979; color: #7a7979;
font-size: 24rpx; font-size: 24rpx;
} }
.peopleManagement-content .li .bottom{ .peopleManagement-content .li .bottom{
display: flex; display: flex;
padding: 30rpx 0rpx; padding: 10rpx 0rpx;
padding-left: 40rpx; padding-left: 40rpx;
color: #333333; color: #333333;
font-size: 24rpx; font-size: 24rpx;
@ -265,4 +281,16 @@
.peopleManagement-content .li .bottom .cor3{ .peopleManagement-content .li .bottom .cor3{
color: #666666; color: #666666;
} }
.peopleManagement-content .li .bottom .bottom-content{
height: 60rpx;
line-height: 60rpx;
}
.peopleManagement-content .li .bottom .bottom-content:last-child{
text-align: right;
width: 48%;
}
.peopleManagement-content .li .bottom .bottom-content:first-child{
border-right: 2rpx dashed #eaeaea;
width: 52%;
}
</style> </style>

View File

@ -1,56 +1,61 @@
<template> <template>
<view class="content"> <view class="content">
<statusNav navBarTitle="项目详情"></statusNav> <statusNav navBarTitle="项目详情"></statusNav>
<view class="details-head">
<view class="swiper-head">
<swiper class="swiper" @change="changeAutoplay" :autoplay="autoplay" :interval="interval"
:duration="duration">
<swiper-item>
<view class="swiper-item uni-bg-red">
<image class="img" src="../../static/del/项目图片.png" mode="aspectFill"></image>
</view>
</swiper-item>
<swiper-item>
<view class="swiper-item uni-bg-red">
<image class="img" src="../../static/del/项目图片.png" mode="aspectFill"></image>
</view>
</swiper-item>
<swiper-item>
<view class="swiper-item uni-bg-red">
<image class="img" src="../../static/del/项目图片.png" mode="aspectFill"></image>
</view>
</swiper-item>
</swiper>
<view class="indication-point "> <view class="head-top">
{{index}}/3 <view class="details-head">
</view> <view class="swiper-head">
<swiper class="swiper" @change="changeAutoplay" :autoplay="autoplay" :interval="interval"
:duration="duration">
<swiper-item>
<view class="swiper-item uni-bg-red">
<image class="img" src="../../static/del/项目图片.png" mode="aspectFill"></image>
</view>
</swiper-item>
<swiper-item>
<view class="swiper-item uni-bg-red">
<image class="img" src="../../static/del/项目图片.png" mode="aspectFill"></image>
</view>
</swiper-item>
<swiper-item>
<view class="swiper-item uni-bg-red">
<image class="img" src="../../static/del/项目图片.png" mode="aspectFill"></image>
</view>
</swiper-item>
</swiper>
</view> <view class="indication-point ">
{{index}}/3
</view>
<view class="title"> </view>
湖南工业大学生化学院会议室P2.5全彩LED显示屏
</view> <view class="title">
<view class="code"> 湖南工业大学生化学院会议室P2.5全彩LED显示屏
XM20220108-1001 </view>
</view> <view class="code">
XM20220108-1001
</view>
<view class="address">
<image class="img" src="../../static/iocn/im.png" mode=""></image>
<view class="text">
湖南省长沙市高新开发区谷园路109号像素大厦1205
</view>
</view>
</view>
<view class="last-date">
<view class="last-date-content">
<image class="icon" src="../../static/iocn/gzzt.png" mode=""></image>
<view class="text">
最近一次故障时间2021-11-18 170016
</view>
</view>
</view>
</view>
<view class="address">
<image class="img" src="../../static/iocn/im.png" mode=""></image>
<view class="text">
湖南省长沙市高新开发区谷园路109号像素大厦1205
</view>
</view>
</view>
<view class="last-date">
<view class="last-date-content">
<image class="icon" src="../../static/iocn/gzzt.png" mode=""></image>
<view class="text">
最近一次故障时间2021-11-18 170016
</view>
</view>
</view>
<view class="project-message-title"> <view class="project-message-title">
<view class="icon"> <view class="icon">
@ -267,6 +272,8 @@
.content { .content {
padding: 16rpx 0; padding: 16rpx 0;
padding-top: 80rpx;
padding-bottom: 80rpx;
} }
.swiper { .swiper {
@ -278,6 +285,12 @@
height: 500rpx; height: 500rpx;
width: 100%; width: 100%;
} }
.head-top{
position: relative;
z-index: 1;
margin-top: 15rpx;
box-shadow: 0rpx 5rpx 5rpx rgba(0, 0, 0, 0.1);
}
.details-head { .details-head {
width: 725rpx; width: 725rpx;
@ -347,6 +360,7 @@
padding-left: 20rpx; padding-left: 20rpx;
align-items: center; align-items: center;
border-radius: 10rpx; border-radius: 10rpx;
background: linear-gradient(to right, #FFEBEB, #F7F7F7); background: linear-gradient(to right, #FFEBEB, #F7F7F7);
} }
@ -364,9 +378,13 @@
.project-message-title { .project-message-title {
display: flex; display: flex;
padding: 0 33rpx; padding: 0 33rpx;
padding-top: 23rpx;
align-items: center; align-items: center;
border-bottom: 2rpx solid #ebebeb; border-bottom: 2rpx solid #ebebeb;
margin-top: 23rpx;
margin-top: 2rpx;
background-color: #FFFFFF;
padding-bottom: 21rpx; padding-bottom: 21rpx;
} }
@ -379,13 +397,16 @@
} }
.project-message-title .text { .project-message-title .text {
font-size: 13rpx font-size: 26rpx
} }
.project-message-content { .project-message-content {
display: flex; display: flex;
box-shadow: 0rpx 5rpx 5rpx rgba(0, 0, 0, 0.1); box-shadow: 0rpx 5rpx 5rpx rgba(0, 0, 0, 0.1);
padding: 30rpx 25rpx 0rpx; padding: 30rpx 25rpx 0rpx;
background-color: #FFFFFF;
position: relative;
z-index: 2;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
} }
@ -417,9 +438,11 @@
} }
.record-nav { .record-nav {
padding: 55rpx 50rpx 33rpx; padding: 51rpx 50rpx 33rpx;
display: flex; display: flex;
margin-top: 4rpx;
justify-content: space-between; justify-content: space-between;
background-color: #FFFFFF;
border-bottom: 2rpx solid #D5D4D4; border-bottom: 2rpx solid #D5D4D4;
} }
@ -475,7 +498,7 @@
.record-content .list .li .icon::after { .record-content .list .li .icon::after {
content: ""; content: "";
width: 1rpx; width: 2rpx;
position: absolute; position: absolute;
left: 7rpx; left: 7rpx;
height: 64rpx; height: 64rpx;
@ -509,10 +532,10 @@
} }
.record-content .list .on .icon::after { .record-content .list .on .icon::after {
content: ""; content: "";
width: 1rpx; width: 2rpx;
position: absolute; position: absolute;
left: 9rpx; left: 9rpx;
height: 167rpx; height: 170rpx;
z-index: -1; z-index: -1;
background-color: #0084ff; background-color: #0084ff;
top: 20rpx; top: 20rpx;

View File

@ -3,6 +3,9 @@
<statusNav navBarTitle="项目列表" :ifReturn="false"></statusNav> <statusNav navBarTitle="项目列表" :ifReturn="false"></statusNav>
<view class="project-list-input"> <view class="project-list-input">
<input type="text" class="int" value="" placeholder="请输入关键字" /> <input type="text" class="int" value="" placeholder="请输入关键字" />
<view class="xian">
</view>
<image class="search" src="../../static/iocn/ss.png" mode="aspectFill" lazy-load></image> <image class="search" src="../../static/iocn/ss.png" mode="aspectFill" lazy-load></image>
</view> </view>
<view class="screen bbot mar-sx20"> <view class="screen bbot mar-sx20">
@ -44,28 +47,10 @@
</view> </view>
<view class="date scal09">2022/01/08</view> <view class="date scal09">2022/01/08</view>
</view> </view>
<!-- <view class="icon iconBera">质保中</view> -->
<view class="icon iconBer">质保到期</view> <view class="icon iconBer">质保到期</view>
</view> </view>
<!-- <view class="li">
<view class="message">
<image class="img" src="../../static/del/项目图片.png" mode="aspectFill" lazy-load></image>
<view class="text">
<view class="title">湖南工业大学化工学院会议室P2.5全彩LED显示屏</view>
<view class="serial-number">项目编号20220108-1001</view>
<view class="specification">规格型号DS-CK25FI/H</view>
<view class="specification">产品尺寸3.94*2.02</view>
<view class="installation-site">安装位置xxx综合楼2楼会议室</view>
</view>
</view>
<view class="project-list-address">
<view class="address">
<image class="img" src="../../static/iocn/im.png" mode="aspectFill" lazy-load></image>
<view class="text">湖南省长沙市高新开发区谷园路109号像素大厦1205</view>
</view>
<view class="date">2022/01/08</view>
</view>
<view class="icon iconBera">质保中</view>
</view> -->
</view> </view>
<footTabOne :current="1"></footTabOne> <footTabOne :current="1"></footTabOne>
@ -147,10 +132,20 @@
height: 100%; height: 100%;
background-color: #F7F7F7; background-color: #F7F7F7;
padding: 0 25rpx; padding: 0 25rpx;
padding-right: 100rpx;
box-sizing: border-box; box-sizing: border-box;
border-radius: 36rpx; border-radius: 36rpx;
} }
.project-list-input .xian {
width: 3rpx;
height: 35rpx;
position: absolute;
background-color: #EAEAEA;
right: 100rpx;
top: 50%;
margin-top: -14rpx;
}
.project-list-input .search { .project-list-input .search {
width: 28rpx; width: 28rpx;
height: 28rpx; height: 28rpx;

View File

@ -52,8 +52,10 @@
<input type="text" class="inputCss" placeholder="请填写您的姓名" placeholder-class="inputCss-input" value="" /> <input type="text" class="inputCss" placeholder="请填写您的姓名" placeholder-class="inputCss-input" value="" />
<input type="text" class="inputCss" placeholder="请填写联系电话" placeholder-class="inputCss-input" value="" /> <input type="text" class="inputCss" placeholder="请填写联系电话" placeholder-class="inputCss-input" value="" />
<uni-datetime-picker type="date" class="uni-datetime-pickerCss" :value="single" :border="false" <picker mode="date" >
@change="change" /> <input type="text" class="inputCss" placeholder="请选择上门时间" placeholder-class="inputCss-input" value="" />
</picker>
<button class="submit-button" type="default">提交故障申报</button> <button class="submit-button" type="default">提交故障申报</button>
</view> </view>

View File

@ -224,7 +224,7 @@
}, },
data() { data() {
return { return {
role: 2, // 1 2: 3: 4 role: 4, // 1 2: 3: 4
statusHeight: uni.getSystemInfoSync().statusBarHeight + 50, statusHeight: uni.getSystemInfoSync().statusBarHeight + 50,
messageNumber: 16 ,// messageNumber: 16 ,//
noticeList:['2021年11月06日公司团建维修服务暂停一天服务暂停一天服务暂停一天。','51akslfj;dkpiojasdjf;j1ij'],// noticeList:['2021年11月06日公司团建维修服务暂停一天服务暂停一天服务暂停一天。','51akslfj;dkpiojasdjf;j1ij'],//

View File

@ -113,7 +113,7 @@
<view class="title"> <view class="title">
服务方式 服务方式
</view> </view>
<input type="text" class="input" placeholder="" value="上门服务" /> <input type="text" class="input input-black" placeholder="" value="上门服务" />
</view> </view>
<view class="li"> <view class="li">
@ -152,45 +152,64 @@
<input type="text" class="input " placeholder="" value="2022-01-25 15:30" /> <input type="text" class="input " placeholder="" value="2022-01-25 15:30" />
</view> </view>
<view class="li"> <view class="li">
<view class="title"> <view class="title">
维保用时 维保用时
</view>
<input type="text" class="input input-black" placeholder="" value="5小时51分钟" />
</view> </view>
<input type="text" class="input input-black" placeholder="" value="5小时51分钟" />
</view>
<view class="li"> <view class="li">
<view class="title"> <view class="title">
维保费用 维保费用
</view> </view>
<input type="text" class="input " placeholder="" value="¥500.00元" /> <input type="text" class="input " placeholder="" value="¥500.00元" />
</view> </view>
<view class="li"> <view class="li">
<view class="title"> <view class="title">
等待时长 等待时长
</view> </view>
<input type="text" class="input " placeholder="" value="1天6小时35分钟" /> <input type="text" class="input " placeholder="" value="1天6小时35分钟" />
</view> </view>
<view class="li"> <view class="li">
<view class="title"> <view class="title">
主维保人 主维保人
</view> </view>
<input type="text" class="input " placeholder="" value="陈志远" /> <input type="text" class="input " placeholder="" value="陈志远" />
</view> </view>
<view class="li"> <view class="li">
<view class="title"> <view class="title">
更换配件 更换配件
</view> </view>
<view class="rideo"> <view class="rideo">
<view class="isrideo" @click="isrideoFun(true)">
<view class="icon " :class="isrideo?'on':''">
<view class="icon-content">
</view> </view>
</view>
<view class="">
</view>
</view>
<view class="isrideo" @click="isrideoFun(false)" >
<view class="icon" :class="isrideo?'':'on'">
<view class="icon-content">
</view> </view>
</view>
<view class="">
</view>
</view>
</view>
</view>
<view class="li"> <view class="li">
<view class="title"> <view class="title">
@ -207,15 +226,13 @@
<view class="title"> <view class="title">
维保图片 维保图片
</view> </view>
<view class="input add-display"> <view class="input add-display">
<view class=""> <view class="">
<image class="img" src="../../static/del/微信图片_20220113152400.png" mode="aspectFill"></image> <image class="img" src="../../static/del/微信图片_20220113152400.png"
<image class="img" src="../../static/del/微信图片_20220113152400.png" mode="aspectFill"></image> mode="aspectFill"></image>
<image class="img" src="../../static/del/微信图片_20220113152400.png"
mode="aspectFill"></image>
</view> </view>
</view> </view>
</view> </view>
<view class="li"> <view class="li">
@ -230,7 +247,7 @@
</view> </view>
<view class="li"> <view class="li">
<view class="title"> <view class="title">
维保人 维保人
</view> </view>
<input type="text" class="input " placeholder="" value="罗帅 陈志远" /> <input type="text" class="input " placeholder="" value="罗帅 陈志远" />
@ -251,27 +268,76 @@
<view class="list"> <view class="list">
<view class="li"> <view class="li">
<image class="img" src="../../static/del/QQ截图20220210213041.png" mode="aspectFill"></image> <image class="img" src="../../static/del/QQ截图20220210213041.png" mode="aspectFill">
<view class="text-content"> </image>
<view class="title"> <view class="text-content">
<view class="title">
<view class="text clips1"> <view class="text clips1">
全彩LED显示屏电源 全彩LED显示屏电源
</view> </view>
<view class="date"> <view class="date">
1011-1 1011-1
</view> </view>
</view> </view>
<view class="text"> <view class="text">
配件品牌华鑫电源 配件品牌华鑫电源
</view> </view>
<view class="text"> <view class="text">
规格型号5A-75B 规格型号5A-75B
</view> </view>
<view class="text"> <view class="text">
使用数量1 使用数量1
</view> </view>
</view> </view>
</view>
<view class="li">
<image class="img" src="../../static/del/QQ截图20220210213041.png" mode="aspectFill">
</image>
<view class="text-content">
<view class="title">
<view class="text clips1">
全彩LED显示屏电源
</view>
<view class="date">
1011-1
</view>
</view>
<view class="text">
配件品牌华鑫电源
</view>
<view class="text">
规格型号5A-75B
</view>
<view class="text">
使用数量1
</view>
</view>
</view>
<view class="li">
<image class="img" src="../../static/del/QQ截图20220210213041.png" mode="aspectFill">
</image>
<view class="text-content">
<view class="title">
<view class="text clips1">
全彩LED显示屏电源
</view>
<view class="date">
1011-1
</view>
</view>
<view class="text">
配件品牌华鑫电源
</view>
<view class="text">
规格型号5A-75B
</view>
<view class="text">
使用数量1
</view>
</view>
</view> </view>
</view> </view>
</view> </view>
@ -428,7 +494,8 @@
data() { data() {
return { return {
swiperCurrent: 0, swiperCurrent: 0,
textTitle:"工单详情", textTitle: "工单详情",
isrideo:true,
detailsNav: [{ detailsNav: [{
title: "基础信息", title: "基础信息",
state: true state: true
@ -454,13 +521,15 @@
const query = uni.createSelectorQuery().in(this); const query = uni.createSelectorQuery().in(this);
query.select('#swi1').boundingClientRect(data => { query.select('#swi1').boundingClientRect(data => {
this.swiHeight = data.height-100 this.swiHeight = data.height - 100
}).exec(); }).exec();
this.detailsNavFun(0) this.detailsNavFun(0)
}, },
methods: { methods: {
isrideoFun(is){
this.isrideo=is
},
copy(value) { copy(value) {
// //
uni.showModal({ uni.showModal({
@ -484,29 +553,29 @@
console.log(data.detail.current) console.log(data.detail.current)
if(data.detail.current==0){ if (data.detail.current == 0) {
this.textTitle="工单详情" this.textTitle = "工单详情"
const query = uni.createSelectorQuery().in(this); const query = uni.createSelectorQuery().in(this);
query.select('#swi1').boundingClientRect(data => { query.select('#swi1').boundingClientRect(data => {
this.swiHeight = data.height this.swiHeight = data.height
}).exec(); }).exec();
}else if(data.detail.current==1){ } else if (data.detail.current == 1) {
this.textTitle="处理详情" this.textTitle = "处理详情"
const query = uni.createSelectorQuery().in(this); const query = uni.createSelectorQuery().in(this);
query.select('#swi2').boundingClientRect(data => { query.select('#swi2').boundingClientRect(data => {
this.swiHeight = data.height this.swiHeight = data.height
}).exec(); }).exec();
}else if(data.detail.current==2){ } else if (data.detail.current == 2) {
this.textTitle="工单详情" this.textTitle = "工单详情"
const query = uni.createSelectorQuery().in(this); const query = uni.createSelectorQuery().in(this);
query.select('#swi3').boundingClientRect(data => { query.select('#swi3').boundingClientRect(data => {
this.swiHeight = data.height this.swiHeight = data.height
}).exec(); }).exec();
}else if(data.detail.current==3){ } else if (data.detail.current == 3) {
this.textTitle="工单详情" this.textTitle = "工单详情"
const query = uni.createSelectorQuery().in(this); const query = uni.createSelectorQuery().in(this);
query.select('#swi4').boundingClientRect(data => { query.select('#swi4').boundingClientRect(data => {
@ -662,15 +731,15 @@
} }
.record-content { .record-content {
margin-top: 33rpx;
padding: 0 34rpx; padding: 0 34rpx;
} }
.course-content{
.course-content {
background-color: #FFFFFF; background-color: #FFFFFF;
padding-top: 30rpx; padding-bottom: 60rpx;
margin-top: 16rpx; margin-top: 20rpx;
padding-bottom: 60rpx; padding-top: 20rpx;
} }
.record-content .title { .record-content .title {
@ -698,7 +767,7 @@
.record-content .list .li .icon::after { .record-content .list .li .icon::after {
content: ""; content: "";
width: 1rpx; width: 2rpx;
position: absolute; position: absolute;
left: 7rpx; left: 7rpx;
height: 106rpx; height: 106rpx;
@ -734,11 +803,11 @@
.record-content .list .on .icon::after { .record-content .list .on .icon::after {
content: ""; content: "";
width: 1rpx; width: 2rpx;
position: absolute; position: absolute;
left: 9rpx; left: 9rpx;
height: 167rpx; height: 167rpx;
z-index: -1; z-index: 1;
background-color: #0084ff; background-color: #0084ff;
top: 20rpx; top: 20rpx;
} }
@ -771,6 +840,7 @@
margin-top: 101rpx; margin-top: 101rpx;
color: #FFFFFF; color: #FFFFFF;
} }
.work-order-from .li .input .add-img { .work-order-from .li .input .add-img {
width: 136rpx; width: 136rpx;
height: 127rpx; height: 127rpx;
@ -788,38 +858,80 @@
.work-order-from .li .add-display { .work-order-from .li .add-display {
display: flex; display: flex;
} }
.change-accessory .li .img{ .change-accessory {
background-color: #FFFFFF;
}
.change-accessory .li .img {
width: 185rpx; width: 185rpx;
height: 185rpx; height: 185rpx;
margin-right: 30rpx; margin-right: 30rpx;
} }
.change-accessory .li{
padding: 34rpx; .change-accessory .li {
display: flex; padding: 34rpx;
border-bottom: 2rpx solid #EEEEEE;
} display: flex;
.change-accessory .li .text-content { border-bottom: 2rpx solid #EEEEEE;
flex: 1; }
.change-accessory .li .text-content {
flex: 1;
}
.change-accessory .li .text-content .title {
font-size: 30rpx;
display: flex;
justify-content: space-between;
margin-bottom: 16rpx;
}
.change-accessory .li .text-content .title .text {
width: 77%;
font-size: 30rpx;
color: #333333;
}
.change-accessory .li .text-content .date {
color: #ff0000;
font-size: 24rpx;
font-weight: bold;
}
.change-accessory .li .text-content .text {
width: auto;
font-size: 26rpx;
margin-bottom: 12rpx;
color: #666666;
}
.work-order-from .rideo{
display: flex;
} }
.change-accessory .li .text-content .title{ .work-order-from .isrideo{
font-size: 30rpx; display: flex;
display: flex; align-items: center;
justify-content: space-between; margin-right: 41rpx;
margin-bottom: 16rpx; }
.work-order-from .isrideo .icon{
width: 26rpx;
border: 2rpx solid #818181;
border-radius: 50%;
height: 26rpx;
margin-right: 10rpx;
display: flex;
justify-content: center;
align-items: center;
}
.work-order-from .isrideo .icon .icon-content{
width: 19rpx;
height: 19rpx;
background-color: #818181;
border-radius: 50%;
}
.work-order-from .isrideo .on{
border: 2rpx solid #D81E06;
}
.work-order-from .isrideo .on .icon-content{
background-color: #D81E06
} }
.change-accessory .li .text-content .title .text{
width: 77%;
font-size: 30rpx;
color: #333333;
}
.change-accessory .li .text-content .date{
color: #ff0000;
font-size: 24rpx;font-weight: bold;
}
.change-accessory .li .text-content .text{
width: auto;
font-size: 26rpx;
margin-bottom: 12rpx;
color: #666666;
}
</style> </style>

View File

@ -42,7 +42,7 @@
</view> </view>
<view class="payReturnVisit-input"> <view class="payReturnVisit-input">
<view class="title"> <view class="title">
联系电话 回访时间
</view> </view>
<input class="input" placeholder="2022/02/13 14:18:00" type="text" value="" /> <input class="input" placeholder="2022/02/13 14:18:00" type="text" value="" />
</view> </view>

View File

@ -49,7 +49,8 @@
<view class="title"> <view class="title">
项目名称 项目名称
</view> </view>
<input type="text" class="input" placeholder="" value="湖南省林业科学院11楼会议室P2.5" /> <input type="text" class="input input-black
" placeholder="" value="湖南省林业科学院11楼会议室P2.5" />
</view> </view>
<view class="li"> <view class="li">
@ -123,7 +124,7 @@
<view class="title"> <view class="title">
服务方式 服务方式
</view> </view>
<input type="text" class="input" placeholder="" value="上门服务" /> <input type="text" class="input input-black" placeholder="" value="上门服务" />
</view> </view>
<view class="li"> <view class="li">
@ -161,6 +162,7 @@
<style> <style>
.content { .content {
padding-top: 80rpx; padding-top: 80rpx;
padding-bottom: 80rpx;
} }
.submit-button { .submit-button {
width: 686rpx; width: 686rpx;
@ -244,4 +246,7 @@
height: 127rpx; height: 127rpx;
margin-right: 10rpx; margin-right: 10rpx;
} }
.work-order-from .li .input-black {
color: #292929;
}
</style> </style>

View File

@ -4,6 +4,9 @@
<view class="project-list-input"> <view class="project-list-input">
<input type="text" class="int" value="" placeholder="请输入关键字" /> <input type="text" class="int" value="" placeholder="请输入关键字" />
<image class="search" src="../../static/iocn/ss.png" mode=""></image> <image class="search" src="../../static/iocn/ss.png" mode=""></image>
<view class="xian">
</view>
</view> </view>
@ -79,7 +82,7 @@
<view class="project-list-address"> <view class="project-list-address">
<view class="address clips2"> <view class="address clips2">
<image class="img" src="../../static/iocn/im.png" mode="aspectFill"></image> <image class="img" src="../../static/iocn/dz2.png" mode="aspectFill"></image>
<view class="text"> <view class="text">
湖南省长沙市高新开发区谷园路109号像素大厦1205 湖南省长沙市高新开发区谷园路109号像素大厦1205
</view> </view>
@ -132,7 +135,7 @@
<view class="project-list-address"> <view class="project-list-address">
<view class="address clips2"> <view class="address clips2">
<image class="img" src="../../static/iocn/im.png" mode="aspectFill"></image> <image class="img" src="../../static/iocn/dz2.png" mode="aspectFill"></image>
<view class="text"> <view class="text">
湖南省长沙市高新开发区谷园路109号像素大厦1205 湖南省长沙市高新开发区谷园路109号像素大厦1205
</view> </view>
@ -185,7 +188,7 @@
<view class="project-list-address"> <view class="project-list-address">
<view class="address clips2"> <view class="address clips2">
<image class="img" src="../../static/iocn/im.png" mode="aspectFill"></image> <image class="img" src="../../static/iocn/dz2.png" mode="aspectFill"></image>
<view class="text"> <view class="text">
湖南省长沙市高新开发区谷园路109号像素大厦1205 湖南省长沙市高新开发区谷园路109号像素大厦1205
</view> </view>
@ -262,8 +265,17 @@
.content { .content {
padding-top: 76rpx; padding-top: 76rpx;
padding-bottom: 140rpx;
} }
.project-list-input .xian {
width: 3rpx;
height: 35rpx;
position: absolute;
background-color: #EAEAEA;
right: 100rpx;
top: 50%;
margin-top: -14rpx;
}
.project-list-input { .project-list-input {
width: 100%; width: 100%;
height: 114rpx; height: 114rpx;
@ -294,7 +306,10 @@
.screen { .screen {
display: flex; display: flex;
justify-content: space-around; justify-content: space-around;
padding: 46rpx 20rpx; padding: 25rpx 20rpx;
border-bottom: 2rpx solid #E6E6E6;
border-top: 2rpx solid #E6E6E6;
margin: 20rpx 0rpx;
} }
.screen .li { .screen .li {
@ -390,7 +405,7 @@
.project-list .li .message .text .title .icon1{ .project-list .li .message .text .title .icon1{
background-color: #00a2e9; background-color: #00a2e9;
} }
.project-list .li .message .text .title .icon1{ .project-list .li .message .text .title .icon3{
background-color: #009a44; background-color: #009a44;
} }
@ -415,7 +430,7 @@
} }
.project-list .li .message .specification .text { .project-list .li .message .specification .text {
color: #f5b0b0; color: #e90000;
} }
.project-list .li .message .installation-site { .project-list .li .message .installation-site {
@ -455,7 +470,7 @@
.project-list-address .address .img { .project-list-address .address .img {
width: 22rpx; width: 22rpx;
height: 28rpx; height: 30rpx;
margin-right: 10rpx; margin-right: 10rpx;
} }

View File

@ -381,6 +381,7 @@
<style> <style>
.content { .content {
padding-top: 80rpx; padding-top: 80rpx;
padding-bottom: 80rpx;
} }
.submit-button { .submit-button {
@ -658,6 +659,7 @@
.money-receiving-code .img{ .money-receiving-code .img{
width: 22rpx; width: 22rpx;
height: 12rpx; height: 12rpx;
transform: rotateZ(-90deg);
} }
.address{ .address{
width: 100%; width: 100%;

View File

@ -154,9 +154,28 @@
<view class="title"> <view class="title">
更换配件 更换配件
</view> </view>
<view class="rideo"> <view class="rideo">
<view class="isrideo" @click="isrideoFun(true)">
<view class="icon " :class="isrideo?'on':''">
<view class="icon-content">
</view> </view>
</view>
<view class="">
</view>
</view>
<view class="isrideo" @click="isrideoFun(false)" >
<view class="icon" :class="isrideo?'':'on'">
<view class="icon-content">
</view>
</view>
<view class="">
</view>
</view>
</view>
</view> </view>
</view> </view>
@ -204,7 +223,7 @@
</view> </view>
<view class="li"> <view class="li">
<view class="title"> <view class="title">
维保人 维保人
</view> </view>
<input type="text" class="input input-black" placeholder="" value="罗帅 陈志远" /> <input type="text" class="input input-black" placeholder="" value="罗帅 陈志远" />
@ -265,6 +284,7 @@
}, },
data() { data() {
return { return {
isrideo:true,
accessoriesData: [{ accessoriesData: [{
id: 1, id: 1,
title: "全彩LED显示屏接收卡", title: "全彩LED显示屏接收卡",
@ -290,7 +310,9 @@
} }
}, },
methods: { methods: {
isrideoFun(is){
this.isrideo=is
},
} }
} }
</script> </script>
@ -298,6 +320,7 @@
<style> <style>
.content { .content {
padding-top: 80rpx; padding-top: 80rpx;
padding-bottom: 20rpx;
} }
.submit-button { .submit-button {
@ -494,5 +517,35 @@
.cost-breakdown-content .title .li:nth-child(4){ .cost-breakdown-content .title .li:nth-child(4){
width: 120rpx; width: 120rpx;
} }
.work-order-from .rideo{
display: flex;
}
.work-order-from .isrideo{
display: flex;
align-items: center;
margin-right: 41rpx;
}
.work-order-from .isrideo .icon{
width: 26rpx;
border: 2rpx solid #818181;
border-radius: 50%;
height: 26rpx;
margin-right: 10rpx;
display: flex;
justify-content: center;
align-items: center;
}
.work-order-from .isrideo .icon .icon-content{
width: 19rpx;
height: 19rpx;
background-color: #818181;
border-radius: 50%;
}
.work-order-from .isrideo .on{
border: 2rpx solid #D81E06;
}
.work-order-from .isrideo .on .icon-content{
background-color: #D81E06
}
</style> </style>

BIN
static/iocn/dz2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 B

BIN
static/iocn/jh.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 B