| | |
| | | <template> |
| | | <el-dialog |
| | | class="ztzf-dialog-video playback-dialog" |
| | | class="command-dialog-video playback-dialog" |
| | | v-model="isShow" |
| | | append-to-body |
| | | :close-on-click-modal="false" |
| | |
| | | <template> |
| | | <div class="ztzf-cesium map-box" id="map"> |
| | | <div class="command-cesium map-box" id="map"> |
| | | <PlanarRouteLineList |
| | | :curRouteLineData="curRouteLineData" |
| | | @routeLineListClick="routeLineListClick" |
| | |
| | | <template> |
| | | <el-dialog class="ztzf-dialog-mange" append-to-body v-model="props.isShowView" :title="props.title" |
| | | <el-dialog class="command-dialog-mange" append-to-body v-model="props.isShowView" :title="props.title" |
| | | :width="props.width" :close-on-click-modal="false" :destroy-on-close="true" @close="cancel"> |
| | | <slot name="default" /> |
| | | <template #footer v-if="props.addEditView !== 'view'"> |
| | |
| | | <template> |
| | | <div class="ztzf-cesium map-container" :id="props.containerId"></div> |
| | | <div class="command-cesium map-container" :id="props.containerId"></div> |
| | | <div v-if="props.showLayerControl" class="layer-control-root" :class="{ collapsed: props.leftCollapsed }"> |
| | | <div class="layer-control-wrap" ref="layerWrapRef"> |
| | | <div class="layer-control" @click="toggleLayerPanel"> |
| | |
| | | --> |
| | | <template> |
| | | <div class="map-container"> |
| | | <div class="viewer-container ztzf-cesium" id="viewer-container"> |
| | | <div class="viewer-container command-cesium" id="viewer-container"> |
| | | <div class="content"> |
| | | <slot name="content"></slot> |
| | | </div> |
| | |
| | | <img class="gateway" @click="jumpMH" src="@/assets/images/mh.png" alt="进入门户" title="进入门户"> |
| | | </div> |
| | | |
| | | <el-dropdown popper-class="ztzf-custom-dropdown"> |
| | | <el-dropdown popper-class="command-custom-dropdown"> |
| | | <span class="el-dropdown-link"> |
| | | <img class="top-bar__img" :src="userInfo.avatar" alt="" /> |
| | | </span> |
| | |
| | | <template> |
| | | <el-autocomplete |
| | | class="top-search ztzf-top-search" |
| | | class="top-search command-top-search" |
| | | popper-class="my-autocomplete" |
| | | v-model="value" |
| | | :fetch-suggestions="querySearch" |
| | |
| | | |
| | | |
| | | <style lang="scss"> |
| | | .ztzf-top-search{ |
| | | .command-top-search{ |
| | | display: flex !important; |
| | | width: 150px; |
| | | align-items: center; |
| | |
| | | bottom: 0; |
| | | } |
| | | |
| | | .ztzf-cesium { |
| | | .command-cesium { |
| | | .cesium-viewer { |
| | | height: 100%; |
| | | overflow: hidden; |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-cesium { |
| | | .command-cesium { |
| | | .cesium-viewer { |
| | | height: 100%; |
| | | overflow: hidden; |
| | |
| | | /* 下拉菜单整体样式 */ |
| | | .ztzf-custom-dropdown { |
| | | .command-custom-dropdown { |
| | | background: #1A1A2A !important; |
| | | border-radius: 8px; |
| | | border: none !important; |
| | |
| | | } |
| | | |
| | | // 数据驾驶舱专属 |
| | | .ztzf-data-cockpit-search-input { |
| | | .command-data-cockpit-search-input { |
| | | .el-input__wrapper { |
| | | padding: 0 8px !important; |
| | | background: #161B2C; |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-data-cockpit-date-picker { |
| | | .command-data-cockpit-date-picker { |
| | | box-shadow: none !important; |
| | | background: #161B2C; |
| | | border: none; |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-data-cockpit-date-picker-popper { |
| | | .command-data-cockpit-date-picker-popper { |
| | | background: #161B2C !important; |
| | | border: none !important; |
| | | border-radius: 0px 0px 8px 8px; |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-data-cockpit-select { |
| | | .command-data-cockpit-select { |
| | | .el-select__input { |
| | | color: #8ac3fd !important; |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-data-cockpit-select-popper.el-select__popper { |
| | | .command-data-cockpit-select-popper.el-select__popper { |
| | | border: none; |
| | | background: #2E2E48 !important; |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-data-cockpit-select-popper.el-cascader__dropdown { |
| | | .command-data-cockpit-select-popper.el-cascader__dropdown { |
| | | border: none; |
| | | background: #2E2E48 !important; |
| | | |
| | |
| | | } |
| | | |
| | | // 树形选择 |
| | | .ztzf-data-cockpit-tree-select-popper { |
| | | .command-data-cockpit-tree-select-popper { |
| | | background: #2E2E48 !important; |
| | | border: none !important; |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-data-cockpit-dialog { |
| | | .command-data-cockpit-dialog { |
| | | padding: 20px; |
| | | display: flex; |
| | | flex-direction: column; |
| | |
| | | } |
| | | } |
| | | |
| | | .el-form.ztzf-dialog-history-search { |
| | | .el-form.command-dialog-history-search { |
| | | .el-form-item { |
| | | margin-left: 20px; |
| | | } |
| | |
| | | text-transform: none; |
| | | } |
| | | |
| | | .ztzf-data-cockpit-search-input { |
| | | .command-data-cockpit-search-input { |
| | | .el-input__wrapper { |
| | | background: #2E2E48; |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-data-cockpit-date-picker { |
| | | .command-data-cockpit-date-picker { |
| | | background: #2E2E48; |
| | | } |
| | | |
| | | .ztzf-data-cockpit-date-picker-popper { |
| | | .command-data-cockpit-date-picker-popper { |
| | | background: #2E2E48 !important; |
| | | |
| | | .el-picker-panel { |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-page-history-search { |
| | | .command-page-history-search { |
| | | .el-form-item__label { |
| | | font-family: Source Han Sans CN, Source Han Sans CN; |
| | | font-weight: 500; |
| | |
| | | text-transform: none; |
| | | } |
| | | |
| | | .ztzf-data-cockpit-select { |
| | | .command-data-cockpit-select { |
| | | .el-select__wrapper { |
| | | background: #1C1C31; |
| | | } |
| | | } |
| | | |
| | | .ztzf-data-cockpit-search-input { |
| | | .command-data-cockpit-search-input { |
| | | .el-input__wrapper { |
| | | background: #1C1C31; |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-data-cockpit-date-picker { |
| | | .command-data-cockpit-date-picker { |
| | | background: #1C1C31; |
| | | } |
| | | |
| | | .ztzf-data-cockpit-date-picker-popper { |
| | | .command-data-cockpit-date-picker-popper { |
| | | background: #1C1C31 !important; |
| | | |
| | | .el-picker-panel { |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-dialog-history-search, |
| | | .ztzf-page-history-search { |
| | | .command-dialog-history-search, |
| | | .command-page-history-search { |
| | | display: flex; |
| | | |
| | | .el-form-item { |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-table-toolbar { |
| | | .command-table-toolbar { |
| | | margin-top: 30px; |
| | | |
| | | .el-button { |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-table-container { |
| | | .command-table-container { |
| | | margin-top: 20px; |
| | | |
| | | height: 0; |
| | |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .ztzf-table-content { |
| | | .command-table-content { |
| | | height: 0; |
| | | flex: 1; |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | |
| | | .ztzf-table-content-bg { |
| | | .command-table-content-bg { |
| | | background: #1A1A2A; |
| | | } |
| | | } |
| | | |
| | | .ztzf-data-cockpit-table { |
| | | .command-data-cockpit-table { |
| | | height: 0; |
| | | flex: 1; |
| | | background: transparent !important; |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-table-pagination { |
| | | .command-table-pagination { |
| | | padding-top: 30px; |
| | | padding-bottom: 10px; |
| | | display: flex; |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-page-view-dialog { |
| | | .command-page-view-dialog { |
| | | padding: 30px; |
| | | display: flex; |
| | | flex-direction: column; |
| | |
| | | } |
| | | |
| | | |
| | | .ztzf-table-container { |
| | | .command-table-container { |
| | | height: 360px; |
| | | |
| | | .ztzf-table-pagination { |
| | | .command-table-pagination { |
| | | justify-content: center; |
| | | } |
| | | } |
| | |
| | | box-shadow: none; |
| | | } |
| | | |
| | | .ztzf-data-cockpit-date-picker { |
| | | .command-data-cockpit-date-picker { |
| | | background: #2E2E48; |
| | | } |
| | | |
| | | .ztzf-data-cockpit-date-picker-popper { |
| | | .command-data-cockpit-date-picker-popper { |
| | | background: #2E2E48 !important; |
| | | |
| | | .el-picker-panel { |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-page-view-message-box { |
| | | .command-page-view-message-box { |
| | | background: #1A1A2A; |
| | | border-radius: 6px; |
| | | border: 1px solid #2E2E46; |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-message-box-confirm { |
| | | .command-message-box-confirm { |
| | | background: #284FE3 !important; |
| | | border-color: #284FE3 !important; |
| | | } |
| | | |
| | | .ztzf-message-box-cancel { |
| | | .command-message-box-cancel { |
| | | background: #2B2B4C !important; |
| | | border-color: #2B2B4C !important; |
| | | color: #FFFFFF !important; |
| | | } |
| | | |
| | | .ztzf-page-map-view-dialog { |
| | | .command-page-map-view-dialog { |
| | | padding: 30px; |
| | | display: flex; |
| | | flex-direction: column; |
| | |
| | | } |
| | | |
| | | |
| | | .ztzf-table-container { |
| | | .command-table-container { |
| | | margin-top: 0; |
| | | margin-bottom: 20px; |
| | | |
| | | .ztzf-table-pagination { |
| | | .command-table-pagination { |
| | | justify-content: center; |
| | | } |
| | | } |
| | |
| | | color: #fff; |
| | | } |
| | | |
| | | .ztzf-data-cockpit-date-picker { |
| | | .command-data-cockpit-date-picker { |
| | | background: #2E2E48; |
| | | } |
| | | |
| | | .ztzf-data-cockpit-date-picker-popper { |
| | | .command-data-cockpit-date-picker-popper { |
| | | background: #2E2E48 !important; |
| | | |
| | | .el-picker-panel { |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-drawer-body-basic-container { |
| | | .command-drawer-body-basic-container { |
| | | .el-drawer__header { |
| | | margin-bottom: 0; |
| | | } |
| | |
| | | |
| | | } |
| | | |
| | | .ztzf-el-card__body { |
| | | .command-el-card__body { |
| | | |
| | | .el-card__body { |
| | | .avue-form { |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-public-general-avue-crud { |
| | | .command-public-general-avue-crud { |
| | | .el-table { |
| | | tr { |
| | | min-height: 30px !important; |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-layer-input { |
| | | .command-layer-input { |
| | | .el-input__wrapper { |
| | | padding: 0 8px !important; |
| | | // background: #2D2D2D; |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-button { |
| | | .command-button { |
| | | background-color: transparent !important; |
| | | color: #fff !important; |
| | | } |
| | | |
| | | .ztzf-el-tree { |
| | | .command-el-tree { |
| | | background-color: transparent !important; |
| | | --el-tree-node-hover-bg-color: transparent !important; |
| | | color: #fff !important; |
| | | } |
| | | |
| | | .ztzf-layer-search { |
| | | .command-layer-search { |
| | | color: #fff !important; |
| | | background-color: transparent !important; |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-select-popper.el-select__popper { |
| | | .command-select-popper.el-select__popper { |
| | | border: #2D2D2D !important; |
| | | |
| | | .el-select-dropdown { |
| | |
| | | } |
| | | |
| | | //时间日期选择器 |
| | | .ztzf-layer-date-picker { |
| | | .command-layer-date-picker { |
| | | box-shadow: none !important; |
| | | background: transparent; |
| | | border: 1px solid #fff; |
| | |
| | | } |
| | | |
| | | // 日期下拉框 |
| | | .ztzf-layer-date-picker-popper { |
| | | .command-layer-date-picker-popper { |
| | | background: #012350 !important; |
| | | border: 1px solid !important; |
| | | border-radius: 0px 0px 8px 8px; |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-layer-time-picker-popper { |
| | | .command-layer-time-picker-popper { |
| | | background: rgba(0, 0, 0, 0.8) !important; |
| | | border-radius: 0px 0px 8px 8px; |
| | | border: 1px solid !important; |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-custom-qrcode-popover { |
| | | .command-custom-qrcode-popover { |
| | | //background: url("@/assets/images/home/eventOverviewDetail/qrCodeBg.png") no-repeat center center !important; |
| | | //background-size: cover !important; |
| | | border: none !important; |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-dialog-video { |
| | | .command-dialog-video { |
| | | background: #0f1929; |
| | | box-shadow: inset 0px -50px 50px 0px rgba(27, 148, 255, 0.13); |
| | | border-radius: 20px 0px 0px 0px; |
| | |
| | | } |
| | | |
| | | //======以下针对表格功能 增删查改样式和弹窗========= |
| | | .ztzf-dialog-mange { |
| | | .command-dialog-mange { |
| | | .el-dialog__body { |
| | | padding: 2rem 2rem 4rem; |
| | | flex: 1; |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-search-mange { |
| | | .command-search-mange { |
| | | height: 40px; |
| | | |
| | | .search-contain { |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-form-mange { |
| | | .command-form-mange { |
| | | .el-form-item { |
| | | width: 300px; |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-form-search { |
| | | .command-form-search { |
| | | .el-form-item { |
| | | width: 100%; |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-table-mange { |
| | | .command-table-mange { |
| | | th.el-table__cell { |
| | | color: rgba(0, 0, 0, .85); |
| | | background-color: #fafafa; |
| | |
| | | <el-col :span="4"> |
| | | <el-form-item label="时间"> |
| | | <el-date-picker |
| | | popper-class="ztzf-date-picker-popper" |
| | | class="ztzf-date-picker" |
| | | popper-class="command-date-picker-popper" |
| | | class="command-date-picker" |
| | | v-model="dateRange" |
| | | type="daterange" |
| | | range-separator="至" |
| | |
| | | <template> |
| | | <div class="algorithmMange"> |
| | | <div class="ztzf-form-search"> |
| | | <div class="command-form-search"> |
| | | <el-form :model="params" inline> |
| | | <el-row :gutter="24"> |
| | | <el-col :span="4"> |
| | |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <el-form-item label="算法类型:"> |
| | | <el-select class="ztzf-select" :teleported="false" v-model="params.algTypeCode" placeholder="请选择算法类型" clearable> |
| | | <el-select class="command-select" :teleported="false" v-model="params.algTypeCode" placeholder="请选择算法类型" clearable> |
| | | <el-option v-for="item in sfTypes" :key="item.id" :label="item.dictValue" :value="item.dictKey" ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | </el-form> |
| | | </div> |
| | | <div class="mange-table"> |
| | | <el-table border :data="tableList" class="ztzf-table-mange"> |
| | | <el-table border :data="tableList" class="command-table-mange"> |
| | | <el-table-column label="序号" type="index" width="60"></el-table-column> |
| | | <el-table-column prop="alg_name" label="算法名称" align="center" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="alg_type" label="算法类型" align="center"></el-table-column> |
| | |
| | | </el-table> |
| | | </div> |
| | | <div class="pagination" v-if="tableList.length > 0"> |
| | | <el-pagination class="ztzf-pagination" popper-class="custom-pagination-dropdown" background |
| | | <el-pagination class="command-pagination" popper-class="custom-pagination-dropdown" background |
| | | :page-sizes="[10, 20, 30, 40, 50, 100]" :size="params.size" v-model:current-page="params.current" |
| | | v-model:page-size="params.size" layout="total, sizes, prev, pager, next, jumper" :total="total" |
| | | @size-change="handleSizeChange" @current-change="handleCurrentChange" /> |
| | |
| | | </commonDialog> |
| | | <commonDialog :isShowView="isShowEditView" title="编辑" addEditView="edit" @submit="submit(ruleFormRef)" @cancel="isShowEditView = false"> |
| | | <template #default> |
| | | <el-form class="ztzf-form-mange" ref="ruleFormRef" :model="editParams" :rules="rules" inline> |
| | | <el-form class="command-form-mange" ref="ruleFormRef" :model="editParams" :rules="rules" inline> |
| | | <el-form-item label="算法名称"> |
| | | <el-input v-model="editParams.model_name" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="算法类型"> |
| | | <el-select class="ztzf-select" :teleported="false" v-model="editParams.alg_type" disabled> |
| | | <el-select class="command-select" :teleported="false" v-model="editParams.alg_type" disabled> |
| | | <el-option v-for="item in sfTypes" :key="item.id" :label="item.dictValue" :value="item.dictKey" ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | <el-input v-model="editParams.pass_rate" placeholder="请输入最高准确率" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="事件生成类型" prop="event_type"> |
| | | <el-select class="ztzf-select" v-model="editParams.event_type" placeholder="请选择" clearable> |
| | | <el-select class="command-select" v-model="editParams.event_type" placeholder="请选择" clearable> |
| | | <el-option label="常规类" value="0"></el-option> |
| | | <el-option label="紧急类" value="1"></el-option> |
| | | </el-select> |
| | |
| | | background: center center no-repeat none !important; |
| | | color: #8eb8ea !important; |
| | | } |
| | | :deep(.ztzf-select){ |
| | | :deep(.command-select){ |
| | | .el-select__selection { |
| | | width: 200px; |
| | | } |
| | |
| | | <template> |
| | | <el-dialog class="ztzf-page-view-dialog" v-model="visible" :title="titleEnum[dialogMode]" |
| | | <el-dialog class="command-page-view-dialog" v-model="visible" :title="titleEnum[dialogMode]" |
| | | :close-on-click-modal="false" width="520px"> |
| | | <div class="detail-container"> |
| | | <el-row> |
| | |
| | | <template> |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="ztzf-page-history-search"> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="区域名称" prop="areaName"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="searchParams.areaName" placeholder="请输入" |
| | | <el-input class="command-data-cockpit-search-input" v-model="searchParams.areaName" placeholder="请输入" |
| | | clearable @clear="handleSearch" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="区域类型" prop="areaType"> |
| | | <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper" |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | v-model="searchParams.areaType" placeholder="请选择" clearable @change="handleSearch"> |
| | | <el-option v-for="item in dictObj.areaType" :key="item.dictKey" :label="item.dictValue" |
| | | :value="item.dictKey" /> |
| | |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="场景类型" prop="sceneType"> |
| | | <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper" |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | v-model="searchParams.sceneType" placeholder="请选择" clearable @change="handleSearch"> |
| | | <el-option v-for="item in dictObj.sceneType" :key="item.dictKey" :label="item.dictValue" |
| | | :value="item.dictKey" /> |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="ztzf-table-content ztzf-table-content-bg"> |
| | | <el-table class="ztzf-data-cockpit-table" :data="list"> |
| | | <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="command-table-content command-table-content-bg"> |
| | | <el-table class="command-data-cockpit-table" :data="list"> |
| | | <el-table-column type="index" show-overflow-tooltip width="64" label="序号" /> |
| | | <el-table-column prop="areaName" show-overflow-tooltip label="区域名称" /> |
| | | <el-table-column prop="areaType" show-overflow-tooltip label="区域类型"> |
| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-pagination"> |
| | | <el-pagination popper-class="ztzf-data-cockpit-select-popper" |
| | | <div class="command-table-pagination"> |
| | | <el-pagination popper-class="command-data-cockpit-select-popper" |
| | | v-model:current-page="searchParams.current" v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" :total="total" @change="getList" /> |
| | | </div> |
| | |
| | | <template> |
| | | <el-dialog class="ztzf-page-map-view-dialog" v-model="visible" :show-close="false" :close-on-click-modal="false"> |
| | | <el-dialog class="command-page-map-view-dialog" v-model="visible" :show-close="false" :close-on-click-modal="false"> |
| | | <div class="dialog-container"> |
| | | <div class="left-container"> |
| | | <div class="leftMap ztzf-cesium" id="mapContainer"></div> |
| | | <div class="leftMap command-cesium" id="mapContainer"></div> |
| | | </div> |
| | | |
| | | <div class="right-container"> |
| | |
| | | </el-row> |
| | | |
| | | <div class="detail-title">关联场景</div> |
| | | <div class="ztzf-table-container"> |
| | | <div class="ztzf-table-content"> |
| | | <el-table class="ztzf-data-cockpit-table" :data="sceneList" row-key="id"> |
| | | <div class="command-table-container"> |
| | | <div class="command-table-content"> |
| | | <el-table class="command-data-cockpit-table" :data="sceneList" row-key="id"> |
| | | <el-table-column prop="sceneName" label="场景名称" /> |
| | | <el-table-column prop="sceneType" label="场景类型"> |
| | | <template v-slot="{ row }"> |
| | |
| | | <el-form class="dialog-form" v-else ref="formRef" :model="formData" :rules="rules" :disabled="readonly" |
| | | label-width="96px"> |
| | | <el-form-item label="防区名称" prop="zoneName"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.zoneName" maxlength="50" |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.zoneName" maxlength="50" |
| | | placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="防区面积" prop="zoneArea"> |
| | |
| | | 关联场景 |
| | | </div> |
| | | |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="searchName" placeholder="请输入" |
| | | <el-input class="command-data-cockpit-search-input" v-model="searchName" placeholder="请输入" |
| | | clearable></el-input> |
| | | </div> |
| | | |
| | | <el-form-item prop="defenseSceneIds" label-width="0"> |
| | | <el-table class="ztzf-data-cockpit-table" ref="sceneTableRef" |
| | | <el-table class="command-data-cockpit-table" ref="sceneTableRef" |
| | | :data="sceneList.filter(item => item.sceneName.includes(searchName))" row-key="id" |
| | | @selection-change="handleSceneSelectionChange"> |
| | | <el-table-column type="selection" width="55" :reserve-selection="true" /> |
| | |
| | | <template> |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="ztzf-page-history-search"> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="防区名称" prop="zoneName"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="searchParams.zoneName" placeholder="请输入" |
| | | <el-input class="command-data-cockpit-search-input" v-model="searchParams.zoneName" placeholder="请输入" |
| | | clearable @clear="handleSearch" /> |
| | | </el-form-item> |
| | | |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <div class="ztzf-table-toolbar"> |
| | | <div class="command-table-toolbar"> |
| | | <el-button :icon="Plus" color="#284FE3" type="primary" @click="openForm('add')">新增</el-button> |
| | | <el-button :icon="Delete" color="#1A2652" type="primary" :disabled="!selectedIds.length" @click="handleDelete()">删除</el-button> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="ztzf-table-content ztzf-table-content-bg"> |
| | | <el-table class="ztzf-data-cockpit-table" :data="list" @selection-change="handleSelectionChange"> |
| | | <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="command-table-content command-table-content-bg"> |
| | | <el-table class="command-data-cockpit-table" :data="list" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="46" /> |
| | | <el-table-column type="index" show-overflow-tooltip width="64" label="序号" /> |
| | | <el-table-column prop="zoneName" show-overflow-tooltip label="防区名称" /> |
| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-pagination"> |
| | | <el-pagination popper-class="ztzf-data-cockpit-select-popper" |
| | | <div class="command-table-pagination"> |
| | | <el-pagination popper-class="command-data-cockpit-select-popper" |
| | | v-model:current-page="searchParams.current" v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" :total="total" @change="getList" /> |
| | | </div> |
| | |
| | | const tips = row ? '该条' : '选中的项' |
| | | await ElMessageBox.confirm(`确认删除${tips}吗?`, '提示', { |
| | | type: 'warning', |
| | | customClass: 'ztzf-page-view-message-box', |
| | | confirmButtonClass: 'ztzf-message-box-confirm', |
| | | cancelButtonClass: 'ztzf-message-box-cancel', |
| | | customClass: 'command-page-view-message-box', |
| | | confirmButtonClass: 'command-message-box-confirm', |
| | | cancelButtonClass: 'command-message-box-cancel', |
| | | }) |
| | | const ids = row ? row.id : selectedIds.value.join(',') |
| | | await fwDefenseZoneRemoveApi({ ids }) |
| | |
| | | <template> |
| | | <el-dialog class="ztzf-page-map-view-dialog" v-model="visible" :show-close="false" |
| | | <el-dialog class="command-page-map-view-dialog" v-model="visible" :show-close="false" |
| | | :close-on-click-modal="false"> |
| | | <div class="dialog-container"> |
| | | <div class="left-container"> |
| | | <div class="leftMap ztzf-cesium" id="mapContainer"></div> |
| | | <div class="leftMap command-cesium" id="mapContainer"></div> |
| | | </div> |
| | | |
| | | <div class="right-container"> |
| | |
| | | </el-row> |
| | | |
| | | <div class="detail-title">关联设备</div> |
| | | <div class="ztzf-table-container"> |
| | | <div class="ztzf-table-content"> |
| | | <el-table class="ztzf-data-cockpit-table" ref="deviceTableRef" :data="deviceOptions" |
| | | <div class="command-table-container"> |
| | | <div class="command-table-content"> |
| | | <el-table class="command-data-cockpit-table" ref="deviceTableRef" :data="deviceOptions" |
| | | row-key="id"> |
| | | <el-table-column prop="deviceName" label="设备名称" /> |
| | | <el-table-column prop="deviceType" label="类型"> |
| | |
| | | <el-form class="dialog-form" v-else ref="formRef" :model="formData" :rules="rules" :disabled="readonly" |
| | | label-width="96px"> |
| | | <el-form-item label="区域名称" prop="areaName"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.areaName" maxlength="50" |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.areaName" maxlength="50" |
| | | placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="区域位置" prop="longitude"> |
| | |
| | | <div class="val">{{ formData.areaSize || '-' }}k㎡</div> |
| | | </el-form-item> |
| | | <el-form-item label="区域类型" prop="areaType"> |
| | | <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper" |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.areaType" placeholder="请选择" clearable> |
| | | <el-option v-for="item in dictObj.areaType" :key="item.dictKey" :label="item.dictValue" |
| | | :value="item.dictKey" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="响应机制" prop="responseMechanism"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.responseMechanism" |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.responseMechanism" |
| | | maxlength="200" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="触发条件" prop="triggerCondition"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.triggerCondition" |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.triggerCondition" |
| | | maxlength="200" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="管控级别" prop="controlLevel"> |
| | | <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper" |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.controlLevel" placeholder="请选择" clearable> |
| | | <el-option v-for="item in dictObj.controlLevel" :key="item.dictKey" :label="item.dictValue" |
| | | :value="item.dictKey" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="可飞行时段" prop="flyDateStart"> |
| | | <el-date-picker class="ztzf-data-cockpit-date-picker" |
| | | popper-class="ztzf-data-cockpit-date-picker-popper" v-model="flyDateRange" |
| | | <el-date-picker class="command-data-cockpit-date-picker" |
| | | popper-class="command-data-cockpit-date-picker-popper" v-model="flyDateRange" |
| | | type="datetimerange" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" |
| | | value-format="YYYY-MM-DD HH:mm:ss" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="关联派出所" prop="policeStationId"> |
| | | <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper" |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.policeStationId" placeholder="请选择" clearable> |
| | | <el-option v-for="item in policeStationOptions" :key="item.id" :label="item.stationName" |
| | | :value="item.id" /> |
| | |
| | | 关联设备 |
| | | </div> |
| | | |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="searchName" placeholder="请输入" |
| | | <el-input class="command-data-cockpit-search-input" v-model="searchName" placeholder="请输入" |
| | | clearable></el-input> |
| | | </div> |
| | | |
| | | <el-form-item prop="deviceIds" label-width="0"> |
| | | <el-table class="ztzf-data-cockpit-table" ref="deviceTableRef" |
| | | <el-table class="command-data-cockpit-table" ref="deviceTableRef" |
| | | :data="deviceOptions.filter(item => item.deviceName.includes(searchName))" row-key="id" |
| | | @selection-change="handleDeviceSelectionChange"> |
| | | <el-table-column type="selection" width="55" :reserve-selection="true" /> |
| | |
| | | <template> |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="ztzf-page-history-search"> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="区域名称" prop="areaName"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="searchParams.areaName" placeholder="请输入" |
| | | <el-input class="command-data-cockpit-search-input" v-model="searchParams.areaName" placeholder="请输入" |
| | | clearable @clear="handleSearch" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="区域类型" prop="areaType"> |
| | | <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper" |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | v-model="searchParams.areaType" placeholder="请选择" clearable @change="handleSearch"> |
| | | <el-option v-for="item in dictObj.areaType" :key="item.dictKey" :label="item.dictValue" |
| | | :value="item.dictKey" /> |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <div class="ztzf-table-toolbar"> |
| | | <div class="command-table-toolbar"> |
| | | <el-button :icon="Plus" color="#284FE3" type="primary" @click="openForm('add')">新增</el-button> |
| | | <el-button :icon="Delete" color="#1A2652" :disabled="!selectedIds.length" @click="handleDelete()">删除</el-button> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="ztzf-table-content ztzf-table-content-bg"> |
| | | <el-table class="ztzf-data-cockpit-table" :data="list" @selection-change="handleSelectionChange"> |
| | | <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="command-table-content command-table-content-bg"> |
| | | <el-table class="command-data-cockpit-table" :data="list" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="46" /> |
| | | <el-table-column type="index" show-overflow-tooltip width="64" label="序号" /> |
| | | <el-table-column prop="areaName" show-overflow-tooltip width="150" label="区域名称" /> |
| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-pagination"> |
| | | <el-pagination popper-class="ztzf-data-cockpit-select-popper" |
| | | <div class="command-table-pagination"> |
| | | <el-pagination popper-class="command-data-cockpit-select-popper" |
| | | v-model:current-page="searchParams.current" v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" :total="total" @change="getList" /> |
| | | </div> |
| | |
| | | <template> |
| | | <el-dialog class="ztzf-page-view-dialog" v-model="visible" :title="titleEnum[dialogMode]"> |
| | | <el-dialog class="command-page-view-dialog" v-model="visible" :title="titleEnum[dialogMode]"> |
| | | <div class="detail-container" v-if="readonly"> |
| | | <div class="detail-title">派出所详情</div> |
| | | <el-row> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="派出所名称" prop="stationName"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.stationName" maxlength="50" |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.stationName" maxlength="50" |
| | | placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="联系人" prop="contactPerson"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.contactPerson" maxlength="50" |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.contactPerson" maxlength="50" |
| | | placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="联系方式" prop="contactPhone"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.contactPhone" maxlength="50" |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.contactPhone" maxlength="50" |
| | | placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | </el-button> |
| | | </template> |
| | | |
| | | <el-dialog class="ztzf-page-map-view-dialog" v-model="visible1" :show-close="false" |
| | | <el-dialog class="command-page-map-view-dialog" v-model="visible1" :show-close="false" |
| | | :close-on-click-modal="false" destroy-on-close @closed="positionClosed"> |
| | | <div class="dialog-container"> |
| | | <div class="left-container"> |
| | | <div class="leftMap ztzf-cesium" id="mapContainer"></div> |
| | | <div class="leftMap command-cesium" id="mapContainer"></div> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <template> |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="ztzf-page-history-search"> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="派出所名称" prop="stationName"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="searchParams.stationName" placeholder="请输入" |
| | | <el-input class="command-data-cockpit-search-input" v-model="searchParams.stationName" placeholder="请输入" |
| | | clearable @clear="handleSearch" /> |
| | | </el-form-item> |
| | | |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <div class="ztzf-table-toolbar"> |
| | | <div class="command-table-toolbar"> |
| | | <el-button :icon="Plus" color="#284FE3" type="primary" @click="openForm('add')">新增</el-button> |
| | | <el-button :icon="Delete" color="#1A2652" :disabled="!selectedIds.length" @click="handleDelete()">删除</el-button> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="ztzf-table-content ztzf-table-content-bg"> |
| | | <el-table class="ztzf-data-cockpit-table" :data="list" @selection-change="handleSelectionChange"> |
| | | <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="command-table-content command-table-content-bg"> |
| | | <el-table class="command-data-cockpit-table" :data="list" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="46" /> |
| | | <el-table-column type="index" show-overflow-tooltip width="64" label="序号" /> |
| | | <el-table-column prop="stationName" show-overflow-tooltip label="派出所名称" /> |
| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-pagination"> |
| | | <el-pagination popper-class="ztzf-data-cockpit-select-popper" |
| | | <div class="command-table-pagination"> |
| | | <el-pagination popper-class="command-data-cockpit-select-popper" |
| | | v-model:current-page="searchParams.current" v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" :total="total" @change="getList" /> |
| | | </div> |
| | |
| | | const tips = row ? '该条' : '选中的项' |
| | | await ElMessageBox.confirm(`确认删除${tips}吗?`, '提示', { |
| | | type: 'warning', |
| | | customClass: 'ztzf-page-view-message-box', |
| | | confirmButtonClass: 'ztzf-message-box-confirm', |
| | | cancelButtonClass: 'ztzf-message-box-cancel', |
| | | customClass: 'command-page-view-message-box', |
| | | confirmButtonClass: 'command-message-box-confirm', |
| | | cancelButtonClass: 'command-message-box-cancel', |
| | | }) |
| | | const ids = row ? row.id : selectedIds.value.join(',') |
| | | await fwPoliceStationRemoveApi({ ids }) |
| | |
| | | <template> |
| | | <el-dialog class="ztzf-page-map-view-dialog" v-model="visible" :show-close="false" :close-on-click-modal="false"> |
| | | <el-dialog class="command-page-map-view-dialog" v-model="visible" :show-close="false" :close-on-click-modal="false"> |
| | | <div class="dialog-container"> |
| | | <div class="left-container"> |
| | | <div class="leftMap ztzf-cesium" id="mapContainer"></div> |
| | | <div class="leftMap command-cesium" id="mapContainer"></div> |
| | | </div> |
| | | <div class="right-container"> |
| | | <div class="header"> |
| | |
| | | </el-row> |
| | | |
| | | <div class="detail-title">关联区域</div> |
| | | <div class="ztzf-table-container"> |
| | | <div class="ztzf-table-content"> |
| | | <el-table class="ztzf-data-cockpit-table" ref="areaTableRef" :data="areaList" row-key="id"> |
| | | <div class="command-table-container"> |
| | | <div class="command-table-content"> |
| | | <el-table class="command-data-cockpit-table" ref="areaTableRef" :data="areaList" row-key="id"> |
| | | <el-table-column prop="areaName" label="区域名称" /> |
| | | <el-table-column prop="areaType" label="区域类型"> |
| | | <template v-slot="{ row }"> |
| | |
| | | <el-form class="dialog-form" v-else ref="formRef" :model="formData" :rules="rules" :disabled="readonly" |
| | | label-width="96px"> |
| | | <el-form-item label="场景名称" prop="sceneName"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.sceneName" maxlength="50" |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.sceneName" maxlength="50" |
| | | placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="指挥点位置" prop="longitude"> |
| | | <div class="val">{{ formatLocation(formData) }}</div> |
| | | </el-form-item> |
| | | <el-form-item label="场景类型" prop="sceneType"> |
| | | <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper" |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.sceneType" placeholder="请选择" clearable> |
| | | <el-option v-for="item in dictObj.sceneType" :key="item.dictKey" :label="item.dictValue" |
| | | :value="item.dictKey" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="负责人" prop="defenseLeader"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.defenseLeader" maxlength="50" |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.defenseLeader" maxlength="50" |
| | | placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="负责人电话" prop="leaderPhone"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.leaderPhone" maxlength="50" |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.leaderPhone" maxlength="50" |
| | | placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="设备模式" prop="deviceMode"> |
| | | <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper" |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.deviceMode" placeholder="请选择" clearable> |
| | | <el-option v-for="item in dictObj.deviceMode" :key="item.dictKey" :label="item.dictValue" |
| | | :value="item.dictKey" /> |
| | |
| | | 关联区域 |
| | | </div> |
| | | |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="searchName" placeholder="请输入" |
| | | <el-input class="command-data-cockpit-search-input" v-model="searchName" placeholder="请输入" |
| | | clearable></el-input> |
| | | </div> |
| | | |
| | | <el-form-item prop="areaDivideIds" label-width="0"> |
| | | <el-table class="ztzf-data-cockpit-table" ref="areaTableRef" |
| | | <el-table class="command-data-cockpit-table" ref="areaTableRef" |
| | | :data="areaList.filter(item => item.areaName.includes(searchName))" row-key="id" |
| | | @selection-change="handleAreaSelectionChange"> |
| | | <el-table-column type="selection" width="55" :reserve-selection="true" /> |
| | |
| | | <template> |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="ztzf-page-history-search"> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="场景名称" prop="sceneName"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="searchParams.sceneName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="场景类型" prop="sceneType"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="searchParams.sceneType" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="场景状态" prop="status"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="searchParams.status" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <div class="ztzf-table-toolbar"> |
| | | <div class="command-table-toolbar"> |
| | | <el-button :icon="Plus" color="#284FE3" type="primary" @click="openForm('add')">新增</el-button> |
| | | <el-button :icon="Delete" color="#1A2652" :disabled="!selectedIds.length" @click="handleDelete()">删除</el-button> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="ztzf-table-content ztzf-table-content-bg"> |
| | | <el-table class="ztzf-data-cockpit-table" :data="list" @selection-change="handleSelectionChange"> |
| | | <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="command-table-content command-table-content-bg"> |
| | | <el-table class="command-data-cockpit-table" :data="list" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="46" /> |
| | | <el-table-column type="index" show-overflow-tooltip width="64" label="序号" /> |
| | | |
| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-pagination"> |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | const tips = row ? '该条' : '选中的项' |
| | | await ElMessageBox.confirm(`确认删除${tips}吗?`, '提示', { |
| | | type: 'warning', |
| | | customClass: 'ztzf-page-view-message-box', |
| | | confirmButtonClass: 'ztzf-message-box-confirm', |
| | | cancelButtonClass: 'ztzf-message-box-cancel', |
| | | customClass: 'command-page-view-message-box', |
| | | confirmButtonClass: 'command-message-box-confirm', |
| | | cancelButtonClass: 'command-message-box-cancel', |
| | | }) |
| | | const ids = row ? row.id : selectedIds.value.join(',') |
| | | await fwDefenseSceneRemoveApi({ ids }) |
| | |
| | | <template> |
| | | <el-dialog class="ztzf-page-view-dialog" v-model="visible" :title="titleEnum[dialogMode]" @closed="handleClosed" |
| | | <el-dialog class="command-page-view-dialog" v-model="visible" :title="titleEnum[dialogMode]" @closed="handleClosed" |
| | | destroy-on-close> |
| | | <div class="detail-container" v-if="dialogReadonly"> |
| | | <el-row> |
| | |
| | | <template> |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="ztzf-page-history-search"> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="设备名称" prop="deviceName"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="searchParams.deviceName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="设备类型" prop="deviceType"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="searchParams.deviceType" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="所属部门" prop="belongDept"> |
| | | <el-tree-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-tree-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-tree-select-popper" |
| | | v-model="searchParams.belongDept" |
| | | :data="deptTree" |
| | | :props="treeProps" |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="ztzf-table-content ztzf-table-content-bg"> |
| | | <el-table class="ztzf-data-cockpit-table" :data="list"> |
| | | <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="command-table-content command-table-content-bg"> |
| | | <el-table class="command-data-cockpit-table" :data="list"> |
| | | <el-table-column type="index" show-overflow-tooltip width="64" label="序号" /> |
| | | <el-table-column prop="deviceName" show-overflow-tooltip label="设备名称" /> |
| | | <el-table-column prop="deviceType" show-overflow-tooltip label="设备类型"> |
| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-pagination"> |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | <template> |
| | | <el-dialog class="ztzf-page-view-dialog" v-model="visible" :title="dialogTitle" @closed="handleClosed" destroy-on-close> |
| | | <el-dialog class="command-page-view-dialog" v-model="visible" :title="dialogTitle" @closed="handleClosed" destroy-on-close> |
| | | <el-form class="dialog-form" ref="formRef" :model="formData" :rules="rules" label-width="100px"> |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="报废原因" prop="scrapReason"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.scrapReason" maxlength="200" type="textarea" placeholder="请输入" clearable /> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.scrapReason" maxlength="200" type="textarea" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-form-item label="处置方式" prop="disposeWay"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.disposeWay" maxlength="200" type="textarea" placeholder="请输入" clearable /> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.disposeWay" maxlength="200" type="textarea" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="报废时间" prop="scrapTime"> |
| | | <el-date-picker class="ztzf-data-cockpit-date-picker" popper-class="ztzf-data-cockpit-date-picker-popper" |
| | | <el-date-picker class="command-data-cockpit-date-picker" popper-class="command-data-cockpit-date-picker-popper" |
| | | v-model="formData.scrapTime" |
| | | type="datetime" |
| | | placeholder="选择日期" |
| | |
| | | <template> |
| | | <el-dialog class="ztzf-page-view-dialog" v-model="visible" :title="dialogTitle" @closed="handleClosed" destroy-on-close> |
| | | <el-dialog class="command-page-view-dialog" v-model="visible" :title="dialogTitle" @closed="handleClosed" destroy-on-close> |
| | | <el-form class="dialog-form" ref="formRef" :model="formData" :rules="rules" label-width="100px"> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="负责人" prop="charger"> |
| | | <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper" v-model="formData.charger" placeholder="请选择" clearable> |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" v-model="formData.charger" placeholder="请选择" clearable> |
| | | <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.name" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="联系电话" prop="contactPhone"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.contactPhone" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.contactPhone" maxlength="50" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="出库去向" prop="outTarget"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.outTarget" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.outTarget" maxlength="50" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="出库时间" prop="outTime"> |
| | | <el-date-picker class="ztzf-data-cockpit-date-picker" popper-class="ztzf-data-cockpit-date-picker-popper" |
| | | <el-date-picker class="command-data-cockpit-date-picker" popper-class="command-data-cockpit-date-picker-popper" |
| | | v-model="formData.outTime" |
| | | type="date" |
| | | placeholder="选择日期" |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="用途" prop="purpose"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.purpose" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.purpose" maxlength="50" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <template> |
| | | <el-dialog class="ztzf-page-view-dialog" v-model="visible" :title="dialogTitle" @closed="handleClosed" |
| | | <el-dialog class="command-page-view-dialog" v-model="visible" :title="dialogTitle" @closed="handleClosed" |
| | | destroy-on-close> |
| | | <div class="detail-container" v-if="dialogReadonly"> |
| | | <div class="detail-title">设备详情</div> |
| | |
| | | </el-row> |
| | | |
| | | <div class="detail-title">设备跟踪流转</div> |
| | | <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="ztzf-table-content"> |
| | | <el-table class="ztzf-data-cockpit-table" :data="list"> |
| | | <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="command-table-content"> |
| | | <el-table class="command-data-cockpit-table" :data="list"> |
| | | <el-table-column type="index" width="60" label="序号" /> |
| | | <el-table-column prop="charger" label="用户" /> |
| | | <el-table-column prop="contactPhone" label="电话" /> |
| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-pagination"> |
| | | <el-pagination popper-class="ztzf-data-cockpit-select-popper" |
| | | <div class="command-table-pagination"> |
| | | <el-pagination popper-class="command-data-cockpit-select-popper" |
| | | v-model:current-page="searchParams.current" v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" :total="total" @change="getList" /> |
| | | </div> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="设备名称" prop="deviceName"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.deviceName" maxlength="50" |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.deviceName" maxlength="50" |
| | | placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="设备类型" prop="deviceType"> |
| | | <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper" |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.deviceType" placeholder="请选择" clearable> |
| | | <el-option v-for="item in dictObj.deviceType" :key="item.dictKey" :label="item.dictValue" |
| | | :value="item.dictKey" /> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="设备属性" prop="deviceAtt"> |
| | | <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper" |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.deviceAtt" placeholder="请选择" clearable> |
| | | <el-option v-for="item in dictObj.deviceAtt" :key="item.dictKey" :label="item.dictValue" |
| | | :value="item.dictKey" /> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="型号" prop="deviceModel"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.deviceModel" maxlength="50" |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.deviceModel" maxlength="50" |
| | | placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="规格" prop="deviceSpecification"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.deviceSpecification" |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.deviceSpecification" |
| | | maxlength="50" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="生产厂商" prop="manufacturer"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.manufacturer" maxlength="50" |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.manufacturer" maxlength="50" |
| | | placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="来源" prop="source"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.source" maxlength="50" |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.source" maxlength="50" |
| | | placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="用途" prop="purpose"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.purpose" maxlength="50" |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.purpose" maxlength="50" |
| | | placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="所属部门" prop="belongDept"> |
| | | <el-tree-select class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-tree-select-popper" v-model="formData.belongDept" |
| | | <el-tree-select class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-tree-select-popper" v-model="formData.belongDept" |
| | | node-key="id" :data="deptTree" :props="treeProps" check-strictly @change="belongDeptChange" |
| | | clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="负责人" prop="charger"> |
| | | <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper" |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.charger" placeholder="请选择" :disabled="!formData.belongDept" clearable> |
| | | <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.name" /> |
| | | </el-select> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="联系电话" prop="contactPhone"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.contactPhone" maxlength="50" |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.contactPhone" maxlength="50" |
| | | placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <DeviceChart3 /> |
| | | </div> |
| | | |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="ztzf-page-history-search"> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="设备名称" prop="deviceName"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="searchParams.deviceName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="设备类型" prop="deviceType"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="searchParams.deviceType" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="所属部门" prop="belongDept"> |
| | | <el-tree-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-tree-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-tree-select-popper" |
| | | v-model="searchParams.belongDept" |
| | | :data="deptTree" |
| | | :props="treeProps" |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <div class="ztzf-table-toolbar"> |
| | | <div class="command-table-toolbar"> |
| | | <el-button :icon="Plus" color="#284FE3" type="primary" @click="handleAdd">设备建档</el-button> |
| | | <!-- <el-button type="danger" :disabled="!selectedIds.length" @click="handleDelete()">删除</el-button>--> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="ztzf-table-content ztzf-table-content-bg"> |
| | | <el-table class="ztzf-data-cockpit-table" :data="list" @selection-change="handleSelectionChange"> |
| | | <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="command-table-content command-table-content-bg"> |
| | | <el-table class="command-data-cockpit-table" :data="list" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="46" /> |
| | | <el-table-column type="index" show-overflow-tooltip width="64" label="序号" /> |
| | | <el-table-column prop="deviceName" show-overflow-tooltip width="130" label="设备名称" /> |
| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-pagination"> |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | <template> |
| | | <el-dialog class="ztzf-page-view-dialog" v-model="visible" :title="titleEnum[dialogMode]" @closed="handleClosed" |
| | | <el-dialog class="command-page-view-dialog" v-model="visible" :title="titleEnum[dialogMode]" @closed="handleClosed" |
| | | destroy-on-close> |
| | | <div class="detail-container" v-if="dialogReadonly"> |
| | | <div class="detail-title">设备详情</div> |
| | |
| | | </el-row> |
| | | |
| | | <div class="detail-title">维护详情</div> |
| | | <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="ztzf-table-content"> |
| | | <el-table class="ztzf-data-cockpit-table" :data="list"> |
| | | <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="command-table-content"> |
| | | <el-table class="command-data-cockpit-table" :data="list"> |
| | | <el-table-column type="index" width="60" label="序号" /> |
| | | <el-table-column prop="maintainTime" label="维护时间" /> |
| | | <el-table-column prop="maintainContent" label="维护内容" /> |
| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-pagination"> |
| | | <el-pagination popper-class="ztzf-data-cockpit-select-popper" |
| | | <div class="command-table-pagination"> |
| | | <el-pagination popper-class="command-data-cockpit-select-popper" |
| | | v-model:current-page="searchParams.current" v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" :total="total" @change="getList" /> |
| | | </div> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="选择设备" prop="deviceId"> |
| | | <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper" |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.deviceId" placeholder="请选择" filterable clearable> |
| | | <el-option v-for="item in deviceList" :key="item.id" :label="item.deviceName" |
| | | :value="item.id" /> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="维护计划周期" prop="planCycleType"> |
| | | <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper" |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.planCycleType" placeholder="请选择" clearable |
| | | @change="formData.planCycleValue = []"> |
| | | <el-option v-for="item in planCycleOptions" :key="item.value" :label="item.label" |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="维护计划时间" prop="planCycleValue"> |
| | | <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper" |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.planCycleValue" placeholder="请选择" clearable multiple |
| | | :disabled="!formData.planCycleType"> |
| | | <el-option v-for="item in planCycleValueOptions" :key="item.value" :label="item.value" |
| | |
| | | <template> |
| | | <el-dialog |
| | | class="ztzf-page-view-dialog" |
| | | class="command-page-view-dialog" |
| | | v-model="visible" |
| | | :title="titleEnum[dialogMode]" |
| | | @closed="handleClosed" |
| | |
| | | <el-col :span="24"> |
| | | <el-form-item label="维护内容" prop="maintainContent"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="formData.maintainContent" |
| | | maxlength="200" |
| | | type="textarea" |
| | |
| | | <el-col :span="24"> |
| | | <el-form-item label="更换部件" prop="replacePart"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="formData.replacePart" |
| | | maxlength="200" |
| | | type="textarea" |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="实际维护时间" prop="maintainTime"> |
| | | <el-date-picker |
| | | class="ztzf-data-cockpit-date-picker" |
| | | popper-class="ztzf-data-cockpit-date-picker-popper" |
| | | class="command-data-cockpit-date-picker" |
| | | popper-class="command-data-cockpit-date-picker-popper" |
| | | v-model="formData.maintainTime" |
| | | type="datetime" |
| | | placeholder="选择日期" |
| | |
| | | <template> |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="ztzf-page-history-search"> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="设备名称" prop="deviceName"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="searchParams.deviceName" placeholder="请输入" |
| | | <el-input class="command-data-cockpit-search-input" v-model="searchParams.deviceName" placeholder="请输入" |
| | | clearable @clear="handleSearch" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="设备类型" prop="deviceType"> |
| | | <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper" |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | v-model="searchParams.deviceType" placeholder="请选择" clearable @change="handleSearch"> |
| | | <el-option v-for="item in dictObj.deviceType" :key="item.dictKey" :label="item.dictValue" |
| | | :value="item.dictKey" /> |
| | |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="所属部门" prop="belongDept"> |
| | | <el-tree-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-tree-select-popper" |
| | | <el-tree-select class="command-data-cockpit-select" popper-class="command-data-cockpit-tree-select-popper" |
| | | v-model="searchParams.belongDept" :data="deptTree" :props="treeProps" node-key="id" check-strictly |
| | | clearable @change="handleSearch" /> |
| | | </el-form-item> |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <div class="ztzf-table-toolbar"> |
| | | <div class="command-table-toolbar"> |
| | | <el-button :icon="Plus" color="#284FE3" type="primary" @click="handleAdd">维护计划</el-button> |
| | | <el-button :icon="Delete" color="#1A2652" :disabled="!selectedIds.length" @click="handleDelete()">删除</el-button> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="ztzf-table-content ztzf-table-content-bg"> |
| | | <el-table class="ztzf-data-cockpit-table" :data="list" @selection-change="handleSelectionChange"> |
| | | <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="command-table-content command-table-content-bg"> |
| | | <el-table class="command-data-cockpit-table" :data="list" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="46" /> |
| | | <el-table-column prop="deviceName" show-overflow-tooltip label="设备名称" /> |
| | | <el-table-column prop="deviceType" show-overflow-tooltip label="设备类型"> |
| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-pagination"> |
| | | <el-pagination popper-class="ztzf-data-cockpit-select-popper" |
| | | <div class="command-table-pagination"> |
| | | <el-pagination popper-class="command-data-cockpit-select-popper" |
| | | v-model:current-page="searchParams.current" v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" :total="total" @change="getList" /> |
| | | </div> |
| | |
| | | const tips = row ? '该条' : '选中的项' |
| | | await ElMessageBox.confirm(`确认删除${tips}吗?`, '提示', { |
| | | type: 'warning', |
| | | customClass: 'ztzf-page-view-message-box', |
| | | confirmButtonClass: 'ztzf-message-box-confirm', |
| | | cancelButtonClass: 'ztzf-message-box-cancel', |
| | | customClass: 'command-page-view-message-box', |
| | | confirmButtonClass: 'command-message-box-confirm', |
| | | cancelButtonClass: 'command-message-box-cancel', |
| | | }) |
| | | const ids = row ? row.id : selectedIds.value.join(',') |
| | | await fwDeviceMaintainPlanRemoveApi({ ids }) |
| | |
| | | <template> |
| | | <el-dialog modal-class="mapDialog" v-model="isShow" width="80%" class="ztzf-dialog-mange"> |
| | | <el-dialog modal-class="mapDialog" v-model="isShow" width="80%" class="command-dialog-mange"> |
| | | <template #header="{ titleId, titleClass }"> |
| | | <div class="my-header"> |
| | | <h4 :id="titleId" :class="titleClass">定位</h4> |
| | | </div> |
| | | </template> |
| | | <div class="mapBox"> |
| | | <div v-if="isShow" id="dataCenterMap" class="ztzf-cesium"></div> |
| | | <div v-if="isShow" id="dataCenterMap" class="command-cesium"></div> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | |
| | | <!-- 查看弹框 --> |
| | | <el-dialog |
| | | v-model="dialogVisible" |
| | | class="ztzf-dialog-mange" |
| | | class="command-dialog-mange" |
| | | width="60%" |
| | | append-to-body |
| | | @close="dialogClose" |
| | |
| | | <div |
| | | v-else-if="dialogDetailList?.resultType === 4" |
| | | id="detaildataCenterMap" |
| | | class="ztzf-cesium" |
| | | class="command-cesium" |
| | | ></div> |
| | | <img v-else :src="getSmallImg(dialogDetailList?.link)" alt="" /> |
| | | </div> |
| | |
| | | <!-- 视频预览 --> |
| | | <el-dialog |
| | | :title="currentVideoTitle" |
| | | class="ztzf-dialog-mange" |
| | | class="command-dialog-mange" |
| | | modal-class="videoDialog" |
| | | append-to-body |
| | | width="54%" |
| | |
| | | <template> |
| | | <el-dialog class="ztzf-data-cockpit-dialog" append-to-body v-model="visibleModel" :title="dialogTitle" |
| | | <el-dialog class="command-data-cockpit-dialog" append-to-body v-model="visibleModel" :title="dialogTitle" |
| | | :close-on-click-modal="false" :destroy-on-close="true"> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="ztzf-dialog-history-search"> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-dialog-history-search"> |
| | | <el-form-item label="关键字" prop="keyword"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="searchParams.keyword" placeholder="名称/序列号" |
| | | <el-input class="command-data-cockpit-search-input" v-model="searchParams.keyword" placeholder="名称/序列号" |
| | | clearable @clear="handleSearch" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item prop="dateRange"> |
| | | <el-date-picker class="ztzf-data-cockpit-date-picker" |
| | | popper-class="ztzf-data-cockpit-tree-select-popper" v-model="searchParams.dateRange" |
| | | <el-date-picker class="command-data-cockpit-date-picker" |
| | | popper-class="command-data-cockpit-tree-select-popper" v-model="searchParams.dateRange" |
| | | type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" |
| | | value-format="YYYY/MM/DD" @change="handleSearch" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="区域" prop="area"> |
| | | <el-tree-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-tree-select-popper" |
| | | <el-tree-select class="command-data-cockpit-select" popper-class="command-data-cockpit-tree-select-popper" |
| | | v-model="searchParams.area" :data="areaTree" :props="areaTreeProps" node-key="value" check-strictly |
| | | clearable placeholder="请选择" @change="handleSearch" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="无人机类型" prop="droneType"> |
| | | <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper" |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | v-model="searchParams.droneType" placeholder="请选择" clearable @change="handleSearch"> |
| | | <el-option v-for="item in droneTypeOptions" :key="item.value" :label="item.label" |
| | | :value="item.value" /> |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="ztzf-table-content"> |
| | | <el-table class="ztzf-data-cockpit-table" :data="list"> |
| | | <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="command-table-content"> |
| | | <el-table class="command-data-cockpit-table" :data="list"> |
| | | <el-table-column type="index" width="60" label="序号" /> |
| | | <el-table-column prop="droneName" label="无人机名称" min-width="120" /> |
| | | <el-table-column prop="droneSerialNo" label="无人机序列号" min-width="140" /> |
| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-pagination"> |
| | | <el-pagination popper-class="ztzf-data-cockpit-select-popper" |
| | | <div class="command-table-pagination"> |
| | | <el-pagination popper-class="command-data-cockpit-select-popper" |
| | | v-model:current-page="searchParams.current" v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" :total="total" @change="getList" /> |
| | | </div> |
| | |
| | | <!-- 搜索区(设计稿红框) --> |
| | | <div class="search-box"> |
| | | <!-- 关键字 --> |
| | | <el-input v-model="query.keyword" class="ztzf-data-cockpit-search-input" placeholder="请输入数据名称" clearable |
| | | <el-input v-model="query.keyword" class="command-data-cockpit-search-input" placeholder="请输入数据名称" clearable |
| | | @keyup.enter="onSearch"> |
| | | </el-input> |
| | | |
| | | <!-- 日期范围 --> |
| | | <el-date-picker v-model="query.dateRange" |
| | | class="ztzf-data-cockpit-date-picker" |
| | | popper-class="ztzf-data-cockpit-date-picker-popper" |
| | | class="command-data-cockpit-date-picker" |
| | | popper-class="command-data-cockpit-date-picker-popper" |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="创建开始日期" end-placeholder="结束日期" format="YYYY年MM月DD日" value-format="YYYY-MM-DD" |
| | |
| | | flex-direction: column; |
| | | gap: 10px; |
| | | |
| | | ::v-deep(.ztzf-data-cockpit-date-picker) { |
| | | ::v-deep(.command-data-cockpit-date-picker) { |
| | | width: 100% !important; |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <el-dialog |
| | | class="ztzf-page-view-dialog" |
| | | class="command-page-view-dialog" |
| | | v-model="visible" |
| | | :title="titleEnum[dialogMode]" |
| | | :close-on-click-modal="false" |
| | |
| | | <template> |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="ztzf-page-history-search"> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="设备名称" prop="deviceName"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="searchParams.deviceName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="设备类型" prop="deviceType"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="searchParams.deviceType" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="反制效果" prop="counterEffect"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="searchParams.counterEffect" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="ztzf-table-content ztzf-table-content-bg"> |
| | | <el-table class="ztzf-data-cockpit-table" :data="list"> |
| | | <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="command-table-content command-table-content-bg"> |
| | | <el-table class="command-data-cockpit-table" :data="list"> |
| | | <el-table-column type="index" width="64" show-overflow-tooltip label="序号" /> |
| | | <el-table-column prop="droneName" show-overflow-tooltip width="130" label="无人机名称" /> |
| | | <el-table-column prop="droneType" show-overflow-tooltip width="130" label="无人机类型" /> |
| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-pagination"> |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | <template> |
| | | <el-dialog |
| | | v-model="visible" |
| | | class="ztzf-page-map-view-dialog" |
| | | class="command-page-map-view-dialog" |
| | | :show-close="false" |
| | | :close-on-click-modal="false" |
| | | destroy-on-close |
| | |
| | | > |
| | | <div class="dialog-container"> |
| | | <div class="left-container"> |
| | | <div class="leftMap ztzf-cesium" id="detectionRangeMap"></div> |
| | | <div class="leftMap command-cesium" id="detectionRangeMap"></div> |
| | | </div> |
| | | |
| | | <div class="right-container"> |
| | |
| | | <el-form v-else ref="formRef" class="dialog-form" :model="formData" :rules="rules" label-width="110px"> |
| | | <el-form-item label="侦测设备" prop="deviceId"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.deviceId" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | <el-form-item label="设备类型" prop="deviceType"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.deviceType" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | <el-form-item label="设备位置" prop="deployLocation"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="formData.deployLocation" |
| | | disabled |
| | | placeholder="请选择位置" |
| | |
| | | </el-form-item> |
| | | <el-form-item label="设备编号" prop="deviceSn"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="formData.deviceSn" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | <el-form-item label="设备型号" prop="deviceModel"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="formData.deviceModel" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | <el-form-item label="覆盖范围(m)" prop="effectiveRangeKm"> |
| | | <el-input-number |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="formData.effectiveRangeKm" |
| | | :min="0" |
| | | :precision="2" |
| | |
| | | <template> |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="ztzf-page-history-search"> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="设备名称" prop="deviceName"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="searchParams.deviceName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="设备类型" prop="deviceType"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="searchParams.deviceType" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <div class="ztzf-table-toolbar"> |
| | | <div class="command-table-toolbar"> |
| | | <el-button :icon="Plus" color="#284FE3" type="primary" @click="handleAdd">新增</el-button> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="ztzf-table-content ztzf-table-content-bg"> |
| | | <el-table class="ztzf-data-cockpit-table" :data="list"> |
| | | <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="command-table-content command-table-content-bg"> |
| | | <el-table class="command-data-cockpit-table" :data="list"> |
| | | <el-table-column type="index" show-overflow-tooltip width="64" label="序号" /> |
| | | <el-table-column prop="deviceName" show-overflow-tooltip label="设备名称" /> |
| | | <el-table-column prop="deviceType" show-overflow-tooltip label="设备类型"> |
| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-pagination"> |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | async function handleDelete(row) { |
| | | await ElMessageBox.confirm('确认删除该条数据吗?', '提示', { |
| | | type: 'warning', |
| | | customClass: 'ztzf-page-view-message-box', |
| | | confirmButtonClass: 'ztzf-message-box-confirm', |
| | | cancelButtonClass: 'ztzf-message-box-cancel', |
| | | customClass: 'command-page-view-message-box', |
| | | confirmButtonClass: 'command-message-box-confirm', |
| | | cancelButtonClass: 'command-message-box-cancel', |
| | | }) |
| | | await detectionRangeSubmitApi({ id: row.id, effectiveRangeKm: 0 }) |
| | | ElMessage.success('删除成功') |
| | |
| | | <template> |
| | | <el-dialog |
| | | class="ztzf-page-view-dialog" |
| | | class="command-page-view-dialog" |
| | | v-model="visible" |
| | | :title="titleEnum[dialogMode]" |
| | | :close-on-click-modal="false" |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="起始扇区" prop="startSector"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="formData.startSector" |
| | | maxlength="50" |
| | | placeholder="请输入" |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="终止扇区" prop="endSector"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="formData.endSector" |
| | | maxlength="50" |
| | | placeholder="请输入" |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="搜索模式" prop="searchMode"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.searchMode" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="雷达频点" prop="radarFreq"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="formData.radarFreq" |
| | | maxlength="50" |
| | | placeholder="请输入" |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="伺服模式" prop="servoMode"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.servoMode" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="伺服数据模式" prop="servoDataMode"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.servoDataMode" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="轴选择" prop="axisSelect"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.axisSelect" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="伺服转速度" prop="servoTurnSpeed"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="formData.servoTurnSpeed" |
| | | maxlength="50" |
| | | placeholder="请输入" |
| | |
| | | <template> |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="ztzf-page-history-search"> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="设备名称" prop="deviceName"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="searchParams.deviceName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="设备类型" prop="deviceType"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="searchParams.deviceType" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="设备状态" prop="deviceStatus"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="searchParams.deviceStatus" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="ztzf-table-content ztzf-table-content-bg"> |
| | | <el-table class="ztzf-data-cockpit-table" :data="list"> |
| | | <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="command-table-content command-table-content-bg"> |
| | | <el-table class="command-data-cockpit-table" :data="list"> |
| | | <el-table-column type="index" width="64" show-overflow-tooltip label="序号" /> |
| | | <el-table-column prop="deviceType" show-overflow-tooltip label="设备类型"> |
| | | <template v-slot="{ row }"> |
| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-pagination"> |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | async function handleDelete(row) { |
| | | await ElMessageBox.confirm('确认删除该设备吗?', '提示', { |
| | | type: 'warning', |
| | | customClass: 'ztzf-page-view-message-box', |
| | | confirmButtonClass: 'ztzf-message-box-confirm', |
| | | cancelButtonClass: 'ztzf-message-box-cancel', |
| | | customClass: 'command-page-view-message-box', |
| | | confirmButtonClass: 'command-message-box-confirm', |
| | | cancelButtonClass: 'command-message-box-cancel', |
| | | }) |
| | | await fwDeviceRemoveApi({ ids: row.id }) |
| | | ElMessage.success('删除成功') |
| | |
| | | <template> |
| | | <el-dialog |
| | | class="ztzf-page-view-dialog" |
| | | class="command-page-view-dialog" |
| | | v-model="visible" |
| | | :title="titleEnum[dialogMode]" |
| | | destroy-on-close |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="设备" prop="deviceId"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.deviceId" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="设备编码" prop="deviceSn"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="formData.deviceSn" |
| | | disabled |
| | | placeholder="选择设备后自动带出" |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="场景" prop="defenseSceneId"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.defenseSceneId" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="区域" prop="areaDivideId"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.areaDivideId" |
| | | placeholder="请先选择场景" |
| | | clearable |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="调度人员" prop="dispatchUser"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="formData.dispatchUser" |
| | | maxlength="50" |
| | | placeholder="请输入" |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="调度日期" prop="dispatchDateRange"> |
| | | <el-date-picker |
| | | class="ztzf-data-cockpit-date-picker" |
| | | popper-class="ztzf-data-cockpit-date-picker-popper" |
| | | class="command-data-cockpit-date-picker" |
| | | popper-class="command-data-cockpit-date-picker-popper" |
| | | v-model="formData.dispatchDateRange" |
| | | type="datetimerange" |
| | | range-separator="至" |
| | |
| | | <el-col :span="24"> |
| | | <el-form-item label="调度内容" prop="dispatchContent"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="formData.dispatchContent" |
| | | type="textarea" |
| | | :rows="3" |
| | |
| | | <el-col :span="24"> |
| | | <el-form-item label="调度结果" prop="dispatchResult"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="formData.dispatchResult" |
| | | type="textarea" |
| | | :rows="3" |
| | |
| | | <el-col :span="24"> |
| | | <el-form-item label="处理措施" prop="disposeMeasure"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="formData.disposeMeasure" |
| | | type="textarea" |
| | | :rows="3" |
| | |
| | | </template> |
| | | |
| | | <el-dialog v-model="visible1" title="选择位置" destroy-on-close @closed="positionClosed"> |
| | | <div class="ztzf-cesium" id="mapContainer"></div> |
| | | <div class="command-cesium" id="mapContainer"></div> |
| | | <template #footer> |
| | | <el-button @click="handleMapCancel">取消</el-button> |
| | | <el-button type="primary" @click="handleMapConfirm">确定</el-button> |
| | |
| | | <template> |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="ztzf-page-history-search"> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="设备名称" prop="deviceId"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="searchParams.deviceId" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="设备状态" prop="status"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="searchParams.status" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="设备编码" prop="deviceSn"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="searchParams.deviceSn" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <div class="ztzf-table-toolbar"> |
| | | <div class="command-table-toolbar"> |
| | | <el-button :icon="Plus" color="#284FE3" type="primary" @click="openForm('add')">新增</el-button> |
| | | <el-button :icon="Delete" color="#1A2652" :disabled="!selectedIds.length" @click="handleDelete()">删除</el-button> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="ztzf-table-content ztzf-table-content-bg"> |
| | | <el-table class="ztzf-data-cockpit-table" :data="list" @selection-change="handleSelectionChange"> |
| | | <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="command-table-content command-table-content-bg"> |
| | | <el-table class="command-data-cockpit-table" :data="list" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="46" /> |
| | | <el-table-column type="index" show-overflow-tooltip width="64" label="序号" /> |
| | | <el-table-column prop="deviceName" show-overflow-tooltip width="140" label="设备名称" /> |
| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-pagination"> |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | <el-input v-model="operate_password" disabled></el-input> |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="注销" class="ztzf-dialog-mange zx-cancel" append-to-body v-model="cancenOperate" width="560px"> |
| | | <el-dialog title="注销" class="command-dialog-mange zx-cancel" append-to-body v-model="cancenOperate" width="560px"> |
| | | <div class="txt-contain"> |
| | | <img :src="warnSvg" />注销 |
| | | <span class="name"> |
| | |
| | | </template> |
| | | </el-dialog> |
| | | |
| | | <el-drawer class="ztzf-drawer-body-basic-container ztzf-el-card__body" title="机场授权管理" size="60%" append-to-body |
| | | <el-drawer class="command-drawer-body-basic-container command-el-card__body" title="机场授权管理" size="60%" append-to-body |
| | | v-model="devicePerShareVisible" :direction="'rtl'"> |
| | | <DevicePerShare ref="devicePerShare" /> |
| | | </el-drawer> |
| | |
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="固件上传" class="ztzf-dialog-mange" append-to-body v-model="firmwareUploadBox" width="40%" height="60%"> |
| | | <el-dialog title="固件上传" class="command-dialog-mange" append-to-body v-model="firmwareUploadBox" width="40%" height="60%"> |
| | | <el-form |
| | | ref="form" |
| | | class="ztzf-form-search" |
| | | class="command-form-search" |
| | | :model="importForm" |
| | | v-loading="loadingForm" |
| | | style="width: 80%; margin-left: 10%" |
| | |
| | | <!-- 历史任务详情 --> |
| | | <template> |
| | | <el-dialog class="ztzf-dialog" append-to-body modal-class="detailsOfHistoricalTasks" v-model="isShow" title="巡检任务详情" |
| | | <el-dialog class="command-dialog" append-to-body modal-class="detailsOfHistoricalTasks" v-model="isShow" title="巡检任务详情" |
| | | :width="pxToRem(1800)" :close-on-click-modal="false" :destroy-on-close="true"> |
| | | <div class="content"> |
| | | <div class="contentLeft"> |
| | |
| | | 回放直播 |
| | | </el-button> |
| | | |
| | | <el-popover placement="bottom-start" popper-class="ztzf-custom-popover bottom"> |
| | | <el-popover placement="bottom-start" popper-class="command-custom-popover bottom"> |
| | | <template #reference> |
| | | <el-button class="playback-video-btn" v-show="videoData.length > 1" type="primary" size="small"> |
| | | 回放直播 |
| | |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog class="ztzf-dialog" append-to-body modal-class="detailsOfHistoricalTasks" v-model="VideoShow" |
| | | <el-dialog class="command-dialog" append-to-body modal-class="detailsOfHistoricalTasks" v-model="VideoShow" |
| | | :width="pxToRem(1600)" :close-on-click-modal="false" :destroy-on-close="true"> |
| | | <div class="fullscreen"> |
| | | <video ref="fullscreenVideo" class="fullscreen-video" :src="currentVideoUrl" |
| | |
| | | <template> |
| | | <div id="deviceJobDetailsMap" class="ztzf-cesium"></div> |
| | | <div id="deviceJobDetailsMap" class="command-cesium"></div> |
| | | </template> |
| | | <script setup> |
| | | import { flyVisual } from '@/utils/cesium/mapUtil' |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="ztzf-table"> |
| | | <div class="command-table"> |
| | | <el-table |
| | | v-loading="loading" |
| | | :row-class-name="tableRowClassName" |
| | |
| | | <div class="btnGroups"> |
| | | <el-popover |
| | | v-if="scope.row.status === 3 || scope.row.status === 0" |
| | | popper-class="ztzf-custom-qrcode-popover" |
| | | popper-class="command-custom-qrcode-popover" |
| | | :width="pxToRem(119)" |
| | | :visible="scope.row.showQR" |
| | | placement="top" |
| | |
| | | </el-table> |
| | | </div> |
| | | <el-pagination v-if="list.length > 0" |
| | | class="ztzf-pagination" |
| | | class="command-pagination" |
| | | popper-class="custom-pagination-dropdown" |
| | | background |
| | | :page-sizes="[10, 20, 30, 50]" |
| | |
| | | <template> |
| | | <div class="task-algorithm" v-if="showAlgorithm"> |
| | | <el-select |
| | | class="ztzf-select" |
| | | class="command-select" |
| | | :teleported="false" |
| | | :style="{ width: pxToRem(setWidth) }" |
| | | v-model="ai_types" |
| | |
| | | </el-select> |
| | | </div> |
| | | <div class="task-business" v-if="showBusiness"> |
| | | <el-select class="ztzf-select" |
| | | <el-select class="command-select" |
| | | :teleported="false" |
| | | :style="{ width: pxToRem(setWidth) }" |
| | | v-model="industry_type" |
| | |
| | | // --el-tag-hover-color: none !important; |
| | | // color: #fff !important; |
| | | // } |
| | | ::v-deep(.ztzf-select) { |
| | | ::v-deep(.command-select) { |
| | | .el-select__wrapper { |
| | | z-index: 1111; |
| | | |
| | |
| | | <!-- 新建任务 --> |
| | | <template> |
| | | <el-dialog |
| | | class="ztzf-dialog" |
| | | class="command-dialog" |
| | | modal-class="add-task" |
| | | v-model="isShowAddTask" |
| | | title="新建任务" |
| | |
| | | <div class="search"> |
| | | <div class="item"> |
| | | <div class="itemchild">任务名称:</div> |
| | | <el-input class="ztzf-input" v-model="searchForm.name" placeholder="请输入"></el-input> |
| | | <el-input class="command-input" v-model="searchForm.name" placeholder="请输入"></el-input> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="itemchild">日期选择:</div> |
| | | <el-date-picker |
| | | popper-class="custom-date-picker" |
| | | class="ztzf-date-picker tasktimer" |
| | | class="command-date-picker tasktimer" |
| | | v-model="taskData" |
| | | type="date" |
| | | placeholder="请选择日期" |
| | |
| | | <el-time-picker |
| | | style="flex: 1" |
| | | popper-class="custom-time-picker" |
| | | class="ztzf-date-picker tasktimer" |
| | | class="command-date-picker tasktimer" |
| | | v-model="timeSlot" |
| | | placeholder="请选择" |
| | | format="HH:mm" |
| | |
| | | |
| | | <el-select |
| | | :teleported="false" |
| | | class="ztzf-select" |
| | | class="command-select" |
| | | v-model="searchForm.file_id" |
| | | @change="getWayLineFile" |
| | | placeholder="请选择" |
| | |
| | | </div> |
| | | <div class="item"> |
| | | <div class="itemchild">任务描述:</div> |
| | | <el-input class="ztzf-input" v-model="searchForm.remark" placeholder="请输入"></el-input> |
| | | <el-input class="command-input" v-model="searchForm.remark" placeholder="请输入"></el-input> |
| | | </div> |
| | | </div> |
| | | <div class="lines"> |
| | |
| | | effect="dark" |
| | | :content="scope.row.reason" |
| | | placement="top" |
| | | popper-class="reasonNotFly ztzf-tooltip-box1" |
| | | popper-class="reasonNotFly command-tooltip-box1" |
| | | > |
| | | <el-icon v-if="scope.row.status === 5 && scope.row.reason" color="#FF4848"><QuestionFilled /></el-icon> |
| | | </el-tooltip> |
| | |
| | | </el-table> |
| | | </div> |
| | | <div class="pagination" v-if="jobListData.length > 0"> |
| | | <el-pagination class="ztzf-pagination" popper-class="custom-pagination-dropdown" background |
| | | <el-pagination class="command-pagination" popper-class="custom-pagination-dropdown" background |
| | | :page-sizes="[10, 20, 30, 40, 50, 100]" :size="size" v-model:current-page="jobListParams.current" |
| | | v-model:page-size="jobListParams.size" layout="total, sizes, prev, pager, next, jumper" :total="total" |
| | | @size-change="handleSizeChange" @current-change="handleCurrentChange" /> |
| | |
| | | <template> |
| | | <div class="table-container ztzf-table"> |
| | | <div class="table-container command-table"> |
| | | <div class="taskTableTitle"><span>可飞行机巢列表</span></div> |
| | | <el-table |
| | | :data="tableData" |
| | |
| | | </el-table> |
| | | <div class="pagination"> |
| | | <el-pagination |
| | | class="ztzf-pagination" |
| | | class="command-pagination" |
| | | v-model:current-page="pagingParams.page" |
| | | v-model:page-size="pagingParams.size" |
| | | layout=" prev, pager, next" |
| | |
| | | 任务执行详情 |
| | | </div> |
| | | </div> |
| | | <div class="ztzf-table"> |
| | | <div class="command-table"> |
| | | <el-table |
| | | v-loading="loading" |
| | | element-loading-background="rgba(22, 43, 74, 0.79)" |
| | |
| | | effect="dark" |
| | | :content="scope.row.reason" |
| | | placement="top" |
| | | popper-class="reasonNotFly ztzf-tooltip-box1" |
| | | popper-class="reasonNotFly command-tooltip-box1" |
| | | > |
| | | <el-icon v-if="scope.row.status === 5 && scope.row.reason" color="#FF4848"><QuestionFilled /></el-icon> |
| | | </el-tooltip> |
| | |
| | | } |
| | | } |
| | | |
| | | .ztzf-table { |
| | | .command-table { |
| | | margin-bottom: 16px; |
| | | } |
| | | |
| | |
| | | <div class="itemRow"> |
| | | <div class="label">{{ itSLandPlanning ? '文件' : '文件夹' }}名称</div> |
| | | <div> |
| | | <el-input class="ztzf-layer-input inputName" v-model="formData.name" placeholder="请输入" /> |
| | | <el-input class="command-layer-input inputName" v-model="formData.name" placeholder="请输入" /> |
| | | </div> |
| | | </div> |
| | | <div class="itemRow" |
| | | v-if="(layerParams.addAnEditingFolder === 1 && layerParams.fileType !== 2) || (layerParams.addAnEditingFolder === 2 && layerParams.fileType !== 2) && !itSLandPlanning"> |
| | | <div class="label">关联算法</div> |
| | | <div> |
| | | <el-select class="ztzf-layer-search filter-item" @change="handleTypeChange" v-model="formData.event_type" |
| | | <el-select class="command-layer-search filter-item" @change="handleTypeChange" v-model="formData.event_type" |
| | | placeholder="请选择" clearable> |
| | | <el-option v-for="item in types" :key="item.value" :label="item.label" :value="item.value" /> |
| | | </el-select> |
| | | <el-select v-model="formData.algorithm_name" class="ztzf-layer-search" placeholder="请选择" clearable |
| | | <el-select v-model="formData.algorithm_name" class="command-layer-search" placeholder="请选择" clearable |
| | | :disabled="!formData.event_type"> |
| | | <el-option v-for="item in algorithms" :key="item.value" :label="item.label" :value="item.value" /> |
| | | </el-select> |
| | |
| | | <div class="table-overlay"> |
| | | <div class="searchBox"> |
| | | <el-input |
| | | class="ztzf-layer-input inputName" |
| | | class="command-layer-input inputName" |
| | | v-model="formData.dkbh" |
| | | placeholder="输入名称模糊搜索" |
| | | ></el-input> |
| | | <div class="searchAndReset"> |
| | | <el-button type="primary" icon="el-icon-search" @click="search">搜索</el-button> |
| | | <el-button class="ztzf-button" icon="el-icon-refresh" @click="reset">重置</el-button> |
| | | <el-button class="command-button" icon="el-icon-refresh" @click="reset">重置</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="btnGroups"> |
| | | <el-button v-if="activeName !== '国土空间规划'" class="ztzf-button" @click="addFence">{{ |
| | | <el-button v-if="activeName !== '国土空间规划'" class="command-button" @click="addFence">{{ |
| | | props.activeName === '自定义识别区' ? '新增识别区' : '新增禁飞区' |
| | | }}</el-button> |
| | | <el-button v-if="activeName !== '国土空间规划'" class="ztzf-button" @click="addFolder" |
| | | <el-button v-if="activeName !== '国土空间规划'" class="command-button" @click="addFolder" |
| | | >新增文件夹</el-button |
| | | > |
| | | <el-upload |
| | |
| | | :before-upload="e => uploadFlightFile(e, '1')" |
| | | accept=".zip" |
| | | > |
| | | <el-button class="ztzf-button"> 上传 </el-button> |
| | | <el-button class="command-button"> 上传 </el-button> |
| | | </el-upload> |
| | | |
| | | <!-- <template v-if="activeName === '自定义禁飞区'"> |
| | | <template v-if="failuresInfo.length"> |
| | | <el-button class="ztzf-button" @click="synchronize"> 继续同步 </el-button> |
| | | <el-button class="ztzf-button" @click="failuresDel"> 取消同步 </el-button> |
| | | <el-button class="command-button" @click="synchronize"> 继续同步 </el-button> |
| | | <el-button class="command-button" @click="failuresDel"> 取消同步 </el-button> |
| | | </template> |
| | | <el-button v-else class="ztzf-button" @click="synchronize"> 同步 </el-button> |
| | | <el-button v-else class="command-button" @click="synchronize"> 同步 </el-button> |
| | | </template> --> |
| | | |
| | | <!-- <el-button class="ztzf-button" @click="selectAll">全选</el-button> --> |
| | | <el-button class="ztzf-button" @click="selectAll"> |
| | | <!-- <el-button class="command-button" @click="selectAll">全选</el-button> --> |
| | | <el-button class="command-button" @click="selectAll"> |
| | | {{ checkedKeys.length === getAllFenceKeys().length ? '取消全选' : '全选' }} |
| | | </el-button> |
| | | </div> |
| | |
| | | element-loading-text="加载中..." |
| | | > |
| | | <el-tree |
| | | class="ztzf-el-tree" |
| | | class="command-el-tree" |
| | | :class="{ isTheTerritory: activeName === '国土空间规划' }" |
| | | ref="treeRef" |
| | | v-model="checkedKeys" |
| | |
| | | <div> |
| | | <el-select |
| | | :disabled="isDisabled" |
| | | class="ztzf-layer-search" |
| | | class="command-layer-search" |
| | | clearable |
| | | v-model="formData.folder_id" |
| | | placeholder="请选择" |
| | |
| | | <div> |
| | | <el-input |
| | | :disabled="isDisabled" |
| | | class="ztzf-layer-input inputName" |
| | | class="command-layer-input inputName" |
| | | v-model="formData.name" |
| | | placeholder="请输入" |
| | | /> |
| | |
| | | <div class="itemRow" v-if="layerParams.fenceType === 2"> |
| | | <div class="label">禁飞区管控时间</div> |
| | | <div> |
| | | <!-- popper-class="ztzf-layer-date-picker-popper " --> |
| | | <!-- popper-class="command-layer-date-picker-popper " --> |
| | | <el-date-picker |
| | | :disabled="isDisabled" |
| | | class="ztzf-layer-date-picker" |
| | | class="command-layer-date-picker" |
| | | v-model="timeValue" |
| | | type="datetimerange" |
| | | format="YYYY-MM-DD HH:mm" |
| | |
| | | <span |
| | | ><el-input |
| | | :disabled="isDisabled" |
| | | class="ztzf-layer-input inputName" |
| | | class="command-layer-input inputName" |
| | | v-model="formData.altitude" |
| | | placeholder="请输入" |
| | | /></span> |
| | |
| | | <div class="tool-tip" v-if="!isShowWaringTip && layerParams.addNest"> |
| | | {{ showToolTipText }} |
| | | </div> |
| | | <div id="layMap" class="ztzf-cesium"></div> |
| | | <div id="layMap" class="command-cesium"></div> |
| | | <leftList |
| | | v-if=" |
| | | !layerParams.addNest && |
| | |
| | | </avue-crud> |
| | | |
| | | <!-- 新增弹窗 --> |
| | | <el-dialog class="ztzf-dialog-mange" title="新增 License" v-model="addDialogVisible" width="70%" :close-on-click-modal="false" |
| | | <el-dialog class="command-dialog-mange" title="新增 License" v-model="addDialogVisible" width="70%" :close-on-click-modal="false" |
| | | @close="resetForm"> |
| | | <el-form :model="newLicense" ref="licenseForm" label-width="120px"> |
| | | <el-form-item label="机构ID" prop="licenseId"> |
| | |
| | | <!-- 飞行日志 --> |
| | | <template> |
| | | <div class="flight"> |
| | | <div class="ztzf-form-search"> |
| | | <div class="command-form-search"> |
| | | <el-form :model="params" inline> |
| | | <el-row :gutter="24"> |
| | | <el-col :span="4"> |
| | |
| | | </div> |
| | | |
| | | <div class="pagination"> |
| | | <el-pagination class="ztzf-pagination" popper-class="custom-pagination-dropdown" background |
| | | <el-pagination class="command-pagination" popper-class="custom-pagination-dropdown" background |
| | | :page-sizes="[10, 20, 30, 40, 50, 100]" :size="size" v-model:current-page="params.page" |
| | | v-model:page-size="params.page_size" layout="total, sizes, prev, pager, next, jumper" :total="total" |
| | | @size-change="handleSizeChange" @current-change="handleCurrentChange" /> |
| | | </div> |
| | | </div> |
| | | <el-dialog class="ztzf-dialog-mange" append-to-body v-model="isShowView" title="查看" :width="pxToRem(1200)" :close-on-click-modal="false" :destroy-on-close="true"> |
| | | <el-dialog class="command-dialog-mange" append-to-body v-model="isShowView" title="查看" :width="pxToRem(1200)" :close-on-click-modal="false" :destroy-on-close="true"> |
| | | <el-table border :data="tableDataDetails" height="466"> |
| | | <el-table-column label="序号" type="index" width="60"></el-table-column> |
| | | <el-table-column prop="flight_type" label="飞行类型" align="center" show-overflow-tooltip></el-table-column> |
| | |
| | | </el-table> |
| | | <template #footer> |
| | | <div class="pagination dialog-footer" style="display: flex;justify-content: end;margin-top: 10px;"> |
| | | <el-pagination class="ztzf-pagination" popper-class="custom-pagination-dropdown" background |
| | | <el-pagination class="command-pagination" popper-class="custom-pagination-dropdown" background |
| | | :page-sizes="[10, 20, 30, 40, 50, 100]" :size="size" v-model:current-page="detailParams.current" |
| | | v-model:page-size="detailParams.size" layout="total, sizes, prev, pager, next, jumper" :total="detailTotal" |
| | | @size-change="handleSizeChangeDetails" @current-change="handleCurrentChangeDetails" /> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | | <el-dialog class="ztzf-dialog-mange" append-to-body v-model="isShowFlyMapView" title="查看" :width="pxToRem(1000)" :close-on-click-modal="false" :destroy-on-close="true"> |
| | | <div id="flyMap" class="ztzf-cesium"></div> |
| | | <el-dialog class="command-dialog-mange" append-to-body v-model="isShowFlyMapView" title="查看" :width="pxToRem(1000)" :close-on-click-modal="false" :destroy-on-close="true"> |
| | | <div id="flyMap" class="command-cesium"></div> |
| | | </el-dialog> |
| | | </template> |
| | | <script setup> |
| | |
| | | background: center center no-repeat none !important; |
| | | color: #8eb8ea !important; |
| | | } |
| | | :deep(.ztzf-select){ |
| | | :deep(.command-select){ |
| | | .el-select__selection { |
| | | width: 200px; |
| | | } |
| | |
| | | <template> |
| | | <el-dialog class="ztzf-page-view-dialog" v-model="visible" :title="dialogTitle" @closed="handleClosed" destroy-on-close> |
| | | <el-dialog class="command-page-view-dialog" v-model="visible" :title="dialogTitle" @closed="handleClosed" destroy-on-close> |
| | | <div class="detail-container" v-if="dialogReadonly"> |
| | | <div class="detail-title">机构详情</div> |
| | | <el-row> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="部门名称" prop="deptName"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.deptName" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.deptName" maxlength="50" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="部门全称" prop="fullName"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.fullName" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.fullName" maxlength="50" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="上级部门" prop="parentId"> |
| | | <el-tree-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-tree-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-tree-select-popper" |
| | | v-model="formData.parentId" |
| | | :data="deptTree" |
| | | :props="treeProps" |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="部门类型" prop="deptCategory"> |
| | | <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper" v-model="formData.deptCategory" placeholder="请选择" clearable> |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" v-model="formData.deptCategory" placeholder="请选择" clearable> |
| | | <el-option v-for="item in dictObj.org_category" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="部门性质" prop="deptNature"> |
| | | <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper" v-model="formData.deptNature" placeholder="请选择" clearable> |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" v-model="formData.deptNature" placeholder="请选择" clearable> |
| | | <el-option v-for="item in dictObj.org_nature" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" /> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="行政区划" prop="areaCode"> |
| | | <el-cascader |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="formData.areaCode" |
| | | :props="areaProps" |
| | | clearable |
| | |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.remark" type="textarea" :rows="3" placeholder="请输入" clearable /> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.remark" type="textarea" :rows="3" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <template> |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="ztzf-page-history-search"> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="部门名称" prop="deptName"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="searchParams.deptName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="部门全称" prop="fullName"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="searchParams.fullName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <div class="ztzf-table-toolbar"> |
| | | <div class="command-table-toolbar"> |
| | | <el-button :icon="Plus" color="#284FE3" type="primary" @click="handleAdd">新增</el-button> |
| | | <el-button :icon="Delete" color="#1A2652" type="primary" :disabled="!selectedIds.length" @click="handleDelete()"> |
| | | 删除 |
| | | </el-button> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="ztzf-table-content ztzf-table-content-bg"> |
| | | <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="command-table-content command-table-content-bg"> |
| | | <el-table |
| | | class="ztzf-data-cockpit-table" |
| | | class="command-data-cockpit-table" |
| | | :data="list" |
| | | row-key="id" |
| | | lazy |
| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-pagination"> |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | const tips = row ? '该条' : '选中的项' |
| | | await ElMessageBox.confirm(`确认删除${tips}吗?`, '提示', { |
| | | type: 'warning', |
| | | customClass: 'ztzf-page-view-message-box', |
| | | confirmButtonClass: 'ztzf-message-box-confirm', |
| | | cancelButtonClass: 'ztzf-message-box-cancel', |
| | | customClass: 'command-page-view-message-box', |
| | | confirmButtonClass: 'command-message-box-confirm', |
| | | cancelButtonClass: 'command-message-box-cancel', |
| | | }) |
| | | const ids = row ? row.id : selectedIds.value.join(',') |
| | | await remove(ids) |
| | |
| | | <template> |
| | | <el-dialog class="ztzf-page-view-dialog" v-model="visible" :title="dialogTitle" @closed="handleClosed" destroy-on-close> |
| | | <el-dialog class="command-page-view-dialog" v-model="visible" :title="dialogTitle" @closed="handleClosed" destroy-on-close> |
| | | <div class="detail-container" v-if="dialogReadonly"> |
| | | <div class="detail-title">角色详情</div> |
| | | <el-row> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="角色名称" prop="roleName"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.roleName" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.roleName" maxlength="50" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="角色别名" prop="roleAlias"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.roleAlias" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.roleAlias" maxlength="50" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="上级角色" prop="parentId"> |
| | | <el-tree-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-tree-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-tree-select-popper" |
| | | v-model="formData.parentId" |
| | | :data="roleTree" |
| | | :props="treeProps" |
| | |
| | | <template> |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="ztzf-page-history-search"> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="角色名称" prop="roleName"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="searchParams.roleName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="角色别名" prop="roleAlias"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="searchParams.roleAlias" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <div class="ztzf-table-toolbar"> |
| | | <div class="command-table-toolbar"> |
| | | <el-button :icon="Plus" color="#284FE3" type="primary" @click="handleAdd">新增</el-button> |
| | | <el-button :icon="Delete" color="#1A2652" type="primary" :disabled="!selectedIds.length" @click="handleDelete()"> |
| | | 删除 |
| | |
| | | </el-button> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="ztzf-table-content ztzf-table-content-bg"> |
| | | <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="command-table-content command-table-content-bg"> |
| | | <el-table |
| | | class="ztzf-data-cockpit-table" |
| | | class="command-data-cockpit-table" |
| | | :data="list" |
| | | row-key="id" |
| | | :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" |
| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-pagination"> |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | const tips = row ? '该条' : '选中的项' |
| | | await ElMessageBox.confirm(`确认删除${tips}吗?`, '提示', { |
| | | type: 'warning', |
| | | customClass: 'ztzf-page-view-message-box', |
| | | confirmButtonClass: 'ztzf-message-box-confirm', |
| | | cancelButtonClass: 'ztzf-message-box-cancel', |
| | | customClass: 'command-page-view-message-box', |
| | | confirmButtonClass: 'command-message-box-confirm', |
| | | cancelButtonClass: 'command-message-box-cancel', |
| | | }) |
| | | const ids = row ? row.id : selectedIds.value.join(',') |
| | | await remove(ids) |
| | |
| | | <template> |
| | | <el-dialog class="ztzf-page-view-dialog" v-model="visible" :title="dialogTitle" @closed="handleClosed" destroy-on-close> |
| | | <el-dialog class="command-page-view-dialog" v-model="visible" :title="dialogTitle" @closed="handleClosed" destroy-on-close> |
| | | <div class="detail-container" v-if="dialogReadonly"> |
| | | <div class="detail-title">用户详情</div> |
| | | <el-row> |
| | |
| | | <el-row :gutter="16"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="登录账号" prop="account"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.account" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.account" maxlength="50" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" v-if="dialogMode === 'add'"> |
| | | <el-form-item label="密码" prop="password"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="formData.password" |
| | | type="password" |
| | | maxlength="50" |
| | |
| | | <el-col :span="12" v-if="dialogMode === 'add'"> |
| | | <el-form-item label="确认密码" prop="password2"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="formData.password2" |
| | | type="password" |
| | | maxlength="50" |
| | |
| | | <el-row :gutter="16"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="用户姓名" prop="realName"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.realName" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.realName" maxlength="50" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="手机号" prop="phone"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.phone" maxlength="20" placeholder="请输入" clearable /> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.phone" maxlength="20" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="电子邮箱" prop="email"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.email" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.email" maxlength="50" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="用户性别" prop="sex"> |
| | | <el-select class="ztzf-data-cockpit-select" popper-class="ztzf-data-cockpit-select-popper" v-model="formData.sex" placeholder="请选择" clearable> |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" v-model="formData.sex" placeholder="请选择" clearable> |
| | | <el-option label="男" :value="1" /> |
| | | <el-option label="女" :value="2" /> |
| | | <el-option label="未知" :value="3" /> |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="用户生日" prop="birthday"> |
| | | <el-date-picker |
| | | class="ztzf-data-cockpit-date-picker" |
| | | popper-class="ztzf-data-cockpit-date-picker-popper" |
| | | class="command-data-cockpit-date-picker" |
| | | popper-class="command-data-cockpit-date-picker-popper" |
| | | v-model="formData.birthday" |
| | | type="datetime" |
| | | placeholder="请选择" |
| | |
| | | <el-row :gutter="16"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="用户编号" prop="code"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.code" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.code" maxlength="50" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="所属角色" prop="roleId"> |
| | | <el-tree-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-tree-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-tree-select-popper" |
| | | v-model="formData.roleId" |
| | | :data="roleTree" |
| | | :props="treeProps" |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="所属部门" prop="deptId"> |
| | | <el-tree-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-tree-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-tree-select-popper" |
| | | v-model="formData.deptId" |
| | | :data="deptTree" |
| | | :props="deptTreeSelectProps" |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="到期时间" prop="expireTime"> |
| | | <el-date-picker |
| | | class="ztzf-data-cockpit-date-picker" |
| | | popper-class="ztzf-data-cockpit-date-picker-popper" |
| | | class="command-data-cockpit-date-picker" |
| | | popper-class="command-data-cockpit-date-picker-popper" |
| | | v-model="formData.expireTime" |
| | | type="datetime" |
| | | placeholder="请选择" |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="次数限制" prop="maxLoginNum"> |
| | | <el-input class="ztzf-data-cockpit-search-input" v-model="formData.maxLoginNum" placeholder="请输入" clearable /> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.maxLoginNum" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="飞行开始时间" prop="flightStartTime"> |
| | | <el-time-picker |
| | | class="ztzf-data-cockpit-date-picker" |
| | | popper-class="ztzf-data-cockpit-date-picker-popper" |
| | | class="command-data-cockpit-date-picker" |
| | | popper-class="command-data-cockpit-date-picker-popper" |
| | | v-model="formData.flightStartTime" |
| | | placeholder="请选择" |
| | | format="HH:mm" |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="飞行结束时间" prop="flightEndTime"> |
| | | <el-time-picker |
| | | class="ztzf-data-cockpit-date-picker" |
| | | popper-class="ztzf-data-cockpit-date-picker-popper" |
| | | class="command-data-cockpit-date-picker" |
| | | popper-class="command-data-cockpit-date-picker-popper" |
| | | v-model="formData.flightEndTime" |
| | | placeholder="请选择" |
| | | format="HH:mm" |
| | |
| | | <template> |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="ztzf-page-history-search"> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="登录账号" prop="account"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="searchParams.account" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="用户姓名" prop="realName"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="searchParams.realName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="所属部门" prop="deptId"> |
| | | <el-tree-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-tree-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-tree-select-popper" |
| | | v-model="searchParams.deptId" |
| | | :data="deptTree" |
| | | :props="treeProps" |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <div class="ztzf-table-toolbar"> |
| | | <div class="command-table-toolbar"> |
| | | <el-button v-if="permission.user_add" :icon="Plus" color="#284FE3" type="primary" @click="handleAdd"> |
| | | 新增 |
| | | </el-button> |
| | |
| | | </el-button> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="ztzf-table-content ztzf-table-content-bg"> |
| | | <el-table class="ztzf-data-cockpit-table" :data="list" @selection-change="handleSelectionChange"> |
| | | <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="command-table-content command-table-content-bg"> |
| | | <el-table class="command-data-cockpit-table" :data="list" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="46" /> |
| | | <el-table-column type="index" show-overflow-tooltip width="64" label="序号" /> |
| | | <el-table-column prop="account" show-overflow-tooltip label="登录账号" /> |
| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-pagination"> |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | const tips = row ? '该条' : '选中的项' |
| | | await ElMessageBox.confirm(`确认删除${tips}吗?`, '提示', { |
| | | type: 'warning', |
| | | customClass: 'ztzf-page-view-message-box', |
| | | confirmButtonClass: 'ztzf-message-box-confirm', |
| | | cancelButtonClass: 'ztzf-message-box-cancel', |
| | | customClass: 'command-page-view-message-box', |
| | | confirmButtonClass: 'command-message-box-confirm', |
| | | cancelButtonClass: 'command-message-box-cancel', |
| | | }) |
| | | const ids = row ? row.id : selectedIds.value.join(',') |
| | | await remove(ids) |
| | |
| | | <template> |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="ztzf-page-history-search"> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="无人机名称" prop="droneName"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="searchParams.droneName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | <el-form-item label="区域" prop="areaName"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="searchParams.areaName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | <el-form-item label="设备类型" prop="droneType"> |
| | | <el-select |
| | | class="ztzf-data-cockpit-select" |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model="searchParams.droneType" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | <el-form-item label="告警时间"> |
| | | <el-date-picker |
| | | popper-class="ztzf-data-cockpit-date-picker-popper" |
| | | class="ztzf-data-cockpit-date-picker" |
| | | popper-class="command-data-cockpit-date-picker-popper" |
| | | class="command-data-cockpit-date-picker" |
| | | v-model="dateRange" |
| | | type="daterange" |
| | | range-separator="至" |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <div class="ztzf-table-toolbar"> |
| | | <div class="command-table-toolbar"> |
| | | <el-button :icon="Download" color="#1A2652" type="primary" @click="exportFile" :loading="exportLoading"> |
| | | 导出 |
| | | </el-button> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="ztzf-table-content ztzf-table-content-bg"> |
| | | <el-table class="ztzf-data-cockpit-table" :data="list" @selection-change="handleSelectionChange"> |
| | | <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="command-table-content command-table-content-bg"> |
| | | <el-table class="command-data-cockpit-table" :data="list" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="46" /> |
| | | <el-table-column type="index" show-overflow-tooltip width="64" label="序号" /> |
| | | <el-table-column prop="droneName" show-overflow-tooltip width="140" label="无人机名称" /> |
| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-pagination"> |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | <template> |
| | | <el-dialog |
| | | class="ztzf-page-map-view-dialog" |
| | | class="command-page-map-view-dialog" |
| | | v-model="visible" |
| | | :show-close="false" |
| | | :close-on-click-modal="false" |
| | |
| | | > |
| | | <div class="dialog-container"> |
| | | <div class="left-container"> |
| | | <div class="leftMap ztzf-cesium" id="leftMapContainer"></div> |
| | | <div class="leftMap command-cesium" id="leftMapContainer"></div> |
| | | </div> |
| | | <div class="right-container"> |
| | | <div class="header">{{ dialogTitle }}</div> |
| | |
| | | </el-col> |
| | | </el-row> |
| | | <div class="detail-title">轨迹点</div> |
| | | <div class="ztzf-table-container"> |
| | | <div class="ztzf-table-content"> |
| | | <el-table class="ztzf-data-cockpit-table" :data="list"> |
| | | <div class="command-table-container"> |
| | | <div class="command-table-content"> |
| | | <el-table class="command-data-cockpit-table" :data="list"> |
| | | <el-table-column type="index" width="60" label="序号" /> |
| | | <el-table-column label="经纬度"> |
| | | <template #default="{ row }">{{ row.longitude }},{{ row.latitude }}</template> |
| | |
| | | <template> |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="ztzf-page-history-search"> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="无人机名称" prop="droneName"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="searchParams.droneName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | <el-form-item label="区域" prop="areaName"> |
| | | <el-input |
| | | class="ztzf-data-cockpit-search-input" |
| | | class="command-data-cockpit-search-input" |
| | | v-model="searchParams.areaName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | <el-form-item label="告警时间"> |
| | | <el-date-picker |
| | | popper-class="ztzf-data-cockpit-date-picker-popper" |
| | | class="ztzf-data-cockpit-date-picker" |
| | | popper-class="command-data-cockpit-date-picker-popper" |
| | | class="command-data-cockpit-date-picker" |
| | | v-model="dateRange" |
| | | type="daterange" |
| | | range-separator="至" |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <div class="ztzf-table-toolbar"> |
| | | <div class="command-table-toolbar"> |
| | | <el-button :icon="Download" color="#1A2652" type="primary" @click="exportFile" :loading="exportLoading">导出</el-button> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="ztzf-table-content ztzf-table-content-bg"> |
| | | <el-table class="ztzf-data-cockpit-table" :data="list"> |
| | | <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)"> |
| | | <div class="command-table-content command-table-content-bg"> |
| | | <el-table class="command-data-cockpit-table" :data="list"> |
| | | <el-table-column type="index" show-overflow-tooltip width="64" label="序号" /> |
| | | <el-table-column prop="droneName" show-overflow-tooltip width="140" label="无人机名称" /> |
| | | <el-table-column prop="serialNo" show-overflow-tooltip label="无人机序列号" /> |
| | |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="ztzf-table-pagination"> |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="ztzf-data-cockpit-select-popper" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | <template> |
| | | <el-dialog |
| | | class="spotDialog ztzf-dialog-mange" |
| | | class="spotDialog command-dialog-mange" |
| | | :title="props.title" |
| | | v-model="uploadPatchDialog" |
| | | width="78%" |
| | |
| | | <img @click="handleCancel" src="@/assets/images/home/territory/cancelbtn.png" alt="" /> |
| | | </div> |
| | | <!-- 地图 --> |
| | | <div id="spotMap" v-loading="loading" element-loading-text="加载中..." element-loading-background="rgba(0, 0, 0, 0.7)" class="ztzf-cesium" v-show="uploadPatchDialog"></div> |
| | | <div id="spotMap" v-loading="loading" element-loading-text="加载中..." element-loading-background="rgba(0, 0, 0, 0.7)" class="command-cesium" v-show="uploadPatchDialog"></div> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | |
| | | </template> |
| | | </avue-crud> |
| | | |
| | | <el-dialog title="上传图斑" class="ztzf-dialog-mange" append-to-body align-center v-model="box" width="550px"> |
| | | <el-dialog title="上传图斑" class="command-dialog-mange" append-to-body align-center v-model="box" width="550px"> |
| | | <el-form |
| | | ref="ruleFormRef" |
| | | style="max-width: 600px" |
| | |
| | | <div class="avue-crud"> |
| | | <el-row :hidden="!search"> |
| | | <!-- 查询模块 --> |
| | | <div class="ztzf-form-search"> |
| | | <div class="command-form-search"> |
| | | <el-form inline :model="query"> |
| | | <el-row :gutter="24"> |
| | | <el-col :span="8"> |
| | |
| | | </el-row> |
| | | <!-- 表单模块 --> |
| | | <el-dialog |
| | | class="ztzf-dialog-mange" |
| | | class="command-dialog-mange" |
| | | :title="title" |
| | | v-model="box" |
| | | width="50%" |
| | |
| | | <el-form :model="userInfo" label-width="120px"> |
| | | <el-form-item label="姓名:"> |
| | | <el-input |
| | | class="ztzf-input" |
| | | class="command-input" |
| | | :style="{ width: pxToRem(350) }" |
| | | v-model="userInfo.realName" |
| | | disabled |
| | | /> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="昵称:"> |
| | | <el-input class="ztzf-input" v-model="userInfo.name" /> |
| | | <el-input class="command-input" v-model="userInfo.name" /> |
| | | </el-form-item>--> |
| | | <el-form-item label="所属部门:"> |
| | | <el-input class="ztzf-input" v-model="userInfo.deptName" disabled /> |
| | | <el-input class="command-input" v-model="userInfo.deptName" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="手机号:"> |
| | | <el-input class="ztzf-input" v-model="userInfo.phone" /> |
| | | <el-input class="command-input" v-model="userInfo.phone" /> |
| | | </el-form-item> |
| | | <el-form-item label="邮箱:"> |
| | | <el-input class="ztzf-input" v-model="userInfo.email" /> |
| | | <el-input class="command-input" v-model="userInfo.email" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | |
| | | <el-form :model="passwordForm" label-width="120px"> |
| | | <el-form-item label="原始密码:" prop="oldPassword"> |
| | | <el-input |
| | | class="ztzf-input" |
| | | class="command-input" |
| | | v-model="passwordForm.oldPassword" |
| | | type="password" |
| | | show-password |
| | |
| | | </el-form-item> |
| | | <el-form-item label="新密码:" prop="newPassword"> |
| | | <el-input |
| | | class="ztzf-input" |
| | | class="command-input" |
| | | v-model="passwordForm.newPassword" |
| | | type="password" |
| | | show-password |
| | |
| | | </el-form-item> |
| | | <el-form-item label="确认密码:" prop="newPassword1"> |
| | | <el-input |
| | | class="ztzf-input" |
| | | class="command-input" |
| | | v-model="passwordForm.newPassword1" |
| | | type="password" |
| | | show-password |
| | |
| | | <template> |
| | | <el-dialog class="ztzf-dialog-mange" modal-class="add-edit-details" v-model="isShowAddEditDetails" :title="txtTitle" |
| | | <el-dialog class="command-dialog-mange" modal-class="add-edit-details" v-model="isShowAddEditDetails" :title="txtTitle" |
| | | width="70%" :close-on-click-modal="false" :destroy-on-close="true" @close="closeFun" |
| | | > |
| | | <div class="add-edit-details"> |
| | |
| | | </el-table> |
| | | </div> |
| | | <div class="pagination" v-if="orderListTable.length > 0"> |
| | | <el-pagination class="ztzf-pagination" popper-class="custom-pagination-dropdown" background |
| | | <el-pagination class="command-pagination" popper-class="custom-pagination-dropdown" background |
| | | :page-sizes="[10, 20, 30, 40, 50, 100]" v-model:current-page="orderListParams.current" |
| | | v-model:page-size="orderListParams.size" layout="total, sizes, prev, pager, next, jumper" :total="total" |
| | | @size-change="handleSizeChange" @current-change="handleCurrentChange" /> |
| | |
| | | <el-tab-pane v-for="tab in filteredTabs" :key="tab.name" :label="`${tab.label} (${tab.count})`" :name="tab.name"> |
| | | <basic-main-content> |
| | | <!-- 查询条件筛选栏 --> |
| | | <div class="ztzf-form-search"> |
| | | <div class="command-form-search"> |
| | | <el-form :model="filters" inline> |
| | | <el-row :gutter="24"> |
| | | <el-col :span="4"> |
| | |
| | | </div> |
| | | |
| | | <!-- 表格部分 --> |
| | | <avue-crud class="ztzf-public-general-avue-crud" :data="tableData" :option="option" v-model:page="page" |
| | | <avue-crud class="command-public-general-avue-crud" :data="tableData" :option="option" v-model:page="page" |
| | | ref="crud" :table-loading="loading" @current-change="currentChange" @refresh-change="refreshChange" |
| | | @on-load="onLoad" @search-change="searchChange" @size-change="sizeChange" v-if="activeTab === tab.name"> |
| | | <template #job_info_num="{ row }"> |
| | |
| | | </el-tabs> |
| | | |
| | | <!-- 新建工单对话框 --> |
| | | <el-dialog class="ztzf-dialog-mange" v-model="dialogVisible" title="新建工单" width="70%" :close-on-click-modal="false" |
| | | <el-dialog class="command-dialog-mange" v-model="dialogVisible" title="新建工单" width="70%" :close-on-click-modal="false" |
| | | @close="resetForm"> |
| | | <el-form :model="form" :rules="rules" ref="testform" label-width="100px"> |
| | | <el-row :gutter="20"> |
| | |
| | | </el-dialog> |
| | | |
| | | <!-- 工单详情对话框 --> |
| | | <el-dialog class="ztzf-dialog-mange" align-center v-model="detailVisible" :title="detailTitle" width="70%" |
| | | <el-dialog class="command-dialog-mange" align-center v-model="detailVisible" :title="detailTitle" width="70%" |
| | | :close-on-click-modal="false" @close="resetForm"> |
| | | <div class="event-title-center">{{ form.name }}</div> |
| | | <el-form :model="form" :rules="rules" ref="testform" label-width="100px"> |
| | |
| | | </el-dialog> |
| | | |
| | | <!-- 工单详情 --> |
| | | <el-dialog class="ztzf-dialog-mange" align-center v-model="detailVisibleCopy" title="工单详情" width="70%" |
| | | <el-dialog class="command-dialog-mange" align-center v-model="detailVisibleCopy" title="工单详情" width="70%" |
| | | :close-on-click-modal="false" @close="resetForm"> |
| | | <div class="event-title-center">{{ form.name }}</div> |
| | | <el-form :model="form" ref="testform" label-width="100px"> |
| | |
| | | <basic-main-content> |
| | | <!-- 查询条件筛选栏 --> |
| | | <!-- 查询条件筛选栏 --> |
| | | <div class="ztzf-form-search"> |
| | | <div class="command-form-search"> |
| | | <el-form :model="filters" inline> |
| | | <el-row :gutter="24"> |
| | | <el-col :span="4"> |
| | |
| | | </div> |
| | | <!-- 表格部分 --> |
| | | <avue-crud |
| | | class="ztzf-public-general-avue-crud" |
| | | class="command-public-general-avue-crud" |
| | | ref="avueCrud" |
| | | v-model="tableData" |
| | | :option="option" |
| | |
| | | title="批量审核" |
| | | width="1100" |
| | | append-to-body |
| | | class="ztzf-dialog-mange" |
| | | class="command-dialog-mange" |
| | | custom-class="review-dialog" |
| | | @close="cancleBatchReject" |
| | | > |
| | |
| | | title="工单复核" |
| | | width="30%" |
| | | append-to-body |
| | | class="ztzf-dialog-mange" |
| | | class="command-dialog-mange" |
| | | @close="reCheckDialog = false" |
| | | > |
| | | <div class="dialog-footer"> |
| | |
| | | > |
| | | <basic-main-content> |
| | | <!-- 查询条件筛选栏 --> |
| | | <div class="ztzf-form-search"> |
| | | <div class="command-form-search"> |
| | | <el-form :model="filters" inline> |
| | | <div class="searchBox"> |
| | | <el-form-item label="关键字:"> |
| | |
| | | <div class="titketBox"> |
| | | <div class="dataTable"> |
| | | <el-table |
| | | class="ztzf-public-general-el-table custom-header" |
| | | class="command-public-general-el-table custom-header" |
| | | ref="elTable" |
| | | :data="tableData" |
| | | v-loading="loading" |
| | |
| | | width="1100" |
| | | align-center |
| | | append-to-body |
| | | class="ztzf-dialog-mange" |
| | | class="command-dialog-mange" |
| | | custom-class="review-dialog" |
| | | @close="cancleBatchReject" |
| | | > |
| | |
| | | } |
| | | |
| | | /* 表格样式 */ |
| | | .ztzf-public-general-el-table { |
| | | .command-public-general-el-table { |
| | | margin-bottom: 16px; |
| | | } |
| | | |
| | |
| | | justify-content: flex-end; |
| | | margin-top: 10px; |
| | | } |
| | | .ztzf-public-general-el-table { |
| | | .command-public-general-el-table { |
| | | :deep(.el-table__header-wrapper) { |
| | | background-color: #f5f7fa; |
| | | } |
| | |
| | | title="工单复核" |
| | | width="30%" |
| | | append-to-body |
| | | class="ztzf-dialog-mange" |
| | | class="command-dialog-mange" |
| | | @close="handleClose" |
| | | > |
| | | <div class="dialog-footer"> |