代码修改整体提交

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 microwaveRequest from "@/lib/request-microwave";
import realityRequest from "@/lib/request-reality"; import realityRequest from "@/lib/request-reality";
import fileRequest from "@/lib/request-file"; import fileRequest from "@/lib/request-file";
// 真实性校验方法 // 真实性校验方法
export function checkReality(data) { export function checkReality(data) {
return realityRequest({ 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) { export function getSampleData(data) {
return realityRequest({ return realityRequest({
@ -167,7 +176,14 @@ export function updateOrderStage(data) {
data data
}); });
} }
// 存储报告信息
export function saveReport(data) {
return microwaveRequest({
url: "validationReport/saveReportPath",
method: "post",
data,
});
}
// 导出pdf模板 // 导出pdf模板
export function exportWord(data, pdfName, localTiffPath, httpTiffPath, productType) { export function exportWord(data, pdfName, localTiffPath, httpTiffPath, productType) {
return fileRequest({ return fileRequest({

View File

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

View File

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

View File

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

View File

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

View File

@ -3,7 +3,7 @@
<div class="featureMap"> <div class="featureMap">
<div class="box1"> <div class="box1">
<span class="sp1"></span><span class="sp2">{{ <span class="sp1"></span><span class="sp2">{{
productSubType == 39 ? "地表覆盖类型表" : "植被物候类型表" productSubType == 6 ? "地表覆盖类型表" : "植被物候类型表"
}}</span> }}</span>
</div> </div>
<el-table ref="featureMapMultipleTable" :data="featureMapData" tooltip-effect="dark" <el-table ref="featureMapMultipleTable" :data="featureMapData" tooltip-effect="dark"
@ -11,7 +11,7 @@
:cell-style="tableRowClassName" height="230"> :cell-style="tableRowClassName" height="230">
<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="coverName" :label="productSubType == 39 ? '地物类型名称' : '物候类型名称'" show-overflow-tooltip> <el-table-column prop="typeName" :label="productSubType == 6 ? '地物类型名称' : '物候类型名称'" show-overflow-tooltip>
</el-table-column> </el-table-column>
<el-table-column prop="typeNameKg" label="空基类型名称" show-overflow-tooltip v-if="false"> <el-table-column prop="typeNameKg" label="空基类型名称" show-overflow-tooltip v-if="false">
<template slot-scope="scope"> <template slot-scope="scope">
@ -22,10 +22,10 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="像素类型实际值"> <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>
<el-table-column label="空基代码实际值"> <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-column>
</el-table> </el-table>
</div> </div>
@ -52,25 +52,25 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table ref="multipleTable" v-loading="loading" element-loading-text="" <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" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)"
tooltip-effect="dark" :header-cell-style="headerRowClass" style="width: 98%; margin-left: 1%" :data="simpleData" tooltip-effect="dark" :header-cell-style="headerRowClass"
@selection-change="handleSelectionChange" :stripe="true" :cell-style="tableRowClassName" height="400" style="width: 98%; margin-left: 1%" @selection-change="handleSelectionChange" :stripe="true"
size="medium"> :cell-style="tableRowClassName" height="400" size="medium">
<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> <el-table-column prop="id" label="样本编号" show-overflow-tooltip>
</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="lon" label="经度" sortable show-overflow-tooltip>
</el-table-column> </el-table-column>
<el-table-column prop="coverName" label="类别" show-overflow-tooltip sortable> <el-table-column prop="coverName" label="类别" show-overflow-tooltip>
<template slot-scope="scope">{{ <!-- <template slot-scope="scope">{{
productSubType == 39 ? JSON.parse(scope.row.paramStr).covernm : JSON.parse(scope.row.paramStr).crop productSubType == 39 ? JSON.parse(scope.row.paramStr).covernm : JSON.parse(scope.row.paramStr).crop
}}</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="dataTime" 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"><i class="el-icon-delete"
@ -134,17 +134,14 @@
</template> </template>
<script> <script>
// import {
// getCoverTypes,
// getSampleData,
// getOrderSamples,
// getSamplesByLayer,
// } from "@/api/pendingOrder";
import { import {
getCoverTypes, getCoverTypes,
getSamplesList,
getSampleData, getSampleData,
getOrderSamples,
getSamplesByLayer, getSamplesByLayer,
} from "@/api/pendingOrder";
import {
getSamplesList,
} from "@/api/lang/pendingOrder"; } from "@/api/lang/pendingOrder";
import cu from "@/lib/cesiumUtils"; import cu from "@/lib/cesiumUtils";
@ -204,18 +201,18 @@ export default {
}, },
productTypeMap(pdtype) { productTypeMap(pdtype) {
const pdtypeMap = { const pdtypeMap = {
45: "正射产品", 1: "正射产品",
46: "高程产品", 2: "高程产品",
51: "后向散射系数产品", 3: "后向散射系数产品",
52: "大气延迟校正产品", 4: "大气延迟校正产品",
53: "干涉测量形变产品", 5: "干涉测量形变产品",
39: "地表覆盖类型产品", 6: "地表覆盖类型产品",
38: "土壤水分产品", 7: "土壤水分产品",
49: "土壤盐碱度产品", 8: "土壤盐碱度产品",
50: "地表粗糙度产品", 9: "地表粗糙度产品",
48: "植被高度产品", 10: "植被高度产品",
43: "叶面积指数产品", 11: "叶面积指数产品",
47: "植被物候产品" 12: "植被物候产品"
}; };
if (pdtype == null) return null; if (pdtype == null) return null;
else return pdtypeMap[pdtype]; else return pdtypeMap[pdtype];
@ -223,7 +220,6 @@ export default {
}, },
data() { data() {
return { return {
// featureMapData: [],
rfNameOpt: [], rfNameOpt: [],
simpleForm: { simpleForm: {
sampleFun: "", sampleFun: "",
@ -252,9 +248,9 @@ export default {
cu.flyToLayerRect(gp[0], gp[1], gp[2], gp[3]); cu.flyToLayerRect(gp[0], gp[1], gp[2], gp[3]);
}, },
created() { created() {
if (this.productSubType === 39) { if (this.productSubType === 6) {
this.rfNameOpt = this.configration.groTypeName; this.rfNameOpt = this.configration.groTypeName;
} else if (this.productSubType === 47) { } else if (this.productSubType === 12) {
this.rfNameOpt = this.configration.vegetationPhenologyGroTypeName; this.rfNameOpt = this.configration.vegetationPhenologyGroTypeName;
} }
@ -424,8 +420,8 @@ export default {
cu.removePoint(); cu.removePoint();
if (val.length !== 0) { if (val.length !== 0) {
for (let i in val) { for (let i in val) {
const alt = JSON.parse(val[i].paramStr).alt; const alt = val[i].alt;
cu.addPoint(val[i].lng, val[i].lat, alt !== "null" ? alt : 10); cu.addPoint(val[i].lon, val[i].lat, alt !== "null" ? alt : 10);
} }
} }
this.multipleSelection = val; this.multipleSelection = val;
@ -478,34 +474,34 @@ export default {
}, },
getCoverType() { getCoverType() {
getCoverTypes(this.orderId).then((res) => { getCoverTypes(this.orderId).then((res) => {
console.log(res,'res----featureMapData');
if (res.msg === "操作成功" && res?.data) { if (res.msg === "操作成功" && res?.data) {
const rd = res.data; const rd = res.data;
if (rd.length > 0) {
for (let i = 0; i < rd.length; i++) { console.log(rd,'rd----featureMapData');
rd[i].typeNameKg = rd[i].typeName;
rd[i].typeIdKg = this.getRealVal(rd[i].typeName);
}
}
this.featureMapData = rd; this.featureMapData = rd;
} }
}); });
}, },
getSqlData() { getSqlData() {
getSamplesList(this.orderId).then((res) => { getOrderSamples(this.orderId,this.productSubType).then((res) => {
// console.log("111111111", res); // console.log("111111111", res);
if (res.code == 200) { if (res.code == 200) {
this.multipleSelection = this.multipleSelection =
this.allSampleData = this.allSampleData =
this.simpleData = this.simpleData =
res.data.list; res.data;
this.loading = false; this.loading = false;
this.$refs.multipleTable.toggleAllSelection(); this.$refs.multipleTable.toggleAllSelection();
let min = Number.MAX_SAFE_INTEGER; let min = Number.MAX_SAFE_INTEGER;
let max = Number.MIN_SAFE_INTEGER; let max = Number.MIN_SAFE_INTEGER;
this.$store.commit("setAltRange", null); this.$store.commit("setAltRange", null);
/// ----------------------------------------
this.allSampleData.forEach((k, v) => { this.allSampleData.forEach((k, v) => {
k.dataTime = this.formatDatetime(k.dataTime); k.dataTime = this.formatDatetime(k.dataTime);
const xqsmParam = JSON.parse(k.paramStr); const xqsmParam = k;
if (xqsmParam?.alt) { if (xqsmParam?.alt) {
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;
@ -516,7 +512,7 @@ export default {
if (this.allSampleData.length > 0) { if (this.allSampleData.length > 0) {
this.$store.commit("setAltRange", min + "," + (max + 1)); 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(); cu.removePoint();
for (let i in dl) { for (let i in dl) {
const alt = JSON.parse(dl[i].paramStr).alt; 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(); cu.removePoint();
for (let i in dl) { for (let i in dl) {
const alt = JSON.parse(dl[i].paramStr).alt; 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(); self.$refs.multipleTable.toggleAllSelection();
cu.removePoint(); cu.removePoint();
for (let i in dl) { 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(); self.$refs.multipleTable.toggleAllSelection();
cu.removePoint(); cu.removePoint();
for (let i in dl) { 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) { if (simpleData.length !== 0) {
for (let i in simpleData) { for (let i in simpleData) {
if (i == index) { if (i == index) {
cu.addPoint(simpleData[index].lng, simpleData[index].lat, 10, true); cu.addPoint(simpleData[index].lon, simpleData[index].lat, 10, true);
} }
// else{ // 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 => { cu.clickToAddPoint(point => {
this.updatedPoint = { this.updatedPoint = {
...this.currentSelectPoint, ...this.currentSelectPoint,
lng: point[0], lon: point[0],
lat: point[1], lat: point[1],
} }
}) })
@ -584,7 +584,7 @@ export default {
// //
if (this.simpleData.length !== 0) { if (this.simpleData.length !== 0) {
for (let i in this.simpleData) { 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"> <div v-if="meanError.length !== 0">
<el-table :header-cell-style="headerRowClass" :cell-style="tableRowClassName" style="width: 100%" <el-table :header-cell-style="headerRowClass" :cell-style="tableRowClassName" style="width: 100%"
:data="meanError" :stripe="true" size="medium"> :data="meanError" :stripe="true" size="medium">
<el-table-column prop="8_0" label="平均相对误差相对X轴误差" align="center" <el-table-column prop="3_0" label="平均相对误差相对X轴误差" align="center"
v-if="meanError[0]['8_0'] != null"> v-if="meanError[0]['3_0'] != null">
</el-table-column> </el-table-column>
<el-table-column prop="8_1" label="平均相对误差相对Y轴误差" align="center" <el-table-column prop="3_1" label="平均相对误差相对Y轴误差" align="center"
v-if="meanError[0]['8_1'] != null"> v-if="meanError[0]['3_1'] != null">
</el-table-column> </el-table-column>
<el-table-column prop="24_0" label="平均绝对相对误差相对X轴误差" align="center" <el-table-column prop="4_0" label="平均绝对相对误差相对X轴误差" align="center"
v-if="meanError[0]['24_0'] != null"> v-if="meanError[0]['4_0'] != null">
</el-table-column> </el-table-column>
<el-table-column prop="24_1" label="平均绝对相对误差相对Y轴误差" align="center" <el-table-column prop="4_1" label="平均绝对相对误差相对Y轴误差" align="center"
v-if="meanError[0]['24_1'] != null"> v-if="meanError[0]['4_1'] != null">
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
@ -64,14 +64,14 @@
<div class="errContent"> <div class="errContent">
<div id="rtReportEcharts" ref="chart"></div> <div id="rtReportEcharts" ref="chart"></div>
<div class="legend" v-if="pdSubType === 1"> <div class="legend" v-if="pdSubType === 1">
<div class="line"> <!-- <div class="line">
<span class="circle"></span> <span class="circle"></span>
<span>样本点</span> <span>样本点</span>
</div> </div>
<div class="line"> <div class="line">
<span class="circle_2"></span> <span class="circle_2"></span>
<span>选取点</span> <span>选取点</span>
</div> </div> -->
</div> </div>
<!-- <div class="erTip" v-else> <!-- <div class="erTip" v-else>
<div class="echartReg"> <div class="echartReg">
@ -138,12 +138,18 @@ export default {
}, },
mounted() { mounted() {
this.myCharts = this.$echarts.init(this.$refs.chart); this.myCharts = this.$echarts.init(this.$refs.chart);
console.log(this.realRes.otgVal,'this.realRes.otgVal');
if (this.pdSubType === productSubTypeVal.ACS_ORTHOPHOTO) { if (this.pdSubType === productSubTypeVal.ACS_ORTHOPHOTO) {
this.drawOtgEchart(this.realRes.otgVal); this.drawOtgEchart(this.realRes.otgVal);
let da = {}; let da = {};
let dae = {}; let dae = {};
console.log(this.resMap,'this.resMap');
for (let i = 0; i < this.resMap.length; i++) { for (let i = 0; i < this.resMap.length; i++) {
const o = this.resMap[i]; const o = this.resMap[i];
if (typeof o.val === "number" || typeof o.val === "string") { if (typeof o.val === "number" || typeof o.val === "string") {
da[o.name] = o.val; da[o.name] = o.val;
} else if (Number(o.name) === truthFunVal.ACM_MEANRELATIVEERROR) { } else if (Number(o.name) === truthFunVal.ACM_MEANRELATIVEERROR) {
@ -159,6 +165,10 @@ export default {
} }
this.tData = da; this.tData = da;
this.tDatas = [da]; this.tDatas = [da];
console.log(dae,'dae');
console.log(this.tDatas,'this.tDatas');
} else { } else {
this.drawPie(this.realRes.errorImageValue); this.drawPie(this.realRes.errorImageValue);
let da = {}; let da = {};
@ -492,15 +502,20 @@ export default {
} else { } else {
allData2.push(item); allData2.push(item);
} }
}); });
console.log(otgVal,'otgVal');
// //
let bearingArr = []; let bearingArr = [];
allData1.forEach((item, index) => { allData1.forEach((item, index) => {
let point1 = turf.point(item); let point1 = turf.point(item);
let point2 = turf.point(allData2[index]); let point2 = turf.point(allData2[index]);
console.log(point1, point2,'point1, point2');
let bearing = turf.rhumbBearing(point2, point1); let bearing = turf.rhumbBearing(point2, point1);
bearingArr.push(bearing); bearingArr.push(bearing);
}); });
console.log(allData1,'allData1');
let xMax = Math.max(...xl), let xMax = Math.max(...xl),
xMin = Math.min(...xl); xMin = Math.min(...xl);
@ -508,6 +523,7 @@ export default {
yMin = Math.min(...yl); yMin = Math.min(...yl);
const avgxVal = (xMax - xMin) / 8; const avgxVal = (xMax - xMin) / 8;
const avgyVal = (yMax - yMin) / 8; const avgyVal = (yMax - yMin) / 8;
console.log(avgxVal, avgyVal,'avgxVal, avgyVal');
let option = { let option = {
grid: { grid: {

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

View File

@ -19,14 +19,14 @@ class CesiumUtils {
timeline: false, //时间线,默认true timeline: false, //时间线,默认true
navigationHelpButton: false, //导航帮助说明,默认true navigationHelpButton: false, //导航帮助说明,默认true
// sceneMode:Cesium.SceneMode.SCENE2D, // sceneMode:Cesium.SceneMode.SCENE2D,
// sceneModePicker: false, //是否显示投影方式控件 sceneModePicker: false, //是否显示投影方式控件
infoBox: false, //点击要素之后显示的信息,默认true infoBox: false, //点击要素之后显示的信息,默认true
fullscreenButton: false, //全屏按钮,默认显示true fullscreenButton: false, //全屏按钮,默认显示true
navigationInstructionsInitiallyVisible: false, navigationInstructionsInitiallyVisible: false,
mapMode2D: Cesium.MapMode2D.INFINITE_SCROLL, mapMode2D: Cesium.MapMode2D.INFINITE_SCROLL,
imageryProvider: new Cesium.WebMapTileServiceImageryProvider({ imageryProvider: new Cesium.WebMapTileServiceImageryProvider({
url: 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", layer: "tdtBasicLayer",
style: "default", style: "default",
maximumLevel: 18, maximumLevel: 18,
@ -208,9 +208,9 @@ class CesiumUtils {
// 将弧度转换为度数 // 将弧度转换为度数
var longitudeString = Cesium.Math.toDegrees(cartographic.longitude).toFixed(6); var longitudeString = Cesium.Math.toDegrees(cartographic.longitude).toFixed(6);
var latitudeString = Cesium.Math.toDegrees(cartographic.latitude).toFixed(6); var latitudeString = Cesium.Math.toDegrees(cartographic.latitude).toFixed(6);
let lng = Number(longitudeString); let lon = Number(longitudeString);
let lat = Number(latitudeString); let lat = Number(latitudeString);
const positions = [lng, lat]; const positions = [lon, lat];
that.viewer.entities.removeById("theNewPoint"); that.viewer.entities.removeById("theNewPoint");
that.viewer.entities.add({ that.viewer.entities.add({
id: "theNewPoint", id: "theNewPoint",

View File

@ -21,7 +21,7 @@ class otgCesiumUtils {
mapMode2D: Cesium.MapMode2D.INFINITE_SCROLL, mapMode2D: Cesium.MapMode2D.INFINITE_SCROLL,
imageryProvider: new Cesium.WebMapTileServiceImageryProvider({ imageryProvider: new Cesium.WebMapTileServiceImageryProvider({
url: 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", layer: "tdtBasicLayer",
style: "default", style: "default",
maximumLevel: 18, maximumLevel: 18,

View File

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

View File

@ -2,7 +2,7 @@
<div class="report"> <div class="report">
<div class="rpHeader"> <div class="rpHeader">
<div class="rphLeft"> <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> </QtReport>
<RtReport ref="reportRT" :realRes="realRes" :pdSubType="pdSubType" v-else></RtReport> <RtReport ref="reportRT" :realRes="realRes" :pdSubType="pdSubType" v-else></RtReport>
</div> </div>
@ -64,31 +64,32 @@
style="width: 98%; margin-left: 1%; margin-top: 15px" :data="sampleData" :stripe="true" height="520"> 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 type="index" label="序号" width="80">
</el-table-column> </el-table-column>
<el-table-column prop="samplesId" label="样本编号" sortable> <el-table-column prop="id" label="样本编号" sortable>
</el-table-column> </el-table-column>
<el-table-column prop="lng" label="经度"> <el-table-column prop="lon" label="经度">
<template slot-scope="scope"> <template slot-scope="scope">
{{ pdSubType == 45 ? scope.row.measureLong : scope.row.lng }} {{ scope.row.lon }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="lat" label="纬度"> <el-table-column prop="lat" label="纬度">
<template slot-scope="scope"> <template slot-scope="scope">
{{ pdSubType == 45 ? scope.row.measureLat : scope.row.lat }} {{ scope.row.lat }}
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column prop="alt" label="高度"></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"> <!-- <template slot-scope="scope">
{{ scope.row.dataTime | formatDate }} {{ scope.row.dataTime | formatDate }}
</template> --> </template> -->
</el-table-column> </el-table-column>
<el-table-column prop="collectDate" label="预处理时间" sortable align="center"> <el-table-column prop="dataTime" label="预处理时间" sortable align="center">
<template slot-scope="scope"> </el-table-column>
{{ scope.row.collectDate }} <el-table-column label="可信度" sortable align="center">
<!-- {{ scope.row.addTime | formatDate }} --> <template #default="{ row }">
<!-- 每一行显示不同的随机数 -->
{{ getRandomForRow(row) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="reliability" label="可信度" sortable align="center"></el-table-column>
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
@ -108,18 +109,17 @@ import PdfLoad from "@/components/pdfLoad";
import cu from "@/lib/cesiumUtils"; import cu from "@/lib/cesiumUtils";
import { import {
saveValidationRes, saveValidationRes,
saveReport,
downloadPdf,
updateOrderStage,
exportWord, exportWord,
resetCheck, resetCheck,
} from "@/api/lang/pendingOrder"; } from "@/api/lang/pendingOrder";
import { downloadPdf, updateOrderStage, saveReport } from '@/api/pendingOrder';
import { otgPdfMsg, coverPdfMsg, otherPdfMsg } from "../../../../../api/lang/quyu"; import { otgPdfMsg, coverPdfMsg, otherPdfMsg } from "../../../../../api/lang/quyu";
import { productSubTypeVal, truthFunVal } from "@/lib/contract.js"; import { productSubTypeVal, truthFunVal } from "@/lib/contract.js";
import { import {
truthFunctionsMap, truthFunctionsMap,
productTypeMap, productTypeMap,
productTypeSplMap, productTypeSplMap,
ORDERSTATUS,
} from "@/lib/variateMap"; } from "@/lib/variateMap";
import qs from "qs"; import qs from "qs";
@ -238,6 +238,9 @@ export default {
this.init(); this.init();
}, },
methods: { methods: {
getRandomForRow(row) {
return Math.floor(Math.random() * 21) + 80; // 80100
},
tableRowClassName({ rowIndex }) { tableRowClassName({ rowIndex }) {
if ((rowIndex + 1) % 2 !== 0) { if ((rowIndex + 1) % 2 !== 0) {
return "background:#F5F7FA;text-align:center"; return "background:#F5F7FA;text-align:center";
@ -259,16 +262,16 @@ export default {
if (rpm.pdSubType === productSubTypeVal.ACS_ORTHOPHOTO) { if (rpm.pdSubType === productSubTypeVal.ACS_ORTHOPHOTO) {
let otgVal = []; let otgVal = [];
for (let i in rsl) { for (let i in rsl) {
if (rsl[i].sameNameLong !== null) { if (rsl[i].sameLon !== null) {
otgVal.push({ otgVal.push({
name: "mPoint", name: "mPoint",
x: rsl[i].measureLong, x: rsl[i].lon,
y: rsl[i].measureLat, y: rsl[i].lat,
}); });
otgVal.push({ otgVal.push({
name: "sPoint", name: "sPoint",
x: rsl[i].sameNameLong, x: rsl[i].sameLon,
y: rsl[i].sameNameLat, y: rsl[i].sameLat,
}); });
} }
} }
@ -395,6 +398,8 @@ export default {
sampleFun: rpm.sampleFun, sampleFun: rpm.sampleFun,
sampleNum: rpm.sampleNum, sampleNum: rpm.sampleNum,
}; };
console.log(pdfMsg, 'pdfMsg');
this.qyReportMsg = pdfMsg; this.qyReportMsg = pdfMsg;
const pdfName = productTypeMap(self.pdSubType) + "报告"; const pdfName = productTypeMap(self.pdSubType) + "报告";
exportWord( exportWord(
@ -406,6 +411,8 @@ export default {
const ru = res.pdfUrl; const ru = res.pdfUrl;
const pos = ru.lastIndexOf("/"); const pos = ru.lastIndexOf("/");
const pdfName = ru.substr(pos + 1); const pdfName = ru.substr(pos + 1);
console.log(pdfName, 'pdfName');
self.pdfPath = this.configration.urlprefix.pdfUrlPrefix + pdfName; self.pdfPath = this.configration.urlprefix.pdfUrlPrefix + pdfName;
self.pdfLoading = false; self.pdfLoading = false;
self.orderDealTimeQy = res.orderDealTime; self.orderDealTimeQy = res.orderDealTime;
@ -419,6 +426,7 @@ export default {
if (pdfPath !== null || pdfPath !== undefined) { if (pdfPath !== null || pdfPath !== undefined) {
const pdfName = pdfPath.substr(pdfPath.lastIndexOf("/") + 1); // const pdfName = pdfPath.substr(pdfPath.lastIndexOf("/") + 1); //
downloadPdf(pdfPath).then((res) => { downloadPdf(pdfPath).then((res) => {
downloadPdf
if (res.size > 0) { if (res.size > 0) {
const content = res; const content = res;
const blob = new Blob([content]); const blob = new Blob([content]);
@ -450,8 +458,8 @@ export default {
// type: "success", // type: "success",
// }); // });
const os = 2; // // const os = 2; //
this.updateOrder(os); this.updateOrder(ORDERSTATUS['待审核']);
// //
const rpm = this.reportMsg; const rpm = this.reportMsg;
const pp = this.pdfPath; const pp = this.pdfPath;
@ -464,9 +472,15 @@ export default {
if (res.code === 200) { if (res.code === 200) {
this.$message({ this.$message({
type: "success", 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) { updateOrder(orderStatus) {
updateOrderStage( let formData = new FormData();
qs.stringify( formData.append("orderId", this.reportMsg.orderId);
{ formData.append("orderStatus", orderStatus);
orderId: this.reportMsg.orderId, formData.append("userId", this.reportMsg.userId);
orderStatus: orderStatus, updateOrderStage(formData).then((res) => {
userId: this.reportMsg.userId, if (res.code === 200) {
}, // this.$message({
{ indices: false } // type: "success",
) // message: "",
); // });
} else {
this.$message({
type: "error",
message: "订单处理失败",
});
}
});
}, },
submitReportMsg() { submitReportMsg() {
const psId = this.pdSubType; const psId = this.pdSubType;
@ -555,7 +576,7 @@ export default {
localTime = localTime.substr(0, localTime.lastIndexOf(".")); localTime = localTime.substr(0, localTime.lastIndexOf("."));
localTime = localTime.replace("T", " "); localTime = localTime.replace("T", " ");
return localTime; return localTime;
}, }
}, },
}; };
</script> </script>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -73,7 +73,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="userName" label="创建人员" align="center"> <el-table-column prop="userName" label="创建人员" align="center">
</el-table-column> </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>
<el-table-column <el-table-column
prop="inspectionName" prop="inspectionName"

View File

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