行程路线
This commit is contained in:
parent
8481bc676e
commit
5071d63dcb
@ -88,3 +88,17 @@ export const activityAnsweringlist = (query?: ActivityQuery): AxiosPromise<Activ
|
|||||||
params: query
|
params: query
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
* 查询报名人数信息列表
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const activityUsersList = (query?: ActivityQuery): AxiosPromise<ActivityVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/manage/activityUsers/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
@ -41,7 +41,11 @@
|
|||||||
<el-table-column label="活动描述" align="center" fixed prop="activityDescription" width="180px" show-overflow-tooltip />
|
<el-table-column label="活动描述" align="center" fixed prop="activityDescription" width="180px" show-overflow-tooltip />
|
||||||
<el-table-column label="活动图片" align="center" prop="" />
|
<el-table-column label="活动图片" align="center" prop="" />
|
||||||
<el-table-column label="活动人数" align="center" prop="activityUserCount" />
|
<el-table-column label="活动人数" align="center" prop="activityUserCount" />
|
||||||
<el-table-column label="报名人数" align="center" prop="registrationCount" />
|
<el-table-column label="报名人数" align="center" prop="registrationCount">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-button type="primary" link @click="registrationCountnum(scope.row)">{{ scope.row.registrationCount }}</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="挑选玩友" align="center" prop="isSelected">
|
<el-table-column label="挑选玩友" align="center" prop="isSelected">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<div>{{ scope.row.isSelected == 1 ? '是' : '否' }}</div>
|
<div>{{ scope.row.isSelected == 1 ? '是' : '否' }}</div>
|
||||||
@ -205,7 +209,16 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="Activity" lang="ts">
|
<script setup name="Activity" lang="ts">
|
||||||
import { listActivity, getActivity, delActivity, addActivity, updateActivity, activityprocess, activityAnsweringlist } from '@/api/manage/activity';
|
import {
|
||||||
|
listActivity,
|
||||||
|
getActivity,
|
||||||
|
delActivity,
|
||||||
|
addActivity,
|
||||||
|
updateActivity,
|
||||||
|
activityprocess,
|
||||||
|
activityAnsweringlist,
|
||||||
|
activityUsersList
|
||||||
|
} from '@/api/manage/activity';
|
||||||
import { ActivityVO, ActivityQuery, ActivityForm } from '@/api/manage/activity/types';
|
import { ActivityVO, ActivityQuery, ActivityForm } from '@/api/manage/activity/types';
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
||||||
@ -219,9 +232,11 @@ const single = ref(true);
|
|||||||
const multiple = ref(true);
|
const multiple = ref(true);
|
||||||
const total = ref(0);
|
const total = ref(0);
|
||||||
const Answeringtotal = ref(0);
|
const Answeringtotal = ref(0);
|
||||||
|
const activityUserstotal = ref(0);
|
||||||
|
|
||||||
const listdatatime = ref([{ activityTime: '', planContent: '' }]);
|
const listdatatime = ref([{ activityTime: '', planContent: '' }]);
|
||||||
const Answeringlist = ref([]);
|
const Answeringlist = ref([]);
|
||||||
|
const activityUsersListarr = ref([]);
|
||||||
const queryFormRef = ref<ElFormInstance>();
|
const queryFormRef = ref<ElFormInstance>();
|
||||||
const activityFormRef = ref<ElFormInstance>();
|
const activityFormRef = ref<ElFormInstance>();
|
||||||
|
|
||||||
@ -255,6 +270,11 @@ const queryAnswerings = {
|
|||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
activityId: undefined
|
activityId: undefined
|
||||||
};
|
};
|
||||||
|
const queryUsers = {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
activityId: undefined
|
||||||
|
};
|
||||||
const data = reactive<PageData<ActivityForm, ActivityQuery>>({
|
const data = reactive<PageData<ActivityForm, ActivityQuery>>({
|
||||||
form: { ...initFormData },
|
form: { ...initFormData },
|
||||||
queryParams: {
|
queryParams: {
|
||||||
@ -411,6 +431,14 @@ const wendalist = async (row) => {
|
|||||||
Answeringtotal.value = res.total;
|
Answeringtotal.value = res.total;
|
||||||
wendadialog.visible = true;
|
wendadialog.visible = true;
|
||||||
};
|
};
|
||||||
|
//报名人数弹窗
|
||||||
|
const registrationCountnum = async (row) => {
|
||||||
|
queryUsers.activityId = row.id;
|
||||||
|
const res = await activityUsersList(queryUsers);
|
||||||
|
activityUsersListarr.value = res.rows;
|
||||||
|
activityUserstotal.value = res.total;
|
||||||
|
numdialog.visible = true;
|
||||||
|
};
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getList();
|
getList();
|
||||||
});
|
});
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
<el-select v-model="queryParams.status" placeholder="请选择发布状态" style="width: 200px" @keyup.enter="handleQuery">
|
<el-select v-model="queryParams.status" placeholder="请选择发布状态" style="width: 200px" @keyup.enter="handleQuery">
|
||||||
<el-option label="未发布" value="0" />
|
<el-option label="未发布" value="0" />
|
||||||
<el-option label="已发布" value="1" />
|
<el-option label="已发布" value="1" />
|
||||||
<el-option label="全部" value="" />
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
@ -52,11 +51,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="更新者" align="center" prop="updateByName" />
|
<el-table-column label="更新者" align="center" prop="updateByName" />
|
||||||
<el-table-column label="更新时间" align="center" prop="updateTime" width="180">
|
<el-table-column label="更新时间" align="center" prop="updateTime" width="180"/>
|
||||||
<template #default="scope">
|
|
||||||
<span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-tooltip v-if="scope.row.status != 1" content="编辑" placement="top">
|
<el-tooltip v-if="scope.row.status != 1" content="编辑" placement="top">
|
||||||
@ -94,17 +89,17 @@
|
|||||||
<!-- </el-form-item>-->
|
<!-- </el-form-item>-->
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="地理位置" prop="introduce">
|
<el-form-item label="地理位置" prop="address">
|
||||||
<!-- <el-input v-model="searchLocation" type="text" placeholder="请输入地址信息" clearable /> -->
|
<!-- <el-input v-model="searchLocation" type="text" placeholder="请输入地址信息" clearable /> -->
|
||||||
<el-input
|
<el-input
|
||||||
v-model="searchLocation"
|
v-model="form.address"
|
||||||
placeholder="请输入地址信息"
|
placeholder="请输入地址信息"
|
||||||
class="input-with-select"
|
class="input-with-select"
|
||||||
style="width: 300px"
|
style="width: 300px"
|
||||||
@keyup.enter="debouncedSearch(searchLocation)"
|
@keyup.enter="debouncedSearch(form.address)"
|
||||||
>
|
>
|
||||||
<template #append>
|
<template #append>
|
||||||
<el-button :icon="Search" @click="debouncedSearch(searchLocation)" />
|
<el-button :icon="Search" @click="debouncedSearch(form.address)" />
|
||||||
</template>
|
</template>
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -122,9 +117,6 @@
|
|||||||
</tlbs-map>
|
</tlbs-map>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-form-item label="详细地址" prop="address" style="margin-top: 15px">
|
|
||||||
<el-input v-model="form.address" placeholder="输入地理位置或点击度图上的地点" disabled />
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<div class="dialog-footer">
|
<div class="dialog-footer">
|
||||||
@ -199,7 +191,9 @@ const data = reactive<PageData<HotelForm, HotelQuery>>({
|
|||||||
latitude: [{ required: true, message: '纬度不能为空', trigger: 'blur' }],
|
latitude: [{ required: true, message: '纬度不能为空', trigger: 'blur' }],
|
||||||
province: [{ required: true, message: '省份编码不能为空', trigger: 'blur' }],
|
province: [{ required: true, message: '省份编码不能为空', trigger: 'blur' }],
|
||||||
city: [{ required: true, message: '市级编码不能为空', trigger: 'blur' }],
|
city: [{ required: true, message: '市级编码不能为空', trigger: 'blur' }],
|
||||||
county: [{ required: true, message: '区县编码不能为空', trigger: 'blur' }]
|
county: [{ required: true, message: '区县编码不能为空', trigger: 'blur' }],
|
||||||
|
address: [{ required: true, message: '地理位置不能为空', trigger: 'blur' }]
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
const imgUrlList = reactive({
|
const imgUrlList = reactive({
|
||||||
|
@ -134,11 +134,14 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>{{ item.description }}</div>
|
<div>{{ item.description }}</div>
|
||||||
<div style="font-weight: 600">景点 {{ item.articleName }}</div>
|
<div v-for="(er, index_r) in item.lowerList">
|
||||||
<div>建议游玩{{ item.routeHours }}小时 | {{ item.address }}</div>
|
<div style="font-weight: 600">景点{{ index_r + 1 }} {{ er.articleName }}</div>
|
||||||
<div>{{ item.recommend }}</div>
|
<div>建议游玩{{ er.routeHours }}小时 | {{ er.address }}</div>
|
||||||
<div>{{ item.addressDes }}</div>
|
<div>{{ er.recommend }}</div>
|
||||||
<div>{{ item.guide }}</div>
|
<div>{{ er.addressDes }}</div>
|
||||||
|
<div>{{ er.guide }}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="hotellistcalss">
|
<div class="hotellistcalss">
|
||||||
<div v-for="rr in item.hotelVoList" class="hotelitem">
|
<div v-for="rr in item.hotelVoList" class="hotelitem">
|
||||||
<div class="title">{{ rr.name }}</div>
|
<div class="title">{{ rr.name }}</div>
|
||||||
@ -168,25 +171,26 @@
|
|||||||
<el-input v-model="routeDetailsList.description" placeholder="请输入描述" style="width: 500px" autosize type="textarea" />
|
<el-input v-model="routeDetailsList.description" placeholder="请输入描述" style="width: 500px" autosize type="textarea" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="添加地点">
|
<el-form-item label="添加地点">
|
||||||
<el-button type="primary">添加景点</el-button>
|
<el-button type="primary" @click="addjingdain">添加景点</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<div class="articlelist">
|
<div v-for="(item, index) in routeDetailsList.lowerList" class="articlelist">
|
||||||
|
<CircleClose v-if="index != 0" style="width: 2em; height: 2em; position: relative; left: 98%" @click="delLowerList(index)" />
|
||||||
<el-form-item label="添加地点">
|
<el-form-item label="添加地点">
|
||||||
<el-select v-model="routeDetailsList.articleId" placeholder="请选择标记地点" size="large" style="width: 500px">
|
<el-select v-model="item.articleId" placeholder="请选择标记地点" size="large" style="width: 500px">
|
||||||
<el-option v-for="item in sys_user_contentOptions" :key="item.id" :label="item.name" :value="item.id" />
|
<el-option v-for="item in sys_user_contentOptions" :key="item.id" :label="item.name" :value="item.id" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="建议游玩时长">
|
<el-form-item label="建议游玩时长">
|
||||||
<el-input v-model="routeDetailsList.routeHours" placeholder="请输入建议游玩时长" style="width: 500px" />
|
<el-input v-model="item.routeHours" placeholder="请输入建议游玩时长" style="width: 500px" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="推荐语">
|
<el-form-item label="推荐语">
|
||||||
<el-input v-model="routeDetailsList.recommend" placeholder="请输入推荐语" style="width: 500px" />
|
<el-input v-model="item.recommend" placeholder="请输入推荐语" style="width: 500px" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="地点描述">
|
<el-form-item label="地点描述">
|
||||||
<el-input v-model="routeDetailsList.addressDes" placeholder="请输入地点描述" style="width: 500px" autosize type="textarea" />
|
<el-input v-model="item.addressDes" placeholder="请输入地点描述" style="width: 500px" autosize type="textarea" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="避坑指南">
|
<el-form-item label="避坑指南">
|
||||||
<el-input v-model="routeDetailsList.guide" placeholder="请输入避坑指南" style="width: 500px" autosize type="textarea" />
|
<el-input v-model="item.guide" placeholder="请输入避坑指南" style="width: 500px" autosize type="textarea" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -227,11 +231,14 @@
|
|||||||
<div class="title">DAY{{ index + 1 }}·{{ item.title }}</div>
|
<div class="title">DAY{{ index + 1 }}·{{ item.title }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div>{{ item.description }}</div>
|
<div>{{ item.description }}</div>
|
||||||
<div style="font-weight: 600">景点 {{ item.articleName }}</div>
|
<div v-for="(rr, index) in item.lowerList" :key="item.id">
|
||||||
<div>建议游玩{{ item.routeHours }}小时 | {{ item.address }}</div>
|
<div style="font-weight: 600">景点 {{ index + 1 }} {{ rr.articleName }}</div>
|
||||||
<div>{{ item.recommend }}</div>
|
<div>建议游玩{{ rr.routeHours }}小时 | {{ rr.address }}</div>
|
||||||
<div>{{ item.addressDes }}</div>
|
<div>{{ rr.recommend }}</div>
|
||||||
<div>{{ item.guide }}</div>
|
<div>{{ rr.addressDes }}</div>
|
||||||
|
<div>{{ rr.guide }}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="hotellistcalss">
|
<div class="hotellistcalss">
|
||||||
<div v-for="rr in item.hotelVoList" class="hotelitem">
|
<div v-for="rr in item.hotelVoList" class="hotelitem">
|
||||||
<div class="title">{{ rr.name }}</div>
|
<div class="title">{{ rr.name }}</div>
|
||||||
@ -284,7 +291,15 @@ const regiontree = ref([]);
|
|||||||
const props = { multiple: true, value: 'id' };
|
const props = { multiple: true, value: 'id' };
|
||||||
const queryFormRef = ref<ElFormInstance>();
|
const queryFormRef = ref<ElFormInstance>();
|
||||||
const RouteFormRef = ref<ElFormInstance>();
|
const RouteFormRef = ref<ElFormInstance>();
|
||||||
|
const jingdianList = ref([
|
||||||
|
{
|
||||||
|
articleId: '',
|
||||||
|
routeHours: '',
|
||||||
|
recommend: '',
|
||||||
|
addressDes: '',
|
||||||
|
guide: ''
|
||||||
|
}
|
||||||
|
]);
|
||||||
const dialog = reactive<DialogOption>({
|
const dialog = reactive<DialogOption>({
|
||||||
visible: false,
|
visible: false,
|
||||||
title: ''
|
title: ''
|
||||||
@ -350,13 +365,13 @@ const data = reactive<PageData<RouteForm, RouteQuery>>({
|
|||||||
city: [{ required: true, message: '市/区不能为空', trigger: 'blur' }],
|
city: [{ required: true, message: '市/区不能为空', trigger: 'blur' }],
|
||||||
remark: [{ required: true, message: '个人简介不能为空', trigger: 'blur' }],
|
remark: [{ required: true, message: '个人简介不能为空', trigger: 'blur' }],
|
||||||
memberLevel: [{ required: true, message: '会员等级不能为空', trigger: 'blur' }],
|
memberLevel: [{ required: true, message: '会员等级不能为空', trigger: 'blur' }],
|
||||||
tagId: [{ required: true, message: '标签不能为空', trigger: 'blur' }],
|
// tagId: [{ required: true, message: '标签不能为空', trigger: 'blur' }],
|
||||||
appropriateTime: [{ required: true, message: '最佳时间', trigger: 'blur' }],
|
appropriateTime: [{ required: true, message: '最佳时间', trigger: 'blur' }],
|
||||||
routeDriveHour: [{ required: true, message: '行驶时长', trigger: 'blur' }],
|
routeDriveHour: [{ required: true, message: '行驶时长', trigger: 'blur' }],
|
||||||
routeMileage: [{ required: true, message: '行程里数', trigger: 'blur' }],
|
routeMileage: [{ required: true, message: '行程里数', trigger: 'blur' }],
|
||||||
routeDays: [{ required: true, message: '行程天数', trigger: 'blur' }],
|
routeDays: [{ required: true, message: '行程天数', trigger: 'blur' }],
|
||||||
treevalue: [{ required: true, message: '涉及的行政区', trigger: 'blur' }],
|
region: [{ required: true, message: '涉及的行政区', trigger: 'blur' }],
|
||||||
tagvalue: [{ required: true, message: '路线标签', trigger: 'blur' }],
|
tagId: [{ required: true, message: '标签不能为空', trigger: 'blur' }],
|
||||||
title: [{ required: true, message: '线路标题', trigger: 'blur' }]
|
title: [{ required: true, message: '线路标题', trigger: 'blur' }]
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -370,7 +385,16 @@ const routeDetailsList = ref({
|
|||||||
articleId: '',
|
articleId: '',
|
||||||
addressDes: '',
|
addressDes: '',
|
||||||
guide: '',
|
guide: '',
|
||||||
hotelIds: ''
|
hotelIds: '',
|
||||||
|
lowerList: [
|
||||||
|
{
|
||||||
|
articleId: '',
|
||||||
|
routeHours: '',
|
||||||
|
recommend: '',
|
||||||
|
addressDes: '',
|
||||||
|
guide: ''
|
||||||
|
}
|
||||||
|
]
|
||||||
});
|
});
|
||||||
const bookrouteDetailsList = ref([]);
|
const bookrouteDetailsList = ref([]);
|
||||||
const options = [
|
const options = [
|
||||||
@ -507,7 +531,7 @@ const submitForm = (type) => {
|
|||||||
form.value.status = Number(type);
|
form.value.status = Number(type);
|
||||||
form.value.routeDetailsList = bookrouteDetailsList.value;
|
form.value.routeDetailsList = bookrouteDetailsList.value;
|
||||||
console.log(form.value, bookrouteDetailsList.value);
|
console.log(form.value, bookrouteDetailsList.value);
|
||||||
// return
|
// return;
|
||||||
RouteFormRef.value?.validate(async (valid: boolean) => {
|
RouteFormRef.value?.validate(async (valid: boolean) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
buttonLoading.value = true;
|
buttonLoading.value = true;
|
||||||
@ -564,7 +588,26 @@ const gethotelall = async () => {
|
|||||||
|
|
||||||
//添加行程
|
//添加行程
|
||||||
const add = () => {
|
const add = () => {
|
||||||
routeDetailsList.value = {};
|
routeDetailsList.value = {
|
||||||
|
title: '',
|
||||||
|
description: '',
|
||||||
|
routeHours: '',
|
||||||
|
recommend: '',
|
||||||
|
articleId: '',
|
||||||
|
addressDes: '',
|
||||||
|
guide: '',
|
||||||
|
hotelIds: '',
|
||||||
|
lowerList: [
|
||||||
|
{
|
||||||
|
articleId: '',
|
||||||
|
routeHours: '',
|
||||||
|
recommend: '',
|
||||||
|
addressDes: '',
|
||||||
|
guide: ''
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
hotelallvalue.value = [];
|
||||||
addressdialog.visible = true;
|
addressdialog.visible = true;
|
||||||
addressdialog.title = `添加DAY${bookrouteDetailsList.value.length + 1}行程`;
|
addressdialog.title = `添加DAY${bookrouteDetailsList.value.length + 1}行程`;
|
||||||
};
|
};
|
||||||
@ -580,7 +623,9 @@ const editlistitem = (item, index) => {
|
|||||||
hotelallvalue.value = extractedIds;
|
hotelallvalue.value = extractedIds;
|
||||||
};
|
};
|
||||||
//删除单个行程
|
//删除单个行程
|
||||||
const dellistitem = (index) => {};
|
const dellistitem = (index) => {
|
||||||
|
bookrouteDetailsList.value.splice(index, 1);
|
||||||
|
};
|
||||||
const savecancel = () => {
|
const savecancel = () => {
|
||||||
addressdialog.visible = false;
|
addressdialog.visible = false;
|
||||||
};
|
};
|
||||||
@ -674,6 +719,21 @@ const addressdata = (ids: string | null) => {
|
|||||||
console.log(addressarray, 'qqqq');
|
console.log(addressarray, 'qqqq');
|
||||||
return addressarray;
|
return addressarray;
|
||||||
};
|
};
|
||||||
|
//添加景点
|
||||||
|
const addjingdain = () => {
|
||||||
|
routeDetailsList.value.lowerList.push({
|
||||||
|
articleId: '',
|
||||||
|
routeHours: '',
|
||||||
|
recommend: '',
|
||||||
|
addressDes: '',
|
||||||
|
guide: ''
|
||||||
|
});
|
||||||
|
};
|
||||||
|
//删除景点
|
||||||
|
const delLowerList = (index) => {
|
||||||
|
// bookrouteDetailsList.lowerList.splice(index, 1);
|
||||||
|
routeDetailsList.value.lowerList.splice(index, 1);
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.el-card :deep(.el-card__body) {
|
.el-card :deep(.el-card__body) {
|
||||||
@ -723,6 +783,6 @@ const addressdata = (ids: string | null) => {
|
|||||||
margin: 20px auto;
|
margin: 20px auto;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
background-color:#f2f2f2 ;
|
background-color: #f2f2f2;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
Loading…
Reference in New Issue
Block a user