middleground_H5/components/baseAssistant/index.vue

1252 lines
31 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>
<view class="top-level">
<view class="subsetion">
<u-subsection
:list="list"
mode="button"
:bgColor="'#fff'"
:fontSize="14"
:activeColor="'#ffffff'"
:current="currentIndex"
@change="handelrSubSectionChange"
></u-subsection>
</view>
<view v-if="currentIndex === 0">
<slot name="main"></slot>
</view>
<view v-if="currentIndex === 1" class="approveBox">
<div class="auditWork" v-if="stepList.length > 0">
<div
v-for="(item, index) in stepList"
:key="index"
style="margin-bottom: 15px"
>
<div style="display: flex">
<div class="auditWork_left">
<div
class="auditWork_left_image"
:style="{
borderColor:
item.step < stepnum
? '#5FDA1D'
: item.step == stepnum
? '#1478F6'
: '#BBBBBB',
}"
></div>
<div
class="auditWork_left_line"
v-if="item.step != stepList.length"
></div>
</div>
<div class="auditWork_right">
<div
class="auditWork_right_title"
:class="
item.step < stepnum
? 'color1'
: item.step == stepnum
? 'color2'
: 'color3'
"
>
{{ item.nodeName }}
</div>
<div class="auditWork_right_content">
<div
v-for="(el, index) in item.list"
:key="index"
style="
display: flex;
height: 100%;
width: 50%;
align-items: center;
"
:class="
el.state != 0 && item.step <= stepnum ? 'color1' : 'color3'
"
>
<div style="margin-top: 5px">
<div
class="text"
v-if="el.headImageUrl == null"
style="font-size: 24rpx; font-weight: 400"
>
{{
el.auditPersonName
? String(el.auditPersonName).slice(-2)
: String(el.name).slice(-2)
}}
</div>
<img
class="avatar"
v-else
:src="
configData.baseUrl +
`${String(el.headImageUrl).split('/wwwroot')[1]}`
"
alt=""
/>
</div>
<div>
<div>
<span style="">{{ el.auditPersonName }}</span>
<img
class="img"
alt=""
v-if="el.state == 1"
:src="require('@/static/images/audit/1.png')"
/>
<img
class="img"
alt=""
v-if="el.state == 2"
:src="require('@/static/images/audit/2.png')"
/>
<img
style="
width: 20px;
height: 20px;
cursor: pointer;
margin-left: 6px;
"
@click="handlerUrgingClick(el.id)"
alt=""
v-if="
item.step == stepnum && el.state != 2 && el.state != 1
"
:src="require('@/static/images/audit/催办.png')"
/>
</div>
<div>
<span>{{ el.auditdate | getDate }}</span>
<span>{{ !el.state ? el.name : "" }}</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div v-else style="text-align: center">
<u-empty mode="data" :icon="require('@/static/images/empty.png')">
</u-empty>
</div>
</view>
<view v-if="currentIndex === 2" class="approveBox">
<div v-if="auditNote.length > 0">
<div ref="auditNote">
<div
class="auditNote"
v-for="(item, index) in auditNote"
:key="index"
>
<div class="flex">
<div
class="text"
v-if="item.headImageUrl == null"
style="font-size: 24rpx; font-weight: 400"
>
{{ String(item.auditPersonName).slice(-2) }}
</div>
<img
class="avatar"
v-else
alt=""
:src="
configData.baseUrl +
`${String(item.headImageUrl).split('/wwwroot')[1]}`
"
/>
<div class="d-flex-c">
<span>{{ item.auditPersonName }}</span>
<span style="margin-top: 5px">{{ item.auditMessage }}</span>
</div>
</div>
<div class="d-flex-c" style="align-items: flex-end">
<span>{{ item.auditdate }}</span>
<span
:style="{
color: item.stateName == '同意' ? '#1478F6' : '#F51701',
marginTop: '5px',
}"
>
{{ item.stateName }}</span
>
</div>
</div>
</div>
</div>
<div v-else style="text-align: center">
<u-empty mode="data" :icon="require('@/static/images/empty.png')">
</u-empty>
</div>
</view>
<view class="bottomPage" v-if="auditData.length > 0">
<view class="disagreeContent button" v-if="isShowDisagree">
<u-button
text="不同意"
type="error"
size="normal"
@click="showBtnGroup"
></u-button>
<u-transition :show="isShowBtnGroup" mode="fade-up">
<view class="btnDisagreeBox">
<view @click="handlerDisagreeClickEvent('continue')">继续</view>
<view @click="handlerDisagreeClickEvent('back')">回退</view>
<view @click="handlerDisagreeClickEvent('termination')">终止</view>
</view>
</u-transition>
</view>
<u-button
v-if="isShowCountersign"
text="加签"
type="primary"
size="normal"
class="button"
@click="handlerCountersignClick"
style="flex: 1"
></u-button>
<u-button
v-if="isShowAgree"
text="同意"
type="primary"
class="button"
size="normal"
@click="handlerAgreeClick"
style="flex: 1"
></u-button>
<u-button
v-if="isShowRead"
text="已读"
class="button"
type="primary"
size="normal"
@click="handlerReadClick"
style="flex: 1"
></u-button>
<u-button
v-if="isShowWithdraw"
text="撤回"
type="error"
class="button"
size="normal"
@click="handlerWithdrawClick"
style="flex: 1"
></u-button>
</view>
<u-toast ref="uToast"></u-toast>
<uni-popup ref="alertDialog" type="dialog">
<uni-popup-dialog
:type="msgType"
cancelText="取消"
confirmText="同意"
title="提示"
content="确认开始催办吗?"
@confirm="dialogConfirm"
></uni-popup-dialog>
</uni-popup>
<!-- 加签 -->
<u-modal
title="加签审批"
:show="countersignShow"
showCancelButton
:closeOnClickOverlay="false"
@confirm="auditAddFlow"
@cancel="countersignShow = false"
@close="countersignShow = false"
>
<u-form :model="counterSignModel" :labelStyle="{ fontSize: '14px' }">
<u-form-item
label="审核类型"
prop="auditType"
ref="item1"
:borderBottom="false"
:labelWidth="'200rpx'"
>
<u-radio-group v-model="counterSignModel.auditType">
<u-radio
shape="circle"
name="1"
label="审核"
style="margin-right: 20rpx"
></u-radio>
<u-radio shape="circle" name="2" label="抄送"></u-radio>
</u-radio-group>
</u-form-item>
<u-form-item
label="加签人员"
prop="additionalPersonnel"
ref="item1"
:borderBottom="false"
:labelWidth="'200rpx'"
@click="handlerPeopelClickEvent"
>
<u--input
placeholder="请选择人员"
suffixIcon="arrow-right"
:disabled="true"
:border="'none'"
disabledColor="#fff"
></u--input>
</u-form-item>
<view v-if="selectedListBaseinfo.length > 0" style="margin: 10rpx 0"
>已关联人员:</view
>
<view class="flex" style="flex-wrap: wrap">
<view
class="select-item"
v-for="(item, index) in selectedListBaseinfo"
:key="index"
>
<view class="name">
<text>{{ item.p_PersonName }}</text>
</view>
<view class="close" @click.stop="removeSelectedItem(item)">
<uni-icons type="closeempty" size="16" color="#999"></uni-icons>
</view>
</view>
</view>
</u-form>
<u-toast ref="countersignToast"></u-toast>
</u-modal>
<!-- 不同意 -->
<u-modal
:title="disagreeTitle"
:show="disagreeModalShow"
showCancelButton
closeOnClickOverlay
@confirm="disagreeConfirm"
@cancel="disagreeModalShow = false"
@close="disagreeModalShow = false"
>
<view class="reasonBox">
<text>请输入{{ disagreeTitle }}理由:</text>
<u--textarea
v-model="disagreeReason"
placeholder="请输入..."
></u--textarea>
<u-toast ref="disagreeToast"></u-toast>
</view>
</u-modal>
<!-- 同意 -->
<u-modal
title="同意"
:show="agreeModalShow"
showCancelButton
closeOnClickOverlay
@confirm="agreeAudit"
@cancel="agreeModalShow = false"
@close="agreeModalShow = false"
>
<view class="reasonBox">
<text>请输入同意理由:</text>
<u--textarea
v-model="agreeTextarea"
placeholder="请输入..."
></u--textarea>
</view>
</u-modal>
<!-- 已读 -->
<u-modal
title="已读"
:show="readShow"
showCancelButton
closeOnClickOverlay
@confirm="readConfirm"
@cancel="readShow = false"
@close="readShow = false"
>
<view class="reasonBox">
<text>请输入已读理由:</text>
<u--textarea
v-model="readTextarea"
placeholder="请输入..."
></u--textarea>
</view>
</u-modal>
<!-- 撤回 -->
<u-modal
title="撤回"
:show="withdrawShow"
showCancelButton
closeOnClickOverlay
@confirm="withdrawConfirm"
@cancel="withdrawShow = false"
@close="withdrawShow = false"
>
<view class="reasonBox">
<text>请输入撤回理由:</text>
<u--textarea
v-model="withdrawTextarea"
placeholder="请输入..."
></u--textarea>
</view>
</u-modal>
<u-loading-page
:loading="maskLoading"
:loadingText="'正在提交'"
></u-loading-page>
</view>
</template>
<script>
import localStorage from "@/utils/localStorage";
import {
getAuditList,
getAuditNote,
auditUrging,
audit,
auditAddFlow,
getAuditBtn,
removeAudit,
read,
} from "@/api/system/audit.js";
import config from "@/config";
export default {
props: {
billid: {
type: String,
required: "",
},
billKindID: {
type: String,
required: "",
},
auditType: {
type: String,
required: "",
},
},
data() {
return {
maskLoading: false,
msgType: "warn",
currentIndex: 0,
list: [
{
name: "审批详情",
},
{
name: "审批流程",
},
{
name: "审批记录",
},
],
stepList: [], //审批流程
stepnum: "",
configData: {},
auditNote: [], //审批记录
urgingBillid: "", //催办ID
countersignShow: false,
counterSignModel: {
auditType: "1",
},
isShowBtnGroup: false,
disagreeModalShow: false,
disagreeReason: "",
disagreeTitle: "",
personIDs: [],
personNames: [],
agreeModalShow: false,
agreeTextarea: "",
buttonData: [],
readShow: false,
readTextarea: "",
withdrawShow: false,
withdrawTextarea: "",
isShowAgree: false,
isShowDisagree: false,
isShowRead: false,
isShowCountersign: false,
isShowWithdraw: false,
auditData: [],
};
},
onLoad: function (option) {
//option为object类型会序列化上个页面传递的参数
},
watch: {
selectedListBaseinfo: {
deep: true,
handler(newVal, oldVal) {
if (newVal.length > 0) {
newVal.forEach((item) => {
this.personIDs.push(item.p_PersonID);
this.personNames.push(item.p_PersonName);
});
}
},
},
// 同意
agreeModalShow: {
deep: true,
handler(newVal, oldVal) {
if (newVal == false) {
this.agreeTextarea = "";
}
},
},
// 已读
readShow: {
deep: true,
handler(newVal, oldVal) {
if (newVal == false) {
this.readTextarea = "";
}
},
},
// 撤回
withdrawShow: {
deep: true,
handler(newVal, oldVal) {
if (newVal == false) {
this.withdrawTextarea = "";
}
},
},
// 不同意
disagreeModalShow: {
deep: true,
handler(newVal, oldVal) {
if (newVal == false) {
this.disagreeReason = "";
}
},
},
// 加签
countersignShow: {
deep: true,
handler(newVal, oldVal) {
if (newVal == false) {
this.counterSignModel.auditType = "1";
this.$store.commit("SET_SELECTSDATA", []);
}
},
},
},
computed: {
selectedListBaseinfo() {
return this.$store.getters.selectsdata || [];
},
},
filters: {
getDate(value) {
if (!value) {
return "";
}
return value.split(".")[0].replace("T", " ");
},
getDate1(value) {
if (!value) {
return "";
}
return value.split("T")[0];
},
},
mounted() {
this.init();
},
methods: {
init() {
this.isShowAgree = false;
this.isShowDisagree = false;
this.isShowRead = false;
this.isShowCountersign = false;
this.isShowWithdraw = false;
this.configData = config;
if (this.auditType == "audit") {
this.getAuditBtn();
}
if (
this.billid != "" &&
this.billid != null &&
this.billid != undefined &&
this.billid != "null" &&
this.billid != "undefined" &&
this.billKindID != "" &&
this.billKindID != null &&
this.billKindID != undefined &&
this.billKindID != "null" &&
this.billKindID != "undefined"
) {
this.getAuditList();
this.getAuditNote();
}
this.maskLoading = false;
},
//获取审批权限按钮
async getAuditBtn() {
let params = {
billID: this.billid,
billKindID: this.billKindID,
};
const res = await getAuditBtn(params);
let arr = res.data[0];
this.auditData = arr;
arr.forEach((el) => {
if (el == "3") {
//同意
this.isShowAgree = true;
} else if (el == "4") {
//不同意
this.isShowDisagree = true;
} else if (el == "5") {
//已读
this.isShowRead = true;
} else if (el == "6") {
//加签
this.isShowCountersign = true;
} else if (el == "7") {
//撤回
this.isShowWithdraw = true;
} else {
}
});
},
resetAudit() {
this.getAuditList();
this.getAuditNote();
},
showBtnGroup() {
this.isShowBtnGroup = !this.isShowBtnGroup;
},
handlerDisagreeClickEvent(type) {
// 继续
if (type == "continue") {
this.disagreeTitle = "继续";
this.disagreeModalShow = true;
} else if (type == "termination") {
//终止
this.disagreeTitle = "终止";
this.disagreeModalShow = true;
} else if (type == "back") {
//退回
this.disagreeTitle = "退回";
this.disagreeModalShow = true;
} else {
//do something
}
this.isShowBtnGroup = false;
},
disagreeConfirm() {
if (
this.disagreeReason == "" ||
this.disagreeReason == null ||
this.disagreeReason == undefined
) {
this.$refs.disagreeToast.show({
type: "warning",
message: "请输入" + this.disagreeTitle + "理由!",
});
return;
}
this.disagreeModalShow = false;
this.maskLoading = true;
setTimeout(() => {
this.maskLoading = false;
}, 5000);
//审批流程控制2不同意-继续3不同意-退回,不同意-终止)
if (this.disagreeTitle == "继续") {
this.handleClickAgree("2");
}
if (this.disagreeTitle == "终止") {
this.handleClickAgree("4");
}
if (this.disagreeTitle == "退回") {
this.handleClickAgree("3");
}
},
//审核不同意
async handleClickAgree(type) {
const res = await audit({
billID: this.billid,
billKindID: this.billKindID,
auditState: type,
agree: "0", //审批结果1同意0不同意
auditMessage: this.disagreeReason,
});
this.maskLoading = false;
if (res.success == true) {
this.$refs.disagreeToast.show({
type: "success",
message: "审核成功!",
});
this.init();
this.disagreeReason = "";
}
},
// 加签选择人员
handlerPeopelClickEvent() {
let url = "/components/basePeople/index";
this.$tab.navigateTo(url);
},
// 加签删除
removeSelectedItem(row) {
let arrData = this.selectedListBaseinfo.filter(
(item, index) => item.p_PersonID !== row.p_PersonID
);
this.$store.commit("SET_SELECTSDATA", arrData);
},
// 确定加签
async auditAddFlow() {
this.countersignShow = false;
this.maskLoading = true;
setTimeout(() => {
this.maskLoading = false;
}, 5000);
const res = await auditAddFlow({
billID: this.billid,
auditType: this.counterSignModel.auditType, //加签节点审核类型1、审核 2抄送
personIDs: this.personIDs.join(), //加签人ID集合多个人英文逗号隔开
personNames: this.personNames.join(), //加签人姓名集合,多个人英文逗号隔开
});
this.maskLoading = false;
if (res.success == "true") {
this.$refs.uToast.show({
type: "success",
message: "加签成功",
});
}
this.counterSignModel.auditType = "1";
this.$store.commit("SET_SELECTSDATA", []);
this.getAuditList();
},
handelrSubSectionChange(index) {
this.currentIndex = index;
},
//获取单据审批流程
async getAuditList() {
const res = await getAuditList({
billID: this.billid,
});
this.stepnum = res.data[0];
let stepList = res.data[1];
stepList.forEach((el) => {
if (res.data[2] && res.data[2].length > 0) {
res.data[2].forEach((item) => {
if (el.step == item.step) {
if (!el.list) {
el.list = [];
}
el.list.push(item);
el.list = Array.from(new Set(el.list));
}
});
}
if (res.data[3] && res.data[3].length) {
res.data[3].forEach((item) => {
if (el.step == item.step) {
if (!el.list) {
el.list = [];
}
el.list.push(item);
el.list = Array.from(new Set(el.list));
}
});
}
});
this.stepList = stepList;
},
//获取单据审批记录
async getAuditNote() {
const res = await getAuditNote({
billID: this.billid,
});
this.auditNote = res.data[0];
},
//催办
handlerUrgingClick(id) {
this.$refs.alertDialog.open();
this.urgingBillid = id;
},
async dialogConfirm(id) {
auditUrging({ id: id }).then((res) => {
if (res.code == 1) {
this.$refs.uToast.show({
type: "success",
message: res.message,
});
}
});
},
handlerCountersignClick() {
this.countersignShow = true;
},
// 同意
handlerAgreeClick() {
this.agreeModalShow = true;
},
async agreeAudit() {
this.agreeModalShow = false;
this.maskLoading = true;
setTimeout(() => {
this.maskLoading = false;
}, 5000);
const res = await audit({
billID: this.billid,
billKindID: this.billKindID,
auditState: "1", //审批流程控制2不同意-继续3不同意-退回,不同意-终止)
agree: "1", //审批结果1同意0不同意
auditMessage: this.agreeTextarea, //审批回复
});
this.maskLoading = false;
if (res.success == "true") {
this.$refs.uToast.show({
type: "success",
message: res.message,
});
this.init();
this.agreeTextarea = "";
}
},
// 已读
handlerReadClick() {
this.readShow = true;
},
async readConfirm() {
this.readShow = false;
this.maskLoading = true;
setTimeout(() => {
this.maskLoading = false;
}, 5000);
const res = await read({
billID: this.billid,
auditMessage: this.readTextarea,
});
this.maskLoading = false;
if (res.code == 1) {
this.$refs.uToast.show({
type: "success",
message: "已读成功",
});
this.init();
this.readTextarea = "";
}
},
// 撤回
handlerWithdrawClick() {
this.withdrawShow = true;
},
async withdrawConfirm() {
this.withdrawShow = false;
this.maskLoading = true;
setTimeout(() => {
this.maskLoading = false;
}, 5000);
const res = await removeAudit({
billID: this.billid,
billKindID: this.billKindID,
auditMessage: this.withdrawTextarea, //审批回复
});
if (res.success == "true") {
this.maskLoading = false;
this.$refs.uToast.show({
type: "success",
message: "撤回审核成功",
});
this.init();
this.withdrawTextarea = "";
}
},
},
};
</script>
<style scoped lang="scss">
::v-deep .u-modal__title {
font-size: 15px;
font-weight: bold;
color: #000000;
text-align: center;
padding-top: 10px;
}
.select-item {
margin: 10rpx 10rpx 10rpx 0;
padding: 10rpx 20rpx;
max-width: auto;
height: auto;
background-color: #eaeaea;
border-radius: 10rpx;
color: #333;
display: flex;
align-items: center;
font-size: 28rpx;
.name {
flex: 1;
padding-right: 10rpx;
font-size: 13px;
}
.close {
width: 18px;
height: 18px;
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
}
}
.bottomPage {
width: 100%;
position: fixed;
bottom: 0;
padding: 20rpx 30rpx 30rpx 30rpx;
background-color: #fff;
margin-top: 15rpx;
display: flex;
border-top: 8rpx solid #f1f1f1;
.button:last-child {
margin-right: 0; /* 默认右间隙 */
}
.button:not(:last-child) {
margin-right: 10px; /* 中间按钮的右间隙 */
}
}
.plusButton {
width: 100rpx;
height: 100rpx;
background: #3c9cff;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
position: fixed;
bottom: 200rpx;
right: 28rpx;
}
.d-flex-c {
display: flex;
flex-direction: column;
}
.disagreeContent {
position: relative;
flex: 1;
}
.btnDisagreeBox {
position: absolute;
bottom: 44px;
width: 100%;
background: #ffffff;
border: 1px solid #f1f1f1;
border-radius: 8px 8px 0 0;
text-align: center;
view {
padding: 26rpx 0;
}
view:nth-child(2) {
border-top: 1px solid #f1f1f1;
border-bottom: 1px solid #f1f1f1;
}
}
.reasonBox {
width: 100%;
text {
display: inline-block;
font-size: 14px;
color: #979797;
margin-bottom: 15px;
}
}
.top-level {
.listContent {
margin: 20rpx 24rpx 0 24rpx;
}
.swipe-action-item {
margin: 20rpx 0 20rpx 0;
}
.listData {
background-color: #fff;
border-radius: 16rpx;
padding: 20rpx 20rpx;
.head {
height: 64rpx;
border-bottom: 1px solid #f7f7f7;
justify-content: space-between;
}
.head {
display: flex;
flex-direction: column;
color: #333;
margin-bottom: 16rpx;
}
.head .itembox {
font-size: 32rpx;
font-weight: 600;
display: flex;
justify-content: space-between;
align-items: center;
.levelbox {
display: flex;
justify-content: center;
align-items: center;
border: 4rpx solid #1e9fff;
border-radius: 50%;
width: 40rpx;
height: 40rpx;
color: #1e9fff;
font-weight: 700;
font-size: 28rpx;
margin: 0 10rpx;
}
}
.head .itemName {
font-size: 24rpx;
color: #999999;
margin-left: 10px;
font-weight: 400;
text {
color: #fff;
padding: 4rpx 8rpx;
}
}
.state {
margin: 25rpx 0;
}
.time {
margin: 24rpx 0 0;
font-size: 28rpx;
flex-wrap: wrap;
line-height: 1.5;
text {
display: inline-block;
font-size: 28rpx;
color: #979797;
margin-bottom: 30rpx;
}
view {
height: 60rpx;
width: 50%;
}
view:nth-child(4) {
text:nth-child(2) {
font-size: 28rpx;
}
}
}
.content {
line-height: 1.5;
font-size: 28rpx;
margin-bottom: 20rpx;
text {
font-size: 28rpx;
color: #979797;
}
}
}
.noData {
text-align: center;
margin-top: 10px;
}
.Page_change {
width: 100%;
background-color: #fff;
padding: 10rpx 20rpx 20rpx 20rpx;
position: fixed;
top: 0;
z-index: 1;
.buttom {
justify-content: space-between;
padding-top: 30rpx;
::v-deep .u-button--circle {
width: 30%;
}
}
.input_box {
margin-top: 20rpx;
::v-deep .u-input--radius:nth-child(1) {
margin-right: 20rpx;
}
}
}
}
.approveBox {
padding: 0 20rpx 160rpx;
}
.auditWork {
background: #fcfcfc;
border-radius: 12rpx;
border: 2rpx solid #f1f1f1;
padding: 20rpx 20rpx;
display: flex;
flex-direction: column;
justify-content: flex-start;
.auditWork_left {
margin-top: 8rpx;
text-align: center;
.auditWork_left_image {
width: 16rpx;
height: 16rpx;
line-height: 16rpx;
border-radius: 50%;
text-align: center;
z-index: 10;
border-width: 4rpx;
border-style: solid;
border-color: #bbbbbb;
}
.auditWork_left_line {
background-color: #e1e1e1;
width: 1rpx;
height: 103%;
margin: 0 auto;
}
}
.auditWork_right {
width: 96%;
.auditWork_right_title {
margin-left: 20rpx;
font-weight: 600;
}
.auditWork_right_content {
display: flex;
flex-direction: row;
flex-wrap: wrap;
width: 100%;
align-items: center;
padding: 10rpx 20rpx;
font-size: 24rpx;
.avatar {
width: 70rpx;
height: 70rpx;
border-radius: 50%;
margin-right: 24rpx;
}
.text {
width: 70rpx;
height: 70rpx;
margin-right: 10rpx;
line-height: 70rpx;
color: #fff;
border-radius: 50%;
text-align: center;
background: #00aaff;
}
.img {
margin-top: 12rpx;
margin-right: 60rpx;
}
}
}
.left {
// background: #dcdcdc;
}
.right {
// background: #333333bb;
}
.on {
// background: #2a6aff;
}
.color1 {
width: 100%;
line-height: 40rpx;
height: 40rpx;
// font-family: PingFangSC;
color: #999999;
}
.color2 {
// font-family: PingFangSC;
color: #1478f6;
}
.color3 {
width: 100%;
height: 40rpx;
line-height: 40rpx;
// font-family: PingFangSC;
color: #333333d9;
font-weight: 600;
}
}
.auditNote {
display: flex;
place-content: space-around space-between;
margin-bottom: 8px;
background: #fcfcfc;
border: 1px solid #f1f1f1;
font-size: 13px;
padding: 15px 10px;
border-radius: 5px;
justify-content: space-between;
align-items: center;
.avatar {
width: 70rpx;
height: 70rpx;
border-radius: 50%;
margin-right: 24rpx;
}
.text {
width: 70rpx;
height: 70rpx;
margin-right: 10rpx;
line-height: 70rpx;
color: #fff;
border-radius: 50%;
text-align: center;
background: #00aaff;
}
}
::v-deep .subsetion {
// position: fixed;
// top: 0;
// z-index: 1;
width: 100%;
padding: 10rpx;
background: #fff;
}
::v-deep .subsetion .u-subsection--button {
height: 70rpx;
margin-top: 10px;
}
::v-deep .u-subsection--button__bar {
background-color: #3c9cff;
}
</style>