Merge branch 'master' of http://124.222.8.13:3000/revisit/DSDSWeb
This commit is contained in:
commit
d2579e839c
|
|
@ -27,7 +27,7 @@ export function getDataSearch(query) {
|
|||
})
|
||||
}
|
||||
|
||||
// 获取航次名称列表
|
||||
// 获取航次编号列表
|
||||
export function voyageNameList(query) {
|
||||
return request({
|
||||
url: '/voyage/reg/page.htm',
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<div class="shuju_con">
|
||||
<div v-show="show == false" class="left">
|
||||
<div class="tags">
|
||||
<span class="tag" v-if="menu1">航次名称:{{ menu1 }} <i class="el-icon-close" @click="menu1 = ''"></i></span>
|
||||
<span class="tag" v-if="menu1">航次编号:{{ menu1 }} <i class="el-icon-close" @click="menu1 = ''"></i></span>
|
||||
<span class="tag" v-if="menu2">平台类型:{{ menu2 }} <i class="el-icon-close" @click="menu2 = ''"></i></span>
|
||||
<span class="tag" v-if="menu3">设备类型:{{ menu3 }} <i class="el-icon-close" @click="menu3 = ''"></i></span>
|
||||
<span class="tag" v-if="menu4">数据样品类型:{{ menu4 }} <i class="el-icon-close" @click="menu4 = ''"></i></span>
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
</el-radio-group>
|
||||
</div>
|
||||
<div class="left4-sample-wrap" v-if="radio == '数据样品集'">
|
||||
<p class="rule-text">编号规则:航次号_潜次号_设备类型_数据样品类型</p>
|
||||
<p class="rule-text">编号规则:航次编号_平台类型_设备类型_数据样品类型</p>
|
||||
<div class="left4">
|
||||
<div v-for="(item, index) in dataList" :key="index" :id="item.tsy_id" class="left4_1" >
|
||||
<div class="left4_top">
|
||||
|
|
@ -144,13 +144,13 @@
|
|||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 航次名称弹窗-->
|
||||
<el-dialog title="请选择航次名称" :visible.sync="dialog1" width="1000px">
|
||||
<!-- 航次编号弹窗-->
|
||||
<el-dialog title="请选择航次编号" :visible.sync="dialog1" width="1000px">
|
||||
<el-table ref="tableData1" border highlight-current-row @current-change="handleCurrentChange1" max-height="480"
|
||||
:data="tableData1" :header-cell-style="{ background: '#dddfe6', color: '#555960', textAlign: 'center' }"
|
||||
:cell-style="{ textAlign: 'center' }">
|
||||
<el-table-column type="index" label="#" width="50" />
|
||||
<el-table-column prop="name" label="航次名称" />
|
||||
<el-table-column prop="name" label="航次编号" />
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
<!-- 平台类型弹窗-->
|
||||
|
|
@ -248,7 +248,7 @@ export default {
|
|||
filter: null,
|
||||
searchType: [
|
||||
{
|
||||
label: '航次名称',
|
||||
label: '航次编号',
|
||||
disabled: false
|
||||
},
|
||||
{
|
||||
|
|
@ -273,7 +273,7 @@ export default {
|
|||
disabled: false
|
||||
},
|
||||
],
|
||||
searchTypeValue: '航次名称',
|
||||
searchTypeValue: '航次编号',
|
||||
radio: '航次',
|
||||
dialog1: false,
|
||||
tableData1: [],
|
||||
|
|
@ -320,7 +320,7 @@ export default {
|
|||
this.dataList = []
|
||||
},
|
||||
searchTypeValue(val) {
|
||||
if (val == '航次名称' || val == '平台类型' || val == '设备类型' || val == '数据样品类型') {
|
||||
if (val == '航次编号' || val == '平台类型' || val == '设备类型' || val == '数据样品类型') {
|
||||
this.menuShow = true
|
||||
} else {
|
||||
this.menuShow = false
|
||||
|
|
@ -380,7 +380,7 @@ export default {
|
|||
equipment_type: this.menu3,
|
||||
data_type: this.menu4
|
||||
}).then(res => {
|
||||
if (this.searchTypeValue === '航次名称') {
|
||||
if (this.searchTypeValue === '航次编号') {
|
||||
this.dialog1 = true
|
||||
this.tableData1 = res.page.records
|
||||
} else if (this.searchTypeValue === '平台类型') {
|
||||
|
|
@ -758,7 +758,12 @@ export default {
|
|||
|
||||
> .rule-text {
|
||||
flex-shrink: 0;
|
||||
margin-top: 12px;
|
||||
margin-bottom: 10px;
|
||||
font-size: 14px;
|
||||
color: #999;
|
||||
white-space: nowrap;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
> .left4 {
|
||||
|
|
@ -997,8 +1002,4 @@ export default {
|
|||
background: none !important;
|
||||
}
|
||||
|
||||
.rule-text {
|
||||
font-size: 16px;
|
||||
color: #212121;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="航次名称" prop="voyage_id">
|
||||
<el-form-item label="航次编号" prop="voyage_id">
|
||||
<el-select v-model="form.voyage_id" filterable placeholder="" style="width: 100%;" @change="changeVoyage" :disabled="disabled">
|
||||
<el-option v-for="item in voyageOptions" :key="item.tsy_id" :label="item.voyage_name" :value="item.tsy_id"/>
|
||||
</el-select>
|
||||
|
|
@ -304,7 +304,7 @@ export default {
|
|||
return {
|
||||
// 表单禁用
|
||||
disabled: false,
|
||||
// 航次名称下拉数据
|
||||
// 航次编号下拉数据
|
||||
voyageOptions: [],
|
||||
// 平台类型下拉数据
|
||||
platformDicts: [],
|
||||
|
|
@ -411,7 +411,7 @@ export default {
|
|||
this.getVoyageList()
|
||||
},
|
||||
methods: {
|
||||
// 获取航次名称列表
|
||||
// 获取航次编号列表
|
||||
getVoyageList() {
|
||||
voyageRegList().then(res => {
|
||||
this.voyageOptions = res.page.records
|
||||
|
|
@ -453,7 +453,7 @@ export default {
|
|||
this.mainMemberOptions = mainArr
|
||||
})
|
||||
},
|
||||
// 选择航次名称
|
||||
// 选择航次编号
|
||||
changeVoyage(val) {
|
||||
this.getMemberList(val)
|
||||
this.showPlatform = val ? true : false
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
</div>
|
||||
<el-table ref="tableData" v-loading="loading" stripe border :data="tableData" :header-cell-style="{ background: '#dddfe6',color: '#555960',textAlign: 'center' }" :cell-style="{ textAlign: 'center' }">
|
||||
<el-table-column type="index" label="#" width="50"/>
|
||||
<el-table-column prop="voyage_name" label="航次名称" />
|
||||
<el-table-column prop="voyage_name" label="航次编号" />
|
||||
<el-table-column prop="ship_name" label="科考船舶" />
|
||||
<el-table-column prop="voyage_start_date" label="航次开始">
|
||||
<template slot-scope="scope">
|
||||
|
|
@ -82,7 +82,7 @@
|
|||
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="航次名称" prop="voyage_name">
|
||||
<el-form-item label="航次编号" prop="voyage_name">
|
||||
<el-input v-model="form.voyage_name" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
|
|||
|
|
@ -287,7 +287,7 @@ export default {
|
|||
}
|
||||
},
|
||||
voyageList: [], // 航次列表数据
|
||||
currentVoyage: null, // 当前选中的航次名称
|
||||
currentVoyage: null, // 当前选中的航次编号
|
||||
highlightLayer: null, // 存储当前高亮图层实例
|
||||
dataUpdateList: [],
|
||||
sampleDataUpdateList: [],
|
||||
|
|
@ -368,7 +368,7 @@ export default {
|
|||
|
||||
// 处理表格选择项变化
|
||||
handleSelectionChange(val) {
|
||||
// 获取新旧选中的航次名称数组
|
||||
// 获取新旧选中的航次编号数组
|
||||
const newVoyages = val.map(item => item.voyage_name);
|
||||
const oldVoyages = this.multipleSelection.map(item => item.voyage_name);
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
<el-form ref="formPlat" :inline="true" class="filter-box" :rules="rules" label-width="120px" :model="addFrom">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="航次名称:" prop="voyageName">
|
||||
<el-form-item label="航次编号:" prop="voyageName">
|
||||
<el-select v-model="addFrom.voyageName" placeholder="" size="medium" :disabled="platFlag" @change="getAllOrg">
|
||||
<el-option
|
||||
v-for="item in voyageList"
|
||||
|
|
@ -850,7 +850,7 @@ export default {
|
|||
voyageList: [],
|
||||
rules: {
|
||||
voyageName: [
|
||||
{ required: true, message: '请输入航次名称', trigger: 'blur' }
|
||||
{ required: true, message: '请输入航次编号', trigger: 'blur' }
|
||||
],
|
||||
platformName: [
|
||||
{ required: true, message: '请输入平台名称', trigger: 'blur' }
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@
|
|||
width="55"
|
||||
/>
|
||||
<el-table-column prop="sampleNumber" label="数据样品编号" />
|
||||
<el-table-column prop="voyageName" label="航次名称" />
|
||||
<el-table-column prop="voyageName" label="航次编号" />
|
||||
<el-table-column prop="platformType" label="平台类型" />
|
||||
<!-- <el-table-column prop="status" label="计划状态" /> -->
|
||||
<el-table-column prop="submariner" label="潜次号" />
|
||||
|
|
|
|||
|
|
@ -292,10 +292,11 @@ export default {
|
|||
background-color: #ebf1f7;
|
||||
|
||||
.banner {
|
||||
background-color: #012458;
|
||||
background-image: url(../../../static/images/bannerny1.jpg);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 100% 100%;
|
||||
background-size: contain;
|
||||
width: 100%;
|
||||
height: 480px;
|
||||
display: flex;
|
||||
|
|
|
|||
|
|
@ -292,10 +292,11 @@ export default {
|
|||
background-color: #ebf1f7;
|
||||
|
||||
.banner {
|
||||
background-color: #012458;
|
||||
background-image: url(../../../static/images/bannerny1.jpg);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 100% 100%;
|
||||
background-size: contain;
|
||||
width: 100%;
|
||||
height: 480px;
|
||||
display: flex;
|
||||
|
|
|
|||
|
|
@ -291,10 +291,11 @@ export default {
|
|||
background-color: #ebf1f7;
|
||||
|
||||
.banner {
|
||||
background-color: #012458;
|
||||
background-image: url(../../../static/images/bannerny1.jpg);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 100% 100%;
|
||||
background-size: contain;
|
||||
width: 100%;
|
||||
height: 480px;
|
||||
display: flex;
|
||||
|
|
|
|||
|
|
@ -70,14 +70,13 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import Vue from 'vue'
|
||||
import BarChart from './components/BarChart.vue'
|
||||
import PieChart from './components/PieChart.vue'
|
||||
import { reportList, shipTotal, shipUnit, shipUnitYear, shipVoyage } from '../../api/statistics'
|
||||
import { getYearRange, filterDictItems } from '../../utils/index'
|
||||
import { initMapbox, handleWheel, initSprites, triggerLayerClick } from "@/utils/mapbox-utils";
|
||||
import { loadVectorLayer, loadJsonLineFeature, loadJsonPointFeature, highlightFeaturesByProperty } from '@/utils/vector-layer-utils'
|
||||
import { ColorGenerator } from '@/utils/color-generator';
|
||||
import { initMapbox } from '@/utils/mapbox-utils'
|
||||
import { loadVectorLayer, loadJsonPointFeature } from '@/utils/vector-layer-utils'
|
||||
import { ColorGenerator } from '@/utils/color-generator'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
|
|
@ -134,20 +133,20 @@ export default {
|
|||
this.getChartBar({ year: '2025' })
|
||||
},
|
||||
mounted() {
|
||||
initMapbox("workUnitMap_ship", {
|
||||
tileKey: "gaode",
|
||||
initMapbox('workUnitMap_ship', {
|
||||
tileKey: 'gaode',
|
||||
zoom: 3,
|
||||
center: [110, 31],
|
||||
minZoom: 2,
|
||||
maxZoom: 29
|
||||
});
|
||||
initMapbox("voyageMap_ship", {
|
||||
tileKey: "GEBCO_basemap_NCEI",
|
||||
})
|
||||
initMapbox('voyageMap_ship', {
|
||||
tileKey: 'GEBCO_basemap_NCEI',
|
||||
zoom: 3,
|
||||
center: [113, 15],
|
||||
minZoom: 2,
|
||||
maxZoom: 29
|
||||
});
|
||||
})
|
||||
},
|
||||
beforeDestroy() {
|
||||
const unitMap = Vue.config.maps && Vue.config.maps['workUnitMap_ship']
|
||||
|
|
@ -198,15 +197,15 @@ export default {
|
|||
// 参航单位统计
|
||||
getShipUnit() {
|
||||
shipUnit().then(res => {
|
||||
let geojson = {
|
||||
type: "FeatureCollection",
|
||||
const geojson = {
|
||||
type: 'FeatureCollection',
|
||||
features: []
|
||||
};
|
||||
}
|
||||
res.array.forEach(element => {
|
||||
geojson.features.push({
|
||||
type: "Feature",
|
||||
type: 'Feature',
|
||||
geometry: {
|
||||
type: "Point",
|
||||
type: 'Point',
|
||||
coordinates: [element.unit_lon, element.unit_lat]
|
||||
},
|
||||
properties: {
|
||||
|
|
@ -215,9 +214,9 @@ export default {
|
|||
create_time: element.create_time,
|
||||
tsy_id: element.tsy_id
|
||||
}
|
||||
});
|
||||
});
|
||||
loadJsonPointFeature("workUnit", "blue", geojson, "unit_name", "workUnitMap_ship");
|
||||
})
|
||||
})
|
||||
loadJsonPointFeature('workUnit', 'blue', geojson, 'unit_name', 'workUnitMap_ship')
|
||||
|
||||
const typeCount = res.array.reduce((acc, unit) => {
|
||||
const type = unit.unit_type
|
||||
|
|
@ -234,13 +233,13 @@ export default {
|
|||
// 航次统计
|
||||
gitShipVoyage(params = {}) {
|
||||
shipVoyage(params).then(res => {
|
||||
let i = 0;
|
||||
const colors = ColorGenerator.generateDivergingColors(res.array.length);
|
||||
let i = 0
|
||||
const colors = ColorGenerator.generateDivergingColors(res.array.length)
|
||||
// 添加轨迹图层
|
||||
res.array.forEach(item => {
|
||||
// 加载轨迹图层
|
||||
loadVectorLayer(item.voyage_name, ["line", "symbol"], [colors[i], "#FFFFFF"], "visible", "voyageMap_ship", "dsds");
|
||||
i++;
|
||||
loadVectorLayer(item.voyage_name, ['line', 'symbol'], [colors[i], '#FFFFFF'], 'visible', 'voyageMap_ship', 'dsds')
|
||||
i++
|
||||
})
|
||||
})
|
||||
},
|
||||
|
|
@ -315,10 +314,11 @@ export default {
|
|||
background-color: #ebf1f7;
|
||||
|
||||
.banner {
|
||||
background-color: #012458;
|
||||
background-image: url(../../../static/images/bannerny1.jpg);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 100% 100%;
|
||||
background-size: contain;
|
||||
width: 100%;
|
||||
height: 480px;
|
||||
display: flex;
|
||||
|
|
|
|||
|
|
@ -266,10 +266,11 @@ export default {
|
|||
background-color: #ebf1f7;
|
||||
|
||||
.banner {
|
||||
background-color: #012458;
|
||||
background-image: url(../../../static/images/bannerny1.jpg);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 100% 100%;
|
||||
background-size: contain;
|
||||
width: 100%;
|
||||
height: 480px;
|
||||
display: flex;
|
||||
|
|
|
|||
|
|
@ -395,10 +395,11 @@ export default {
|
|||
background-color: #ebf1f7;
|
||||
|
||||
.banner {
|
||||
background-color: #012458;
|
||||
background-image: url(../../../static/images/bannerny1.jpg);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: 100% 100%;
|
||||
background-size: contain;
|
||||
width: 100%;
|
||||
height: 480px;
|
||||
display: flex;
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@
|
|||
</div>
|
||||
<div class="filter-container">
|
||||
<div class="filter-item">
|
||||
<span class="label">航次名称:</span>
|
||||
<span class="label">航次编号:</span>
|
||||
<el-select v-model="search.voyageName" placeholder="请选择" size="medium" clearable>
|
||||
<el-option
|
||||
v-for="item in voyageList"
|
||||
|
|
@ -109,7 +109,7 @@
|
|||
/>
|
||||
<el-table-column prop="sampleNumber" label="数据样品编号" />
|
||||
<el-table-column prop="sampleType" label="数据样品类型" />
|
||||
<el-table-column prop="voyageName" label="航次名称" />
|
||||
<el-table-column prop="voyageName" label="航次编号" />
|
||||
<el-table-column prop="platformType" label="平台类型" />
|
||||
<el-table-column prop="platformName" label="平台名称" />
|
||||
<el-table-column prop="equipmentType" label="设备类型" />
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@
|
|||
</div>
|
||||
<el-table ref="tableData" v-loading="regLoading" stripe border :data="regData" max-height="500" @selection-change="handleSelectionChange" :header-cell-style="{ background: '#dddfe6',color: '#555960',textAlign: 'center' }" :cell-style="{ textAlign: 'center' }">
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column prop="voyage_name" label="航次名称" />
|
||||
<el-table-column prop="voyage_name" label="航次编号" />
|
||||
<el-table-column prop="ship_name" label="科考船舶" />
|
||||
<el-table-column prop="voyage_start_date" label="航次开始">
|
||||
<template slot-scope="scope">
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
</div>
|
||||
<div class="filter-container">
|
||||
<div class="filter-item">
|
||||
<span class="label">航次名称</span>
|
||||
<span class="label">航次编号</span>
|
||||
<el-input
|
||||
v-model="search.voyageName"
|
||||
auto-complete="off"
|
||||
|
|
@ -43,7 +43,7 @@
|
|||
type="selection"
|
||||
width="55"
|
||||
/>
|
||||
<el-table-column prop="voyageName" label="航次名称" />
|
||||
<el-table-column prop="voyageName" label="航次编号" />
|
||||
<el-table-column prop="ship" label="科考船舶" />
|
||||
<!-- <el-table-column prop="status" label="计划状态" /> -->
|
||||
<el-table-column prop="isSecret" label="是否涉密">
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
<el-form ref="form" :inline="true" class="filter-box" :rules="rules" label-width="130px" :model="addFrom" :disabled="status=='view'">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="航次名称:" prop="voyageName">
|
||||
<el-form-item label="航次编号:" prop="voyageName">
|
||||
<el-input
|
||||
v-model="addFrom.voyageName"
|
||||
size="medium"
|
||||
|
|
@ -273,7 +273,7 @@ export default {
|
|||
],
|
||||
rules: {
|
||||
voyageName: [
|
||||
{ required: true, message: '请输入航次名称', trigger: 'blur' }
|
||||
{ required: true, message: '请输入航次编号', trigger: 'blur' }
|
||||
],
|
||||
ship: [
|
||||
{ required: true, message: '请输入科考船舶', trigger: 'blur' }
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
</div>
|
||||
<div class="filter-container">
|
||||
<div class="filter-item">
|
||||
<span class="label">航次名称</span>
|
||||
<span class="label">航次编号</span>
|
||||
<el-select v-model="search.voyageName" size="medium" placeholder="请选择" @change="dimensionChange">
|
||||
<el-option v-for="item in namelist" :key="item.name" :label="item.name" :value="item.name" />
|
||||
</el-select>
|
||||
|
|
@ -38,7 +38,7 @@
|
|||
width="50"
|
||||
label="序号"
|
||||
/>
|
||||
<el-table-column prop="voyageName" label="航次名称" />
|
||||
<el-table-column prop="voyageName" label="航次编号" />
|
||||
<el-table-column prop="ship" label="科考船舶" />
|
||||
<!-- <el-table-column prop="status" label="计划状态" /> -->
|
||||
<el-table-column prop="isSecret" label="是否涉密">
|
||||
|
|
|
|||
Loading…
Reference in New Issue