增加必填校验

This commit is contained in:
duxp 2023-08-24 17:39:51 +08:00
parent debdb00470
commit 51e3e16ecf
5 changed files with 448 additions and 348 deletions

View File

@ -315,26 +315,14 @@
width: 50%;
height: 100%;
}
.main_wrap .center_footer_content{
.main_wrap .main_footer_center .center_footer_item .center_footer_content{
width: 100%;
height: 24vh;
overflow: hidden;
position: relative;
}
.main_wrap .footer_content_item{
position: absolute;
top: 0;
left: 0;
animation: scroll 20s linear infinite;
}
.main_wrap .footer_content_item .item_inline{
.main_wrap .main_footer_center .center_footer_item .item_inline{
margin: 0;
box-sizing: border-box;
display: flex;
flex-direction: row;
align-items: center;
}
.main_wrap .footer_content_item .item_inline .inline_content{
font-size: 14px;
color: #ffffff;
}

View File

@ -10,26 +10,26 @@
<div class="form-group">
<label class="col-sm-3 control-label">年度:</label>
<div class="col-sm-8">
<input name="year" class="form-control" type="text">
<input required name="year" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">部门:</label>
<div class="col-sm-8">
<input name="dept" class="form-control" type="text">
<input required name="dept" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">评选人:</label>
<div class="col-sm-8">
<input name="commit" class="form-control" type="text">
<input required name="commit" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">评选时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="time" class="form-control" placeholder="yyyy-MM-dd" type="text">
<input required name="time" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
@ -49,7 +49,7 @@
<div class="form-group">
<label class="col-sm-3 control-label">主要事迹附件上传:</label>
<div class="col-sm-8">
<input name="events" class="form-control" type="text">
<input required name="events" class="form-control" type="text">
</div>
</div>
<div class="form-group">
@ -83,6 +83,7 @@
<script th:inline="javascript">
var prefix = ctx + "base/advanceddept"
$("#form-advanceddept-add").validate({
onkeyup: false,
focusCleanup: true
});

View File

@ -10,13 +10,13 @@
<div class="form-group">
<label class="col-sm-3 control-label">年度:</label>
<div class="col-sm-8">
<input name="year" class="form-control" type="text">
<input required name="year" class="form-control" type="text">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">姓名:</label>
<div class="col-sm-8">
<input name="name" class="form-control" type="text">
<input required name="name" class="form-control" type="text">
</div>
</div>
<div class="form-group">
@ -49,7 +49,7 @@
<div class="form-group">
<label class="col-sm-3 control-label">主要事迹附件上传:</label>
<div class="col-sm-8">
<input name="events" class="form-control" type="text">
<input required name="events" class="form-control" type="text">
</div>
</div>
<div class="form-group">
@ -65,6 +65,7 @@
<script th:inline="javascript">
var prefix = ctx + "base/advancedparty"
$("#form-advancedparty-add").validate({
onkeyup: false,
focusCleanup: true
});

View File

@ -16,7 +16,7 @@
<div class="form-group">
<label class="col-sm-3 control-label">类型:</label>
<div class="col-sm-8">
<select name="type" id="type-selector" class="form-control m-b">
<select required name="type" id="type-selector" class="form-control m-b">
<option value="">请选择</option>
<option value="党务及意识形态">党务及意识形态</option>
<option value="党风廉政建设">党风廉政建设</option>
@ -28,31 +28,31 @@
<div class="form-group">
<label class="col-sm-3 control-label" id="target">目标项:</label>
<div class="col-sm-8">
<textarea name="target" class="form-control"></textarea>
<textarea required name="target" class="form-control"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" id="demand">目标要求:</label>
<div class="col-sm-8">
<textarea name="demand" class="form-control"></textarea>
<textarea required name="demand" class="form-control"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" id="detailed">评分细则:</label>
<div class="col-sm-8">
<textarea name="detailed" class="form-control"></textarea>
<textarea required name="detailed" class="form-control"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" id="score">达标分:</label>
<div class="col-sm-8">
<input name="score" class="form-control" />
<input required name="score" class="form-control" />
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" id="method">考核方式:</label>
<div class="col-sm-8">
<textarea name="method" class="form-control"></textarea>
<textarea required name="method" class="form-control"></textarea>
</div>
</div>
<div class="form-group">
@ -107,6 +107,7 @@
<script th:inline="javascript">
var prefix = ctx + "base/affairs"
$("#form-affairs-add").validate({
onkeyup: false,
focusCleanup: true
});

View File

@ -44,24 +44,24 @@
<div class="main_center">
<div class="main_center_item">
<div class="data1">
<span>部门年度考核完成情况</span>
<p>日常考核总分:100分</p>
<p>当前分数76</p>
<span>年度考核完成情况</span>
<p class="all_num">日常考核总分0分</p>
<p class="curr_num">当前分数0</p>
</div>
<div class="data2">
<span>党风廉政建设</span>
<p>日常考核总分:100分</p>
<p>当前分数86</p>
<p class="all_num">日常考核总分0分</p>
<p class="curr_num">当前分数0</p>
</div>
<div class="data3">
<span>党务及意识形态</span>
<p>日常考核总分:100分</p>
<p>当前分数79</p>
<p class="all_num">日常考核总分0分</p>
<p class="curr_num">当前分数0</p>
</div>
<div class="data4">
<span>部门日常考核完成情况</span>
<p>日常考核总分:100分</p>
<p>当前分数:80分</p>
<span>日常考核完成情况</span>
<p class="all_num">日常考核总分0分</p>
<p class="curr_num">当前分数0分</p>
</div>
<canvas class="rain"></canvas>
<canvas class="dashed"></canvas>
@ -74,20 +74,20 @@
<div class="cicle6"></div>
<div class="cicle7"></div>
<div class="cicle8">
<span>89%</span>
<p>部门年度考核完成情况</p>
<span class="circle_num">0%</span>
<p>年度考核完成情况</p>
</div>
<div class="cicle9">
<span>89%</span>
<span class="circle_num">0%</span>
<p>党风廉政建设</p>
</div>
<div class="cicle10">
<span>89%</span>
<span class="circle_num">0%</span>
<p>党务及意识形态</p>
</div>
<div class="cicle11">
<span>89%</span>
<p>部门日常考核完成情况</p>
<span class="circle_num">0%</span>
<p>日常考核完成情况</p>
</div>
</div>
<div class="main_footer">
@ -97,8 +97,7 @@
<span></span>
<span>先进成员</span>
</div>
<div class="center_footer_content">
<div class="footer_content_item" id="center_footer_one"></div>
<div class="center_footer_content" id="center_footer_one">
</div>
</div>
<div class="center_footer_item">
@ -106,51 +105,7 @@
<span></span>
<span>先进部门</span>
</div>
<div class="center_footer_content">
<div class="footer_content_item" id="center_footer_two">
<div class="item_inline" style="align-items: flex-start">
<div style="font-size: 14px;color: #ffffff;width: 120px;">综合部</div>
<div class="inline_content" style="margin-left: 10px">
<p>日常考核分100分</p>
<p>年度考核分95分</p>
</div>
</div>
<div class="item_inline" style="align-items: flex-start">
<div style="font-size: 14px;color: #ffffff;width: 120px;">财务部</div>
<div class="inline_content" style="margin-left: 10px">
<p>日常考核分100分</p>
<p>年度考核分95分</p>
</div>
</div>
<div class="item_inline" style="align-items: flex-start">
<div style="font-size: 14px;color: #ffffff;width: 120px;">交易管理部</div>
<div class="inline_content" style="margin-left: 10px">
<p>日常考核分100分</p>
<p>年度考核分95分</p>
</div>
</div>
<div class="item_inline" style="align-items: flex-start">
<div style="font-size: 14px;color: #ffffff;width: 120px;">综合部</div>
<div class="inline_content" style="margin-left: 10px">
<p>日常考核分100分</p>
<p>年度考核分95分</p>
</div>
</div>
<div class="item_inline" style="align-items: flex-start">
<div style="font-size: 14px;color: #ffffff;width: 120px;">财务部</div>
<div class="inline_content" style="margin-left: 10px">
<p>日常考核分100分</p>
<p>年度考核分95分</p>
</div>
</div>
<div class="item_inline" style="align-items: flex-start">
<div style="font-size: 14px;color: #ffffff;width: 120px;">交易管理部</div>
<div class="inline_content" style="margin-left: 10px">
<p>日常考核分100分</p>
<p>年度考核分95分</p>
</div>
</div>
</div>
<div class="center_footer_content" id="center_footer_two">
</div>
</div>
</div>
@ -184,6 +139,9 @@
<script th:src="@{/js/echarts.min.js}"></script>
<!--<script th:src="@{/js/index.js}"></script>-->
<script type="text/javascript">
let _peopleData = [];
let _deptData = [];
//echarts初始化
loadEchartsOne();
loadEchartsTwo();
@ -191,297 +149,351 @@
loadEchartsFour();
loadEchartsFive();
loadCenterFn();
loadCenterData();
loadPeopleData();
loadDepData();
//先进成员假数据
let _strHtml = '';
for(let i=0;i<6;i++){
_strHtml += '<div class="item_inline">' +
'<img src="../img/userAdmin.png" width="100" />' +
'<div class="inline_content">' +
'<p>先进党员xxx</p>' +
'<p>先进事迹xxxxxxxxxxx</p>' +
'</div>' +
'</div>';
//先进成员滚动
if(_peopleData.length > 5){
setInterval(function () {
setTimeout(autoScroll("#center_footer_one"),0)
},1000)
}
$('#center_footer_one').append(_strHtml);
//先进部门滚动
if(_deptData.length > 5){
setInterval(function () {
setTimeout(autoScroll("#center_footer_two"),0)
},1000)
}
//加载左上角echarts
function loadEchartsOne() {
let chart = echarts.init(document.getElementById('top_left_echarts'));
let dataAxis = ['机关党建', '政治建设', '思想建设', '组织建设', '作风建设', '其他'];
let data = [220, 182, 191, 234, 290, 330];
let option = {
tooltip: {
trigger: 'axis',
formatter: '{b}:{c}分'
},
grid: {
top: "15%",
left: '5%',
right: '5%',
bottom: '5%',
containLabel: true
},
xAxis: {
data: dataAxis,
axisLabel: {
interval: 0,
color: '#FFFFFF'
}
},
yAxis: {
type: 'value',
name: '',
},
series: [
{
type: 'bar',
showBackground: true,
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{offset: 0, color: '#0096FF'},
{offset: 1, color: '#66F4FF'}
])
$.ajax({
url:'/base/index/dwysxt',
type:'post',
dataType:'json',
success(res){
let _data = res.data;
let _xData = [],_sData = [];
_data.forEach(item => {
_xData.push(item.shot_name);
_sData.push(item.nowScore)
})
let chart = echarts.init(document.getElementById('top_left_echarts'));
let option = {
tooltip: {
trigger: 'axis',
formatter: '{b}:{c}分'
},
data: data,
label: {
show: true,
position: 'top',
color: '#FFFFFF',
formatter: '{c}分'
grid: {
top: "15%",
left: '5%',
right: '5%',
bottom: '5%',
containLabel: true
},
}
]
};
// 使用刚指定的配置项和数据显示图表。
chart.setOption(option);
xAxis: {
data: _xData,
axisLabel: {
interval: 0,
color: '#FFFFFF'
}
},
yAxis: {
type: 'value',
name: '',
},
series: [
{
type: 'bar',
showBackground: true,
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{offset: 0, color: '#0096FF'},
{offset: 1, color: '#66F4FF'}
])
},
data: _sData,
label: {
show: true,
position: 'top',
color: '#FFFFFF',
formatter: '{c}分'
},
}
]
};
// 使用刚指定的配置项和数据显示图表。
chart.setOption(option);
}
})
};
//加载左边中间的echarts
function loadEchartsTwo() {
let chart = echarts.init(document.getElementById('center_left_echarts'));
let option = {
tooltip: {
trigger: 'item'
},
legend: {
orient: 'vertical',
top: 'center',
left: '0',
textStyle: {
color: "#ffffff"
},
type: 'scroll',
},
series: [
{
name: '',
type: 'pie',
radius: ['40%', '60%'],
center: ['70%', '50%'],
right: 20,
avoidLabelOverlap: false,
label: {
show: true,
formatter: '{c}分',
color: '#FFFFFF'
$.ajax({
url:'/base/index/dflzjs',
type:'post',
dataType:'json',
success(res){
let _data = res.data;
let _sData = [];
_data.forEach(item => {
_sData.push({
value:item.noScore,name:item.shot_name
})
})
let chart = echarts.init(document.getElementById('center_left_echarts'));
let option = {
tooltip: {
trigger: 'item'
},
data: [
{value: 263, name: '党委主体责任'},
{value: 735, name: '政治监督'},
{value: 580, name: '纠治"四风"'},
{value: 484, name: '疫情防控'},
{value: 300, name: '整治腐败作风'},
{value: 150, name: '优化营商环境'},
{value: 54, name: '政治巡查'},
{value: 45, name: '体制机制建设'},
{value: 189, name: '奖惩项'}
legend: {
orient: 'vertical',
top: 'center',
left: '0',
textStyle: {
color: "#ffffff"
},
type: 'scroll',
},
series: [
{
name: '',
type: 'pie',
radius: ['40%', '60%'],
center: ['70%', '50%'],
right: 20,
avoidLabelOverlap: false,
label: {
show: true,
formatter: '{c}分',
color: '#FFFFFF'
},
data: _sData
}
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
chart.setOption(option);
};
// 使用刚指定的配置项和数据显示图表。
chart.setOption(option);
}
})
};
//加载左下角的echarts
function loadEchartsThree() {
let chart = echarts.init(document.getElementById('bottom_left_echarts'));
let option = {
color:['#02abe0','#05f3b4'],
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
crossStyle: {
color: '#999'
$.ajax({
url:'/base/index/bmwcqk',
type:'post',
dataType:'json',
success(res){
let _data = res.data;
let xData = [],sData1 = [],sData2 = [];
_data.forEach(item => {
xData.push(item.dept_name);
if(item.type === '日常考核指标'){
sData1.push(item.nowScore)
}else{
sData2.push(item.nowScore)
}
}
},
legend: {
data: ['日常考核', '年度考核'],
textStyle: {
color: "#ffffff"
},
},
grid: {
top: "15%",
left: '5%',
right: '5%',
bottom: '5%',
containLabel: true
},
xAxis: [
{
type: 'category',
data: ['综合部', '财务部', '交易管理部', '运行保障部', '建设工程交易部', '政府采购产权交易部'],
axisLabel:{
interval:0,
rotate:15,
color:'#FFFFFF'
},
axisPointer: {
type: 'shadow'
}
}
],
yAxis: {
type: 'value',
name: '',
},
series: [
{
name: '日常考核',
type: 'bar',
})
xData = unitArr(xData);
let chart = echarts.init(document.getElementById('bottom_left_echarts'));
let option = {
color:['#02abe0','#05f3b4'],
tooltip: {
valueFormatter: function (value) {
return value + ' 分';
trigger: 'axis',
axisPointer: {
type: 'cross',
crossStyle: {
color: '#999'
}
}
},
data: [
20, 49, 70, 232, 256, 767, 135, 162, 326, 200, 64
]
},
{
name: '年度考核',
type: 'bar',
tooltip: {
valueFormatter: function (value) {
return value + ' 分';
}
legend: {
data: ['日常考核指标', '年度考核指标'],
textStyle: {
color: "#ffffff"
},
},
data: [
26, 59, 90, 264, 287, 707, 176, 182, 487, 188, 60
grid: {
top: "15%",
left: '5%',
right: '5%',
bottom: '5%',
containLabel: true
},
xAxis: [
{
type: 'category',
data: xData,
axisLabel:{
interval:0,
rotate:15,
color:'#FFFFFF'
},
axisPointer: {
type: 'shadow'
}
}
],
yAxis: {
type: 'value',
name: '',
},
series: [
{
name: '日常考核指标',
type: 'bar',
tooltip: {
valueFormatter: function (value) {
return value + ' 分';
}
},
data: sData1
},
{
name: '年度考核指标',
type: 'bar',
tooltip: {
valueFormatter: function (value) {
return value + ' 分';
}
},
data: sData2
},
]
},
]
};
// 使用刚指定的配置项和数据显示图表。
chart.setOption(option);
};
// 使用刚指定的配置项和数据显示图表。
chart.setOption(option);
}
})
};
//加载右上角的echarts
function loadEchartsFour(){
let chart = echarts.init(document.getElementById('top_right_echarts'));
let option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
grid: {
top: "0%",
left: '0%',
right: '10%',
bottom: '5%',
containLabel: true
},
xAxis: {
show:false
},
yAxis: {
type: 'category',
data: [
'政治宣传', '提升创建', '行动监督', '法治建设', '开评标管理', '专家管理','中介机构',
'其他主体','信息化建设','财务管理','市旗一体化','营商环境','政府采购','产权交易'
],
axisLabel:{
color:'#FFFFFF'
},
},
series: [
{
name: '',
type: 'bar',
data: [18203, 23489, 29034, 104970, 131744, 630230,18203, 23489, 29034, 104970, 131744, 630230,131744, 630230],
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{offset: 0, color: '#0096FF'},
{offset: 1, color: '#66F4FF'}
])
$.ajax({
url:'/base/index/rckhzb',
type:'post',
dataType:'json',
success(res){
let _data = res.data;
let _xData = [],_sData = [];
_data.forEach(item => {
_xData.push(item.shot_name);
_sData.push(item.nowScore)
})
let chart = echarts.init(document.getElementById('top_right_echarts'));
let option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
label: {
show: true,
formatter: '{c}分',
color: '#FFFFFF',
position: 'right',
valueAnimation: true
grid: {
top: "0%",
left: '0%',
right: '10%',
bottom: '5%',
containLabel: true
},
}
]
};
// 使用刚指定的配置项和数据显示图表。
chart.setOption(option);
xAxis: {
show:false
},
yAxis: {
type: 'category',
data: _xData,
axisLabel:{
color:'#FFFFFF'
},
},
series: [
{
name: '',
type: 'bar',
data: _sData,
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{offset: 0, color: '#0096FF'},
{offset: 1, color: '#66F4FF'}
])
},
label: {
show: true,
formatter: '{c}分',
color: '#FFFFFF',
position: 'right',
valueAnimation: true
},
}
]
};
// 使用刚指定的配置项和数据显示图表。
chart.setOption(option);
}
})
};
//加载右下角的echarts
function loadEchartsFive(){
let chart = echarts.init(document.getElementById('bottom_right_echarts'));
let option = {
tooltip: {
trigger: 'item',
},
legend: {
data: [''],
},
radar: {
radius: '60%',
indicator: [
{ name: '机关建设', max: 1000 },
{ name: '提升创建', max: 1000 },
{ name: '行政监督', max: 1000 },
{ name: '法治建设', max: 1000 },
{ name: '投诉举报', max: 1000 },
{ name: '信息建设', max: 1000 },
{ name: '业务管理', max: 1000 },
{ name: '财务管理', max: 1000 },
{ name: '营商环境', max: 1000 },
{ name: '业务规范', max: 1000 },
{ name: '开评标执行', max: 1000 },
{ name: '产权交易', max: 1000 },
],
shape: 'circle',
},
series: [
{
name: '',
type: 'radar',
data: [
{
value: [420, 300, 200, 350, 500, 180,420, 300, 200, 350, 500, 180],
name: '年度考核指标'
},
],
symbol: 'none',
itemStyle: {
color: '#F9713C'
$.ajax({
url:'/base/index/ndkhbz',
type:'post',
dataType:'json',
success(res){
let _data = res.data;
let _rData = [],_sData = [];
let _maxArr = [];
_data.forEach(item => {
_maxArr.push(item.score)
});
_maxArr.sort((a,b) => {
return a-b;
})
_data.forEach(item => {
_rData.push({
max:_maxArr[_maxArr.length-1],name:item.shot_name
});
_sData.push(item.nowScore)
})
let chart = echarts.init(document.getElementById('bottom_right_echarts'));
let option = {
tooltip: {
trigger: 'item',
},
}
]
};
// 使用刚指定的配置项和数据显示图表。
chart.setOption(option);
legend: {
data: [''],
},
radar: {
radius: '60%',
indicator: _rData,
shape: 'circle',
},
series: [
{
name: '',
type: 'radar',
data: [
{
value: _sData,
name: '年度考核指标'
},
],
symbol: 'none',
itemStyle: {
color: '#F9713C'
},
}
]
};
// 使用刚指定的配置项和数据显示图表。
chart.setOption(option);
}
})
}
// 中间虚线
@ -596,6 +608,103 @@
ctx.arc(w / 5 * 3.8, h / 2*1.2, 5, 0, Math.PI * 2)
ctx.fill()
}
//加载中间数据
function loadCenterData(){
$.ajax({
url:'/base/index/groupAll',
type:'post',
dataType:'json',
success(res){
let _data = res.data;
_data.forEach(item => {
switch (item.type) {
case "年度考核指标":
$(".data1").find('.all_num').text("日常考核总分:"+item.score+"分");
$(".data1").find('.curr_num').text("当前分数:"+item.nowScore+"分");
$(".cicle8").find('.circle_num').text(item.percent+"%");
break;
case "党风廉政建设":
$(".data2").find('.all_num').text("日常考核总分:"+item.score+"分");
$(".data2").find('.curr_num').text("当前分数:"+item.nowScore+"分");
$(".cicle9").find('.circle_num').text(item.percent+"%");
break;
case "党建及意识形态":
$(".data3").find('.all_num').text("日常考核总分:"+item.score+"分");
$(".data3").find('.curr_num').text("当前分数:"+item.nowScore+"分");
$(".cicle10").find('.circle_num').text(item.percent+"%");
break;
case "日常考核指标":
$(".data4").find('.all_num').text("日常考核总分:"+item.score+"分");
$(".data4").find('.curr_num').text("当前分数:"+item.nowScore+"分");
$(".cicle11").find('.circle_num').text(item.percent+"%");
break;
}
})
}
})
}
//加载先进成员数据
function loadPeopleData(){
_peopleData = [];
$.ajax({
url:'/base/index/advanceParity',
type:'post',
dataType:'json',
success(res){
let _data = res.data;
let _strHtml = "";
_peopleData = res.data;
_data.forEach(item => {
_strHtml += '<div class="item_inline">' +
'<p>先进党员:'+item.name+'</p>' +
'<p>先进事迹:'+item.events+'</p>' +
'</div>';
});
$('#center_footer_one').append(_strHtml);
}
})
}
//加载部门数据
function loadDepData(){
_deptData = [];
$.ajax({
url:'/base/index/advanceDept',
type:'post',
dataType:'json',
success(res){
let _data = res.data;
let _strHtml = "";
_deptData = res.data;
_data.forEach(item => {
_strHtml += '<div class="item_inline" style="align-items: flex-start">' +
'<div style="font-size: 14px;color: #ffffff;width: 120px;">'+item.dept+'</div>' +
'<div class="inline_content" style="margin-left: 10px">' +
'<p>日常考核分100分</p>' +
'<p>年度考核分95分</p>' +
'</div>' +
'</div>';
});
$('#center_footer_two').append(_strHtml);
}
})
}
//文字上下滚动
function autoScroll(obj){
$(obj).find(".item_inline:first").animate({
marginTop:'-50px'
},500,function () {
$(this).css({marginTop: '0'}).find(".item_inline:first").appendTo(this);
})
}
//去重
function unitArr(arr){
return [...new Set(arr)]
}
</script>
</body>
</html>