修改样本列表

tykong-cidian
duxiaoning 2024-09-01 22:17:02 +08:00
parent d7cc554e67
commit 926ec64c3d
4 changed files with 2642 additions and 856 deletions

3166
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -8,104 +8,43 @@
<div>
<el-form :inline="true" :model="simpleForm" class="demo-form-inline">
<el-form-item>
<el-cascader
v-model="simpleForm.sampleFun"
:disabled="sampleFun !== ''"
:options="funcOpt"
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-cascader v-model="simpleForm.sampleFun" :disabled="sampleFun !== ''" :options="funcOpt" 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-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-button type="primary" @click="samplesCk"></el-button>
</el-form-item>
</el-form>
<el-table
ref="multipleTable"
v-loading="loading"
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 ref="multipleTable" v-loading="loading" 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 label="序号" type="index" width="70">
</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
prop="lat"
label="纬度"
sortable
show-overflow-tooltip
>
<el-table-column prop="lat" label="纬度" sortable show-overflow-tooltip>
</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 :label="smLabel" show-overflow-tooltip>
<template slot-scope="scope">{{
scope.row.paramStr | getSampleVal
}}</template>
</el-table-column> -->
<el-table-column
prop="collectDate"
label="采样时间"
sortable
show-overflow-tooltip
min-width="120px;"
>
<el-table-column :label="smLabel" show-overflow-tooltip>
<template slot-scope="scope">{{ getSampleVal(scope.row.paramStr) }}</template>
</el-table-column>
<el-table-column label="操作" align="center">
<el-table-column prop="collectDate" label="采样时间" sortable show-overflow-tooltip min-width="80px;">
</el-table-column>
<el-table-column label="操作" align="center" min-width="100px;">
<template slot-scope="scope">
<el-button
type="primary"
size="small"
icon="el-icon-edit"
@click="editSelected(scope.$index, simpleData)"
></el-button>
<el-button
type="danger"
size="small"
icon="el-icon-delete"
@click="deleteSelected(scope.$index, simpleData)"
></el-button>
<el-button type="primary" size="small" icon="el-icon-edit"
@click="editSelected(scope.$index, simpleData)"></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>
@ -114,15 +53,10 @@
</div>
<div class="smBodyRight">
<div class="box1">
<span class="sp1"></span
><span class="sp2">待检验产品及样本分布结果</span>
<span class="sp1"></span><span class="sp2">待检验产品及样本分布结果</span>
</div>
<div
:class="
checkRealityWait ? 'sceneShowContent onBorder' : 'sceneShowContent'
"
id="sceneShowContent"
>
<div :class="checkRealityWait ? 'sceneShowContent onBorder' : 'sceneShowContent'
" id="sceneShowContent">
<!-- <div v-show="checkRealityWait" class="topContent">
<span class="mapTitle">待检验{{ productSubType | productTypeMap }}</span>
</div> -->
@ -130,15 +64,12 @@
<canvas v-show="checkRealityWait" id="grid"></canvas>
<div id="cesiumView" @click="pickValue">
<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>
<canvas v-show="checkRealityWait" id="scaleBar"></canvas>
<div class="update-btns" v-show="updatePointVisible">
<div><el-button type="primary" @click.stop="selectPoint" :disabled="isSelectPointDisabled">选取点</el-button></div>
<div><el-button type="primary" @click.stop="selectPoint" :disabled="isSelectPointDisabled">选取点</el-button>
</div>
<div><el-button type="primary" @click.stop="savePoint">保存点</el-button></div>
</div>
</div>
@ -150,13 +81,8 @@
</div>
</div>
<SampleSetting
:stepSampling="stepSampling"
@handleStepSampling="handleStepSampling"
@handleDepthList="handleDepthList"
:sampleCldFun="sampleCldFun"
ref="sampleSettingPanel"
></SampleSetting>
<SampleSetting :stepSampling="stepSampling" @handleStepSampling="handleStepSampling"
@handleDepthList="handleDepthList" :sampleCldFun="sampleCldFun" ref="sampleSettingPanel"></SampleSetting>
</div>
</template>
@ -213,11 +139,11 @@ export default {
checkRealityWait: {
require: true,
},
microwaveDataJson: {
require: true,
}
},
filters: {
getSampleVal(paramStr) {
return JSON.parse(paramStr).featureValue.featureValue;
},
productTypeMap(pdtype) {
const pdtypeMap = {
45: "正射产品",
@ -247,7 +173,7 @@ export default {
loading: true,
allSampleData: [],
simpleDataTotal: 0,
smLabel: "土壤水分",
smLabel: "样本值",
pixelFormData: {
pixelDealFun: "",
},
@ -258,11 +184,11 @@ export default {
isDeepSpace: false,
depthList: [],
createImgTime: null,
updatePointVisible:false,
updatePointVisible: false,
currentSelectPoint: null, //
updatedPoint:null, //
isClickEventOpen:true, //
isSelectPointDisabled:false,
updatedPoint: null, //
isClickEventOpen: true, //
isSelectPointDisabled: false,
};
},
mounted() {
@ -438,12 +364,12 @@ export default {
},
pickValue() {
cu.destoryHandleClick()
if(this.isClickEventOpen){
if (this.isClickEventOpen) {
cu.handleClick();
}
},
changeSampleFun(sfVal) {
this.$store.commit("setSampleFunArr",sfVal);
this.$store.commit("setSampleFunArr", sfVal);
//
if (Array.isArray(sfVal)) {
const ssf = Number(sfVal[0]);
@ -595,7 +521,7 @@ export default {
this.$store.commit("setAltRange", min + "," + (max + 1));
}
this.simpleDataTotal = this.simpleForm.total = rd.length;
this.smLabel = this.simpleData[0].productSubTypeName;
// this.smLabel = this.productTypeCol(this.simpleData[0].productSubId);
}
}
});
@ -618,8 +544,8 @@ export default {
//
if (simpleData.length !== 0) {
for (let i in simpleData) {
if( i == index ){
cu.addPoint(simpleData[index].lng, simpleData[index].lat, 10,true);
if (i == index) {
cu.addPoint(simpleData[index].lng, simpleData[index].lat, 10, true);
}
// else{
// cu.addPoint(simpleData[i].lng, simpleData[i].lat, 10);
@ -630,10 +556,10 @@ export default {
this.currentSelectPoint = simpleData[index];
},
//
selectPoint(){
selectPoint() {
this.isClickEventOpen = false;//
//
cu.clickToAddPoint(point=>{
cu.clickToAddPoint(point => {
this.updatedPoint = {
...this.currentSelectPoint,
lng: point[0],
@ -643,12 +569,12 @@ export default {
this.isSelectPointDisabled = true;
},
//
savePoint(){
savePoint() {
//
cu.removePoint();
let index = this.simpleData.indexOf(this.currentSelectPoint)
//table
this.simpleData.splice(index,1,this.updatedPoint)
this.simpleData.splice(index, 1, this.updatedPoint)
//
if (this.simpleData.length !== 0) {
for (let i in this.simpleData) {
@ -664,7 +590,90 @@ export default {
this.isSelectPointDisabled = false;
this.isClickEventOpen = true;
cu.handleClick()
},
getSampleVal(paramStr) {
let dtVal = null;
const jps = JSON.parse(paramStr);
const tmd = JSON.parse(this.microwaveDataJson)
switch (this.productSubType) {
//
case 46:
dtVal = jps.featureValue.featureValue
break;
//
case 51:
switch (tmd.polarizationMode) {
case "HH":
dtVal = jps.topLeft;
break;
case "VH":
dtVal = jps.bottomLeft;
break;
case "HV":
dtVal = jps.topRight;
break;
case "VV":
dtVal = jps.bottomRight;
break;
}
break;
//
case 52:
switch (tmd.atmosphericDelayValueType) {
case "干延迟":
dtVal = jps.dry;
break;
case "湿延迟":
dtVal = jps.wet;
break;
case "总延迟":
dtVal = jps.total;
break;
}
break;
//
case 53:
dtVal = jps.alt
break;
//
case 38:
dtVal = jps.soilmoisture
break;
//
case 49:
dtVal = jps.salinity
break;
//
case 50:
if (tmd.pixelUnit === "均方根高度") dtVal = jps.height;
else dtVal = jps.length;
break;
//
case 48:
dtVal = jps.vegetationHigh
break;
//
case 43:
dtVal = jps.lai
break;
}
return dtVal;
},
productTypeCol(pdtype) {
const pdtypeMap = {
46: "高程值",
51: "后向散射系数",
52: "延迟值",
53: "高程值",
38: "土壤水分值",
49: "土壤盐碱度",
50: "地表粗糙度",
48: "植被高度",
43: "叶面积指数",
};
if (pdtype == null) return null;
else return pdtypeMap[pdtype];
},
},
computed: {
globalSampleFun: function () {
@ -709,7 +718,7 @@ export default {
margin-bottom: 10px;
}
/deep/.smps .el-table th > .cell {
/deep/.smps .el-table th>.cell {
font-size: 15px;
}
@ -812,7 +821,8 @@ export default {
margin-left: 100%;
white-space: nowrap;
}
.update-btns{
.update-btns {
width: 100px;
height: 70px;
background-color: #ffffff;

View File

@ -76,17 +76,19 @@
<OtgCorrection :sampleFun="sampleFun" :sampleCldFun="sampleCldFun" :pixelFun="pixelFun" :pixelNum="pixelNum"
:geoWorkSpace="geoWorkSpace" :geoLayerName="geoLayerName" :geoLayerPos="geoLayerPos" :orderId="orderId"
:productSubType="productSubType" :projection="projection" :checkRealityWait="checkRealityWait"
ref="otgCorrectionPanel" v-if="productSubType === 45">
:microwaveDataJson="microwaveDataJson" ref="otgCorrectionPanel" v-if="productSubType === 45">
</OtgCorrection>
<!-- 地表覆盖 -->
<Qualitative :sampleFun="sampleFun" :sampleCldFun="sampleCldFun" :pixelFun="pixelFun" :pixelNum="pixelNum"
:geoWorkSpace="geoWorkSpace" :geoLayerName="geoLayerName" :geoLayerPos="geoLayerPos" :orderId="orderId"
:productSubType="productSubType" :featureMapData="featureMapData" :checkRealityWait="checkRealityWait"
ref="qualitativePanel" v-else-if="productSubType === 39 || productSubType === 47"></Qualitative>
:microwaveDataJson="microwaveDataJson" ref="qualitativePanel"
v-else-if="productSubType === 39 || productSubType === 47"></Qualitative>
<!-- 土壤水份等 -->
<SoilMositure :sampleFun="sampleFun" :sampleCldFun="sampleCldFun" :pixelFun="pixelFun" :pixelNum="pixelNum"
:geoWorkSpace="geoWorkSpace" :geoLayerName="geoLayerName" :geoLayerPos="geoLayerPos" :orderId="orderId"
:productSubType="productSubType" :checkRealityWait="checkRealityWait" ref="soilMositurePanel" v-else>
:productSubType="productSubType" :checkRealityWait="checkRealityWait" :microwaveDataJson="microwaveDataJson"
ref="soilMositurePanel" v-else>
</SoilMositure>
<!-- 真实性检验方法 -->
<div class="cardfive" v-if="!hasPixelFun">
@ -247,6 +249,7 @@ export default {
orderData: [],
sampleList: [],
pdShow: true,
microwaveDataJson: null,
};
},
methods: {
@ -285,7 +288,7 @@ export default {
let rt = pm.ftpPath.split('/');
self.tifPath = 'http://10.0.31.125:18030/inspection/files/' + rt[rt.length - 1];
self.projection = pm.projection;
self.microwaveDataJson = self.productMsg.microwaveDataJson
//
// getAnalyseMethod(self.orderId).then((res) => {
// // console.log('',res);
@ -397,7 +400,7 @@ export default {
formData.append("pixelHandleType", this.pixelFun); //
formData.append("truthCheckFuns", JSON.stringify(tcf)); //
formData.append("featureMapping", JSON.stringify(featureMapData));
formData.append("microwaveDataJson", this.productMsg.microwaveDataJson); //
formData.append("microwaveDataJson", this.microwaveDataJson); //
checkReality(formData).then((res) => {
// console.log("", res);
if (res?.code === 200 && res.message === "success") {
@ -405,8 +408,8 @@ export default {
this.screenCapture(this.sampleList, this.geoLayerPos).then(imgRes => {
const rm = res.data;
let pixelHandleMsg = null;
if (this.pixelFun !== ""){
switch(this.pixelFun){
if (this.pixelFun !== "") {
switch (this.pixelFun) {
case "1":
pixelHandleMsg = "均值法"
break;
@ -441,9 +444,9 @@ export default {
orderMsg: this.orderMsg,
productMsg: this.productMsg,
imgRes: imgRes,
pixelHandleMsg:pixelHandleMsg,
projStr:res.projStr,
sampleFun:theSampleFun
pixelHandleMsg: pixelHandleMsg,
projStr: res.projStr,
sampleFun: theSampleFun
};
localStorage.setItem(
this.configration.path.inspection,
@ -659,9 +662,9 @@ export default {
this.$store.commit("setPixelFun", null);
this.$store.commit("setAltRange", null);
},
watch:{
"$store.state.sampleFunArr":{
handler:function(newVal,oldVal){
watch: {
"$store.state.sampleFunArr": {
handler: function (newVal, oldVal) {
this.pixelFun = "";
}
}

View File

@ -17,6 +17,7 @@ module.exports = {
lintOnSave: false, // 在保存代码的时候开启eslint代码检查机制
devServer: {
// 实时保存,编译的配置段
host:'0.0.0.0',
port: 8085, // http服务的端口号码设定
open: false,
proxy: {
@ -35,8 +36,8 @@ module.exports = {
}
},
[process.env.VUE_APP_REALITY_API]: {
target: "http://192.168.88.3:18092/microwave",
// target: "https://124.16.188.131:28092/microwave",
// target: "http://192.168.88.3:18092/microwave",
target: "https://124.16.188.131:28092/microwave",
// target: "http://192.168.1.227:18092/microwave",
changeOrigin: true,
pathRewrite: {
@ -44,8 +45,8 @@ module.exports = {
}
},
[process.env.VUE_APP_FILE_API]: {
target: "http://192.168.88.3:18093/file",
// target: "https://124.16.188.131:28093/file",
// target: "http://192.168.88.3:18093/file",
target: "https://124.16.188.131:28093/file",
// target: "http://192.168.1.227:18093/file",
changeOrigin: true,
pathRewrite: {