From 9dec22acde84e111a4f8f2d54d738586e50ff7ec Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期二, 23 八月 2022 03:19:31 +0800
Subject: [PATCH] 添加单点登录跳转
---
src/views/report/components/FormArea.vue | 301 +++++++++++++++++++++++--------------------------
1 files changed, 141 insertions(+), 160 deletions(-)
diff --git a/src/views/report/components/FormArea.vue b/src/views/report/components/FormArea.vue
index 7957dda..b49a304 100644
--- a/src/views/report/components/FormArea.vue
+++ b/src/views/report/components/FormArea.vue
@@ -1,15 +1,8 @@
<template>
<div class="FormArea">
- <el-form
- :model="gb28181"
- :rules="rules"
- label-position="left"
- label-width="90px"
- class="alarmSetting"
- ref="gb28181"
- >
+ <el-form :model="reportTask" label-position="left" label-width="90px" class="alarmSetting" ref="report-task">
<el-form-item class="selectItem" label="浜嬩欢鍚嶇О">
- <el-select class="h32" v-model="locationCity.province" size="small" placeholder="璇烽�夋嫨浜嬩欢">
+ <el-select class="h32" v-model="reportTask.taskName" size="small" placeholder="璇烽�夋嫨浜嬩欢" style="width: 400px">
<el-option
v-for="item in eventsOptions"
:key="item.value"
@@ -20,13 +13,7 @@
</el-select>
</el-form-item>
<el-form-item class="selectItem" label="浜嬩欢绛夌骇">
- <el-select
- class="h32"
- v-model="locationCity.level"
- size="small"
- placeholder="璇烽�夋嫨"
- :disabled="gb28181.idType === 0"
- >
+ <el-select class="h32" v-model="reportTask.level" size="small" placeholder="璇烽�夋嫨" style="width: 400px">
<el-option
v-for="item in levelOptions"
:key="item.value"
@@ -38,184 +25,178 @@
</el-form-item>
<el-form-item label="鍏宠仈鍖哄煙">
+ <el-cascader
+ size="mini"
+ style="width:400px"
+ v-model="tmpOrg"
+ :options="menu"
+ :props="{ value: 'id', label: 'name', checkStrictly: true }"
+ collapse-tags
+ clearable
+ @change="handleTreeChange"
+ ref="cascader"
+ ></el-cascader>
+ </el-form-item>
+
+ <el-form-item label="璐d换浜�" prop="person">
<el-input
class="h32"
- v-model="gb28181.PublicId"
+ v-model="reportTask.person"
placeholder="璇疯緭鍏�"
size="small"
- :disabled="gb28181.idType === 1"
+ style="width: 400px"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="鎵嬫満鍙�" prop="tel">
+ <el-input
+ class="h32"
+ v-model="reportTask.tel"
+ placeholder="璇疯緭鍏�"
+ size="small"
+ style="width: 400px"
></el-input>
</el-form-item>
- <el-form-item label="璐d换浜�" prop="GbServerPort">
- <el-input
- class="h32"
- v-model.number="gb28181.GbServerPort"
- placeholder="璇疯緭鍏�"
- size="small"
- style="width: 200px"
- ></el-input>
- </el-form-item>
- <el-form-item label="鎵嬫満鍙�" prop="GbServerPort">
- <el-input
- class="h32"
- v-model.number="gb28181.GbServerPort"
- placeholder="璇疯緭鍏�"
- size="small"
- style="width: 200px"
- ></el-input>
- </el-form-item>
-
- <el-form-item label="鎺ㄩ�佹柟寮�">
- <el-input
- class="h32"
- v-model="gb28181.Password"
- placeholder="璇疯緭鍏�"
- size="small"
- :disabled="!gb28181.IsAuth"
- ></el-input>
+ <!-- <el-form-item label="鎺ㄩ�佹柟寮�">
+ <el-select v-model="pushType" placeholder="璇烽�夋嫨" style="width: 400px">
+ <el-option label="鐭俊" value="msg"> </el-option>
+ </el-select>
+ </el-form-item> -->
+ <el-form-item label="寮�鍚换鍔�">
+ <el-switch v-model="reportTask.enable" active-color="#13ce66" inactive-color="#bbbbbb"> </el-switch>
</el-form-item>
</el-form>
<div class="btnArea">
<div class="button cancel" @click="$emit('close')">鍙栨秷</div>
- <div class="button submit" @click="submitGB28281">淇濆瓨</div>
+ <div class="button submit" @click="submit">淇濆瓨</div>
</div>
</div>
</template>
<script>
-import { getGB28181Config, saveGB28181Config, getGb28181AreaList, newGb28181ID } from "@/api/Gb28181"
-import { isPort, isIPv4 } from "@/scripts/validate"
+import { createTask, updateTask } from "@/api/report"
export default {
props: {
- id: {}
- },
- created() {
- this.initGB28181Conf()
+ id: {
+ type: String,
+ default: ""
+ },
+ node: {},
+ camera: {},
+ menu: {}
},
data() {
return {
- gb28181: {},
- rules: {
- ip: [
- {
- required: true,
- message: "璇疯緭鍏P鍦板潃",
- trigger: "change"
- },
- { validator: isIPv4, trigger: "change" }
- ],
- ServerIp: [
- {
- required: true,
- message: "璇疯緭鍏P鍦板潃",
- trigger: "change"
- },
- { validator: isIPv4, trigger: "change" }
- ],
- ServerPort: [
- {
- required: true,
- message: "璇疯緭鍏ョ鍙�",
- trigger: "change"
- },
- { validator: isPort, trigger: "change" }
- ],
- GbServerPort: [
- {
- required: true,
- message: "璇疯緭鍏ョ鍙�",
- trigger: "change"
- },
- { validator: isPort, trigger: "change" }
- ]
- },
- locationCity: {
- province: "",
- city: "",
- county: "",
- provinceOptions: [],
- cityOptions: [],
- countyOptions: []
- },
+ reportTask: {},
eventsOptions: [
- { value: "fire", label: "鏄� 鐏�" },
- { value: "smoke", label: "鐑� 闆�" },
- { value: "work", label: "鏈┛宸ユ湇" },
- { value: "head", label: "鏈埓瀹夊叏甯�" },
- { value: "dowork", label: "绂诲矖" },
- { value: "juji", label: "浜哄憳鑱氶泦" }
+ { value: "鏄庣伀", label: "鏄庣伀" },
+ { value: "鐑熼浘", label: "鐑熼浘" },
+ { value: "绂诲矖", label: "绂诲矖" },
+ { value: "浜哄憳鑱氶泦", label: "浜哄憳鑱氶泦" },
+ { value: "鏈┛宸ヨ", label: "鏈┛宸ヨ" },
+ { value: "鏈埓瀹夊叏甯�", label: "鏈埓瀹夊叏甯�" }
],
levelOptions: [
- { value: "1", label: "涓�绾�" },
- { value: "2", label: "浜岀骇" },
- { value: "3", label: "涓夌骇" },
- { value: "4", label: "鍥涚骇" },
- { value: "5", label: "浜旂骇" }
- ]
+ { value: "涓�绾�", label: "涓�绾�" },
+ { value: "浜岀骇", label: "浜岀骇" },
+ { value: "涓夌骇", label: "涓夌骇" },
+ { value: "鍥涚骇", label: "鍥涚骇" },
+ { value: "浜旂骇", label: "浜旂骇" }
+ ],
+ pushType: "msg",
+ selectedOrg: {},
+ tmpOrg: []
}
},
+ mounted() {
+ this.reportTask = this.node
+ },
methods: {
- initGB28181Conf() {
- getGB28181Config(this.id).then((rsp) => {
- if (rsp && rsp.success) {
- this.gb28181 = rsp.data
- //this.gb28181.idType = 0;
-
- this.$set(this.gb28181, "idType", 0)
- this.$refs["gb28181"].resetFields()
- }
- })
- getGb28181AreaList().then((rsp) => {
- if (rsp && rsp.success) {
- this.locationCity.provinceOptions = rsp.data.list
- }
- })
+ handleTreeChange(value) {
+ this.selectedOrg = value[value.length - 1]
},
- submitGB28281() {
- this.$refs["gb28181"].validate((valid) => {
- if (valid) {
- saveGB28181Config(this.gb28181).then((rsp) => {
- if (rsp && rsp.success) {
- console.log("1212112")
- this.$notify({
- type: "success",
- message: "GB28181璁剧疆淇濆瓨鎴愬姛"
- })
- }
+ collSelectedNodes() {
+ let selectedNodeId = this.selectedOrg
+ let selectedNode = {}
+ let orgNodeIds = []
+
+ if (this.selectedOrg == "") {
+ return orgNodeIds
+ }
+
+ function findNode(node) {
+ if (node.id == selectedNodeId) {
+ selectedNode = node
+
+ return
+ }
+
+ if (node.children) {
+ node.children.forEach((n) => {
+ findNode(n)
})
+ }
+ }
+
+ function collNode(node) {
+ if (node.type != "MENU") {
+ orgNodeIds.push(node.id)
+ return
+ }
+
+ if (node.children) {
+ node.children.forEach((n) => {
+ collNode(n)
+ })
+ }
+ }
+
+ this.camera.forEach((n) => {
+ findNode(n)
+ })
+
+ collNode(selectedNode)
+
+ return orgNodeIds
+ },
+
+ submit() {
+ if (this.reportTask.tel.length != 11) {
+ this.$message.error("鎵嬫満鍙风爜涓嶆纭�")
+ return
+ }
+ this.$refs["report-task"].validate((valid) => {
+ if (valid) {
+ if (this.tmpOrg.length > 0) {
+ this.reportTask["cameraIds"] = this.collSelectedNodes().join(",")
+ this.reportTask.org = this.$refs["cascader"].getCheckedNodes()[0].pathLabels.join("/")
+ }
+ if (this.id == "") {
+ createTask(this.reportTask).then((rsp) => {
+ if (rsp && rsp.success) {
+ this.$notify({
+ type: "success",
+ message: "淇濆瓨鎴愬姛"
+ })
+ this.$emit("close")
+ }
+ })
+ } else {
+ updateTask(this.reportTask).then((rsp) => {
+ if (rsp && rsp.success) {
+ this.$notify({
+ type: "success",
+ message: "淇濆瓨鎴愬姛"
+ })
+ this.$emit("close")
+ }
+ })
+ }
} else {
console.log("error submit!!")
return false
- }
- })
- },
- changeProvince() {
- let pid = this.locationCity.province
- getGb28181AreaList({ parentId: pid }).then((rsp) => {
- if (rsp && rsp.success) {
- this.locationCity.cityOptions = rsp.data.list
- this.locationCity.city = this.locationCity.cityOptions[0].id
- this.changeCity()
- }
- })
- },
- changeCity() {
- let pid = this.locationCity.city
- getGb28181AreaList({ parentId: pid }).then((rsp) => {
- if (rsp && rsp.success) {
- this.locationCity.countyOptions = rsp.data.list
- this.locationCity.county = this.locationCity.countyOptions[0].id
- }
- })
- },
- newGBID() {
- let cCode = this.locationCity.county + ""
- newGb28181ID({ code: cCode }).then((rsp) => {
- if (rsp && rsp.success) {
- this.gb28181.PublicId = rsp.data.code
}
})
}
--
Gitblit v1.8.0