|
@@ -7,43 +7,41 @@
|
|
|
<el-form :model="pageable" label-width="auto" :inline="true">
|
|
|
<el-form-item label="自动站:">
|
|
|
<el-checkbox v-model="isStand" @change="changeStand" label="多站" />
|
|
|
+ <!--多选自动站-->
|
|
|
<SelectItem v-show="isStand" :select-data="selectedData" :select-list="platformList" :is-checkbox="false"
|
|
|
- @update:selectedItems="selectedItems" style="width: 200px;margin:0 10px"> </SelectItem>
|
|
|
+ @update:selectedItems="selectedItems" style="width: 200px;margin:0 10px"> </SelectItem>
|
|
|
|
|
|
+ <!--单站自动站选择-->
|
|
|
+ <SelectItem v-show="!isStand" :select-data="selectedData" :select-list="platformList" :is-checkbox="true"
|
|
|
+ @update:selectedItems="selectedItems2" style="width: 200px;margin:0 10px"> </SelectItem>
|
|
|
+
|
|
|
+ <!--正点和分钟-->
|
|
|
+ <el-switch v-model="hot" inline-prompt active-text="正点" size="default" inactive-text="分钟" @change="changeHot" style="margin-right: 20px;"/>
|
|
|
+
|
|
|
+ <!--数据密度-->
|
|
|
+ <el-form-item v-if="!hot" label="数据密度:">
|
|
|
+ <el-select v-model="pageable.time_space" style="width: 100px" filterable placeholder="请选择" clearable>
|
|
|
+ <el-option v-for="item in timeSpaceList" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <!--多选自动站 观测时间-->
|
|
|
<el-form-item label="观测时间:" v-if="isStand">
|
|
|
- <el-switch v-model="hot" inline-prompt active-text="正点" size="default" inactive-text="分钟"
|
|
|
- @change="changeHot" />
|
|
|
<el-date-picker v-if="hot" v-model="multiTime" style="margin-left: 10px" type="datetime"
|
|
|
- popper-class="tpc" format="YYYY-MM-DD HH" placeholder="选择日期时间" @change="changeMultiTime">
|
|
|
+ popper-class="tpc" format="YYYY-MM-DD HH" placeholder="选择日期时间" @change="changeMultiTime">
|
|
|
</el-date-picker>
|
|
|
-
|
|
|
<el-date-picker v-if="!hot" v-model="multiTime" style="margin-left: 10px" type="datetime"
|
|
|
- @change="changeMultiTime" format="YYYY-MM-DD HH:mm" placeholder="选择日期时间">
|
|
|
+ @change="changeMultiTime" format="YYYY-MM-DD HH:mm" placeholder="选择日期时间">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
|
|
|
- <!--单站选择-->
|
|
|
-
|
|
|
- <SelectItem v-show="!isStand" :select-data="selectedData" :select-list="platformList" :is-checkbox="true"
|
|
|
- @update:selectedItems="selectedItems2" style="width: 200px;margin:0 10px"> </SelectItem>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ <!--单选自动站 观测时间-->
|
|
|
<el-form-item label="观测时间:" v-if="!isStand">
|
|
|
- <el-switch v-model="hot" inline-prompt active-text="正点" size="default" inactive-text="分钟"
|
|
|
- @change="changeHot" />
|
|
|
<span class="form-item__label2">日界:</span>
|
|
|
- <el-switch v-model="points" inline-prompt active-text="0点" size="default" inactive-text="18点"
|
|
|
- @change="changePoints" />
|
|
|
- <el-date-picker style="margin-left: 10px" v-model="singleTime" type="date" placeholder="请选择"
|
|
|
- @change="changeTime" />
|
|
|
+ <el-switch v-model="points" inline-prompt active-text="0点" size="default" inactive-text="18点" @change="changePoints" />
|
|
|
+ <el-date-picker style="margin-left: 10px" v-model="singleTime" type="date" placeholder="请选择" @change="changeTime" />
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item v-if="!hot" label="数据密度:">
|
|
|
- <el-select v-model="pageable.time_space" style="width: 100px" filterable placeholder="请选择" clearable>
|
|
|
- <el-option v-for="item in timeSpaceList" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button type="primary" @click="handleQuery"> 查询 </el-button>
|
|
@@ -260,19 +258,12 @@ const dialog = reactive<any>({
|
|
|
});
|
|
|
|
|
|
const changeStand = () => {
|
|
|
- pageable.value = {
|
|
|
- data_type: false,
|
|
|
- time_order: 0,
|
|
|
- time_space: 60,
|
|
|
- begin_time: undefined,
|
|
|
- end_time: undefined,
|
|
|
- as_code_list: [],
|
|
|
- data_items: [],
|
|
|
- pageNum: 1,
|
|
|
- pageSize: 20,
|
|
|
- total: 0
|
|
|
+ if(isStand.value){
|
|
|
+ initMany()
|
|
|
+ }else {
|
|
|
+ initSingle()
|
|
|
}
|
|
|
- pageable.value.data_items = [...customizeColumns.value];
|
|
|
+ getList()
|
|
|
}
|
|
|
|
|
|
const dragStart = (event, index) => {
|
|
@@ -410,16 +401,15 @@ const pageable = ref<any>({
|
|
|
total: 0
|
|
|
});
|
|
|
|
|
|
-const isStand = ref(true)
|
|
|
+const isStand = ref(false)
|
|
|
const as_code_list = ref(undefined);
|
|
|
const hot = ref(true);
|
|
|
const points = ref(userForm.value.role_id === '预报员' ? false : true);
|
|
|
-const singleTime = ref(undefined)
|
|
|
-const multiTime = ref(undefined)
|
|
|
+const singleTime = ref()
|
|
|
+const multiTime = ref()
|
|
|
|
|
|
|
|
|
const changeHot = (row) => {
|
|
|
- console.log(row)
|
|
|
if (row) {
|
|
|
pageable.value.time_space = 60
|
|
|
} else {
|
|
@@ -441,12 +431,13 @@ const changeMultiTime = (time) => {
|
|
|
|
|
|
|
|
|
const changePoints = (row) => {
|
|
|
- singleTime.value = undefined
|
|
|
- pageable.value.begin_time = undefined
|
|
|
- pageable.value.end_time = undefined
|
|
|
-
|
|
|
+ changeTime(singleTime.value)
|
|
|
+ getList();
|
|
|
}
|
|
|
+
|
|
|
+//
|
|
|
const changeTime = (time) => {
|
|
|
+ console.log(time)
|
|
|
const timeStamp = new Date(time).getTime();
|
|
|
if (points.value) {
|
|
|
//0点
|
|
@@ -470,22 +461,8 @@ const changeTime = (time) => {
|
|
|
pageable.value.begin_time = startTimeStamp / 1000;
|
|
|
pageable.value.end_time = endTimeStamp / 1000;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
-const changeAslist = (row) => {
|
|
|
- if (row) {
|
|
|
- pageable.value.as_code_list = [row]
|
|
|
- } else {
|
|
|
- pageable.value.as_code_list = []
|
|
|
- }
|
|
|
-
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// 查询功能
|
|
|
const handleQuery = () => {
|
|
|
if (isStand.value) {
|
|
@@ -522,8 +499,6 @@ const selectedItems = (data) => {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
-
|
|
|
-
|
|
|
//搜索站号
|
|
|
const selectedItems2 = (data) => {
|
|
|
if (data.length > 0) {
|
|
@@ -537,25 +512,7 @@ const selectedItems2 = (data) => {
|
|
|
|
|
|
//重置功能
|
|
|
const resetQuery = () => {
|
|
|
- const allCodes = platformList.value.map(item => item.as_code);
|
|
|
- pageable.value.as_code_list = allCodes
|
|
|
- selectedData.value = []
|
|
|
-
|
|
|
- isStand.value = true
|
|
|
- as_code_list.value = undefined;
|
|
|
- hot.value = true;
|
|
|
- points.value = userForm.value.role_id === '预报员' ? false : true;
|
|
|
- singleTime.value = undefined;
|
|
|
- multiTime.value = undefined;
|
|
|
- pageable.value.time_order = 0
|
|
|
- pageable.value.time_space = 60
|
|
|
- pageable.value.begin_time = undefined
|
|
|
- pageable.value.end_time = undefined
|
|
|
- pageable.value.pageNum = 1
|
|
|
- pageable.value.pageSize = 20
|
|
|
- pageable.value.total = 0
|
|
|
- pageable.value.data_items = [...customizeColumns.value];
|
|
|
- processTableData.value = []
|
|
|
+ initSingle();
|
|
|
getList();
|
|
|
};
|
|
|
|
|
@@ -820,12 +777,15 @@ function formatDate(timestamp) {
|
|
|
const day = String(date.getDate()).padStart(2, '0');
|
|
|
const hours = String(date.getHours()).padStart(2, '0');
|
|
|
const minutes = String(date.getMinutes()).padStart(2, '0');
|
|
|
+ if (isStand.value && hot.value) {
|
|
|
+ return `${year}-${month}-${day} ${hours}`;
|
|
|
+ }
|
|
|
+ // 否则显示年月日小时分钟
|
|
|
return `${year}-${month}-${day} ${hours}:${minutes}`;
|
|
|
}
|
|
|
|
|
|
onMounted(() => {
|
|
|
- const allCodes = platformList.value.map(item => item.as_code);
|
|
|
- pageable.value.as_code_list = allCodes
|
|
|
+ initSingle()
|
|
|
loadCustomizeColumns()
|
|
|
updateColumns()
|
|
|
getAllRgDataList()
|
|
@@ -853,6 +813,67 @@ const renderHeader = ({ column }: { column: any }) => {
|
|
|
document.body.removeChild(span);
|
|
|
};
|
|
|
|
|
|
+
|
|
|
+// 单站
|
|
|
+const initSingle=()=>{
|
|
|
+ pageable.value = {
|
|
|
+ data_type: false,
|
|
|
+ time_order: 0,
|
|
|
+ time_space: 60,
|
|
|
+ begin_time: undefined,
|
|
|
+ end_time: undefined,
|
|
|
+ as_code_list: [],
|
|
|
+ data_items: [],
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 20,
|
|
|
+ total: 0
|
|
|
+ }
|
|
|
+ //站点数据
|
|
|
+ if (platformList.value && platformList.value.length > 0) {
|
|
|
+ pageable.value.as_code_list = [platformList.value[0].as_code];
|
|
|
+ } else {
|
|
|
+ pageable.value.as_code_list = [];
|
|
|
+ }
|
|
|
+ selectedData.value = pageable.value.as_code_list
|
|
|
+ //正点
|
|
|
+ hot.value = true
|
|
|
+ pageable.value.time_space = 60
|
|
|
+ points.value = userForm.value.role_id === '预报员' ? false : true;
|
|
|
+ const singleTime2 = ref(new Date());
|
|
|
+ singleTime.value= singleTime2.value.setHours(0, 0, 0, 0);
|
|
|
+ changeTime(singleTime.value)
|
|
|
+ pageable.value.data_items = [...customizeColumns.value];
|
|
|
+}
|
|
|
+
|
|
|
+// 多站
|
|
|
+const initMany=()=>{
|
|
|
+ pageable.value = {
|
|
|
+ data_type: false,
|
|
|
+ time_order: 0,
|
|
|
+ time_space: 60,
|
|
|
+ begin_time: undefined,
|
|
|
+ end_time: undefined,
|
|
|
+ as_code_list: [],
|
|
|
+ data_items: [],
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 20,
|
|
|
+ total: 0
|
|
|
+ }
|
|
|
+ //站点数据
|
|
|
+ const allCodes = platformList.value.map(item => item.as_code);
|
|
|
+ pageable.value.as_code_list = allCodes
|
|
|
+ selectedData.value = pageable.value.as_code_list
|
|
|
+ //正点
|
|
|
+ hot.value = true
|
|
|
+ pageable.value.time_space = 60
|
|
|
+ points.value = userForm.value.role_id === '预报员' ? false : true;
|
|
|
+ const singleTime2 = ref(new Date());
|
|
|
+ multiTime.value= singleTime2.value.setHours(0, 0, 0, 0);
|
|
|
+ changeMultiTime(multiTime.value)
|
|
|
+
|
|
|
+ pageable.value.data_items = [...customizeColumns.value];
|
|
|
+}
|
|
|
+
|
|
|
</script>
|
|
|
<style lang="scss" scoped >
|
|
|
.tpc .el-time-spinner__wrapper {
|