From e48a56c2171f023f1978b0b6aec9befd43e7a9dc Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期一, 04 十一月 2024 08:45:22 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 web/src/views/modules/taskReliability/TimeDiagram.vue |  241 +++++------------------------------------------
 1 files changed, 29 insertions(+), 212 deletions(-)

diff --git a/web/src/views/modules/taskReliability/TimeDiagram.vue b/web/src/views/modules/taskReliability/TimeDiagram.vue
index 0d654f8..15c0973 100644
--- a/web/src/views/modules/taskReliability/TimeDiagram.vue
+++ b/web/src/views/modules/taskReliability/TimeDiagram.vue
@@ -13,18 +13,25 @@
             <zt-select v-model="dataForm.id" :datas="simulatList" @change="onSimulatSelected"/>
           </zt-form-item>
           <zt-form-item label="鏃堕棿鍒嗙墖" prop="samplPeriod">
-            <el-input v-model="dataForm.samplPeriod" readonly="false">
+            <el-input v-model="dataForm.samplPeriod" readonly="false" style="width: 150px;vertical-align: baseline;">
               <template slot="append">鍒嗛挓</template>
             </el-input>
           </zt-form-item>
           <zt-form-item label="浠跨湡娆℃暟" prop="simulatFrequency">
-            <el-input v-model="dataForm.simulatFrequency" readonly="false">
+            <el-input v-model="dataForm.simulatFrequency" readonly="false" style="width: 150px;">
             </el-input>
           </zt-form-item>
           <zt-form-item>
             <zt-button @click="getDiagram(null)">鏌ョ湅鏃跺簭鍥�</zt-button>
-<!--            <zt-button @click="graphRightTranslate()">鐢诲竷鍙崇Щ</zt-button>-->
-<!--            <zt-button @click="graphLeftTranslate()">鐢诲竷宸︾Щ</zt-button>-->
+            <el-dropdown style="margin-left: 10px" @command="download">
+              <el-button type="primary">
+                涓嬭浇xml<i class="el-icon-arrow-down el-icon--right"></i>
+              </el-button>
+              <el-dropdown-menu slot="dropdown">
+                <el-dropdown-item command="1">杈撳叆xml</el-dropdown-item>
+                <el-dropdown-item command="2">杈撳嚭xml</el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown>
           </zt-form-item>
         </el-form>
         <div style="display: flex">
@@ -61,6 +68,8 @@
   import ModelView from "./ModelView";
   import textDiagram from "./textDiagram";
   import timeDiagramThumbnail from "./timeDiagramThumbnail"
+  import qs from "qs";
+  import Cookies from "js-cookie";
 
 
   export default {
@@ -141,7 +150,6 @@
       window.removeEventListener('scroll', this.handleScroll,true);
     },
     mounted() {
-      // alert(`mounted鎵ц浜哷)
       this.getProductList()
       this.init()
       this.$refs.textDiagram.init()
@@ -158,7 +166,6 @@
       handleScroll(){
         this.graph.getScrollbarPosition()
         let left = this.graph.getScrollbarPosition().left
-        console.log(left,'left left')
         let top = this.graph.getScrollbarPosition().top
         this.$refs.textDiagram.setScroll(top)
         this.$refs.timeDiagramThumbnail.getNodePointX(left,this.bigWidth)
@@ -205,20 +212,6 @@
             minVisibleHeight:300,
             pannable: true,
           },
-          // minimap: {
-          //   enabled: true,
-          //   container: document.getElementById('thumbnail'),
-          //   scalable:false,
-          //   width: document.documentElement.clientWidth - 400,
-          //   height: 150,
-          // },
-          // mousewheel: {
-          //   enabled: true,
-          //   zoomAtMousePosition: true,
-          //   modifiers: 'ctrl',
-          //   minScale: 0.1,
-          //   maxScale: 10,
-          // },
           createEdge() {
             return new Shape.Edge({
               data: {
@@ -277,169 +270,12 @@
                 textVerticalAnchor: 'middle',
                 textWrap: {
                   text: '鏂囧瓧妯℃澘',
-                  width: -10,      // 瀹藉害鍑忓皯 10px
+                  width: 120,      // 瀹藉害鍑忓皯 10px
                   ellipsis: false,  // 鏂囨湰瓒呭嚭鏄剧ず鑼冨洿鏃讹紝鑷姩娣诲姞鐪佺暐鍙�
                   breakWord: true, // 鏄惁鎴柇鍗曡瘝
                 }
               },
             },
-            ports: {...this.ports},
-          },
-          true,
-        )
-
-        Graph.registerNode(
-          'custom-polygon',
-          {
-            inherit: 'polygon',
-            width: 86,
-            height: 56,
-            attrs: {
-              body: {
-                strokeWidth: 1,
-                stroke: '#5F95FF',
-                fill: '#EFF4FF',
-              },
-              text: {
-                fontSize: 20,
-                fill: '#262626',
-              },
-            },
-            ports: {
-              ...this.ports
-              // items: [
-              //   {
-              //     group: 'top',
-              //   },
-              //   {
-              //     group: 'bottom',
-              //   },
-              // ],
-            },
-          },
-          true,
-        )
-        //
-        Graph.registerNode(
-          'custom-circle',
-          {
-            inherit: 'ellipse',
-            width: 120,
-            height: 120,
-            data: {
-              dataId: '',
-              finishDate: ''
-            },
-            attrs: {
-              body: {
-                strokeWidth: 1,
-                stroke: '#5F95FF',
-                fill: '#EFF4FF',
-              },
-              //鏃ユ湡
-              title: {
-                text: '',
-                fontSize: 12,
-                fill: '#262626',
-                refX: 0.5,
-                refY: '100%',
-                refY2: -10,
-                textAnchor: 'middle',
-                textVerticalAnchor: 'bottom',
-              },
-              // 鍚嶇О
-              text: {
-                // fontFamily: '浠垮畫',
-                fontSize: 20,
-                fill: '#262626',
-                textWrap: {
-                  width: 80,      // 瀹藉害涓� 80px鎹㈣
-                  ellipsis: false,  // 鏂囨湰瓒呭嚭鏄剧ず鑼冨洿鏃讹紝鑷姩娣诲姞鐪佺暐鍙�
-                  breakWord: true, // 鏄惁鎴柇鍗曡瘝
-                }
-              },
-            },
-            markup: [
-              {
-                tagName: 'ellipse',
-                selector: 'body',
-              },
-              {
-                tagName: 'text',
-                selector: 'title',
-              },
-              {
-                tagName: 'text',
-                selector: 'text',
-              },
-            ],
-            ports: {...this.ports},
-          },
-          true,
-        )
-        Graph.registerNode(
-          'custom-circle1',
-          {
-            inherit: 'ellipse',
-            width: 65,
-            height: 65,
-            data: {
-              dataId: '',
-              finishDate: ''
-            },
-            attrs: {
-              body: {
-                strokeWidth: 1,
-                stroke: '#5F95FF',
-                fill: '#EFF4FF',
-              },
-              //鏃ユ湡
-              text: {
-                // fontFamily: '浠垮畫',
-                fontSize: 12,
-                text: '鏃ユ湡鑺傜偣',
-                fill: '#262626',
-              },
-            },
-            ports: {...this.ports},
-          },
-          true,
-        )
-        Graph.registerNode(
-          'custom-text',
-          {
-            inherit: 'text-block',
-            width: 86,
-            height: 56,
-            attrs: {
-              body: {
-                strokeWidth: 1,
-                stroke: '#5F95FF',
-                fill: '#EFF4FF',
-              },
-              text: {
-                text: '涓撲笟',
-                fontSize: 20,
-                style: {
-                  color: this.globalGridAttr.nodeColor
-                },
-                refX: '0',
-                refY: -0.5,
-                refY2: 1,
-                textAnchor: 'middle',
-                textVerticalAnchor: 'middle',
-              },
-            },
-            markup: [
-              {
-                tagName: 'rect',
-                selector: 'body',
-              },
-              {
-                tagName: 'text',
-                selector: 'text',
-              },
-            ],
             ports: {...this.ports},
           },
           true,
@@ -460,34 +296,12 @@
         })
 
         this.graph.on('blank:click', ({cell}) => {
-          // this.reset()
-          // this.type.value = "grid"
           this.type = 'grid'
-          // this.id = cell.id
         })
-        this.graph.on('translate', ({ tx, ty }) => {
-          console.log(`褰撳墠鍋忕Щ閲忎綅缃�: x=${tx}, y=${ty}`);
-        });
         this.graph.on('cell:click', ({cell}) => {
-          // this.type.value = cell.isNode() ? "node" : "edge"
           this.type = cell.isNode() ? 'node' : 'edge'
           this.shape = cell.shape
           this.id = cell.id
-          console.log(this.shape, 'this.shape')
-          // this.nodeOpt(this.id, this.globalGridAttr)
-        })
-        //鍗曞嚮杈硅妭鐐�
-        this.graph.on('edge:click', ({edge}) => {
-          // this.reset()
-          edge.attr('line/stroke', '#5F95FF')
-          edge.prop('labels/0', {
-            attrs: {
-              body: {
-                stroke: '#5F95FF',
-              },
-            },
-
-          })
         })
         // 鍗曞嚮node鑺傜偣
         this.graph.on('node:click', ({node}) => {
@@ -617,14 +431,9 @@
           this.diagramJson = JSON.parse(res.data.diagramJson)
           let textDiagramJson = JSON.parse(res.data.textDiagramJson)
           let smallDiagramJson = JSON.parse(res.data.smallDiagramJson)
-          console.log(this.diagramJson, 'this.Diagram json')
-          console.log(smallDiagramJson, 'smallDiagramJson')
           this.graph.fromJSON(this.diagramJson)
-          // this.graph.centerContent()
           this.graph.positionContent('left',{ padding: { left: 0 }})
-          // this.graph.zoomToFit()
           this.bigWidth = this.graph.getContentBBox().width
-          console.log(this.bigWidth,'getContentBBox')
           // this.graph.resize(this.graph.getContentBBox().width,this.graph.getContentBBox().height)
           this.graph.freeze()
           this.$refs.textDiagram.getTextDiagram(textDiagramJson)
@@ -640,14 +449,22 @@
       },
       getPoint(x,smallWidth){
         let pointX = Number((x * (this.bigWidth / smallWidth )).toFixed(0))
-        // console.log(pointX)
         this.graph.setScrollbarPosition(pointX, null)
-        // if(pointX<600){
-        // this.graph.setScrollbarPosition(pointX, null,  { animation: { duration: 400 }})
-        // }else {
-        //   this.graph.scrollToPoint(pointX, null, {animation: {duration: 400}})
-        // }
-      }
+      },
+      async download(selsect) {
+        if(this.dataForm.id){
+          let param = qs.stringify({
+            'token': Cookies.get('token'),
+            type: 'sxt',
+            xml:selsect,
+            id: this.dataForm.id
+          })
+          let apiURL = `/taskReliability/SimulatAssess/downloadXml`
+          window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${param}`
+        }else{
+          this.$alert('杩樻湭閫夋嫨浠跨湡璁板綍')
+        }
+      },
     }
   }
 </script>

--
Gitblit v1.9.1