From fa7ba545bb58983c8dab5f96cd1f010a48d7420c Mon Sep 17 00:00:00 2001 From: surprise <15810472099@163.com> Date: 星期一, 22 四月 2024 17:39:58 +0800 Subject: [PATCH] 综合展示,附件挂载添加cad查看功能 --- src/views/Tools/ModelProperty.vue | 292 +++++++++++++++++++++++++++------------------------------- 1 files changed, 136 insertions(+), 156 deletions(-) diff --git a/src/views/Tools/ModelProperty.vue b/src/views/Tools/ModelProperty.vue index 3a2d9ba..fbda31f 100644 --- a/src/views/Tools/ModelProperty.vue +++ b/src/views/Tools/ModelProperty.vue @@ -1,26 +1,18 @@ <template> - <Popup - ref="pop" - :title="title" - @close="close(true)" - width="400px" - @cancel="close(false)" - top="0vh" - left="30vh" - > - <el-tabs - v-model="activeName" - @tab-click="handleClick" - > - <el-tab-pane - label="灞炴��" - name="first" - > - <el-form - ref="form" - :model="formInline" - label-width="80px" - > + <Popup ref="pop" + :title="title" + @close="close(true)" + width="400px" + @cancel="close(false)" + top="0vh" + left="30vh"> + <el-tabs v-model="activeName" + @tab-click="handleClick"> + <el-tab-pane label="灞炴��" + name="first"> + <el-form ref="form" + :model="formInline" + label-width="80px"> <el-form-item :label="$t('common.name')"> {{formInline.name}} </el-form-item> @@ -37,49 +29,33 @@ </el-form> </el-tab-pane> - <el-tab-pane - label="闄勪欢" - name="second" - > + <el-tab-pane label="闄勪欢" + name="second"> - <el-table - :data="tableData" - ref="filterTable" - height="calc(100% - 130px)" - border - style="width: 100%" - @selection-change="handleAttatchChange" - > - <el-table-column - type="selection" - width="70" - /> - <el-table-column - width="60" - type="index" - :label="$t('common.index')" - /> - <el-table-column - prop="name" - :label="$t('common.name')" - /> + <el-table :data="tableData" + ref="filterTable" + height="calc(100% - 130px)" + border + style="width: 100%" + @selection-change="handleAttatchChange"> + <el-table-column type="selection" + width="70" /> + <el-table-column width="60" + type="index" + :label="$t('common.index')" /> + <el-table-column prop="name" + :label="$t('common.name')" /> - <el-table-column - prop="sizes" - :label="$t('common.size')" - :formatter="statSizeChange" - /> - <el-table-column - align="center" - :label="$t('common.operate')" - min-width="100" - > + <el-table-column prop="sizes" + :label="$t('common.size')" + :formatter="statSizeChange" /> + <el-table-column align="center" + :label="$t('common.operate')" + min-width="100"> <template slot-scope="scope"> - <el-link - v-if="matchState(scope, /[]/)" - @click="setAttatchDetail(scope.$index, scope.row)" - class="elLink" - >{{ $t('common.see') }}</el-link> + <el-link v-if="matchState(scope, /[]/)" + @click="setAttatchDetail(scope.$index, scope.row)" + class="elLink">{{ $t('common.see') }}</el-link> </template> </el-table-column> @@ -88,36 +64,26 @@ </el-tab-pane> </el-tabs> - <el-dialog - title="棰勮" - :append-to-body="false" - :visible.sync="dialog.dialogVisible" - width="70%" - :modal="false" - :close-on-click-modal="false" - > - <div - v-if="dialog.isPdf" - class="pdfClass" - > - <iframe - :src="dialog.src" - type="application/x-google-chrome-pdf" - width="100%" - height="100%" - > + <el-dialog title="棰勮" + :append-to-body="false" + :visible.sync="dialog.dialogVisible" + width="70%" + :modal="false" + :close-on-click-modal="false"> + <div v-if="dialog.isPdf" + class="pdfClass"> + <iframe :src="dialog.src" + type="application/x-google-chrome-pdf" + width="100%" + height="100%"> </iframe> </div> - <div - v-if="dialog.isJpg" - class="pdfClass" - > + <div v-if="dialog.isJpg" + class="pdfClass"> - <el-image - style="width:100%; height:100%" - :src="dialog.src" - :preview-src-list="[dialog.src]" - > + <el-image style="width:100%; height:100%" + :src="dialog.src" + :preview-src-list="[dialog.src]"> </el-image> </div> @@ -128,7 +94,7 @@ <script> import Popup from "./Popup"; -import { comprehensive_selectFiles, comprehensive_selectModelByGuid } from '../../api/api.js' +import { comprehensive_selectFiles,comprehensive_selectModelByGuid,meta_selectConvertToDwg } from '../../api/api.js' import { getToken } from "@/utils/auth"; export default { @@ -137,7 +103,7 @@ Popup, }, mixins: [], - data() { + data () { return { title: "鍦ㄧ嚎鍦板浘", left: undefined, @@ -172,22 +138,22 @@ methods: { // 鍏抽棴寮圭獥 - close(isCloseBtn, removeLayer = true) { + close (isCloseBtn,removeLayer=true) { // removeLayer && this.removeImageLayer(); // 閲嶇疆data鍊� - Object.assign(this.$data, this.$options.data()); - !isCloseBtn && this.$refs.pop.close(); + Object.assign(this.$data,this.$options.data()); + !isCloseBtn&&this.$refs.pop.close(); }, // 鎵撳紑寮圭獥 - async open() { + async open () { this.close(true); this.$refs.pop.open(); - this.title = this.$store.state.catModelInfo.name; + this.title=this.$store.state.catModelInfo.name; - this.formInline = this.$store.state.catModelInfo; + this.formInline=this.$store.state.catModelInfo; }, @@ -195,95 +161,109 @@ // this.mapCollection.tokne = token; // }, // 闄勪欢=>琛ㄦ牸閫夋嫨 - handleAttatchChange(val) { - this.attacgSelection = val; + handleAttatchChange (val) { + this.attacgSelection=val; }, - statSizeChange(row, column) { + statSizeChange (row,column) { return this.stateFormatSizes(row.sizes) }, - stateFormatSizes(res) { - if (res >= 1024) { - const val = parseFloat(res / 1024).toFixed(3); - return val + ' GB'; + stateFormatSizes (res) { + if(res>=1024) { + const val=parseFloat(res/1024).toFixed(3); + return val+' GB'; } else { - return res + ' MB'; + return res+' MB'; } }, - matchState(state = "", reg) { - var row = state.row; - var name = row.name; - if ( - name.indexOf('.pdf') != -1 - || name.indexOf('.jpg') != -1 - || name.indexOf('.gif') != -1 - || name.indexOf('.png') != -1 - || name.indexOf('.jpeg') != -1 - || name.indexOf('.PDF') != -1 - || name.indexOf('.JPG') != -1 - || name.indexOf('.GIF') != -1 - || name.indexOf('.PNG') != -1 - || name.indexOf('.JPEG') != -1 - || name.indexOf('.BMP') != -1 - || name.indexOf('.bmp') != -1 + matchState (state="",reg) { + var row=state.row; + var name=row.name; + if( + name.indexOf('.pdf')!=-1 + ||name.indexOf('.jpg')!=-1 + ||name.indexOf('.gif')!=-1 + ||name.indexOf('.png')!=-1 + ||name.indexOf('.jpeg')!=-1 + ||name.indexOf('.PDF')!=-1 + ||name.indexOf('.JPG')!=-1 + ||name.indexOf('.GIF')!=-1 + ||name.indexOf('.PNG')!=-1 + ||name.indexOf('.JPEG')!=-1 + ||name.indexOf('.BMP')!=-1 + ||name.indexOf('.bmp')!=-1 + ||name.indexOf('.dwg')!=-1 ) { return true; } return false; }, - handleClick(tab, event) { - if (tab.name == "second") { + handleClick (tab,event) { + if(tab.name=="second") { this.getAttacthFlieList(); } }, //闄勪欢鍒楄〃鏌ヨ - async getAttacthFlieList() { - var obj = { + async getAttacthFlieList () { + var obj={ eventid: this.$store.state.catModelInfo.id, tabName: "lf.sys_style" }; - const res = await comprehensive_selectFiles(obj); - if (res.code != 200) { + const res=await comprehensive_selectFiles(obj); + if(res.code!=200) { this.$message.error('鍒楄〃璋冪敤澶辫触'); return } - this.tableData = res.result; + this.tableData=res.result; }, //闄勪欢鏌ョ湅 - setAttatchDetail(index, row) { + setAttatchDetail (index,row) { this.refreshAttatchDetail() - var name = row.name; - if (name.indexOf('.pdf') != -1 || name.indexOf('.PDF') != -1) { - this.dialog.dialogVisible = true; - this.dialog.isPdf = true; - var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken(); - this.dialog.src = url - } else if ( - name.indexOf('.jpg') != -1 - || name.indexOf('.gif') != -1 - || name.indexOf('.png') != -1 - || name.indexOf('.jpeg') != -1 - || name.indexOf('.JPG') != -1 - || name.indexOf('.GIF') != -1 - || name.indexOf('.PNG') != -1 - || name.indexOf('.JPEG') != -1 - || name.indexOf('.BMP') != -1 - || name.indexOf('.bmp') != -1) { - this.dialog.dialogVisible = true; - this.dialog.isJpg = true; - var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken(); - this.dialog.src = url + var name=row.name; + if(name.indexOf('.pdf')!=-1||name.indexOf('.PDF')!=-1) { + this.dialog.dialogVisible=true; + this.dialog.isPdf=true; + var url=BASE_URL+"/comprehensive/downloadForView?guid="+row.guid+"&token="+getToken(); + this.dialog.src=url + } else if( + name.indexOf('.jpg')!=-1 + ||name.indexOf('.gif')!=-1 + ||name.indexOf('.png')!=-1 + ||name.indexOf('.jpeg')!=-1 + ||name.indexOf('.JPG')!=-1 + ||name.indexOf('.GIF')!=-1 + ||name.indexOf('.PNG')!=-1 + ||name.indexOf('.JPEG')!=-1 + ||name.indexOf('.BMP')!=-1 + ||name.indexOf('.bmp')!=-1 + ||name.indexOf('.BMP')!=-1) { + this.dialog.dialogVisible=true; + this.dialog.isJpg=true; + var url=BASE_URL+"/comprehensive/downloadForView?guid="+row.guid+"&token="+getToken(); + this.dialog.src=url + } else if(name.indexOf('.dwg')!=-1) { + this.handleCAD(row) } }, - refreshAttatchDetail() { - this.dialog.src = ""; - this.dialog.dialogVisible = false; - this.dialog.isPdf = false; - this.dialog.isJpg = false; + async handleCAD (row) { + const data=await meta_selectConvertToDwg({ id: row.id,type: true }); + if(data.result) { + var url=iisHost+"/dwg/cad/browse/?file=data/"+data.result; + window.open(url) + } else { + return this.$message("鏁版嵁杞崲澶辫触锛屾棤娉曢瑙�"); + } + + }, + refreshAttatchDetail () { + this.dialog.src=""; + this.dialog.dialogVisible=false; + this.dialog.isPdf=false; + this.dialog.isJpg=false; }, }, - mounted() { + mounted () { } }; -- Gitblit v1.9.3