注释登录验证,添加刺点功能

tykong-cidian
duxiaoning 2024-07-05 10:45:06 +08:00
parent f5973a7041
commit b1051f7579
2 changed files with 154 additions and 54 deletions

View File

@ -8,42 +8,104 @@
<div> <div>
<el-form :inline="true" :model="simpleForm" class="demo-form-inline"> <el-form :inline="true" :model="simpleForm" class="demo-form-inline">
<el-form-item> <el-form-item>
<el-cascader v-model="simpleForm.sampleFun" :disabled="sampleFun !== ''" :options="funcOpt" size="mini" <el-cascader
placeholder="请选择抽样方法" popper-class="cascader-popper" @change="changeSampleFun" clearable v-model="simpleForm.sampleFun"
:show-all-levels="false"></el-cascader> :disabled="sampleFun !== ''"
<el-button v-if="isDeepSpace" class="edit-btn" plain size="mini" type="primary" icon="el-icon-edit-outline" :options="funcOpt"
@click="editDeepSpace"></el-button> size="mini"
placeholder="请选择抽样方法"
popper-class="cascader-popper"
@change="changeSampleFun"
clearable
:show-all-levels="false"
></el-cascader>
<el-button
v-if="isDeepSpace"
class="edit-btn"
plain
size="mini"
type="primary"
icon="el-icon-edit-outline"
@click="editDeepSpace"
></el-button>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-input v-model="simpleForm.sampleNum" size="mini" placeholder="请输入样本个数"></el-input> <el-input
v-model="simpleForm.sampleNum"
size="mini"
placeholder="请输入样本个数"
></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="samplesCk"></el-button> <el-button type="primary" @click="samplesCk"></el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table ref="multipleTable" v-loading="loading" element-loading-text="" <el-table
element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)" :data="simpleData" ref="multipleTable"
tooltip-effect="dark" :header-cell-style="headerRowClass" style="width: 98%; margin-left: 1%" v-loading="loading"
@selection-change="handleSelectionChange" :stripe="true" :cell-style="tableRowClassName" height="460"> element-loading-text="拼命加载中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 0, 0, 0.8)"
:data="simpleData"
tooltip-effect="dark"
:header-cell-style="headerRowClass"
style="width: 98%; margin-left: 1%"
@selection-change="handleSelectionChange"
:stripe="true"
:cell-style="tableRowClassName"
height="460"
>
<el-table-column type="selection" width="55"> </el-table-column> <el-table-column type="selection" width="55"> </el-table-column>
<el-table-column label="序号" type="index" width="70"> <el-table-column label="序号" type="index" width="70">
</el-table-column> </el-table-column>
<el-table-column prop="samplesId" label="样本编号" show-overflow-tooltip min-width="100px;"> <el-table-column
prop="samplesId"
label="样本编号"
show-overflow-tooltip
min-width="100px;"
>
</el-table-column> </el-table-column>
<el-table-column prop="lat" label="纬度" sortable show-overflow-tooltip> <el-table-column
prop="lat"
label="纬度"
sortable
show-overflow-tooltip
>
</el-table-column> </el-table-column>
<el-table-column prop="lng" label="经度" sortable show-overflow-tooltip> <el-table-column
prop="lng"
label="经度"
sortable
show-overflow-tooltip
>
</el-table-column> </el-table-column>
<!-- <el-table-column :label="smLabel" show-overflow-tooltip> <!-- <el-table-column :label="smLabel" show-overflow-tooltip>
<template slot-scope="scope">{{ <template slot-scope="scope">{{
scope.row.paramStr | getSampleVal scope.row.paramStr | getSampleVal
}}</template> }}</template>
</el-table-column> --> </el-table-column> -->
<el-table-column prop="collectDate" label="采样时间" sortable show-overflow-tooltip min-width="120px;"> <el-table-column
prop="collectDate"
label="采样时间"
sortable
show-overflow-tooltip
min-width="120px;"
>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center">
<template slot-scope="scope"><i class="el-icon-delete" <template slot-scope="scope">
@click="deleteSelected(scope.$index, simpleData)"></i></template> <el-button
type="primary"
size="small"
icon="el-icon-edit"
></el-button>
<el-button
type="danger"
size="small"
icon="el-icon-delete"
@click="deleteSelected(scope.$index, simpleData)"
></el-button>
</template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
@ -51,9 +113,15 @@
</div> </div>
<div class="smBodyRight"> <div class="smBodyRight">
<div class="box1"> <div class="box1">
<span class="sp1"></span><span class="sp2">待检验产品及样本分布结果</span> <span class="sp1"></span
><span class="sp2">待检验产品及样本分布结果</span>
</div> </div>
<div :class="checkRealityWait ? 'sceneShowContent onBorder' : 'sceneShowContent'" id="sceneShowContent"> <div
:class="
checkRealityWait ? 'sceneShowContent onBorder' : 'sceneShowContent'
"
id="sceneShowContent"
>
<!-- <div v-show="checkRealityWait" class="topContent"> <!-- <div v-show="checkRealityWait" class="topContent">
<span class="mapTitle">待检验{{ productSubType | productTypeMap }}</span> <span class="mapTitle">待检验{{ productSubType | productTypeMap }}</span>
</div> --> </div> -->
@ -61,7 +129,11 @@
<canvas v-show="checkRealityWait" id="grid"></canvas> <canvas v-show="checkRealityWait" id="grid"></canvas>
<div id="cesiumView" @click="pickValue"> <div id="cesiumView" @click="pickValue">
<div v-show="checkRealityWait" class="compass"> <div v-show="checkRealityWait" class="compass">
<img src="../../../assets/images/compass_one.svg" alt="" style="width: 100%; height: 100%;"> <img
src="../../../assets/images/compass_one.svg"
alt=""
style="width: 100%; height: 100%"
/>
</div> </div>
<canvas v-show="checkRealityWait" id="scaleBar"></canvas> <canvas v-show="checkRealityWait" id="scaleBar"></canvas>
</div> </div>
@ -72,8 +144,13 @@
</div> </div>
</div> </div>
</div> </div>
<SampleSetting :stepSampling="stepSampling" @handleStepSampling="handleStepSampling" <SampleSetting
@handleDepthList="handleDepthList" :sampleCldFun="sampleCldFun" ref="sampleSettingPanel"></SampleSetting> :stepSampling="stepSampling"
@handleStepSampling="handleStepSampling"
@handleDepthList="handleDepthList"
:sampleCldFun="sampleCldFun"
ref="sampleSettingPanel"
></SampleSetting>
</div> </div>
</template> </template>
@ -129,7 +206,7 @@ export default {
}, },
checkRealityWait: { checkRealityWait: {
require: true, require: true,
} },
}, },
filters: { filters: {
getSampleVal(paramStr) { getSampleVal(paramStr) {
@ -148,11 +225,11 @@ export default {
50: "地表粗糙度产品", 50: "地表粗糙度产品",
48: "植被高度产品", 48: "植被高度产品",
43: "叶面积指数产品", 43: "叶面积指数产品",
47: "植被物候产品" 47: "植被物候产品",
}; };
if (pdtype == null) return null; if (pdtype == null) return null;
else return pdtypeMap[pdtype]; else return pdtypeMap[pdtype];
} },
}, },
data() { data() {
return { return {
@ -174,7 +251,7 @@ export default {
funcOpt: [], funcOpt: [],
isDeepSpace: false, isDeepSpace: false,
depthList: [], depthList: [],
createImgTime: null createImgTime: null,
}; };
}, },
mounted() { mounted() {
@ -191,10 +268,16 @@ export default {
}, },
watch: { watch: {
checkRealityWait(val) { checkRealityWait(val) {
const navigationDiv = document.getElementsByClassName('cesium-widget-cesiumNavigationContainer') const navigationDiv = document.getElementsByClassName(
"cesium-widget-cesiumNavigationContainer"
);
if (val) { if (val) {
window.selfDefine.viewer.scene.postRender.addEventListener(this.addScale); window.selfDefine.viewer.scene.postRender.addEventListener(
window.selfDefine.viewer.scene.postRender.addEventListener(this.addGrid); this.addScale
);
window.selfDefine.viewer.scene.postRender.addEventListener(
this.addGrid
);
this.createImgTime = getNowFormatDate(); this.createImgTime = getNowFormatDate();
if (navigationDiv) navigationDiv[0].style.display = "none"; if (navigationDiv) navigationDiv[0].style.display = "none";
} else { } else {
@ -202,7 +285,7 @@ export default {
this.createImgTime = null; this.createImgTime = null;
if (navigationDiv) navigationDiv[0].style.display = "block"; if (navigationDiv) navigationDiv[0].style.display = "block";
} }
} },
}, },
destroyed() { destroyed() {
this.removeListener(); this.removeListener();
@ -254,26 +337,29 @@ export default {
} }
} }
if (Cesium.defined(distance)) { if (Cesium.defined(distance)) {
currentScaleUnit = currentScaleUnit = distance >= 1000 ? "km" : "m";
distance >= 1000 barWidth =
? "km" : "m"; distance >= 1000 ? (distance / 1000).toString() : distance.toString();
barWidth = distance >= 1000
? (distance / 1000).toString()
: distance.toString();
} else { } else {
barWidth = undefined; barWidth = undefined;
currentScaleUnit = undefined; currentScaleUnit = undefined;
} }
drawScaleTwo(barWidth, currentScaleUnit) drawScaleTwo(barWidth, currentScaleUnit);
}, },
addGrid() { addGrid() {
const cesiumExtent = window.selfDefine.viewer.camera.computeViewRectangle(); const cesiumExtent =
window.selfDefine.viewer.camera.computeViewRectangle();
const params = {}; const params = {};
params.xmax = Cesium.Math.toDegrees(cesiumExtent.east); params.xmax = Cesium.Math.toDegrees(cesiumExtent.east);
params.ymax = Cesium.Math.toDegrees(cesiumExtent.north); params.ymax = Cesium.Math.toDegrees(cesiumExtent.north);
params.xmin = Cesium.Math.toDegrees(cesiumExtent.west); params.xmin = Cesium.Math.toDegrees(cesiumExtent.west);
params.ymin = Cesium.Math.toDegrees(cesiumExtent.south); params.ymin = Cesium.Math.toDegrees(cesiumExtent.south);
drawGrid(6, 6, 'cesiumView', [params.xmax, params.ymax, params.xmin, params.ymin]) drawGrid(6, 6, "cesiumView", [
params.xmax,
params.ymax,
params.xmin,
params.ymin,
]);
}, },
getcurrentdomwidth(dom) { getcurrentdomwidth(dom) {
const domObj = document.getElementById(dom); const domObj = document.getElementById(dom);
@ -281,8 +367,12 @@ export default {
const clientHeight = domObj.clientHeight; const clientHeight = domObj.clientHeight;
const offsetWidth = domObj.offsetWidth; const offsetWidth = domObj.offsetWidth;
const offsetHeight = domObj.offsetHeight; const offsetHeight = domObj.offsetHeight;
const clientLeft = parseFloat(getComputedStyle(domObj).getPropertyValue('padding-left')); const clientLeft = parseFloat(
const clientTop = parseFloat(getComputedStyle(domObj).getPropertyValue('padding-top')); getComputedStyle(domObj).getPropertyValue("padding-left")
);
const clientTop = parseFloat(
getComputedStyle(domObj).getPropertyValue("padding-top")
);
return { return {
w: clientWidth, w: clientWidth,
h: clientHeight, h: clientHeight,
@ -290,17 +380,21 @@ export default {
concentH: offsetHeight, concentH: offsetHeight,
paddingL: clientLeft, paddingL: clientLeft,
paddingT: clientTop, paddingT: clientTop,
} };
}, },
DegreesCoverttoDuFenMiao(degrees) { DegreesCoverttoDuFenMiao(degrees) {
let du = degrees.split(".")[0]; let du = degrees.split(".")[0];
let fen = ("0." + degrees.split(".")[1]) * 60 + ''; let fen = ("0." + degrees.split(".")[1]) * 60 + "";
let miao = (("0." + fen.split(".")[1]) * 60).toFixed(0); let miao = (("0." + fen.split(".")[1]) * 60).toFixed(0);
return du + "°" + fen.split(".")[0] + "" + miao + "″"; return du + "°" + fen.split(".")[0] + "" + miao + "″";
}, },
removeListener() { removeListener() {
window.selfDefine.viewer.scene.postRender.removeEventListener(this.addScale); window.selfDefine.viewer.scene.postRender.removeEventListener(
window.selfDefine.viewer.scene.postRender.removeEventListener(this.addGrid); this.addScale
);
window.selfDefine.viewer.scene.postRender.removeEventListener(
this.addGrid
);
}, },
handleStepSampling(newVal) { handleStepSampling(newVal) {
this.stepSampling = newVal; this.stepSampling = newVal;
@ -479,7 +573,7 @@ export default {
min = min > xqsmParam.alt ? xqsmParam.alt : min; min = min > xqsmParam.alt ? xqsmParam.alt : min;
max = max < xqsmParam.alt ? xqsmParam.alt : max; max = max < xqsmParam.alt ? xqsmParam.alt : max;
} else { } else {
min = 0, max = 0; (min = 0), (max = 0);
} }
}); });
if (this.allSampleData.length > 0) { if (this.allSampleData.length > 0) {
@ -492,7 +586,13 @@ export default {
}); });
}, },
deleteSelected(index, simpleData) { deleteSelected(index, simpleData) {
simpleData.splice(index, 1); this.$confirm(`确定删除该样本?`, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(async () => {
simpleData.splice(index, 1);
});
}, },
}, },
computed: { computed: {
@ -538,7 +638,7 @@ export default {
margin-bottom: 10px; margin-bottom: 10px;
} }
/deep/.smps .el-table th>.cell { /deep/.smps .el-table th > .cell {
font-size: 15px; font-size: 15px;
} }

View File

@ -275,13 +275,13 @@ export default {
async initOrderMsg() { async initOrderMsg() {
const self = this; const self = this;
self.token = this.$route.query.token; self.token = this.$route.query.token;
const userMsg = await getUserInfo(self.token); // const userMsg = await getUserInfo(self.token);
if (userMsg.code === 200) { // if (userMsg.code === 200) {
self.userId = userMsg.data.userid; // self.userId = userMsg.data.userid;
self.userName = userMsg.data.username; // self.userName = userMsg.data.username;
localStorage.setItem("userId", self.userId); // localStorage.setItem("userId", self.userId);
localStorage.setItem("userName", self.userName); // localStorage.setItem("userName", self.userName);
} // }
const orderId = (self.orderId = this.$route.query.orderId); const orderId = (self.orderId = this.$route.query.orderId);
getOrderMsg(orderId).then((res) => { getOrderMsg(orderId).then((res) => {
if (res.code === 200) { if (res.code === 200) {