138 lines
3.1 KiB
Vue
138 lines
3.1 KiB
Vue
<template>
|
|
<view class="page_padding">
|
|
<view class="handlebox flex-1">
|
|
<view class="items checkout flex items-center" @tap="handleClick">
|
|
<view class="label">处理人员</view>
|
|
<view class="value ellipsis">
|
|
<text>{{ checkoutinfo.userName ? checkoutinfo.userName : '请选择' }}</text>
|
|
</view>
|
|
</view>
|
|
<view class="items">
|
|
<view class="label">处理描述</view>
|
|
<view class="areabox">
|
|
<textarea
|
|
style="width: 100%; height: 100%; overflow: hidden"
|
|
:value="form.handleContent"
|
|
:maxlength="-1"
|
|
auto-height
|
|
placeholder="请输入"
|
|
@blur="handleBlur"
|
|
placeholder-style="font-size:28rpx;"
|
|
/>
|
|
</view>
|
|
</view>
|
|
<view class="action_btn" @tap="handleSelecthouse">
|
|
<text>确 认</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script setup lang="ts" key="handle">
|
|
import { ref } from 'vue'
|
|
import { onLoad, onUnload } from '@dcloudio/uni-app'
|
|
import { putComplainProcess } from '@/api/complain'
|
|
|
|
const checkoutinfo = ref({
|
|
userName: '',
|
|
userId: ''
|
|
})
|
|
const form = ref({
|
|
complaintId: '',
|
|
handleContent: ''
|
|
})
|
|
onLoad(options => {
|
|
if (options && options.handleId && options.handleId.trim()) {
|
|
form.value.complaintId = options.handleId
|
|
}
|
|
})
|
|
|
|
// 选择处理人员
|
|
function handleClick() {
|
|
uni.navigateTo({
|
|
url: '/pageSubPack/complaint/handleUser',
|
|
events: {
|
|
backData: (data: { userName: string; userId: string }) => {
|
|
checkoutinfo.value.userName = decodeURIComponent(data.userName)
|
|
checkoutinfo.value.userId = data.userId
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
function handleBlur(e) {
|
|
form.value.handleContent = e.detail.value
|
|
}
|
|
|
|
// 处理投诉 提交
|
|
function handleSelecthouse() {
|
|
putComplainProcess({
|
|
id: form.value.complaintId,
|
|
handleContent: form.value.handleContent
|
|
}).then(() => {
|
|
uni.navigateBack()
|
|
})
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.handlebox {
|
|
padding: 30rpx 40rpx;
|
|
position: relative;
|
|
|
|
.items {
|
|
margin-bottom: 30rpx;
|
|
overflow: hidden;
|
|
&.checkout {
|
|
height: 100rpx;
|
|
line-height: 100rpx;
|
|
border-bottom: 1rpx solid rgba(0, 0, 0, 0.1);
|
|
}
|
|
.label {
|
|
width: 128rpx;
|
|
min-width: 128rpx;
|
|
height: 40rpx;
|
|
font-weight: 550;
|
|
font-size: 32rpx;
|
|
color: #333333;
|
|
line-height: 40rpx;
|
|
margin-right: 86rpx;
|
|
}
|
|
.value {
|
|
height: 36rpx;
|
|
font-weight: 400;
|
|
font-size: 28rpx;
|
|
color: #666666;
|
|
line-height: 36rpx;
|
|
text-align: left;
|
|
}
|
|
.areabox {
|
|
margin-top: 20rpx;
|
|
border-radius: 8rpx;
|
|
border: 2rpx solid #e7e7e7;
|
|
padding: 10rpx;
|
|
box-sizing: border-box;
|
|
min-height: 162rpx;
|
|
max-height: 450rpx;
|
|
overflow: auto;
|
|
}
|
|
}
|
|
.action_btn {
|
|
width: 670rpx;
|
|
height: 80rpx;
|
|
font-weight: 400;
|
|
font-size: 28rpx;
|
|
color: #ffffff;
|
|
line-height: 80rpx;
|
|
text-align: center;
|
|
background: #4d5dfa;
|
|
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
|
|
|
position: absolute;
|
|
bottom: 0;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
}
|
|
}
|
|
</style>
|