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