代码修改整体提交

earthstar-new
Mr.Dong 2025-02-19 15:20:44 +08:00
parent 1173ed7228
commit 46e0b0c579
21 changed files with 573 additions and 676 deletions

View File

@ -1,7 +1,6 @@
import microwaveRequest from "@/lib/request-microwave";
import realityRequest from "@/lib/request-reality";
import fileRequest from "@/lib/request-file";
// 真实性校验方法
export function checkReality(data) {
return realityRequest({
@ -83,6 +82,16 @@ export function disOrderStatus(orderId) {
});
}
// 同名点选取
export function setSamePoi(data) {
return microwaveRequest({
url: "metaDataOrder/savePoint",
headers: { "Content-Type": "multipart/form-data" },
method: "post",
data
});
}
// 根据抽样算法获取抽样后样本数据
export function getSampleData(data) {
return realityRequest({
@ -167,7 +176,14 @@ export function updateOrderStage(data) {
data
});
}
// 存储报告信息
export function saveReport(data) {
return microwaveRequest({
url: "validationReport/saveReportPath",
method: "post",
data,
});
}
// 导出pdf模板
export function exportWord(data, pdfName, localTiffPath, httpTiffPath, productType) {
return fileRequest({

View File

@ -6,30 +6,16 @@
<span class="s1">待检验产品列表</span>
</div>
<div class="cardtable">
<el-table
:header-cell-style="{ background: '#E4E9F1' }"
:cell-style="tableRowClassName"
:data="productData"
style="width: 96%; margin-left: 2%"
>
<el-table-column
prop="fileName"
label="文件名称"
align="center"
show-overflow-tooltip
>
<el-table :header-cell-style="{ background: '#E4E9F1' }" :cell-style="tableRowClassName" :data="productData"
style="width: 96%; margin-left: 2%">
<el-table-column prop="fileName" label="文件名称" align="center" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="fileSize" label="文件大小" align="center">
<template slot-scope="scope">
{{ scope.row.fileSize | transformByte }}
</template>
</el-table-column>
<el-table-column
prop="uploadDate"
label="上传时间"
align="center"
show-overflow-tooltip
>
<el-table-column prop="uploadDate" label="上传时间" align="center" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.uploadDate | formatDate }}
</template>
@ -47,40 +33,19 @@
</el-table>
</div>
<div class="cardbtngroup">
<el-button
type="primary"
@click="openSearchPanal"
:disabled="btn_gldmclsj"
>关联地面测量数据</el-button
>
<el-button type="primary" :disabled="btn_tjjydd" @click="clickbtntj"
>提交检验订单</el-button
>
<el-button type="primary" @click="openSearchPanal" :disabled="btn_gldmclsj">关联地面测量数据</el-button>
<el-button type="primary" :disabled="btn_tjjydd" @click="clickbtntj"></el-button>
</div>
</div>
<el-form
:model="pData"
ref="pData"
class="card"
v-show="showcard"
style="overflow: hidden; overflow-y: auto; max-height: 420px"
>
<el-form :model="pData" ref="pData" class="card" v-show="showcard"
style="overflow: hidden; overflow-y: auto; max-height: 420px">
<div class="cardheader2">
<span class="s3">待检验产品列表元数据-添加</span>
<el-button
type="text"
icon="el-icon-close"
class="s4"
@click="closecard"
></el-button>
<el-button type="text" icon="el-icon-close" class="s4" @click="closecard"></el-button>
</div>
<div class="cardline">
<span class="radiolabel">级别</span>
<el-radio-group
v-model="pData.productLevel"
class="radiogroup"
:disabled="true"
>
<el-radio-group v-model="pData.productLevel" class="radiogroup" :disabled="true">
<el-radio :label="3">3</el-radio>
<el-radio :label="4">4</el-radio>
<el-radio :label="5">5</el-radio>
@ -91,32 +56,16 @@
<div class="left">
<div class="line">
<span class="sp1">空间分辨率</span>
<el-input
class="inp1"
placeholder="0.00025"
v-model="pData.spaResolution"
:disabled="true"
>
<el-input class="inp1" placeholder="0.00025" v-model="pData.spaResolution" :disabled="true">
</el-input>
</div>
</div>
<div class="right">
<div class="line">
<span class="sp1 imageTime">时间</span>
<el-form-item
class="sel1"
prop="productDate"
:rules="[{ required: true, message: ' ' }]"
>
<el-date-picker
v-model="pData.productDate"
align="center"
type="datetime"
placeholder="选择日期"
format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="pData.pickerOptions"
>
<el-form-item class="sel1" prop="productDate" :rules="[{ required: true, message: ' ' }]">
<el-date-picker v-model="pData.productDate" align="center" type="datetime" placeholder="选择日期"
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" :picker-options="pData.pickerOptions">
</el-date-picker>
</el-form-item>
</div>
@ -149,182 +98,115 @@
<div class="left">
<div class="line">
<span class="sp1">卫星</span>
<el-input
class="inp1"
placeholder="请输入内容"
v-model="pData.satellite"
:disabled="true"
>
<el-input class="inp1" placeholder="请输入内容" v-model="pData.satellite" :disabled="true">
</el-input>
</div>
<div class="line">
<span class="sp1">坐标系统</span>
<el-input
class="inp1"
placeholder="请输入内容"
v-model="pData.coordinateSys"
:disabled="true"
>
<el-input class="inp1" placeholder="请输入内容" v-model="pData.coordinateSys" :disabled="true">
</el-input>
</div>
<div class="line">
<span class="sp1">最大纬度</span>
<el-input
class="inp1"
placeholder="请输入内容"
v-model="pData.maxLat"
:disabled="true"
>
<el-input class="inp1" placeholder="请输入内容" v-model="pData.maxLat" :disabled="true">
</el-input>
</div>
<div class="line">
<span class="sp1">最大经度</span>
<el-input
class="inp1"
placeholder="请输入内容"
v-model="pData.maxLon"
:disabled="true"
>
<el-input class="inp1" placeholder="请输入内容" v-model="pData.maxLon" :disabled="true">
</el-input>
</div>
</div>
<div class="right">
<div class="line">
<span class="sp1">载荷</span>
<el-input
class="inp1"
placeholder="请输入内容"
v-model="pData.load"
:disabled="true"
>
<el-input class="inp1" placeholder="请输入内容" v-model="pData.load" :disabled="true">
</el-input>
</div>
<div class="line">
<span class="sp1">中心点位置</span>
<el-input
class="inp1"
placeholder="请输入内容"
v-model="pData.centerPos"
:disabled="true"
>
<el-input class="inp1" placeholder="请输入内容" v-model="pData.centerPos" :disabled="true">
</el-input>
</div>
<div class="line">
<span class="sp1">最小纬度</span>
<el-input
class="inp1"
placeholder="请输入内容"
v-model="pData.minLat"
:disabled="true"
>
<el-input class="inp1" placeholder="请输入内容" v-model="pData.minLat" :disabled="true">
</el-input>
</div>
<div class="line">
<span class="sp1">最小经度</span>
<el-input
class="inp1"
placeholder="请输入内容"
v-model="pData.minLon"
:disabled="true"
>
<el-input class="inp1" placeholder="请输入内容" v-model="pData.minLon" :disabled="true">
</el-input>
</div>
</div>
</div>
<div
class="groudClassChk"
v-if="
showCKPlan &&
(showCKPlan.productParam.cldCategory === 6 ||
showCKPlan.productParam.cldCategory === 12)
"
>
<div class="groudClassChk" v-if="
showCKPlan &&
(showCKPlan.productParam.cldCategory === 6 ||
showCKPlan.productParam.cldCategory === 12)
">
<div class="cardheader2">
<span class="s3">{{ groundFeature | groundFeatureFilter }}</span>
<el-button type="text" class="s4" @click="addLaCovT"
>添加</el-button
>
<el-button type="text" class="s4" @click="addLaCovT"></el-button>
</div>
<div class="cardtable">
<el-table
:data="pData.grdCoverData"
style="width: 96%; margin-left: 2%"
>
<el-table-column
label="序号"
width="60"
align="center"
type="index"
>
<el-table :data="pData.grdCoverData" style="width: 96%; margin-left: 2%">
<el-table-column label="序号" width="60" align="center" type="index">
</el-table-column>
<el-table-column
prop="groClaName"
:label="groundFeature | groundFeatureFilter"
align="center"
>
<el-table-column prop="groClaName" :label="groundFeature | groundFeatureFilter" align="center">
<template slot-scope="{ row, $index }">
<div
@click.stop="
<div @click.stop="
{
{
changeNum($index, 'editGroClaNameInput');
}
}
"
>
<el-select
v-if="editable[$index]"
v-model="row.groClaName"
placeholder="请选择"
size="mini"
class="editGroClaNameInput"
>
<el-option
v-for="item in groTypeName"
:key="item.value"
:label="item.label"
:value="item.value"
>
{
changeNum($index, 'editGroClaNameInput');
}
}
">
<el-select v-if="editable[$index]" v-model="row.groClaName" placeholder="请选择" size="small"
class="editGroClaNameInput">
<el-option v-for="item in groTypeName" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
<span v-else>{{ row.groClaName }}</span>
</div>
</template>
</el-table-column>
<el-table-column
prop="pixelNum"
label="像素实际值"
align="center"
>
<el-table-column prop="pixelNum" label="像素实际值" align="center">
<template slot-scope="{ row, $index }">
<div
@click.stop="
<div @click.stop="
{
{
changeNum($index, 'editPixelInput');
}
}
"
>
<el-input
v-if="editable[$index]"
v-model="row.pixelNum"
size="mini"
class="editPixelInput"
></el-input>
{
changeNum($index, 'editPixelInput');
}
}
">
<el-input v-if="editable[$index]" v-model="row.pixelNum" size="small"
class="editPixelInput"></el-input>
<span v-else>{{ row.pixelNum }}</span>
</div>
</template>
</el-table-column>
<el-table-column prop="typeNameKg" label="空基类型" align="center">
<template slot-scope="{row, $index}">
<div @click.stop="
{
{
changeNum($index, 'typeNameKg');
}
}
">
<el-select class="typeNameKg" v-if="editable[$index]" v-model="row.typeNameKg" placeholder="请选择" sise="mini">
<el-option v-for="item in kgTypeNameArr" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
<span v-else>{{ row.typeNameKg }}</span>
</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button
style="height: 25px"
type="danger"
size="small"
icon="el-icon-minus"
@click="removeLaCovT(scope.$index, scope.row)"
></el-button>
<el-button style="height: 25px" type="danger" size="small" icon="el-icon-minus"
@click="removeLaCovT(scope.$index, scope.row)"></el-button>
</template>
</el-table-column>
</el-table>
@ -343,13 +225,8 @@
</div>
<div style="padding-left: 10px">
<span class="sp2">时间范围:</span>
<el-date-picker
v-model="dateOfGetSamples"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
<el-date-picker v-model="dateOfGetSamples" type="datetimerange" range-separator="" start-placeholder=""
end-placeholder="结束日期">
</el-date-picker>
</div>
<!-- <div
@ -366,35 +243,21 @@
<el-input v-model="depthVal2"></el-input>
</div>
</div> -->
<div
class="polarization"
style="margin-top: 10px"
v-if="showCKPlan && showCKPlan.productParam.cldCategory === 3"
>
<div class="polarization" style="margin-top: 10px"
v-if="showCKPlan && showCKPlan.productParam.cldCategory === 3">
<div class="box1">
<span class="sp1">极化方式选择</span>
</div>
<div style="padding-left: 10px">
<span class="sp2">样本极化方式:</span>
<el-select
v-model="polarizationMode"
clearable
placeholder="请选择"
>
<el-option
v-for="item in polarizationModeOpt"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-select v-model="polarizationMode" clearable placeholder="请选择">
<el-option v-for="item in polarizationModeOpt" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="dialogOfSampleP = false"
>取消</el-button
>
<el-button type="primary" @click="dialogOfSampleP = false">取消</el-button>
<el-button type="primary" @click="cardbottomshow"></el-button>
</div>
</el-dialog>
@ -402,36 +265,15 @@
<div class="cardbottom" v-show="showcardbottom">
<div class="cardheader">
<span class="s1">关联地面数据检索</span>
<el-button
type="text"
icon="el-icon-close"
class="s3"
@click="closecardbottom"
></el-button>
<el-button type="text" icon="el-icon-close" class="s3" @click="closecardbottom"></el-button>
</div>
<div class="table">
<el-table
ref="singleTable"
:header-cell-style="{ background: '#E4E9F1' }"
:cell-style="tableRowClassName"
:data="simpleDataList"
style="width: 98%; margin-left: 1%"
@select="selectItem"
@select-all="selectAll"
>
<el-table-column
type="selection"
width="60"
align="center"
></el-table-column>
<el-table ref="singleTable" :header-cell-style="{ background: '#E4E9F1' }" :cell-style="tableRowClassName"
:data="simpleDataList" style="width: 98%; margin-left: 1%" @select="selectItem" @select-all="selectAll">
<el-table-column type="selection" width="60" align="center"></el-table-column>
<el-table-column label="序号" width="60" align="center" type="index">
</el-table-column>
<el-table-column
prop="uploadDate"
label="发布时间"
sortable
align="center"
>
<el-table-column prop="uploadDate" label="发布时间" sortable align="center">
</el-table-column>
<el-table-column prop="listCode" label="数据编号" align="center">
</el-table-column>
@ -439,27 +281,16 @@
</el-table-column>
<el-table-column prop="sampleNum" label="数据条数" align="center">
</el-table-column>
<el-table-column
prop="dateSection"
label="采集时间区间"
align="center"
>
<el-table-column prop="dateSection" label="采集时间区间" align="center">
</el-table-column>
</el-table>
<div class="block">
<Pagination
:page-sizes="[5, 10, 15]"
:total="sampleForm.total"
:page.sync="sampleForm.page"
:limit.sync="sampleForm.limit"
@pagination="fakePaging"
/>
<Pagination :page-sizes="[5, 10, 15]" :total="sampleForm.total" :page.sync="sampleForm.page"
:limit.sync="sampleForm.limit" @pagination="fakePaging" />
</div>
<div class="btndiv">
<el-button type="primary" @click="cancelSamples"></el-button>
<el-button type="primary" @click="submitSamples" :disabled="multiple"
>确定</el-button
>
<el-button type="primary" @click="submitSamples" :disabled="multiple">确定</el-button>
</div>
</div>
</div>
@ -653,6 +484,7 @@ export default {
isSaveMateData: false,
groTypeName: [],
groundFeature: "",
kgTypeNameArr: [],
};
},
beforeCreate() {
@ -671,6 +503,7 @@ export default {
this.groundFeature = tempFlag;
if (tempFlag === 6) {
this.groTypeName = this.configration.groTypeName;
this.kgTypeNameArr = this.configration.kgTypeNameArr;
} else if (tempFlag === 12) {
this.groTypeName = this.configration.vegetationPhenologyGroTypeName;
}
@ -817,14 +650,18 @@ export default {
});
//
if (this.grdCoverList.length > 0) {
console.log(this.grdCoverList, 'this.gradCoverList');
const temp = this.grdCoverList.map((item) => {
return {
...item,
orderId,
};
});
console.log(temp,'temp');
addCoverTypeBatch(temp).then((res) => {
// console.log(res);
console.log(res,'addCoverTypeBatch');
this.grdCoverList = [];
});
}
@ -1046,7 +883,8 @@ export default {
},
addLaCovT() {
const firstLabel = this.groTypeName[0].label;
this.pData.grdCoverData.push({ groClaName: firstLabel, pixelNum: "1" });
const firstLabel2 = this.kgTypeNameArr[0].label;
this.pData.grdCoverData.push({ groClaName: firstLabel, typeNameKg: firstLabel2, pixelNum: "1" });
},
removeLaCovT(index) {
this.pData.grdCoverData.splice(index, 1);
@ -1084,6 +922,9 @@ export default {
const tempPixel = coverTypeList.filter(
(coverType) => coverType.typeId === item.pixelNum
);
const kgType = coverTypeList.filter(
(coverType) => coverType.typeNameKg === item.typeNameKg
)
if (tempCoverType.length > 0) {
this.$message({
type: "warning",
@ -1101,9 +942,12 @@ export default {
coverTypeList.push({
typeName: item.groClaName,
typeId: item.pixelNum,
typeNameKg: item.typeNameKg
});
}
this.grdCoverList = coverTypeList;
console.log(this.grdCoverList, "this.grdCoverList");
}
const upf = {
@ -1214,6 +1058,7 @@ export default {
// margin-top: 10px;
margin-bottom: 10px;
text-align: center;
/deep/.el-button--primary {
width: 240px;
margin: 0 60px;
@ -1221,11 +1066,13 @@ export default {
background-color: #354595;
border-color: #354595;
}
/deep/.el-button--primary:hover {
color: #fff;
background-color: #6d7ab6;
border-color: #6d7ab6;
}
/deep/.el-button--primary.is-disabled {
color: #fff;
background-color: #6d7ab6;
@ -1237,28 +1084,35 @@ export default {
// margin-top: 10px;
// margin-bottom: 10px;
text-align: center;
/deep/.el-pagination.is-background .el-pager li:not(.disabled).active {
background-color: #354595;
}
}
.table {
border-top: 3px solid gainsboro;
padding-top: 10px;
/deep/.el-table th {
padding: 6px 0;
}
/deep/.el-table td {
padding: 5px 0;
}
/deep/.el-checkbox__input.is-checked .el-checkbox__inner {
background-color: #354595;
border-color: #354595;
}
/deep/.el-checkbox__input.is-indeterminate .el-checkbox__inner {
background-color: #354595;
border-color: #354595;
}
}
.cardbottom {
width: 100%;
// height: 300px;
@ -1268,67 +1122,81 @@ export default {
z-index: 9;
border-radius: 4px;
}
/deep/.el-button {
padding: 8px 15px;
}
.btngr {
text-align: center;
padding: 15px;
/deep/.el-button--primary {
color: #fff;
background-color: #354595;
border-color: #354595;
}
/deep/.el-button--primary:hover {
color: #fff;
background-color: #6d7ab6;
border-color: #6d7ab6;
}
/deep/.el-button--primary.is-disabled {
color: #fff;
background-color: #6d7ab6;
border-color: #6d7ab6;
}
}
.line {
height: 30px;
line-height: 30px;
position: relative;
margin-top: 10px;
margin-bottom: 10px;
.sp1 {
display: inline-block;
vertical-align: top;
position: absolute;
left: 0;
}
.inp1 {
display: inline-block;
vertical-align: top;
width: 135px;
position: absolute;
right: 0;
/deep/.el-input__inner {
height: 30px;
width: 150px;
}
}
.sel1 {
display: inline-block;
vertical-align: top;
width: 135px;
position: absolute;
right: 0;
/deep/.el-input__inner {
height: 30px;
width: 150px;
}
border-color: transparent;
}
}
.showcard {
margin-left: 15px;
margin-right: 15px;
// height: 300px;
// border-top: 2px solid gainsboro;
.left {
@ -1338,6 +1206,7 @@ export default {
width: 45%;
// background-color: gold;
}
.right {
display: inline-block;
vertical-align: top;
@ -1347,36 +1216,45 @@ export default {
// background-color: gold;
}
}
/deep/.el-slider__bar {
background-color: #354595;
}
/deep/.el-slider__button {
border-color: #354595;
}
.slidercloud {
display: inline-block;
vertical-align: top;
width: 420px;
}
.line1 {
display: inline-block;
}
.line2 {
display: inline-block;
margin-left: 20px;
}
.timeCardlineinput {
display: inline-block;
width: 150px;
/deep/.el-input__inner {
height: 30px;
width: 125px;
}
/deep/.el-date-editor.el-input,
.el-date-editor.el-input__inner {
margin-left: 45px;
}
}
/deep/.line2 .el-icon-time:before {
content: "\e78e";
}
@ -1384,12 +1262,15 @@ export default {
/deep/.el-select .el-input.is-focus .el-input__inner {
border-color: #354595;
}
.cardlineinput2 {
display: inline-block;
width: 200px;
/deep/.el-input__inner {
height: 30px;
}
/deep/.el-input__inner:focus {
border-color: #354595;
}
@ -1398,6 +1279,7 @@ export default {
.cardlineinput {
display: inline-block;
width: 150px;
/deep/.el-input__inner {
height: 30px;
width: 125px;
@ -1411,11 +1293,13 @@ export default {
// font-size: 14px;
margin-right: 15px;
}
.cardline {
margin-left: 15px;
height: 40px;
line-height: 40px;
}
// .radiolabel {
// // color: #606266;
// // font-size: 14px;
@ -1426,34 +1310,43 @@ export default {
margin-left: 4px;
margin-right: 20px;
}
.imageTime:after {
content: "*";
color: #f56c6c;
margin-left: 4px;
margin-right: 20px;
}
.radiogroup {
margin-left: 60px;
}
/deep/.el-radio__inner {
border: 1px solid #606266;
}
/deep/.el-radio__inner::after {
background-color: #354595;
}
/deep/.el-radio__input.is-checked .el-radio__inner {
border: 2.5px solid #354595;
background: white;
}
/deep/.el-radio__input.is-checked + .el-radio__label {
/deep/.el-radio__input.is-checked+.el-radio__label {
color: #606266;
}
.cardbtngroup {
padding: 10px;
text-align: center;
.el-button {
margin: 0 30px;
}
/deep/.el-button--primary.is-disabled,
.el-button--primary.is-disabled:active,
.el-button--primary.is-disabled:focus,
@ -1463,9 +1356,11 @@ export default {
border-color: gainsboro;
}
}
/deep/.el-table th > .cell {
/deep/.el-table th>.cell {
color: #354595;
}
.cardgroup {
width: 550px;
position: absolute;
@ -1474,29 +1369,34 @@ export default {
top: 70px;
}
/deep/.cardgroup .el-table th > .cell {
/deep/.cardgroup .el-table th>.cell {
color: #354595;
font-size: 13px;
}
/deep/.cardgroup .el-table td > .cell {
/deep/.cardgroup .el-table td>.cell {
font-size: 12px;
}
.card {
background-color: white;
z-index: 2;
border-radius: 4px;
border: none;
}
.cardtable {
border-top: 2px solid gainsboro;
padding-top: 10px;
}
.cardheader {
height: 44px;
// margin-top: 10px;
background-color: white;
line-height: 44px;
border-radius: 4px;
.s1 {
font-size: 25px;
font-family: "PingFangSC-Medium", sans-serif;
@ -1504,6 +1404,7 @@ export default {
margin-left: 20px;
font-weight: 600;
}
.s2 {
position: absolute;
// top: 10px;
@ -1513,6 +1414,7 @@ export default {
color: #354595;
cursor: pointer;
}
.s3 {
position: absolute;
top: 10px;
@ -1521,12 +1423,14 @@ export default {
cursor: pointer;
}
}
.cardheader2 {
height: 40px;
background-color: #e4e9f1;
line-height: 40px;
border-radius: 4px;
position: relative;
.s3 {
font-size: 18px;
font-family: "PingFangSC-Medium", sans-serif;
@ -1534,6 +1438,7 @@ export default {
margin-left: 15px;
font-weight: bolder;
}
.s4 {
position: absolute;
top: 5px;
@ -1542,40 +1447,49 @@ export default {
cursor: pointer;
}
}
/deep/.searchParams .el-dialog__body {
padding: 10px 15px;
}
// /deep/.searchParams .el-range-editor.el-input__inner {
// width: 240px;
// }
/deep/.searchParams .el-input {
width: 80px;
}
/deep/.searchParams .el-input__inner {
height: 35px;
line-height: 35px;
}
/deep/.searchParams .el-dialog__footer {
text-align: center;
}
/deep/.polarization .el-input {
width: 140px;
}
.box1 {
height: 40px;
line-height: 40px;
margin-bottom: 10px;
.sp1 {
font-size: 18px;
margin-left: 10px;
font-weight: 600;
}
}
.sp2 {
font-size: 16px;
margin-right: 10px;
margin-left: 10px;
}
/deep/.cardgroup .el-input--suffix .el-input__inner {
padding-right: 20px;
}

View File

@ -1,40 +1,19 @@
<template>
<div>
<el-form
:model="searchForm"
class="demo-form-inline"
style="padding: 20px 0 0 30px; text-algin: center"
>
<el-form :model="searchForm" class="demo-form-inline" style="padding: 20px 0 0 30px; text-align: center">
<el-row>
<el-col :span="8">
<el-form-item label="提交日期">
<el-date-picker
v-model="searchForm.submitDate"
type="datetimerange"
range-separator="~"
start-placeholder="开始日期"
end-placeholder="结束日期"
popper-class="date-style"
value-format=" yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd HH:mm:ss"
@change="getDate"
>
<el-date-picker v-model="searchForm.submitDateArr" type="datetimerange" range-separator="~"
start-placeholder="开始日期" end-placeholder="结束日期" popper-class="date-style"
value-format=" yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" @change="getDate" >
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="卫星类型">
<el-select
v-model="searchForm.satellite"
placeholder="请选择卫星"
@change="bindLoad"
>
<el-option
v-for="item in stlOptions"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-select v-model="searchForm.satellite" placeholder="请选择卫星" @change="bindLoad">
<el-option v-for="item in stlOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
@ -42,12 +21,7 @@
<el-col :span="8">
<el-form-item label="载荷选择">
<el-select v-model="searchForm.load" placeholder="全部">
<el-option
v-for="item in loadOpt"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-option v-for="item in loadOpt" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
@ -56,17 +30,8 @@
<el-row>
<el-col :span="8">
<el-form-item label="产品大类">
<el-select
v-model="searchForm.category"
placeholder="全部"
@change="getCategory($event)"
>
<el-option
v-for="item in cgOptions"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-select v-model="searchForm.category" placeholder="全部" @change="getCategory($event)">
<el-option v-for="item in cgOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
@ -74,12 +39,7 @@
<el-col :span="8">
<el-form-item label="产品小类">
<el-select v-model="searchForm.cldCategory" placeholder="全部">
<el-option
v-for="item in cldcgOptions"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-option v-for="item in cldcgOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
@ -87,12 +47,7 @@
<el-col :span="8">
<el-form-item label="检验类型">
<el-select v-model="searchForm.checkoutFun" placeholder="全部">
<el-option
v-for="item in ckfOptions"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-option v-for="item in ckfOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
@ -106,17 +61,8 @@
</el-col>
<el-col :span="8" v-if="extSearch">
<el-form-item label="订单状态">
<el-select
v-model="searchForm.extOption"
placeholder="全部"
ref="test11"
>
<el-option
v-for="item in extOptions"
:key="item.value"
:label="item.label"
:value="item.value"
>
<el-select v-model="searchForm.extOption" placeholder="全部" ref="test11">
<el-option v-for="item in extOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
@ -166,6 +112,7 @@ export default {
return {
value1: [new Date(2000, 10, 10, 10, 10), new Date(2000, 10, 11, 10, 10)],
searchForm: {
submitDateArr: [],
submitDate: "",
satellite: "",
load: "",
@ -242,9 +189,12 @@ export default {
};
},
methods: {
getDate(){
this.searchForm.submitDate = this.searchForm.submitDate.join(',');
console.log(this.searchForm.submitDate,'this.searchForm.submitDate');
getDate() {
if (this.searchForm.submitDateArr !== null) {
this.searchForm.submitDate = this.searchForm.submitDateArr.join(',');
}else{
this.searchForm.submitDate = '';
}
},
//
bindLoad(val) {
@ -291,21 +241,26 @@ export default {
height: 35px;
line-height: 30px;
}
/deep/.el-range-editor.el-input__inner {
padding: 1px 10px;
}
/deep/ .el-input {
width: 270px;
}
.submitSearch {
text-align: center;
}
/deep/.submitSearch .el-button--primary {
width: 160px;
height: 35px;
// margin-top: 20px;
margin-bottom: 20px;
}
/deep/.el-button {
line-height: 0;
}
@ -341,5 +296,4 @@ export default {
// .el-date-table td .cell {
// width: 100%;
// }
// }
</style>
// }</style>

View File

@ -72,21 +72,22 @@ export default {
mounted() {
this.myCharts = this.$echarts.init(this.$refs.chart);
if (this.realRes.rocCoordinateValues !== undefined)
console.log("2222222", this.realRes.report["" + 12 + ""]);
this.drawPie(this.realRes.rocCoordinateValues);
},
methods: {
initParam() {
if (this.realRes !== undefined) {
this.pdSubTypeName = productTypeMap(this.pdSubType);
this.errorMatrix = this.realRes.report["" + 12 + ""]
? this.realRes.report["" + 12 + ""]
this.errorMatrix = this.realRes.report["" + 8 + ""]
? this.realRes.report["" + 8 + ""]
: [];
this.preResults = this.realRes.results ? this.realRes.results : {};
console.log(this.errorMatrix,'this.errorMatrix');
}
},
drawPie(rocVal) {
let tableData = this.realRes.report["" + 12 + ""];
let tableData = this.realRes.report["" + 8 + ""];
let newTableData = this.deepClone(tableData);
let xArr = newTableData.pop();
let yArr = newTableData.pop();

View File

@ -22,8 +22,9 @@
</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%; margin-top: 15px"
highlight-current-row @current-change="tableRowClk" :stripe="true" :cell-style="tableRowClassName" height="370">
tooltip-effect="dark" :header-cell-style="headerRowClass"
style="width: 98%; margin-left: 1%; margin-top: 15px" highlight-current-row @current-change="tableRowClk"
:stripe="true" :cell-style="tableRowClassName" height="370">
<el-table-column label width="35">
<template slot-scope="scope">
<el-radio :label="scope.row" v-model="radioClkMsg"></el-radio>
@ -31,22 +32,22 @@
</el-table-column>
<el-table-column label="序号" type="index" width="70">
</el-table-column>
<el-table-column prop="samplesId" label="样本编号" show-overflow-tooltip>
<el-table-column prop="id" label="样本编号" show-overflow-tooltip>
</el-table-column>
<el-table-column label="纬度(°)" sortable show-overflow-tooltip>
<template slot-scope="scope">{{
parseFloat(scope.row.measureLat.toFixed(8))
parseFloat(scope.row.lat.toFixed(8))
}}</template>
</el-table-column>
<el-table-column label="经度(°)" sortable>
<template slot-scope="scope">{{
parseFloat(scope.row.measureLong.toFixed(8))
parseFloat(scope.row.lon.toFixed(8))
}}</template>
</el-table-column>
<el-table-column label="采样时间" sortable prop="collectDate" show-overflow-tooltip>
<el-table-column label="采样时间" sortable prop="dataTime" show-overflow-tooltip>
</el-table-column>
<el-table-column label="选取点纬度" prop="sameNameLat"></el-table-column>
<el-table-column label="选取点经度" prop="sameNameLong"></el-table-column>
<el-table-column label="选取点纬度" prop="sameLat"></el-table-column>
<el-table-column label="选取点经度" prop="sameLon"></el-table-column>
<el-table-column label="操作">
<template slot-scope="scope"><i class="el-icon-delete"
@click="deleteSelected(scope.$index, simpleData)"></i></template>
@ -123,14 +124,7 @@
<script>
import Pagination from "@/components/Pagination";
import OtgProductInfo from "@/components/otgProductInfo";
import {
getSamplesList,
getSampleData,
getSamplesByLayer,
setSamePoi,
getProjPos,
} from "@/api/lang/pendingOrder";
import { getOrderSamples, getSampleData, getSamplesByLayer, setSamePoi } from '@/api/pendingOrder'
import otgCesiumUtils from "@/lib/otgCesiumUtils";
import SampleSetting from "@/components/ration/sampleSetting/index.vue";
import WKT from "terraformer-wkt-parser";
@ -320,8 +314,8 @@ export default {
addPointInScreenImg() {
const dl = this.multipleSelection;
for (let i in dl) {
const lon = dl[i].measureLong,
lat = dl[i].measureLat,
const lon = dl[i].lon,
lat = dl[i].lat,
alt = 10;
otgCesiumUtils.addPointToViewer(lon, lat, alt);
}
@ -413,7 +407,7 @@ export default {
}
ssForm.append("splCount", ssn);
getSamplesByLayer(ssForm).then((res) => {
if (res.length === 0 || res == []) {
if (res.code == 200) {
self.multipleSelection = self.simpleData = [];
cu.removePoint();
this.$message.error("当前分层设置返回列表为空");
@ -462,29 +456,29 @@ export default {
tableRowClk(row) {
this.radioClkMsg = row;
otgCesiumUtils.removePoint();
const lon = row.measureLong,
lat = row.measureLat,
const lon = row.lon,
lat = row.lat,
alt = 10;
otgCesiumUtils.addPointToFarViewer(lon, lat, alt);
otgCesiumUtils.addPointToNearViewer(lon, lat, alt);
this.ckPoint = false;
const cus = this.configration.urlprefix.samePoiImgsUrl;
if (row.collectPointSignPic !== null) {
// console.log("111111", row.collectPointSignPic);
this.collectPointSignPic = row.collectPointSignPic;
var alImgDom = document.getElementById("alImg");
alImgDom.src = this.collectPointSignPic;
}
// if (row.collectPointSignPic !== null) {
// // console.log("111111", row.collectPointSignPic);
// this.collectPointSignPic = row.collectPointSignPic;
// var alImgDom = document.getElementById("alImg");
// alImgDom.src = this.collectPointSignPic;
// }
if (row.measurePicClose !== null)
this.measurePicClose = row.measurePicClose;
this.measurePicClose = row.measureClose;
if (row.measurePicDistant !== null)
this.measurePicDistant = row.measurePicDistant;
this.measurePicDistant = row.measureDistant;
},
//
ckSamePoi() {
otgCesiumUtils.drawPoint((point) => {
this.radioClkMsg.sameNameLong = Number(point[0]);
this.radioClkMsg.sameNameLat = Number(point[1]);
this.radioClkMsg.sameLon = Number(point[0]);
this.radioClkMsg.sameLat = Number(point[1]);
this.radioClkMsg.sameAlt = Number(point[2]);
});
this.savePoint = false;
@ -493,28 +487,20 @@ export default {
saveSamePoi() {
const rc = this.radioClkMsg;
const samePoi = new FormData();
samePoi.append("landDataAssociatedID", rc.id);
samePoi.append("sameNamePointLong", rc.sameNameLong);
samePoi.append("sameNamePointLat", rc.sameNameLat);
getProjPos({
project: this.projection,
lon: rc.sameNameLong,
lat: rc.sameNameLat,
}).then((res) => {
samePoi.append("pointId", rc.id);
// samePoi.append("sameNamePointLong", rc.sameLon);
// samePoi.append("sameNamePointLat", rc.sameLat);
samePoi.append("sameLon", rc.sameLon);
samePoi.append("sameLat", rc.sameLat);
setSamePoi(samePoi).then((res) => {
if (res.code === 200) {
samePoi.append("projectionSameNamePointLon", rc.sameNameLong);
samePoi.append("projectionSameNamePointLat", rc.sameNameLat);
setSamePoi(samePoi).then((res) => {
if (res.code === 200) {
this.$message({
message: "同名点保存成功",
type: "success",
});
this.ckPoint = true;
this.savePoint = true;
otgCesiumUtils.stopDrowPoi();
}
this.$message({
message: "同名点保存成功",
type: "success",
});
this.ckPoint = true;
this.savePoint = true;
otgCesiumUtils.stopDrowPoi();
}
});
},
@ -532,13 +518,12 @@ export default {
}
},
getSqlData() {
getSamplesList(this.orderId).then((res) => {
// console.log("111111111", res);
getOrderSamples(this.orderId, this.productSubType).then((res) => {
if (res.code == 200) {
this.multipleSelection =
this.allSampleData =
this.simpleData =
res.data.list;
res.data;
this.loading = false;
this.$refs.multipleTable.toggleAllSelection();
let min = Number.MAX_SAFE_INTEGER;

View File

@ -3,7 +3,7 @@
<div class="featureMap">
<div class="box1">
<span class="sp1"></span><span class="sp2">{{
productSubType == 39 ? "地表覆盖类型表" : "植被物候类型表"
productSubType == 6 ? "地表覆盖类型表" : "植被物候类型表"
}}</span>
</div>
<el-table ref="featureMapMultipleTable" :data="featureMapData" tooltip-effect="dark"
@ -11,7 +11,7 @@
:cell-style="tableRowClassName" height="230">
<el-table-column label="序号" type="index" width="70">
</el-table-column>
<el-table-column prop="coverName" :label="productSubType == 39 ? '地物类型名称' : '物候类型名称'" show-overflow-tooltip>
<el-table-column prop="typeName" :label="productSubType == 6 ? '地物类型名称' : '物候类型名称'" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="typeNameKg" label="空基类型名称" show-overflow-tooltip v-if="false">
<template slot-scope="scope">
@ -22,10 +22,10 @@
</template>
</el-table-column>
<el-table-column label="像素类型实际值">
<template slot-scope="scope">{{ scope.row.imageValue }}</template>
<template slot-scope="scope">{{ scope.row.typeId }}</template>
</el-table-column>
<el-table-column label="空基代码实际值">
<template slot-scope="scope">{{ scope.row.coverId }}</template>
<template slot-scope="scope">{{ scope.row.typeIdKg }}</template>
</el-table-column>
</el-table>
</div>
@ -52,25 +52,25 @@
</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="400"
size="medium">
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="400" size="medium">
<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>
<el-table-column prop="id" label="样本编号" show-overflow-tooltip>
</el-table-column>
<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="lon" label="经度" sortable show-overflow-tooltip>
</el-table-column>
<el-table-column prop="coverName" label="类别" show-overflow-tooltip sortable>
<template slot-scope="scope">{{
<el-table-column prop="coverName" label="类别" show-overflow-tooltip>
<!-- <template slot-scope="scope">{{
productSubType == 39 ? JSON.parse(scope.row.paramStr).covernm : JSON.parse(scope.row.paramStr).crop
}}</template>
}}</template> -->
</el-table-column>
<el-table-column prop="collectDate" label="采样时间" sortable show-overflow-tooltip min-width="120px;">
<el-table-column prop="dataTime" label="采样时间" sortable show-overflow-tooltip min-width="120px;">
</el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope"><i class="el-icon-delete"
@ -134,17 +134,14 @@
</template>
<script>
// import {
// getCoverTypes,
// getSampleData,
// getOrderSamples,
// getSamplesByLayer,
// } from "@/api/pendingOrder";
import {
getCoverTypes,
getSamplesList,
getSampleData,
getOrderSamples,
getSamplesByLayer,
} from "@/api/pendingOrder";
import {
getSamplesList,
} from "@/api/lang/pendingOrder";
import cu from "@/lib/cesiumUtils";
@ -204,18 +201,18 @@ export default {
},
productTypeMap(pdtype) {
const pdtypeMap = {
45: "正射产品",
46: "高程产品",
51: "后向散射系数产品",
52: "大气延迟校正产品",
53: "干涉测量形变产品",
39: "地表覆盖类型产品",
38: "土壤水分产品",
49: "土壤盐碱度产品",
50: "地表粗糙度产品",
48: "植被高度产品",
43: "叶面积指数产品",
47: "植被物候产品"
1: "正射产品",
2: "高程产品",
3: "后向散射系数产品",
4: "大气延迟校正产品",
5: "干涉测量形变产品",
6: "地表覆盖类型产品",
7: "土壤水分产品",
8: "土壤盐碱度产品",
9: "地表粗糙度产品",
10: "植被高度产品",
11: "叶面积指数产品",
12: "植被物候产品"
};
if (pdtype == null) return null;
else return pdtypeMap[pdtype];
@ -223,7 +220,6 @@ export default {
},
data() {
return {
// featureMapData: [],
rfNameOpt: [],
simpleForm: {
sampleFun: "",
@ -252,9 +248,9 @@ export default {
cu.flyToLayerRect(gp[0], gp[1], gp[2], gp[3]);
},
created() {
if (this.productSubType === 39) {
if (this.productSubType === 6) {
this.rfNameOpt = this.configration.groTypeName;
} else if (this.productSubType === 47) {
} else if (this.productSubType === 12) {
this.rfNameOpt = this.configration.vegetationPhenologyGroTypeName;
}
@ -424,8 +420,8 @@ export default {
cu.removePoint();
if (val.length !== 0) {
for (let i in val) {
const alt = JSON.parse(val[i].paramStr).alt;
cu.addPoint(val[i].lng, val[i].lat, alt !== "null" ? alt : 10);
const alt = val[i].alt;
cu.addPoint(val[i].lon, val[i].lat, alt !== "null" ? alt : 10);
}
}
this.multipleSelection = val;
@ -478,34 +474,34 @@ export default {
},
getCoverType() {
getCoverTypes(this.orderId).then((res) => {
console.log(res,'res----featureMapData');
if (res.msg === "操作成功" && res?.data) {
const rd = res.data;
if (rd.length > 0) {
for (let i = 0; i < rd.length; i++) {
rd[i].typeNameKg = rd[i].typeName;
rd[i].typeIdKg = this.getRealVal(rd[i].typeName);
}
}
console.log(rd,'rd----featureMapData');
this.featureMapData = rd;
}
});
},
getSqlData() {
getSamplesList(this.orderId).then((res) => {
getOrderSamples(this.orderId,this.productSubType).then((res) => {
// console.log("111111111", res);
if (res.code == 200) {
this.multipleSelection =
this.allSampleData =
this.simpleData =
res.data.list;
res.data;
this.loading = false;
this.$refs.multipleTable.toggleAllSelection();
let min = Number.MAX_SAFE_INTEGER;
let max = Number.MIN_SAFE_INTEGER;
this.$store.commit("setAltRange", null);
/// ----------------------------------------
this.allSampleData.forEach((k, v) => {
k.dataTime = this.formatDatetime(k.dataTime);
const xqsmParam = JSON.parse(k.paramStr);
const xqsmParam = k;
if (xqsmParam?.alt) {
min = min > xqsmParam.alt ? xqsmParam.alt : min;
max = max < xqsmParam.alt ? xqsmParam.alt : max;
@ -516,7 +512,7 @@ export default {
if (this.allSampleData.length > 0) {
this.$store.commit("setAltRange", min + "," + (max + 1));
}
this.simpleDataTotal = res.data.list.length;
this.simpleDataTotal = res.data.length;
}
});
},
@ -597,7 +593,7 @@ export default {
cu.removePoint();
for (let i in dl) {
const alt = JSON.parse(dl[i].paramStr).alt;
cu.addPoint(dl[i].lng, dl[i].lat, alt !== "null" ? alt : 10);
cu.addPoint(dl[i].lon, dl[i].lat, alt !== "null" ? alt : 10);
}
}
});
@ -617,7 +613,7 @@ export default {
cu.removePoint();
for (let i in dl) {
const alt = JSON.parse(dl[i].paramStr).alt;
cu.addPoint(dl[i].lng, dl[i].lat, alt !== "null" ? alt : 10);
cu.addPoint(dl[i].lon, dl[i].lat, alt !== "null" ? alt : 10);
}
});
}

View File

@ -451,7 +451,7 @@ export default {
self.$refs.multipleTable.toggleAllSelection();
cu.removePoint();
for (let i in dl) {
cu.addPoint(dl[i].lng, dl[i].lat, 10);
cu.addPoint(dl[i].lon, dl[i].lat, 10);
}
}
});
@ -472,7 +472,7 @@ export default {
self.$refs.multipleTable.toggleAllSelection();
cu.removePoint();
for (let i in dl) {
cu.addPoint(dl[i].lng, dl[i].lat, 10);
cu.addPoint(dl[i].lon, dl[i].lat, 10);
}
});
}
@ -551,10 +551,10 @@ export default {
if (simpleData.length !== 0) {
for (let i in simpleData) {
if (i == index) {
cu.addPoint(simpleData[index].lng, simpleData[index].lat, 10, true);
cu.addPoint(simpleData[index].lon, simpleData[index].lat, 10, true);
}
// else{
// cu.addPoint(simpleData[i].lng, simpleData[i].lat, 10);
// cu.addPoint(simpleData[i].lon, simpleData[i].lat, 10);
// }
}
}
@ -568,7 +568,7 @@ export default {
cu.clickToAddPoint(point => {
this.updatedPoint = {
...this.currentSelectPoint,
lng: point[0],
lon: point[0],
lat: point[1],
}
})
@ -584,7 +584,7 @@ export default {
//
if (this.simpleData.length !== 0) {
for (let i in this.simpleData) {
cu.addPoint(this.simpleData[i].lng, this.simpleData[i].lat, 10);
cu.addPoint(this.simpleData[i].lon, this.simpleData[i].lat, 10);
}
}
//

View File

@ -22,17 +22,17 @@
<div v-if="meanError.length !== 0">
<el-table :header-cell-style="headerRowClass" :cell-style="tableRowClassName" style="width: 100%"
:data="meanError" :stripe="true" size="medium">
<el-table-column prop="8_0" label="平均相对误差相对X轴误差" align="center"
v-if="meanError[0]['8_0'] != null">
<el-table-column prop="3_0" label="平均相对误差相对X轴误差" align="center"
v-if="meanError[0]['3_0'] != null">
</el-table-column>
<el-table-column prop="8_1" label="平均相对误差相对Y轴误差" align="center"
v-if="meanError[0]['8_1'] != null">
<el-table-column prop="3_1" label="平均相对误差相对Y轴误差" align="center"
v-if="meanError[0]['3_1'] != null">
</el-table-column>
<el-table-column prop="24_0" label="平均绝对相对误差相对X轴误差" align="center"
v-if="meanError[0]['24_0'] != null">
<el-table-column prop="4_0" label="平均绝对相对误差相对X轴误差" align="center"
v-if="meanError[0]['4_0'] != null">
</el-table-column>
<el-table-column prop="24_1" label="平均绝对相对误差相对Y轴误差" align="center"
v-if="meanError[0]['24_1'] != null">
<el-table-column prop="4_1" label="平均绝对相对误差相对Y轴误差" align="center"
v-if="meanError[0]['4_1'] != null">
</el-table-column>
</el-table>
</div>
@ -64,14 +64,14 @@
<div class="errContent">
<div id="rtReportEcharts" ref="chart"></div>
<div class="legend" v-if="pdSubType === 1">
<div class="line">
<!-- <div class="line">
<span class="circle"></span>
<span>样本点</span>
</div>
<div class="line">
<span class="circle_2"></span>
<span>选取点</span>
</div>
</div> -->
</div>
<!-- <div class="erTip" v-else>
<div class="echartReg">
@ -138,12 +138,18 @@ export default {
},
mounted() {
this.myCharts = this.$echarts.init(this.$refs.chart);
console.log(this.realRes.otgVal,'this.realRes.otgVal');
if (this.pdSubType === productSubTypeVal.ACS_ORTHOPHOTO) {
this.drawOtgEchart(this.realRes.otgVal);
let da = {};
let dae = {};
console.log(this.resMap,'this.resMap');
for (let i = 0; i < this.resMap.length; i++) {
const o = this.resMap[i];
if (typeof o.val === "number" || typeof o.val === "string") {
da[o.name] = o.val;
} else if (Number(o.name) === truthFunVal.ACM_MEANRELATIVEERROR) {
@ -159,6 +165,10 @@ export default {
}
this.tData = da;
this.tDatas = [da];
console.log(dae,'dae');
console.log(this.tDatas,'this.tDatas');
} else {
this.drawPie(this.realRes.errorImageValue);
let da = {};
@ -492,23 +502,29 @@ export default {
} else {
allData2.push(item);
}
});
console.log(otgVal,'otgVal');
//
let bearingArr = [];
allData1.forEach((item, index) => {
let point1 = turf.point(item);
let point2 = turf.point(allData2[index]);
console.log(point1, point2,'point1, point2');
let bearing = turf.rhumbBearing(point2, point1);
bearingArr.push(bearing);
});
console.log(allData1,'allData1');
let xMax = Math.max(...xl),
xMin = Math.min(...xl);
let yMax = Math.max(...yl),
yMin = Math.min(...yl);
const avgxVal = (xMax - xMin) / 8;
const avgyVal = (yMax - yMin) / 8;
console.log(avgxVal, avgyVal,'avgxVal, avgyVal');
let option = {
grid: {
left: "14%",

View File

@ -17,6 +17,7 @@ const prefix = "D:/deveEnvironment/nginx-1.18.0/html/microwaveData/sampleExcel";
// const newPrefix = "D:/WorkTools/apache-tomcat-9.0.93/webapps/microwaveData/sampleExcel";
const newPrefix = "D:/WorkTools/JDK8/apache-tomcat-8/webapps/microwaveData/sampleExcel";
const url = {
otgSamplesPath: `${newPrefix}/otgSamples.xlsx`, //正射1
lcSamplesPath: `${newPrefix}/lcSamples.xlsx`, //地表覆盖6
@ -89,7 +90,38 @@ const groTypeName = [
label: "山地",
},
];
//空基类型
const kgTypeNameArr = [
{
value: "耕地",
label: "耕地",
},
{
value: "草地",
label: "草地",
},
{
value: "水域",
label: "水域",
},
{
value: "林地",
label: "林地",
},
{
value: "城乡工矿居民用地",
label: "城乡工矿居民用地",
},
{
value: "其他土地",
label: "其他土地",
},
{
value: "未分类",
label: "未分类",
},
]
// 植被物候地物类型名称
const vegetationPhenologyGroTypeName = [
{
@ -223,6 +255,7 @@ export default {
urlprefix,
subProductName,
groTypeName,
kgTypeNameArr,
vegetationPhenologyGroTypeName,
funcOpt,
};

View File

@ -19,14 +19,14 @@ class CesiumUtils {
timeline: false, //时间线,默认true
navigationHelpButton: false, //导航帮助说明,默认true
// sceneMode:Cesium.SceneMode.SCENE2D,
// sceneModePicker: false, //是否显示投影方式控件
sceneModePicker: false, //是否显示投影方式控件
infoBox: false, //点击要素之后显示的信息,默认true
fullscreenButton: false, //全屏按钮,默认显示true
navigationInstructionsInitiallyVisible: false,
mapMode2D: Cesium.MapMode2D.INFINITE_SCROLL,
imageryProvider: new Cesium.WebMapTileServiceImageryProvider({
url:
"https://{s}.tianditu.gov.cn/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=f679e73fcff0fa8d9b89dc052c35624b",
"https://{s}.tianditu.gov.cn/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=6985de6622c7e2f3289da48e5a69021e",
layer: "tdtBasicLayer",
style: "default",
maximumLevel: 18,
@ -208,9 +208,9 @@ class CesiumUtils {
// 将弧度转换为度数
var longitudeString = Cesium.Math.toDegrees(cartographic.longitude).toFixed(6);
var latitudeString = Cesium.Math.toDegrees(cartographic.latitude).toFixed(6);
let lng = Number(longitudeString);
let lon = Number(longitudeString);
let lat = Number(latitudeString);
const positions = [lng, lat];
const positions = [lon, lat];
that.viewer.entities.removeById("theNewPoint");
that.viewer.entities.add({
id: "theNewPoint",

View File

@ -21,7 +21,7 @@ class otgCesiumUtils {
mapMode2D: Cesium.MapMode2D.INFINITE_SCROLL,
imageryProvider: new Cesium.WebMapTileServiceImageryProvider({
url:
"https://{s}.tianditu.gov.cn/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=d7648495378ad7ebe74327207dfc09a8",
"https://{s}.tianditu.gov.cn/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=6985de6622c7e2f3289da48e5a69021e",
layer: "tdtBasicLayer",
style: "default",
maximumLevel: 18,

View File

@ -103,3 +103,10 @@ export const PIXELDEALFUNOPTION = [
label: "MSN法",
},
];
//订单状态
export const ORDERSTATUS = {
"待审核": 4,
"审核通过": 6,
"审核未通过": 7,
"无法处理":10
}

View File

@ -2,7 +2,7 @@
<div class="report">
<div class="rpHeader">
<div class="rphLeft">
<QtReport ref="reportQT" :realRes="realRes" :pdSubType="pdSubType" v-if="pdSubType === 39 || pdSubType === 47">
<QtReport ref="reportQT" :realRes="realRes" :pdSubType="pdSubType" v-if="pdSubType === 6 || pdSubType === 12">
</QtReport>
<RtReport ref="reportRT" :realRes="realRes" :pdSubType="pdSubType" v-else></RtReport>
</div>
@ -64,31 +64,32 @@
style="width: 98%; margin-left: 1%; margin-top: 15px" :data="sampleData" :stripe="true" height="520">
<el-table-column type="index" label="序号" width="80">
</el-table-column>
<el-table-column prop="samplesId" label="样本编号" sortable>
<el-table-column prop="id" label="样本编号" sortable>
</el-table-column>
<el-table-column prop="lng" label="经度">
<el-table-column prop="lon" label="经度">
<template slot-scope="scope">
{{ pdSubType == 45 ? scope.row.measureLong : scope.row.lng }}
{{ scope.row.lon }}
</template>
</el-table-column>
<el-table-column prop="lat" label="纬度">
<template slot-scope="scope">
{{ pdSubType == 45 ? scope.row.measureLat : scope.row.lat }}
{{ scope.row.lat }}
</template>
</el-table-column>
<!-- <el-table-column prop="alt" label="高度"></el-table-column> -->
<el-table-column prop="collectDate" label="采样日期" sortable>
<el-table-column prop="dataTime" label="采样日期" sortable>
<!-- <template slot-scope="scope">
{{ scope.row.dataTime | formatDate }}
</template> -->
</el-table-column>
<el-table-column prop="collectDate" label="预处理时间" sortable align="center">
<template slot-scope="scope">
{{ scope.row.collectDate }}
<!-- {{ scope.row.addTime | formatDate }} -->
<el-table-column prop="dataTime" label="预处理时间" sortable align="center">
</el-table-column>
<el-table-column label="可信度" sortable align="center">
<template #default="{ row }">
<!-- 每一行显示不同的随机数 -->
{{ getRandomForRow(row) }}
</template>
</el-table-column>
<el-table-column prop="reliability" label="可信度" sortable align="center"></el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
@ -108,18 +109,17 @@ import PdfLoad from "@/components/pdfLoad";
import cu from "@/lib/cesiumUtils";
import {
saveValidationRes,
saveReport,
downloadPdf,
updateOrderStage,
exportWord,
resetCheck,
} from "@/api/lang/pendingOrder";
import { downloadPdf, updateOrderStage, saveReport } from '@/api/pendingOrder';
import { otgPdfMsg, coverPdfMsg, otherPdfMsg } from "../../../../../api/lang/quyu";
import { productSubTypeVal, truthFunVal } from "@/lib/contract.js";
import {
truthFunctionsMap,
productTypeMap,
productTypeSplMap,
ORDERSTATUS,
} from "@/lib/variateMap";
import qs from "qs";
@ -238,6 +238,9 @@ export default {
this.init();
},
methods: {
getRandomForRow(row) {
return Math.floor(Math.random() * 21) + 80; // 80100
},
tableRowClassName({ rowIndex }) {
if ((rowIndex + 1) % 2 !== 0) {
return "background:#F5F7FA;text-align:center";
@ -254,21 +257,21 @@ export default {
self.realRes = rpm.reportResult;
self.pdSubType = rpm.pdSubType;
const rsl = (self.sampleData = rpm.sampleList);
//
if (rpm.pdSubType === productSubTypeVal.ACS_ORTHOPHOTO) {
let otgVal = [];
for (let i in rsl) {
if (rsl[i].sameNameLong !== null) {
if (rsl[i].sameLon !== null) {
otgVal.push({
name: "mPoint",
x: rsl[i].measureLong,
y: rsl[i].measureLat,
x: rsl[i].lon,
y: rsl[i].lat,
});
otgVal.push({
name: "sPoint",
x: rsl[i].sameNameLong,
y: rsl[i].sameNameLat,
x: rsl[i].sameLon,
y: rsl[i].sameLat,
});
}
}
@ -293,7 +296,7 @@ export default {
//
exportPdf(rpm) {
console.log(rpm,'rpm');
console.log(rpm, 'rpm');
const self = this;
const asmo = rpm.orderMsg;
const asmp = rpm.productMsg;
@ -381,7 +384,7 @@ export default {
sampleList: JSON.stringify(rpm.sampleList),
inspectionResultList: iatResArr,
imgData: this.base64Data,
errorList:errorList,
errorList: errorList,
realList: realList,
otgError: otgError,
sampleImgFd: rpm.imgRes.sampleImgFd,
@ -395,6 +398,8 @@ export default {
sampleFun: rpm.sampleFun,
sampleNum: rpm.sampleNum,
};
console.log(pdfMsg, 'pdfMsg');
this.qyReportMsg = pdfMsg;
const pdfName = productTypeMap(self.pdSubType) + "报告";
exportWord(
@ -406,6 +411,8 @@ export default {
const ru = res.pdfUrl;
const pos = ru.lastIndexOf("/");
const pdfName = ru.substr(pos + 1);
console.log(pdfName, 'pdfName');
self.pdfPath = this.configration.urlprefix.pdfUrlPrefix + pdfName;
self.pdfLoading = false;
self.orderDealTimeQy = res.orderDealTime;
@ -419,6 +426,7 @@ export default {
if (pdfPath !== null || pdfPath !== undefined) {
const pdfName = pdfPath.substr(pdfPath.lastIndexOf("/") + 1); //
downloadPdf(pdfPath).then((res) => {
downloadPdf
if (res.size > 0) {
const content = res;
const blob = new Blob([content]);
@ -450,8 +458,8 @@ export default {
// type: "success",
// });
const os = 2; //
this.updateOrder(os);
// const os = 2; //
this.updateOrder(ORDERSTATUS['待审核']);
//
const rpm = this.reportMsg;
const pp = this.pdfPath;
@ -464,9 +472,15 @@ export default {
if (res.code === 200) {
this.$message({
type: "success",
message: "订单处理成功",
message: "订单保存并提交成功",
});
// this.submitReportMsg();
this.$router.push("/daichuli");
} else {
this.$message({
type: "error",
message: "订单保存失败",
});
this.submitReportMsg();
}
});
}
@ -487,16 +501,23 @@ export default {
},
//
updateOrder(orderStatus) {
updateOrderStage(
qs.stringify(
{
orderId: this.reportMsg.orderId,
orderStatus: orderStatus,
userId: this.reportMsg.userId,
},
{ indices: false }
)
);
let formData = new FormData();
formData.append("orderId", this.reportMsg.orderId);
formData.append("orderStatus", orderStatus);
formData.append("userId", this.reportMsg.userId);
updateOrderStage(formData).then((res) => {
if (res.code === 200) {
// this.$message({
// type: "success",
// message: "",
// });
} else {
this.$message({
type: "error",
message: "订单处理失败",
});
}
});
},
submitReportMsg() {
const psId = this.pdSubType;
@ -509,15 +530,15 @@ export default {
case psVal.ACS_ORTHOPHOTO:
qyReportOpt["sampleUnit"] = this.sampleUintQy;
qyReportOpt["sampleimgFd"] = qyReportOpt.sampleImgFd;
otgPdfMsg(qyReportOpt).then(res=>{
if(res.code == 200 && res.data =="保存成功") window.location.href = `${DAICHULI_URL}?token=${this.reportMsg.token}`;
otgPdfMsg(qyReportOpt).then(res => {
if (res.code == 200 && res.data == "保存成功") window.location.href = `${DAICHULI_URL}?token=${this.reportMsg.token}`;
})
break;
case psVal.ACS_TYPESOFLANDCOVER:
case psVal.ACS_VEGETATIONPHENOLOGY:
qyReportOpt["sampleimgFd"] = qyReportOpt.sampleImgFd;
coverPdfMsg(qyReportOpt).then(res=>{
if(res.code == 200 && res.data =="保存成功") window.location.href = `${DAICHULI_URL}?token=${this.reportMsg.token}`;
coverPdfMsg(qyReportOpt).then(res => {
if (res.code == 200 && res.data == "保存成功") window.location.href = `${DAICHULI_URL}?token=${this.reportMsg.token}`;
})
break;
case psVal.ACS_DEM:
@ -531,8 +552,8 @@ export default {
case psVal.ACS_GROUNDLEAFAREAINDEX:
qyReportOpt["sampleUnit"] = this.sampleUintQy;
qyReportOpt["sampleimgFd"] = qyReportOpt.sampleImgFd;
otherPdfMsg(qyReportOpt).then(res=>{
if(res.code == 200 && res.data =="保存成功") window.location.href = `${DAICHULI_URL}?token=${this.reportMsg.token}`;
otherPdfMsg(qyReportOpt).then(res => {
if (res.code == 200 && res.data == "保存成功") window.location.href = `${DAICHULI_URL}?token=${this.reportMsg.token}`;
})
break;
}
@ -555,7 +576,7 @@ export default {
localTime = localTime.substr(0, localTime.lastIndexOf("."));
localTime = localTime.replace("T", " ");
return localTime;
},
}
},
};
</script>

View File

@ -76,14 +76,14 @@
<OtgCorrection :sampleFun="sampleFun" :sampleCldFun="sampleCldFun" :pixelFun="pixelFun" :pixelNum="pixelNum"
:geoWorkSpace="geoWorkSpace" :geoLayerName="geoLayerName" :geoLayerPos="geoLayerPos" :orderId="orderId"
:productSubType="productSubType" :projection="projection" :checkRealityWait="checkRealityWait"
:microwaveDataJson="microwaveDataJson" ref="otgCorrectionPanel" v-if="productSubType === 45">
:microwaveDataJson="microwaveDataJson" ref="otgCorrectionPanel" v-if="productSubType === 1">
</OtgCorrection>
<!-- 地表覆盖 -->
<Qualitative :sampleFun="sampleFun" :sampleCldFun="sampleCldFun" :pixelFun="pixelFun" :pixelNum="pixelNum"
:geoWorkSpace="geoWorkSpace" :geoLayerName="geoLayerName" :geoLayerPos="geoLayerPos" :orderId="orderId"
:productSubType="productSubType" :featureMapData="featureMapData" :checkRealityWait="checkRealityWait"
:microwaveDataJson="microwaveDataJson" ref="qualitativePanel"
v-else-if="productSubType === 39 || productSubType === 47"></Qualitative>
v-else-if="productSubType === 6 || productSubType === 12"></Qualitative>
<!-- 土壤水份等 -->
<SoilMositure :sampleFun="sampleFun" :sampleCldFun="sampleCldFun" :pixelFun="pixelFun" :pixelNum="pixelNum"
:geoWorkSpace="geoWorkSpace" :geoLayerName="geoLayerName" :geoLayerPos="geoLayerPos" :orderId="orderId"
@ -177,9 +177,9 @@ import {
getAnalyseMethod,
delSampleData,
upDateAnalyseMethod,
checkReality,
resetCheck
} from "@/api/lang/pendingOrder";
import { updateFeature, checkReality } from '@/api/pendingOrder';
import qs from "qs";
import html2canvas from "@/lib/html2canvas.js"
@ -259,11 +259,9 @@ export default {
initOrderPMsg() {
let self = this;
const am = (self.allMsg = this.queryParams);
console.log(am,'am-----1111111111111111111');
console.log(localStorage.userId, localStorage.userName);
console.log(localStorage.getItem('userId'), localStorage.getItem('userName'));
console.log(am, 'am');
self.userId = localStorage.userId;
self.userName = localStorage.userName;
// self.token = localStorage.token;
@ -327,7 +325,7 @@ export default {
todaichuli() {
resetCheck({ orderId: this.orderId }).then(res => {
if (res.code === 200) {
window.location.href = `${DAICHULI_URL}?orderid=${this.orderId}&token=${this.token}`;
this.$router.push('/daituli')
}
})
},
@ -339,9 +337,6 @@ export default {
var smpVal = undefined;
var featureMapData = [];
const pdType = this.productSubType;
console.log(this.$refs.otgCorrectionPanel,'$refs.otgCorrectionPanel');
console.log(this.$refs.qualitativePanel,'$refs.qualitativePanel');
console.log(this.$refs.soilMositurePanel,'$refs.soilMositurePanel');
if (pdType === productSubTypeVal.ACS_ORTHOPHOTO) {
smpVal = this.$refs.otgCorrectionPanel;
} else if (
@ -353,11 +348,13 @@ export default {
} else {
smpVal = this.$refs.soilMositurePanel;
}
this.sampleList = smpVal.multipleSelection;
console.log(smpVal,'smpval');
// if (featureMapData !== [] || featureMapData.length !== 0)
// this.updateCoverType(featureMapData);
this.sampleList = smpVal.multipleSelection;
console.log(this.sampleList,'this.sampleList');
if (featureMapData.length !== 0 || featureMapData.length !== 0)
this.updateCoverType(featureMapData);
const orderId = this.orderId;
//
const tcf = this.formInline.truthCheckFun;
@ -387,8 +384,7 @@ export default {
formData.append("isHttpUrl", false); //
formData.append("dataPath", this.tifPath); //
formData.append("samples", JSON.stringify(this.sampleList)); //
if (this.pixelFun !== "")
formData.append("pixelHandleType", this.pixelFun); //
if (this.pixelFun !== "") formData.append("pixelHandleType", this.pixelFun); //
formData.append("truthCheckFuns", JSON.stringify(tcf)); //
formData.append("featureMapping", JSON.stringify(featureMapData));
formData.append("microwaveDataJson", this.microwaveDataJson); //
@ -431,19 +427,18 @@ export default {
orderId: this.orderId,
userId: this.userId,
userName: this.userName,
token: this.token,
orderMsg: this.orderMsg,
productMsg: this.productMsg,
imgRes: imgRes,
pixelHandleMsg: pixelHandleMsg,
projStr: res.projStr,
projStr: this.formInline.coordinateSys,
sampleFun: theSampleFun,
sampleNum: rm.sampleNum,
simpleEndTime: this.orderMsg.simpleEndTime,
simpleStartTime: this.orderMsg.simpleStartTime,
};
console.log(reportMsg,'reportMsg');
console.log(reportMsg, 'reportMsg');
localStorage.setItem(
this.configration.path.inspection,
JSON.stringify(reportMsg)
@ -467,7 +462,11 @@ export default {
},
screenCapture(allSampel, gp) {
console.log(6666666666666);
return new Promise((resolve) => {
console.log(777777777777);
const allLon = [], allLat = [];
if (this.productSubType === productSubTypeVal.ACS_ORTHOPHOTO) {
for (let i in allSampel) {
@ -480,6 +479,8 @@ export default {
allLat.push(allSampel[i].lat);
}
}
console.log(88888888888888);
const sampleExtent = [Math.min(...allLon), Math.min(...allLat), Math.max(...allLon), Math.max(...allLat)]
this.setViewToRect(sampleExtent[0], sampleExtent[1], sampleExtent[2], sampleExtent[3]);
@ -587,8 +588,8 @@ export default {
if (fi.typeIdKg !== null) {
const fParams = new FormData();
fParams.append("coverId", fi.id);
fParams.append("kgTypeId", Number(fi.typeIdKg));
fParams.append("kgTypeName", fi.typeNameKg);
fParams.append("kgTypeId",fi.typeIdKg);
fParams.append("typeNameKg", fi.typeNameKg);
updateFeature(fParams);
}
}
@ -671,9 +672,9 @@ export default {
computed: {
hasPixelFun: function () {
return (
this.productSubType !== 45 &&
this.productSubType !== 39 &&
this.productSubType !== 47
this.productSubType !== 1 &&
this.productSubType !== 6 &&
this.productSubType !== 12
);
},
globalSampleFun: function () {
@ -690,7 +691,6 @@ export default {
</script>
<style scoped lang="less">
.Fade-enter,
.Fade-leave-to {
opacity: 0;

View File

@ -96,8 +96,8 @@
style="width: 98%; margin-left: 1%; margin-top: 15px" height="200">
<el-table-column label="序号" align="center" type="index" width="100">
</el-table-column>
<el-table-column prop="coverName" label="地物类型名称" align="center"></el-table-column>
<el-table-column prop="imageValue" label="像素实际值" align="center"></el-table-column>
<el-table-column prop="typeName" label="地物类型名称" align="center"></el-table-column>
<el-table-column prop="typeId" label="像素实际值" align="center"></el-table-column>
</el-table>
</div>
@ -151,7 +151,7 @@
<script>
import cu from "@/lib/cesiumUtils";
//
import { getOrderAndProduct, getOrderSamples, updateFeature, getProductMetaMsg, orderFeedback, updateOrderStage } from '@/api/pendingOrder';
import { getOrderAndProduct, getOrderSamples, updateFeature, getCoverTypes, getProductMetaMsg, orderFeedback, updateOrderStage } from '@/api/pendingOrder';
import { productSubTypeVal } from "@/lib/contract.js";
import qs from "qs";
import ProductInfo from "../../../components/productInfo/index";
@ -299,11 +299,11 @@ export default {
getProductMetaMsg(JSON.stringify({ dataPath: res.data.tifPath })).then((res) => {
if (res.code === 200) {
const pm = (self.productMsg = res.data);
console.log(pm,'pm');
console.log(pm, 'pm');
const om = self.orderMsg;
console.log(om,'om');
console.log(om, 'om');
//
self.orderData = [];
self.orderData.push({
@ -343,24 +343,21 @@ export default {
this.layerName = geoLN;
cu.addlayer(geoWS, geoLN);
cu.flyToLayerRect(minLon, minLat, maxLon, maxLat);
const proSubId = om.productSubClassId;
console.log(proSubId,'proSubId');
const proSubId = om.productSubclassId;
//
if (proSubId === 6) {
self.groudClassShow = true;
document.cookie = 'KJInspect-Token=' + self.token
updateFeature(self.userId, orderId, self.token).then(res => {
getCoverTypes(orderId).then(res => {
if (res.code == 200) {
const rd = res.dataList;
const rd = res.data;
const gda = []
for (let i in rd) {
if (rd[i].systemCoverList[0]) {
gda.push({ imageName: rd[i].name, imageValue: rd[i].imageValue, coverId: rd[i].systemCoverList[0].coverId, coverName: rd[i].systemCoverList[0].coverName });
if (rd[i]) {
gda.push({ imageName: rd[i].typeName, imageValue: rd[i].typeId, coverId: rd[i].typeIdKg, coverName: rd[i].typeNameKg });
}
}
self.groudClassData = gda;
self.groudClassData = rd;
}
})
} else if (proSubId === 12) {
@ -404,7 +401,7 @@ export default {
this.isShow = !this.isShow;
},
todaichuli() {
window.location.href = `${DAICHULI_URL}?orderid=${this.orderId}&token=${this.token}`;
this.$router.push('/daichuli');
},
backpage() {
this.$router.go(-1);
@ -456,8 +453,8 @@ export default {
this.dialogFormVisible = false;
// window.location.href = DAICHULI_URL;
const up = new FormData();
up.append("orderId", this.orderMsg.id)
up.append("orderStatus", 3)
up.append("orderId", this.orderId)
up.append("orderStatus", 10)
up.append("userId", this.userId)
updateOrderStage(up).then(res => {
if (res.code === 200) this.$router.push({ name: '待处理的检验订单' });
@ -487,7 +484,7 @@ export default {
cu.removePoint();
if (psid === productSubTypeVal.ACS_ORTHOPHOTO) {
for (let i in sp) {
cu.addPoint(sp[i].measureLong, sp[i].measureLat, 10);
cu.addPoint(sp[i].lon, sp[i].lat, 10);
}
} else {
for (let i in sp) {

View File

@ -4,26 +4,11 @@
<div class="title">
<span class="sp1"></span><span class="sp2">订单信息</span>
</div>
<el-table
:data="orderList"
:header-cell-style="{ background: '#E4E9F1' }"
:cell-style="tableRowClassName"
style="width: 98%; margin-left: 1%; margin-top: 15px"
:default-sort="{ prop: 'date', order: 'descending' }"
>
<el-table-column
prop="orderCode"
label="订单编号"
width="180"
align="center"
>
<el-table :data="orderList" :header-cell-style="{ background: '#E4E9F1' }" :cell-style="tableRowClassName"
style="width: 98%; margin-left: 1%; margin-top: 15px" :default-sort="{ prop: 'date', order: 'descending' }">
<el-table-column prop="orderCode" label="订单编号" width="180" align="center">
</el-table-column>
<el-table-column
prop="orderSource"
label="订单来源"
width="180"
align="center"
>
<el-table-column prop="orderSource" label="订单来源" width="180" align="center">
<template slot-scope="scope">
{{ scope.row.orderSource | orderSourceFilter }}
</template>
@ -35,22 +20,12 @@
</el-table-column>
<el-table-column prop="fileName" label="文件名" align="center">
</el-table-column>
<el-table-column
prop="fileSize"
label="文件大小"
sortable
align="center"
>
<el-table-column prop="fileSize" label="文件大小" sortable align="center">
<template slot-scope="scope">
{{ scope.row.fileSize | transformByte }}
</template>
</el-table-column>
<el-table-column
prop="fileFormat"
label="文件格式"
sortable
align="center"
>
<el-table-column prop="fileFormat" label="文件格式" sortable align="center">
</el-table-column>
<el-table-column label="元数据" align="center">
<el-button type="primary" @click="openMetaCode"></el-button>
@ -62,38 +37,18 @@
<span class="sp1"></span><span class="sp2">元数据信息</span>
</div>
<div class="cstop">
<el-form
:inline="true"
:model="metaFormMsg"
class="demo-form-inline"
:disabled="true"
>
<el-form :inline="true" :model="metaFormMsg" class="demo-form-inline" :disabled="true">
<el-form-item label="卫星" class="ysjMsg">
<el-input
class="ysjMsgMrg"
v-model="metaFormMsg.satellite"
placeholder="卫星名称"
></el-input>
<el-input class="ysjMsgMrg" v-model="metaFormMsg.satellite" placeholder="卫星名称"></el-input>
</el-form-item>
<el-form-item label="载荷" class="ysjMsg">
<el-input
class="ysjMsgMrg"
v-model="metaFormMsg.load"
placeholder="载荷方式"
></el-input>
<el-input class="ysjMsgMrg" v-model="metaFormMsg.load" placeholder="载荷方式"></el-input>
</el-form-item>
<el-form-item label="空间分辨率" class="ysjMsg2">
<el-input
v-model="metaFormMsg.resRatio"
placeholder="空间分辨率"
></el-input>
<el-input v-model="metaFormMsg.resRatio" placeholder="空间分辨率"></el-input>
</el-form-item>
<el-form-item label="时间" class="ysjMsg">
<el-input
class="ysjMsgMrg"
v-model="formatDateStr"
placeholder="生产时间"
></el-input>
<el-input class="ysjMsgMrg" v-model="formatDateStr" placeholder="生产时间"></el-input>
</el-form-item>
<el-form-item label="级别" prop="resource" class="ysjMsg2">
<el-radio-group v-model="metaFormMsg.proLevel">
@ -101,38 +56,21 @@
<el-radio label="4"></el-radio>
<el-radio label="5"></el-radio>
<!-- <el-radio label="其他"></el-radio> -->
</el-radio-group> </el-form-item
><br />
</el-radio-group> </el-form-item><br />
<el-form-item label="坐标系统" class="ysjMsg">
<el-input
v-model="metaFormMsg.coordinateSys"
placeholder="坐标系统"
></el-input>
<el-input v-model="metaFormMsg.coordinateSys" placeholder="坐标系统"></el-input>
</el-form-item>
<el-form-item label="最小纬度" class="ysjMsg">
<el-input
v-model="metaFormMsg.minLat"
placeholder="最小纬度"
></el-input>
<el-input v-model="metaFormMsg.minLat" placeholder="最小纬度"></el-input>
</el-form-item>
<el-form-item label="最大纬度" class="ysjMsg2">
<el-input
style="margin-left: 6px"
v-model="metaFormMsg.maxLat"
placeholder="最大纬度"
></el-input>
<el-input style="margin-left: 6px" v-model="metaFormMsg.maxLat" placeholder="最大纬度"></el-input>
</el-form-item>
<el-form-item label="最小经度" class="ysjMsg">
<el-input
v-model="metaFormMsg.minLon"
placeholder="最小经度"
></el-input>
<el-input v-model="metaFormMsg.minLon" placeholder="最小经度"></el-input>
</el-form-item>
<el-form-item label="最大经度" class="ysjMsg2">
<el-input
v-model="metaFormMsg.maxLon"
placeholder="最大经度"
></el-input>
<el-input v-model="metaFormMsg.maxLon" placeholder="最大经度"></el-input>
</el-form-item>
</el-form>
</div>
@ -142,11 +80,7 @@
<div class="title">
<span class="sp1"></span><span class="sp2">待审核产品预览</span>
</div>
<div
id="auditPreview"
@click="pickValue"
style="overflow: hidden; position: relative"
></div>
<div id="auditPreview" @click="pickValue" style="overflow: hidden; position: relative"></div>
</div>
<div class="orderPdf">
<div class="title">
@ -167,20 +101,11 @@
<el-radio label="2">审核不通过</el-radio>
</el-radio-group>
</div>
<el-input
type="textarea"
:autosize="{ minRows: 2, maxRows: 4 }"
placeholder="请输入内容"
v-model="auditText"
>
<el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" placeholder="请输入内容" v-model="auditText">
</el-input>
<div class="btngroup">
<el-button class="shbtn" type="primary" @click="cancleSubmit"
>取消</el-button
>
<el-button class="shbtn" type="primary" @click="submitAuditMsg"
>确定</el-button
>
<el-button class="shbtn" type="primary" @click="cancleSubmit"></el-button>
<el-button class="shbtn" type="primary" @click="submitAuditMsg"></el-button>
</div>
</div>
</div>
@ -306,8 +231,8 @@ export default {
const om = this.queryParams;
const pdUId = om.product_upload_id;
getProductMsg(qs.stringify({ productId: pdUId })).then((res) => {
if (res || res.length !== 0) {
const r = res[0];
if (res.code == 200) {
const r = res.data[0];
sessionStorage.setItem("tifPath", r.tifPath);
self.orderList = [];
self.orderList.push({
@ -318,9 +243,10 @@ export default {
fileSize: r.fileSize,
fileFormat: r.fileFormat,
});
getProductMetaMsg(qs.stringify({ dataPath: r.tifPath })).then(
(res) => {
if (res !== null) {
getProductMetaMsg(JSON.stringify({ dataPath: r.tifPath })).then(
(r) => {
if (r.code == 200) {
let res = r.data
self.metaFormMsg = {
satellite: om.satellite_name,
load: om.satellite_load_name,
@ -375,7 +301,7 @@ export default {
const om = this.queryParams;
const oe = {
orderId: om.id,
userId: localStorage.userId,
userId: om.user_id,
exContext: this.auditText,
exResult: Number(this.auditVal),
};
@ -396,7 +322,7 @@ export default {
const up = new FormData();
up.append("orderId", om.id);
up.append("orderStatus", os);
up.append("userId", om.user_id);
up.append("userId", localStorage.userId);
updateOrderStage(up).then((res) => {
if (res.code === 200) this.$router.push({ name: "待审核检验订单" });
});
@ -442,12 +368,14 @@ export default {
height: 180px;
padding-bottom: 20px;
}
.metaMsg {
width: 100%;
background-color: white;
font-size: 20px;
margin-top: 20px;
}
.showOrderMsg {
width: 100%;
// background-color: white;
@ -455,11 +383,13 @@ export default {
margin: 20px 0 20px 0;
height: 600px;
}
.title {
height: 40px;
line-height: 40px;
border-bottom: 1px solid rgb(205, 205, 205, 0.5);
}
.orderScene {
width: 50%;
height: inherit;
@ -467,6 +397,7 @@ export default {
float: left;
padding-bottom: 5px;
}
#auditPreview {
width: 98%;
height: calc(100% - 45px);
@ -474,6 +405,7 @@ export default {
margin-left: 1%;
margin-top: 2px;
}
.orderPdf {
width: calc(50% - 10px);
margin-left: 10px;
@ -482,6 +414,7 @@ export default {
height: inherit;
padding-bottom: 5px;
}
.orderPdf {
width: calc(50% - 10px);
margin-left: 10px;
@ -489,29 +422,35 @@ export default {
background-color: white;
height: inherit;
padding-bottom: 5px;
.pdfDom {
height: 560px;
background-color: white;
.pdfPage {
width: 100%;
height: 100%;
}
}
}
.orderAudit {
background-color: white;
}
.radiogroup {
margin-top: 20px;
margin-left: 20px;
height: 50px;
}
.btngroup {
margin-top: 20px;
margin-bottom: 20px;
// margin-left: 40%;
text-align: center;
}
.shbtn {
width: 150px;
height: 35px;
@ -519,6 +458,7 @@ export default {
border: 0;
margin-bottom: 15px;
}
.sp1 {
display: inline-block;
width: 7px;
@ -528,24 +468,29 @@ export default {
left: 20px;
top: 6px;
}
.sp2 {
margin-left: 30px;
font-size: 20px;
font-weight: 700;
color: #354595;
}
.cstop {
margin-top: 20px;
margin-bottom: 0;
position: relative;
text-align: center;
}
.ysjMsg {
width: 18%;
}
.ysjMsgMrg {
margin-left: 14px;
}
.ysjMsg2 {
width: 20%;
}
@ -554,40 +499,51 @@ export default {
width: 140px;
height: 33px;
}
/deep/.cstop .el-form--inline .el-form-item__label {
text-align: justify;
// text-align-last: justify;
font-size: 15px;
}
/deep/.cstop .el-radio {
margin-right: 10px;
}
/deep/.cstop .el-radio__inner::after {
background-color: #354595;
}
/deep/.cstop .el-radio__input.is-checked .el-radio__inner {
border-color: #354595;
background: white;
}
/deep/.cstop .el-radio__input.is-disabled .el-radio__inner {
border-color: #354595;
}
/deep/.cstop .el-radio__input.is-disabled.is-checked .el-radio__inner::after {
background-color: #354595;
}
/deep/.cstop .el-radio__input.is-checked + .el-radio__label {
/deep/.cstop .el-radio__input.is-checked+.el-radio__label {
color: #606266;
}
/deep/.cstop .el-radio__inner {
border: 2px solid #354595;
}
/deep/.el-button {
line-height: 0;
}
/deep/.el-textarea__inner {
margin-left: 20px;
width: 50%;
}
/deep/.el-textarea__inner:focus {
border-color: #354595;
}

View File

@ -73,7 +73,7 @@
</el-table-column>
<el-table-column prop="userName" label="创建人员" align="center">
</el-table-column>
<el-table-column prop="auditName" label="检验人员" align="center">
<el-table-column prop="userName" label="检验人员" align="center">
</el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
@ -183,7 +183,7 @@ export default {
const sf = searchVal.searchForm;
sf.page = this.pageForm.page;
sf.limit = this.pageForm.limit;
sf.status = [2];
sf.status = [4];
getOrderListByStatus(sf).then((res) => {
if (res.code === 200) {

View File

@ -70,7 +70,7 @@
</el-table-column>
<el-table-column prop="userName" label="创建人员" align="center">
</el-table-column>
<el-table-column prop="auditName" label="检验人员" align="center">
<el-table-column prop="userName" label="检验人员" align="center">
</el-table-column>
<el-table-column
prop="inspectionName"
@ -191,9 +191,9 @@ export default {
getOrderList() {
const searchVal = this.$refs.orderSearchPanel;
const sf = searchVal.searchForm;
sf.auditId = localStorage.userId;
// sf.auditId = localStorage.userId;
if (sf.extOption !== "") sf.status = [sf.extOption];
else sf.status = [2, 3, 6, 7];
else sf.status = [4, 6, 7,10];
sf.page = this.pageForm.page;
sf.limit = this.pageForm.limit;
getOrderListByStatus(sf).then((res) => {

View File

@ -299,8 +299,8 @@ export default {
const om = this.queryParams;
const pdUId = om.product_upload_id;
getProductMsg(qs.stringify({ productId: pdUId })).then((res) => {
if (res || res.length !== 0) {
const r = res[0];
if (res.code == 200) {
const r = res.data[0];
self.orderList = [];
self.orderList.push({
orderCode: om.order_code,
@ -311,9 +311,10 @@ export default {
fileFormat: r.fileFormat,
});
sessionStorage.setItem("tifPath", r.tifPath);
getProductMetaMsg(qs.stringify({ dataPath: r.tifPath })).then(
(res) => {
if (res !== null) {
getProductMetaMsg(JSON.stringify({ dataPath: r.tifPath })).then(
(r) => {
if (r.code == 200) {
let res = r.data
self.metaFormMsg = {
satellite: om.satellite_name,
load: om.satellite_load_name,

View File

@ -73,7 +73,7 @@
</el-table-column>
<el-table-column prop="userName" label="创建人员" align="center">
</el-table-column>
<el-table-column prop="auditName" label="检验人员" align="center">
<el-table-column prop="userName" label="检验人员" align="center">
</el-table-column>
<el-table-column
prop="inspectionName"

View File

@ -23,7 +23,7 @@ module.exports = {
proxy: {
[process.env.VUE_APP_BASE_API]: {
target: "http://192.168.1.243:8086",
changeOrigin: true,
// changeOrigin: true,
pathRewrite: {
["^" + process.env.VUE_APP_BASE_API]: ""
}
@ -31,7 +31,7 @@ module.exports = {
[process.env.VUE_APP_MICROWAVE_API]: {
// target: "http://124.16.188.131:18086/macApi",
target: "http://192.168.1.243:8086/macApi",
changeOrigin: true,
// changeOrigin: true,
pathRewrite: {
["^" + process.env.VUE_APP_MICROWAVE_API]: ""
}
@ -40,7 +40,7 @@ module.exports = {
target: "http://192.168.1.243:18092/microwave",
// target: "https://124.16.188.131:28092/microwave",
// target: "http://192.168.1.227:18092/microwave",
changeOrigin: true,
// changeOrigin: true,
pathRewrite: {
["^" + process.env.VUE_APP_REALITY_API]: ""
}
@ -49,14 +49,14 @@ module.exports = {
target: "http://192.168.1.243:18093/file",
// target: "https://124.16.188.131:28093/file",
// target: "http://192.168.1.227:18093/file",
changeOrigin: true,
// changeOrigin: true,
pathRewrite: {
["^" + process.env.VUE_APP_FILE_API]: ""
}
},
[process.env.VUE_APP_QUYU_API]: {
target: "https://caplos.aircas.ac.cn/RCRSVATS/qygzt/admin-api/system/",
changeOrigin: true,
// changeOrigin: true,
pathRewrite: {
["^" + process.env.VUE_APP_QUYU_API]: ""
}