|
@@ -1,39 +1,90 @@
|
|
<template>
|
|
<template>
|
|
<div class="data-table" :style="{ marginTop: marginTop }">
|
|
<div class="data-table" :style="{ marginTop: marginTop }">
|
|
- <div :style="dataTableContentStyle" v-loading="loading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)" class="data-table-content">
|
|
|
|
- <div :class="isStatus || isStatuser ? 'flex' : 'flex-end'" class="data-table-btn">
|
|
|
|
|
|
+ <div
|
|
|
|
+ :style="dataTableContentStyle"
|
|
|
|
+ v-loading="loading"
|
|
|
|
+ element-loading-text="拼命加载中"
|
|
|
|
+ element-loading-spinner="el-icon-loading"
|
|
|
|
+ element-loading-background="rgba(0, 0, 0, 0.8)"
|
|
|
|
+ class="data-table-content"
|
|
|
|
+ >
|
|
|
|
+ <div
|
|
|
|
+ :class="isStatus || isStatuser ? 'flex' : 'flex-end'"
|
|
|
|
+ class="data-table-btn"
|
|
|
|
+ >
|
|
<div v-if="isStatus || isStatuser" class="vStatus">
|
|
<div v-if="isStatus || isStatuser" class="vStatus">
|
|
<slot name="header" />
|
|
<slot name="header" />
|
|
</div>
|
|
</div>
|
|
<template v-if="isBtn">
|
|
<template v-if="isBtn">
|
|
<template v-if="isAuth">
|
|
<template v-if="isAuth">
|
|
- <el-button v-if="btnAuthAdd" size="small" @click="handleAdd" plain type="primary">新增</el-button>
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ v-if="btnAuthAdd"
|
|
|
|
+ size="small"
|
|
|
|
+ @click="handleAdd"
|
|
|
|
+ plain
|
|
|
|
+ type="primary"
|
|
|
|
+ >新增</el-button
|
|
|
|
+ >
|
|
</template>
|
|
</template>
|
|
<template v-else>
|
|
<template v-else>
|
|
- <el-button size="small" @click="handleAdd" plain type="primary">新增</el-button>
|
|
|
|
|
|
+ <el-button size="small" @click="handleAdd" plain type="primary"
|
|
|
|
+ >新增</el-button
|
|
|
|
+ >
|
|
</template>
|
|
</template>
|
|
</template>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
<template v-if="tableData.length">
|
|
<template v-if="tableData.length">
|
|
<div>
|
|
<div>
|
|
- <el-table v-el-table-infinite-scroll="load" :data="filteredTableData" :summary-method="getSummaries" :span-method="tableSpanMethod" :tree-props="treeProps" :row-key="rowKeyTree" stripe :show-summary="showSummary" border ref="table" :height="tableHeight ? tableHeight : minHeight - 8 + 'vh'" class="table infinite-list" style="width: 100%; overflow: auto" @select="selectHandler">
|
|
|
|
- <el-table-column v-if="selectionEnable" type="selection" width="35" />
|
|
|
|
|
|
+ <el-table
|
|
|
|
+ v-el-table-infinite-scroll="load"
|
|
|
|
+ :data="filteredTableData"
|
|
|
|
+ :summary-method="getSummaries"
|
|
|
|
+ :span-method="tableSpanMethod"
|
|
|
|
+ :tree-props="treeProps"
|
|
|
|
+ :row-key="rowKeyTree"
|
|
|
|
+ stripe
|
|
|
|
+ :show-summary="showSummary"
|
|
|
|
+ border
|
|
|
|
+ ref="table"
|
|
|
|
+ :height="tableHeight ? tableHeight : minHeight - 8 + 'vh'"
|
|
|
|
+ class="table infinite-list"
|
|
|
|
+ style="width: 100%; overflow: auto"
|
|
|
|
+ @select="selectHandler"
|
|
|
|
+ >
|
|
|
|
+ <el-table-column
|
|
|
|
+ v-if="selectionEnable"
|
|
|
|
+ type="selection"
|
|
|
|
+ width="35"
|
|
|
|
+ />
|
|
<el-table-column v-if="isStatus" width="55">
|
|
<el-table-column v-if="isStatus" width="55">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<div class="tableStatus">
|
|
<div class="tableStatus">
|
|
- <div v-if="filteredTableData[scope.$index].nodeState == '运行'" class="status0">
|
|
|
|
|
|
+ <div
|
|
|
|
+ v-if="filteredTableData[scope.$index].nodeState == '运行'"
|
|
|
|
+ class="status0"
|
|
|
|
+ >
|
|
<span class="icon"></span>
|
|
<span class="icon"></span>
|
|
</div>
|
|
</div>
|
|
- <div v-else-if="
|
|
|
|
|
|
+ <div
|
|
|
|
+ v-else-if="
|
|
filteredTableData[scope.$index].nodeState == '停止'
|
|
filteredTableData[scope.$index].nodeState == '停止'
|
|
- " class="status1">
|
|
|
|
|
|
+ "
|
|
|
|
+ class="status1"
|
|
|
|
+ >
|
|
<span class="icon"></span>
|
|
<span class="icon"></span>
|
|
</div>
|
|
</div>
|
|
<div v-else class="status2"><span class="icon"></span></div>
|
|
<div v-else class="status2"><span class="icon"></span></div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column v-for="(item, index) in tableColsCopy" :sortable="item.needSort ? true : false" :key="index" :prop="item.columnName" :label="item.columnLabel" :show-overflow-tooltip="showOverflowTooltip">
|
|
|
|
|
|
+ <el-table-column
|
|
|
|
+ v-for="(item, index) in tableColsCopy"
|
|
|
|
+ :sortable="item.needSort ? true : false"
|
|
|
|
+ :key="index"
|
|
|
|
+ :prop="item.columnName"
|
|
|
|
+ :label="item.columnLabel"
|
|
|
|
+ :show-overflow-tooltip="showOverflowTooltip"
|
|
|
|
+ >
|
|
<template #header>
|
|
<template #header>
|
|
<span class="colTips">
|
|
<span class="colTips">
|
|
<el-tooltip :content="item.columnDescribe" placement="top">
|
|
<el-tooltip :content="item.columnDescribe" placement="top">
|
|
@@ -41,18 +92,38 @@
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
</span>
|
|
</span>
|
|
<span v-if="item.needFilters">
|
|
<span v-if="item.needFilters">
|
|
- <el-popover placement="bottom" trigger="click" @show="popoverShowHandler(item.columnName)" @hide="popoverHideHandler">
|
|
|
|
- <i slot="reference" :class="[
|
|
|
|
|
|
+ <el-popover
|
|
|
|
+ placement="bottom"
|
|
|
|
+ trigger="click"
|
|
|
|
+ @show="popoverShowHandler(item.columnName)"
|
|
|
|
+ @hide="popoverHideHandler"
|
|
|
|
+ >
|
|
|
|
+ <i
|
|
|
|
+ slot="reference"
|
|
|
|
+ :class="[
|
|
'filter-arrow',
|
|
'filter-arrow',
|
|
'el-icon-arrow-down',
|
|
'el-icon-arrow-down',
|
|
arrowClass(item.columnName),
|
|
arrowClass(item.columnName),
|
|
- ]" />
|
|
|
|
|
|
+ ]"
|
|
|
|
+ />
|
|
<el-form>
|
|
<el-form>
|
|
<el-form-item :label="item.columnLabel">
|
|
<el-form-item :label="item.columnLabel">
|
|
- <el-select v-model="filterValues[item.columnName]" size="small" placeholder="筛选" default-first-option filterable clearable>
|
|
|
|
- <el-option v-for="(option, optionIndex) in tableDataFilters[
|
|
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="filterValues[item.columnName]"
|
|
|
|
+ size="small"
|
|
|
|
+ placeholder="筛选"
|
|
|
|
+ default-first-option
|
|
|
|
+ filterable
|
|
|
|
+ clearable
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="(option, optionIndex) in tableDataFilters[
|
|
item.columnName
|
|
item.columnName
|
|
- ]" :key="option.value + optionIndex" :value="option.value" :label="option.text" />
|
|
|
|
|
|
+ ]"
|
|
|
|
+ :key="option.value + optionIndex"
|
|
|
|
+ :value="option.value"
|
|
|
|
+ :label="option.text"
|
|
|
|
+ />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
@@ -65,47 +136,142 @@
|
|
<div class="hd-td">
|
|
<div class="hd-td">
|
|
<div class="hd-tr">
|
|
<div class="hd-tr">
|
|
<template v-if="isStatus">
|
|
<template v-if="isStatus">
|
|
- <el-button type="text" @click="handleLook(scope.row)" size="small" class="rmScs">查看</el-button>
|
|
|
|
- <template v-if="
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ type="text"
|
|
|
|
+ @click="handleLook(scope.row)"
|
|
|
|
+ size="small"
|
|
|
|
+ class="rmScs"
|
|
|
|
+ >查看</el-button
|
|
|
|
+ >
|
|
|
|
+ <template
|
|
|
|
+ v-if="
|
|
scope.row.serviceTypeCode == 2 ||
|
|
scope.row.serviceTypeCode == 2 ||
|
|
scope.row.serviceTypeCode == 4
|
|
scope.row.serviceTypeCode == 4
|
|
- ">
|
|
|
|
- <el-button type="text" v-if="scope.row.nodeState == '停止'" @click="stateChangeHandler(scope.row)" size="small" class="rmScs">启动</el-button>
|
|
|
|
- <el-button type="text" v-if="scope.row.nodeState == '运行'" @click="stateChangeHandler(scope.row)" size="small" class="rmScs">停止</el-button>
|
|
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ <el-button
|
|
|
|
+ type="text"
|
|
|
|
+ v-if="scope.row.nodeState == '停止'"
|
|
|
|
+ @click="stateChangeHandler(scope.row)"
|
|
|
|
+ size="small"
|
|
|
|
+ class="rmScs"
|
|
|
|
+ >启动</el-button
|
|
|
|
+ >
|
|
|
|
+ <el-button
|
|
|
|
+ type="text"
|
|
|
|
+ v-if="scope.row.nodeState == '运行'"
|
|
|
|
+ @click="stateChangeHandler(scope.row)"
|
|
|
|
+ size="small"
|
|
|
|
+ class="rmScs"
|
|
|
|
+ >停止</el-button
|
|
|
|
+ >
|
|
</template>
|
|
</template>
|
|
</template>
|
|
</template>
|
|
<!-- <el-button class="hrefBtn" type="text" @click="handleHerf(scope.row)" size="small">跳转</el-button> -->
|
|
<!-- <el-button class="hrefBtn" type="text" @click="handleHerf(scope.row)" size="small">跳转</el-button> -->
|
|
<template v-if="isAuth">
|
|
<template v-if="isAuth">
|
|
- <el-button v-if="btnAuthEdit" type="text" @click="handleEdit(scope.row)" size="small" class="rmScs">编辑</el-button>
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ v-if="btnAuthEdit"
|
|
|
|
+ type="text"
|
|
|
|
+ @click="handleEdit(scope.row)"
|
|
|
|
+ size="small"
|
|
|
|
+ class="rmScs"
|
|
|
|
+ >编辑</el-button
|
|
|
|
+ >
|
|
</template>
|
|
</template>
|
|
<template v-else>
|
|
<template v-else>
|
|
- <el-button type="text" @click="handleEdit(scope.row)" size="small" class="rmScs">编辑</el-button>
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ type="text"
|
|
|
|
+ @click="handleEdit(scope.row)"
|
|
|
|
+ size="small"
|
|
|
|
+ class="rmScs"
|
|
|
|
+ >编辑</el-button
|
|
|
|
+ >
|
|
</template>
|
|
</template>
|
|
<template v-if="isAuth">
|
|
<template v-if="isAuth">
|
|
- <el-button v-if="btnAuthDel" class="rmSc" type="text" @click="handleRemove(scope.row)" size="small">删除</el-button>
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ v-if="btnAuthDel"
|
|
|
|
+ class="rmSc"
|
|
|
|
+ type="text"
|
|
|
|
+ @click="handleRemove(scope.row)"
|
|
|
|
+ size="small"
|
|
|
|
+ >删除</el-button
|
|
|
|
+ >
|
|
</template>
|
|
</template>
|
|
<template v-else>
|
|
<template v-else>
|
|
- <el-button class="rmSc" type="text" @click="handleRemove(scope.row)" size="small">删除</el-button>
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ class="rmSc"
|
|
|
|
+ type="text"
|
|
|
|
+ @click="handleRemove(scope.row)"
|
|
|
|
+ size="small"
|
|
|
|
+ >删除</el-button
|
|
|
|
+ >
|
|
</template>
|
|
</template>
|
|
- <el-button class="rmScs" v-if="withColumnSet" type="text" size="small" @click="handleColumnSet(scope.row)">列设置</el-button>
|
|
|
|
- <el-button class="rmScs" v-if="withItemSet" type="text" size="small" @click="handleItemSet(scope.row)">数据项</el-button>
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ class="rmScs"
|
|
|
|
+ v-if="withColumnSet"
|
|
|
|
+ type="text"
|
|
|
|
+ size="small"
|
|
|
|
+ @click="handleColumnSet(scope.row)"
|
|
|
|
+ >列设置</el-button
|
|
|
|
+ >
|
|
|
|
+ <el-button
|
|
|
|
+ class="rmScs"
|
|
|
|
+ v-if="withItemSet"
|
|
|
|
+ type="text"
|
|
|
|
+ size="small"
|
|
|
|
+ @click="handleItemSet(scope.row)"
|
|
|
|
+ >数据项</el-button
|
|
|
|
+ >
|
|
<template v-if="withlodSet">
|
|
<template v-if="withlodSet">
|
|
<template v-if="isAuth">
|
|
<template v-if="isAuth">
|
|
- <el-button class="rmScser" v-if="btnAuthWithlodSet" type="text" size="small" @click="handlelodSet(scope.row)">航站设置</el-button>
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ class="rmScser"
|
|
|
|
+ v-if="btnAuthWithlodSet"
|
|
|
|
+ type="text"
|
|
|
|
+ size="small"
|
|
|
|
+ @click="handlelodSet(scope.row)"
|
|
|
|
+ >航站设置</el-button
|
|
|
|
+ >
|
|
</template>
|
|
</template>
|
|
<template v-else>
|
|
<template v-else>
|
|
- <el-button class="rmScser" type="text" size="small" @click="handlelodSet(scope.row)">航站设置</el-button>
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ class="rmScser"
|
|
|
|
+ type="text"
|
|
|
|
+ size="small"
|
|
|
|
+ @click="handlelodSet(scope.row)"
|
|
|
|
+ >航站设置</el-button
|
|
|
|
+ >
|
|
</template>
|
|
</template>
|
|
</template>
|
|
</template>
|
|
<template v-if="withnodeSet">
|
|
<template v-if="withnodeSet">
|
|
<template v-if="isAuth">
|
|
<template v-if="isAuth">
|
|
- <el-button v-if="btnAuthWithnodeSet" class="rmScser" type="text" size="small" @click="handlenodeSet(scope.row)">位置设置</el-button>
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ v-if="btnAuthWithnodeSet"
|
|
|
|
+ class="rmScser"
|
|
|
|
+ type="text"
|
|
|
|
+ size="small"
|
|
|
|
+ @click="handlenodeSet(scope.row)"
|
|
|
|
+ >位置设置</el-button
|
|
|
|
+ >
|
|
</template>
|
|
</template>
|
|
<template v-else>
|
|
<template v-else>
|
|
- <el-button class="rmScser" type="text" size="small" @click="handlenodeSet(scope.row)">位置设置</el-button>
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ class="rmScser"
|
|
|
|
+ type="text"
|
|
|
|
+ size="small"
|
|
|
|
+ @click="handlenodeSet(scope.row)"
|
|
|
|
+ >位置设置</el-button
|
|
|
|
+ >
|
|
</template>
|
|
</template>
|
|
</template>
|
|
</template>
|
|
- <el-button v-if="withPreview" type="text" size="small" class="rmScs" @click="handlePreview(scope.row)">预览</el-button>
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ v-if="withPreview"
|
|
|
|
+ type="text"
|
|
|
|
+ size="small"
|
|
|
|
+ class="rmScs"
|
|
|
|
+ @click="handlePreview(scope.row)"
|
|
|
|
+ >预览</el-button
|
|
|
|
+ >
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
@@ -124,30 +290,68 @@
|
|
<div class="dialog-content">
|
|
<div class="dialog-content">
|
|
<div class="title">{{ tableTitle }}</div>
|
|
<div class="title">{{ tableTitle }}</div>
|
|
<div class="contents">
|
|
<div class="contents">
|
|
- <el-form ref="ruleForm" :model="tableForm" :label-width="labelWidth">
|
|
|
|
|
|
+ <el-form
|
|
|
|
+ ref="ruleForm"
|
|
|
|
+ :model="tableForm"
|
|
|
|
+ :label-width="labelWidth"
|
|
|
|
+ >
|
|
<el-row :gutter="20">
|
|
<el-row :gutter="20">
|
|
- <el-col v-for="(item, index) in tableColsCopy" :key="index" :span="rows">
|
|
|
|
|
|
+ <el-col
|
|
|
|
+ v-for="(item, index) in tableColsCopy"
|
|
|
|
+ :key="index"
|
|
|
|
+ :span="rows"
|
|
|
|
+ >
|
|
<el-form-item :label="item.columnLabel">
|
|
<el-form-item :label="item.columnLabel">
|
|
- <template v-if="
|
|
|
|
|
|
+ <template
|
|
|
|
+ v-if="
|
|
item.listqueryTemplateID ||
|
|
item.listqueryTemplateID ||
|
|
item.listqueryTemplateID == 0
|
|
item.listqueryTemplateID == 0
|
|
- ">
|
|
|
|
- <el-select v-if="asShow" class="input-shadow" size="small" filterable default-first-option style="width: 100%" v-model="tableForm[item.columnName]" @change="changeSelect(item.columnName, item)" placeholder="请选择">
|
|
|
|
- <el-option v-for="item in tableOptions[item.columnName]" :key="item.v ? item.v : item.planDepartureApt" :label="item.k ? item.k : item.planDepartureApt" :value="
|
|
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ <el-select
|
|
|
|
+ v-if="asShow"
|
|
|
|
+ class="input-shadow"
|
|
|
|
+ size="small"
|
|
|
|
+ filterable
|
|
|
|
+ default-first-option
|
|
|
|
+ style="width: 100%"
|
|
|
|
+ v-model="tableForm[item.columnName]"
|
|
|
|
+ @change="changeSelect(item.columnName, item)"
|
|
|
|
+ placeholder="请选择"
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in tableOptions[item.columnName]"
|
|
|
|
+ :key="item.v ? item.v : item.planDepartureApt"
|
|
|
|
+ :label="item.k ? item.k : item.planDepartureApt"
|
|
|
|
+ :value="
|
|
item.setlabel === 'positionDescribe'
|
|
item.setlabel === 'positionDescribe'
|
|
? item.k
|
|
? item.k
|
|
: item.v >= 0
|
|
: item.v >= 0
|
|
? item.v
|
|
? item.v
|
|
: item.planDepartureApt
|
|
: item.planDepartureApt
|
|
- ">
|
|
|
|
|
|
+ "
|
|
|
|
+ >
|
|
</el-option>
|
|
</el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</template>
|
|
</template>
|
|
<template v-else-if="item.dataType == 'longtext'">
|
|
<template v-else-if="item.dataType == 'longtext'">
|
|
- <el-input size="small" :rows="1" type="textarea" @change="inputChangeHandler(item.columnName)" v-model="tableForm[item.columnName]"></el-input>
|
|
|
|
|
|
+ <el-input
|
|
|
|
+ size="small"
|
|
|
|
+ :rows="1"
|
|
|
|
+ type="textarea"
|
|
|
|
+ @change="inputChangeHandler(item.columnName)"
|
|
|
|
+ v-model="tableForm[item.columnName]"
|
|
|
|
+ ></el-input>
|
|
</template>
|
|
</template>
|
|
<template v-else-if="item.dataType == 'datetime'">
|
|
<template v-else-if="item.dataType == 'datetime'">
|
|
- <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" v-model="tableForm[item.columnName]" :rows="1" type="datetime" placeholder="选择日期时间" @change="inputChangeHandler(item.columnName)">
|
|
|
|
|
|
+ <el-date-picker
|
|
|
|
+ value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
|
+ v-model="tableForm[item.columnName]"
|
|
|
|
+ :rows="1"
|
|
|
|
+ type="datetime"
|
|
|
|
+ placeholder="选择日期时间"
|
|
|
|
+ @change="inputChangeHandler(item.columnName)"
|
|
|
|
+ >
|
|
</el-date-picker>
|
|
</el-date-picker>
|
|
</template>
|
|
</template>
|
|
<template v-else-if="item.dataType == 'number'">
|
|
<template v-else-if="item.dataType == 'number'">
|
|
@@ -159,7 +363,11 @@
|
|
></el-input>
|
|
></el-input>
|
|
</template>
|
|
</template>
|
|
<template v-else>
|
|
<template v-else>
|
|
- <el-input size="small" v-model="tableForm[item.columnName]" @change="inputChangeHandler(item.columnName)"></el-input>
|
|
|
|
|
|
+ <el-input
|
|
|
|
+ size="small"
|
|
|
|
+ v-model="tableForm[item.columnName]"
|
|
|
|
+ @change="inputChangeHandler(item.columnName)"
|
|
|
|
+ ></el-input>
|
|
</template>
|
|
</template>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -167,7 +375,13 @@
|
|
</el-form>
|
|
</el-form>
|
|
</div>
|
|
</div>
|
|
<div class="foot right">
|
|
<div class="foot right">
|
|
- <el-button size="medium" @click="handleOk" class="r24" type="primary">确定</el-button>
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ size="medium"
|
|
|
|
+ @click="handleOk"
|
|
|
|
+ class="r24"
|
|
|
|
+ type="primary"
|
|
|
|
+ >确定</el-button
|
|
|
|
+ >
|
|
<el-button @click="flag = false" size="medium">取消</el-button>
|
|
<el-button @click="flag = false" size="medium">取消</el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -176,11 +390,20 @@
|
|
<div class="airportInfoDialog">
|
|
<div class="airportInfoDialog">
|
|
<div class="title del-title">删除</div>
|
|
<div class="title del-title">删除</div>
|
|
<div class="content del-content">
|
|
<div class="content del-content">
|
|
- <span class="el-icon-error error r10"></span>您是否确认删除<span class="error l10">{{ rmTitle }}</span>
|
|
|
|
|
|
+ <span class="el-icon-error error r10"></span>您是否确认删除<span
|
|
|
|
+ class="error l10"
|
|
|
|
+ >{{ rmTitle }}</span
|
|
|
|
+ >
|
|
?
|
|
?
|
|
</div>
|
|
</div>
|
|
<div class="foot right Delfoot">
|
|
<div class="foot right Delfoot">
|
|
- <el-button size="medium" class="r24" @click="tableRemove" type="danger">删除</el-button>
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ size="medium"
|
|
|
|
+ class="r24"
|
|
|
|
+ @click="tableRemove"
|
|
|
|
+ type="danger"
|
|
|
|
+ >删除</el-button
|
|
|
|
+ >
|
|
<el-button size="medium" @click="rmFlag = false">取消</el-button>
|
|
<el-button size="medium" @click="rmFlag = false">取消</el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -372,7 +595,7 @@ export default {
|
|
},
|
|
},
|
|
},
|
|
},
|
|
components: { Dialog, NoData },
|
|
components: { Dialog, NoData },
|
|
- data () {
|
|
|
|
|
|
+ data() {
|
|
return {
|
|
return {
|
|
asShow: true,
|
|
asShow: true,
|
|
loading: false,
|
|
loading: false,
|
|
@@ -404,7 +627,7 @@ export default {
|
|
};
|
|
};
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
- dataTableContentStyle () {
|
|
|
|
|
|
+ dataTableContentStyle() {
|
|
const style = {};
|
|
const style = {};
|
|
if (this.minHeight) {
|
|
if (this.minHeight) {
|
|
style["min-height"] = this.minHeight;
|
|
style["min-height"] = this.minHeight;
|
|
@@ -415,7 +638,7 @@ export default {
|
|
return style;
|
|
return style;
|
|
},
|
|
},
|
|
//设置表头-下拉-箭头样式
|
|
//设置表头-下拉-箭头样式
|
|
- arrowClass () {
|
|
|
|
|
|
+ arrowClass() {
|
|
return function (prop) {
|
|
return function (prop) {
|
|
let classString = "";
|
|
let classString = "";
|
|
if (this.colShowFilter === prop) {
|
|
if (this.colShowFilter === prop) {
|
|
@@ -432,7 +655,7 @@ export default {
|
|
};
|
|
};
|
|
},
|
|
},
|
|
//设置表头-下拉-选中数据
|
|
//设置表头-下拉-选中数据
|
|
- filteredTableData () {
|
|
|
|
|
|
+ filteredTableData() {
|
|
if (this.isTree) {
|
|
if (this.isTree) {
|
|
this.tableData = translateDataToTreeAllTreeMsg(
|
|
this.tableData = translateDataToTreeAllTreeMsg(
|
|
this.tableData,
|
|
this.tableData,
|
|
@@ -450,35 +673,35 @@ export default {
|
|
return flag;
|
|
return flag;
|
|
});
|
|
});
|
|
},
|
|
},
|
|
- btnAuthAdd () {
|
|
|
|
|
|
+ btnAuthAdd() {
|
|
if (this.roles.includes(this.authAdd)) {
|
|
if (this.roles.includes(this.authAdd)) {
|
|
return true;
|
|
return true;
|
|
} else {
|
|
} else {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- btnAuthEdit () {
|
|
|
|
|
|
+ btnAuthEdit() {
|
|
if (this.roles.includes(this.authEdit)) {
|
|
if (this.roles.includes(this.authEdit)) {
|
|
return true;
|
|
return true;
|
|
} else {
|
|
} else {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- btnAuthDel () {
|
|
|
|
|
|
+ btnAuthDel() {
|
|
if (this.roles.includes(this.authDel)) {
|
|
if (this.roles.includes(this.authDel)) {
|
|
return true;
|
|
return true;
|
|
} else {
|
|
} else {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- btnAuthWithnodeSet () {
|
|
|
|
|
|
+ btnAuthWithnodeSet() {
|
|
if (this.roles.includes(this.authWithnodeSet)) {
|
|
if (this.roles.includes(this.authWithnodeSet)) {
|
|
return true;
|
|
return true;
|
|
} else {
|
|
} else {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- btnAuthWithlodSet () {
|
|
|
|
|
|
+ btnAuthWithlodSet() {
|
|
if (this.roles.includes(this.authWithlodSet)) {
|
|
if (this.roles.includes(this.authWithlodSet)) {
|
|
return true;
|
|
return true;
|
|
} else {
|
|
} else {
|
|
@@ -488,7 +711,7 @@ export default {
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
dataContent: {
|
|
dataContent: {
|
|
- handler (val) {
|
|
|
|
|
|
+ handler(val) {
|
|
if (val) {
|
|
if (val) {
|
|
if (val.companyID) {
|
|
if (val.companyID) {
|
|
this.resetTable();
|
|
this.resetTable();
|
|
@@ -509,14 +732,14 @@ export default {
|
|
// },
|
|
// },
|
|
// },
|
|
// },
|
|
},
|
|
},
|
|
- mounted () {
|
|
|
|
|
|
+ mounted() {
|
|
this.getQuery();
|
|
this.getQuery();
|
|
},
|
|
},
|
|
- updated () {
|
|
|
|
|
|
+ updated() {
|
|
this.$refs["table"]?.doLayout();
|
|
this.$refs["table"]?.doLayout();
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- load () {
|
|
|
|
|
|
+ load() {
|
|
//
|
|
//
|
|
if (!this.isTree) {
|
|
if (!this.isTree) {
|
|
if (this.noMore || this.loading) {
|
|
if (this.noMore || this.loading) {
|
|
@@ -525,12 +748,12 @@ export default {
|
|
this.getQuery();
|
|
this.getQuery();
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- resetTable () {
|
|
|
|
|
|
+ resetTable() {
|
|
this.page = 0;
|
|
this.page = 0;
|
|
this.noMore = false;
|
|
this.noMore = false;
|
|
this.tableData = [];
|
|
this.tableData = [];
|
|
},
|
|
},
|
|
- changeSelect (data, name) {
|
|
|
|
|
|
+ changeSelect(data, name) {
|
|
if (this.tableForm[data] === "") {
|
|
if (this.tableForm[data] === "") {
|
|
this.tableForm[data] = null;
|
|
this.tableForm[data] = null;
|
|
}
|
|
}
|
|
@@ -565,13 +788,13 @@ export default {
|
|
});
|
|
});
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- inputChangeHandler (data) {
|
|
|
|
|
|
+ inputChangeHandler(data) {
|
|
if (this.tableForm[data] === "") {
|
|
if (this.tableForm[data] === "") {
|
|
this.tableForm[data] = null;
|
|
this.tableForm[data] = null;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
//获取表格数据
|
|
//获取表格数据
|
|
- async getQuery () {
|
|
|
|
|
|
+ async getQuery() {
|
|
try {
|
|
try {
|
|
this.loading = true;
|
|
this.loading = true;
|
|
const { code, returnData } = await Query({
|
|
const { code, returnData } = await Query({
|
|
@@ -616,7 +839,7 @@ export default {
|
|
});
|
|
});
|
|
}
|
|
}
|
|
});
|
|
});
|
|
- }, 400);
|
|
|
|
|
|
+ }, 500);
|
|
this.loading = false;
|
|
this.loading = false;
|
|
}, 100);
|
|
}, 100);
|
|
} else {
|
|
} else {
|
|
@@ -630,7 +853,7 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
//表格-增/删/改
|
|
//表格-增/删/改
|
|
- async generalDataReception (data) {
|
|
|
|
|
|
+ async generalDataReception(data) {
|
|
try {
|
|
try {
|
|
data = {
|
|
data = {
|
|
...data,
|
|
...data,
|
|
@@ -663,18 +886,18 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
// 表格勾选
|
|
// 表格勾选
|
|
- toggleRowSelection (row, isSelected) {
|
|
|
|
|
|
+ toggleRowSelection(row, isSelected) {
|
|
this.$refs["table"].toggleRowSelection(row, isSelected);
|
|
this.$refs["table"].toggleRowSelection(row, isSelected);
|
|
},
|
|
},
|
|
// 表格初始勾选
|
|
// 表格初始勾选
|
|
- selectTableRows (tableData, selectFlagName) {
|
|
|
|
|
|
+ selectTableRows(tableData, selectFlagName) {
|
|
tableData.forEach((row) => {
|
|
tableData.forEach((row) => {
|
|
this.$refs["table"].toggleRowSelection(row, !!row[selectFlagName]);
|
|
this.$refs["table"].toggleRowSelection(row, !!row[selectFlagName]);
|
|
});
|
|
});
|
|
this.$emit("selectionAll", this.$refs.table.selection);
|
|
this.$emit("selectionAll", this.$refs.table.selection);
|
|
},
|
|
},
|
|
//初始化表格
|
|
//初始化表格
|
|
- initTableData () {
|
|
|
|
|
|
+ initTableData() {
|
|
this.tableColsCopy = this.tableCols.filter((item) => item.needShow);
|
|
this.tableColsCopy = this.tableCols.filter((item) => item.needShow);
|
|
this.tableDataCopy = _.cloneDeep(this.tableData);
|
|
this.tableDataCopy = _.cloneDeep(this.tableData);
|
|
const datas = _.cloneDeep(this.tableColsCopy);
|
|
const datas = _.cloneDeep(this.tableColsCopy);
|
|
@@ -703,7 +926,7 @@ export default {
|
|
// this.getSelectDataAll(reqUts)
|
|
// this.getSelectDataAll(reqUts)
|
|
},
|
|
},
|
|
//获取所有获取弹框-下拉数据-请求状态
|
|
//获取所有获取弹框-下拉数据-请求状态
|
|
- getSelectDataAll (reqUts) {
|
|
|
|
|
|
+ getSelectDataAll(reqUts) {
|
|
Promise.all(reqUts)
|
|
Promise.all(reqUts)
|
|
.then((res) => {
|
|
.then((res) => {
|
|
this.proAll = true;
|
|
this.proAll = true;
|
|
@@ -713,7 +936,7 @@ export default {
|
|
});
|
|
});
|
|
},
|
|
},
|
|
//获取弹框-下拉数据
|
|
//获取弹框-下拉数据
|
|
- async getSelectData (id, name) {
|
|
|
|
|
|
+ async getSelectData(id, name) {
|
|
const { code, returnData } = await Query({
|
|
const { code, returnData } = await Query({
|
|
id,
|
|
id,
|
|
dataContent: name ? [name] : [],
|
|
dataContent: name ? [name] : [],
|
|
@@ -725,7 +948,7 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
//重组table-显示名称
|
|
//重组table-显示名称
|
|
- setTable () {
|
|
|
|
|
|
+ setTable() {
|
|
this.tableArrs.forEach((item) => {
|
|
this.tableArrs.forEach((item) => {
|
|
this.tableOptions[item].forEach((p) => {
|
|
this.tableOptions[item].forEach((p) => {
|
|
this.tableDataCopy.forEach((msg) => {
|
|
this.tableDataCopy.forEach((msg) => {
|
|
@@ -744,7 +967,7 @@ export default {
|
|
this.tableData = this.tableDataCopy;
|
|
this.tableData = this.tableDataCopy;
|
|
},
|
|
},
|
|
//分组
|
|
//分组
|
|
- tableGroup (tableData) {
|
|
|
|
|
|
+ tableGroup(tableData) {
|
|
const spanArr = [];
|
|
const spanArr = [];
|
|
let pos = 0;
|
|
let pos = 0;
|
|
let ifYj = this.tableGroups[0];
|
|
let ifYj = this.tableGroups[0];
|
|
@@ -764,14 +987,14 @@ export default {
|
|
this.spanArr = spanArr;
|
|
this.spanArr = spanArr;
|
|
this.pos = pos;
|
|
this.pos = pos;
|
|
},
|
|
},
|
|
- popoverShowHandler (prop) {
|
|
|
|
|
|
+ popoverShowHandler(prop) {
|
|
this.colShowFilter = prop;
|
|
this.colShowFilter = prop;
|
|
},
|
|
},
|
|
- popoverHideHandler () {
|
|
|
|
|
|
+ popoverHideHandler() {
|
|
this.colShowFilter = "";
|
|
this.colShowFilter = "";
|
|
},
|
|
},
|
|
//分组
|
|
//分组
|
|
- tableSpanMethod ({ row, column, rowIndex, columnIndex }) {
|
|
|
|
|
|
+ tableSpanMethod({ row, column, rowIndex, columnIndex }) {
|
|
if (this.tableGroups.includes(column["property"])) {
|
|
if (this.tableGroups.includes(column["property"])) {
|
|
const _row = this.spanArr[rowIndex];
|
|
const _row = this.spanArr[rowIndex];
|
|
const _col = _row > 0 ? 1 : 0;
|
|
const _col = _row > 0 ? 1 : 0;
|
|
@@ -782,7 +1005,7 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
//合计
|
|
//合计
|
|
- getSummaries (param) {
|
|
|
|
|
|
+ getSummaries(param) {
|
|
const { columns, data } = param;
|
|
const { columns, data } = param;
|
|
const sums = [];
|
|
const sums = [];
|
|
columns.forEach((column, index) => {
|
|
columns.forEach((column, index) => {
|
|
@@ -806,13 +1029,13 @@ export default {
|
|
return sums;
|
|
return sums;
|
|
},
|
|
},
|
|
//弹框-确定
|
|
//弹框-确定
|
|
- handleOk () {
|
|
|
|
|
|
+ handleOk() {
|
|
this.submitClickHandler();
|
|
this.submitClickHandler();
|
|
},
|
|
},
|
|
//滚动
|
|
//滚动
|
|
- tableLoad () { },
|
|
|
|
|
|
+ tableLoad() {},
|
|
//表格-新增
|
|
//表格-新增
|
|
- handleAdd () {
|
|
|
|
|
|
+ handleAdd() {
|
|
// this.flag = true;
|
|
// this.flag = true;
|
|
// this.tableType = "add";
|
|
// this.tableType = "add";
|
|
// this.tableTitle = "新增";
|
|
// this.tableTitle = "新增";
|
|
@@ -829,7 +1052,7 @@ export default {
|
|
//
|
|
//
|
|
},
|
|
},
|
|
//表格-编辑
|
|
//表格-编辑
|
|
- async handleEdit (row) {
|
|
|
|
|
|
+ async handleEdit(row) {
|
|
if (this.tableup) {
|
|
if (this.tableup) {
|
|
this.$router.push({
|
|
this.$router.push({
|
|
path: "/BasicsData/warningEdit",
|
|
path: "/BasicsData/warningEdit",
|
|
@@ -853,8 +1076,8 @@ export default {
|
|
datas.forEach(async (item) => {
|
|
datas.forEach(async (item) => {
|
|
if (item.columnLabel === "开始位置") {
|
|
if (item.columnLabel === "开始位置") {
|
|
this.tableOptions.beginNode.forEach((element) => {
|
|
this.tableOptions.beginNode.forEach((element) => {
|
|
- if (this.tableForm.beginNode == element.k) {
|
|
|
|
- this.tableForm.beginNode = element.v;
|
|
|
|
|
|
+ if (this.tableForm.beginNode == element.v) {
|
|
|
|
+ this.tableForm.beginNode = element.k;
|
|
}
|
|
}
|
|
});
|
|
});
|
|
this.tableOptions.beginPosition = await this.getSelectData(
|
|
this.tableOptions.beginPosition = await this.getSelectData(
|
|
@@ -872,8 +1095,8 @@ export default {
|
|
datas.forEach(async (item) => {
|
|
datas.forEach(async (item) => {
|
|
if (item.columnLabel === "结束位置") {
|
|
if (item.columnLabel === "结束位置") {
|
|
this.tableOptions.endNode.forEach((element) => {
|
|
this.tableOptions.endNode.forEach((element) => {
|
|
- if (this.tableForm.endNode == element.k) {
|
|
|
|
- this.tableForm.endNode = element.v;
|
|
|
|
|
|
+ if (this.tableForm.endNode == element.v) {
|
|
|
|
+ this.tableForm.endNode = element.k;
|
|
}
|
|
}
|
|
});
|
|
});
|
|
this.tableOptions.endPosition = await this.getSelectData(
|
|
this.tableOptions.endPosition = await this.getSelectData(
|
|
@@ -901,7 +1124,7 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- async queryOriginRow (editId, queryTemplateColumnSetID) {
|
|
|
|
|
|
+ async queryOriginRow(editId, queryTemplateColumnSetID) {
|
|
try {
|
|
try {
|
|
const { code, returnData } = await Query({
|
|
const { code, returnData } = await Query({
|
|
id: editId,
|
|
id: editId,
|
|
@@ -912,14 +1135,14 @@ export default {
|
|
} else {
|
|
} else {
|
|
this.$message.error("失败");
|
|
this.$message.error("失败");
|
|
}
|
|
}
|
|
- } catch (error) { }
|
|
|
|
|
|
+ } catch (error) {}
|
|
},
|
|
},
|
|
//表格-跳转
|
|
//表格-跳转
|
|
- handleHerf (row) {
|
|
|
|
|
|
+ handleHerf(row) {
|
|
alert("跳转");
|
|
alert("跳转");
|
|
},
|
|
},
|
|
// 新增/编辑-确认
|
|
// 新增/编辑-确认
|
|
- submitClickHandler () {
|
|
|
|
|
|
+ submitClickHandler() {
|
|
this.$refs["ruleForm"].validate((valid) => {
|
|
this.$refs["ruleForm"].validate((valid) => {
|
|
if (valid) {
|
|
if (valid) {
|
|
if (this.tableType == "add") {
|
|
if (this.tableType == "add") {
|
|
@@ -934,19 +1157,19 @@ export default {
|
|
});
|
|
});
|
|
},
|
|
},
|
|
//表格-删除
|
|
//表格-删除
|
|
- handleRemove (row) {
|
|
|
|
|
|
+ handleRemove(row) {
|
|
this.rmFlag = true;
|
|
this.rmFlag = true;
|
|
// this.rmTitle = row.className || row.username || row.serviceName || row.queryTemplateName;
|
|
// this.rmTitle = row.className || row.username || row.serviceName || row.queryTemplateName;
|
|
this.rmTitle = row[this.rowTitle];
|
|
this.rmTitle = row[this.rowTitle];
|
|
this.tableObj = row;
|
|
this.tableObj = row;
|
|
},
|
|
},
|
|
//表格-删除-确认
|
|
//表格-删除-确认
|
|
- tableRemove () {
|
|
|
|
|
|
+ tableRemove() {
|
|
this.tableObj.event = 3;
|
|
this.tableObj.event = 3;
|
|
this.generalDataReception(this.tableObj);
|
|
this.generalDataReception(this.tableObj);
|
|
},
|
|
},
|
|
// 表格-跳转列设置页
|
|
// 表格-跳转列设置页
|
|
- handleColumnSet (row) {
|
|
|
|
|
|
+ handleColumnSet(row) {
|
|
this.$router.push({
|
|
this.$router.push({
|
|
path: "/systemSettings/queryTemplateChild",
|
|
path: "/systemSettings/queryTemplateChild",
|
|
query: {
|
|
query: {
|
|
@@ -955,7 +1178,7 @@ export default {
|
|
});
|
|
});
|
|
},
|
|
},
|
|
// 表格-跳转数据项设置页
|
|
// 表格-跳转数据项设置页
|
|
- handleItemSet (row) {
|
|
|
|
|
|
+ handleItemSet(row) {
|
|
this.$router.push({
|
|
this.$router.push({
|
|
path: "/systemSettings/datastructureChild",
|
|
path: "/systemSettings/datastructureChild",
|
|
query: {
|
|
query: {
|
|
@@ -964,7 +1187,7 @@ export default {
|
|
});
|
|
});
|
|
},
|
|
},
|
|
// 表格-跳转航站设置页
|
|
// 表格-跳转航站设置页
|
|
- handlelodSet (row) {
|
|
|
|
|
|
+ handlelodSet(row) {
|
|
this.$router.push({
|
|
this.$router.push({
|
|
path: "/BasicsData/airportInfoChild",
|
|
path: "/BasicsData/airportInfoChild",
|
|
query: {
|
|
query: {
|
|
@@ -973,7 +1196,7 @@ export default {
|
|
});
|
|
});
|
|
},
|
|
},
|
|
// 表格-节点置页
|
|
// 表格-节点置页
|
|
- handlenodeSet (row) {
|
|
|
|
|
|
+ handlenodeSet(row) {
|
|
this.$router.push({
|
|
this.$router.push({
|
|
path: "/BasicsData/deployNodeChild",
|
|
path: "/BasicsData/deployNodeChild",
|
|
query: {
|
|
query: {
|
|
@@ -982,7 +1205,7 @@ export default {
|
|
});
|
|
});
|
|
},
|
|
},
|
|
// 表格-查看
|
|
// 表格-查看
|
|
- handleLook (row) {
|
|
|
|
|
|
+ handleLook(row) {
|
|
this.$router.push({
|
|
this.$router.push({
|
|
name: "serviceTopology",
|
|
name: "serviceTopology",
|
|
params: {
|
|
params: {
|
|
@@ -992,21 +1215,21 @@ export default {
|
|
});
|
|
});
|
|
},
|
|
},
|
|
// 表格-启动/停止
|
|
// 表格-启动/停止
|
|
- async stateChangeHandler (row) {
|
|
|
|
|
|
+ async stateChangeHandler(row) {
|
|
const runState = row.runState == "运行" ? 0 : 1;
|
|
const runState = row.runState == "运行" ? 0 : 1;
|
|
const serviceID = row.serviceID;
|
|
const serviceID = row.serviceID;
|
|
// this.changeBtn(runState, serviceID);
|
|
// this.changeBtn(runState, serviceID);
|
|
this.changeState(runState, serviceID);
|
|
this.changeState(runState, serviceID);
|
|
},
|
|
},
|
|
// 表格-选中行
|
|
// 表格-选中行
|
|
- selectHandler (selection, row) {
|
|
|
|
|
|
+ selectHandler(selection, row) {
|
|
this.$emit("selection-change", selection, row);
|
|
this.$emit("selection-change", selection, row);
|
|
},
|
|
},
|
|
// 表格-查询模板预览
|
|
// 表格-查询模板预览
|
|
- handlePreview (row) {
|
|
|
|
|
|
+ handlePreview(row) {
|
|
this.$emit("preview", row);
|
|
this.$emit("preview", row);
|
|
},
|
|
},
|
|
- async changeBtn (state, id) {
|
|
|
|
|
|
+ async changeBtn(state, id) {
|
|
let res = null;
|
|
let res = null;
|
|
// const { code, message } = await GeneralDataReception({
|
|
// const { code, message } = await GeneralDataReception({
|
|
// serviceId: 61,
|
|
// serviceId: 61,
|
|
@@ -1029,7 +1252,7 @@ export default {
|
|
this.$message.error(res.message);
|
|
this.$message.error(res.message);
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- async changeState (runState, serviceID) {
|
|
|
|
|
|
+ async changeState(runState, serviceID) {
|
|
try {
|
|
try {
|
|
const operate = runState ? "start" : "stop";
|
|
const operate = runState ? "start" : "stop";
|
|
const {
|
|
const {
|
|
@@ -1062,7 +1285,7 @@ export default {
|
|
} else {
|
|
} else {
|
|
this.$message.error("查询节点失败");
|
|
this.$message.error("查询节点失败");
|
|
}
|
|
}
|
|
- } catch (error) { }
|
|
|
|
|
|
+ } catch (error) {}
|
|
},
|
|
},
|
|
},
|
|
},
|
|
};
|
|
};
|