shaun-sheep 5 éve
szülő
commit
b7111c32c9

+ 3 - 4
src/api/scan/request.js

@@ -155,7 +155,6 @@ export function delErrAssets(param, paramList) {
 export function getPT(param) {
     let data = {
         "Comming": Comming,
-        "BeginTime": param.BeginTime,
         "ProjId": param.ProjId,
         "UserId": param.UserId,
         "BeginTime": param.BeginTime,
@@ -193,7 +192,7 @@ export function updatePoint(param) {
     return fetch({ method: 'POST', url: `${api}/service/point/update`, data })
 }
 
-//点击点位标签获取tab设备族列表 
+//点击点位标签获取tab设备族列表
 export function getTabFamily(param) {
     let data = {
         "Comming": Comming,
@@ -925,7 +924,7 @@ export function equipLinkSys(param, success) {
     http.postJson(url, param, success)
 }
 
-//设备清单 - 设备关联系统 系统1-n   
+//设备清单 - 设备关联系统 系统1-n
 export function sysLinkEquip(param, success) {
     let url = `${baseUrl}/datacenter/sy-in-eq/link-sy-eq`;
     http.postJson(url, param, success)
@@ -1535,4 +1534,4 @@ export function getEquipByEqID(param, success) {
 export function getFloorMsgByFloorID(param, success) {
     let url = `${baseUrl}/datacenter/floor/query`
     http.postJson(url, param, success)
-}
+}

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 6 - 6
src/assets/style/iconfont/iconfont.css


BIN
src/assets/style/iconfont/iconfont.eot


BIN
src/assets/style/iconfont/iconfont.ttf


BIN
src/assets/style/iconfont/iconfont.woff


+ 249 - 0
src/components/relation/overview/cardList.vue

@@ -0,0 +1,249 @@
+<template>
+    <div>
+        <section class="container" disabled>
+            <p class="relation-text">
+                建筑从属关系
+                <span class="pic-code">图编码xxxx</span>
+                <el-tooltip
+                    content="这是个提示"
+                    placement="top">
+                    <i
+                        class="icon-shuoming iconfont"
+                        @click="explain"
+                    />
+                </el-tooltip>
+            </p>
+            <el-row :gutter="24">
+                <el-col :span="8">
+                    <el-card shadow="hover">
+                        <p class="relation-title">
+                            项目下的建筑体
+                            <span class="asc">ph2db</span>
+                            <el-tooltip
+                                content="这是个提示"
+                                placement="top"
+                            >
+                                <i class="iconfont icon-warn icon"/>
+                            </el-tooltip>
+                        </p>
+                        <article>
+                            <el-col
+                                :span="13"
+                                class="main-object "
+                            >
+                                <p class="object">主要连接对象</p>
+                                <p class="group">项目→建筑体</p>
+                            </el-col>
+                            <el-col
+                                :span="1"
+                                class="main-object ">&nbsp;
+                            </el-col>
+                            <el-col
+                                :span="10"
+                                class="main-object"
+                            >
+                                <p class="line-number">链接数量</p>
+                                <p class="line-number">0</p>
+                            </el-col>
+                        </article>
+                        <p class="last-computed">
+                            最后一次计算时间
+                            <el-tooltip
+                                content="启动计算"
+                                placement="top"
+                            >
+                                <el-badge
+                                    is-dot
+                                    class="item float-right"
+                                >
+                                    <el-button
+                                        circle
+                                        icon="iconfont icon-changyongtubiao-mianxing-"
+                                        @click="computed"
+                                    >
+                                    </el-button>
+                                </el-badge>
+                            </el-tooltip>
+                            <el-tooltip
+                                content="手动编辑"
+                                placement="top"
+                            >
+                                <el-button
+                                    circle
+                                    class="float-right"
+                                    icon="iconfont icon-bianji"
+                                    @click="manual"
+                                >
+                                </el-button>
+
+                            </el-tooltip>
+                            <el-tooltip
+                                content="设定设备对象源/末端"
+                                placement="top"
+                            >
+                                <el-button
+                                    circle
+                                    class="float-right"
+                                    icon="iconfont icon-23 "
+                                    style="transform: rotate(90deg);"
+                                    @click="equipment"
+                                >
+                                </el-button>
+                            </el-tooltip>
+                        </p>
+                    </el-card>
+                </el-col>
+            </el-row>
+        </section>
+        <maintain ref="maintain" :values="values"/>
+    </div>
+</template>
+
+<script>
+    import maintain from './modal/relation-maintain'
+
+    export default {
+        name: "cardList",
+        data() {
+            return {
+                values: {
+                    title: '关系维护',
+                    cancel: '取消',
+                    confirm: '确定',
+                    promptly: '立即计算',
+                    placeholder: '请选择',
+                    download: '下载',
+                    done: '完成',
+                    underDesign: '高级配置页面正在设计中。。。',
+                    autoComputed: '根据现有数据自动计算xxx',
+                    existComputed: '根据现有数据自动计算xxx',
+                    existTitle: '计算方向使用的源端和末端如下:',
+                    originEquipment: '源端设备类:',
+                    endEquipment: '末端设备类:',
+                    tips: '请前往以下功能页面维护xxx',
+                    device: '【设备台账】',
+                    system: '【系统台账】',
+                    optionTips: '请下载最新最新 传感器测量设备关系 数据进行手动维护',
+                    currentNum: '当前关系数量:',
+                    lastTime: '最后更新时间为',
+                    uploadTxt: '将Excel文件拖到此处,或<em>单击上传Excel文件<em>',
+                    uploadTips: '上传的Excel数据将完全覆盖当前关系表(关系表先前数据不会保留)',
+                    inHand: '数据文件处理中...',
+                    dataFailed: '数据文件验证失败',
+                    allUpdateSuccess: 'xxxx全部更新成功',
+                    portionUpdateSuccess: ' xxxx关系部分更新成功',
+                    downloadFile: ' 下载报告文件'
+                }
+            }
+        },
+        methods: {
+            explain() {
+                alert('explain click')
+            },
+            computed() {
+                // this.$refs.maintain.dialogTableVisible = true
+                this.$refs.maintain.dialogTableVisibleMore = true
+            },
+            equipment() {
+                this.$refs.maintain.dialogEquipment = true
+            },
+            manual() {
+                // this.$refs.maintain.dialogManualTip = true
+                this.$refs.maintain.dialogManualOption = true
+            }
+        },
+        components: {maintain}
+    }
+</script>
+
+<style lang="less" scoped>
+    @color-text: #333;
+    @font-big: 600;
+    @font-small: 12px;
+    @font-code: #AAAAAA;
+    .container {
+        .el-card {
+            border: 1px solid #000;
+        }
+
+        .relation-text {
+            overflow: hidden;
+            margin: 10px 0;
+            color: @color-text;
+            border-left: 3px solid @color-text;
+            text-indent: 10px;
+            font-weight: @font-big;
+
+            .pic-code {
+                font-size: @font-small;
+                color: @font-code;
+                margin-left: 5px;
+                font-weight: 400;
+            }
+        }
+
+        .relation-title {
+            font-size: 20px;
+            font-weight: @font-big;
+
+            .asc {
+                font-size: @font-small;
+                color: @font-code;
+            }
+
+            .icon {
+                display: block;
+                float: right;
+                color: #555;
+                font-size: 18px;
+            }
+        }
+
+        .main-object {
+            margin: 15px 0;
+            padding-left: 0 !important;
+
+            &:nth-child(even) {
+                border-left: 1px solid @font-code;
+                margin-top: 27px;
+            }
+
+            .object {
+                font-size: @font-small;
+                color: @font-code;
+                font-weight: @font-big;
+            }
+
+            .group {
+                color: @color-text;
+                font-weight: @font-big;
+            }
+
+            .line-number {
+                font-size: @font-small;
+                color: @font-code;
+                font-weight: @font-big;
+            }
+        }
+
+
+        article {
+            overflow: hidden;
+        }
+
+        .last-computed {
+            color: @font-code;
+
+            .float-right {
+                float: right;
+                margin-left: 5px;
+            }
+
+            /deep/ .is-dot {
+                margin-top: 7px;
+                margin-right: 5px;
+            }
+
+        }
+    }
+</style>

+ 277 - 0
src/components/relation/overview/modal/relation-maintain.vue

@@ -0,0 +1,277 @@
+<template>
+    <div class="relation-maintain">
+        <!--计算无需配置源末端的关系时提示-->
+        <el-dialog
+            :title="values.title"
+            :visible.sync="dialogTableVisible"
+        >
+            <span class="font-big">{{values.autoComputed}}</span>
+            <footer
+                slot="footer"
+                class="dialog-footer "
+            >
+                <el-button @click="dialogTableVisible = false">{{values.cancel}}</el-button>
+                <el-button
+                    type="primary"
+                    @click="dialogTableVisible = false"
+                >{{values.confirm}}
+                </el-button>
+            </footer>
+        </el-dialog>
+        <!-- 计算需配置源末端的关系且已配置时提示-->
+        <el-dialog
+            :title="values.title"
+            :visible.sync="dialogTableVisibleMore"
+        >
+            <p class="font-big">{{values.existComputed}}</p>
+            <p class="exist-title">{{values.existTitle}}</p>
+            <el-row :span="24">
+                <el-col :span="8">
+                    <p>{{values.originEquipment}}</p>
+                    <el-select
+                        v-model="originEquipment"
+                        multiple
+                        :placeholder="values.placeholder"
+                    >
+                        <el-option
+                            v-for="item in options"
+                            :key="item.value"
+                            :label="item.label"
+                            :value="item.value"
+                        >
+                        </el-option>
+                    </el-select>
+                </el-col>
+                <el-col :span="8">
+                    <p>{{values.endEquipment}}</p>
+                    <el-select
+                        v-model="endEquipment"
+                        multiple
+                    >
+                        <el-option
+                            v-for="item in options"
+                            :key="item.value"
+                            :label="item.label"
+                            :value="item.value"
+                        >
+                        </el-option>
+                    </el-select>
+                </el-col>
+            </el-row>
+            <footer
+                slot="footer"
+                class="dialog-footer "
+            >
+                <el-button @click="dialogTableVisibleMore = false">{{values.cancel}}</el-button>
+                <el-button
+                    type="primary"
+                    @click="dialogTableVisibleMore = false"
+                >{{values.promptly}}
+                </el-button>
+            </footer>
+        </el-dialog>
+        <!--设定设备对象源/末端-->
+        <el-dialog
+            :title="values.title"
+            :visible.sync="dialogEquipment"
+        >
+            <span>{{values.underDesign}}</span>
+            <footer
+                slot="footer"
+                class="dialog-footer"
+            >
+                <el-button
+                    type="primary"
+                    @click="dialogEquipment = false"
+                >{{values.confirm}}
+                </el-button>
+            </footer>
+        </el-dialog>
+        <!--手动编辑:提示引导-->
+        <el-dialog
+            :title="values.title"
+            :visible.sync="dialogManualTip"
+        >
+            <p class="font-big">{{values.tips}}</p>
+            <p class="font-big">{{values.device}}</p>
+            <p class="font-big">{{values.system}}</p>
+            <footer
+                slot="footer"
+                class="dialog-footer "
+            >
+                <el-button @click="dialogManualTip = false">{{values.confirm}}
+                </el-button>
+            </footer>
+        </el-dialog>
+        <!--手动编辑:手动维护-->
+        <el-dialog
+            :title="values.title"
+            :visible.sync="dialogManualOption"
+        >
+            <p class="option-tip">{{values.optionTips}}</p>
+            <el-row :span="24">
+                <el-col :span="8">
+                    <p>
+                        <i class="iconfont icon-doc-line"/>
+                        {{values.currentNum}}
+                        2333
+                    </p>
+                    <el-button
+                        type="primary"
+                        class="mt-10"
+                    >{{values.download}}
+                    </el-button>
+                </el-col>
+                <el-col :span="10">
+                    {{values.lastTime}}
+                    2010-10-14
+                </el-col>
+            </el-row>
+            <el-upload
+                class="upload-demo"
+                drag
+                action="https://jsonplaceholder.typicode.com/posts/"
+                multiple
+                :on-progress="progress"
+                :on-success="success"
+                :on-error="error"
+            >
+                <i class="el-icon-upload"/>
+                <div
+                    class="el-upload__text"
+                    v-html="values.uploadTxt"
+                />
+                <div class="upload__tip danger" slot="tip">{{ values.uploadTips}}</div>
+            </el-upload>
+        </el-dialog>
+        <!--手动编辑:手动维护.process结束-->
+        <el-dialog
+            :title="values.title"
+            :visible.sync="dialogProcess"
+        >
+            <div class="block">
+                <el-timeline>
+                    <el-timeline-item
+                        v-for="(activity, index) in activities"
+                        :key="index"
+                        :icon="activity.icon"
+                        :type="activity.type"
+                        :color="activity.color"
+                        :size="activity.size"
+                    >
+                        {{activity.content}}
+                    </el-timeline-item>
+                </el-timeline>
+            </div>
+            <el-button>{{values.downloadFile}}</el-button>
+            <footer
+                slot="footer"
+                class="dialog-footer "
+            >
+                <el-button @click="dialogProcess = false">{{values.cancel}}</el-button>
+                <el-button
+                    type="primary"
+                    @click="dialogProcess = false"
+                >{{values.done}}
+                </el-button>
+            </footer>
+        </el-dialog>
+    </div>
+</template>
+
+<script>
+    export default {
+        name: "relation-maintain",
+        props: {
+            values: Object
+        },
+        data() {
+            return {
+                dialogTableVisible: false,
+                dialogTableVisibleMore: false,
+                dialogEquipment: false,
+                dialogManualTip: false,
+                dialogManualOption: false,
+                dialogProcess: false,
+                originEquipment: [],
+                endEquipment: [],
+                options: [{
+                    value: '选项1',
+                    label: '黄金糕'
+                }, {
+                    value: '选项2',
+                    label: '双皮奶'
+                }, {
+                    value: '选项5',
+                    label: '北京烤鸭'
+                }],
+                activities: [{
+                    content: '支持使用图标',
+                    size: 'large',
+                    type: 'primary',
+                    icon: 'el-icon-check',
+                    color: '#0bbd87'
+                }, {
+                    content: '支持自定义颜色',
+                    color: '#0bbd87',
+                    icon: 'el-icon-check',
+                    size: 'large',
+                    type: 'primary',
+                }]
+            }
+        },
+        methods: {
+            progress(event, file, fileList) {
+                // console.log(event.file, fileList)
+            },
+            success(event, file, fileList) {
+                console.log(event.file, fileList)
+
+            },
+            error(event, file, fileList) {
+                //成功时候调用,木有接口,test下
+                this.dialogManualOption = false
+                this.dialogProcess = true
+                console.log(event.file, fileList)
+
+            }
+        }
+    }
+</script>
+
+<style scoped lang="less">
+    .relation-maintain {
+        .mt-10 {
+            margin-top: 10px;
+        }
+
+        .danger {
+            color: #d9001b;
+        }
+
+        .font-big {
+            font-weight: 600;
+        }
+
+
+        .exist-title {
+            font-size: 12px;
+            color: #AAAAAA;
+        }
+
+        .option-tip {
+            font-size: 18px;
+            font-weight: 600;
+        }
+
+        .upload-demo {
+            margin: 20px 0;
+
+        }
+
+        /deep/ .el-upload-dragger {
+            width: 600px;
+            margin: 0 auto;
+        }
+    }
+</style>

+ 3 - 3
src/router/system.js

@@ -388,7 +388,7 @@ export default [
         component: LayoutMain,
         children: [
             { path: 'maintain', name: 'maintain', component: maintain, meta: { keepAlive: false, breadcrumbs: [{ label: '关系维护' }] } },
-            { path: 'overview', name: 'overView', component: overView, meta: { keepAlive: false, breadcrumbs: [{ label: '全部关系总览' }] } }
+            { path: 'overview', name: 'overView', component: overView, meta: { keepAlive: false, breadcrumbs: [{ label: '关系维护计算' },{ label: '全部关系总览' }] } }
         ]
     },
     /******************** 通用字典 ***************************/
@@ -399,7 +399,7 @@ export default [
     //     component: LayoutMain,
     //     children: [
     //         { path: 'supplier', name: 'supplier', component: supplier, meta: { keepAlive: false, breadcrumbs: [{ label: '厂家库' }] }}
-    //     ] 
+    //     ]
     // },
 
     //业务空间管理
@@ -504,4 +504,4 @@ export default [
             { path: 'own', name: 'Dasboard', component: OwnerManage }
         ]
     }
-]
+]

+ 17 - 21
src/views/relation/overview/index.vue

@@ -1,28 +1,14 @@
 <template>
     <div>
-      <das-board>
-        <template v-slot:plan>
-          <span>{{plan?plan:"yyyy-mm-dd"}}</span>
-        </template>
-        <template v-slot:finish>
-          <span>{{finish?finish:"yyyy-mm-dd"}}</span>
-        </template>
-        <template v-slot:onLine>
-          <span>{{onLine?onLine:"yyyy-mm-dd"}}</span>
-        </template>
-        <template v-slot:explain>
-          <span>{{explain?explain:"yyyy-mm-dd"}}</span>
-        </template>
-      </das-board>
+        <p class="slave-relation-title">架构从属关系</p>
+        <cardList/>
     </div>
 </template>
 
 <script>
-import dasBoard from "@/views/dasboard/index";
-export default {
-    components: {
-      dasBoard
-    },
+    import cardList from "@/components/relation/overview/cardList"
+
+    export default {
     data() {
         return {
           plan: "2019-10-30",
@@ -31,6 +17,16 @@ export default {
           explain: "所有关系的检索查看以及维护(查看方式包含:列表,平面图,拓扑图等)"
         }
     },
-    mounted() {}
+        mounted() {
+        },
+        components: {cardList}
 }
-</script>
+</script>
+<style lang="less" scoped>
+    .slave-relation-title {
+        color: #AAAAAA;
+        font-weight: 600;
+        border-bottom: 2px dashed #555;
+        padding-bottom: 5px;
+    }
+</style>