Преглед на файлове

添加项目基本信息组件

yx преди 4 години
родител
ревизия
56eb393cbd
променени са 4 файла, в които са добавени 158 реда и са изтрити 17 реда
  1. 42 7
      src/components/baseEditer.vue
  2. 106 0
      src/components/edit/baseInfo.vue
  3. 3 1
      src/components/edit/right_toolbar.vue
  4. 7 9
      src/lib/items/section1.js

+ 42 - 7
src/components/baseEditer.vue

@@ -57,7 +57,16 @@ export default {
             hasTypeList: [], // 当前类型下包含的typeid(提取)
             graphId: '',
             initScale: 1, //加载好底图之后的,初始缩放比例
-            changeScaleByClick: false, //区分 滚轮,点击 事件改变的缩放比例
+            changeScaleByClick: false, //区分 滚轮,点击 事件改变的缩放比
+            baseInfo: {
+                Name: '', // 图名称
+                CategoryID: '',
+                ProjectID: '', // 项目ID
+                BuildingID: '', // 建筑ID
+                FloorID: '', // 楼层id
+                Note: '', // 楼层id
+            },
+            newBaseInfo: {},
         }
     },
     mounted() {
@@ -240,6 +249,15 @@ export default {
                 this.view.fitSceneToView()
             }
             bus2.$emit('elementDataChange', this.scene)
+
+            bus2.$emit('baseInfo', {
+                Name: data.Name || '', // 图名称
+                CategoryID: data.CategoryID || '',
+                ProjectID: data.ProjectID || '', // 项目ID
+                BuildingID: data.BuildingID || '', // 建筑ID
+                FloorID: data.FloorID || '', // 楼层id
+                Note: data.Note || '', // 楼层id
+            })
         },
         // 不适用平面图逻辑(调用蜂鸟接口,加载底图)
         init1() {
@@ -419,6 +437,18 @@ export default {
         getBus() {
             // 取消所有监听,防止触发多次监听
             bus.$off()
+            // 监听 baseInfo.vue组件修改后的项目基本信息
+            bus.$on('newBaseInfo', (data) => {
+                console.log(data)
+                this.newBaseInfo = {
+                    Name: data.Name || '', // 图名称
+                    CategoryID: data.CategoryID || '',
+                    ProjectID: data.ProjectID || '', // 项目ID
+                    BuildingID: data.BuildingID || '', // 建筑ID
+                    FloorID: data.FloorID || '', // 楼层id
+                    Note: data.Note || '', // 备注
+                }
+            })
             // 添加设备
             bus.$on('addEquip', () => {
                 // console.log("addEquip");
@@ -591,14 +621,18 @@ export default {
                 bus2.$emit('exportItem', data)
             })
             bus.$on('saveMsgItem', () => {
+                // let baseInfo = JSON.parse(sessionStorage.getItem('baseInfo'))
+                let baseInfo = this.newBaseInfo
                 const Elements = this.scene.saveMsgItem()
                 const data = {
                     Elements,
-                    Name: this.appName, // 名称
-                    categoryId: this.urlMsg.categoryId,
-                    ProjectID: this.urlMsg.projectId, // 项目ID
-                    BuildingID: this.urlMsg.BuildingID, // 建筑ID
-                    FloorID: this.urlMsg.FloorID, // 楼层id
+                    ID: uuid(),
+                    Name: baseInfo.Name, // 图名称
+                    CategoryID: baseInfo.CategoryID,
+                    ProjectID: baseInfo.ProjectID, // 项目ID
+                    BuildingID: baseInfo.BuildingID, // 建筑ID
+                    FloorID: baseInfo.FloorID, // 楼层id
+                    Note: baseInfo.Note, // 楼层id
                 }
                 /*   Message({
                     message: "上传中,切勿关闭窗口!",
@@ -687,7 +721,7 @@ export default {
             bus.$on('deleteEquipmentInfo', () => {
                 this.scene.deleteEquipmentInfo()
             })
-            
+
             // 改变图例名称
             bus.$on('changeImageNum', (val) => {
                 this.scene.upadatImageNum(val)
@@ -780,6 +814,7 @@ export default {
                 PubUser: '',
             }
             publishGraph(data).then((res) => {
+                return true
                 loadings.close()
                 if (res.Result == 'success') {
                     this.$message.success('发布成功')

+ 106 - 0
src/components/edit/baseInfo.vue

@@ -0,0 +1,106 @@
+/**
+*@author:yunxing
+*@date:2020.07.29
+*@info:楼层,项目...基本信息组件
+*/
+<template>
+    <div class='base-info'>
+        <p>项目基本信息</p>
+        <div class='row'>
+            <div class='row-tit'>图名称</div>
+            <a-input v-model='baseInfo.Name' class='base-input' @change='changeBaseInfo' />
+        </div>
+        <div class='row'>
+            <div class='row-tit'>图分类ID</div>
+            <a-input v-model='baseInfo.CategoryID' class='base-input' @change='changeBaseInfo' />
+        </div>
+        <div class='row'>
+            <div class='row-tit'>项目ID</div>
+            <a-input v-model='baseInfo.ProjectID' class='base-input' @change='changeBaseInfo' />
+        </div>
+        <div class='row'>
+            <div class='row-tit'>建筑ID</div>
+            <a-input v-model='baseInfo.BuildingID' class='base-input' @change='changeBaseInfo' />
+        </div>
+        <div class='row'>
+            <div class='row-tit'>楼层ID</div>
+            <a-input v-model='baseInfo.FloorID' class='base-input' @change='changeBaseInfo' />
+        </div>
+        <div class='row'>
+            <div class='row-tit'>图说明</div>
+            <a-textarea v-model='baseInfo.Note' class='base-input' @change='changeBaseInfo' :rows='4' />
+            <!-- <a-input style='width: 180px' /> -->
+        </div>
+    </div>
+</template>
+<script>
+import { log } from 'util'
+import bus from '@/bus'
+import bus2 from '@/bus2'
+import { cloneDeep } from 'lodash'
+export default {
+    name: '',
+    props: {},
+    data() {
+        return {
+            baseInfo: {
+                Name: '', // 图名称
+                CategoryID: '',
+                ProjectID: '', // 项目ID
+                BuildingID: '', // 建筑ID
+                FloorID: '', // 楼层id
+                Note: '', // 楼层id
+            },
+        }
+    },
+    components: {},
+    beforeMount() {},
+    mounted() {
+        // 监听 baseEditer.vue文件 读取json文件后,传入的项目基本信息
+        bus2.$on('baseInfo', (val) => {
+            this.baseInfo = cloneDeep(val)
+        })
+    },
+    methods: {
+        /**
+         * @description 栏位修改后,将修改后的信息通过newBaseInfo传入 baseEditer.vue
+         */
+        changeBaseInfo() {
+            bus.$emit('newBaseInfo', cloneDeep(this.baseInfo))
+        },
+    },
+}
+</script>
+<style lang='less' scoped>
+.base-info {
+    width: 100%;
+    height: 500px;
+    padding: 12px 16px;
+    box-sizing: border-box;
+    overflow-y: scroll;
+    .row {
+        width: 100%;
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+        margin-top: 12px;
+        .color-choice {
+            & /deep/ .vue-swatches__trigger {
+                width: 26px !important;
+                height: 26px !important;
+                border-radius: 0px !important;
+            }
+        }
+        .row-tit {
+            color: #1f2429;
+            font-size: 14px;
+        }
+        .base-input {
+            width: 180px;
+        }
+        .input {
+            width: 150px;
+        }
+    }
+}
+</style>

+ 3 - 1
src/components/edit/right_toolbar.vue

@@ -21,6 +21,7 @@
                     </ul>
                     <equipment-attr :key="key" v-if="attrType === 'Equipment'" :focusItemList="focusItemList"/>
                     <attrSelect v-else-if="attrType" :type="attrType" :focusItemList="focusItemList" />
+                    <baseInfo v-show='!attrType' ></baseInfo>
                     <!-- <attrSelect v-show="attrType !== 'Equipment' " :type="attrType" :focusItemList="focusItemList" /> -->
                 </div>
             </a-tab-pane>
@@ -41,6 +42,7 @@
 <script>
 import attrSelect from "@/components/edit/attr_select";
 import equipmentAttr from './equipmentAttr.vue'
+import baseInfo from './baseInfo.vue'
 import bus from "@/bus";
 import bus2 from "@/bus2";
 import { SImageMarkerItem } from "../../lib/items/SImageMarkerItem";
@@ -90,7 +92,7 @@ export default {
         }
     },
     components: {
-        attrSelect,equipmentAttr
+        attrSelect,equipmentAttr,baseInfo
     },
     created() {
         this.listenElementData();

+ 7 - 9
src/lib/items/section1.js

@@ -1,7 +1,7 @@
 let data = {
     Data: [
         {
-            ID: '', // 图ID
+            ID: '', // 图ID 
             Name: '', // 名称
             CategoryID: '', // 图分类ID
             ProjectID: '', // 项目ID
@@ -20,17 +20,15 @@ let data = {
     Message: '',
     Result: 'Success',
 }
-// 信息点 数据格式
-let Nodes1 = [
-    {
-        ID: '', // ID
-        Code: '', // 对应设备的信息点
+// 信息点 数据格式 TODO:
+let Node1 =     {
+        ID: '', // ID  自动生成
+        Code: '', // 对应设备的信息点 //
         Name: '', // 名称
-        AttachObjectIds: ['Eq001', 'Eq002'], // 返回工程信息化对象 ID 列表
+        AttachObjectIds: ['Eq001', 'Eq002'], // 返回工程信息化对象 ID 列表 
         GraphElementType: 'Info', // 图例类型 None/Line/Zone/Image/Equipment/Info:非图例/线条/区域类型/图标/设备
         Pos: { X: 0, Y: 0 }, // 位置
         Size: { Width: 100, Height: 25 }, // 大小
-        InfoList: [],
         Properties: {
             FontSize: 12,
             Background: '#000000',
@@ -41,7 +39,7 @@ let Nodes1 = [
 // 设备类 数据格式
 let Nodes2 = [
     {
-        ID: '2a3c42d9-b770-4976-ac33-65bd82d4c3ca-1595987409252', //TODO: ?
+        ID: '2a3c42d9-b770-4976-ac33-65bd82d4c3ca-1595987409252',
         Name: '1#风机',
         AttachObjectIds: [
             //TODO: 添加修改入口    返回工程信息化对象 ID 列表