Merge branch 'master' of http://yun.pashanhoo.com:9090/renchao/CadastralSystem
Showing
8 changed files
with
82 additions
and
29 deletions
| ... | @@ -46,6 +46,7 @@ | ... | @@ -46,6 +46,7 @@ |
| 46 | @contextmenu.prevent="openMenu($event, item,list)" | 46 | @contextmenu.prevent="openMenu($event, item,list)" |
| 47 | :class="{ | 47 | :class="{ |
| 48 | active_color: item.expand, | 48 | active_color: item.expand, |
| 49 | curPage:$route.query.bsm==item.bsm | ||
| 49 | }" | 50 | }" |
| 50 | > | 51 | > |
| 51 | <img class="qsztImg" v-if="item.qszt=='0'" :src="linshi"/> | 52 | <img class="qsztImg" v-if="item.qszt=='0'" :src="linshi"/> |
| ... | @@ -404,4 +405,7 @@ export default { | ... | @@ -404,4 +405,7 @@ export default { |
| 404 | position: relative; | 405 | position: relative; |
| 405 | top: 1px; | 406 | top: 1px; |
| 406 | } | 407 | } |
| 408 | .curPage{ | ||
| 409 | color: orange; | ||
| 410 | } | ||
| 407 | </style> | 411 | </style> | ... | ... |
| ... | @@ -73,6 +73,7 @@ | ... | @@ -73,6 +73,7 @@ |
| 73 | <li v-show="isZD && (zdQszt == '1' || zdQszt == '2')" @click="openCreateDialog">添加定着物</li> | 73 | <li v-show="isZD && (zdQszt == '1' || zdQszt == '2')" @click="openCreateDialog">添加定着物</li> |
| 74 | <li v-show="isZD && (zdQszt != '1' && zdQszt != '2')" class="noEdit">添加定着物</li> | 74 | <li v-show="isZD && (zdQszt != '1' && zdQszt != '2')" class="noEdit">添加定着物</li> |
| 75 | <li @click="deleteByBsm()">删除</li> | 75 | <li @click="deleteByBsm()">删除</li> |
| 76 | <li @click="deleteGeoByBsm()">删除图形</li> | ||
| 76 | </ul> | 77 | </ul> |
| 77 | <ul | 78 | <ul |
| 78 | v-show="dzVisible" | 79 | v-show="dzVisible" |
| ... | @@ -429,12 +430,51 @@ export default { | ... | @@ -429,12 +430,51 @@ export default { |
| 429 | } | 430 | } |
| 430 | }); | 431 | }); |
| 431 | }, | 432 | }, |
| 433 | //删除图形 | ||
| 434 | deleteGeoByBsm() { | ||
| 435 | var self = this; | ||
| 436 | var BSM = ""; | ||
| 437 | var type = this.zdData.type; | ||
| 438 | if (type == "zd") { | ||
| 439 | BSM = this.zdData.zdbsm; | ||
| 440 | } else { | ||
| 441 | BSM = this.zdData.bsm; | ||
| 442 | } | ||
| 443 | //删除图形相关信息 | ||
| 444 | var type = this.zdData.type; | ||
| 445 | this.queryGeoByBsm(BSM, type,function (features) { | ||
| 446 | if (features && features.length > 0 && features[0].geometry.rings.length > 0) { | ||
| 447 | var layer = null; | ||
| 448 | if (type == 'zd') { | ||
| 449 | layer = self.getLayerByName("ZDJBXX"); | ||
| 450 | } else { | ||
| 451 | layer = self.getLayerByName("ZRZ"); | ||
| 452 | } | ||
| 453 | var featureUrl = layer.layerUrl.replace("MapServer", "FeatureServer"); | ||
| 454 | featureUrl += "/" + layer.id; | ||
| 455 | features[0].geometry = null; | ||
| 456 | self.updateGraphic(featureUrl, features, function (res) { | ||
| 457 | if(!res.updateFeatureResults[0].error){ | ||
| 458 | self.$message.warning("删除成功!!!") | ||
| 459 | self.addGeoByBsm(BSM,type,"testMap"); | ||
| 460 | } | ||
| 461 | |||
| 462 | }); | ||
| 463 | }else { | ||
| 464 | self.$message.warning("暂无图形信息!!!") | ||
| 465 | } | ||
| 466 | }); | ||
| 467 | }, | ||
| 432 | /* | 468 | /* |
| 433 | * 导入图形 | 469 | * 导入图形 |
| 434 | * */ | 470 | * */ |
| 435 | importGeo(){ | 471 | importGeo(){ |
| 436 | var self = this; | 472 | var self = this; |
| 437 | var BSM = ""; | 473 | var BSM = ""; |
| 474 | if(this.zdData.qszt != '0'){ | ||
| 475 | this.$message.warning("不是临时数据,不能导入图形!!!"); | ||
| 476 | return; | ||
| 477 | } | ||
| 438 | //先这么写着 后面返回类型 根据类型判断 | 478 | //先这么写着 后面返回类型 根据类型判断 |
| 439 | var type = this.zdData.type; | 479 | var type = this.zdData.type; |
| 440 | if(type == "zd"){ | 480 | if(type == "zd"){ | ... | ... |
| ... | @@ -249,7 +249,7 @@ export default { | ... | @@ -249,7 +249,7 @@ export default { |
| 249 | var graphic = { | 249 | var graphic = { |
| 250 | attributes:JSON.parse(JSON.stringify(attributes)), | 250 | attributes:JSON.parse(JSON.stringify(attributes)), |
| 251 | geometry:{ | 251 | geometry:{ |
| 252 | rings:[[points.concat()]] | 252 | rings:[[points]] |
| 253 | } | 253 | } |
| 254 | } | 254 | } |
| 255 | features.push(graphic); | 255 | features.push(graphic); |
| ... | @@ -340,7 +340,7 @@ export default { | ... | @@ -340,7 +340,7 @@ export default { |
| 340 | }, | 340 | }, |
| 341 | txtChange(value){ | 341 | txtChange(value){ |
| 342 | var wkt = "PROJCS[\"XADFZBX\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",0.0],PARAMETER[\"Scale_Factor\",1.0],PARAMETER[\"Latitude_Of_Origin\",0.0],UNIT[\"Meter\",1.0]]"; | 342 | var wkt = "PROJCS[\"XADFZBX\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",0.0],PARAMETER[\"Scale_Factor\",1.0],PARAMETER[\"Latitude_Of_Origin\",0.0],UNIT[\"Meter\",1.0]]"; |
| 343 | var graphics = self.txtResult.filter(item => { | 343 | var graphics = this.txtResult.filter(item => { |
| 344 | return item.attributes.name == value; | 344 | return item.attributes.name == value; |
| 345 | }) | 345 | }) |
| 346 | var graphic = graphics[0]; | 346 | var graphic = graphics[0]; |
| ... | @@ -371,7 +371,7 @@ export default { | ... | @@ -371,7 +371,7 @@ export default { |
| 371 | } | 371 | } |
| 372 | }); | 372 | }); |
| 373 | }else { | 373 | }else { |
| 374 | self.zrzOverAnalys(this.propertyInfo.bsm,graphic,function (flag,mes) { | 374 | self.zrzOverAnalys(self.propertyInfo.bsm,graphic,function (flag,mes) { |
| 375 | if(flag){ | 375 | if(flag){ |
| 376 | self.$message.warning(mes); | 376 | self.$message.warning(mes); |
| 377 | return; | 377 | return; |
| ... | @@ -578,7 +578,7 @@ export default { | ... | @@ -578,7 +578,7 @@ export default { |
| 578 | featureUrl += "/"+layer.id; | 578 | featureUrl += "/"+layer.id; |
| 579 | if(self.geoInfo){ | 579 | if(self.geoInfo){ |
| 580 | self.geoInfo.BSM = self.propertyInfo.bsm; | 580 | self.geoInfo.BSM = self.propertyInfo.bsm; |
| 581 | graphic.attributes = self.geoInfo; | 581 | graphic.attributes = self.geoInfo.attributes; |
| 582 | //替换 生成图像 高亮 | 582 | //替换 生成图像 高亮 |
| 583 | self.updateGraphic(featureUrl,graphic,function (res) { | 583 | self.updateGraphic(featureUrl,graphic,function (res) { |
| 584 | var addRresult = res.updateFeatureResults[0]; | 584 | var addRresult = res.updateFeatureResults[0]; | ... | ... |
| ... | @@ -234,10 +234,10 @@ export default { | ... | @@ -234,10 +234,10 @@ export default { |
| 234 | if(features && features.length > 0){ | 234 | if(features && features.length > 0){ |
| 235 | attributes.OBJECTID = features[0].attributes.OBJECTID; | 235 | attributes.OBJECTID = features[0].attributes.OBJECTID; |
| 236 | features[0].attributes = attributes; | 236 | features[0].attributes = attributes; |
| 237 | var wkt = "PROJCS[\"XADFZBX\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",0.0],PARAMETER[\"Scale_Factor\",1.0],PARAMETER[\"Latitude_Of_Origin\",0.0],UNIT[\"Meter\",1.0]]"; | 237 | /* var wkt = "PROJCS[\"XADFZBX\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",0.0],PARAMETER[\"Scale_Factor\",1.0],PARAMETER[\"Latitude_Of_Origin\",0.0],UNIT[\"Meter\",1.0]]"; |
| 238 | features[0].geometry.spatialReference = { | 238 | features[0].geometry.spatialReference = { |
| 239 | wkt:wkt | 239 | wkt:wkt |
| 240 | } | 240 | }*/ |
| 241 | featureUpdate.methods.updateGraphic(featureUrl,features[0],callBackFunction); | 241 | featureUpdate.methods.updateGraphic(featureUrl,features[0],callBackFunction); |
| 242 | }else{ | 242 | }else{ |
| 243 | var graphic = { | 243 | var graphic = { |
| ... | @@ -348,7 +348,7 @@ export default { | ... | @@ -348,7 +348,7 @@ export default { |
| 348 | var zdLayer = null, | 348 | var zdLayer = null, |
| 349 | zrzLayer = null; | 349 | zrzLayer = null; |
| 350 | zdLayer = self.getLayerByName("ZDJBXX"); | 350 | zdLayer = self.getLayerByName("ZDJBXX"); |
| 351 | zdLayer = self.getLayerByName("ZRZ"); | 351 | zrzLayer = self.getLayerByName("ZRZ"); |
| 352 | var layerIds = []; | 352 | var layerIds = []; |
| 353 | layerIds.push(zdLayer.id); | 353 | layerIds.push(zdLayer.id); |
| 354 | layerIds.push(zrzLayer.id); | 354 | layerIds.push(zrzLayer.id); |
| ... | @@ -358,11 +358,11 @@ export default { | ... | @@ -358,11 +358,11 @@ export default { |
| 358 | var flag = false, | 358 | var flag = false, |
| 359 | mesge = ""; | 359 | mesge = ""; |
| 360 | if(results && results.length > 0){ | 360 | if(results && results.length > 0){ |
| 361 | for(var i = 1;i < results.length;i++){ | 361 | for(var i = 0;i < results.length;i++){ |
| 362 | var feature = results[i].feature, | 362 | var feature = results[i].feature, |
| 363 | layerName = results[i].layerName; | 363 | layerName = results[i].layerName; |
| 364 | if(layerName == 'ZRZ'){ | 364 | if(layerName == 'ZRZ'){ |
| 365 | if(feature.attributes['标识码'] != bsm){ | 365 | if(!feature.attributes['标识码'] || feature.attributes['标识码'] != bsm){ |
| 366 | var interFlag = geometryEngine.intersects(polygon,feature.geometry); | 366 | var interFlag = geometryEngine.intersects(polygon,feature.geometry); |
| 367 | if(interFlag){ | 367 | if(interFlag){ |
| 368 | flag = true; | 368 | flag = true; |
| ... | @@ -370,7 +370,7 @@ export default { | ... | @@ -370,7 +370,7 @@ export default { |
| 370 | break; | 370 | break; |
| 371 | } | 371 | } |
| 372 | } | 372 | } |
| 373 | }else { | 373 | }else if(layerName == 'ZDJBXX') { |
| 374 | var interFlag = geometryEngine.intersects(polygon,feature.geometry); | 374 | var interFlag = geometryEngine.intersects(polygon,feature.geometry); |
| 375 | var withinFlag = geometryEngine.within(polygon,feature.geometry); | 375 | var withinFlag = geometryEngine.within(polygon,feature.geometry); |
| 376 | if(!withinFlag && interFlag){ | 376 | if(!withinFlag && interFlag){ |
| ... | @@ -468,7 +468,7 @@ export default { | ... | @@ -468,7 +468,7 @@ export default { |
| 468 | queryUtils.methods.queryByWhere(layer.layerUrl+"/"+layer.id, {"BSM": bsm }, null, true, null, null, function (res) { | 468 | queryUtils.methods.queryByWhere(layer.layerUrl+"/"+layer.id, {"BSM": bsm }, null, true, null, null, function (res) { |
| 469 | var features = res.features; | 469 | var features = res.features; |
| 470 | if(features && features.length > 0){ | 470 | if(features && features.length > 0){ |
| 471 | if( !features[0].geometry ){ | 471 | if( !features[0].geometry || features[0].geometry.rings.length == 0 ){ |
| 472 | self.$message.success("暂无图形信息!!"); | 472 | self.$message.success("暂无图形信息!!"); |
| 473 | return; | 473 | return; |
| 474 | } | 474 | } | ... | ... |
| ... | @@ -37,7 +37,7 @@ | ... | @@ -37,7 +37,7 @@ |
| 37 | <hr /> | 37 | <hr /> |
| 38 | <div class="contentItem" v-for="(value,key,index) in item.attributes" :key="index"> | 38 | <div class="contentItem" v-for="(value,key,index) in item.attributes" :key="index"> |
| 39 | <span class="key">{{key}}:</span> | 39 | <span class="key">{{key}}:</span> |
| 40 | <span class="value" :title="value">{{value}}</span> | 40 | <span class="value" :title="value">{{value == 'Null' ?"":value}}</span> |
| 41 | </div> | 41 | </div> |
| 42 | </div> | 42 | </div> |
| 43 | </el-card> | 43 | </el-card> |
| ... | @@ -142,7 +142,6 @@ export default { | ... | @@ -142,7 +142,6 @@ export default { |
| 142 | }, | 142 | }, |
| 143 | //图层选择事件 | 143 | //图层选择事件 |
| 144 | selectLayerChange(){ | 144 | selectLayerChange(){ |
| 145 | debugger | ||
| 146 | var self = this; | 145 | var self = this; |
| 147 | this.features = []; | 146 | this.features = []; |
| 148 | var layerAndResult = this.results.filter(function (item) { | 147 | var layerAndResult = this.results.filter(function (item) { | ... | ... |
| ... | @@ -30,10 +30,11 @@ export default { | ... | @@ -30,10 +30,11 @@ export default { |
| 30 | console.log("没有找到图层,不能查询"); | 30 | console.log("没有找到图层,不能查询"); |
| 31 | return; | 31 | return; |
| 32 | } | 32 | } |
| 33 | var view = maps[viewId]; | ||
| 33 | queryUtils.methods.queryByWhere(layer.layerUrl+"/"+layer.id, {"BSM": bsm }, null, true, null, null, function (res) { | 34 | queryUtils.methods.queryByWhere(layer.layerUrl+"/"+layer.id, {"BSM": bsm }, null, true, null, null, function (res) { |
| 34 | var features = res.features; | 35 | var features = res.features; |
| 35 | if(features && features.length > 0){ | 36 | if(features && features.length > 0){ |
| 36 | if( !features[0].geometry ){ | 37 | if( !features[0].geometry || features[0].geometry.rings.length == 0){ |
| 37 | self.$message.success("暂无图形信息!!"); | 38 | self.$message.success("暂无图形信息!!"); |
| 38 | return; | 39 | return; |
| 39 | } | 40 | } |
| ... | @@ -42,7 +43,6 @@ export default { | ... | @@ -42,7 +43,6 @@ export default { |
| 42 | ]).then( ([ | 43 | ]).then( ([ |
| 43 | GraphicsLayer | 44 | GraphicsLayer |
| 44 | ]) => { | 45 | ]) => { |
| 45 | var view = maps[viewId]; | ||
| 46 | var layer = view.map.findLayerById("highlightLayer"); | 46 | var layer = view.map.findLayerById("highlightLayer"); |
| 47 | if(layer){ | 47 | if(layer){ |
| 48 | layer.removeAll(); | 48 | layer.removeAll(); | ... | ... |
| ... | @@ -307,6 +307,7 @@ | ... | @@ -307,6 +307,7 @@ |
| 307 | import moveH from "./../../../../../components/moveH/moveH"; | 307 | import moveH from "./../../../../../components/moveH/moveH"; |
| 308 | import { getLpb, insertUpDownC, deleteCByBsm } from "@api/lpb"; | 308 | import { getLpb, insertUpDownC, deleteCByBsm } from "@api/lpb"; |
| 309 | import { hhb } from "@api/h"; | 309 | import { hhb } from "@api/h"; |
| 310 | import { Message } from 'element-ui'; | ||
| 310 | export default { | 311 | export default { |
| 311 | name: "", | 312 | name: "", |
| 312 | components: { moveH }, | 313 | components: { moveH }, |
| ... | @@ -576,7 +577,6 @@ export default { | ... | @@ -576,7 +577,6 @@ export default { |
| 576 | this.lpbChTop = e.pageY; | 577 | this.lpbChTop = e.pageY; |
| 577 | if (this.isHbfg) { | 578 | if (this.isHbfg) { |
| 578 | this.rightClickFlag = 'hb'; | 579 | this.rightClickFlag = 'hb'; |
| 579 | console.log(this.fghbChoosedList,'this.fghbChoosedList '); | ||
| 580 | if (this.fghbChoosedList.length>1) { | 580 | if (this.fghbChoosedList.length>1) { |
| 581 | this.lpbChVisible = true; | 581 | this.lpbChVisible = true; |
| 582 | //判断选中户可以执行的合并类型 | 582 | //判断选中户可以执行的合并类型 |
| ... | @@ -717,19 +717,25 @@ export default { | ... | @@ -717,19 +717,25 @@ export default { |
| 717 | .then(() => { | 717 | .then(() => { |
| 718 | //确定合并 调用合并接口 this.hbsmList为选中户bsm数组 TO DO | 718 | //确定合并 调用合并接口 this.hbsmList为选中户bsm数组 TO DO |
| 719 | let params = { | 719 | let params = { |
| 720 | "ljzbsm": "", | ||
| 721 | "newuserbsm": "", | 720 | "newuserbsm": "", |
| 722 | "oldBsms": olbBsms, | 721 | "oldBsms": olbBsms, |
| 723 | "scyclx": "", | 722 | "scyclx": this.$parent.scyclx, |
| 724 | "zdybsm": "", | 723 | "ljzbsm": this.fghbChoosedList[0].ljzbsm, |
| 725 | "zrzbsm": "" | 724 | "zdybsm": this.fghbChoosedList[0].zdybsm, |
| 725 | "zrzbsm": this.fghbChoosedList[0].zrzbsm | ||
| 726 | } | ||
| 727 | // console.log(params,'params'); | ||
| 728 | hhb(params).then((res) => { | ||
| 729 | if(res.code == 200){ | ||
| 730 | Message.success('合并成功'); | ||
| 731 | // 清除选中户 | ||
| 732 | this.clearChoosedH(); | ||
| 733 | this.fghbChoosedList = []; | ||
| 734 | // 更新楼盘表 | ||
| 735 | this.getLpb(this.zrzbsm, this.$parent.scyclx); | ||
| 726 | } | 736 | } |
| 727 | console.log(params,'params'); | 737 | }) |
| 728 | // hhb(params).then(() => { | 738 | .catch(() => {}); |
| 729 | //合并成功后更新楼盘表 | ||
| 730 | |||
| 731 | // }) | ||
| 732 | // .catch(() => {}); | ||
| 733 | }) | 739 | }) |
| 734 | .catch(() => {}); | 740 | .catch(() => {}); |
| 735 | }else{ | 741 | }else{ | ... | ... |
| ... | @@ -280,6 +280,7 @@ | ... | @@ -280,6 +280,7 @@ |
| 280 | import {getBdcdyh,saveZrzInfo,getZrzDetailByBsm} from "../../../api/zrz" | 280 | import {getBdcdyh,saveZrzInfo,getZrzDetailByBsm} from "../../../api/zrz" |
| 281 | import {getQjZdjbxxDetailById} from "../../../api/zd" | 281 | import {getQjZdjbxxDetailById} from "../../../api/zd" |
| 282 | import {submit,registerCall} from "../../../api/common" | 282 | import {submit,registerCall} from "../../../api/common" |
| 283 | import geoUtils from "@components/lineTree/tx/js/geoUtils"; | ||
| 283 | export default { | 284 | export default { |
| 284 | name:'zrz', | 285 | name:'zrz', |
| 285 | components:{ | 286 | components:{ |
| ... | @@ -358,7 +359,6 @@ | ... | @@ -358,7 +359,6 @@ |
| 358 | loading:false, | 359 | loading:false, |
| 359 | source:'', | 360 | source:'', |
| 360 | geoAttributes:{ | 361 | geoAttributes:{ |
| 361 | OBJECTID:null, | ||
| 362 | YSDM:"", | 362 | YSDM:"", |
| 363 | BDCDYH:"", | 363 | BDCDYH:"", |
| 364 | ZDDM:"", | 364 | ZDDM:"", |
| ... | @@ -400,6 +400,7 @@ | ... | @@ -400,6 +400,7 @@ |
| 400 | mainBoxWidth:0, | 400 | mainBoxWidth:0, |
| 401 | } | 401 | } |
| 402 | }, | 402 | }, |
| 403 | mixins:[geoUtils], | ||
| 403 | methods: { | 404 | methods: { |
| 404 | registerCall(){ | 405 | registerCall(){ |
| 405 | let data={ | 406 | let data={ |
| ... | @@ -558,9 +559,12 @@ | ... | @@ -558,9 +559,12 @@ |
| 558 | for(var key in this.geoAttributes){ | 559 | for(var key in this.geoAttributes){ |
| 559 | if(key == "BSM"){ | 560 | if(key == "BSM"){ |
| 560 | self.geoAttributes[key] = this.bsm | 561 | self.geoAttributes[key] = this.bsm |
| 561 | }else{ | 562 | }else if(key == 'JGRQ'){ |
| 563 | var formKay = key.toLowerCase(); | ||
| 564 | self.geoAttributes[key] = new Date(self.form[formKay]).getTime(); | ||
| 565 | }else { | ||
| 562 | var formKay = key.toLowerCase(); | 566 | var formKay = key.toLowerCase(); |
| 563 | self.geoAttributes[key] = self.formData[formKay]; | 567 | self.geoAttributes[key] = self.form[formKay]; |
| 564 | } | 568 | } |
| 565 | } | 569 | } |
| 566 | self.updAttributes(this.bsm,'zrz',this.geoAttributes,function (res) { | 570 | self.updAttributes(this.bsm,'zrz',this.geoAttributes,function (res) { | ... | ... |
-
Please register or sign in to post a comment