2 Commits ca2214a2bc ... c5fbfde9c5

Author SHA1 Message Date
  onlyh c5fbfde9c5 Merge remote-tracking branch 'origin/dataType' into dataType 3 years ago
  onlyh b7d019f3e3 adm:feat> 修改关系卡片显示 3 years ago
2 changed files with 309 additions and 302 deletions
  1. 300 300
      src/components/relation/overview/CardList.vue
  2. 9 2
      src/views/relation/overview/index.vue

+ 300 - 300
src/components/relation/overview/CardList.vue

@@ -4,8 +4,8 @@
       :key="index"
       v-for="(item,index) in content"
     >
-      <p class="slave-relation-title">{{item.graphTypeName}}
-      <span>(主要连接对象按照标准字典显示)</span>
+      <p class="slave-relation-title">{{ item.graphTypeName }}
+        <span>(主要连接对象按照标准字典显示)</span>
       </p>
       <section
         :key="child.graphTypeId"
@@ -15,9 +15,9 @@
         <p class="relation-text">
           <span class="iconfont icon-juxing"></span>
           <span @click="toDetail(child)" style="cursor:pointer;">
-            {{child.graphTypeName}}
+            {{ child.graphTypeName }}
             <i class="icon-zuzhiguanxi iconfont"/></span>
-          <span class="pic-code">图类型编码:{{child.graphTypeCode}}</span>
+          <span class="pic-code">图类型编码:{{ child.graphTypeCode }}</span>
           <el-tooltip
             :content="child.Note"
             placement="top">
@@ -48,13 +48,13 @@
                   :content="relation.relationTypeName"
                   placement="top"
                 >
-                  <p class="relation-title reset-test reset-title">{{relation.relationTypeName}}</p>
+                  <p class="relation-title reset-test reset-title">{{ relation.relationTypeName }}</p>
                 </el-tooltip>
                 <el-tooltip
                   :content="relation.relationTypeCode"
                   placement="top"
                 >
-                  <p class="asc reset-title reset-test">边类型编码:{{relation.relationTypeCode}}</p>
+                  <p class="asc reset-title reset-test">边类型编码:{{ relation.relationTypeCode }}</p>
                 </el-tooltip>
                 <p class="relation-title-icon reset-test fr">
                   <el-tooltip
@@ -75,7 +75,7 @@
                         :content="relation.conneObject"
                         placement="top"
                       >
-                        <p class="group reset-title">{{relation.conneObject}}</p>
+                        <p class="group reset-title">{{ relation.conneObject }}</p>
                       </el-tooltip>
                     </div>
                   </el-col>
@@ -87,7 +87,7 @@
                   <el-col :span="9">
                     <div class="grid-content ">
                       <p class="line-number">连接数量</p>
-                      <p :class="relation.count > 0? 'line-number-show' :'line-number-hide'">{{relation.count}}</p>
+                      <p :class="relation.count > 0? 'line-number-show' :'line-number-hide'">{{ relation.count }}</p>
 
                     </div>
                   </el-col>
@@ -98,7 +98,7 @@
                   <span v-show="relation.computationalState === 3">关系计算中...</span>
                   <span v-show="relation.computationalState === 5">计算失败</span>
                   <span
-                    v-show="relation.computationalState !== 3  && relation.computingTime">最后一次计算时间 {{relation.computingTime}}</span>
+                    v-show="relation.computationalState !== 3  && relation.computingTime">最后一次计算时间 {{ relation.computingTime }}</span>
                   <el-tooltip
                     :content="relation.computationalState === 2 ? '关系变更,请重新计算':'启动计算'"
                     placement="top"
@@ -176,353 +176,353 @@
 </template>
 
 <script>
-  import RelationMaintain from './Modal/RelationMaintain'
-
-  export default {
-    name: "cardList",
-    props: {
-      content: Array,
-      source: Array,
-      TableVisibleMoreLoading: Boolean,
-      // cardDisabled: Boolean
-    },
-    data() {
-      return {
-        values: {
-          title: '关系维护',
-          cancel: '取消',
-          confirm: '确定',
-          back: '返回',
-          preservation:'保存',
-          promptly: '立即计算',
-          placeholder: '请选择',
-          download: '下载模板(含数据)',
-          done: '完成',
-          underDesign: '高级配置页面正在设计中。。。',
-          autoComputed: '根据现有数据自动计算',
-          existComputed: '根据现有数据自动计算',
-          existTitle: '计算方向使用的源端和末端如下:',
-          originEquipment: '源端设备类:',
-          endEquipment: '末端设备类:',
-          device: '', //提示引导内容
-          tips: '', //请前往以下功能页面维护
-          optionTips: '', //请下载最新最新 xxxx 数据进行手动维护
-          currentNum: '当前关系数量:',
-          lastTime: '', //最后更新时间为
-          uploadTxt: '将Excel文件拖到此处,或<em>单击上传Excel文件<em>',
-          uploadTips: '上传的Excel数据将完全覆盖当前关系表(关系表先前数据不会保留)',
-          inHand: '数据文件处理中...',
-          dataFailed: '数据文件验证失败',
-          allUpdateSuccess: 'xxxx全部更新成功',
-          portionUpdateSuccess: ' xxxx关系部分更新成功',
-          downloadFile: ' 下载报告文件',
-          equipmentSetting: ''
-        },
-        isComputed: {}, // 当前要计算的对象
-        ManualMaintenance: {},//手动编辑对象
-      }
-    },
-    created() {
-    },
-    computed: {},
-
-    methods: {
-      explain() {
-        // alert('explain click')
+import RelationMaintain from './Modal/RelationMaintain'
+
+export default {
+  name: "cardList",
+  props: {
+    content: Array,
+    source: Array,
+    TableVisibleMoreLoading: Boolean,
+    // cardDisabled: Boolean
+  },
+  data() {
+    return {
+      values: {
+        title: '关系维护',
+        cancel: '取消',
+        confirm: '确定',
+        back: '返回',
+        preservation: '保存',
+        promptly: '立即计算',
+        placeholder: '请选择',
+        download: '下载模板(含数据)',
+        done: '完成',
+        underDesign: '高级配置页面正在设计中。。。',
+        autoComputed: '根据现有数据自动计算',
+        existComputed: '根据现有数据自动计算',
+        existTitle: '计算方向使用的源端和末端如下:',
+        originEquipment: '源端设备类:',
+        endEquipment: '末端设备类:',
+        device: '', //提示引导内容
+        tips: '', //请前往以下功能页面维护
+        optionTips: '', //请下载最新最新 xxxx 数据进行手动维护
+        currentNum: '当前关系数量:',
+        lastTime: '', //最后更新时间为
+        uploadTxt: '将Excel文件拖到此处,或<em>单击上传Excel文件<em>',
+        uploadTips: '上传的Excel数据将完全覆盖当前关系表(关系表先前数据不会保留)',
+        inHand: '数据文件处理中...',
+        dataFailed: '数据文件验证失败',
+        allUpdateSuccess: 'xxxx全部更新成功',
+        portionUpdateSuccess: ' xxxx关系部分更新成功',
+        downloadFile: ' 下载报告文件',
+        equipmentSetting: ''
       },
-      RelationType() {
-        // this.cardDisabled = true
-        this.$emit('RelationType', this.isComputed.relationType, this.isComputed.zoneType)
+      isComputed: {}, // 当前要计算的对象
+      ManualMaintenance: {},//手动编辑对象
+    }
+  },
+  created() {
+  },
+  computed: {},
+
+  methods: {
+    explain() {
+      // alert('explain click')
+    },
+    RelationType() {
+      // this.cardDisabled = true
+      this.$emit('RelationType', this.isComputed.relationType, this.isComputed.zoneType, this.isComputed)
 
-      },
-      computed(relation) {
-        this.isComputed = relation // 当前要计算的对象
-        if (relation.relationType) {
-          this.$emit('calcSpecial', relation)
-          if (relation.source) {
-            this.values.existComputed = `根据现有数据自动计算 <${relation.relationTypeName}>`
-            this.$refs.maintain.dialogTableVisibleMore = true
-            this.$refs.maintain.showCascader(relation)
-            this.$refs.maintain.handleSourceQuery()
+    },
+    computed(relation) {
+      this.isComputed = relation // 当前要计算的对象
+      if (relation.relationType) {
+        this.$emit('calcSpecial', relation)
+        if (relation.source) {
+          this.values.existComputed = `根据现有数据自动计算 <${ relation.relationTypeName }>`
+          this.$refs.maintain.dialogTableVisibleMore = true
+          this.$refs.maintain.showCascader(relation)
+          this.$refs.maintain.handleSourceQuery()
 
-          } else {
-            this.values.autoComputed = `根据现有数据自动计算 <${relation.relationTypeName}>`
-            this.$refs.maintain.dialogTableVisible = true
+        } else {
+          this.values.autoComputed = `根据现有数据自动计算 <${ relation.relationTypeName }>`
+          this.$refs.maintain.dialogTableVisible = true
 
 
-          }
-        } else {
-          this.$message.warning("设计中")
-          return false
         }
-      },
-      equipment(relation) { //配置源端末端
-        this.values.equipmentSetting = `${relation.relationTypeName} 源末端关系设置`
-        this.$refs.maintain.dialogEquipmentOpen(relation)
-        this.$refs.maintain.handleSourceQuery()
-      },
-      manual(relation) {
-        let {manual, prompting, relationTypeName, computingTime} = relation;
-        let device = prompting && prompting.split(','),
-          tips = `请前往以下功能页面维护 <${relationTypeName}>`,
-          optionTips = `请下载当前最新 <${relationTypeName}> 数据进行手动维护`,
-          lastTime = `最后更新时间为 ${computingTime ? computingTime : ''}`
-
-        if (manual === 2) {
-          this.values = {...this.values, device, tips}
-          this.$refs.maintain.dialogManualTip = true
-        }
-        if (manual === 3) {
-          // if (relation.RelManualType) {
-          if (relation.relationType) {
-            this.values = {...this.values, optionTips, lastTime}
-            // this.$refs.maintain.dialogManualOption = true //导出excel 弹窗
-            this.$router.push({
-              path:"relationShip"
-            })
-            console.log(relation,'relation')
-          localStorage.setItem('RelManualType',relation.relManualType)
-          localStorage.setItem('RelationTypeName',relation.relationTypeName)
-          localStorage.setItem('RelationType',relation.relationType)
-          localStorage.setItem('ZoneType',relation.zoneType ? relation.zoneType : '')
-          localStorage.setItem('MainObject',relation.mainObject)
+      } else {
+        this.$message.warning("设计中")
+        return false
+      }
+    },
+    equipment(relation) { //配置源端末端
+      this.values.equipmentSetting = `${ relation.relationTypeName } 源末端关系设置`
+      this.$refs.maintain.dialogEquipmentOpen(relation)
+      this.$refs.maintain.handleSourceQuery()
+    },
+    manual(relation) {
+      let { manual, prompting, relationTypeName, computingTime } = relation;
+      let device = prompting && prompting.split(','),
+        tips = `请前往以下功能页面维护 <${ relationTypeName }>`,
+        optionTips = `请下载当前最新 <${ relationTypeName }> 数据进行手动维护`,
+        lastTime = `最后更新时间为 ${ computingTime ? computingTime : '' }`
+
+      if (manual === 2) {
+        this.values = { ...this.values, device, tips }
+        this.$refs.maintain.dialogManualTip = true
+      }
+      if (manual === 3) {
+        // if (relation.RelManualType) {
+        if (relation.relationType) {
+          this.values = { ...this.values, optionTips, lastTime }
+          // this.$refs.maintain.dialogManualOption = true //导出excel 弹窗
+          this.$router.push({
+            path: "relationShip"
+          })
+          console.log(relation, 'relation')
+          localStorage.setItem('RelManualType', relation.relManualType)
+          localStorage.setItem('RelationTypeName', relation.relationTypeName)
+          localStorage.setItem('RelationType', relation.relationType)
+          localStorage.setItem('ZoneType', relation.zoneType ? relation.zoneType : '')
+          localStorage.setItem('MainObject', relation.mainObject)
           localStorage.setItem('FromObject', relation.fromObject)
           localStorage.setItem('count', relation.count)
           localStorage.setItem('ComputingTime', relation.computingTime ? relation.computingTime : '')
-          } else {
-            this.$message.warning("设计中")
-            return false
-          }
+        } else {
+          this.$message.warning("设计中")
+          return false
         }
-        this.ManualMaintenance = relation
-      },
-
-      openComputed(result) {
-        this.$emit('openComputed', result)
-      },
-
-      //空间连接关系详情
-      toDetail(detail){
-        return
-        this.$router.push({
-          name: 'relationDetail',
-          query: {
-            type: detail.graphTypeCode,
-            RelationTypeProjectList: detail.relationTypeProjectList
-          }
-        })
       }
+      this.ManualMaintenance = relation
     },
-    components: {RelationMaintain}
-  }
-</script>
 
-<style lang="less" scoped>
-  @color-text: #333;
-  @font-big: 600;
-  @font-small: 12px;
-  @font-code: #AAAAAA;
-  @pos-relative: relative;
-  @pos-absolute: absolute;
-  @pos-zero: 0;
-  @5px: 5px;
-
-  .slave-relation-title {
-    color: @font-code;
-    font-weight: 600;
-    border-bottom: 1px dashed @font-code;
-    padding-bottom: @5px;
-  }
-
-  .container {
-    @media (max-width: 1500px) {
-      .relation-title {
-        max-width: 160px;
-      }
-
-      .group {
-        white-space: normal !important;
-      }
-
-      .asc {
-        max-width: 108px;
-      }
-
-      .thread {
-        margin-left: 5px !important;
-      }
-
-      /deep/ .el-card__body {
-        padding: 18px !important;
-      }
-
-      .sm-button {
-        height: 30px;
-        width: 30px;
-        text-align: center;
-        padding: 0;
-      }
+    openComputed(result) {
+      this.$emit('openComputed', result)
+    },
 
+    //空间连接关系详情
+    toDetail(detail) {
+      return
+      this.$router.push({
+        name: 'relationDetail',
+        query: {
+          type: detail.graphTypeCode,
+          RelationTypeProjectList: detail.relationTypeProjectList
+        }
+      })
     }
+  },
+  components: { RelationMaintain }
+}
+</script>
 
-    .el-row {
-      margin-bottom: 20px;
-
-      &:last-child {
-        margin-bottom: 0;
-      }
+<style lang="less" scoped>
+@color-text: #333;
+@font-big: 600;
+@font-small: 12px;
+@font-code: #AAAAAA;
+@pos-relative: relative;
+@pos-absolute: absolute;
+@pos-zero: 0;
+@5px: 5px;
+
+.slave-relation-title {
+  color: @font-code;
+  font-weight: 600;
+  border-bottom: 1px dashed @font-code;
+  padding-bottom: @5px;
+}
+
+.container {
+  @media (max-width: 1500px) {
+    .relation-title {
+      max-width: 160px;
     }
 
-    .el-col {
-      border-radius: 4px;
+    .group {
+      white-space: normal !important;
     }
 
-    .grid-content {
-      border-radius: 4px;
-      min-height: 36px;
-
-      .thread {
-        border-left: 1px solid @font-code;
-        margin-left: 10px;
-        min-height: 36px;
-        margin-top: 6px;
-      }
+    .asc {
+      max-width: 108px;
     }
 
-    .row-bg {
-      padding: 10px 0;
-      background-color: #f9fafc;
+    .thread {
+      margin-left: 5px !important;
     }
 
-    .reset-title {
-      overflow: hidden;
-      white-space: nowrap;
-      text-overflow: ellipsis;
+    /deep/ .el-card__body {
+      padding: 18px !important;
     }
 
-    .reset-test {
-      float: left;
+    .sm-button {
+      height: 30px;
+      width: 30px;
       text-align: center;
-      height: 40px;
-      line-height: 40px;
+      padding: 0;
     }
 
-    .fr {
-      float: right;
-    }
+  }
 
-    .el-card {
-      margin: 10px 0;
-    }
+  .el-row {
+    margin-bottom: 20px;
 
-    .relation-text {
-      overflow: hidden;
-      margin-top: 10px;
-      /*text-indent: 10px;*/
-      margin-left: -3px;
-      font-weight: @font-big;
-
-      .pic-code {
-        font-size: @font-small;
-        color: @font-code;
-        margin-left: @5px;
-        font-weight: 400;
-      }
+    &:last-child {
+      margin-bottom: 0;
     }
+  }
 
-    .card {
-      position: @pos-relative;
+  .el-col {
+    border-radius: 4px;
+  }
 
-    }
+  .grid-content {
+    border-radius: 4px;
+    min-height: 36px;
 
-    .mask {
-      background: rgba(255, 255, 255, .6);
-      position: @pos-absolute;
-      top: @pos-zero;
-      left: @pos-zero;
-      right: @pos-zero;
-      bottom: @pos-zero;
-      user-select: none;
-      z-index: 2
+    .thread {
+      border-left: 1px solid @font-code;
+      margin-left: 10px;
+      min-height: 36px;
+      margin-top: 6px;
     }
+  }
 
-    .relation-title {
-      font-size: 20px;
-      font-weight: @font-big;
-      margin-right: 10px;
-
-      .icon {
-        display: block;
-        float: right;
-        color: #555;
-        font-size: 18px;
-      }
-    }
+  .row-bg {
+    padding: 10px 0;
+    background-color: #f9fafc;
+  }
 
-    .relation-title-icon {
-      font-size: 20px;
-      font-weight: @font-big;
-      overflow: hidden;
+  .reset-title {
+    overflow: hidden;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+  }
 
-      .icon {
-        display: block;
-        float: right;
-        color: #555;
-        font-size: 18px;
-      }
-    }
+  .reset-test {
+    float: left;
+    text-align: center;
+    height: 40px;
+    line-height: 40px;
+  }
 
-    .asc {
-      font-size: @font-small;
-      color: @font-code;
-    }
+  .fr {
+    float: right;
+  }
 
-    .object {
-      font-size: @font-small;
-      color: @font-code;
-      font-weight: @font-big;
-    }
+  .el-card {
+    margin: 10px 0;
+  }
 
-    .group {
-      color: @color-text;
-      font-weight: @font-big;
-    }
+  .relation-text {
+    overflow: hidden;
+    margin-top: 10px;
+    /*text-indent: 10px;*/
+    margin-left: -3px;
+    font-weight: @font-big;
 
-    .line-number {
+    .pic-code {
       font-size: @font-small;
       color: @font-code;
-      font-weight: @font-big;
+      margin-left: @5px;
+      font-weight: 400;
     }
+  }
 
-    .line-number-show {
-      color: @color-text;
-      font-weight: @font-big;
-    }
+  .card {
+    position: @pos-relative;
 
-    .line-number-hide {
-      color: @font-code;
-      font-weight: @font-big;
+  }
+
+  .mask {
+    background: rgba(255, 255, 255, .6);
+    position: @pos-absolute;
+    top: @pos-zero;
+    left: @pos-zero;
+    right: @pos-zero;
+    bottom: @pos-zero;
+    user-select: none;
+    z-index: 2
+  }
+
+  .relation-title {
+    font-size: 20px;
+    font-weight: @font-big;
+    margin-right: 10px;
+
+    .icon {
+      display: block;
+      float: right;
+      color: #555;
+      font-size: 18px;
     }
+  }
 
+  .relation-title-icon {
+    font-size: 20px;
+    font-weight: @font-big;
+    overflow: hidden;
 
-    article {
-      overflow: hidden;
+    .icon {
+      display: block;
+      float: right;
+      color: #555;
+      font-size: 18px;
     }
+  }
 
-    .last-computed {
-      overflow: hidden;
-      color: @font-code;
+  .asc {
+    font-size: @font-small;
+    color: @font-code;
+  }
 
-      .float-right {
-        float: right;
-        margin-left: @5px;
-      }
+  .object {
+    font-size: @font-small;
+    color: @font-code;
+    font-weight: @font-big;
+  }
 
-      /deep/ .is-dot {
-        margin-top: 7px;
-        margin-right: @5px;
-      }
+  .group {
+    color: @color-text;
+    font-weight: @font-big;
+  }
 
+  .line-number {
+    font-size: @font-small;
+    color: @font-code;
+    font-weight: @font-big;
+  }
+
+  .line-number-show {
+    color: @color-text;
+    font-weight: @font-big;
+  }
+
+  .line-number-hide {
+    color: @font-code;
+    font-weight: @font-big;
+  }
+
+
+  article {
+    overflow: hidden;
+  }
+
+  .last-computed {
+    overflow: hidden;
+    color: @font-code;
+
+    .float-right {
+      float: right;
+      margin-left: @5px;
     }
+
+    /deep/ .is-dot {
+      margin-top: 7px;
+      margin-right: @5px;
+    }
+
   }
+}
 </style>

+ 9 - 2
src/views/relation/overview/index.vue

@@ -153,7 +153,7 @@ export default {
         });
       });
     },
-    RelationType(relation_type, zone_type) {
+    RelationType(relation_type, zone_type, obj) {
       let param = {
         relation_type,
         zone_type,
@@ -170,7 +170,14 @@ export default {
         }
         this.init();
       });
-      this.init();
+      // todo
+      obj.computationalState = 3
+      setTimeout(() => {
+        this.init()
+      })
+    },
+    statusCard() {
+
     },
     calcSpecial(relation) {
       this.currentRelationTypeName = relation.RelationTypeName;