This commit is contained in:
PQZ 2025-04-11 15:35:30 +08:00
commit 569a62b530
10 changed files with 913 additions and 24 deletions

View File

@ -2,9 +2,9 @@
<view class="tabbar-container">
<!-- :style="['width: calc(100% /' + tabbar.length + ')']" -->
<view class="tabbar-item" :class="[item.centerItem ? ' center-item' : '']" v-for="(item, i) in tabbar" :key="i"
@click="goPage(item)">
@click="goPage(item)" v-if="'01'==nowUserType ||('02'==nowUserType && 'fabu'!=item.code)">
<view class="item-top">
<view style="position: relative;width: 45rpx;margin: auto;">
<view style="position: relative;margin: auto;">
<image class="dl-image" :src="menuCode === item.code ? item.selectedIconPath : item.iconPath" />
<image v-if="1==i" class="dl-vip" src="@/static/index/vip.png" mode="aspectFit"></image>
</view>
@ -20,6 +20,10 @@
menuCode: {
Type: 'String',
default: 'home'
},
nowUserType: {
Type: 'String',
default: ''
}
},
data() {
@ -40,6 +44,14 @@
selectedIconPath: '/static/images/tabbar/dingyue_.png',
centerItem: false
},
{
id: 4,
code: "fabu",
text: "发布",
iconPath: '/static/images/tabbar/new_notice.png',
selectedIconPath: '/static/images/tabbar/new_notice.png',
centerItem: true
},
{
id: 2,
code: "myNotice",
@ -114,6 +126,7 @@
.dl-image {
height: 45rpx;
width: 45rpx;
}
.dl-vip {
@ -140,6 +153,7 @@
position: relative;
.item-top {
padding-top: 0rpx !important;
position: absolute;
top: -55rpx;
left: 50%;
@ -152,7 +166,12 @@
.item-bottom {
position: absolute;
bottom: 5rpx;
bottom: 20rpx;
}
image {
width: 105rpx !important;
height: 105rpx !important;
}
}
</style>

View File

@ -33,6 +33,12 @@ module.exports = {
}, {
title: "通告券购买协议",
code: "coupon_agreement"
}, {
title: "审核标准",
code: "approval_rule"
}, {
title: "进阶技巧",
code: "advanced_skills"
}
]
}

View File

@ -68,6 +68,13 @@
"style": {
"navigationBarTitleText": ""
}
},
{
"path" : "public-notice",
"style" :
{
"navigationBarTitleText" : ""
}
}
]
}, {

View File

@ -1,18 +1,20 @@
<template>
<view class="my-notice-item-box">
<view class="notice-status">进行中</view>
<view class="report-title">
<text class="status-text">已报名</text>
<view class="time-text">2025-04-03 10:07:32</view>
</view>
<!-- 通告信息 -->
<view class="notice-main-box">
<notice-item :dataObj="item"></notice-item>
</view>
<!-- 操作按钮 -->
<view class="opt-button-box">
<view class="opt-item">追加留言</view>
<view class="opt-item">查看详情</view>
<view>
<view class="my-notice-item-box" v-for="(item,index) in dataList">
<view class="notice-status">进行中</view>
<view class="report-title">
<text class="status-text">已报名</text>
<view class="time-text">2025-04-03 10:07:32</view>
</view>
<!-- 通告信息 -->
<view class="notice-main-box">
<notice-item :dataObj="itemObj"></notice-item>
</view>
<!-- 操作按钮 -->
<view class="opt-button-box">
<view class="opt-item">追加留言</view>
<view class="opt-item">查看详情</view>
</view>
</view>
</view>
</template>
@ -20,12 +22,18 @@
<script>
import noticeItem from '@/pages/components/notice-item.vue'
export default {
props: {
dataList: {
type: Array,
default: []
}
},
components: {
noticeItem
},
data() {
return {
item: {
itemObj: {
"creator": "1",
"createTime": "2025-03-28 15:41:18",
"updater": "1",

View File

@ -4,12 +4,13 @@
<view class="content-body">
<!-- 通告列表页 -->
<notice-index v-if="'home'==menuCode"></notice-index>
<mine-index :key="nowUserType" :nowUserType="nowUserType" v-if="'my'==menuCode"></mine-index>
<mine-index :key="nowUserType" :nowUserType="nowUserType" v-if="'my'==menuCode"
@refreshUserType="refreshUserType()"></mine-index>
<subscribe v-if="'dingyue'==menuCode"></subscribe>
<my-notice v-if="'myNotice'==menuCode && '02'==nowUserType"></my-notice>
<my-notice-tg v-if="'myNotice'==menuCode && '01'==nowUserType"></my-notice-tg>
</view>
<tabBarVue :menuCode="menuCode" ref="tarBar" @changeMenu="changeMenu"></tabBarVue>
<tabBarVue :menuCode="menuCode" :nowUserType="nowUserType" ref="tarBar" @changeMenu="changeMenu"></tabBarVue>
</view>
</template>
@ -67,16 +68,21 @@
},
},
mounted() {
this.nowUserType = getUserType()
this.refreshUserType()
},
onShow() {
this.nowUserType = getUserType()
this.refreshUserType()
},
onLoad: function() {
this.nowUserType = getUserType()
this.selectSiteConfig("platform_tel")
},
methods: {
/**
* 重新获取当前角色
*/
refreshUserType() {
this.nowUserType = getUserType()
},
updateParams(newVal) {
this.nowUserType = newVal;
},
@ -90,7 +96,11 @@
*/
changeMenu(code) {
this.nowUserType = getUserType()
this.menuCode = code
if ("fabu" == code) {
this.$tab.navigateTo('/pages/notice/public-notice')
} else {
this.menuCode = code
}
},
/**
* 上滑加载数据

View File

@ -250,6 +250,7 @@
changeUserType(type) {
changeUserType(type)
this.localUserType = type
this.$emit("refreshUserType")
this.getDetail()
this.$forceUpdate()
},

View File

@ -0,0 +1,838 @@
<template>
<view class="container-box">
<navigation-bar-vue title="发布种草通告" style="width: 100%;" background-color="#ffffff"
title-color="#000000"></navigation-bar-vue>
<view class="content">
<!-- 操作按钮 -->
<view class="dl-opt-box">
<view class="dl-menu-box">
<view @click="handleUserAgrement(globalConfig.appInfo.agreements[7])" class="dl-menu">
<image class="dl-vip" src="@/static/detail/shenhebiaozhun.png" mode="aspectFit"></image>
{{globalConfig.appInfo.agreements[7].title}}
</view>
<view @click="handleUserAgrement(globalConfig.appInfo.agreements[8])" class="dl-menu">
<image class="dl-vip" src="@/static/detail/jinjiejiqiao.png" mode="aspectFit"></image>
{{globalConfig.appInfo.agreements[8].title}}
</view>
</view>
</view>
<view class="data-list-box">
<view class="form-warn">
<image src="@/static/detail/warn.png" mode="aspectFit"></image>
<text>注意请勿发布直发代发等虚假通告</text>
</view>
<view class="form-content">
<view class="item-field">
<view class="item-lable is-required">
标题
</view>
<view class="item-value">
<input class="uni-input" v-model="dataObj.title" type="text" placeholder="请输入" />
</view>
</view>
<view class="item-field">
<view class="item-lable is-required">
平台
</view>
<view class="item-value">
<uni-data-select v-model="dataObj.platformCode" :localdata="platFormRange"
@change="change($event,'platformCode')" :clear="false"
:imgCode="dataObj.platformCode"></uni-data-select>
</view>
</view>
<view class="item-field">
<view class="item-lable is-required">
稿费
</view>
<view class="item-value">
<uni-data-select v-model="dataObj.feeLimit" :localdata="ifHasRange"
@change="change($event,'fee')" :clear="false"></uni-data-select>
<view class="dl-drawer-item" v-if="dataObj.feeLimit">
<input class="uni-input" v-model="dataObj.feeDown" type="digit" placeholder="最低" />
<view></view>
<input class="uni-input" v-model="dataObj.feeUp" type="digit" placeholder="最高" />
</view>
</view>
</view>
<view class="item-field">
<view class="item-lable is-required">
赠品
</view>
<view class="item-value">
<uni-data-select v-model="dataObj.giftLimit" :localdata="ifHasRange"
@change="change($event,'gift')" :clear="false"></uni-data-select>
<view class="dl-drawer-item" v-if="dataObj.giftLimit">
<textarea v-model="dataObj.giftDetail" type="text" placeholder="请输入赠品明细" />
</view>
<view class="dl-drawer-item" v-if="dataObj.giftLimit">
<input class="uni-input" v-model="dataObj.giftDetail" type="number"
placeholder="请输入赠品价值(元)" />
</view>
</view>
</view>
<view class="item-field">
<view class="item-lable is-required">
截止时间
</view>
<view class="item-value">
<uni-datetime-picker type="date" :clear-icon="false" v-model="dataObj.endDate"
@maskClick="maskClick" />
</view>
</view>
<view class="item-field">
<view class="item-lable is-required">
品牌
</view>
<view class="item-value">
<input class="uni-input" v-model="dataObj.brand" type="text" placeholder="请输入" />
</view>
</view>
<view class="item-field">
<view class="item-lable is-required">
名额
</view>
<view class="item-value">
<input class="uni-input" v-model="dataObj.needNum" type="number" placeholder="请输入" />
</view>
</view>
<view class="item-field">
<view class="item-lable is-required">
粉丝
</view>
<view class="item-value">
<uni-data-select v-model="dataObj.fansLimit" :localdata="limitRange"
@change="change($event,'fans')" :clear="false"></uni-data-select>
<view class="dl-drawer-item" v-if="dataObj.fansLimit">
<input class="uni-input" v-model="dataObj.fansDown" type="digit" placeholder="最低" />
<view></view>
<input class="uni-input" v-model="dataObj.fansUp" type="digit" placeholder="最高" />
</view>
<view class="dl-drawer-item" v-if="dataObj.fansLimit">
<uni-data-checkbox @change="chooseBoxFun($event,'isEligible')" multiple
:localdata="isEligibleList" />
</view>
</view>
</view>
<view class="item-field">
<view class="item-lable is-required">
通告明细
</view>
<view class="item-value">
<textarea v-model="dataObj.giftDetail" style="height: 600rpx;" type="text"
placeholder="请输入赠品明细" />
</view>
</view>
<view class="item-field">
<view class="item-lable is-required">
产品图
</view>
<view class="item-value">
<uni-file-picker :value="fileList" :sizeType="sizeType"
@select="afterRead($event,'fileList')" @delete="deleteFile($event,'fileList')"
limit="9"></uni-file-picker>
</view>
</view>
<view class="item-field">
<view class="item-lable is-required">
博主类型 <text class="little-text">(可多选)</text>
</view>
<view class="item-value">
<view class="line-row" v-for="(item,index) in bloggerTypeList">
<view v-for="(t,i) in item"
:class="dataObj.bloggerTypesList.includes(t.value)?'line-item click':'line-item'"
@click="changeChooseValue(t.value,'bloggerTypesList','bloggerTypes')">
<uni-icons v-if="'new'==t.value" type="plusempty" size="18"></uni-icons>
<text v-else>{{t.text}}</text>
</view>
<view style="clear: both;"></view>
</view>
</view>
</view>
</view>
<view class="form-content">
<view class="item-field">
<view class="item-lable is-required">
联系方式
</view>
<view class="item-value">
</view>
</view>
<view class="item-field-row">
<view class="item-lable is-required">
电话
</view>
<view class="item-value">
<input class="uni-input" v-model="dataObj.tel" type="text" placeholder="请输入" />
</view>
</view>
<view class="item-field-row">
<view class="item-lable is-required">
微信
</view>
<view class="item-value">
<input class="uni-input" v-model="dataObj.wechat" type="text" placeholder="请输入" />
</view>
</view>
<view class="item-field-row">
<view class="line-row">
<uni-data-checkbox @change="chooseBoxFun($event,'isShowTel')" multiple
:localdata="isShowTelList" />
</view>
</view>
</view>
<!-- 自定义表单 -->
<view class="form-content">
<view class="item-field-row" style="padding-top: 0;">
<view class="item-lable is-required" style="flex: 1;">
自定义报名信息收集
</view>
<view class="item-value" style="width: 200rpx;">
<uni-icons type="plusempty" size="18"></uni-icons><text @click="addNewField()"></text>
</view>
</view>
<view class="form-warn">
<image src="@/static/detail/warn.png" mode="aspectFit"></image>
<text>注意为了您的信息安全平台不建议填写您的银行卡号身份证号密码等隐私信息</text>
</view>
<view class="item-field-row" v-for="(item,index) in customFieldList">
<view class="item-lable is-required">
{{item.labelTitle}}
</view>
<view class="item-value">
<input class="uni-input" v-model="item.value" type="text" placeholder="请输入" />
</view>
</view>
</view>
<!-- 微信群码 -->
<view class="form-content">
<view class="item-field">
<view class="item-lable is-required">
微信群码<text class="little-text">(选填)</text>
</view>
<view class="item-value">
<uni-file-picker :value="groupImageList" :sizeType="sizeType"
@select="afterRead($event,'groupImageList')"
@delete="deleteFile($event,'groupImageList')" limit="1"></uni-file-picker>
</view>
</view>
</view>
<view class="line-row-bottom">
<uni-data-checkbox @change="chooseBoxFun($event,'isRead')" multiple :localdata="readBookList" />
<text @click="handleUserAgrement(globalConfig.appInfo.agreements[1])"
class="text-red">{{globalConfig.appInfo.agreements[1].title}}</text>
</view>
</view>
</view>
<view class="dl-bottom-box">
<!-- 预览 -->
<view class="view-dom">
预览
</view>
<view class="public-dom">
发布
</view>
</view>
<!-- 输入框示例 -->
<uni-popup ref="inputDialog" type="dialog">
<uni-popup-dialog ref="inputClose" mode="input" title="新增博主类型" placeholder="请输入博主类型"
@confirm="dialogInputConfirm"></uni-popup-dialog>
</uni-popup>
<!-- 输入框示例 -->
<uni-popup ref="inputDialogCus" type="dialog">
<uni-popup-dialog ref="inputClose" mode="input" title="新增信息" placeholder="请输入信息"
@confirm="dialogInputConfirmCus"></uni-popup-dialog>
</uni-popup>
</view>
</template>
<script>
import navigationBarVue from '@/components/navigation/navigationBar.vue';
import {
toast
} from '@/utils/common.js'
import upload from '@/utils/upload'
import {
uniListByParentCode
} from '@/api/system/config.js'
import config from '@/config';
export default {
components: {
navigationBarVue,
},
data() {
return {
//
showNum: 4,
globalConfig: getApp().globalData.config,
//
bloggerTypeList: [],
//
platFormRange: [],
globalConfig: getApp().globalData.config,
uploadUrl: config.baseUrl,
sizeType: ['compressed'],
//
fileList: [],
//
groupImageList: [],
//
customFieldList: [{
labelTitle: "姓名",
value: "",
sort: 1
}, {
labelTitle: "身份证号",
value: "",
sort: 2
}],
dataObj: {
isRead: false,
title: "",
brand: "",
platformCode: "",
feeLimit: false,
feeDown: null,
feeUp: null,
giftLimit: false,
giftDetail: "",
giftPrice: null,
endDate: null,
needNum: null,
fansLimit: false,
fansDown: null,
fansUp: null,
// (0|1)
isEligible: 0,
//
bloggerTypes: "",
//便
bloggerTypesList: [],
tel: "",
wechat: "",
// (0|1)
isShowTel: 0,
},
isEligibleList: [{
text: '报名需符合粉丝要求',
value: true
}],
isShowTelList: [{
text: '不公开联系方式,我会自己联系博主',
value: true
}],
readBookList: [{
text: '我已阅读并同意',
value: true
}],
//
ifHasRange: [{
value: false,
text: "无"
},
{
value: true,
text: "有"
}
],
//
limitRange: [{
value: false,
text: "不限制"
},
{
value: true,
text: "限制"
}
],
}
},
onLoad() {
this.initData("dl_platform", 'platFormRange')
this.initData("dl_blogger_type", "bloggerTypeList")
},
methods: {
//
handleUserAgrement(site) {
this.$tab.navigateTo(`/pages/common/richview/index?title=${site.title}&code=${site.code}`)
},
/**
* 添加字段
*/
addNewField() {
this.$refs.inputDialogCus.open()
},
//
handleUserAgrement(site) {
this.$tab.navigateTo(`/pages/common/richview/index?title=${site.title}&code=${site.code}`)
},
/**初始化字典数据*/
initData(code, key) {
let that = this
uniListByParentCode({
code: code
}).then(res => {
if (res.code == 200) {
if ("bloggerTypeList" == key) {
let thisArray = res.data
thisArray.push({
text: "",
value: "new"
})
for (let i = 0; i < thisArray.length; i += that.showNum) {
that[key].push(thisArray.slice(i, i + that.showNum));
}
} else {
that[key] = res.data
}
}
}).catch((e) => {
toast(e)
})
},
//
change(e, type) {},
/**
* 复选框
* @param {Object} e
*/
chooseBoxFun(e, key) {
if (e.detail.value.length > 0) {
//
this.dataObj[key] = 1
} else {
//
this.dataObj[key] = 0
}
console.log(this.dataObj)
},
afterRead(file, key) {
for (let i = 0; i < file.tempFilePaths.length; i++) {
upload({
url: '',
filePath: file.tempFilePaths[i]
}).then((res) => {
console.log(res, '215')
this[key].push({
url: res.url
})
console.log(this[key], "this[key]")
})
}
},
deleteFile(index, key) {
console.log('删除文件', this[key][index]);
this[key].splice(index, 1);
},
/**
* 选择
* @param {Object} value
* @param {Object} keyList
* @param {Object} key
*/
changeChooseValue(value, keyList, key) {
if ('new' == value) {
this.$refs.inputDialog.open()
} else {
if (this.dataObj[keyList].includes(value)) {
//
let newList = []
this.dataObj[keyList].map((item) => {
if (value != item) {
newList.push(item)
}
})
this.dataObj[keyList] = newList
} else {
//
this.dataObj[keyList].push(value)
}
this.dataObj[key] = this.dataObj[keyList].join(",")
}
},
dialogInputConfirm(val) {
let thisObj = {
text: val,
value: val
}
//TODO ---
let endArray = this.bloggerTypeList[this.bloggerTypeList.length - 1]
if (endArray.length == this.showNum) {
//
endArray[endArray.length - 1] = thisObj
let newArray = [{
text: "",
value: "new"
}]
this.bloggerTypeList[this.bloggerTypeList.length - 1] = endArray
this.bloggerTypeList.push(newArray)
} else {
//
endArray.splice(endArray.length - 1, 0, thisObj)
this.bloggerTypeList[this.bloggerTypeList.length - 1] = endArray
}
//
this.$refs.inputDialog.close()
},
dialogInputConfirmCus(val) {
let thisObj = {
labelTitle: val,
value: ""
}
if (this.customFieldList.length == 0) {
//
thisObj.sort = 1
} else {
//
let endFieldObj = this.customFieldList[this.customFieldList.length - 1]
thisObj.sort = endFieldObj.sort + 1
}
this.customFieldList.push(thisObj)
//
this.$refs.inputDialogCus.close()
}
}
}
</script>
<style lang="scss">
.container-box {
padding-top: calc(90rpx + var(--status-bar-height));
border-top: 1rpx solid #F4F4F4;
background-color: white;
width: 100%;
color: #363636;
font-size: 30rpx;
height: 100%;
display: flex;
flex-direction: column;
align-items: self-start;
justify-content: center;
position: relative;
.content {
border-top: 1rpx solid #F4F4F4;
height: calc(100vh - var(--status-bar-height) - var(--window-bottom) - 232rpx);
overflow-y: scroll;
width: 100%;
background-color: #F2F2F2;
border-radius: 20rpx;
display: flex;
flex-direction: column;
align-items: self-start;
justify-content: start;
position: relative;
.dl-opt-box {
background-color: white;
width: 100%;
display: flex;
align-items: center;
justify-content: center;
.dl-menu-box {
color: #929292;
display: flex;
flex: 1;
align-items: center;
justify-content: center;
width: 100%;
padding-top: 20rpx;
.dl-menu {
display: flex;
align-items: center;
justify-content: center;
flex: 1;
font-size: 30rpx;
color: #FC1F3E;
margin: 0 20rpx;
padding-bottom: 15rpx;
text-align: center;
image {
margin-right: 10rpx;
width: 26rpx;
height: 26rpx;
}
}
}
}
.data-list-box {
flex: 1;
overflow-y: scroll;
padding: 20rpx 30rpx;
display: flex;
flex-direction: column;
align-items: self-start;
justify-content: start;
width: 100%;
.form-warn {
width: 100%;
font-size: 24rpx;
display: flex;
align-items: center;
justify-content: start;
background-color: #FDECD9;
color: #FF6627;
border-radius: 20rpx;
padding: 15rpx;
image {
width: 40rpx;
height: 40rpx;
margin-right: 20rpx;
}
text {
flex: 1;
display: flex;
align-items: center;
justify-content: start;
}
}
.form-content {
width: 100%;
background-color: white;
padding: 20rpx;
border-radius: 20rpx;
margin-top: 25rpx;
.item-field-row {
width: 100%;
padding-top: 15rpx;
display: flex;
align-items: center;
justify-content: start;
padding-bottom: 15rpx;
border-bottom: 1rpx solid #F4F4F4;
.img-upload {
width: 50%;
margin: 10rpx 10rpx;
display: flex;
align-items: center;
justify-content: center;
}
.is-required {
image {
width: 20rpx;
height: 20rpx;
margin-right: 10rpx;
}
}
.item-lable {
font-weight: bold;
width: 210rpx;
padding: 15rpx 0;
display: flex;
align-items: center;
justify-content: start;
}
.item-value {
flex: 1;
padding-left: 20rpx;
display: flex;
align-items: center;
justify-content: flex-end;
input {
width: 100%;
padding-left: 20rpx;
line-height: 1;
height: 70rpx;
border: 1rpx solid #dcdfe6;
border-radius: 8rpx;
}
.choose-add {
color: #686868;
padding: 10rpx 0 10rpx 20rpx;
display: flex;
align-items: center;
justify-content: flex-start;
border: 1rpx solid #dcdfe6;
border-radius: 8rpx;
}
textarea {
width: 100%;
height: 150rpx;
color: #686868;
padding: 10rpx 0 10rpx 20rpx;
border: 1rpx solid #dcdfe6;
border-radius: 8rpx;
}
}
}
.item-field {
width: 100%;
display: flex;
flex-direction: column;
align-items: self-start;
justify-content: center;
padding-bottom: 20rpx;
border-bottom: 1rpx solid #F4F4F4;
.warn-little-text {
color: #FE9860;
font-size: 18rpx;
margin-bottom: 20rpx;
}
.is-required {
image {
width: 20rpx;
height: 20rpx;
margin-right: 10rpx;
}
}
.item-lable {
padding: 15rpx 0;
font-weight: bold;
display: flex;
align-items: center;
justify-content: center;
.little-text {
padding-left: 10rpx;
font-weight: normal;
color: #929292;
}
}
.item-value {
width: 100%;
.line-row {
width: 100%;
.line-item {
width: calc(25% - 16rpx);
border: 1rpx solid #E9E9E9;
margin: 8rpx 8rpx;
float: left;
border-radius: 25rpx;
color: #363636;
text-align: center;
padding: 8rpx 15rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.click {
color: #FC1F3E !important;
border: 1rpx solid #FC1F3E !important;
}
}
.dl-drawer-item {
display: flex;
color: #929292;
align-items: center;
justify-content: start;
padding-top: 10rpx;
}
input {
width: 100%;
padding-left: 20rpx;
line-height: 1;
height: 70rpx;
border: 1rpx solid #dcdfe6;
border-radius: 8rpx;
}
.choose-add {
color: #686868;
padding: 10rpx 0 10rpx 20rpx;
display: flex;
align-items: center;
justify-content: flex-start;
border: 1rpx solid #dcdfe6;
border-radius: 8rpx;
}
textarea {
width: 100%;
height: 150rpx;
color: #686868;
padding: 10rpx 0 10rpx 20rpx;
border: 1rpx solid #dcdfe6;
border-radius: 8rpx;
}
}
}
}
}
}
.dl-bottom-box {
border-top: 1rpx solid #EEEEEE;
height: calc(var(--window-bottom) + 140rpx);
padding-bottom: var(--window-bottom);
color: #363636;
position: fixed;
padding-bottom: 20rpx;
bottom: 0;
background-color: #F7F7F7;
width: 100%;
display: flex;
align-items: center;
justify-content: center;
z-index: 999;
.view-dom {
flex: 1;
margin: 0 30rpx;
color: #181D24;
background-image: linear-gradient(to right, #F7DDBD, #EFCBA0);
padding: 20rpx 0;
border-radius: 30rpx;
display: flex;
align-items: center;
justify-content: center;
}
.public-dom {
flex: 1;
margin: 0 30rpx;
padding: 20rpx 0;
border-radius: 30rpx;
color: white;
background-color: #FC1F3E;
display: flex;
align-items: center;
justify-content: center;
}
}
.line-row-bottom {
width: 100%;
margin-top: 20rpx;
display: flex;
align-items: center;
justify-content: center;
.text-red {
color: #FC1F3E;
}
}
}
.checklist-box {
margin-right: 0 !important;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 455 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 908 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB