43 files modified
1 files added
| | |
| | | }, |
| | | zoomToBoundary: { |
| | | type: Boolean, |
| | | default: true, |
| | | default: false, |
| | | }, |
| | | enableStageEmit: { |
| | | type: Boolean, |
| | |
| | | } |
| | | } |
| | | |
| | | .command-radio-group { |
| | | .el-radio { |
| | | .el-radio__input { |
| | | width: 16px; |
| | | height: 16px; |
| | | border: none; |
| | | |
| | | .el-radio__inner { |
| | | width: 16px; |
| | | height: 16px; |
| | | border: 2px solid #A1A3D4; |
| | | border-radius: 50%; |
| | | background: transparent !important; |
| | | box-sizing: border-box; |
| | | } |
| | | } |
| | | |
| | | .el-radio__label { |
| | | color: #FFFFFF; |
| | | } |
| | | |
| | | &.is-checked { |
| | | .el-radio__inner { |
| | | background: #023AFF !important; |
| | | border: none; |
| | | |
| | | &::after { |
| | | width: 8px; |
| | | height: 8px; |
| | | } |
| | | } |
| | | |
| | | .el-radio__label { |
| | | color: #FFFFFF; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 数据驾驶舱专属 |
| | | .command-data-cockpit-search-input { |
| | | .command-search-input { |
| | | .el-input__wrapper { |
| | | padding: 0 8px !important; |
| | | background: #161B2C; |
| | |
| | | } |
| | | } |
| | | |
| | | .command-data-cockpit-date-picker { |
| | | .command-date-picker { |
| | | box-shadow: none !important; |
| | | background: #161B2C; |
| | | border: none; |
| | |
| | | } |
| | | } |
| | | |
| | | .command-data-cockpit-date-picker-popper { |
| | | .command-date-picker-popper { |
| | | background: #161B2C !important; |
| | | border: none !important; |
| | | border-radius: 0px 0px 8px 8px; |
| | |
| | | } |
| | | } |
| | | |
| | | .command-data-cockpit-select { |
| | | .command-select { |
| | | .el-select__input { |
| | | color: #ffffff !important; |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | .command-data-cockpit-select-popper.el-select__popper { |
| | | .command-select-popper.el-select__popper { |
| | | border: none; |
| | | background: #2E2E48 !important; |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | .command-data-cockpit-cascader { |
| | | .command-cascader { |
| | | .el-input__wrapper { |
| | | --el-input-text-color: #161B2C !important; |
| | | } |
| | | } |
| | | |
| | | .command-data-cockpit-cascader-popper.el-cascader__dropdown { |
| | | .command-cascader-popper.el-cascader__dropdown { |
| | | border: none; |
| | | background: #2E2E48 !important; |
| | | |
| | |
| | | } |
| | | |
| | | // 树形选择 |
| | | .command-data-cockpit-tree-select-popper { |
| | | .command-tree-select-popper { |
| | | background: #2E2E48 !important; |
| | | border: none !important; |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | .command-data-cockpit-dialog { |
| | | .command-dialog { |
| | | padding: 20px; |
| | | display: flex; |
| | | flex-direction: column; |
| | |
| | | text-transform: none; |
| | | } |
| | | |
| | | .command-data-cockpit-search-input { |
| | | .command-search-input { |
| | | .el-input__wrapper { |
| | | background: #2E2E48; |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | .command-data-cockpit-date-picker { |
| | | .command-date-picker { |
| | | background: #2E2E48; |
| | | } |
| | | |
| | | .command-data-cockpit-date-picker-popper { |
| | | .command-date-picker-popper { |
| | | background: #2E2E48 !important; |
| | | |
| | | .el-picker-panel { |
| | |
| | | text-transform: none; |
| | | } |
| | | |
| | | .command-data-cockpit-select { |
| | | .command-select { |
| | | .el-select__wrapper { |
| | | background: #1C1C31; |
| | | } |
| | | } |
| | | |
| | | .command-data-cockpit-search-input { |
| | | .command-search-input { |
| | | .el-input__wrapper { |
| | | background: #1C1C31; |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | .command-data-cockpit-date-picker { |
| | | .command-date-picker { |
| | | background: #1C1C31; |
| | | } |
| | | |
| | | .command-data-cockpit-date-picker-popper { |
| | | .command-date-picker-popper { |
| | | background: #1C1C31 !important; |
| | | |
| | | .el-picker-panel { |
| | |
| | | flex: 1; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .el-checkbox { |
| | | width: 16px; |
| | | height: 16px; |
| | | |
| | | .el-checkbox__input { |
| | | width: 16px; |
| | | height: 16px; |
| | | |
| | | .el-checkbox__inner { |
| | | width: 16px; |
| | | height: 16px; |
| | | |
| | | background: transparent !important; |
| | | border-radius: 2px 2px 2px 2px; |
| | | border: 2px solid #A1A3D4; |
| | | box-shadow: none; |
| | | box-sizing: border-box; |
| | | } |
| | | } |
| | | |
| | | &.is-checked { |
| | | .el-checkbox__input { |
| | | .el-checkbox__inner { |
| | | border: none; |
| | | background: url("@/assets/images/common/checkbox.png") no-repeat center / 100% 100% !important; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .command-table-content-bg { |
| | |
| | | } |
| | | } |
| | | |
| | | .command-data-cockpit-table { |
| | | .command-table { |
| | | height: 0; |
| | | flex: 1; |
| | | background: transparent !important; |
| | |
| | | .el-input-number { |
| | | width: 0; |
| | | flex: 1; |
| | | |
| | | .el-input__inner { |
| | | text-align: left; |
| | | |
| | | &::placeholder { |
| | | text-align: left; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .el-cascader { |
| | |
| | | box-shadow: none; |
| | | } |
| | | |
| | | .command-data-cockpit-date-picker { |
| | | .command-date-picker { |
| | | background: #2E2E48; |
| | | } |
| | | |
| | | .command-data-cockpit-date-picker-popper { |
| | | .command-date-picker-popper { |
| | | background: #2E2E48 !important; |
| | | |
| | | .el-picker-panel { |
| | |
| | | .el-input-number { |
| | | width: 0; |
| | | flex: 1; |
| | | |
| | | .el-input__inner { |
| | | text-align: left; |
| | | |
| | | &::placeholder { |
| | | text-align: left; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .el-textarea { |
| | |
| | | color: #fff; |
| | | } |
| | | |
| | | .command-data-cockpit-date-picker { |
| | | .command-date-picker { |
| | | background: #2E2E48; |
| | | } |
| | | |
| | | .command-data-cockpit-date-picker-popper { |
| | | .command-date-picker-popper { |
| | | background: #2E2E48 !important; |
| | | |
| | | .el-picker-panel { |
| | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .command-drawer-body-basic-container { |
| | | .el-drawer__header { |
| | | margin-bottom: 0; |
| | | } |
| | | |
| | | .el-drawer__body { |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | .command-el-card__body { |
| | | |
| | | .el-card__body { |
| | | .avue-form { |
| | | padding: 0; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .command-public-general-avue-crud { |
| | | .el-table { |
| | | tr { |
| | | min-height: 30px !important; |
| | | line-height: 30px !important; |
| | | box-sizing: border-box !important; |
| | | } |
| | | |
| | | tr th, |
| | | tr td { |
| | | padding: 6px 0 !important; |
| | | min-height: 30px !important; |
| | | line-height: 30px !important; |
| | | box-sizing: border-box !important; |
| | | |
| | | div.cell { |
| | | min-height: 30px !important; |
| | | line-height: 30px !important; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .command-layer-input { |
| | | .el-input__wrapper { |
| | | padding: 0 8px !important; |
| | | // background: #2D2D2D; |
| | | background-color: transparent !important; |
| | | box-shadow: none !important; |
| | | border: 1px solid #fff; |
| | | |
| | | .el-input__inner { |
| | | color: #ffffff; |
| | | |
| | | &::placeholder { |
| | | color: rgba(255, 255, 255, 0.37); |
| | | } |
| | | } |
| | | } |
| | | |
| | | &.is-disabled { |
| | | .el-input__wrapper { |
| | | background-color: #012a50; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .command-button { |
| | | background-color: transparent !important; |
| | | color: #fff !important; |
| | | } |
| | | |
| | | .command-el-tree { |
| | | background-color: transparent !important; |
| | | --el-tree-node-hover-bg-color: transparent !important; |
| | | color: #fff !important; |
| | | } |
| | | |
| | | .command-layer-search { |
| | | color: #fff !important; |
| | | background-color: transparent !important; |
| | | |
| | | .el-select__wrapper { |
| | | background-color: transparent !important; |
| | | } |
| | | |
| | | .el-select__popper.el-popper { |
| | | background-color: transparent !important; |
| | | } |
| | | |
| | | .el-popper.is-light { |
| | | background-color: transparent !important; |
| | | } |
| | | |
| | | .el-select__placeholder { |
| | | &.is-transparent { |
| | | color: rgba(255, 255, 255, 0.37) !important; |
| | | } |
| | | |
| | | &.is-disabled { |
| | | color: rgba(255, 255, 255, 0.37) !important; |
| | | } |
| | | } |
| | | |
| | | .el-select__selected-item { |
| | | color: #ffffff !important; |
| | | |
| | | &.is-disabled { |
| | | color: rgba(255, 255, 255, 0.37) !important; |
| | | z-index: 99; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .command-select-popper.el-select__popper { |
| | | border: #2D2D2D !important; |
| | | |
| | | .el-select-dropdown { |
| | | overflow-x: hidden !important; |
| | | |
| | | .el-scrollbar { |
| | | .el-select-dropdown__wrap { |
| | | background: linear-gradient(180deg, rgba(13, 53, 86, 0.85) 0%, rgba(1, 35, 80, 0.85) 100%); |
| | | border-radius: 0px 0px 8px 8px; |
| | | border: 1px solid; |
| | | border-image: linear-gradient(180deg, #fff, #fff) 1 1; |
| | | overflow-x: hidden !important; |
| | | margin-right: 0 !important; |
| | | |
| | | .el-select-dropdown__list { |
| | | padding: 0 !important; |
| | | |
| | | .el-select-dropdown__item { |
| | | background: #2D2D2D !important; |
| | | color: white; |
| | | |
| | | &.hover { |
| | | background-color: #2D2D2D !important; |
| | | color: white; |
| | | } |
| | | |
| | | &.selected { |
| | | color: #fff !important; |
| | | font-weight: 700; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .el-select-dropdown__empty { |
| | | background: #2D2D2D; |
| | | border-radius: 0px 0px 8px 8px; |
| | | border: 1px solid; |
| | | border-image: linear-gradient(180deg, #fff, #fff) 1 1; |
| | | } |
| | | } |
| | | |
| | | .el-popper__arrow::before { |
| | | background: #2D2D2D !important; |
| | | border: 1px solid #fff !important; |
| | | } |
| | | } |
| | | |
| | | //时间日期选择器 |
| | | .command-layer-date-picker { |
| | | box-shadow: none !important; |
| | | background: transparent; |
| | | border: 1px solid #fff; |
| | | border-radius: 5px; |
| | | |
| | | .el-range-editor.is-disabled input { |
| | | background-color: transparent !important; |
| | | } |
| | | |
| | | .el-range-editor.is-disabled { |
| | | background-color: transparent !important; |
| | | } |
| | | |
| | | .el-input__wrapper { |
| | | box-shadow: none !important; |
| | | background-color: transparent !important; |
| | | width: 300px; |
| | | |
| | | &.is-focus { |
| | | box-shadow: none !important; |
| | | } |
| | | } |
| | | |
| | | .el-range-input { |
| | | color: #fff; |
| | | |
| | | &::placeholder { |
| | | color: rgba(255, 255, 255, 0.37); |
| | | } |
| | | } |
| | | |
| | | .el-range-separator { |
| | | color: #ffffff; |
| | | } |
| | | } |
| | | |
| | | // 日期下拉框 |
| | | .command-layer-date-picker-popper { |
| | | background: #012350 !important; |
| | | border: 1px solid !important; |
| | | border-radius: 0px 0px 8px 8px; |
| | | border-image: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(115, 192, 255, 1)) 1 1 !important; |
| | | |
| | | .el-picker-panel .el-time-panel { |
| | | background: #012350 !important; |
| | | } |
| | | |
| | | .el-time-spinner__item { |
| | | color: #fff !important; |
| | | } |
| | | |
| | | .el-time-spinner__item:hover:not(.is-disabled):not(.is-active) { |
| | | background: transparent !important; |
| | | } |
| | | |
| | | .el-picker-panel { |
| | | .el-picker-panel__body-wrapper { |
| | | .el-picker-panel__body { |
| | | background: #012350 !important; |
| | | color: #fff !important; |
| | | |
| | | .el-date-picker__time-header { |
| | | border: none; |
| | | |
| | | .el-date-picker__editor-wrap { |
| | | .el-time-panel { |
| | | background: #012350 !important; |
| | | border-radius: 0px 0px 8px 8px; |
| | | border: 1px solid !important; |
| | | border-image: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(115, 192, 255, 1)) 1 1 !important; |
| | | |
| | | // 将 time-picker-popper 的样式移到这里 |
| | | .el-time-panel__header { |
| | | background: #012350 !important; |
| | | color: #ffffff !important; |
| | | border-bottom: 1px solid rgba(255, 255, 255, 0.37) !important; |
| | | } |
| | | |
| | | .el-time-panel__content { |
| | | .el-time-spinner__item { |
| | | color: #e6e6e6 !important; |
| | | |
| | | &:hover { |
| | | background: #012350 !important; |
| | | } |
| | | |
| | | &.active { |
| | | color: #479dff !important; |
| | | font-weight: bold; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .el-time-panel__footer { |
| | | background: #012350 !important; |
| | | border-top: 1px solid rgba(71, 157, 255, 0.3) !important; |
| | | |
| | | .el-button { |
| | | color: #fff !important; |
| | | |
| | | &:hover { |
| | | color: #479dff !important; |
| | | } |
| | | } |
| | | |
| | | .el-time-panel__btn.cancel { |
| | | color: #fff !important; |
| | | |
| | | &:hover { |
| | | color: #fff !important; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .el-picker-panel__content { |
| | | .el-date-range-picker__header { |
| | | .el-picker-panel__icon-btn { |
| | | color: #fff !important; |
| | | |
| | | &:hover { |
| | | color: var(--el-color-primary) !important; |
| | | } |
| | | |
| | | .el-icon { |
| | | &::before { |
| | | color: inherit !important; |
| | | } |
| | | } |
| | | } |
| | | |
| | | &>div { |
| | | span { |
| | | color: #fff !important; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .el-date-table { |
| | | th { |
| | | color: #fff !important; |
| | | } |
| | | |
| | | td.disabled div { |
| | | background-color: #00193b !important; |
| | | color: #505050 !important; |
| | | cursor: not-allowed; |
| | | } |
| | | |
| | | // td:hover, |
| | | // td.current:not(.disabled) { |
| | | // background: rgba(60, 121, 202) !important; |
| | | // color: white !important; |
| | | // } |
| | | |
| | | td.start-date span, |
| | | td.start-date span, |
| | | td.end-date span { |
| | | background-color: #012350 !important; |
| | | } |
| | | |
| | | td.in-range div, |
| | | td.in-range div:hover, |
| | | &.is-week-mode .el-date-table__row.current div, |
| | | &.is-week-mode .el-date-table__row:hover div { |
| | | background-color: rgba(60, 121, 202) !important; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .el-popper__arrow { |
| | | &::before { |
| | | background: #0d3556 !important; |
| | | border: 1px solid #0d3556 !important; |
| | | box-sizing: border-box; |
| | | } |
| | | } |
| | | |
| | | .el-picker-panel__sidebar { |
| | | background: #012350; |
| | | color: #fff; |
| | | |
| | | .el-picker-panel__shortcut { |
| | | color: #ffffff; |
| | | } |
| | | } |
| | | |
| | | .el-picker-panel__body { |
| | | .el-input.is-disabled .el-input__wrapper { |
| | | background: #012350; |
| | | box-shadow: 0 0 0 0.1rem#409eff; |
| | | color: #fff; |
| | | |
| | | .el-input__inner { |
| | | color: #fff !important; |
| | | } |
| | | } |
| | | |
| | | .el-button.is-disabled, |
| | | .el-button.is-disabled:hover { |
| | | background: #012350; |
| | | } |
| | | |
| | | .el-input__wrapper { |
| | | background: #012350; |
| | | box-shadow: 0 0 0 0.1rem#409eff; |
| | | color: #fff; |
| | | |
| | | .el-input__inner { |
| | | color: #fff !important; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .el-picker-panel__footer { |
| | | background: #012350; |
| | | color: #fff; |
| | | border-top: none; |
| | | |
| | | .el-button--small { |
| | | box-shadow: 0 0 0 0.1rem#409eff; |
| | | background-color: #012350; |
| | | color: #fff; |
| | | border: none; |
| | | |
| | | &:hover { |
| | | background-color: #012350; |
| | | color: #fff; |
| | | border-color: #409eff; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .command-layer-time-picker-popper { |
| | | background: rgba(0, 0, 0, 0.8) !important; |
| | | border-radius: 0px 0px 8px 8px; |
| | | border: 1px solid !important; |
| | | border-image: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(115, 192, 255, 1)) 1 1 !important; |
| | | |
| | | .el-popper__arrow::before { |
| | | background: rgba(0, 0, 0, 0.8) !important; |
| | | border: 1px solid #479dff !important; |
| | | } |
| | | |
| | | .el-time-panel__header { |
| | | background: rgba(0, 0, 0, 0.8) !important; |
| | | color: #ffffff !important; |
| | | border-bottom: 1px solid rgba(71, 157, 255, 0.3) !important; |
| | | } |
| | | |
| | | .el-time-panel__content { |
| | | // background: #012350 !important; |
| | | |
| | | .el-time-spinner__item { |
| | | color: #e6e6e6 !important; |
| | | |
| | | &:hover { |
| | | background: rgba(71, 157, 255, 0.3) !important; |
| | | } |
| | | |
| | | &.active { |
| | | color: #479dff !important; |
| | | font-weight: bold; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .el-time-panel__footer { |
| | | background: rgba(0, 0, 0, 0.8) !important; |
| | | border-top: 1px solid rgba(71, 157, 255, 0.3) !important; |
| | | |
| | | .el-button { |
| | | color: #fff !important; |
| | | |
| | | &:hover { |
| | | color: #479dff !important; |
| | | } |
| | | } |
| | | |
| | | .el-time-panel__btn.cancel { |
| | | color: #fff !important; |
| | | |
| | | &:hover { |
| | | color: #fff !important; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .command-custom-qrcode-popover { |
| | | //background: url("@/assets/images/home/eventOverviewDetail/qrCodeBg.png") no-repeat center center !important; |
| | | //background-size: cover !important; |
| | | border: none !important; |
| | | border-radius: 0 !important; |
| | | box-shadow: none !important; |
| | | padding: 5px; |
| | | min-width: 173px !important; |
| | | height: 180px !important; |
| | | |
| | | /* 隐藏默认箭头 */ |
| | | .el-popper__arrow { |
| | | display: none !important; |
| | | } |
| | | |
| | | /* 调整二维码内容区域样式 */ |
| | | .qrcode-content { |
| | | background: #fff; |
| | | padding: 5px; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | width: 146px; |
| | | height: 130px; |
| | | margin-top: 12px; |
| | | |
| | | .close-btn { |
| | | position: absolute; |
| | | top: 3px; |
| | | right: 3px; |
| | | width: 20px; |
| | | height: 20px; |
| | | |
| | | color: white; |
| | | border-radius: 50%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | cursor: pointer; |
| | | z-index: 100; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .command-dialog-video { |
| | | background: #0f1929; |
| | | box-shadow: inset 0px -50px 50px 0px rgba(27, 148, 255, 0.13); |
| | | border-radius: 20px 0px 0px 0px; |
| | | border: 2px solid; |
| | | padding: 0 !important; |
| | | |
| | | border-image: linear-gradient(180deg, |
| | | rgba(81, 168, 255, 0), |
| | | rgba(48, 111, 202, 1), |
| | | rgba(255, 255, 255, 1), |
| | | rgba(27, 148, 255, 1)) 2 2; |
| | | |
| | | .el-dialog__header { |
| | | width: 100%; |
| | | height: 47px; |
| | | //padding: 0; |
| | | margin-bottom: 14px; |
| | | //background: url("/src/assets/images/home/inspection-vector.png") no-repeat center; |
| | | //background-size: 100% 100%; |
| | | font-weight: bold; |
| | | font-size: 16px; |
| | | line-height: 47px; |
| | | } |
| | | |
| | | .el-dialog__title { |
| | | width: 112px; |
| | | |
| | | font-family: Segoe UI, Segoe UI; |
| | | font-weight: bold; |
| | | font-size: 16px; |
| | | |
| | | text-shadow: 0px 0px 5px rgba(154, 218, 255, 0.6); |
| | | text-align: left; |
| | | font-style: normal; |
| | | text-transform: none; |
| | | background: linear-gradient(90deg, #fbfdff 0%, #86d4ff 100%); |
| | | margin-left: 16px; |
| | | -webkit-background-clip: text; |
| | | -webkit-text-fill-color: transparent; |
| | | } |
| | | |
| | | .el-dialog .el-dialog__header { |
| | | padding: 0px !important; |
| | | padding-left: 0px !important; |
| | | } |
| | | |
| | | .el-scrollbar__thumb { |
| | | background: #13c6ff !important; |
| | | } |
| | | } |
| | | |
| | | //======以下针对表格功能 增删查改样式和弹窗========= |
| | | .command-dialog-mange { |
| | | .el-dialog__body { |
| | | padding: 2rem 2rem 4rem; |
| | | flex: 1; |
| | | overflow: scroll; |
| | | border-top: 0.1rem solid #f0f0f0; |
| | | } |
| | | |
| | | .el-dialog__footer { |
| | | z-index: 2; |
| | | display: block; |
| | | padding: 1rem 1.6rem; |
| | | box-sizing: border-box; |
| | | border-top: 0.1rem solid #f0f0f0; |
| | | width: 100%; |
| | | position: absolute; |
| | | left: 0; |
| | | bottom: 0; |
| | | background-color: #fff; |
| | | text-align: right; |
| | | } |
| | | } |
| | | |
| | | .command-search-mange { |
| | | height: 40px; |
| | | |
| | | .search-contain { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | } |
| | | } |
| | | |
| | | .command-form-mange { |
| | | .el-form-item { |
| | | width: 300px; |
| | | |
| | | .el-form-item__content { |
| | | width: 100%; |
| | | } |
| | | |
| | | .el-form-item__label { |
| | | width: 120px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .command-form-search { |
| | | .el-form-item { |
| | | width: 100%; |
| | | |
| | | .el-form-item__label { |
| | | width: 80px; |
| | | } |
| | | |
| | | .el-form-item__content { |
| | | display: flex; |
| | | flex: 1; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .command-table-mange { |
| | | th.el-table__cell { |
| | | color: rgba(0, 0, 0, .85); |
| | | background-color: #fafafa; |
| | | } |
| | | } |
| | | |
| | | .table-view-mange { |
| | | width: 100%; |
| | | border-top: 0.1rem solid #ebeef5; |
| | | border-left: 0.1rem solid #ebeef5; |
| | | margin-left: 0; |
| | | margin-right: 0; |
| | | |
| | | .el-col { |
| | | padding-left: 0; |
| | | padding-right: 0; |
| | | margin-bottom: 0; |
| | | height: 32px; |
| | | line-height: 32px; |
| | | border-right: 0.1rem solid #ebeef5; |
| | | text-align: center; |
| | | align-items: center; |
| | | |
| | | .el-input__wrapper { |
| | | box-shadow: none !important; |
| | | border-bottom: 0.1rem solid #ebeef5; |
| | | } |
| | | } |
| | | |
| | | .label { |
| | | color: #909399; |
| | | box-sizing: border-box; |
| | | background: #fafafa; |
| | | } |
| | | } |
| | |
| | | import * as Cesium from 'cesium' |
| | | import { Cartesian3, Terrain, Viewer } from 'cesium' |
| | | import store from '@/store/index' |
| | | import jaGeojsonRaw from '@/assets/geojson/ja.geojson?raw' |
| | | |
| | | import getBaseConfig from '@/buildConfig/config' |
| | | |
| | |
| | | /** |
| | | * 公共的Cesium (蓝色,2d) |
| | | */ |
| | | |
| | | const DEFAULT_VIEW_RECTANGLE = (() => { |
| | | try { |
| | | const geojson = JSON.parse(jaGeojsonRaw) |
| | | let west = Infinity |
| | | let east = -Infinity |
| | | let south = Infinity |
| | | let north = -Infinity |
| | | const walk = coords => { |
| | | if (!Array.isArray(coords)) return |
| | | if (typeof coords[0] === 'number' && typeof coords[1] === 'number') { |
| | | const lng = coords[0] |
| | | const lat = coords[1] |
| | | if (!Number.isFinite(lng) || !Number.isFinite(lat)) return |
| | | west = Math.min(west, lng) |
| | | east = Math.max(east, lng) |
| | | south = Math.min(south, lat) |
| | | north = Math.max(north, lat) |
| | | return |
| | | } |
| | | coords.forEach(walk) |
| | | } |
| | | geojson?.features?.forEach(feature => walk(feature?.geometry?.coordinates)) |
| | | if ([west, east, south, north].every(Number.isFinite)) { |
| | | return Cesium.Rectangle.fromDegrees(west, south, east, north) |
| | | } |
| | | } catch (error) {} |
| | | return Cesium.Rectangle.fromDegrees(66, 4, 135, 53.55) |
| | | })() |
| | | |
| | | |
| | | // 封装的不用管 |
| | | let cn = { |
| | |
| | | } = options |
| | | Cesium.Camera.DEFAULT_VIEW_FACTOR = -0.45 |
| | | // 西南东北,默认显示中国 |
| | | Cesium.Camera.DEFAULT_VIEW_RECTANGLE = Cesium.Rectangle.fromDegrees(66, 4, 135, 53.55) |
| | | Cesium.Camera.DEFAULT_VIEW_RECTANGLE = DEFAULT_VIEW_RECTANGLE |
| | | const viewerOptions = { |
| | | infoBox: false, // 禁用沙箱,解决控制台报错 |
| | | animation: false, // 左下角的动画仪表盘 |
| | |
| | | this.viewer?.imageryLayers.remove(imageryLayers) |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="区域名称" prop="areaName"> |
| | | <el-input class="command-data-cockpit-search-input" v-model="searchParams.areaName" placeholder="请输入" |
| | | <el-input class="command-search-input" v-model="searchParams.areaName" placeholder="请输入" |
| | | clearable @clear="handleSearch" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="区域类型" prop="areaType"> |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | <el-select class="command-select" popper-class="command-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="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | <el-select class="command-select" popper-class="command-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" /> |
| | |
| | | |
| | | <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 class="command-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="区域类型"> |
| | |
| | | </div> |
| | | |
| | | <div class="command-table-pagination"> |
| | | <el-pagination popper-class="command-data-cockpit-select-popper" |
| | | <el-pagination popper-class="command-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="detail-title">关联场景</div> |
| | | <div class="command-table-container"> |
| | | <div class="command-table-content"> |
| | | <el-table class="command-data-cockpit-table" :data="sceneList" row-key="id"> |
| | | <el-table class="command-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="command-data-cockpit-search-input" v-model="formData.zoneName" maxlength="50" |
| | | <el-input class="command-search-input" v-model="formData.zoneName" maxlength="50" |
| | | placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="防区面积" prop="zoneArea"> |
| | |
| | | 关联场景 |
| | | </div> |
| | | |
| | | <el-input class="command-data-cockpit-search-input" v-model="searchName" placeholder="请输入" |
| | | <el-input class="command-search-input" v-model="searchName" placeholder="请输入" |
| | | clearable></el-input> |
| | | </div> |
| | | |
| | | <el-form-item prop="defenseSceneIds" label-width="0"> |
| | | <el-table class="command-data-cockpit-table" ref="sceneTableRef" |
| | | <el-table class="command-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" /> |
| | |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="防区名称" prop="zoneName"> |
| | | <el-input class="command-data-cockpit-search-input" v-model="searchParams.zoneName" placeholder="请输入" |
| | | <el-input class="command-search-input" v-model="searchParams.zoneName" placeholder="请输入" |
| | | clearable @clear="handleSearch" /> |
| | | </el-form-item> |
| | | |
| | |
| | | |
| | | <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 class="command-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="防区名称" /> |
| | |
| | | </div> |
| | | |
| | | <div class="command-table-pagination"> |
| | | <el-pagination popper-class="command-data-cockpit-select-popper" |
| | | <el-pagination popper-class="command-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="detail-title">关联设备</div> |
| | | <div class="command-table-container"> |
| | | <div class="command-table-content"> |
| | | <el-table class="command-data-cockpit-table" ref="deviceTableRef" :data="deviceOptions" |
| | | <el-table class="command-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="command-data-cockpit-search-input" v-model="formData.areaName" maxlength="50" |
| | | <el-input class="command-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="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | <el-select class="command-select" popper-class="command-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="command-data-cockpit-search-input" v-model="formData.responseMechanism" |
| | | <el-input class="command-search-input" v-model="formData.responseMechanism" |
| | | maxlength="200" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="触发条件" prop="triggerCondition"> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.triggerCondition" |
| | | <el-input class="command-search-input" v-model="formData.triggerCondition" |
| | | maxlength="200" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="管控级别" prop="controlLevel"> |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | <el-select class="command-select" popper-class="command-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="command-data-cockpit-date-picker" |
| | | popper-class="command-data-cockpit-date-picker-popper" v-model="flyDateRange" |
| | | <el-date-picker class="command-date-picker" |
| | | popper-class="command-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="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | <el-select class="command-select" popper-class="command-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="command-data-cockpit-search-input" v-model="searchName" placeholder="请输入" |
| | | <el-input class="command-search-input" v-model="searchName" placeholder="请输入" |
| | | clearable></el-input> |
| | | </div> |
| | | |
| | | <el-form-item prop="deviceIds" label-width="0"> |
| | | <el-table class="command-data-cockpit-table" ref="deviceTableRef" |
| | | <el-table class="command-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" /> |
| | |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="区域名称" prop="areaName"> |
| | | <el-input class="command-data-cockpit-search-input" v-model="searchParams.areaName" placeholder="请输入" |
| | | <el-input class="command-search-input" v-model="searchParams.areaName" placeholder="请输入" |
| | | clearable @clear="handleSearch" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="区域类型" prop="areaType"> |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | <el-select class="command-select" popper-class="command-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" /> |
| | |
| | | |
| | | <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 class="command-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="区域名称" /> |
| | |
| | | </div> |
| | | |
| | | <div class="command-table-pagination"> |
| | | <el-pagination popper-class="command-data-cockpit-select-popper" |
| | | <el-pagination popper-class="command-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="stationName"> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.stationName" maxlength="50" |
| | | <el-input class="command-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="command-data-cockpit-search-input" v-model="formData.contactPerson" maxlength="50" |
| | | <el-input class="command-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="command-data-cockpit-search-input" v-model="formData.contactPhone" maxlength="50" |
| | | <el-input class="command-search-input" v-model="formData.contactPhone" maxlength="50" |
| | | placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="派出所名称" prop="stationName"> |
| | | <el-input class="command-data-cockpit-search-input" v-model="searchParams.stationName" placeholder="请输入" |
| | | <el-input class="command-search-input" v-model="searchParams.stationName" placeholder="请输入" |
| | | clearable @clear="handleSearch" /> |
| | | </el-form-item> |
| | | |
| | |
| | | |
| | | <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 class="command-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="派出所名称" /> |
| | |
| | | </div> |
| | | |
| | | <div class="command-table-pagination"> |
| | | <el-pagination popper-class="command-data-cockpit-select-popper" |
| | | <el-pagination popper-class="command-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="detail-title">关联区域</div> |
| | | <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 class="command-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="command-data-cockpit-search-input" v-model="formData.sceneName" maxlength="50" |
| | | <el-input class="command-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="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | <el-select class="command-select" popper-class="command-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="command-data-cockpit-search-input" v-model="formData.defenseLeader" maxlength="50" |
| | | <el-input class="command-search-input" v-model="formData.defenseLeader" maxlength="50" |
| | | placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="负责人电话" prop="leaderPhone"> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.leaderPhone" maxlength="50" |
| | | <el-input class="command-search-input" v-model="formData.leaderPhone" maxlength="50" |
| | | placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="设备模式" prop="deviceMode"> |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | <el-select class="command-select" popper-class="command-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="command-data-cockpit-search-input" v-model="searchName" placeholder="请输入" |
| | | <el-input class="command-search-input" v-model="searchName" placeholder="请输入" |
| | | clearable></el-input> |
| | | </div> |
| | | |
| | | <el-form-item prop="areaDivideIds" label-width="0"> |
| | | <el-table class="command-data-cockpit-table" ref="areaTableRef" |
| | | <el-table class="command-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" /> |
| | |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="场景名称" prop="sceneName"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="searchParams.sceneName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="场景类型" prop="sceneType"> |
| | | <el-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="searchParams.sceneType" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="场景状态" prop="status"> |
| | | <el-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="searchParams.status" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | |
| | | <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 class="command-table" :data="list" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="46" /> |
| | | <el-table-column type="index" show-overflow-tooltip width="64" label="序号" /> |
| | | |
| | |
| | | |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="command-data-cockpit-select-popper" |
| | | popper-class="command-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="设备名称" prop="deviceName"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="searchParams.deviceName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="设备类型" prop="deviceType"> |
| | | <el-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="searchParams.deviceType" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="所属部门" prop="belongDept"> |
| | | <el-tree-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-tree-select-popper" |
| | | class="command-select" |
| | | popper-class="command-tree-select-popper" |
| | | v-model="searchParams.belongDept" |
| | | :data="deptTree" |
| | | :props="treeProps" |
| | |
| | | |
| | | <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 class="command-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="设备类型"> |
| | |
| | | |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="command-data-cockpit-select-popper" |
| | | popper-class="command-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | <el-row> |
| | | <el-col :span="24"> |
| | | <el-form-item label="报废原因" prop="scrapReason"> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.scrapReason" maxlength="200" type="textarea" placeholder="请输入" clearable /> |
| | | <el-input class="command-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="command-data-cockpit-search-input" v-model="formData.disposeWay" maxlength="200" type="textarea" placeholder="请输入" clearable /> |
| | | <el-input class="command-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="command-data-cockpit-date-picker" popper-class="command-data-cockpit-date-picker-popper" |
| | | <el-date-picker class="command-date-picker" popper-class="command-date-picker-popper" |
| | | v-model="formData.scrapTime" |
| | | type="datetime" |
| | | placeholder="选择日期" |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="负责人" prop="charger"> |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" v-model="formData.charger" placeholder="请选择" clearable> |
| | | <el-select class="command-select" popper-class="command-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="command-data-cockpit-search-input" v-model="formData.contactPhone" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-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-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="formData.outTarget" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="出库时间" prop="outTime"> |
| | | <el-date-picker class="command-data-cockpit-date-picker" popper-class="command-data-cockpit-date-picker-popper" |
| | | <el-date-picker class="command-date-picker" popper-class="command-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="command-data-cockpit-search-input" v-model="formData.purpose" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-search-input" v-model="formData.purpose" maxlength="50" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <div class="detail-title">设备跟踪流转</div> |
| | | <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 class="command-table" :data="list"> |
| | | <el-table-column type="index" width="60" label="序号" /> |
| | | <el-table-column prop="charger" label="用户" /> |
| | | <el-table-column prop="contactPhone" label="电话" /> |
| | |
| | | </div> |
| | | |
| | | <div class="command-table-pagination"> |
| | | <el-pagination popper-class="command-data-cockpit-select-popper" |
| | | <el-pagination popper-class="command-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="command-data-cockpit-search-input" v-model="formData.deviceName" maxlength="50" |
| | | <el-input class="command-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="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | <el-select class="command-select" popper-class="command-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="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | <el-select class="command-select" popper-class="command-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="command-data-cockpit-search-input" v-model="formData.deviceModel" maxlength="50" |
| | | <el-input class="command-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="command-data-cockpit-search-input" v-model="formData.deviceSpecification" |
| | | <el-input class="command-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="command-data-cockpit-search-input" v-model="formData.manufacturer" maxlength="50" |
| | | <el-input class="command-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="command-data-cockpit-search-input" v-model="formData.source" maxlength="50" |
| | | <el-input class="command-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="command-data-cockpit-search-input" v-model="formData.purpose" maxlength="50" |
| | | <el-input class="command-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="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-tree-select-popper" v-model="formData.belongDept" |
| | | <el-tree-select class="command-select" |
| | | popper-class="command-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="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | <el-select class="command-select" popper-class="command-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="command-data-cockpit-search-input" v-model="formData.contactPhone" maxlength="50" |
| | | <el-input class="command-search-input" v-model="formData.contactPhone" maxlength="50" |
| | | placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="设备名称" prop="deviceName"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="searchParams.deviceName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="设备类型" prop="deviceType"> |
| | | <el-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="searchParams.deviceType" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="所属部门" prop="belongDept"> |
| | | <el-tree-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-tree-select-popper" |
| | | class="command-select" |
| | | popper-class="command-tree-select-popper" |
| | | v-model="searchParams.belongDept" |
| | | :data="deptTree" |
| | | :props="treeProps" |
| | |
| | | |
| | | <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 class="command-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="设备名称" /> |
| | |
| | | |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="command-data-cockpit-select-popper" |
| | | popper-class="command-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | <div class="detail-title">维护详情</div> |
| | | <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 class="command-table" :data="list"> |
| | | <el-table-column type="index" width="60" label="序号" /> |
| | | <el-table-column prop="maintainTime" label="维护时间" /> |
| | | <el-table-column prop="maintainContent" label="维护内容" /> |
| | |
| | | </div> |
| | | |
| | | <div class="command-table-pagination"> |
| | | <el-pagination popper-class="command-data-cockpit-select-popper" |
| | | <el-pagination popper-class="command-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="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | <el-select class="command-select" popper-class="command-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="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | <el-select class="command-select" popper-class="command-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="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | <el-select class="command-select" popper-class="command-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" |
| | |
| | | <el-col :span="24"> |
| | | <el-form-item label="维护内容" prop="maintainContent"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="formData.maintainContent" |
| | | maxlength="200" |
| | | type="textarea" |
| | |
| | | <el-col :span="24"> |
| | | <el-form-item label="更换部件" prop="replacePart"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="formData.replacePart" |
| | | maxlength="200" |
| | | type="textarea" |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="实际维护时间" prop="maintainTime"> |
| | | <el-date-picker |
| | | class="command-data-cockpit-date-picker" |
| | | popper-class="command-data-cockpit-date-picker-popper" |
| | | class="command-date-picker" |
| | | popper-class="command-date-picker-popper" |
| | | v-model="formData.maintainTime" |
| | | type="datetime" |
| | | placeholder="选择日期" |
| | |
| | | <basic-container> |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="设备名称" prop="deviceName"> |
| | | <el-input class="command-data-cockpit-search-input" v-model="searchParams.deviceName" placeholder="请输入" |
| | | <el-input class="command-search-input" v-model="searchParams.deviceName" placeholder="请输入" |
| | | clearable @clear="handleSearch" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="设备类型" prop="deviceType"> |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | <el-select class="command-select" popper-class="command-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="command-data-cockpit-select" popper-class="command-data-cockpit-tree-select-popper" |
| | | <el-tree-select class="command-select" popper-class="command-tree-select-popper" |
| | | v-model="searchParams.belongDept" :data="deptTree" :props="treeProps" node-key="id" check-strictly |
| | | clearable @change="handleSearch" /> |
| | | </el-form-item> |
| | |
| | | |
| | | <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 class="command-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="设备类型"> |
| | |
| | | </div> |
| | | |
| | | <div class="command-table-pagination"> |
| | | <el-pagination popper-class="command-data-cockpit-select-popper" |
| | | <el-pagination popper-class="command-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="command-data-cockpit-dialog" append-to-body v-model="visibleModel" :title="dialogTitle" |
| | | <el-dialog class="command-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="command-dialog-history-search"> |
| | | <el-form-item label="关键字" prop="keyword"> |
| | | <el-input class="command-data-cockpit-search-input" v-model="searchParams.keyword" placeholder="名称/序列号" |
| | | <el-input class="command-search-input" v-model="searchParams.keyword" placeholder="名称/序列号" |
| | | clearable @clear="handleSearch" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item prop="dateRange"> |
| | | <el-date-picker class="command-data-cockpit-date-picker" |
| | | popper-class="command-data-cockpit-date-picker-popper" v-model="searchParams.dateRange" |
| | | <el-date-picker class="command-date-picker" |
| | | popper-class="command-date-picker-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="command-data-cockpit-select" popper-class="command-data-cockpit-tree-select-popper" |
| | | <el-tree-select class="command-select" popper-class="command-tree-select-popper" |
| | | v-model="searchParams.area" :data="areaTree" :props="areaTreeProps" node-key="value" check-strictly filterable :filter-node-method="filterAreaNode" clearable placeholder="请选择" @change="handleSearch" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="无人机类型" prop="droneType"> |
| | | <el-select class="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" |
| | | <el-select class="command-select" popper-class="command-select-popper" |
| | | v-model="searchParams.droneType" placeholder="请选择" clearable @change="handleSearch"> |
| | | <el-option v-for="item in dictObj.droneType" :key="item.dictKey" :label="item.dictValue" |
| | | :value="item.dictKey" /> |
| | |
| | | |
| | | <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 class="command-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" /> |
| | |
| | | </div> |
| | | |
| | | <div class="command-table-pagination"> |
| | | <el-pagination popper-class="command-data-cockpit-select-popper" |
| | | <el-pagination popper-class="command-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="command-data-cockpit-search-input" placeholder="请输入数据名称" clearable |
| | | <el-input v-model="query.keyword" class="command-search-input" placeholder="请输入数据名称" clearable |
| | | @keyup.enter="onSearch"> |
| | | </el-input> |
| | | |
| | | <!-- 日期范围 --> |
| | | <el-date-picker v-model="query.dateRange" |
| | | class="command-data-cockpit-date-picker" |
| | | popper-class="command-data-cockpit-date-picker-popper" |
| | | class="command-date-picker" |
| | | popper-class="command-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(.command-data-cockpit-date-picker) { |
| | | ::v-deep(.command-date-picker) { |
| | | width: 100% !important; |
| | | } |
| | | } |
| | |
| | | |
| | | .collapse-btn { |
| | | position: absolute; |
| | | top: 50%; |
| | | bottom: 454px; |
| | | left: 300px; |
| | | cursor: pointer; |
| | | display: flex; |
| | |
| | | justify-content: center; |
| | | color: #fff; |
| | | z-index: 10; |
| | | transform: translateY(-50%); |
| | | transform: translateY(50%); |
| | | |
| | | .arrow { |
| | | width: 32px; |
| | | height: 32px; |
| | | width: 36px; |
| | | height: 36px; |
| | | background: url('@/assets/images/dataCockpit/left-btn.png') center / 100% 100% no-repeat; |
| | | } |
| | | |
| | |
| | | * @Author : yuan |
| | | * @Date : 2026-01-07 15:17:54 |
| | | * @LastEditors : yuan |
| | | * @LastEditTime : 2026-01-16 17:23:06 |
| | | * @LastEditTime : 2026-01-19 14:05:35 |
| | | * @FilePath : \applications\drone-command\src\views\dataCockpit\components\RightContainer.vue |
| | | * @Description : |
| | | * Copyright 2026 OBKoro1, All Rights Reserved. |
| | |
| | | |
| | | .collapse-btn { |
| | | position: absolute; |
| | | top: 50%; |
| | | bottom: 454px; |
| | | right: 300px; |
| | | cursor: pointer; |
| | | display: flex; |
| | |
| | | justify-content: center; |
| | | color: #fff; |
| | | z-index: 10; |
| | | transform: translateY(-50%); |
| | | transform: translateY(50%); |
| | | |
| | | .arrow { |
| | | width: 32px; |
| | | height: 32px; |
| | | width: 36px; |
| | | height: 36px; |
| | | background: url('@/assets/images/dataCockpit/right-btn.png') center / 100% 100% no-repeat; |
| | | } |
| | | |
| | |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="设备名称" prop="deviceName"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="searchParams.deviceName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="设备类型" prop="deviceType"> |
| | | <el-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="searchParams.deviceType" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="反制效果" prop="counterEffect"> |
| | | <el-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="searchParams.counterEffect" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | |
| | | <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 class="command-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="无人机类型" /> |
| | |
| | | |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="command-data-cockpit-select-popper" |
| | | popper-class="command-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | <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="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="formData.deviceId" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | <el-form-item label="设备类型" prop="deviceType"> |
| | | <el-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="formData.deviceType" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | <el-form-item label="设备位置" prop="deployLocation"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="formData.deployLocation" |
| | | disabled |
| | | placeholder="请选择位置" |
| | |
| | | </el-form-item> |
| | | <el-form-item label="设备编号" prop="deviceSn"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="formData.deviceSn" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | <el-form-item label="设备型号" prop="deviceModel"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="formData.deviceModel" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | <el-form-item label="覆盖范围(m)" prop="effectiveRangeKm"> |
| | | <el-input-number |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="formData.effectiveRangeKm" |
| | | :min="0" |
| | | :precision="2" |
| | |
| | | } from '@/api/detectionCountermeasure/detectionRange' |
| | | import CommonCesiumMap from '@/components/map-container/common-cesium-map.vue' |
| | | import * as Cesium from 'cesium' |
| | | import deviceZcImg from '@/assets/images/dataCockpit/device-zc.svg' |
| | | |
| | | import commandPost from '@/assets/images/dataCockpit/legend/command-post.png' |
| | | |
| | | const initForm = () => ({ |
| | | deviceId: '', // 侦测设备ID |
| | |
| | | redPointEntity = viewer.entities.add({ |
| | | position: Cesium.Cartesian3.fromDegrees(longitude, latitude), |
| | | billboard: { |
| | | image: deviceZcImg, // 这里替换为你的图片路径或变量 deviceZcImg |
| | | width: 30, // 可选:设置图片宽度 |
| | | height: 42, // 可选:设置图片高度 |
| | | image: commandPost, // 这里替换为你的图片路径或变量 deviceZcImg |
| | | width: 40, |
| | | height: 56, |
| | | verticalOrigin: Cesium.VerticalOrigin.BOTTOM, // 设置图片底部对齐坐标点 |
| | | }, |
| | | label: { |
| | |
| | | verticalOrigin: Cesium.VerticalOrigin.CENTER, |
| | | outlineWidth: 1, |
| | | outlineColor: Cesium.Color.WHITE, |
| | | pixelOffset: new Cesium.Cartesian2(0, -60), |
| | | pixelOffset: new Cesium.Cartesian2(0, -72), |
| | | eyeOffset: new Cesium.Cartesian3(0, 0, -20), |
| | | }, |
| | | }) |
| | |
| | | material: Cesium.Color.fromCssColorString('#6b9ca8').withAlpha(0.6), |
| | | outline: true, |
| | | outlineColor: Cesium.Color.fromCssColorString('#6b9ca8').withAlpha(0.6), |
| | | heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, |
| | | heightReference: Cesium.HeightReference.NONE, |
| | | }, |
| | | }) |
| | | return |
| | |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="设备名称" prop="deviceName"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="searchParams.deviceName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="设备类型" prop="deviceType"> |
| | | <el-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="searchParams.deviceType" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | |
| | | <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 class="command-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="设备类型"> |
| | |
| | | |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="command-data-cockpit-select-popper" |
| | | popper-class="command-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="起始扇区" prop="startSector"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="formData.startSector" |
| | | maxlength="50" |
| | | placeholder="请输入" |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="终止扇区" prop="endSector"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="formData.endSector" |
| | | maxlength="50" |
| | | placeholder="请输入" |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="搜索模式" prop="searchMode"> |
| | | <el-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="formData.searchMode" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="雷达频点" prop="radarFreq"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="formData.radarFreq" |
| | | maxlength="50" |
| | | placeholder="请输入" |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="伺服模式" prop="servoMode"> |
| | | <el-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="formData.servoMode" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="伺服数据模式" prop="servoDataMode"> |
| | | <el-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="formData.servoDataMode" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="轴选择" prop="axisSelect"> |
| | | <el-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="formData.axisSelect" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="伺服转速度" prop="servoTurnSpeed"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="formData.servoTurnSpeed" |
| | | maxlength="50" |
| | | placeholder="请输入" |
| | |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="设备名称" prop="deviceName"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="searchParams.deviceName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="设备类型" prop="deviceType"> |
| | | <el-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="searchParams.deviceType" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="设备状态" prop="deviceStatus"> |
| | | <el-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="searchParams.deviceStatus" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | |
| | | <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 class="command-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 }"> |
| | |
| | | |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="command-data-cockpit-select-popper" |
| | | popper-class="command-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="设备" prop="deviceId"> |
| | | <el-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="formData.deviceId" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="设备编码" prop="deviceSn"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="formData.deviceSn" |
| | | disabled |
| | | placeholder="选择设备后自动带出" |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="场景" prop="defenseSceneId"> |
| | | <el-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="formData.defenseSceneId" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="区域" prop="areaDivideId"> |
| | | <el-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="formData.areaDivideId" |
| | | placeholder="请先选择场景" |
| | | clearable |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="调度人员" prop="dispatchUser"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="formData.dispatchUser" |
| | | maxlength="50" |
| | | placeholder="请输入" |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="调度日期" prop="dispatchDateRange"> |
| | | <el-date-picker |
| | | class="command-data-cockpit-date-picker" |
| | | popper-class="command-data-cockpit-date-picker-popper" |
| | | class="command-date-picker" |
| | | popper-class="command-date-picker-popper" |
| | | v-model="formData.dispatchDateRange" |
| | | type="datetimerange" |
| | | range-separator="至" |
| | |
| | | <el-col :span="24"> |
| | | <el-form-item label="调度内容" prop="dispatchContent"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="formData.dispatchContent" |
| | | type="textarea" |
| | | :rows="3" |
| | |
| | | <el-col :span="24"> |
| | | <el-form-item label="调度结果" prop="dispatchResult"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="formData.dispatchResult" |
| | | type="textarea" |
| | | :rows="3" |
| | |
| | | <el-col :span="24"> |
| | | <el-form-item label="处理措施" prop="disposeMeasure"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="formData.disposeMeasure" |
| | | type="textarea" |
| | | :rows="3" |
| | |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="设备名称" prop="deviceId"> |
| | | <el-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="searchParams.deviceId" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="设备状态" prop="status"> |
| | | <el-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="searchParams.status" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="设备编码" prop="deviceSn"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="searchParams.deviceSn" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <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 class="command-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="设备名称" /> |
| | |
| | | |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="command-data-cockpit-select-popper" |
| | | popper-class="command-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="部门名称" prop="deptName"> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.deptName" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-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="command-data-cockpit-search-input" v-model="formData.fullName" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-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="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-tree-select-popper" |
| | | class="command-select" |
| | | popper-class="command-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="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" v-model="formData.deptCategory" placeholder="请选择" clearable> |
| | | <el-select class="command-select" popper-class="command-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="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" v-model="formData.deptNature" placeholder="请选择" clearable> |
| | | <el-select class="command-select" popper-class="command-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="command-data-cockpit-cascader" |
| | | popper-class="command-data-cockpit-cascader-popper" |
| | | class="command-cascader" |
| | | popper-class="command-cascader-popper" |
| | | v-model="formData.areaCode" |
| | | :props="areaProps" |
| | | clearable |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="部署模式" prop="deploymentMode"> |
| | | <el-radio-group v-model="formData.deploymentMode"> |
| | | <el-radio-group v-model="formData.deploymentMode" class="command-radio-group"> |
| | | <el-radio :label="0">统一部署</el-radio> |
| | | <el-radio :label="1">独立部署</el-radio> |
| | | </el-radio-group> |
| | |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.remark" type="textarea" :rows="3" placeholder="请输入" clearable /> |
| | | <el-input class="command-search-input" v-model="formData.remark" type="textarea" :rows="3" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="部门名称" prop="deptName"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="searchParams.deptName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="部门全称" prop="fullName"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="searchParams.fullName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | <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" |
| | | class="command-table" |
| | | :data="list" |
| | | row-key="id" |
| | | lazy |
| | |
| | | |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="command-data-cockpit-select-popper" |
| | | popper-class="command-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="角色名称" prop="roleName"> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.roleName" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-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="command-data-cockpit-search-input" v-model="formData.roleAlias" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-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="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-tree-select-popper" |
| | | class="command-select" |
| | | popper-class="command-tree-select-popper" |
| | | v-model="formData.parentId" |
| | | :data="roleTree" |
| | | :props="treeProps" |
| | |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="角色名称" prop="roleName"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="searchParams.roleName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="角色别名" prop="roleAlias"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="searchParams.roleAlias" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | <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" |
| | | class="command-table" |
| | | :data="list" |
| | | row-key="id" |
| | | :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" |
| | |
| | | |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="command-data-cockpit-select-popper" |
| | | popper-class="command-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | <el-row :gutter="16"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="登录账号" prop="account"> |
| | | <el-input class="command-data-cockpit-search-input" v-model="formData.account" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-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="command-data-cockpit-search-input" |
| | | class="command-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="command-data-cockpit-search-input" |
| | | class="command-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="command-data-cockpit-search-input" v-model="formData.realName" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-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="command-data-cockpit-search-input" v-model="formData.phone" maxlength="20" placeholder="请输入" clearable /> |
| | | <el-input class="command-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="command-data-cockpit-search-input" v-model="formData.email" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-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="command-data-cockpit-select" popper-class="command-data-cockpit-select-popper" v-model="formData.sex" placeholder="请选择" clearable> |
| | | <el-select class="command-select" popper-class="command-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="command-data-cockpit-date-picker" |
| | | popper-class="command-data-cockpit-date-picker-popper" |
| | | class="command-date-picker" |
| | | popper-class="command-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="command-data-cockpit-search-input" v-model="formData.code" maxlength="50" placeholder="请输入" clearable /> |
| | | <el-input class="command-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="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-tree-select-popper" |
| | | class="command-select" |
| | | popper-class="command-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="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-tree-select-popper" |
| | | class="command-select" |
| | | popper-class="command-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="command-data-cockpit-date-picker" |
| | | popper-class="command-data-cockpit-date-picker-popper" |
| | | class="command-date-picker" |
| | | popper-class="command-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="command-data-cockpit-search-input" v-model="formData.maxLoginNum" placeholder="请输入" clearable /> |
| | | <el-input class="command-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="command-data-cockpit-date-picker" |
| | | popper-class="command-data-cockpit-date-picker-popper" |
| | | class="command-date-picker" |
| | | popper-class="command-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="command-data-cockpit-date-picker" |
| | | popper-class="command-data-cockpit-date-picker-popper" |
| | | class="command-date-picker" |
| | | popper-class="command-date-picker-popper" |
| | | v-model="formData.flightEndTime" |
| | | placeholder="请选择" |
| | | format="HH:mm" |
| | |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="登录账号" prop="account"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="searchParams.account" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="用户姓名" prop="realName"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="searchParams.realName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | |
| | | <el-form-item label="所属部门" prop="deptId"> |
| | | <el-tree-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-tree-select-popper" |
| | | class="command-select" |
| | | popper-class="command-tree-select-popper" |
| | | v-model="searchParams.deptId" |
| | | :data="deptTree" |
| | | :props="treeProps" |
| | |
| | | |
| | | <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 class="command-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="登录账号" /> |
| | |
| | | |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="command-data-cockpit-select-popper" |
| | | popper-class="command-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="无人机名称" prop="droneName"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="searchParams.droneName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | <el-form-item label="区域" prop="areaName"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="searchParams.areaName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | <el-form-item label="设备类型" prop="droneType"> |
| | | <el-select |
| | | class="command-data-cockpit-select" |
| | | popper-class="command-data-cockpit-select-popper" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="searchParams.droneType" |
| | | placeholder="请选择" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | <el-form-item label="告警时间"> |
| | | <el-date-picker |
| | | popper-class="command-data-cockpit-date-picker-popper" |
| | | class="command-data-cockpit-date-picker" |
| | | popper-class="command-date-picker-popper" |
| | | class="command-date-picker" |
| | | v-model="dateRange" |
| | | type="daterange" |
| | | range-separator="至" |
| | |
| | | |
| | | <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 class="command-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="无人机名称" /> |
| | |
| | | |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="command-data-cockpit-select-popper" |
| | | popper-class="command-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |
| | |
| | | <div class="detail-title">轨迹点</div> |
| | | <div class="command-table-container"> |
| | | <div class="command-table-content"> |
| | | <el-table class="command-data-cockpit-table" :data="list"> |
| | | <el-table class="command-table" :data="list"> |
| | | <el-table-column type="index" width="60" label="序号" /> |
| | | <el-table-column label="经纬度"> |
| | | <template #default="{ row }">{{ row.longitude }},{{ row.latitude }}</template> |
| | |
| | | <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search"> |
| | | <el-form-item label="无人机名称" prop="droneName"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="searchParams.droneName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | <el-form-item label="区域" prop="areaName"> |
| | | <el-input |
| | | class="command-data-cockpit-search-input" |
| | | class="command-search-input" |
| | | v-model="searchParams.areaName" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | </el-form-item> |
| | | <el-form-item label="告警时间"> |
| | | <el-date-picker |
| | | popper-class="command-data-cockpit-date-picker-popper" |
| | | class="command-data-cockpit-date-picker" |
| | | popper-class="command-date-picker-popper" |
| | | class="command-date-picker" |
| | | v-model="dateRange" |
| | | type="daterange" |
| | | range-separator="至" |
| | |
| | | |
| | | <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 class="command-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="无人机序列号" /> |
| | |
| | | |
| | | <div class="command-table-pagination"> |
| | | <el-pagination |
| | | popper-class="command-data-cockpit-select-popper" |
| | | popper-class="command-select-popper" |
| | | v-model:current-page="searchParams.current" |
| | | v-model:page-size="searchParams.size" |
| | | layout="total, prev, pager, next, sizes" |