vue-apps/com.actionsoft.apps.kms.mobile/pages/know-detail.vue
2025-07-07 13:55:22 +08:00

1161 lines
29 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="detail">
<div class="content"
:style="contents">
<div style="padding: 3px 16px;width: 100%;height:44px;margin-top: var(--app-safe-area-top);background:white;z-index: 999">
<i style="font-size: 22px;color:#000;line-height:44px"
class="awsui-iconfont"
@click="backHome">&#xe708;</i><span class="titlespan">流程制度</span></div>
<div class="items"
style="margin-top: 22px;padding-bottom: 5px;">
<span class="top">{{ title }}</span>
</div>
<div class="items rate"
style="padding:0px 10px;">
<ul class="list"
style="background:#f9f9f9;border:0.333px solid #e9e9e9;border-radius: 3px; ">
<li style="border-bottom:0;">
<div class="icon"
style="width:40px; height: 40px;">
<img v-show="userHeadImg!=''"
:src="userHeadImg"
alt=""
style="width:40px; height: 40px;">
</div>
<div class="left">
<div class="title">
{{ userName }} | {{ department }}
</div>
<div class="description rate_info">
<i class="awsui-iconfont">&#xe722;</i><span>{{ browseNum }}</span>
<i style="margin-left: 8px;"
class="awsui-iconfont">&#xe8f7;</i><span>{{ evaluate.evaluateNum }}</span>
</div>
</div>
<div class="right"
v-show="isRate===1">
<div class="score">
<span>{{ score }}</span>
<i v-show="showStar"
:style="openStar?'color:#1989fa':''"
@click="operateStar"
class="awsui-iconfont">&#xe716;</i>
</div>
<van-rate readonly
class="start"
:size="13"
void-icon="star"
void-color="#ddd"
v-model="start"/>
</div>
</li>
<div class="center"
:style="openStarStyle">
<div class=""
:style="widthStyle">
<div class="item">
<div class="start">
<van-rate readonly
:size="7"
v-model="value"
void-icon="star"
void-color="#ddd"/>
</div>
<van-progress class="progress"
color="#ffd21e"
pivot-text=""
:percentage="percentage.fiveStar"/>
<div class="percentage">{{ percentage.fiveStarBar }}</div>
</div>
<div class="item">
<div class="start">
<van-rate readonly
:size="7"
:count="4"
v-model="value"
void-icon="star"
void-color="#ddd"/>
</div>
<van-progress class="progress"
color="#ffd21e"
pivot-text=""
:percentage="percentage.fourStar"/>
<div class="percentage">{{ percentage.fourStarBar }}</div>
</div>
<div class="item">
<div class="start">
<van-rate readonly
:size="7"
:count="3"
v-model="value"
void-icon="star"
void-color="#ddd"/>
</div>
<van-progress class="progress"
color="#ffd21e"
pivot-text=""
:percentage="percentage.threeStar"/>
<div class="percentage">{{ percentage.threeStarBar }}</div>
</div>
<div class="item">
<div class="start">
<van-rate readonly
:size="7"
:count="2"
v-model="value"
void-icon="star"
void-color="#ddd"/>
</div>
<van-progress class="progress"
color="#ffd21e"
pivot-text=""
:percentage="percentage.twoStar"/>
<div class="percentage">{{ percentage.twoStarBar }}</div>
</div>
<div class="item">
<div class="start">
<van-rate readonly
:size="7"
:count="1"
v-model="value"
void-icon="star"
void-color="#ddd"/>
</div>
<van-progress class="progress"
color="#ffd21e"
pivot-text=""
:percentage="percentage.oneStar"/>
<div class="percentage">{{ percentage.oneStarBar }}</div>
</div>
</div>
</div>
<div v-show="openStar"
class="bottom">
您的评价:
<van-rate :size="13"
void-icon="star"
void-color="#ddd"
v-model="start"
@change="browseCardInfo"/>
</div>
</ul>
</div>
<div v-show="description.length>0"
class="card_content">
<span class="description"
v-html="description">
</span>
</div>
<div class="divide"></div>
<div class="items file"
style="padding:0;">
<div class="title"
style="padding-top: 2px">
附件
<i class="awsui-iconfont"
style="float:right;cursor: pointer;"
@click="openpanel">&#xe719;</i>
</div>
<ul class="list filelist">
<li v-for="(item,index) in list"
:key="index">
<div class="file_title"
@click="fileOperatePreview(item)">
{{ item.fileName }}
</div>
<div class="file_info">
<i class="awsui-iconfont"
v-html="getIcon(item.fileSuffixIcon)"></i>
{{ formatSize(item.fileSize) }} | {{ item.createUsername }} | {{ item.createTime }}
<span v-show="cardSetting.onlineLevel===1"
class="download"
@click="fileOperate(item)">
<i class="awsui-iconfont download"
style="color: #4A90E2;">&#xe653;</i>
</span>
</div>
</li>
</ul>
</div>
<div class="divide"
v-show="evaluate.list.length>0"></div>
<div class="items"
style="padding:0;">
<ul class="list evaluate">
<li v-for="(item,index) in evaluate.list"
:key="index">
<div class="icon"
style="width:40px;">
<img :src="imgSrc(item.commentUserPhoto)"
alt=""
style="width:45px;">
</div>
<div class="left">
<span class="title">
{{ item.commentUsername }}
</span>
<span class="date">
{{ item.commentTime }}
</span>
<div class="description">
{{ item.commentContent }}
</div>
</div>
</li>
</ul>
</div>
<div v-show="noContent">
<div class="con"
:style="noContentH">
<div class="img">
<img src="../assets/no_content.png"
alt=""
style="width: 125px;">
</div>
<div class="text">暂无数据</div>
</div>
</div>
</div>
<div class="footer"
v-show="cardSetting.isComment==1">
<span class="headImg"><img :src="currentUserPhoto"
alt=""></span>
<van-field
class="field border"
v-model="message"
center
placeholder="请输入评论内容..."
@input="changeEmoji"
>
<template #button>
<van-button size="small"
type="info"
@click="insertComment">提交
</van-button>
</template>
</van-field>
</div>
<van-action-sheet v-model="show"
@close="closeSheet">
<div class="content"
style="width: 100%;padding: 20px 0px">
<span v-if="!retroactionflag">
<div v-show="showFavorite"
class="options_op"
@click="favorite">
<div class="icon">
<i v-if="hasFavorited"
class="awsui-iconfont">&#xe804;</i>
<i v-else
class="awsui-iconfont">&#xe83a;</i>
</div>
<div class="label">{{ hasFavorited ? "取消收藏" : "收藏" }}</div>
</div>
<div class="options_op"
:style="showFavorite?'':'width:100%;'"
@click="retroaction">
<div class="icon"><i class="awsui-iconfont">&#xe745;</i></div>
<div class="label">反馈</div>
</div>
</span>
<div class="retroaction-panel"
v-else>
<van-field
class="border"
v-model="remarks"
:autosize="{ maxHeight: 100, minHeight: 100 }"
type="textarea"
placeholder="反馈内容将发送给管理员"
/>
<van-button class="retroaction-submit"
size="small"
type="info"
@click="reportCard">提交
</van-button>
</div>
</div>
</van-action-sheet>
</div>
</template>
<script>
import awsuiAxios from "../awsuiAxios";
export default {
name: "know-detail",
data() {
return {
noContentH: "",
initParams: {},
kmsSetting: {},
widthStyle: "",
openStarStyle: "position:absolute;left:-1000px",
noContent: false,
showFavorite: false,
showStar: false,
openStar: false,
contents: "",
retroactionflag: false,
cardSetting: {},
remarks: "",
value: 0,
title: "",
description: "",
hasFavorited: false,
list: [],
currentUserPhoto: "",
userHeadImg: "",
department: "",
userName: "",
score: "0", //评分
start: 0, //星星数 必须是number类型
browseNum: "0", //浏览人数
evaluate: {
evaluateNum: "0", //评价人数
list: []
},
percentage: {
fiveStar: 0,
fourStar: 0,
threeStar: 0,
twoStar: 0,
oneStar: 0,
fiveStarBar: "",
fourStarBar: "",
threeStarBar: "",
twoStarBar: "",
oneStarBar: ""
},
message: "",
show: false,
isRate: 0//是否显示评分,0:禁止1允许
};
},
computed: {},
methods: {
imgSrc(path) {
return path.replace("./df", this.getPath() + "df");
},
getNoRPath() {
return this.getPath().replace("/", "").replace("./", "../");
},
getPath() {
return axiosBaseUrl;
},
getIcon(fileSuffixIcon) {
if (["jpg", "gif", "tif", "tiff", "bmp", "jpeg2000", "psd", "png", "svg", "pcx", "dxf", "wmf", "emf", "eps", "tga"].includes(fileSuffixIcon)) {
return "&#xe74d;";
} else if (["ppt", "pptx"].includes(fileSuffixIcon)) {
return "&#xe7d4;";
} else if (["doc", "docx"].includes(fileSuffixIcon)) {
return "&#xe7ea;";
} else if (["xls", "xlsx"].includes(fileSuffixIcon)) {
return "&#xe7d0;";
} else if (["pdf"].includes(fileSuffixIcon)) {
return "&#xe684;";
} else if (["zip"].includes(fileSuffixIcon)) {
return "&#xe687;";
} else {
return "&#xe72b;";
}
},
backHome() {
window.history.back();
},
operateStar() {
if (this.openStar) {
this.noContentH = "top:65%";
this.openStarStyle = "position:absolute;left:-1000px;";
} else {
this.noContentH = "top:73%";
this.openStarStyle = "";
}
this.openStar = !this.openStar;
},
openpanel() {
this.retroactionflag = false;
this.show = true;
},
closeSheet() {
this.remarks = "";
},
fileOperatePreview(obj) {
let fileType = obj.fileNameNoVersion.lastIndexOf(".") > -1 ? obj.fileNameNoVersion.substring(obj.fileNameNoVersion.lastIndexOf(".") + 1, obj.fileNameNoVersion.length) : "";
let tmpSetting = this.kmsSetting;
let previewTypes = tmpSetting.browserPreview.split(",");
let hasType = false;
previewTypes.forEach((ob, index) => {
if (ob == fileType) {
hasType = true;
}
});
let data = {};
if (hasType) {// 浏览器直接预览不调用onlinedoc
data = {
cmd: "com.actionsoft.apps.kms_knwl_browser_preview",
fileId: obj.id
};
} else {
if (tmpSetting.isOnlinedocAppActive) {
//showFullScreenPanel
data = {
cmd: "com.actionsoft.apps.kms_knwl_center_preview_file",
isDownload: this.cardSetting.onlineLevel === 1,
isCopy: true,
fileId: obj.id
};
} else {
return;
}
}
let that = this;
localStorage.setItem("knowCarParams", JSON.stringify(this.initParams));
awsuiAxios.post({
url: "jd",
data: data
}).then(function (r) {
if (r.result == "error") {
that.$toast({message: r.data ? r.data.desc : r.msg, overlay: true});
} else {
let url = r.data.url;
var head = document.location.origin + "/portal";
if (url.indexOf("./df") > -1) {
url = url.replace("./df", head + "/r/df");
} else {
url = url.replace("./w", head + "/r/w");
}
try {
if (awsWebview.openWebviewPost(url, null) === false) {
window.location.href = url;
}
} catch (e) {
}
}
});
},
fileOperate(obj) {
let $this = this;
localStorage.setItem("knowCarParams", JSON.stringify(this.initParams));
awsuiAxios.post({
url: "jd",
data: {
cmd: "com.actionsoft.apps.kms_knwl_center_download_file",
fileId: obj.id
}
}).then((req) => {
let data = req.data;
if (data !== undefined && Object.keys(data).length > 0) {
let url = data.downloadURL;
window.open(url);
}
}).catch((err) => {
$this.$message({
type: "error",
message: err.message
});
});
},
favorite() {
let that = this;
awsuiAxios.post({
url: "jd",
data: {
cmd: "com.actionsoft.apps.kms_knwl_center_collect_card",
cardId: this.initParams.id
}
}).then(function (r) {
if (r.result === "ok") { // 收藏成功
that.hasFavorited = true;
that.$toast({message: "收藏成功", overlay: true});
} else if (r.result === "warning") { // 取消收藏成功
that.hasFavorited = false;
that.$toast({message: "取消收藏成功", overlay: true});
}
that.show = false;
});
},
retroaction() {
this.retroactionflag = true;
},
reportCard() {
let that = this;
if (this.remarks === "") {
return that.$toast({message: "反馈内容不允许为空", overlay: false});
}
awsuiAxios.post({
url: "jd",
data: {
cmd: "com.actionsoft.apps.kms_knwl_center_report_card",
cardId: this.initParams.id,
dimensionId: this.initParams.dimensionId,
reportContent: encodeURIComponent(this.remarks)
}
}).then(function (r) {
if (r.result === "ok") { // 收藏成功
that.$toast({message: "谢谢您的反馈", overlay: true});
that.show = false;
that.retroactionflag = false;
}
});
},
formatSize(size) {
if (size == "0") {
return "-";
}
size = parseFloat(size);
let units = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB", "BB"];
let step = 1024;
let unitIndex = 0;
while (true) {
if (size > 1024) {
size = parseFloat(size / step).toFixed(2);
unitIndex++;
} else {
break;
}
}
return size + units[unitIndex];
},
browseCardInfo() {
let that = this;
awsuiAxios.post({
url: "jd",
data: {
cmd: "com.actionsoft.apps.kms_knwl_center_rate_card",
cardId: this.initParams.id,
rateId: this.cardSetting.rateId,
rateLevel: this.start
}
}).then(function (r) {
if (r.result === "error") {
} else {
that.$toast({message: "评分成功", overlay: true});
that.refreshInfo();
}
});
},
insertComment(val) {
if (this.message.trim() === "") {
this.$toast({message: "评论内容不允许为空", overlay: true});
return false;
}
if (this.message.trim().length > 1000) {
this.$toast({message: "评论内容长度不能超过1000个字符", overlay: true});
return false;
}
let that = this;
awsuiAxios.post({
url: "jd",
data: {
cmd: "com.actionsoft.apps.kms_knwl_center_comment_insert",
cardId: this.initParams.id,
commentContent: this.message.trim()
}
}).then(function (r) {
that.evaluate.evaluateNum++;
that.evaluate.list.push(r.data.comment);
that.noContent = false;
that.message = "";
});
},
commonOp(data) {
this.showFavorite = data.showFavorite;
this.list = data.files;
this.cardSetting = data;
if (data.isComment == 0) {
this.contents = "height:" + window.innerHeight + "px";
}
this.department = data.createUserDept;
this.userName = data.createUsername;
this.browseNum = data.card.readCount;
let starState = data.isRate != 1;
if (starState) {
this.showStar = false;
this.openStar = false;
} else {
this.showStar = true;
}
this.userHeadImg = this.imgSrc(data.createUserPhoto);
this.currentUserPhoto = this.imgSrc(data.currentUserPhoto);
this.evaluate.list = data.comments;
this.evaluate.evaluateNum = data.comments.length;
this.noContent = data.comments.length == 0 && this.list.length == 0;
this.lists = data.data;
this.description = data.cardContext;
this.title = data.cardName;
this.isRate = data.isRate;
if (data.isCollected) {
this.hasFavorited = true;
}
let rates = data.rates;
let rateUserCounts = rates["1"] + rates["2"] + rates["3"] + rates["4"] + rates["5"];
this.start = data.rateLevel;
if (rateUserCounts > 0) {
var totalScore = rates["1"] * 1 + rates["2"] * 2 + rates["3"] * 3 + rates["4"] * 4 + rates["5"] * 5;
var avgScore = (totalScore / (rates["1"] + rates["2"] + rates["3"] + rates["4"] + rates["5"])).toFixed(1);
this.score = avgScore;
this.percentage.fiveStar = ((rates["5"] / rateUserCounts) * 100);
this.percentage.fourStar = ((rates["4"] / rateUserCounts) * 100);
this.percentage.threeStar = ((rates["3"] / rateUserCounts) * 100);
this.percentage.twoStar = ((rates["2"] / rateUserCounts) * 100);
this.percentage.oneStar = ((rates["1"] / rateUserCounts) * 100);
let fives = ((rates["5"] / rateUserCounts) * 100);
let four = ((rates["4"] / rateUserCounts) * 100);
let three = ((rates["3"] / rateUserCounts) * 100);
let two = ((rates["2"] / rateUserCounts) * 100);
let one = ((rates["1"] / rateUserCounts) * 100);
this.percentage.fiveStarBar = fives == 0 ? "" : fives + "%";
this.percentage.fourStarBar = four == 0 ? "" : four + "%";
this.percentage.threeStarBar = three == 0 ? "" : three + "%";
this.percentage.twoStarBar = two == 0 ? "" : two + "%";
this.percentage.oneStarBar = one == 0 ? "" : one + "%";
}
},
refreshInfo() {
let params = this.initParams,
that = this;
if (!params.id) {
return false;
}
// 获取知识列表数据
awsuiAxios.post({
url: "jd",
data: {
cmd: "com.actionsoft.apps.kms_knwl_center_browse_card_info_json",
cardId: params.id,
isBorrow: false,
boId: params.boId ? params.boId : "",
isEdit: true,
dimensionId: params.dimensionId
}
}).then(function (r) {
that.loading = false;
if (r.result == "error") {
that.$toast({message: r.data ? r.data.desc : r.msg, overlay: true});
} else {
let data = r.data;
that.commonOp(data);
}
});
},
getSettingFile() {
// 获取知识列表数据
let that = this;
awsuiAxios.post({
url: "jd",
data: {
cmd: "com.actionsoft.apps.kms_knwl_center_mobile_check_fullsearch"
}
}).then(function (r) {
that.kmsSetting = r.data.setting;
});
},
//屏蔽emoji表情输入
changeEmoji() {
let patt = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
this.message = this.message.replace(patt, function (char) {
if (char.length === 2) {
return "";
} else {
return char;
}
});
}
},
mounted() {
if (window.ReactNativeWebView) {
window.ReactNativeWebView.postMessage(JSON.stringify({
type: 'headerShown',
visible: false, // true 显示 false 隐藏
}));
}
let h = window.innerHeight - 51;
this.contents = "height:" + h + "px";
this.widthStyle = "width:" + (window.innerWidth - 43) + "px";
if (!this.$route.params || !this.$route.params.id) {
let storgateParams = localStorage.getItem("knowCarParams");
if (storgateParams != undefined && storgateParams != "") {
this.initParams = eval("(" + storgateParams + ")");
localStorage.setItem("knowCarParams", undefined);
}
} else {
this.initParams = this.$route.params;
}
this.refreshInfo();
},
beforeDestroy() {
if (window.ReactNativeWebView) {
window.ReactNativeWebView.postMessage(JSON.stringify({
type: 'headerShown',
visible: true, // true 显示 false 隐藏
}));
}
},
created() {
this.getSettingFile();
}
};
</script>
<style scoped>
.detail {
height: 100%;
}
.detail .content {
border-top: 0.33px solid #e9e9e9;
color: #666;
height: calc(100% - 51px);
overflow-y: auto;
width: 100%;
}
.items {
padding: 12px;
position: relative;
}
.items span {
display: inline-block;
}
.icon i {
color: rgb(74, 144, 226);
}
.top {
font-size: 16px;
color: #666;
font-weight: bold;
line-height: 22px;
padding-bottom: 10px;
width: 100%;
display: inline-block;
}
.description {
max-height: 100px;
line-height: 16px;
color: #999;
width: 100%;
}
.title {
padding-bottom: 6px;
line-height: 16px;
padding: 12px;
position: relative;
align-items: center;
font-size: 13px;
color: black;
}
.title i {
color: #666;
}
.list {
padding: 0 12px;
/*float: left;*/
width: calc(100% - 24px);
overflow-y: auto;
}
.list span, .list label {
display: inline-block;
}
.list li {
float: left;
padding: 8px 0;
width: 100%;
position: relative;
/*display: flex;*/
justify-content: center;
align-items: center;
}
.rate li, .file li {
background: rgb(249, 249, 249);
}
.list li .icon {
float: left;
padding-right: 10px;
}
.list li .left {
width: calc(100% - 125px);
float: left;
}
.list li .left .title, .list li .right .name {
font-size: 13px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
color: #333;
line-height: 18px;
padding: 0 0 2px;
border: 0;
width: 100%;
display: inline-block;
}
.list li .right .name {
font-size: 12px;
padding: 0;
}
.list li .left .description, .list li .right .time {
color: #999999;
line-height: 15px;
font-size: 12px;
}
.list li .left .description .line {
display: inline-block;
margin: 0 6px;
color: #E8E8E8;
}
.list li .right {
width: 73px;
text-align: right;
float: right;
}
.list .li-more {
padding: 0;
border: none;
height: 67px;
line-height: 67px;
width: 100%;
display: none;
}
.list .li-more .more {
color: #999;
line-height: 20px;
font-size: 13px;
cursor: pointer;
display: inline-block;
text-align: center;
width: 100%;
letter-spacing: 1px;
}
.list .center {
background: #f9f9f9;
}
.list .center .left {
width: 66px;
text-align: center;
margin-right: 2px;
float: left;
}
.right .score {
color: #333;
text-align: center;
}
.right .score span {
font-weight: bold;
color: #000;
}
.right .score i {
font-size: 12px;
position: absolute;
right: 3px;
top: 11px;
}
.list .center .item {
/*float: left;*/
line-height: 10px;
width: 100%;
display: flex;
align-items: center;
}
.list .center .item .start {
width: 44px;
margin-right: 10px;
float: left;
text-align: right;
}
.list .center .item .progress {
width: calc(100% - 80px);
float: left;
margin-right: 5px;
top: 2px;
}
.list .center .item .percentage {
width: 27px;
font-size: 10px;
float: left;
color: #999;
position: relative;
top: 2px;
}
.list .bottom {
float: left;
line-height: 13px;
padding: 10px 0;
display: flex;
align-items: center;
width: 100%;
font-size: 13px;
border-top: 0.333px solid #e9e9e9;
margin-top: 11px;
}
.evaluate li {
display: flex;
}
.evaluate li .left {
width: 100%;
}
.evaluate li .left .title {
width: auto;
padding: 0;
}
.evaluate li .date {
color: #999;
float: right;
font-size: 12px;
}
.evaluate li .description {
float: left;
}
.items .description {
font-size: 13px;
}
.footer {
position: fixed;
border-top: 0.33px solid #e9e9e9;
padding-left: 12px;
left: 0;
right: 0;
bottom: 0;
background: #fff;
z-index: 1;
display: flex;
align-items: center;
}
.footer .headImg {
width: 30px;
display: inline-block;
}
.headImg img {
width: 30px;
}
.footer .field {
width: calc(100% - 30px);
}
.footer .van-button {
height: 28px;
line-height: 28px;
border-radius: 2px;
padding: 0 8px !important;
}
.dropdown-menu {
position: absolute;
right: 12px;
z-index: 10;
top: 41px;
background: #fff;
padding: 2px 12px;
box-shadow: 0 2px 5px 1px rgba(0, 0, 0, 0.2);
border-radius: 0 0 2px 2px;
}
.dropdown-menu li {
color: #999;
padding: 8px 0;
line-height: 18px;
display: flex;
align-items: center;
cursor: pointer;
}
.dropdown-menu li .awsui-iconfont {
margin-right: 10px;
}
.rate_info i {
font-size: 12px;
margin-right: 3px;
}
.divide {
height: 10px;
width: 100%;
background: #f3f3f3;
margin: 10px 0px;
border-bottom: 0.333px solid #e9e9e9;
border-top: 0.333px solid #e9e9e9;
}
.card_content {
padding: 8px 6px 0px 12px;
font-size: 14px;
}
.card_content .description {
line-height: 19px;
}
p {
margin: 0px !important;
margin-block-start: auto !important;
margin-block-end: auto !important;
}
.filelist li {
border: 0.333px solid #e9e9e9;
padding: 7px 5px;
width: calc(100% - 14px);
border-radius: 3px;
margin-bottom: 10px;
}
.file_title {
font-size: 14px;
color: #378DEC;
margin-bottom: 8px;
}
.file_info {
font-size: 12px;
color: #999;
}
.file_info i {
font-size: 12px;
color: #FFB800;
}
.file_info .download {
float: right;
}
.con {
position: absolute;
width: 100%;
left: 50%;
top: 65%;
transform: translate(-50%, -50%);
text-align: center;
}
.con .img {
width: 110px;
height: 110px;
margin: 0 auto;
}
.con .text {
color: #999;
line-height: 33px;
font-size: 12px;
width: 100%;
}
</style>
<style>
.my-swipe .van-swipe-item {
height: 134px;
}
.start .van-rate__item:not(:last-child) {
padding-right: 2px;
}
.list .center .right .item .start .van-rate__item:not(:last-child) {
padding-right: 4px;
}
.footer .field .van-field__control {
padding: 0 7px;
font-size: 12px;
position: relative;
padding-left: 22px;
}
.footer .field::before {
position: absolute;
top: 50%;
left: 22px;
transform: translateY(-50%);
font-family: "awsui-iconfont";
content: "\e636";
background: none;
font-size: 14px;
z-index: 10;
height: 24px;
color: #999;
}
.options_op {
width: 50%;
display: inline-block;
text-align: center;
}
.options_op .icon {
font-size: 16px;
margin-bottom: 10px;
}
.options_op .label {
font-size: 12px;
}
.retroaction-submit {
width: calc(100% - 20px);
margin-left: 10px;
}
.retroaction-panel textarea {
border: 1px solid #e9e9e9;
padding: 3px;
-webkit-appearance: none;
}
.titlespan{
display: flex;
justify-content: center;
margin-top: -34px;
margin-right: 36px;
font-family: PingFang SC, PingFang SC;
font-weight: 500;
font-size: 17px;
color: #1A1A1A;
line-height: 20px;
font-style: normal;
}
</style>