|
@@ -45,7 +45,7 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column fixed="right" label="操作" align="center" v-if="PowerShow">
|
|
|
<template #default="scope">
|
|
|
- <el-button type="text" size="small" @click="removeSchool(scope.row,scope.$index)">移除管理</el-button>
|
|
|
+ <el-button type="danger" size="small" @click="removeSchool(scope.row,scope.$index)">移除管理</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -57,15 +57,20 @@
|
|
|
<div class="school-list-header">
|
|
|
<div class="correlationbox-titles">学校列表:</div>
|
|
|
<div class="correlationbox-search">
|
|
|
- <el-input v-model="schoolSearch" placeholder="输入学校名称/简码 搜索" :prefix-icon="Search" size="small" clearable />
|
|
|
+ <el-input v-model="schoolSearch" placeholder="输入学校名称/简码 搜索" :prefix-icon="Search" clearable />
|
|
|
+ </div>
|
|
|
+ <div class="areaSelect">
|
|
|
+ <el-select v-model="areaList.value" placeholder="进行学区筛选" @change="getAreaschool">
|
|
|
+ <el-option v-for="item in areaList.data" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
+ </el-select>
|
|
|
</div>
|
|
|
<div class="correlationbox-btn">
|
|
|
<el-button type="primary" size="small" v-if="multipleSchool.length >0 && PowerShow" @click="multipleCorrelation">添加管理员选中学校</el-button>
|
|
|
<el-button type="primary" size="small" v-else-if="multipleSchool.length ===0 && PowerShow" disabled>添加管理员选中学校</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="listbox">
|
|
|
- <el-table :data="tableData" id="schoolManagelist" style="width: 100%" height="45vh" size="small" @selection-change="checkSchool" empty-text='暂无相关搜索数据' v-loading="loadingData.list" element-loading-text="数据加载中...">
|
|
|
+ <div class="listbox" style="width: 100%; height: 42vh" v-loading="loadingData.list" element-loading-text="数据加载中...">
|
|
|
+ <!-- <el-table :data="tableData" id="schoolManagelist" style="width: 100%" height="45vh" size="small" @selection-change="checkSchool" empty-text='暂无相关搜索数据' v-loading="loadingData.list" element-loading-text="数据加载中...">
|
|
|
<el-table-column type="selection" v-if="PowerShow" align="center" />
|
|
|
<el-table-column label="校徽" align="center">
|
|
|
<template #default="scope">
|
|
@@ -75,7 +80,6 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="name" label="名称" />
|
|
|
<el-table-column prop="id" label="学校简码" />
|
|
|
- <!-- <el-table-column prop="name" label="版本" /> -->
|
|
|
<el-table-column prop="assisName" label="目前管理员">
|
|
|
<template #default="scope">
|
|
|
<div class="adminnamedata">{{scope.row.admin}}</div>
|
|
@@ -98,16 +102,22 @@
|
|
|
<el-button type="text" size="small" @click="correlation(scope.row,tableData)">添加管理学校</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- </el-table>
|
|
|
+ </el-table> -->
|
|
|
+ <el-auto-resizer>
|
|
|
+ <template #default="{ height, width }">
|
|
|
+ <el-table-v2 :columns="columns" :data="tableData" :width="width" :height="height" fixed />
|
|
|
+ </template>
|
|
|
+ </el-auto-resizer>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
-import { ref, getCurrentInstance, watch, onMounted } from 'vue'
|
|
|
-import { ElMessage, ElLoading, ElMessageBox } from 'element-plus'
|
|
|
+import { ref, getCurrentInstance, watch, onMounted, h } from 'vue'
|
|
|
+import { ElMessage, ElLoading, ElMessageBox, ElCheckbox } from 'element-plus'
|
|
|
import { Search } from '@element-plus/icons'
|
|
|
import { useStore } from 'vuex'
|
|
|
+import jwt_decode from 'jwt-decode'
|
|
|
export default {
|
|
|
props: {
|
|
|
userdata: {
|
|
@@ -126,6 +136,7 @@ export default {
|
|
|
let { proxy } = getCurrentInstance()
|
|
|
const store = useStore()
|
|
|
let PowerShow = proxy.$access.identifyPosition(JSON.parse(localStorage.getItem('id_token')))
|
|
|
+ let userVerify = jwt_decode(JSON.parse(localStorage.getItem('id_token')))
|
|
|
const tableDatas = ref([])
|
|
|
let tableData = ref([])
|
|
|
let nowUsers = ref()
|
|
@@ -152,65 +163,134 @@ export default {
|
|
|
exist: [],
|
|
|
notExist: [],
|
|
|
})
|
|
|
+ const columns = [
|
|
|
+ {
|
|
|
+ cellRenderer: (data) =>
|
|
|
+ h(
|
|
|
+ ElCheckbox,
|
|
|
+ // { onClick: () => handleDelete(data), type: "danger", icon: "Delete" },
|
|
|
+ { onChange: () => checkSchool(data.rowData) },
|
|
|
+ { default: () => "" }
|
|
|
+ ),
|
|
|
+ width: 50,//当前列的宽度,必须设置
|
|
|
+ // fixed: true,//是否固定列
|
|
|
+ align: 'center',
|
|
|
+ // cellRenderer: ({ rowData }) => {
|
|
|
+ // const onChange = (value: CheckboxValueType) => (rowData.checked = value)
|
|
|
+ // return <SelectionCell value={rowData.checked} onChange={onChange} />
|
|
|
+ // },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ // key: "name",
|
|
|
+ // dataKey: "name",//需要渲染当前列的数据字段,如{id:9527,name:'Mike'},则填name
|
|
|
+ title: "校徽",
|
|
|
+ width: 100,
|
|
|
+ fixed: false,
|
|
|
+ align: 'center',
|
|
|
+ cellRenderer: (data) => (
|
|
|
+ <>
|
|
|
+ <el-image style="width: 40px; height: 40px;margin:5px" src={data.rowData.picture} fit="contain" v-show={data.rowData.picture ? true : false}></el-image>
|
|
|
+ <div style=" width: 40px; height: 40px;line-height: 40px;text-align: center;background-color: #bdc3c7;font-size: 10px;color: #ecf0f1;margin:5px;" v-show={!data.rowData.picture ? true : false}>暂无图片</div>
|
|
|
+ </>
|
|
|
+ )
|
|
|
+ },
|
|
|
+ {
|
|
|
+ key: "name",
|
|
|
+ dataKey: "name",//需要渲染当前列的数据字段,如{id:9527,name:'Mike'},则填name
|
|
|
+ title: "名称",
|
|
|
+ width: 180,
|
|
|
+ fixed: false,
|
|
|
+ align: 'center',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ key: "id",
|
|
|
+ dataKey: "id",//需要渲染当前列的数据字段,如{id:9527,name:'Mike'},则填id
|
|
|
+ title: "学校简码",//显示在单元格表头的文本
|
|
|
+ width: 100,//当前列的宽度,必须设置
|
|
|
+ align: 'center',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ key: "areaName",
|
|
|
+ dataKey: "areaName",
|
|
|
+ title: "所属学区",
|
|
|
+ width: 120,
|
|
|
+ align: 'center',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ key: "handle",
|
|
|
+ title: "操作",
|
|
|
+ width: 120,
|
|
|
+ align: "center",
|
|
|
+ // fixed: 'right',
|
|
|
+ cellRenderer: (data) =>
|
|
|
+ (
|
|
|
+ <>
|
|
|
+ <el-button type="primary" onClick={correlation.bind(this, data.rowData)} v-show={userVerify.roles.includes('admin') ? true : false} size="small">添加管理学校</el-button>
|
|
|
+ </>
|
|
|
+ ),
|
|
|
+ },
|
|
|
+ ];
|
|
|
onMounted(() => {
|
|
|
//监听表格滚动事件
|
|
|
// let table = mutipleTable.value._value.layout.table.refs.bodyWrapper;
|
|
|
- let table = document.getElementById('schoolManagelist')
|
|
|
- console.log(table, '查看是否获取到')
|
|
|
- table.addEventListener("scroll", (res) => { loadmore(res) }, true);
|
|
|
- console.log(store.state.point, '查看这个时候是否有数据')
|
|
|
+ // let table = document.getElementById('schoolManagelist')
|
|
|
+ // console.log(table, '查看是否获取到')
|
|
|
+ // table.addEventListener("scroll", (res) => { loadmore(res) }, true);
|
|
|
+ // console.log(store.state.point, '查看这个时候是否有数据')
|
|
|
})
|
|
|
- const loadmore = (res) => {
|
|
|
- // console.log(res, res.target.scrollHeight, res.target.scrollTop + res.target.clientHeight, '实际高度')
|
|
|
- if (res.target.scrollTop && ((res.target.scrollHeight - 10) <= (res.target.scrollTop + res.target.clientHeight))) {
|
|
|
- scrollHeight.value = (res.target.scrollHeight - 10) - (res.target.scrollTop + res.target.clientHeight)
|
|
|
- console.log(scrollHeight.value, '值')
|
|
|
- }
|
|
|
- }
|
|
|
function getSchoolList (value) {
|
|
|
- console.log(value, '触发下一页')
|
|
|
- if (nextpageToken.value == null) {
|
|
|
- ElMessage.success('已经到最底了')
|
|
|
- return
|
|
|
- }
|
|
|
loadingData.value.list = true
|
|
|
- let data = value ? { contToken: value } : {}
|
|
|
proxy.$api
|
|
|
- .getSchooldata(data)
|
|
|
+ .getSchool({})
|
|
|
.then((res) => {
|
|
|
- console.log(res, '学校的返回列表')
|
|
|
+ console.log(res, '学校的返回列表V2222V')
|
|
|
// res.state === 200 ? (tableData.value = res.schoolAssists) : ''
|
|
|
if (res.state === 200) {
|
|
|
- for (let i in res.schoolAssists) {
|
|
|
- if (res.schoolAssists[i].scAdmin) {
|
|
|
- res.schoolAssists[i].admin = ''
|
|
|
- let datas = res.schoolAssists[i].scAdmin
|
|
|
+ // for (let i in res.schoolAssists) {
|
|
|
+ // if (res.schoolAssists[i].scAdmin) {
|
|
|
+ // res.schoolAssists[i].admin = ''
|
|
|
+ // let datas = res.schoolAssists[i].scAdmin
|
|
|
+ // for (let y in datas) {
|
|
|
+ // datas.length === 1 ? res.schoolAssists[i].admin = datas[y].tmdName : res.schoolAssists[i].admin = res.schoolAssists[i].admin + datas[y].tmdName + ','
|
|
|
+ // // res.schoolAssists[i].assisName = res.schoolAssists[i].assisName + datas[y].tmdName + ','
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // nextpageToken.value = res.continuationToken
|
|
|
+ // if (!value) {
|
|
|
+ // tableData.value = res.schoolAssists;
|
|
|
+ // original.value = res.schoolAssists;
|
|
|
+ // } else {
|
|
|
+ // tableData.value.push(...res.schoolAssists)
|
|
|
+ // original.value = tableData.value
|
|
|
+ // scrollHeight.value = 'init'
|
|
|
+ // }
|
|
|
+ // //处理学区呈现
|
|
|
+ // console.log(areaList.value.data, '是否有数据')
|
|
|
+ // for (let y in res.schoolAssists) {
|
|
|
+ // let areaValue = res.schoolAssists[y].areaId
|
|
|
+ // console.log(areaValue, '学区的值')
|
|
|
+ // res.schoolAssists[y].areaName = ''
|
|
|
+ // res.schoolAssists[y].institution = ''
|
|
|
+ // for (let i in areaList.value.data) {
|
|
|
+ // areaValue === areaList.value.data[i].value ? (res.schoolAssists[y].areaName = areaList.value.data[i].label, res.schoolAssists[y].institution = areaList.value.data[i].situate) : ''
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+
|
|
|
+ for (let i in res.scInfos) {
|
|
|
+ res.scInfos[i].serviceData = []
|
|
|
+ res.scInfos[i].location = res.scInfos[i].dist !== null ? res.scInfos[i].province + res.scInfos[i].city + res.scInfos[i].dist : res.scInfos[i].province + res.scInfos[i].city
|
|
|
+ if (res.scInfos[i].assists) {
|
|
|
+ res.scInfos[i].assisName = ''
|
|
|
+ let datas = res.scInfos[i].assists
|
|
|
for (let y in datas) {
|
|
|
- datas.length === 1 ? res.schoolAssists[i].admin = datas[y].tmdName : res.schoolAssists[i].admin = res.schoolAssists[i].admin + datas[y].tmdName + ','
|
|
|
- // res.schoolAssists[i].assisName = res.schoolAssists[i].assisName + datas[y].tmdName + ','
|
|
|
+ res.scInfos[i].assisName = res.scInfos[i].assisName + datas[y].name + ','
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- nextpageToken.value = res.continuationToken
|
|
|
- if (!value) {
|
|
|
- tableData.value = res.schoolAssists;
|
|
|
- original.value = res.schoolAssists;
|
|
|
- } else {
|
|
|
- tableData.value.push(...res.schoolAssists)
|
|
|
- original.value = tableData.value
|
|
|
- scrollHeight.value = 'init'
|
|
|
- }
|
|
|
- //处理学区呈现
|
|
|
- console.log(areaList.value.data, '是否有数据')
|
|
|
- for (let y in res.schoolAssists) {
|
|
|
- let areaValue = res.schoolAssists[y].areaId
|
|
|
- console.log(areaValue, '学区的值')
|
|
|
- res.schoolAssists[y].areaName = ''
|
|
|
- res.schoolAssists[y].institution = ''
|
|
|
- for (let i in areaList.value.data) {
|
|
|
- areaValue === areaList.value.data[i].value ? (res.schoolAssists[y].areaName = areaList.value.data[i].label, res.schoolAssists[y].institution = areaList.value.data[i].situate) : ''
|
|
|
- }
|
|
|
- }
|
|
|
+ tableData.value = []; original.value = []
|
|
|
+ tableData.value.push(...res.scInfos),
|
|
|
+ original.value = res.scInfos
|
|
|
processingSchool()
|
|
|
}
|
|
|
})
|
|
@@ -219,8 +299,12 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
function correlation (value, data) {
|
|
|
+ console.log(value, data)
|
|
|
value ? multipleSchool.value.push(value) : ''
|
|
|
multipleCorrelation()
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
// console.log(value, data)
|
|
|
// ElMessageBox.confirm(`请问您确定将 ${nowUsers.value.name} 设为 ${value.name} 管理员吗 ?`, '添加管理学校', {
|
|
|
// confirmButtonText: proxy.$t(`commonMsg.confirm`),
|
|
@@ -256,8 +340,14 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
function checkSchool (value, row) {
|
|
|
- multipleSchool.value = value
|
|
|
- console.log(multipleSchool.value, '111')
|
|
|
+ if (multipleSchool.value.length === 0) {
|
|
|
+ multipleSchool.value.push(value)
|
|
|
+ } else {
|
|
|
+ let nums = multipleSchool.value.findIndex((item) => { return item.id === value.id })
|
|
|
+ nums !== -1 ? multipleSchool.value.splice(nums, 1) : multipleSchool.value.push(value)
|
|
|
+ console.log(nums, 'nums')
|
|
|
+ }
|
|
|
+ console.log(multipleSchool.value, '222')
|
|
|
}
|
|
|
function multipleCorrelation () {
|
|
|
let schoolData = multipleSchool.value
|
|
@@ -289,7 +379,7 @@ export default {
|
|
|
.then((res) => {
|
|
|
console.log(res, '成功的返回')
|
|
|
res.state === 200
|
|
|
- ? ((adminlist.value = adminlist.value.concat(schoolData)), getSchoolList(), processingSchool(), ElMessage.success('操作成功'))
|
|
|
+ ? ((adminlist.value = adminlist.value.concat(schoolData)), getSchoolList(), processingSchool(), multipleSchool.value = [], ElMessage.success('操作成功'))
|
|
|
: res.state === 201
|
|
|
? (ElMessage.success('已关联,请勿重复操作'), getSchoolList())
|
|
|
: ''
|
|
@@ -367,26 +457,35 @@ export default {
|
|
|
timer.value = setTimeout(fn, wait)
|
|
|
}
|
|
|
function personnelSearch () {
|
|
|
+ loadingData.value.list = true
|
|
|
let names = schoolSearch.value
|
|
|
- let reg = new RegExp("[\\u4E00-\\u9FFF]+", "g")
|
|
|
- let data = reg.test(names) ? { name: names } : { scId: names }
|
|
|
- proxy.$api.getSchooldata(data).then((res) => {
|
|
|
- if (res.state === 200) {
|
|
|
- for (let i in res.schoolAssists) {
|
|
|
- if (res.schoolAssists[i].assists) {
|
|
|
- res.schoolAssists[i].assisName = ''
|
|
|
- let datas = res.schoolAssists[i].assists
|
|
|
- for (let y in datas) {
|
|
|
- res.schoolAssists[i].assisName = res.schoolAssists[i].assisName + datas[y].tmdName + ','
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- tableData.value = res.schoolAssists
|
|
|
- processingSchool()
|
|
|
- }
|
|
|
- }).catch((error) => {
|
|
|
- ElMessage.error('搜索学校失败,API异常')
|
|
|
+ // let names = schoolSearch.value
|
|
|
+ // let reg = new RegExp("[\\u4E00-\\u9FFF]+", "g")
|
|
|
+ // let data = reg.test(names) ? { name: names } : { scId: names }
|
|
|
+ // proxy.$api.getSchooldata(data).then((res) => {
|
|
|
+ // if (res.state === 200) {
|
|
|
+ // for (let i in res.schoolAssists) {
|
|
|
+ // if (res.schoolAssists[i].assists) {
|
|
|
+ // res.schoolAssists[i].assisName = ''
|
|
|
+ // let datas = res.schoolAssists[i].assists
|
|
|
+ // for (let y in datas) {
|
|
|
+ // res.schoolAssists[i].assisName = res.schoolAssists[i].assisName + datas[y].tmdName + ','
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // tableData.value = res.schoolAssists
|
|
|
+ // processingSchool()
|
|
|
+ // }
|
|
|
+ // }).catch((error) => {
|
|
|
+ // ElMessage.error('搜索学校失败,API异常')
|
|
|
+ // })
|
|
|
+ let arr = original.value
|
|
|
+ let newArr = arr.filter((item) => {
|
|
|
+ return item.name.includes(names) || item.id.includes(names)
|
|
|
})
|
|
|
+ tableData.value = newArr
|
|
|
+ loadingData.value.list = false
|
|
|
+ processingSchool()
|
|
|
}
|
|
|
//当前管理员 管理的学校
|
|
|
function adminManegeSc (id) {
|
|
@@ -462,12 +561,45 @@ export default {
|
|
|
processingSchool()
|
|
|
}
|
|
|
}
|
|
|
- watch(scrollHeight, (newdata, olddata) => {
|
|
|
- console.log(newdata, olddata, '监听的数据')
|
|
|
- if (newdata < olddata) {
|
|
|
- newdata <= 0 ? getSchoolList(nextpageToken.value) : ''
|
|
|
+ function getAreaschool (value) {
|
|
|
+ console.log(value, 'V')
|
|
|
+ tableData.value = []
|
|
|
+ let filterData = []
|
|
|
+ // let data = value !== 'all' ? { areaId: value } : getSchoolList('', 'restart')
|
|
|
+ if (value !== 'all') {
|
|
|
+ // loadingData.value.list = true
|
|
|
+ // proxy.$api.getForareaSchool(data).then((res) => {
|
|
|
+ // console.log(res, '现在区域拥有的学校')
|
|
|
+ // if (res.state === 200) {
|
|
|
+ // for (let y in res.joinAreaSchools) {
|
|
|
+ // let areaValue = res.joinAreaSchools[y].areaId
|
|
|
+ // res.joinAreaSchools[y].areaName = ''
|
|
|
+ // res.joinAreaSchools[y].institution = ''
|
|
|
+ // res.joinAreaSchools[y].assisName = ''
|
|
|
+ // for (let i in areaList.value.data) {
|
|
|
+ // areaValue === areaList.value.data[i].value ? (res.joinAreaSchools[y].areaName = areaList.value.data[i].label, res.joinAreaSchools[y].institution = areaList.value.data[i].situate) : ''
|
|
|
+ // }
|
|
|
+ // for (let e in res.joinAreaSchools[y].assists) {
|
|
|
+ // res.joinAreaSchools[y].assisName !== '' ? res.joinAreaSchools[y].assisName = res.joinAreaSchools[y].assisName + ',' + res.joinAreaSchools[y].assists[e].tmdName : res.joinAreaSchools[y].assisName = res.joinAreaSchools[y].assists[e].tmdName
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // tableData.value = res.joinAreaSchools
|
|
|
+ // processingSchool()
|
|
|
+ // nextpageToken.value = null
|
|
|
+ // }
|
|
|
+ // loadingData.value.list = false
|
|
|
+ // }).catch((error) => {
|
|
|
+ // ElMessage.error('获取筛选学校列表失败')
|
|
|
+ // loadingData.value.list = false
|
|
|
+ // })
|
|
|
+ original.value.forEach((item) => {
|
|
|
+ item.areaId === value ? filterData.push(item) : ''
|
|
|
+ })
|
|
|
+ tableData.value = filterData
|
|
|
+ } else {
|
|
|
+ tableData.value = original.value
|
|
|
}
|
|
|
- })
|
|
|
+ }
|
|
|
watch(
|
|
|
props,
|
|
|
(newuser) => {
|
|
@@ -481,6 +613,7 @@ export default {
|
|
|
debounce(personnelSearch, 500)
|
|
|
} else {
|
|
|
tableData.value = original.value
|
|
|
+ processingSchool()
|
|
|
}
|
|
|
})
|
|
|
// watch(() => [...store.state.point], (newdata, olddata) => {
|
|
@@ -513,7 +646,10 @@ export default {
|
|
|
removeMultiple,
|
|
|
removeCheck,
|
|
|
primitiveData,
|
|
|
- filterTable
|
|
|
+ filterTable,
|
|
|
+ columns,
|
|
|
+ userVerify,
|
|
|
+ getAreaschool
|
|
|
}
|
|
|
},
|
|
|
}
|
|
@@ -535,7 +671,7 @@ export default {
|
|
|
}
|
|
|
.school-list {
|
|
|
width: 100%;
|
|
|
- margin-top: 7%;
|
|
|
+ margin-top: 5%;
|
|
|
}
|
|
|
.nodata {
|
|
|
width: 100%;
|
|
@@ -585,9 +721,9 @@ export default {
|
|
|
color: #b2bec3;
|
|
|
text-align: left;
|
|
|
}
|
|
|
-.correlationbox-search {
|
|
|
+/* .correlationbox-search {
|
|
|
width: 45%;
|
|
|
-}
|
|
|
+} */
|
|
|
.correlationbox-btn {
|
|
|
width: 30%;
|
|
|
text-align: right;
|
|
@@ -617,11 +753,14 @@ export default {
|
|
|
.correlationbox-num {
|
|
|
color: #409eff;
|
|
|
}
|
|
|
+.correlationbox-search,
|
|
|
+.areaSelect {
|
|
|
+ width: 35%;
|
|
|
+}
|
|
|
</style>
|
|
|
- <style>
|
|
|
+<style>
|
|
|
.school-list-header .el-button--small {
|
|
|
min-height: 25px;
|
|
|
padding: 7px 10px;
|
|
|
}
|
|
|
-</style>
|
|
|
-
|
|
|
+</style>
|