-
23src/pages.json
-
BINsrc/static/images/icon/index/green_bg_circle.png
-
BINsrc/static/images/icon/index/tab_12.png
-
BINsrc/static/images/icon/index/tab_8.png
-
39src/subpackage/message/components/detail/answer_item.vue
-
30src/subpackage/message/components/detail/image_flow.vue
-
46src/subpackage/message/components/detail/info.vue
-
36src/subpackage/message/components/edit/fixed_button.vue
-
95src/subpackage/message/components/edit/upload_img.vue
-
32src/subpackage/message/components/fixed_button.vue
-
74src/subpackage/message/components/message_item.vue
-
47src/subpackage/message/pages/complaint/detail.vue
-
24src/subpackage/message/pages/complaint/edit.vue
-
29src/subpackage/message/pages/complaint/list.vue
-
12src/uni.scss
Before Width: 296 | Height: 296 | Size: 51 KiB After Width: 296 | Height: 296 | Size: 7.7 KiB |
Before Width: 52 | Height: 52 | Size: 2.4 KiB After Width: 52 | Height: 52 | Size: 901 B |
Before Width: 52 | Height: 52 | Size: 2.4 KiB After Width: 52 | Height: 52 | Size: 775 B |
@ -0,0 +1,39 @@ |
|||||
|
<template> |
||||
|
<view class="answer-item"> |
||||
|
<view class="ai-user"> |
||||
|
<view class="au-name">李小小</view> |
||||
|
<view class="au-time">[回复] 20241220 10:12:31</view> |
||||
|
</view> |
||||
|
<view class="ai-content">情况已核实,目前正在解决中</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
|
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss"> |
||||
|
.answer-item{ |
||||
|
padding: 30upx 22upx; |
||||
|
background: #fff; |
||||
|
border-radius: 10upx; |
||||
|
} |
||||
|
.ai-user{ |
||||
|
@include ctf; |
||||
|
@include flcw(32upx, 44upx, #1A1A1A); |
||||
|
.au-name{ |
||||
|
@include tHide; |
||||
|
} |
||||
|
.au-time{ |
||||
|
flex-shrink: 0; |
||||
|
color: #9C9C9F; |
||||
|
} |
||||
|
} |
||||
|
.ai-content{ |
||||
|
padding-left: 26upx; |
||||
|
margin-top: 24upx; |
||||
|
@include flcw(28upx, 40upx, #9C9C9F); |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,30 @@ |
|||||
|
<template> |
||||
|
<view class="image-flow"> |
||||
|
<image class="if-img" v-for="i in 5" :key="i"></image> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
|
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss"> |
||||
|
.image-flow{ |
||||
|
padding: 30upx 14upx; |
||||
|
background: #fff; |
||||
|
border-radius: 20upx; |
||||
|
font-size: 0; |
||||
|
.if-img{ |
||||
|
margin: 0 14upx; |
||||
|
width: 200upx; |
||||
|
height: 200upx; |
||||
|
border-radius: 10upx; |
||||
|
background: skyblue; |
||||
|
&:nth-of-type(n+4){ |
||||
|
margin-top: 28upx; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,46 @@ |
|||||
|
<template> |
||||
|
<view class="detail-info"> |
||||
|
<view class="di-line"> |
||||
|
<view class="dl-name">标题:</view> |
||||
|
<view class="dl-value">门禁开门异常</view> |
||||
|
</view> |
||||
|
<view class="di-line"> |
||||
|
<view class="dl-name">类型:</view> |
||||
|
<view class="dl-value">硬件</view> |
||||
|
</view> |
||||
|
<view class="di-line"> |
||||
|
<view class="dl-name">反馈内容:</view> |
||||
|
<view class="dl-value">开不了门</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
|
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss"> |
||||
|
.detail-info{ |
||||
|
padding: 30upx 24upx; |
||||
|
border-radius: 10upx; |
||||
|
background: #fff; |
||||
|
.di-line{ |
||||
|
@include ctf(space-between); |
||||
|
&+.di-line{ |
||||
|
margin-top: 10upx; |
||||
|
} |
||||
|
.dl-name{ |
||||
|
flex-shrink: 0; |
||||
|
@include flcw(28upx, 40upx, #1a1a1a); |
||||
|
} |
||||
|
.dl-value{ |
||||
|
flex-grow: 1; |
||||
|
text-align: right; |
||||
|
@include flcw(28upx, 40upx, #1a1a1a); |
||||
|
@include tHide; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,36 @@ |
|||||
|
<template> |
||||
|
<view class="fixed-button"> |
||||
|
<button class="fb-btn">取消</button> |
||||
|
<button class="fb-btn">提交</button> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
|
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss"> |
||||
|
.fixed-button{ |
||||
|
position: fixed; |
||||
|
left: 0; |
||||
|
bottom: 0; |
||||
|
padding: 10upx 20upx; |
||||
|
width: 100%; |
||||
|
@include ctf(center); |
||||
|
.fb-btn{ |
||||
|
margin: 0 20upx; |
||||
|
width: 240upx; |
||||
|
text-align: center; |
||||
|
border: 2upx solid $mColor; |
||||
|
border-radius: 44upx; |
||||
|
background: #fff; |
||||
|
@include flcw(32upx, 88upx, $mColor); |
||||
|
&+.fb-btn{ |
||||
|
background: $mColor; |
||||
|
color: #fff; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,95 @@ |
|||||
|
<template> |
||||
|
<view class="upload-img"> |
||||
|
<view class="ui-title">上传照片<text class="ut-txt">(最多上传3张,只支持.jpg、png 格式)</text></view> |
||||
|
<view class="ui-ls"> |
||||
|
<view class="ul-item" v-for="i in 4" :key="i"> |
||||
|
<image class="ui-pic"></image> |
||||
|
<image class="ui-close"></image> |
||||
|
</view> |
||||
|
<view class="ul-item ul-add"> |
||||
|
<view class="ua-icon"></view> |
||||
|
<view class="ua-txt">上传照片</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
|
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss"> |
||||
|
.upload-img{ |
||||
|
padding: 30upx 18upx; |
||||
|
border-radius: 20upx; |
||||
|
background: #fff; |
||||
|
.ui-title{ |
||||
|
padding: 0 10upx; |
||||
|
@include flcw(32upx, 44upx, #333333); |
||||
|
.ut-txt{ |
||||
|
font-size: 24upx; |
||||
|
color: #9A9A9D; |
||||
|
} |
||||
|
} |
||||
|
.ui-ls{ |
||||
|
margin-top: 24upx; |
||||
|
font-size: 0; |
||||
|
.ul-item{ |
||||
|
position: relative; |
||||
|
margin: 0 12upx; |
||||
|
vertical-align: top; |
||||
|
display: inline-block; |
||||
|
width: 200upx; |
||||
|
height: 200upx; |
||||
|
&:nth-of-type(n+4){ |
||||
|
margin-top: 24upx; |
||||
|
} |
||||
|
.ui-pic{ |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
border-radius: 10upx; |
||||
|
background: skyblue; |
||||
|
} |
||||
|
.ui-close{ |
||||
|
position: absolute; |
||||
|
top: 6upx; |
||||
|
right: 6upx; |
||||
|
width: 40upx; |
||||
|
height: 40upx; |
||||
|
background: darkblue; |
||||
|
} |
||||
|
} |
||||
|
.ul-add{ |
||||
|
padding-top: 36upx; |
||||
|
border: 2upx solid #D8D8D8; |
||||
|
.ua-icon{ |
||||
|
position: relative; |
||||
|
margin: 0 auto; |
||||
|
width: 60upx; |
||||
|
height: 60upx; |
||||
|
&::before, &::after{ |
||||
|
content: ''; |
||||
|
position: absolute; |
||||
|
left: 50%; |
||||
|
top: 50%; |
||||
|
transform: translate(-50%, -50%); |
||||
|
display: block; |
||||
|
width: 100%; |
||||
|
height: 4upx; |
||||
|
background: #D8D8D8; |
||||
|
} |
||||
|
&::after{ |
||||
|
transform: translate(-50%, -50%) rotate(90deg); |
||||
|
} |
||||
|
} |
||||
|
.ua-txt{ |
||||
|
text-align: center; |
||||
|
margin-top: 28upx; |
||||
|
@include flcw(28upx, 40upx, #9A9A9D); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,32 @@ |
|||||
|
<template> |
||||
|
<view class="fixed-button"> |
||||
|
<button class="fb-btn" hover-class="hover-active">新建投诉</button> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
|
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss"> |
||||
|
.fixed-button{ |
||||
|
position: fixed; |
||||
|
left: 0; |
||||
|
bottom: 0; |
||||
|
width: 100%; |
||||
|
padding: 10upx 24upx; |
||||
|
.fb-btn{ |
||||
|
@include clearBtn; |
||||
|
text-align: center; |
||||
|
height: 112upx; |
||||
|
background: $mColor; |
||||
|
border-radius: 10upx; |
||||
|
@include flcw(32upx, 112upx, #fff, 500); |
||||
|
} |
||||
|
.hover-active{ |
||||
|
opacity: .9; |
||||
|
} |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,74 @@ |
|||||
|
<template> |
||||
|
<view class="message-item"> |
||||
|
<image class="mi-icon"></image> |
||||
|
<view class="mi-content"> |
||||
|
<view class="mc-info"> |
||||
|
<view class="mi-top"> |
||||
|
<view class="mt-title">标题</view> |
||||
|
<view class="mt-tag">返回的状态</view> |
||||
|
</view> |
||||
|
<view class="mi-content">巴拉巴拉巴拉....</view> |
||||
|
</view> |
||||
|
<image class="mc-arrow"></image> |
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
|
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss"> |
||||
|
.message-item{ |
||||
|
padding: 30upx 24upx; |
||||
|
border-radius: 10upx; |
||||
|
background: #fff; |
||||
|
@include ctf; |
||||
|
.mi-icon{ |
||||
|
flex-shrink: 0; |
||||
|
margin-right: 24upx; |
||||
|
width: 108upx; |
||||
|
height: 108upx; |
||||
|
background: skyblue; |
||||
|
} |
||||
|
.mi-content{ |
||||
|
flex-grow: 1; |
||||
|
@include ctf; |
||||
|
.mc-info{ |
||||
|
flex-grow: 1; |
||||
|
.mi-top{ |
||||
|
@include ctf; |
||||
|
.mt-title{ |
||||
|
@include flcw(32upx, 44upx, #1A1A1A); |
||||
|
@include tHide; |
||||
|
} |
||||
|
.mt-tag{ |
||||
|
flex-shrink: 0; |
||||
|
margin-left: 20upx; |
||||
|
padding: 4upx 12upx; |
||||
|
border: 2upx solid $mColor; |
||||
|
border-radius: 6upx; |
||||
|
text-align: center; |
||||
|
@include flcw(24upx, 34upx, $mColor); |
||||
|
} |
||||
|
} |
||||
|
.mi-content{ |
||||
|
margin-top: 18upx; |
||||
|
@include flcw(28upx, 40upx, #9C9C9F); |
||||
|
@include tHide(2); |
||||
|
} |
||||
|
} |
||||
|
.mc-arrow{ |
||||
|
align-self: flex-start; |
||||
|
flex-shrink: 0; |
||||
|
margin-left: 20upx; |
||||
|
margin-top: 8upx; |
||||
|
width: 28upx; |
||||
|
height: 28upx; |
||||
|
background: skyblue; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,47 @@ |
|||||
|
<template> |
||||
|
<view class="complaint-detail"> |
||||
|
<view class="top-status">当前状态:xxx处理中</view> |
||||
|
<view class="heigh-space" style="height: 24upx;"></view> |
||||
|
<detail-info></detail-info> |
||||
|
<view class="heigh-space" style="height: 24upx;"></view> |
||||
|
<image-flow></image-flow> |
||||
|
<view class="heigh-space" style="height: 24upx;"></view> |
||||
|
<button class="right-btn">回复</button> |
||||
|
<view class="heigh-space" style="height: 24upx;"></view> |
||||
|
<answer-item></answer-item> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import detailInfo from "../../components/detail/info.vue"; |
||||
|
import imageFlow from "../../components/detail/image_flow.vue"; |
||||
|
import answerItem from "../../components/detail/answer_item.vue"; |
||||
|
export default { |
||||
|
components: { |
||||
|
detailInfo, imageFlow, answerItem |
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss"> |
||||
|
.complaint-detail{ |
||||
|
padding: 24upx; |
||||
|
} |
||||
|
.top-status{ |
||||
|
padding: 0 24upx; |
||||
|
text-align: center; |
||||
|
border-radius: 10upx; |
||||
|
background: #fff; |
||||
|
@include tHide; |
||||
|
@include flcw(28upx, 84upx, #1A1A1A); |
||||
|
} |
||||
|
.right-btn{ |
||||
|
margin-left: auto; |
||||
|
margin-right: 0upx; |
||||
|
width: 192upx; |
||||
|
text-align: center; |
||||
|
border-radius: 10upx; |
||||
|
background: $mColor; |
||||
|
@include flcw(32upx, 88upx, #FFFFFF); |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,24 @@ |
|||||
|
<template> |
||||
|
<view class="complaint-edit"> |
||||
|
<upload-img></upload-img> |
||||
|
<fixed-button></fixed-button> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import uploadImg from "../../components/edit/upload_img.vue"; |
||||
|
import fixedButton from "../../components/edit/fixed_button.vue"; |
||||
|
export default { |
||||
|
components: { |
||||
|
uploadImg, |
||||
|
fixedButton, |
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss"> |
||||
|
.complaint-edit{ |
||||
|
padding: 24upx; |
||||
|
@include isPd(110upx); |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,29 @@ |
|||||
|
<template> |
||||
|
<view class="complaint-list"> |
||||
|
<view class="cl-ls"> |
||||
|
<message-item></message-item> |
||||
|
</view> |
||||
|
<fixed-button></fixed-button> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import fixedButton from "../../components/fixed_button.vue"; |
||||
|
import messageItem from "../../components/message_item.vue"; |
||||
|
export default { |
||||
|
components: { |
||||
|
fixedButton, |
||||
|
messageItem, |
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss"> |
||||
|
.complaint-list{ |
||||
|
@include isPd(132upx); |
||||
|
.cl-ls{ |
||||
|
padding: 28upx 24upx 0; |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
</style> |