Merge branch 'master' of http://yun.pashanhoo.com:9090/renchao/CadastralSystem
Showing
22 changed files
with
508 additions
and
364 deletions
| ... | @@ -48,7 +48,7 @@ | ... | @@ -48,7 +48,7 @@ |
| 48 | label="不动产权证号"> | 48 | label="不动产权证号"> |
| 49 | </el-table-column> | 49 | </el-table-column> |
| 50 | <el-table-column | 50 | <el-table-column |
| 51 | prop="qlr" | 51 | prop="qlrmc" |
| 52 | label="权利人"> | 52 | label="权利人"> |
| 53 | </el-table-column> | 53 | </el-table-column> |
| 54 | <el-table-column | 54 | <el-table-column |
| ... | @@ -72,10 +72,10 @@ | ... | @@ -72,10 +72,10 @@ |
| 72 | <el-col :span="7" style="display: inline-block;"> | 72 | <el-col :span="7" style="display: inline-block;"> |
| 73 | <el-select v-model="dzhbhData.xzqbsm" value-key="xzqbsm" placeholder="行政区" @change="changeXzq(dzhbhData.xzqbsm)" disabled> | 73 | <el-select v-model="dzhbhData.xzqbsm" value-key="xzqbsm" placeholder="行政区" @change="changeXzq(dzhbhData.xzqbsm)" disabled> |
| 74 | <el-option | 74 | <el-option |
| 75 | v-for="item in xzq" | 75 | v-for="xzqItem in xzq" |
| 76 | :key="item.bsm" | 76 | :key="xzqItem.bsm" |
| 77 | :label="item.mc" | 77 | :label="xzqItem.mc" |
| 78 | :value="item.bsm"> | 78 | :value="xzqItem.bsm"> |
| 79 | </el-option> | 79 | </el-option> |
| 80 | </el-select> | 80 | </el-select> |
| 81 | </el-col> | 81 | </el-col> |
| ... | @@ -83,10 +83,10 @@ | ... | @@ -83,10 +83,10 @@ |
| 83 | <el-col :span="7"> | 83 | <el-col :span="7"> |
| 84 | <el-select v-model="dzhbhData.djqbsm" placeholder="地籍区" @change="changeDjq(dzhbhData.djqbsm)" disabled> | 84 | <el-select v-model="dzhbhData.djqbsm" placeholder="地籍区" @change="changeDjq(dzhbhData.djqbsm)" disabled> |
| 85 | <el-option | 85 | <el-option |
| 86 | v-for="item in djq" | 86 | v-for="djqItem in djq" |
| 87 | :key="item.bsm" | 87 | :key="djqItem.bsm" |
| 88 | :label="item.mc" | 88 | :label="djqItem.mc" |
| 89 | :value="item.bsm"> | 89 | :value="djqItem.bsm"> |
| 90 | </el-option> | 90 | </el-option> |
| 91 | </el-select> | 91 | </el-select> |
| 92 | </el-col> | 92 | </el-col> |
| ... | @@ -94,10 +94,10 @@ | ... | @@ -94,10 +94,10 @@ |
| 94 | <el-col :span="8"> | 94 | <el-col :span="8"> |
| 95 | <el-select v-model="dzhbhData.djzqbsm" placeholder="地籍子区" @change="$forceUpdate()" disabled> | 95 | <el-select v-model="dzhbhData.djzqbsm" placeholder="地籍子区" @change="$forceUpdate()" disabled> |
| 96 | <el-option | 96 | <el-option |
| 97 | v-for="item in djzq" | 97 | v-for="djzqItem in djzq" |
| 98 | :key="item.bsm" | 98 | :key="djzqItem.bsm" |
| 99 | :label="item.mc" | 99 | :label="djzqItem.mc" |
| 100 | :value="item.bsm"> | 100 | :value="djzqItem.bsm"> |
| 101 | </el-option> | 101 | </el-option> |
| 102 | </el-select> | 102 | </el-select> |
| 103 | </el-col> | 103 | </el-col> | ... | ... |
| ... | @@ -750,6 +750,7 @@ | ... | @@ -750,6 +750,7 @@ |
| 750 | background-color: white; | 750 | background-color: white; |
| 751 | padding: 10px 0; | 751 | padding: 10px 0; |
| 752 | margin-bottom: 10px; | 752 | margin-bottom: 10px; |
| 753 | border: 1px solid #E6E6E6; | ||
| 753 | } | 754 | } |
| 754 | .tips{ | 755 | .tips{ |
| 755 | color: #9B9B9B; | 756 | color: #9B9B9B; | ... | ... |
| ... | @@ -77,7 +77,11 @@ | ... | @@ -77,7 +77,11 @@ |
| 77 | ></div> | 77 | ></div> |
| 78 | <div | 78 | <div |
| 79 | v-if="item.children==null" | 79 | v-if="item.children==null" |
| 80 | class="reTree_icon reTree_expand_icon" | 80 | class="reTree_icon" |
| 81 | :class="{ | ||
| 82 | reTree_default_icon: item.dm != 'G' && item.dm != 'J' && item.dm != 'Z', | ||
| 83 | reTree_expand_icon: item.dm == 'G' || item.dm == 'J' || item.dm == 'Z', | ||
| 84 | }" | ||
| 81 | :style="{ | 85 | :style="{ |
| 82 | height: (size || 16 * 1.2) + 'px', | 86 | height: (size || 16 * 1.2) + 'px', |
| 83 | width: (size || 16 * 1.2) + 'px', | 87 | width: (size || 16 * 1.2) + 'px', | ... | ... |
| ... | @@ -16,7 +16,7 @@ | ... | @@ -16,7 +16,7 @@ |
| 16 | }" | 16 | }" |
| 17 | @click="itemClick(item)" | 17 | @click="itemClick(item)" |
| 18 | > | 18 | > |
| 19 | 19 | ||
| 20 | <div class="layer_text nowrap" @contextmenu.prevent="openMenu($event, item)">{{ item.mc }}</div><div | 20 | <div class="layer_text nowrap" @contextmenu.prevent="openMenu($event, item)">{{ item.mc }}</div><div |
| 21 | class="reTree_icon" | 21 | class="reTree_icon" |
| 22 | :style="{ | 22 | :style="{ |
| ... | @@ -73,7 +73,7 @@ | ... | @@ -73,7 +73,7 @@ |
| 73 | <li @click="drsx" :class="zdQszt=='0'?'':'noEdit'">导入属性</li> | 73 | <li @click="drsx" :class="zdQszt=='0'?'':'noEdit'">导入属性</li> |
| 74 | <li @click="dcsx">导出属性</li> | 74 | <li @click="dcsx">导出属性</li> |
| 75 | <li v-show="!isZD">导入楼盘</li> | 75 | <li v-show="!isZD">导入楼盘</li> |
| 76 | <li>重叠分析</li> | 76 | <!-- <li>重叠分析</li> --> |
| 77 | <li v-show="isZD && (zdQszt == '1' || zdQszt == '2')" @click="openCreateDialog('dzw')">添加定着物</li> | 77 | <li v-show="isZD && (zdQszt == '1' || zdQszt == '2')" @click="openCreateDialog('dzw')">添加定着物</li> |
| 78 | <li v-show="isZD && (zdQszt != '1' && zdQszt != '2')" class="noEdit">添加定着物</li> | 78 | <li v-show="isZD && (zdQszt != '1' && zdQszt != '2')" class="noEdit">添加定着物</li> |
| 79 | <li @click="deleteByBsm()">删除</li> | 79 | <li @click="deleteByBsm()">删除</li> |
| ... | @@ -229,7 +229,12 @@ export default { | ... | @@ -229,7 +229,12 @@ export default { |
| 229 | methods: { | 229 | methods: { |
| 230 | dcsx(){ | 230 | dcsx(){ |
| 231 | console.log(this.zdData,'zdData') | 231 | console.log(this.zdData,'zdData') |
| 232 | window.open(`api/tx/excelGeo/export?bsm=${this.zdData.bsm}&type=${this.zdData.type}`) | 232 | // window.open(`api/tx/excelGeo/export?bsm=${this.zdData.bsm}&type=${this.zdData.type}`) |
| 233 | let url= `api/tx/excelGeo/export?bsm=${this.zdData.bsm}&type=${this.zdData.type}` | ||
| 234 | let elemIF = document.createElement("iframe"); | ||
| 235 | elemIF.src = url; | ||
| 236 | elemIF.style.display = "none"; | ||
| 237 | document.body.appendChild(elemIF) | ||
| 233 | }, | 238 | }, |
| 234 | drsx(){ | 239 | drsx(){ |
| 235 | if (this.zdQszt!='0') { | 240 | if (this.zdQszt!='0') { |
| ... | @@ -836,8 +841,8 @@ export default { | ... | @@ -836,8 +841,8 @@ export default { |
| 836 | center; | 841 | center; |
| 837 | background-size: contain; | 842 | background-size: contain; |
| 838 | } | 843 | } |
| 839 | /deep/ .importDialog{ | 844 | /* /deep/ .importDialog{ |
| 840 | margin-top: 120px!important; | 845 | margin-top: 120px!important; |
| 841 | margin-left: 291px; | 846 | margin-left: 291px; |
| 842 | } | 847 | } */ |
| 843 | </style> | 848 | </style> | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div > | 2 | <div > |
| 3 | <div v-if="!resultDialog && !txtResultDialog && !dealDialog" class="importDiv"> | 3 | <ul class="importDiv" v-if="!resultDialog && !txtResultDialog && !dealDialog"> |
| 4 | <li> | ||
| 5 | <el-upload | ||
| 6 | class="avatar-uploader" | ||
| 7 | action="#" | ||
| 8 | accept=".txt" | ||
| 9 | :auto-upload="false" | ||
| 10 | :show-file-list="false" | ||
| 11 | :on-change="txtFileChange" | ||
| 12 | > | ||
| 13 | <!-- <el-button size="small" type="primary">点击上传</el-button>--> | ||
| 14 | <i class="iconfont iconshangchuan"></i> | ||
| 15 | <div class="title">TXT文本格式</div> | ||
| 16 | <div class="templateDowload"> | ||
| 17 | <a href="#" @click.stop="downloadFile('./fileTemplate/txttemplet.txt','txttemplet.txt')">TXT模板下载</a> | ||
| 18 | </div> | ||
| 19 | </el-upload> | ||
| 20 | </li> | ||
| 21 | <li> | ||
| 4 | <el-upload | 22 | <el-upload |
| 5 | class="upload-demo" | 23 | class="avatar-uploader" |
| 6 | action="#" | ||
| 7 | accept=".txt" | ||
| 8 | :auto-upload="false" | ||
| 9 | :show-file-list="false" | ||
| 10 | :on-change="txtFileChange" | ||
| 11 | > | ||
| 12 | <!-- <el-button size="small" type="primary">点击上传</el-button>--> | ||
| 13 | <div class="fileUpload"> | ||
| 14 | <div slot="trigger" class="uploadLeft"> | ||
| 15 | <i class="iconfont icontxt"></i> | ||
| 16 | </div> | ||
| 17 | <div solt="tip" class="uploadRight"> | ||
| 18 | <div solt="tip" class="title">TXT文本格式</div> | ||
| 19 | <div class="el-upload__tip" slot="tip">支持TXT文本格式,点击查看详情<a class="down" href="#" @click.stop="downloadFile('./fileTemplate/txttemplet.txt','txttemplet.txt')" >文本详情</a></div> | ||
| 20 | </div> | ||
| 21 | </div> | ||
| 22 | </el-upload> | ||
| 23 | <el-upload | ||
| 24 | class="upload-demo" | ||
| 25 | action="/api/tx/shpUtils/readShp" | 24 | action="/api/tx/shpUtils/readShp" |
| 26 | accept=".zip" | 25 | accept=".zip" |
| 27 | :show-file-list="false" | 26 | :show-file-list="false" |
| 28 | :on-success="shpFileSuccess" | 27 | :on-success="shpFileSuccess" |
| 29 | > | 28 | > |
| 30 | <!--<el-button size="small" type="primary">点击上传</el-button>--> | 29 | <!--<el-button size="small" type="primary">点击上传</el-button>--> |
| 31 | <div class="fileUpload"> | 30 | <i class="iconfont iconshangchuan"></i> |
| 32 | <div slot="trigger" class="uploadLeft"> | 31 | <div class="title">ESRI Shape文件格式</div> |
| 33 | <i class="iconfont iconzip"></i> | ||
| 34 | </div> | ||
| 35 | <div solt="tip" class="uploadRight"> | ||
| 36 | <div solt="tip" class="title">ESRI Shape文件格式</div> | ||
| 37 | <div slot="tip" class="el-upload__tip">文件包含.shp、.pdf、.shx、.prj等的压缩文件(.zip)</div> | ||
| 38 | </div> | ||
| 39 | </div> | ||
| 40 | </el-upload> | 32 | </el-upload> |
| 33 | </li> | ||
| 34 | <li> | ||
| 41 | <el-upload | 35 | <el-upload |
| 42 | class="upload-demo" | 36 | class="avatar-uploader" |
| 43 | action="https://jsonplaceholder.typicode.com/posts/" | 37 | action="https://jsonplaceholder.typicode.com/posts/" |
| 44 | accept=".dwg,.dxf" | 38 | accept=".dwg,.dxf" |
| 45 | :show-file-list="false" | 39 | :show-file-list="false" |
| 46 | :on-success="cadFileSuccess" | 40 | :on-success="cadFileSuccess" |
| 47 | > | 41 | > |
| 48 | <!-- <el-button size="small" type="primary">点击上传</el-button>--> | 42 | <!-- <el-button size="small" type="primary">点击上传</el-button>--> |
| 49 | <div solt="tip" class="fileUpload"> | 43 | <i class="iconfont iconshangchuan"></i> |
| 50 | <div slot="trigger" class="uploadLeft"> | 44 | <div class="title">CAD文件</div> |
| 51 | <i class="iconfont icondaoruCAD"></i> | ||
| 52 | </div> | ||
| 53 | <div solt="tip" class="uploadRight"> | ||
| 54 | <div solt="tip" class="title">CAD文件</div> | ||
| 55 | <div slot="tip" class="el-upload__tip">支持.dwg、.dxf文件格式</div> | ||
| 56 | </div> | ||
| 57 | </div> | ||
| 58 | </el-upload> | 45 | </el-upload> |
| 46 | </li> | ||
| 47 | <li> | ||
| 59 | <el-upload | 48 | <el-upload |
| 60 | class="upload-demo" | 49 | class="avatar-uploader" |
| 61 | action="/api/tx/excelGeo/readExcel" | 50 | action="/api/tx/excelGeo/readExcel" |
| 62 | accept=".xls,.xlsx" | 51 | accept=".xls,.xlsx" |
| 63 | :show-file-list="false" | 52 | :show-file-list="false" |
| 64 | :on-success="excelFileSuccess" | 53 | :on-success="excelFileSuccess" |
| 65 | > | 54 | > |
| 66 | <!--<el-button size="small" type="primary">点击上传</el-button>--> | 55 | <!--<el-button size="small" type="primary">点击上传</el-button>--> |
| 67 | <div solt="tip" class="fileUpload"> | 56 | <i class="iconfont iconshangchuan"></i> |
| 68 | <div slot="trigger" class="uploadLeft"> | 57 | <div class="title">Excel文件格式</div> |
| 69 | <i class="iconfont iconexcel"></i> | 58 | <div class="templateDowload"> |
| 70 | </div> | 59 | <a href="#" @click.stop="downloadFile('./fileTemplate/exceltemplet.xlsx','exceltemplet.xlsx')">Excel模板下载</a> |
| 71 | <div solt="tip" class="uploadRight"> | ||
| 72 | <div slot="tip" class="title">Excel文件格式</div> | ||
| 73 | <div class="el-upload__tip" slot="tip">.xls、.xlsx版本,点击查看详情<a class="downloadFile" @click.stop="downloadFile('./fileTemplate/exceltemplet.xlsx','exceltemplet.xlsx')" href="#">Excel格式</a></div> | ||
| 74 | </div> | ||
| 75 | </div> | 60 | </div> |
| 76 | </el-upload> | 61 | </el-upload> |
| 77 | </div> | 62 | </li> |
| 63 | </ul> | ||
| 78 | <div v-if="resultDialog"> | 64 | <div v-if="resultDialog"> |
| 79 | <el-form :model="zdForm" ref="zdCheckForm" label-width="100px" size="small" @submit.native.prevent class="demo-ruleForm"> | 65 | <el-form :model="zdForm" ref="zdCheckForm" label-width="100px" size="small" @submit.native.prevent class="demo-ruleForm"> |
| 80 | <el-form-item | 66 | <el-form-item |
| ... | @@ -668,33 +654,45 @@ export default { | ... | @@ -668,33 +654,45 @@ export default { |
| 668 | } | 654 | } |
| 669 | </script> | 655 | </script> |
| 670 | <style scoped lang="less"> | 656 | <style scoped lang="less"> |
| 671 | .upload-demo{ | 657 | .importDiv{ |
| 672 | line-height: 34px; | 658 | display: flex; |
| 659 | justify-content:center; | ||
| 660 | align-content:center; | ||
| 661 | li{ | ||
| 662 | margin: 5px; | ||
| 663 | width: 50%; | ||
| 664 | .title{ | ||
| 665 | line-height: 1; | ||
| 666 | margin-top: -57px; | ||
| 667 | font-size: 14px; | ||
| 668 | } | ||
| 669 | .templateDowload{ | ||
| 670 | line-height: 1; | ||
| 671 | margin-top: 7px; | ||
| 672 | a{ | ||
| 673 | color: #409eff; | ||
| 674 | } | ||
| 675 | } | ||
| 676 | } | ||
| 673 | } | 677 | } |
| 674 | .fileUpload{ | 678 | /deep/ .avatar-uploader .el-upload { |
| 675 | height: 100%; | 679 | border: 1px dashed #d9d9d9; |
| 676 | width: 100%; | 680 | border-radius: 6px; |
| 677 | .uploadLeft{ | 681 | cursor: pointer; |
| 678 | float: left; | 682 | position: relative; |
| 679 | line-height: 61px; | 683 | overflow: hidden; |
| 680 | .iconfont{ | 684 | width: 100%; |
| 681 | font-size: 42px; | 685 | height: 178px; |
| 682 | } | 686 | line-height: 178px; |
| 683 | } | 687 | } |
| 684 | .uploadRight{ | 688 | /deep/ .avatar-uploader .el-upload:hover { |
| 685 | float: right; | 689 | border-color: #409EFF; |
| 686 | margin-left: 5px; | 690 | } |
| 687 | .title{ | 691 | /deep/ .iconfont { |
| 688 | text-align: initial; | 692 | font-size: 20px; |
| 689 | font-weight: 600; | 693 | color: #8c939d; |
| 690 | } | 694 | width:100%; |
| 691 | .el-upload__tip{ | 695 | text-align: center; |
| 692 | margin-top: 0px; | ||
| 693 | a{ | ||
| 694 | color: cornflowerblue; | ||
| 695 | } | ||
| 696 | } | ||
| 697 | } | 696 | } |
| 698 | } | ||
| 699 | 697 | ||
| 700 | </style> | 698 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -170,7 +170,7 @@ export default { | ... | @@ -170,7 +170,7 @@ export default { |
| 170 | view.zoom = 15; | 170 | view.zoom = 15; |
| 171 | } | 171 | } |
| 172 | }else { | 172 | }else { |
| 173 | this.$message.warning("暂无图形信息!!!"); | 173 | this.$message.success("暂无图形信息!!!"); |
| 174 | } | 174 | } |
| 175 | }, | 175 | }, |
| 176 | //导入空间图形是 先判断数据是否跨界 | 176 | //导入空间图形是 先判断数据是否跨界 | ... | ... |
src/components/lshs/index.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="lshs-content"> | ||
| 3 | <!-- <div class="slot">--> | ||
| 4 | <!-- <div><span class="tip-title">范围属性变更:</span></div>--> | ||
| 5 | <!-- <div><span class="tip-title">宗地分割:</span></div>--> | ||
| 6 | <!-- <div><span class="tip-title">宗地合并:</span></div>--> | ||
| 7 | <!-- </div>--> | ||
| 8 | <div id="mountNode" ref="containerWidth"></div> | ||
| 9 | <div id="mountNodeRight"></div> | ||
| 10 | </div> | ||
| 11 | </template> | ||
| 12 | |||
| 13 | <script> | ||
| 14 | |||
| 15 | import G6 from '@antv/g6'; | ||
| 16 | import insertCss from 'insert-css'; | ||
| 17 | import { getLshs } from "@api/fwsxbg"; | ||
| 18 | |||
| 19 | export default { | ||
| 20 | name:"", | ||
| 21 | components:{}, | ||
| 22 | props:{}, | ||
| 23 | data(){ | ||
| 24 | insertCss(` | ||
| 25 | .g6-tooltip { | ||
| 26 | border-radius: 6px; | ||
| 27 | font-size: 12px; | ||
| 28 | color: #fff; | ||
| 29 | background-color: #000; | ||
| 30 | padding: 2px 8px; | ||
| 31 | text-align: center; | ||
| 32 | } | ||
| 33 | `); | ||
| 34 | return { | ||
| 35 | data : {} | ||
| 36 | } | ||
| 37 | }, | ||
| 38 | created(){ | ||
| 39 | |||
| 40 | }, | ||
| 41 | mounted(){ | ||
| 42 | this.getLshsData(); | ||
| 43 | }, | ||
| 44 | methods: { | ||
| 45 | initG6() { | ||
| 46 | const data = this.data; | ||
| 47 | const eWidth = this.$refs.containerWidth.clientWidth | ||
| 48 | console.log(eWidth+":width") | ||
| 49 | G6.registerNode( | ||
| 50 | 'sql', | ||
| 51 | { | ||
| 52 | drawShape(cfg, group) { | ||
| 53 | const rect = group.addShape('rect', { | ||
| 54 | attrs: { | ||
| 55 | x: -100, | ||
| 56 | y: -25, | ||
| 57 | width: 200, | ||
| 58 | height: 50, | ||
| 59 | radius: 10, | ||
| 60 | stroke: '#5B8FF9', | ||
| 61 | fill: '#C6E5FF', | ||
| 62 | lineWidth: 1, | ||
| 63 | }, | ||
| 64 | name: 'rect-shape', | ||
| 65 | }); | ||
| 66 | if (cfg.name) { | ||
| 67 | group.addShape('text', { | ||
| 68 | attrs: { | ||
| 69 | text: cfg.name, | ||
| 70 | x: 0, | ||
| 71 | y: 0, | ||
| 72 | fill: '#00287E', | ||
| 73 | fontSize: 14, | ||
| 74 | textAlign: 'center', | ||
| 75 | textBaseline: 'middle', | ||
| 76 | fontWeight: 'bold', | ||
| 77 | }, | ||
| 78 | name: 'text-shape', | ||
| 79 | }); | ||
| 80 | } | ||
| 81 | return rect; | ||
| 82 | }, | ||
| 83 | }, | ||
| 84 | 'single-node', | ||
| 85 | ); | ||
| 86 | G6.registerEdge( | ||
| 87 | 'polyline1', | ||
| 88 | { | ||
| 89 | afterDraw(cfg, group) { | ||
| 90 | console.log(cfg.data+":cfg") | ||
| 91 | console.log(group.toString()+"group") | ||
| 92 | }, | ||
| 93 | }, | ||
| 94 | 'polyline', | ||
| 95 | ); | ||
| 96 | |||
| 97 | const tooltip = new G6.Tooltip({ | ||
| 98 | offsetX: 10, | ||
| 99 | offsetY: 10, | ||
| 100 | itemTypes: ['node', 'edge'], | ||
| 101 | getContent: (e) => { | ||
| 102 | const outDiv = document.createElement('div'); | ||
| 103 | outDiv.style.width = 'fit-content'; | ||
| 104 | outDiv.innerHTML = ` | ||
| 105 | <ul> | ||
| 106 | <li> ${e.item.getModel().conf[0].label}:${e.item.getModel().conf[0].value}</li> | ||
| 107 | <li> ${e.item.getModel().conf[1].label}:${e.item.getModel().conf[1].value}</li> | ||
| 108 | <li> ${e.item.getModel().conf[2].label}:${e.item.getModel().conf[2].value}</li> | ||
| 109 | <li> ${e.item.getModel().conf[3].label}:${e.item.getModel().conf[3].value}</li> | ||
| 110 | <li> ${e.item.getModel().conf[4].label}:${e.item.getModel().conf[4].value}</li> | ||
| 111 | </ul>` | ||
| 112 | ; | ||
| 113 | return outDiv; | ||
| 114 | }, | ||
| 115 | }); | ||
| 116 | |||
| 117 | const container = document.getElementById('mountNode'); | ||
| 118 | console.log(container) | ||
| 119 | const graph = new G6.Graph({ | ||
| 120 | container: 'mountNode', | ||
| 121 | width:eWidth, | ||
| 122 | height:1000, | ||
| 123 | layout: { | ||
| 124 | type: 'dagre', | ||
| 125 | nodesepFunc: (d) => { | ||
| 126 | return 100; | ||
| 127 | }, | ||
| 128 | ranksep: 30, | ||
| 129 | controlPoints: true, | ||
| 130 | }, | ||
| 131 | defaultNode: { | ||
| 132 | type: 'sql', | ||
| 133 | }, | ||
| 134 | defaultEdge: { | ||
| 135 | type: 'polyline1', | ||
| 136 | style: { | ||
| 137 | radius: 10, | ||
| 138 | offset: 10, | ||
| 139 | // endArrow: true, | ||
| 140 | lineWidth: 2, | ||
| 141 | stroke: 'rgba(78,142,230,0.45)', | ||
| 142 | }, | ||
| 143 | }, | ||
| 144 | nodeStateStyles: { | ||
| 145 | selected: { | ||
| 146 | stroke: '#d9d9d9', | ||
| 147 | fill: '#5394ef', | ||
| 148 | }, | ||
| 149 | }, | ||
| 150 | |||
| 151 | plugins: [tooltip], | ||
| 152 | modes: { | ||
| 153 | default: [ | ||
| 154 | 'drag-node', | ||
| 155 | 'drag-canvas', | ||
| 156 | 'zoom-canvas', | ||
| 157 | 'click-select', | ||
| 158 | ], | ||
| 159 | }, | ||
| 160 | |||
| 161 | fitView: true, | ||
| 162 | }); | ||
| 163 | |||
| 164 | graph.data(data); | ||
| 165 | graph.render(); | ||
| 166 | |||
| 167 | graph.on('node:mouseenter', e => { | ||
| 168 | graph.setItemState(e.item, 'active', true) | ||
| 169 | }); | ||
| 170 | graph.on('node:mouseleave', e => { | ||
| 171 | graph.setItemState(e.item, 'active', false) | ||
| 172 | }); | ||
| 173 | graph.on('edge:mouseenter', e => { | ||
| 174 | graph.setItemState(e.item, 'active', true) | ||
| 175 | }); | ||
| 176 | graph.on('edge:mouseleave', e => { | ||
| 177 | graph.setItemState(e.item, 'active', false) | ||
| 178 | }); | ||
| 179 | |||
| 180 | if (typeof window !== 'undefined') | ||
| 181 | window.onresize = () => { | ||
| 182 | if (!graph || graph.get('destroyed')) return; | ||
| 183 | if (!container || !container.scrollWidth || !container.scrollHeight) return; | ||
| 184 | graph.changeSize(container.scrollWidth, container.scrollHeight); | ||
| 185 | }; | ||
| 186 | |||
| 187 | }, | ||
| 188 | |||
| 189 | getLshsData(){ | ||
| 190 | let _this = this; | ||
| 191 | const data = { | ||
| 192 | "bsm": this.$store.state.zdbsm, | ||
| 193 | "type": "zd" | ||
| 194 | }; | ||
| 195 | getLshs(data).then((res)=>{ | ||
| 196 | if(res.code===200){ | ||
| 197 | _this.data=res.result; | ||
| 198 | this.initG6(); | ||
| 199 | } | ||
| 200 | }) | ||
| 201 | } | ||
| 202 | }, | ||
| 203 | computed: {}, | ||
| 204 | watch: {}, | ||
| 205 | } | ||
| 206 | </script> | ||
| 207 | <style scoped lang="less"> | ||
| 208 | |||
| 209 | .lshs-content{ | ||
| 210 | width: 100%; | ||
| 211 | height: 100%; | ||
| 212 | } | ||
| 213 | |||
| 214 | #mountNode{ | ||
| 215 | /*height: calc(100% - 68px);*/ | ||
| 216 | margin-top: -60px; | ||
| 217 | width: 60%; | ||
| 218 | float: left; | ||
| 219 | } | ||
| 220 | |||
| 221 | #mountNodeRight{ | ||
| 222 | width: 38%; | ||
| 223 | float: right; | ||
| 224 | height: 1000px; | ||
| 225 | border: 0 solid #5ebbff; | ||
| 226 | } | ||
| 227 | |||
| 228 | .slot{ | ||
| 229 | margin-left: 50px; | ||
| 230 | margin-top: 20px; | ||
| 231 | width: 300px; | ||
| 232 | } | ||
| 233 | |||
| 234 | .tip-title{ | ||
| 235 | font-weight: 700; | ||
| 236 | } | ||
| 237 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -5,25 +5,27 @@ | ... | @@ -5,25 +5,27 @@ |
| 5 | :visible.sync="isVisible" | 5 | :visible.sync="isVisible" |
| 6 | width="30%" | 6 | width="30%" |
| 7 | :before-close="close"> | 7 | :before-close="close"> |
| 8 | <div class="main-button"> | 8 | <div class="wrap"> |
| 9 | <el-upload | 9 | <div class="main-button"> |
| 10 | class="upload-demo" | 10 | <el-upload |
| 11 | action="/api/tx/excelGeo/import" | 11 | class="upload-demo" |
| 12 | :data="sxdrData" | 12 | action="/api/tx/excelGeo/import" |
| 13 | :on-success="uploadSuccess" | 13 | :data="sxdrData" |
| 14 | :show-file-list="false" | 14 | :on-success="uploadSuccess" |
| 15 | multiple | 15 | :show-file-list="false" |
| 16 | > | 16 | multiple |
| 17 | <el-button type="primary">上传</el-button> | 17 | > |
| 18 | <el-button type="primary" @click="downloadTemplate">下载模板</el-button> | 18 | <el-button type="primary" icon="iconfont iconshangchuan">上传</el-button> |
| 19 | </el-upload> | 19 | </el-upload> |
| 20 | </div> | 20 | </div> |
| 21 | <el-button type="primary" class="download" @click="downloadTemplate">下载模板</el-button> | ||
| 22 | </div> | ||
| 21 | <ul> | 23 | <ul> |
| 22 | <li v-for="(item,index) in errorData" :key="index">{{item}}</li> | 24 | <li v-for="(item,index) in errorData" :key="index">{{item}}</li> |
| 23 | </ul> | 25 | </ul> |
| 24 | <span slot="footer" class="dialog-footer"> | 26 | <span slot="footer" class="dialog-footer"> |
| 25 | <el-button @click="dialogVisible = false">取 消</el-button> | 27 | <el-button @click="cancel">取 消</el-button> |
| 26 | <el-button type="primary" @click="dialogVisible = false">确 定</el-button> | 28 | <!-- <el-button type="primary" @click="confirm">确 定</el-button> --> |
| 27 | </span> | 29 | </span> |
| 28 | </el-dialog> | 30 | </el-dialog> |
| 29 | </div> | 31 | </div> |
| ... | @@ -59,6 +61,12 @@ | ... | @@ -59,6 +61,12 @@ |
| 59 | this.$store.state.sxdrType = ''; | 61 | this.$store.state.sxdrType = ''; |
| 60 | }, | 62 | }, |
| 61 | methods: { | 63 | methods: { |
| 64 | cancel(){ | ||
| 65 | this.close() | ||
| 66 | }, | ||
| 67 | confirm(){ | ||
| 68 | console.log("确定....") | ||
| 69 | }, | ||
| 62 | loading() { | 70 | loading() { |
| 63 | this.$store.state.sxdrType = this.dylx; | 71 | this.$store.state.sxdrType = this.dylx; |
| 64 | }, | 72 | }, |
| ... | @@ -71,7 +79,11 @@ | ... | @@ -71,7 +79,11 @@ |
| 71 | this.reset(); | 79 | this.reset(); |
| 72 | }, | 80 | }, |
| 73 | downloadTemplate() { | 81 | downloadTemplate() { |
| 74 | window.open(`/api/tx/excelGeo/template?type=` + this.dylx); | 82 | let url= `/api/tx/excelGeo/template?type=${this.dylx}` |
| 83 | let elemIF = document.createElement("iframe"); | ||
| 84 | elemIF.src = url; | ||
| 85 | elemIF.style.display = "none"; | ||
| 86 | document.body.appendChild(elemIF) | ||
| 75 | }, | 87 | }, |
| 76 | uploadSuccess(res, file, fileList) { | 88 | uploadSuccess(res, file, fileList) { |
| 77 | this.errorData = []; | 89 | this.errorData = []; |
| ... | @@ -104,12 +116,26 @@ | ... | @@ -104,12 +116,26 @@ |
| 104 | </script> | 116 | </script> |
| 105 | 117 | ||
| 106 | <style scoped lang="less"> | 118 | <style scoped lang="less"> |
| 107 | .main-button { | 119 | .wrap{ |
| 108 | display: -webkit-flex; | 120 | width: 100%; |
| 109 | display: flex; | 121 | height: 30px; |
| 110 | flex-direction: column-reverse; | 122 | position: relative; |
| 111 | flex-wrap: nowrap; | 123 | .main-button { |
| 124 | display: -webkit-flex; | ||
| 125 | display: flex; | ||
| 126 | flex-direction: column-reverse; | ||
| 127 | flex-wrap: nowrap; | ||
| 128 | position: absolute; | ||
| 129 | left: 165px; | ||
| 130 | top: 18px; | ||
| 131 | } | ||
| 132 | .download{ | ||
| 133 | position: absolute; | ||
| 134 | left: 300px; | ||
| 135 | top: 18px; | ||
| 136 | } | ||
| 112 | } | 137 | } |
| 138 | |||
| 113 | 139 | ||
| 114 | ul { | 140 | ul { |
| 115 | margin-top: 20px; | 141 | margin-top: 20px; | ... | ... |
src/views/dz/djb/index.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="">登记簿</div> | ||
| 3 | </template> | ||
| 4 | |||
| 5 | <script> | ||
| 6 | export default { | ||
| 7 | name:"", | ||
| 8 | components:{}, | ||
| 9 | props:{}, | ||
| 10 | data(){ | ||
| 11 | return { | ||
| 12 | } | ||
| 13 | }, | ||
| 14 | created(){}, | ||
| 15 | mounted(){}, | ||
| 16 | methods:{}, | ||
| 17 | computed: {}, | ||
| 18 | watch: {}, | ||
| 19 | } | ||
| 20 | </script> | ||
| 21 | <style scoped lang="less"> | ||
| 22 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -2,8 +2,10 @@ | ... | @@ -2,8 +2,10 @@ |
| 2 | <div class="content_box"> | 2 | <div class="content_box"> |
| 3 | <el-tabs v-model="activeName" class="tabs" @tab-click="handleClick" type="border-card" > | 3 | <el-tabs v-model="activeName" class="tabs" @tab-click="handleClick" type="border-card" > |
| 4 | <el-tab-pane label="多幢基本信息" name="dzxx"><dzxx v-if="dzJbxxVisble"></dzxx></el-tab-pane> | 4 | <el-tab-pane label="多幢基本信息" name="dzxx"><dzxx v-if="dzJbxxVisble"></dzxx></el-tab-pane> |
| 5 | <el-tab-pane label="附件材料" name="fjcl"> | 5 | <el-tab-pane label="附件材料" name="fjcl"><fjcl v-if="fjclVisible" ref="fjcl"></fjcl></el-tab-pane> |
| 6 | <fjcl v-if="fjclVisible" ref="fjcl"></fjcl></el-tab-pane> | 6 | <el-tab-pane label="历史回溯" name="lshs"><lshs></lshs></el-tab-pane> |
| 7 | <el-tab-pane label="登记簿" name="djb"><djb></djb></el-tab-pane> | ||
| 8 | |||
| 7 | </el-tabs> | 9 | </el-tabs> |
| 8 | </div> | 10 | </div> |
| 9 | </template> | 11 | </template> |
| ... | @@ -12,10 +14,12 @@ | ... | @@ -12,10 +14,12 @@ |
| 12 | import dzxx from "./dzxx"; | 14 | import dzxx from "./dzxx"; |
| 13 | import fjcl from "./../zd/fjcl/fjcl" | 15 | import fjcl from "./../zd/fjcl/fjcl" |
| 14 | import {queryStatus} from "@api/search" | 16 | import {queryStatus} from "@api/search" |
| 17 | import Lshs from '@components/lshs/index'; | ||
| 18 | import djb from "./djb"; | ||
| 15 | export default { | 19 | export default { |
| 16 | name: "", | 20 | name: "", |
| 17 | components: { | 21 | components: { |
| 18 | dzxx,fjcl | 22 | dzxx,fjcl,Lshs,djb |
| 19 | }, | 23 | }, |
| 20 | props: {}, | 24 | props: {}, |
| 21 | data() { | 25 | data() { | ... | ... |
src/views/dz/lshs/index.vue
0 → 100644
| 1 | <template> | ||
| 2 | <div class="lshs-content"> | ||
| 3 | <Lshs></Lshs> | ||
| 4 | </div> | ||
| 5 | </template> | ||
| 6 | |||
| 7 | <script> | ||
| 8 | |||
| 9 | import Lshs from '@components/lshs/index'; | ||
| 10 | |||
| 11 | export default { | ||
| 12 | name:"", | ||
| 13 | components:{Lshs}, | ||
| 14 | props:{}, | ||
| 15 | data(){ | ||
| 16 | return { | ||
| 17 | data : {} | ||
| 18 | } | ||
| 19 | }, | ||
| 20 | created(){ | ||
| 21 | |||
| 22 | }, | ||
| 23 | mounted(){ | ||
| 24 | }, | ||
| 25 | methods: { | ||
| 26 | }, | ||
| 27 | computed: {}, | ||
| 28 | watch: {}, | ||
| 29 | } | ||
| 30 | </script> | ||
| 31 | <style scoped lang="less"> | ||
| 32 | |||
| 33 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | <template> | 1 | <template> |
| 2 | <div class="main"> | 2 | <div class="main1"> |
| 3 | <template v-if="isCxlz"> | 3 | <template v-if="isCxlz"> |
| 4 | <!-- <p class="tips">查询条件</p> --> | 4 | <!-- <p class="tips">查询条件</p> --> |
| 5 | <div class="search"> | 5 | <div class="search"> |
| ... | @@ -344,7 +344,7 @@ export default { | ... | @@ -344,7 +344,7 @@ export default { |
| 344 | this.$nextTick(() => { | 344 | this.$nextTick(() => { |
| 345 | this.tableHeight = | 345 | this.tableHeight = |
| 346 | (document.documentElement.clientHeight || | 346 | (document.documentElement.clientHeight || |
| 347 | document.body.clientHeight) - 352; | 347 | document.body.clientHeight) - 332; |
| 348 | this.lpbContentHeight = (document.documentElement.clientHeight || document.body.clientHeight) - 220; | 348 | this.lpbContentHeight = (document.documentElement.clientHeight || document.body.clientHeight) - 220; |
| 349 | }); | 349 | }); |
| 350 | }, | 350 | }, |
| ... | @@ -555,10 +555,12 @@ export default { | ... | @@ -555,10 +555,12 @@ export default { |
| 555 | }; | 555 | }; |
| 556 | </script> | 556 | </script> |
| 557 | <style scoped lang="less"> | 557 | <style scoped lang="less"> |
| 558 | .main { | 558 | .main1 { |
| 559 | width: 100%; | ||
| 560 | height: 100%; | ||
| 561 | -webkit-box-sizing: border-box; | ||
| 559 | box-sizing: border-box; | 562 | box-sizing: border-box; |
| 560 | padding: 18px; | 563 | padding: 20px; |
| 561 | height: auto; | ||
| 562 | } | 564 | } |
| 563 | .search{ | 565 | .search{ |
| 564 | 566 | ... | ... |
| ... | @@ -192,7 +192,7 @@ | ... | @@ -192,7 +192,7 @@ |
| 192 | <li><span class="label">不动产单元号:</span><span class="value">{{dzFgqData.bdcdyh}}</span></li> | 192 | <li><span class="label">不动产单元号:</span><span class="value">{{dzFgqData.bdcdyh}}</span></li> |
| 193 | <li><span class="label">项目名称:</span><span class="value">{{dzFgqData.xmmc}}</span></li> | 193 | <li><span class="label">项目名称:</span><span class="value">{{dzFgqData.xmmc}}</span></li> |
| 194 | <li><span class="label">不动产权证号:</span><span class="value">{{dzFgqData.bdcqzh}}</span></li> | 194 | <li><span class="label">不动产权证号:</span><span class="value">{{dzFgqData.bdcqzh}}</span></li> |
| 195 | <li><span class="label">权利人:</span><span class="value">{{dzFgqData.qlr}}</span></li> | 195 | <li><span class="label">权利人:</span><span class="value">{{dzFgqData.qlrmc}}</span></li> |
| 196 | <li><span class="label">坐落:</span><span class="value">{{dzFgqData.zl}}</span></li> | 196 | <li><span class="label">坐落:</span><span class="value">{{dzFgqData.zl}}</span></li> |
| 197 | </ul> | 197 | </ul> |
| 198 | <div class="zdmap"> | 198 | <div class="zdmap"> | ... | ... |
| ... | @@ -54,7 +54,7 @@ | ... | @@ -54,7 +54,7 @@ |
| 54 | label="不动产权证号"> | 54 | label="不动产权证号"> |
| 55 | </el-table-column> | 55 | </el-table-column> |
| 56 | <el-table-column | 56 | <el-table-column |
| 57 | prop="qlr" | 57 | prop="qlrmc" |
| 58 | label="权利人"> | 58 | label="权利人"> |
| 59 | </el-table-column> | 59 | </el-table-column> |
| 60 | <el-table-column | 60 | <el-table-column |
| ... | @@ -257,7 +257,7 @@ | ... | @@ -257,7 +257,7 @@ |
| 257 | this.$nextTick(() => { | 257 | this.$nextTick(() => { |
| 258 | this.fgBoxWidth = this.$refs.hbBox.clientWidth; | 258 | this.fgBoxWidth = this.$refs.hbBox.clientWidth; |
| 259 | this.tableHeight = (document.documentElement.clientHeight || document.body.clientHeight) - 610 | 259 | this.tableHeight = (document.documentElement.clientHeight || document.body.clientHeight) - 610 |
| 260 | }); | 260 | }); |
| 261 | }, | 261 | }, |
| 262 | methods: { | 262 | methods: { |
| 263 | 263 | ... | ... |
| ... | @@ -88,8 +88,7 @@ | ... | @@ -88,8 +88,7 @@ |
| 88 | this.queryData.pageNo=this.pageNo; | 88 | this.queryData.pageNo=this.pageNo; |
| 89 | this.getData(this.queryData); | 89 | this.getData(this.queryData); |
| 90 | this.$nextTick(()=>{ | 90 | this.$nextTick(()=>{ |
| 91 | console.log(this.$refs.dataGrid.offsetHeight,'this.$refs.dataGrid.offsetHeight'); | 91 | this.tableHeight = (document.documentElement.clientHeight || document.body.clientHeight) - 332; |
| 92 | this.tableHeight = this.$refs.dataGrid.offsetHeight - 68; | ||
| 93 | }) | 92 | }) |
| 94 | }, | 93 | }, |
| 95 | methods: { | 94 | methods: { | ... | ... |
| ... | @@ -74,7 +74,7 @@ | ... | @@ -74,7 +74,7 @@ |
| 74 | </div> | 74 | </div> |
| 75 | <div class="contentItem"> | 75 | <div class="contentItem"> |
| 76 | <span class="key">权利人:</span> | 76 | <span class="key">权利人:</span> |
| 77 | <span class="value" :title="item.attributes['权利人']">{{item.attributes['权利人'] == 'Null'?"":item.attributes['权利人']}}</span> | 77 | <span class="value" :title="item.attributes['QLR']">{{item.attributes['QLR'] == 'Null'?"":item.attributes['QLR']}}</span> |
| 78 | </div> | 78 | </div> |
| 79 | <div class="contentItem"> | 79 | <div class="contentItem"> |
| 80 | <span class="key">坐落:</span> | 80 | <span class="key">坐落:</span> |
| ... | @@ -137,7 +137,7 @@ | ... | @@ -137,7 +137,7 @@ |
| 137 | <el-table-column | 137 | <el-table-column |
| 138 | label="权利人"> | 138 | label="权利人"> |
| 139 | <template slot-scope="scope"> | 139 | <template slot-scope="scope"> |
| 140 | <span>{{ scope.row.attributes['权利人'] == 'Null'?'':scope.row.attributes['权利人'] }}</span> | 140 | <span>{{ scope.row.attributes['QLR'] == 'Null'?'':scope.row.attributes['QLR'] }}</span> |
| 141 | </template> | 141 | </template> |
| 142 | </el-table-column> | 142 | </el-table-column> |
| 143 | <el-table-column | 143 | <el-table-column |
| ... | @@ -588,7 +588,7 @@ export default { | ... | @@ -588,7 +588,7 @@ export default { |
| 588 | /deep/ .el-tabs__header{ | 588 | /deep/ .el-tabs__header{ |
| 589 | margin: 0 0 0px; | 589 | margin: 0 0 0px; |
| 590 | } | 590 | } |
| 591 | /deep/ .el-table td, .el-table th.is-leaf { | 591 | /deep/ .el-table td, .el-table th{ |
| 592 | text-align: center; | 592 | text-align: center; |
| 593 | } | 593 | } |
| 594 | /deep/ .el-tabs__nav :first{ | 594 | /deep/ .el-tabs__nav :first{ | ... | ... |
| ... | @@ -232,6 +232,7 @@ export default { | ... | @@ -232,6 +232,7 @@ export default { |
| 232 | type:"polygon" | 232 | type:"polygon" |
| 233 | } | 233 | } |
| 234 | //self.checkGeo(graphic); | 234 | //self.checkGeo(graphic); |
| 235 | this.addOverLayer(geometry); | ||
| 235 | self.$emit("setGeometry",geometry); | 236 | self.$emit("setGeometry",geometry); |
| 236 | }else{ | 237 | }else{ |
| 237 | this.$message.warning(response.message); | 238 | this.$message.warning(response.message); |
| ... | @@ -319,7 +320,7 @@ export default { | ... | @@ -319,7 +320,7 @@ export default { |
| 319 | wkt:wkt | 320 | wkt:wkt |
| 320 | } | 321 | } |
| 321 | this.addOverLayer(graphic.geometry); | 322 | this.addOverLayer(graphic.geometry); |
| 322 | }, | 323 | } |
| 323 | } | 324 | } |
| 324 | } | 325 | } |
| 325 | </script> | 326 | </script> | ... | ... |
| ... | @@ -14,7 +14,7 @@ | ... | @@ -14,7 +14,7 @@ |
| 14 | :on-exceed="handleExceed" | 14 | :on-exceed="handleExceed" |
| 15 | :disabled="isDisabled" | 15 | :disabled="isDisabled" |
| 16 | > | 16 | > |
| 17 | <el-button size="small" type="primary" :disabled="isDisabled" >上传</el-button> | 17 | <el-button size="small" type="primary" :disabled="isDisabled" icon="iconfont iconshangchuan">上传</el-button> |
| 18 | </el-upload> | 18 | </el-upload> |
| 19 | <table border="2"> | 19 | <table border="2"> |
| 20 | <tr> | 20 | <tr> |
| ... | @@ -100,7 +100,12 @@ | ... | @@ -100,7 +100,12 @@ |
| 100 | }) | 100 | }) |
| 101 | }, | 101 | }, |
| 102 | downloadFile(url) { | 102 | downloadFile(url) { |
| 103 | window.open(`/api/file/download?url=` + url); | 103 | // window.open(`/api/file/download?url=` + url); |
| 104 | let downloadUrl= `/api/file/download?url=${url}` | ||
| 105 | let elemIF = document.createElement("iframe"); | ||
| 106 | elemIF.src = downloadUrl; | ||
| 107 | elemIF.style.display = "none"; | ||
| 108 | document.body.appendChild(elemIF) | ||
| 104 | }, | 109 | }, |
| 105 | getFileList() { | 110 | getFileList() { |
| 106 | switch (this.$route.name) { | 111 | switch (this.$route.name) { | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div class="lshs-content"> | 2 | <div class="lshs-content"> |
| 3 | <!-- <div class="slot">--> | 3 | <Lshs></Lshs> |
| 4 | <!-- <div><span class="tip-title">范围属性变更:</span></div>--> | ||
| 5 | <!-- <div><span class="tip-title">宗地分割:</span></div>--> | ||
| 6 | <!-- <div><span class="tip-title">宗地合并:</span></div>--> | ||
| 7 | <!-- </div>--> | ||
| 8 | <div id="mountNode" ref="containerWidth"></div> | ||
| 9 | <div id="mountNodeRight"></div> | ||
| 10 | </div> | 4 | </div> |
| 11 | </template> | 5 | </template> |
| 12 | 6 | ||
| 13 | <script> | 7 | <script> |
| 14 | 8 | ||
| 15 | import G6 from '@antv/g6'; | 9 | import Lshs from '@components/lshs/index'; |
| 16 | import insertCss from 'insert-css'; | ||
| 17 | import { getLshs } from "@api/fwsxbg"; | ||
| 18 | 10 | ||
| 19 | export default { | 11 | export default { |
| 20 | name:"", | 12 | name:"", |
| 21 | components:{}, | 13 | components:{Lshs}, |
| 22 | props:{}, | 14 | props:{}, |
| 23 | data(){ | 15 | data(){ |
| 24 | insertCss(` | ||
| 25 | .g6-tooltip { | ||
| 26 | border-radius: 6px; | ||
| 27 | font-size: 12px; | ||
| 28 | color: #fff; | ||
| 29 | background-color: #000; | ||
| 30 | padding: 2px 8px; | ||
| 31 | text-align: center; | ||
| 32 | } | ||
| 33 | `); | ||
| 34 | return { | 16 | return { |
| 35 | data : {} | 17 | data : {} |
| 36 | } | 18 | } |
| ... | @@ -39,166 +21,8 @@ export default { | ... | @@ -39,166 +21,8 @@ export default { |
| 39 | 21 | ||
| 40 | }, | 22 | }, |
| 41 | mounted(){ | 23 | mounted(){ |
| 42 | this.getLshsData(); | ||
| 43 | }, | 24 | }, |
| 44 | methods: { | 25 | methods: { |
| 45 | initG6() { | ||
| 46 | const data = this.data; | ||
| 47 | const eWidth = this.$refs.containerWidth.clientWidth | ||
| 48 | console.log(eWidth+":width") | ||
| 49 | G6.registerNode( | ||
| 50 | 'sql', | ||
| 51 | { | ||
| 52 | drawShape(cfg, group) { | ||
| 53 | const rect = group.addShape('rect', { | ||
| 54 | attrs: { | ||
| 55 | x: -100, | ||
| 56 | y: -25, | ||
| 57 | width: 200, | ||
| 58 | height: 50, | ||
| 59 | radius: 10, | ||
| 60 | stroke: '#5B8FF9', | ||
| 61 | fill: '#C6E5FF', | ||
| 62 | lineWidth: 1, | ||
| 63 | }, | ||
| 64 | name: 'rect-shape', | ||
| 65 | }); | ||
| 66 | if (cfg.name) { | ||
| 67 | group.addShape('text', { | ||
| 68 | attrs: { | ||
| 69 | text: cfg.name, | ||
| 70 | x: 0, | ||
| 71 | y: 0, | ||
| 72 | fill: '#00287E', | ||
| 73 | fontSize: 14, | ||
| 74 | textAlign: 'center', | ||
| 75 | textBaseline: 'middle', | ||
| 76 | fontWeight: 'bold', | ||
| 77 | }, | ||
| 78 | name: 'text-shape', | ||
| 79 | }); | ||
| 80 | } | ||
| 81 | return rect; | ||
| 82 | }, | ||
| 83 | }, | ||
| 84 | 'single-node', | ||
| 85 | ); | ||
| 86 | G6.registerEdge( | ||
| 87 | 'polyline1', | ||
| 88 | { | ||
| 89 | afterDraw(cfg, group) { | ||
| 90 | console.log(cfg.data+":cfg") | ||
| 91 | console.log(group.toString()+"group") | ||
| 92 | }, | ||
| 93 | }, | ||
| 94 | 'polyline', | ||
| 95 | ); | ||
| 96 | |||
| 97 | const tooltip = new G6.Tooltip({ | ||
| 98 | offsetX: 10, | ||
| 99 | offsetY: 10, | ||
| 100 | itemTypes: ['node', 'edge'], | ||
| 101 | getContent: (e) => { | ||
| 102 | const outDiv = document.createElement('div'); | ||
| 103 | outDiv.style.width = 'fit-content'; | ||
| 104 | outDiv.innerHTML = ` | ||
| 105 | <ul> | ||
| 106 | <li> ${e.item.getModel().conf[0].label}:${e.item.getModel().conf[0].value}</li> | ||
| 107 | <li> ${e.item.getModel().conf[1].label}:${e.item.getModel().conf[1].value}</li> | ||
| 108 | <li> ${e.item.getModel().conf[2].label}:${e.item.getModel().conf[2].value}</li> | ||
| 109 | <li> ${e.item.getModel().conf[3].label}:${e.item.getModel().conf[3].value}</li> | ||
| 110 | <li> ${e.item.getModel().conf[4].label}:${e.item.getModel().conf[4].value}</li> | ||
| 111 | </ul>` | ||
| 112 | ; | ||
| 113 | return outDiv; | ||
| 114 | }, | ||
| 115 | }); | ||
| 116 | |||
| 117 | const container = document.getElementById('mountNode'); | ||
| 118 | console.log(container) | ||
| 119 | const graph = new G6.Graph({ | ||
| 120 | container: 'mountNode', | ||
| 121 | width:eWidth, | ||
| 122 | height:1000, | ||
| 123 | layout: { | ||
| 124 | type: 'dagre', | ||
| 125 | nodesepFunc: (d) => { | ||
| 126 | return 100; | ||
| 127 | }, | ||
| 128 | ranksep: 30, | ||
| 129 | controlPoints: true, | ||
| 130 | }, | ||
| 131 | defaultNode: { | ||
| 132 | type: 'sql', | ||
| 133 | }, | ||
| 134 | defaultEdge: { | ||
| 135 | type: 'polyline1', | ||
| 136 | style: { | ||
| 137 | radius: 10, | ||
| 138 | offset: 10, | ||
| 139 | // endArrow: true, | ||
| 140 | lineWidth: 2, | ||
| 141 | stroke: 'rgba(78,142,230,0.45)', | ||
| 142 | }, | ||
| 143 | }, | ||
| 144 | nodeStateStyles: { | ||
| 145 | selected: { | ||
| 146 | stroke: '#d9d9d9', | ||
| 147 | fill: '#5394ef', | ||
| 148 | }, | ||
| 149 | }, | ||
| 150 | |||
| 151 | plugins: [tooltip], | ||
| 152 | modes: { | ||
| 153 | default: [ | ||
| 154 | 'drag-node', | ||
| 155 | 'drag-canvas', | ||
| 156 | 'zoom-canvas', | ||
| 157 | 'click-select', | ||
| 158 | ], | ||
| 159 | }, | ||
| 160 | |||
| 161 | fitView: true, | ||
| 162 | }); | ||
| 163 | |||
| 164 | graph.data(data); | ||
| 165 | graph.render(); | ||
| 166 | |||
| 167 | graph.on('node:mouseenter', e => { | ||
| 168 | graph.setItemState(e.item, 'active', true) | ||
| 169 | }); | ||
| 170 | graph.on('node:mouseleave', e => { | ||
| 171 | graph.setItemState(e.item, 'active', false) | ||
| 172 | }); | ||
| 173 | graph.on('edge:mouseenter', e => { | ||
| 174 | graph.setItemState(e.item, 'active', true) | ||
| 175 | }); | ||
| 176 | graph.on('edge:mouseleave', e => { | ||
| 177 | graph.setItemState(e.item, 'active', false) | ||
| 178 | }); | ||
| 179 | |||
| 180 | if (typeof window !== 'undefined') | ||
| 181 | window.onresize = () => { | ||
| 182 | if (!graph || graph.get('destroyed')) return; | ||
| 183 | if (!container || !container.scrollWidth || !container.scrollHeight) return; | ||
| 184 | graph.changeSize(container.scrollWidth, container.scrollHeight); | ||
| 185 | }; | ||
| 186 | |||
| 187 | }, | ||
| 188 | |||
| 189 | getLshsData(){ | ||
| 190 | let _this = this; | ||
| 191 | const data = { | ||
| 192 | "bsm": this.$store.state.zdbsm, | ||
| 193 | "type": "zd" | ||
| 194 | }; | ||
| 195 | getLshs(data).then((res)=>{ | ||
| 196 | if(res.code===200){ | ||
| 197 | _this.data=res.result; | ||
| 198 | this.initG6(); | ||
| 199 | } | ||
| 200 | }) | ||
| 201 | } | ||
| 202 | }, | 26 | }, |
| 203 | computed: {}, | 27 | computed: {}, |
| 204 | watch: {}, | 28 | watch: {}, |
| ... | @@ -206,32 +30,4 @@ export default { | ... | @@ -206,32 +30,4 @@ export default { |
| 206 | </script> | 30 | </script> |
| 207 | <style scoped lang="less"> | 31 | <style scoped lang="less"> |
| 208 | 32 | ||
| 209 | .lshs-content{ | ||
| 210 | width: 100%; | ||
| 211 | height: 100%; | ||
| 212 | } | ||
| 213 | |||
| 214 | #mountNode{ | ||
| 215 | /*height: calc(100% - 68px);*/ | ||
| 216 | margin-top: -60px; | ||
| 217 | width: 60%; | ||
| 218 | float: left; | ||
| 219 | } | ||
| 220 | |||
| 221 | #mountNodeRight{ | ||
| 222 | width: 38%; | ||
| 223 | float: right; | ||
| 224 | height: 1000px; | ||
| 225 | border: 0 solid #5ebbff; | ||
| 226 | } | ||
| 227 | |||
| 228 | .slot{ | ||
| 229 | margin-left: 50px; | ||
| 230 | margin-top: 20px; | ||
| 231 | width: 300px; | ||
| 232 | } | ||
| 233 | |||
| 234 | .tip-title{ | ||
| 235 | font-weight: 700; | ||
| 236 | } | ||
| 237 | </style> | 33 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -364,7 +364,7 @@ | ... | @@ -364,7 +364,7 @@ |
| 364 | </tr> | 364 | </tr> |
| 365 | </table> | 365 | </table> |
| 366 | <div class="header-button" :style="{width:mainBoxWidth+'px'}"> | 366 | <div class="header-button" :style="{width:mainBoxWidth+'px'}"> |
| 367 | <el-button type="primary" class="saveBtn" @click="updateZDxx" :disabled="disabled">保存</el-button> | 367 | <el-button type="primary" class="saveBtn" @click="updateZDxx" :disabled="disabled" icon="el-icon-search">保存</el-button> |
| 368 | <el-button type="primary" @click="submitZDxx" :disabled="disabled">提交</el-button> | 368 | <el-button type="primary" @click="submitZDxx" :disabled="disabled">提交</el-button> |
| 369 | <el-button type="primary" @click="registerCall">登记调用</el-button> | 369 | <el-button type="primary" @click="registerCall">登记调用</el-button> |
| 370 | </div> | 370 | </div> |
| ... | @@ -805,14 +805,25 @@ | ... | @@ -805,14 +805,25 @@ |
| 805 | return item.bsm == value; | 805 | return item.bsm == value; |
| 806 | }) | 806 | }) |
| 807 | self.geoAttributes[key] = qlsdfs[0] ? qlsdfs[0].mc : ""; | 807 | self.geoAttributes[key] = qlsdfs[0] ? qlsdfs[0].mc : ""; |
| 808 | } else { | 808 | } else if(key == 'QLR'){ |
| 809 | var qlrTableData = this.$refs.qlrxxModule.tableData; | ||
| 810 | if(qlrTableData.length > 0){ | ||
| 811 | for(var i = 0;i < qlrTableData.length;i++){ | ||
| 812 | if(i = 0){ | ||
| 813 | self.geoAttributes[key] = qlrTableData[i].qlrmc; | ||
| 814 | }else{ | ||
| 815 | self.geoAttributes[key] += ','+ qlrTableData[i].qlrmc; | ||
| 816 | } | ||
| 817 | } | ||
| 818 | } | ||
| 819 | } else { | ||
| 809 | var formKay = key.toLowerCase(); | 820 | var formKay = key.toLowerCase(); |
| 810 | self.geoAttributes[key] = self.formData[formKay]; | 821 | self.geoAttributes[key] = self.formData[formKay]; |
| 811 | } | 822 | } |
| 812 | } | 823 | } |
| 813 | self.updAttributes(this.$store.state.zdbsm, 'zd', this.geoAttributes, function (res) { | 824 | self.updAttributes(this.$store.state.zdbsm, 'zd', this.geoAttributes, function (res) { |
| 814 | console.log("属性保存完成!!"); | 825 | console.log("属性保存完成!!"); |
| 815 | }); | 826 | }); |
| 816 | } | 827 | } |
| 817 | } | 828 | } |
| 818 | } else { | 829 | } else { | ... | ... |
| ... | @@ -233,7 +233,7 @@ | ... | @@ -233,7 +233,7 @@ |
| 233 | </div> | 233 | </div> |
| 234 | </div> | 234 | </div> |
| 235 | </div> | 235 | </div> |
| 236 | 236 | ||
| 237 | <xxxx v-show="!bjztFlag"></xxxx> | 237 | <xxxx v-show="!bjztFlag"></xxxx> |
| 238 | 238 | ||
| 239 | <!-- 右键菜单弹出框 --> | 239 | <!-- 右键菜单弹出框 --> |
| ... | @@ -611,7 +611,7 @@ export default { | ... | @@ -611,7 +611,7 @@ export default { |
| 611 | getHbsm(data, type) { | 611 | getHbsm(data, type) { |
| 612 | if (type) { | 612 | if (type) { |
| 613 | // 双击 | 613 | // 双击 |
| 614 | 614 | ||
| 615 | } else { | 615 | } else { |
| 616 | //单击 TO DO | 616 | //单击 TO DO |
| 617 | this.bsms = data; | 617 | this.bsms = data; |
| ... | @@ -621,7 +621,7 @@ export default { | ... | @@ -621,7 +621,7 @@ export default { |
| 621 | getQsztList(data, type) { | 621 | getQsztList(data, type) { |
| 622 | if (type) { | 622 | if (type) { |
| 623 | // 双击 | 623 | // 双击 |
| 624 | 624 | ||
| 625 | } else { | 625 | } else { |
| 626 | //单击 TO DO | 626 | //单击 TO DO |
| 627 | this.qsztList = data; | 627 | this.qsztList = data; | ... | ... |
| ... | @@ -621,7 +621,7 @@ export default { | ... | @@ -621,7 +621,7 @@ export default { |
| 621 | this.$nextTick(()=>{ | 621 | this.$nextTick(()=>{ |
| 622 | this.lpbContentWidth = this.zdyWidth > this.ljzWidth ?this.zdyWidth - 20 : this.ljzWidth-20; | 622 | this.lpbContentWidth = this.zdyWidth > this.ljzWidth ?this.zdyWidth - 20 : this.ljzWidth-20; |
| 623 | if (this.lpbContentWidth == 0) { | 623 | if (this.lpbContentWidth == 0) { |
| 624 | this.lpbContentWidth = this.$refs.lpbContent.offsetWidth | 624 | //his.lpbContentWidth = this.$refs.lpbContent.offsetWidth |
| 625 | } | 625 | } |
| 626 | }) | 626 | }) |
| 627 | }, | 627 | }, |
| ... | @@ -643,16 +643,16 @@ export default { | ... | @@ -643,16 +643,16 @@ export default { |
| 643 | self.fghbChoosedList.push(hs); | 643 | self.fghbChoosedList.push(hs); |
| 644 | break; | 644 | break; |
| 645 | case 'isFwsxbg': | 645 | case 'isFwsxbg': |
| 646 | 646 | ||
| 647 | break; | 647 | break; |
| 648 | case 'isCxlz': | 648 | case 'isCxlz': |
| 649 | 649 | ||
| 650 | break; | 650 | break; |
| 651 | case 'isLpb': | 651 | case 'isLpb': |
| 652 | this.$parent.getHbsm(this.hbsmList, false); | 652 | this.$parent.getHbsm(this.hbsmList, false); |
| 653 | this.$parent.getQsztList(this.hqsztList, false); | 653 | this.$parent.getQsztList(this.hqsztList, false); |
| 654 | break; | 654 | break; |
| 655 | 655 | ||
| 656 | default: | 656 | default: |
| 657 | break; | 657 | break; |
| 658 | } | 658 | } |
| ... | @@ -664,10 +664,10 @@ export default { | ... | @@ -664,10 +664,10 @@ export default { |
| 664 | self.fghbChoosedList = self.fghbChoosedList.filter(i=>i!=hs) | 664 | self.fghbChoosedList = self.fghbChoosedList.filter(i=>i!=hs) |
| 665 | break; | 665 | break; |
| 666 | case 'isFwsxbg': | 666 | case 'isFwsxbg': |
| 667 | 667 | ||
| 668 | break; | 668 | break; |
| 669 | case 'isCxlz': | 669 | case 'isCxlz': |
| 670 | 670 | ||
| 671 | break; | 671 | break; |
| 672 | case 'isLpb': | 672 | case 'isLpb': |
| 673 | this.hbsmList = this.hbsmList.filter(i=>i!=bsm); | 673 | this.hbsmList = this.hbsmList.filter(i=>i!=bsm); |
| ... | @@ -675,7 +675,7 @@ export default { | ... | @@ -675,7 +675,7 @@ export default { |
| 675 | this.$parent.getHbsm(this.hbsmList, false); | 675 | this.$parent.getHbsm(this.hbsmList, false); |
| 676 | this.$parent.getQsztList(this.hqsztList, false); | 676 | this.$parent.getQsztList(this.hqsztList, false); |
| 677 | break; | 677 | break; |
| 678 | 678 | ||
| 679 | default: | 679 | default: |
| 680 | break; | 680 | break; |
| 681 | } | 681 | } |
| ... | @@ -692,7 +692,7 @@ export default { | ... | @@ -692,7 +692,7 @@ export default { |
| 692 | this.$refs.hbj.getHInfo(this.hbsm); | 692 | this.$refs.hbj.getHInfo(this.hbsm); |
| 693 | }); | 693 | }); |
| 694 | // if (this.isHbfg) { | 694 | // if (this.isHbfg) { |
| 695 | 695 | ||
| 696 | // }else{ | 696 | // }else{ |
| 697 | // this.hbsmList.push(bsm); // 将户bsm放进hbsmList | 697 | // this.hbsmList.push(bsm); // 将户bsm放进hbsmList |
| 698 | // this.$parent.getHbsm(bsm, true); | 698 | // this.$parent.getHbsm(bsm, true); |
| ... | @@ -781,7 +781,7 @@ export default { | ... | @@ -781,7 +781,7 @@ export default { |
| 781 | this.rightClickFlag = type; | 781 | this.rightClickFlag = type; |
| 782 | this.lpbChVisible = true; | 782 | this.lpbChVisible = true; |
| 783 | break; | 783 | break; |
| 784 | 784 | ||
| 785 | default: | 785 | default: |
| 786 | break; | 786 | break; |
| 787 | } | 787 | } |
| ... | @@ -800,7 +800,7 @@ export default { | ... | @@ -800,7 +800,7 @@ export default { |
| 800 | if (e.target.className.indexOf("tdSelect") == -1) { | 800 | if (e.target.className.indexOf("tdSelect") == -1) { |
| 801 | //未选中→选中 | 801 | //未选中→选中 |
| 802 | e.target.className += " tdSelect"; //加边框 | 802 | e.target.className += " tdSelect"; //加边框 |
| 803 | this.cbsmList.push(item.bsm); | 803 | this.cbsmList.push(item.bsm); |
| 804 | } else { | 804 | } else { |
| 805 | //选中→未选中 | 805 | //选中→未选中 |
| 806 | e.target.className = "floor"; | 806 | e.target.className = "floor"; |
| ... | @@ -808,7 +808,7 @@ export default { | ... | @@ -808,7 +808,7 @@ export default { |
| 808 | } | 808 | } |
| 809 | this.$parent.getCbsm(this.cbsmList); | 809 | this.$parent.getCbsm(this.cbsmList); |
| 810 | }else{ | 810 | }else{ |
| 811 | 811 | ||
| 812 | } | 812 | } |
| 813 | }, | 813 | }, |
| 814 | //关闭右键菜单 | 814 | //关闭右键菜单 |
| ... | @@ -901,7 +901,7 @@ export default { | ... | @@ -901,7 +901,7 @@ export default { |
| 901 | type: "warning", | 901 | type: "warning", |
| 902 | }) | 902 | }) |
| 903 | .then(() => { | 903 | .then(() => { |
| 904 | //确定合并 调用合并接口 this.hbsmList为选中户bsm数组 TO DO | 904 | //确定合并 调用合并接口 this.hbsmList为选中户bsm数组 TO DO |
| 905 | let params = { | 905 | let params = { |
| 906 | "newuserbsm": "", | 906 | "newuserbsm": "", |
| 907 | "oldBsms": olbBsms, | 907 | "oldBsms": olbBsms, |
| ... | @@ -972,7 +972,7 @@ export default { | ... | @@ -972,7 +972,7 @@ export default { |
| 972 | }); | 972 | }); |
| 973 | } | 973 | } |
| 974 | }).catch((error) => { | 974 | }).catch((error) => { |
| 975 | 975 | ||
| 976 | }); | 976 | }); |
| 977 | }).catch(() => { | 977 | }).catch(() => { |
| 978 | 978 | ||
| ... | @@ -1191,7 +1191,7 @@ export default { | ... | @@ -1191,7 +1191,7 @@ export default { |
| 1191 | width: calc(100% - 32px); | 1191 | width: calc(100% - 32px); |
| 1192 | height: 40px; | 1192 | height: 40px; |
| 1193 | // background-color: darkorange; | 1193 | // background-color: darkorange; |
| 1194 | 1194 | ||
| 1195 | } | 1195 | } |
| 1196 | } | 1196 | } |
| 1197 | .mt30{ | 1197 | .mt30{ | ... | ... |
-
Please register or sign in to post a comment