Browse Source

自组织

feature
tianqian 3 years ago
parent
commit
8b9d8ede2a
  1. 105
      src/views/modules/shequzhili/tuceng/yingji/zizuzhi/addForm.vue
  2. 55
      src/views/modules/shequzhili/tuceng/yingji/zizuzhi/index.vue
  3. 602
      src/views/modules/shequzhili/tuceng/yingji/zizuzhi/scoreRecord.vue

105
src/views/modules/shequzhili/tuceng/yingji/zizuzhi/addForm.vue

@ -29,6 +29,7 @@
class="u-item-width-normal" class="u-item-width-normal"
size="small" size="small"
clearable clearable
type="number"
placeholder="请输入" placeholder="请输入"
></el-input> ></el-input>
</el-form-item> </el-form-item>
@ -36,31 +37,34 @@
<el-col :span="24"> <el-col :span="24">
<el-form-item label="组织成员" prop="organizationPersonnel"> <el-form-item label="组织成员" prop="organizationPersonnel">
<div class="m-staffs"> <div class="m-staffs">
<div class="item" :key="'staff' + index" v-for="(item, index) in formData.organizationPersonnel"> <div style="width:500px;" :key="'staff' + index" v-for="(item, index) in formData.organizationPersonnel">
<el-autocomplete <el-row :gutter="10" style="margin-bottom: 10px;">
class="item_width_1" <el-col :span="8">
v-model="item.personName" <el-autocomplete
:fetch-suggestions="querySearchVolunteer" class="item_width_1"
placeholder="成员姓名" v-model="item.personName"
:maxlength="50" :fetch-suggestions="querySearchVolunteer"
show-word-limit placeholder="成员姓名"
@select="vItem => handleSelectVolunteer(index, vItem)" :maxlength="50"
:disabled="item.icResiUserId != ''" show-word-limit
></el-autocomplete> @select="vItem => handleSelectVolunteer(index, vItem)"
:disabled="item.icResiUserId != ''"
<el-input ></el-autocomplete>
style="margin-left: 10px" </el-col>
class="item_width_1" <el-col :span="8">
show-word-limit <el-input
placeholder="联系电话"
:disabled="item.icResiUserId != ''" class="item_width_1"
v-model="item.personPhone" show-word-limit
/> placeholder="联系电话"
:disabled="item.icResiUserId != ''"
<el-button style="margin-left: 10px" size="small" @click="handleDelStaff(index)">删除</el-button> v-model="item.personPhone"
/>
</el-col>
<el-col :span="8"><el-button type="danger" size="small" @click="handleDelStaff(index)">删除</el-button></el-col>
</el-row>
</div> </div>
<el-button size="small" @click="handleAddStaff" type="primary" >添加</el-button>
<div class="item-add"><el-button size="small" @click="handleAddStaff">添加</el-button></div>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -81,19 +85,11 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="创建时间" prop="organizationCreatedTime"> <el-form-item label="创建时间" prop="organizationCreatedTime">
<el-date-picker <el-date-picker v-model="formData.organizationCreatedTime" type="date" style="width: 150px;" value-format="yyyy-MM-dd"></el-date-picker>
v-model="formData.organizationCreatedTime"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
></el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24">
<el-col :span="6"> <el-form-item label="详细地址" prop="address">
<el-form-item label="场所地址" prop="address" style="display: block">
<el-select <el-select
v-model="formData.address" v-model="formData.address"
filterable filterable
@ -122,7 +118,7 @@
show-word-limit show-word-limit
:rows="3" :rows="3"
v-model="formData.remark" v-model="formData.remark"
class="u-item-width-normal" class="textarea"
size="small" size="small"
clearable clearable
placeholder="请输入" placeholder="请输入"
@ -289,24 +285,24 @@ export default {
}, },
methods: { methods: {
querySearchVolunteer (queryString, cb) { querySearchVolunteer(queryString, cb) {
const { volunteerList } = this; const { volunteerList } = this;
var results = queryString var results = queryString
? volunteerList.filter((item) => { ? volunteerList.filter(item => {
return item.value.indexOf(queryString) !== -1; return item.value.indexOf(queryString) !== -1;
}) })
: volunteerList; : volunteerList;
// callback // callback
cb(results); cb(results);
}, },
handleSelectVolunteer (index, vItem) { handleSelectVolunteer(index, vItem) {
this.formData.organizationPersonnel[index] = { this.formData.organizationPersonnel[index] = {
personName: vItem.name, personName: vItem.name,
personPhone: vItem.mobile, personPhone: vItem.mobile,
icResiUserId: vItem.icResiUserId, icResiUserId: vItem.icResiUserId
}; };
}, },
async getVolunteerList() { async getVolunteerList() {
const url = '/epmetuser/icresiuser/volunteer-list'; const url = '/epmetuser/icresiuser/volunteer-list';
const params = {}; const params = {};
@ -426,8 +422,8 @@ export default {
url = '/actual/base/iccommunityselforganization/editcommunityselforganization'; url = '/actual/base/iccommunityselforganization/editcommunityselforganization';
// this.dataForm.orgId = this.orgId; // this.dataForm.orgId = this.orgId;
} }
console.log("this.",this.formData)
params = { ...this.formData }; let params = { ...this.formData };
const { data, code, msg } = await requestPost(url, params); const { data, code, msg } = await requestPost(url, params);
if (code === 0) { if (code === 0) {
this.$message.success('添加成功'); this.$message.success('添加成功');
@ -549,4 +545,5 @@ export default {
@import '@/assets/scss/modules/management/form-main.scss'; @import '@/assets/scss/modules/management/form-main.scss';
@import '@/assets/scss/modules/management/form.scss'; @import '@/assets/scss/modules/management/form.scss';
@import '@/assets/scss/modules/visual/a_customize.scss'; @import '@/assets/scss/modules/visual/a_customize.scss';
.textarea{width: 500px;}
</style> </style>

55
src/views/modules/shequzhili/tuceng/yingji/zizuzhi/index.vue

@ -68,26 +68,20 @@
<el-table-column prop="address" align="center" :show-overflow-tooltip="true" label="地址"></el-table-column> <el-table-column prop="address" align="center" :show-overflow-tooltip="true" label="地址"></el-table-column>
<el-table-column prop="remark" align="center" :show-overflow-tooltip="true" label="备注"></el-table-column> <el-table-column prop="remark" align="center" :show-overflow-tooltip="true" label="备注"></el-table-column>
<el-table-column prop="organizationCreatedTime" align="center" :show-overflow-tooltip="true" label="创建时间"></el-table-column> <el-table-column prop="organizationCreatedTime" align="center" :show-overflow-tooltip="true" label="创建时间"></el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="200"> <el-table-column fixed="right" label="操作" align="center" width="300">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="handleAdd(scope.row, 'view')" type="text" size="small">查看</el-button> <el-button @click="handleAdd(scope.row, 'view')" size="small" type="text">查看</el-button>
<el-button type="text" class="div-table-button--detail" size="small" @click="handleScore(scope.row)">积分记录</el-button> <el-button size="small" @click="handleScore(scope.row)" type="text">积分记录</el-button>
<el-button @click="handleSync(scope.row)" v-if="scope.row.syncType === 'not_sync'" size="small" type="text">同步</el-button>
<el-button @click="handleNoSync(scope.row)" v-if="scope.row.syncType === 'sync'" size="small" type="text">取消同步</el-button>
<el-button @click="handleSync(scope.row)" v-if="scope.row.syncType === 'not_sync'" type="text" size="small" class="div-table-button--edit">
同步
</el-button>
<el-button @click="handleNoSync(scope.row)" v-if="scope.row.syncType === 'sync'" type="text" size="small" class="div-table-button--edit">
取消同步
</el-button>
<el-button <el-button
v-if="scope.row.latitude && agencyId == scope.row.agencyId"
style="margin-right: 10px" style="margin-right: 10px"
@click="handleAdd(scope.row, 'edit')" @click="handleAdd(scope.row, 'edit')"
size="small" size="small"
type="text" type="text"
v-if="scope.row.latitude && agencyId == scope.row.agencyId"
> >
编辑 修改
</el-button> </el-button>
<el-button <el-button
v-if="!scope.row.latitude && agencyId == scope.row.agencyId" v-if="!scope.row.latitude && agencyId == scope.row.agencyId"
@ -130,16 +124,8 @@
/> />
</div> </div>
<!-- 积分记录 --> <!-- 积分记录 -->
<el-dialog :visible.sync="scoreDiaShow"
:close-on-click-modal="false" <score-record :detailId="orgId" v-if="scoreDiaShow" @diaClose="diaClose" :scoreDiaShow="scoreDiaShow" :serviceType="'community_org'"></score-record>
:close-on-press-escape="false"
:title="scoreDiaTitle"
width="70%"
top="5vh"
@closed="diaClose">
<score-record ref="ref_score"
:serviceType="'community_org'"></score-record>
</el-dialog>
</div> </div>
</template> </template>
@ -149,11 +135,11 @@ import nextTick from 'dai-js/tools/nextTick';
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import addForm from './addForm.vue'; import addForm from './addForm.vue';
import axios from 'axios'; import axios from 'axios';
import scoreRecord from "./scoreRecord.vue"; import scoreRecord from './scoreRecord.vue';
export default { export default {
data() { data() {
return { return {
scoreDiaShow:false, scoreDiaShow: false,
dialogVisible: false, dialogVisible: false,
importLoading: false, importLoading: false,
disabled: false, disabled: false,
@ -176,10 +162,11 @@ export default {
detailId: '', detailId: '',
detailData: {}, detailData: {},
multipleSelection: [], multipleSelection: [],
rowObj: {} rowObj: {},
orgId: ''
}; };
}, },
components: { addForm,scoreRecord }, components: { addForm, scoreRecord },
created() {}, created() {},
computed: { computed: {
maxTableHeight() { maxTableHeight() {
@ -197,15 +184,13 @@ export default {
}, },
methods: { methods: {
// //
handleScore (row) { handleScore(row) {
this.scoreDiaShow = true; this.orgId = row.orgId;
this.$nextTick(() => { this.scoreDiaShow = true;
this.$refs.ref_score.initForm(row.orgId);
});
}, },
diaClose () { diaClose() {
this.scoreDiaShow = false; this.scoreDiaShow = false;
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
this.multipleSelection = []; this.multipleSelection = [];

602
src/views/modules/shequzhili/tuceng/yingji/zizuzhi/scoreRecord.vue

@ -1,351 +1,303 @@
<template> <template>
<div class="g-main"> <el-dialog title="积分记录" :visible.sync="scoreDiaShow" width="1370px" :before-close="handleCancle">
<div>
<el-form :inline="true" <div class="dialog-h-content scroll-h">
:model="formData" <el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'">
ref="ref_searchform" <el-form-item label="查询时间" prop="startTime">
:label-width="'100px'"> <el-date-picker
v-model="timeRange"
<el-form-item label="查询时间" type="daterange"
prop="startTime"> :clearable="false"
<el-date-picker v-model="timeRange" :picker-options="pickerOptions"
type="daterange" range-separator="至"
:clearable="false" start-placeholder="开始日期"
:picker-options="pickerOptions" end-placeholder="结束日期"
range-separator="至" prefix-icon="el-icon-caret-bottom"
start-placeholder="开始日期" value-format="yyyy-MM-dd"
end-placeholder="结束日期" @change="handleTimeChange"
prefix-icon="el-icon-caret-bottom" ></el-date-picker>
value-format="yyyy-MM-dd" </el-form-item>
@change="handleTimeChange">
</el-date-picker> <div>
<el-form-item label="总计:" prop="startTime">
</el-form-item> <span>{{ totalPoint }}</span>
</el-form-item>
<div> </div>
<el-form-item label="总计:" </el-form>
prop="startTime">
<span>{{totalPoint}}</span> <el-table class="m-table-item" :data="tableData" v-loading="tableLoading" style="width: 100%">
</el-form-item> <el-table-column label="序号" header-align="center" align="center" type="index" width="50"></el-table-column>
</div> <el-table-column prop="categoryName" header-align="center" align="center" label="需求类型" width="180"></el-table-column>
<el-table-column prop="demandUserName" header-align="center" align="center" label="需求人" width="120"></el-table-column>
</el-form> <el-table-column prop="content" header-align="center" align="center" label="需求内容" :show-overflow-tooltip="true" min-width="230"></el-table-column>
<el-table-column prop="pointTime" header-align="center" align="center" label="时间" width="150"></el-table-column>
<el-table class="table" <el-table-column prop="score" header-align="center" align="center" label="评价" width="120"></el-table-column>
:data="tableData" <el-table-column prop="point" header-align="center" align="center" label="积分" width="100"></el-table-column>
border </el-table>
:height="tableHeight" <div>
v-loading="tableLoading" <el-pagination
:header-cell-style="{background:'#2195FE',color:'#FFFFFF'}" @size-change="handleSizeChange"
style="width: 100%"> @current-change="handleCurrentChange"
:current-page.sync="pageNo"
<el-table-column label="序号" :page-sizes="[10, 20, 50]"
header-align="center" :page-size="pageSize"
align="center" layout="sizes, prev, pager, next, total"
type="index" :total="total"
width="50"></el-table-column> ></el-pagination>
<el-table-column prop="categoryName" </div>
header-align="center" </div>
align="center" <!-- <div class="div_btn" v-if="pageType != 'view'">
label="需求类型" <el-button size="small" @click="handleCancle"> </el-button>
width="180"> <el-button size="small" @click="resetData" v-if="pageType != 'view'">重置</el-button>
</el-table-column> <el-button size="small" type="primary" :disabled="btnDisable" @click="handleComfirm"> </el-button>
<el-table-column prop="demandUserName" </div> -->
header-align="center" </div>
align="center" <span slot="footer" class="dialog-footer">
label="需求人" <el-button @click="handleCancle"> </el-button>
width="120"> <!-- <el-button type="primary" @click="handleComfirm"> </el-button> -->
</el-table-column> </span>
<el-table-column prop="content" </el-dialog>
header-align="center"
align="center"
label="需求内容"
:show-overflow-tooltip="true"
min-width="230">
</el-table-column>
<el-table-column prop="pointTime"
header-align="center"
align="center"
label="时间"
width="150">
</el-table-column>
<el-table-column prop="score"
header-align="center"
align="center"
label="评价"
width="120">
</el-table-column>
<el-table-column prop="point"
header-align="center"
align="center"
label="积分"
width="100">
</el-table-column>
</el-table>
<div>
<el-pagination @size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-sizes="[10, 20, 50]"
:page-size="pageSize"
layout="sizes, prev, pager, next, total"
:total="total">
</el-pagination>
</div>
</div>
</template> </template>
<script> <script>
import util from '@js/util.js'; import util from '@js/util.js';
import { requestPost } from "@/js/dai/request"; import { requestPost } from '@/js/dai/request';
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex';
import { Loading } from 'element-ui' // Loading import { Loading } from 'element-ui'; // Loading
let loading // let loading; //
export default { export default {
data () { data() {
return { return {
loading: false, loading: false,
totalPoint: 100, totalPoint: 100,
total: 0, total: 0,
pageSize: 10, pageSize: 10,
pageNo: 0, pageNo: 0,
tableLoading: false, tableLoading: false,
serviceId: '', serviceId: '',
pickerOptions: { // pickerOptions: {
disabledDate (time) { //
return time.getTime() > (Date.now()) disabledDate(time) {
} return time.getTime() > Date.now();
}, }
},
timeRange: [],
unitId: '', timeRange: [],
formData: { unitId: '',
formData: {
startTime: '', startTime: '',
endTime: '' endTime: ''
}, },
btnDisable: false,
tableData: [], tableData: []
};
},
components: {},
} props: {
}, scoreDiaShow: {
components: { type: Boolean,
default: ''
}, },
async created () {
detailId: {
}, type: String,
async mounted () { default: ''
},
serviceType: {
}, type: String,
default: ''
methods: { }
async initForm (serviceId) { },
this.initDate() async created() {},
async mounted() {
this.serviceId = serviceId this.initForm();
},
//
await this.loadTable() methods: {
}, handleCancle() {
this.$emit('diaClose');
handleSearch () { },
this.loadTable()
}, async initForm() {
this.initDate();
async loadTable () { //
this.tableLoading = true await this.loadTable();
},
const url = "/governance/userdemand/recordList"
// const url = "http://yapi.elinkservice.cn/mock/245/governance/userdemand/recordList" handleSearch() {
let params = { this.loadTable();
serviceType: this.serviceType, },
serviceId: this.serviceId,
pageSize: this.pageSize, async loadTable() {
pageNo: this.pageNo, this.tableLoading = true;
...this.formData const url = '/governance/userdemand/recordList';
} // const url = "http://yapi.elinkservice.cn/mock/245/governance/userdemand/recordList"
let params = {
const { data, code, msg } = await requestPost(url, params) serviceType: this.serviceType,
serviceId: this.detailId,
if (code === 0) { pageSize: this.pageSize,
this.totalPoint = data.totalPoint pageNo: this.pageNo,
this.total = data.page.total ...this.formData
this.tableData = data.page.list };
} else {
this.$message.error(msg) const { data, code, msg } = await requestPost(url, params);
}
this.tableLoading = false if (code === 0) {
}, this.totalPoint = data.totalPoint;
this.total = data.page.total;
// this.tableData = data.page.list;
initDate () { } else {
let today = new Date((new Date).getTime()) this.$message.error(msg);
}
let year = today.getFullYear() this.tableLoading = false;
let month = today.getMonth() + 1 // },
let day = today.getDate() //
//
let days = new Date(year, month, 0); initDate() {
days = days.getDate(); // let today = new Date(new Date().getTime());
let year2 = year;
let month2 = parseInt(month) - 1; let year = today.getFullYear();
if (month2 == 0) { let month = today.getMonth() + 1; //
year2 = parseInt(year2) - 1; let day = today.getDate(); //
month2 = 12;
} let days = new Date(year, month, 0);
let day2 = day; days = days.getDate(); //
let days2 = new Date(year2, month2, 0); let year2 = year;
days2 = days2.getDate(); let month2 = parseInt(month) - 1;
if (day2 > days2) { if (month2 == 0) {
day2 = days2; year2 = parseInt(year2) - 1;
} month2 = 12;
if (month2 < 10) { }
month2 = '0' + month2; let day2 = day;
} let days2 = new Date(year2, month2, 0);
if (month < 10) { days2 = days2.getDate();
month = '0' + month; if (day2 > days2) {
} day2 = days2;
if (day < 10) { }
day = '0' + day; if (month2 < 10) {
} month2 = '0' + month2;
if (day2 < 10) { }
day2 = '0' + day2; if (month < 10) {
} month = '0' + month;
let t2 = year2 + '-' + month2 + '-' + day2; }
let t1 = year + '-' + month + '-' + day; if (day < 10) {
// let t3 = formate(t2, style); day = '0' + day;
this.formData.startTime = t2 + ' 00:00:00' }
this.formData.endTime = t1 + ' 23:59:59' if (day2 < 10) {
day2 = '0' + day2;
this.timeRange = [t2, t1] }
}, let t2 = year2 + '-' + month2 + '-' + day2;
let t1 = year + '-' + month + '-' + day;
// let t3 = formate(t2, style);
handleTimeChange (time) { this.formData.startTime = t2 + ' 00:00:00';
if (time) { this.formData.endTime = t1 + ' 23:59:59';
const startTimeArray = util.dateFormatter(time[0], 'date').split('-')
const endTimeArray = util.dateFormatter(time[1], 'date').split('-') this.timeRange = [t2, t1];
},
this.formData.startTime = startTimeArray[0] + '-' + startTimeArray[1] + '-' + startTimeArray[2] + ' 00:00:00'
this.formData.endTime = endTimeArray[0] + '-' + endTimeArray[1] + '-' + endTimeArray[2] + ' 23:59:59' handleTimeChange(time) {
if (time) {
// this.startTimeShow = startTimeArray[0] + '' + startTimeArray[1] + '' + startTimeArray[2] + '' const startTimeArray = util.dateFormatter(time[0], 'date').split('-');
// this.endTimeShow = endTimeArray[0] + '' + endTimeArray[1] + '' + endTimeArray[2] + '' const endTimeArray = util.dateFormatter(time[1], 'date').split('-');
} else {
this.formData.startTime = '' this.formData.startTime = startTimeArray[0] + '-' + startTimeArray[1] + '-' + startTimeArray[2] + ' 00:00:00';
this.formData.endTime = '' this.formData.endTime = endTimeArray[0] + '-' + endTimeArray[1] + '-' + endTimeArray[2] + ' 23:59:59';
// this.startTimeShow = ''
// this.endTimeShow = '' // this.startTimeShow = startTimeArray[0] + '' + startTimeArray[1] + '' + startTimeArray[2] + ''
} // this.endTimeShow = endTimeArray[0] + '' + endTimeArray[1] + '' + endTimeArray[2] + ''
} else {
this.loadTable() this.formData.startTime = '';
this.formData.endTime = '';
}, // this.startTimeShow = ''
// this.endTimeShow = ''
handleSizeChange (val) { }
this.pageSize = val
this.pageNo = 1 this.loadTable();
this.loadTable() },
},
handleCurrentChange (val) { handleSizeChange(val) {
this.pageNo = val this.pageSize = val;
this.loadTable() this.pageNo = 1;
}, this.loadTable();
},
// handleCurrentChange(val) {
startLoading () { this.pageNo = val;
loading = Loading.service({ this.loadTable();
lock: true, // },
text: '正在加载……', //
background: 'rgba(0,0,0,.7)' // //
}) startLoading() {
}, loading = Loading.service({
// lock: true, //
endLoading () { text: '正在加载……', //
// clearTimeout(timer); background: 'rgba(0,0,0,.7)' //
if (loading) { });
loading.close() },
} //
} endLoading() {
}, // clearTimeout(timer);
computed: { if (loading) {
tableHeight () { loading.close();
}
return (this.clientHeight - 460) }
},
}, computed: {
rowHeight () { tableHeight() {
return (this.clientHeight - 200) + 'px' return this.clientHeight - 460;
}, },
...mapGetters(['clientHeight']) rowHeight() {
}, return this.clientHeight - 200 + 'px';
watch: { },
...mapGetters(['clientHeight'])
}, },
props: { watch: {}
serviceType: { };
type: String,
default: ''
}
}
}
</script> </script>
<style lang="scss" scoped > <style lang="scss" scoped>
@import "@/assets/scss/buttonstyle.scss"; @import '@/assets/scss/buttonstyle.scss';
.g-main { .g-main {
background: #ffffff; background: #ffffff;
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1); box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1);
border-radius: 4px; border-radius: 4px;
margin-top: 15px; margin-top: 15px;
padding: 23px 30px 10px; padding: 23px 30px 10px;
} }
.m-search { .m-search {
background: #ffffff; background: #ffffff;
border-radius: 4px; border-radius: 4px;
padding: 30px 20px 5px; padding: 30px 20px 5px;
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1); box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1);
} }
.item_width_1 { .item_width_1 {
width: 260px; width: 260px;
} }
.item_width_2 { .item_width_2 {
width: 495px; width: 495px;
} }
.m-table { .m-table {
background: #ffffff; background: #ffffff;
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1); box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1);
border-radius: 4px; border-radius: 4px;
margin-top: 15px; margin-top: 15px;
padding: 23px 30px 10px; padding: 23px 30px 10px;
.table { .table {
margin-top: 20px; margin-top: 20px;
} }
} }
.el-row { .el-row {
/* margin-bottom: 20px; */ /* margin-bottom: 20px; */
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
margin-top: 10px; margin-top: 10px;
margin-right: 50px; margin-right: 50px;
} }
</style> </style>

Loading…
Cancel
Save