964 lines
27 KiB
Vue
964 lines
27 KiB
Vue
|
<template>
|
||
|
<div>
|
||
|
<div>
|
||
|
<transition name="Fade" mode="out-in">
|
||
|
<router-view></router-view>
|
||
|
</transition>
|
||
|
</div>
|
||
|
<div class="page" v-show="pageshow">
|
||
|
<div class="daichuli">
|
||
|
<div class="box1">
|
||
|
<span class="sp1"></span><span class="sp2">订单信息</span>
|
||
|
</div>
|
||
|
<el-table
|
||
|
:data="orderData"
|
||
|
:header-cell-style="{ background: '#E4E9F1' }"
|
||
|
:cell-style="tableRowClassName"
|
||
|
style="width: 98%; margin-left: 1%; margin-top: 15px"
|
||
|
:default-sort="{ prop: 'date', order: 'descending' }"
|
||
|
>
|
||
|
<el-table-column
|
||
|
prop="orderCode"
|
||
|
label="订单编号"
|
||
|
width="180"
|
||
|
align="center"
|
||
|
>
|
||
|
</el-table-column>
|
||
|
<el-table-column
|
||
|
prop="orderSource"
|
||
|
label="订单来源"
|
||
|
width="180"
|
||
|
align="center"
|
||
|
>
|
||
|
<template slot-scope="scope">
|
||
|
{{ scope.row.orderSource | orderSourceFilter }}
|
||
|
</template>
|
||
|
</el-table-column>
|
||
|
<el-table-column prop="uploadDate" label="提交时间" align="center">
|
||
|
<template slot-scope="scope">
|
||
|
{{ scope.row.uploadDate | formatDate }}
|
||
|
</template>
|
||
|
</el-table-column>
|
||
|
<el-table-column prop="fileName" label="文件名" align="center">
|
||
|
</el-table-column>
|
||
|
<el-table-column
|
||
|
prop="fileSize"
|
||
|
label="文件大小"
|
||
|
sortable
|
||
|
align="center"
|
||
|
>
|
||
|
<template slot-scope="scope">
|
||
|
{{ scope.row.fileSize | transformByte }}
|
||
|
</template>
|
||
|
</el-table-column>
|
||
|
<el-table-column
|
||
|
prop="fileFormat"
|
||
|
label="文件格式"
|
||
|
sortable
|
||
|
align="center"
|
||
|
>
|
||
|
</el-table-column>
|
||
|
<el-table-column label="元数据" align="center">
|
||
|
<el-button type="primary" @click="changePage">查看</el-button>
|
||
|
</el-table-column>
|
||
|
</el-table>
|
||
|
</div>
|
||
|
<div class="daichuli2" v-show="isShow">
|
||
|
<div class="box1">
|
||
|
<span class="sp1"></span><span class="sp2">元数据查看</span>
|
||
|
</div>
|
||
|
<div class="cstop">
|
||
|
<el-form
|
||
|
:inline="true"
|
||
|
:model="formInline"
|
||
|
class="demo-form-inline"
|
||
|
:disabled="true"
|
||
|
>
|
||
|
<el-form-item label="卫星" class="ysjMsg">
|
||
|
<el-input
|
||
|
class="ysjMsgMrg"
|
||
|
v-model="formInline.satellite"
|
||
|
placeholder="卫星名称"
|
||
|
></el-input>
|
||
|
</el-form-item>
|
||
|
<el-form-item label="载荷名称" class="ysjMsg">
|
||
|
<el-input
|
||
|
v-model="formInline.load"
|
||
|
placeholder="载荷方式"
|
||
|
></el-input>
|
||
|
</el-form-item>
|
||
|
<el-form-item label="空间分辨率" class="ysjMsg2">
|
||
|
<el-input
|
||
|
v-model="formInline.resRatio"
|
||
|
placeholder="空间分辨率"
|
||
|
></el-input>
|
||
|
</el-form-item>
|
||
|
<el-form-item label="时间" class="ysjMsg" prop="producedDate">
|
||
|
<el-input
|
||
|
class="ysjMsgMrg"
|
||
|
v-model="formatDateStr"
|
||
|
placeholder="生产时间"
|
||
|
></el-input>
|
||
|
</el-form-item>
|
||
|
<el-form-item label="级别" prop="resource" class="ysjMsg2">
|
||
|
<el-radio-group v-model="formInline.proLevel">
|
||
|
<el-radio label="3"></el-radio>
|
||
|
<el-radio label="4"></el-radio>
|
||
|
<el-radio label="5"></el-radio>
|
||
|
<!-- <el-radio label="其他"></el-radio> -->
|
||
|
</el-radio-group> </el-form-item
|
||
|
><br />
|
||
|
<el-form-item label="坐标系统" class="ysjMsg">
|
||
|
<el-input
|
||
|
v-model="formInline.coordinateSys"
|
||
|
placeholder="坐标系统"
|
||
|
></el-input>
|
||
|
</el-form-item>
|
||
|
<el-form-item label="最小纬度" class="ysjMsg">
|
||
|
<el-input
|
||
|
v-model="formInline.minLat"
|
||
|
placeholder="最小纬度"
|
||
|
></el-input>
|
||
|
</el-form-item>
|
||
|
<el-form-item label="最大纬度" class="ysjMsg2">
|
||
|
<el-input
|
||
|
style="margin-left: 6px"
|
||
|
v-model="formInline.maxLat"
|
||
|
placeholder="最大纬度"
|
||
|
></el-input>
|
||
|
</el-form-item>
|
||
|
<el-form-item label="最小经度" class="ysjMsg">
|
||
|
<el-input
|
||
|
v-model="formInline.minLon"
|
||
|
placeholder="最小经度"
|
||
|
></el-input>
|
||
|
</el-form-item>
|
||
|
<el-form-item label="最大经度" class="ysjMsg2">
|
||
|
<el-input
|
||
|
v-model="formInline.maxLon"
|
||
|
placeholder="最大经度"
|
||
|
></el-input>
|
||
|
</el-form-item>
|
||
|
</el-form>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="daichuli1">
|
||
|
<div class="box1">
|
||
|
<span class="sp1"></span><span class="sp2">待检验产品预览</span
|
||
|
><el-button type="primary" size="small" @click="downLoadPro"
|
||
|
>下载</el-button
|
||
|
>
|
||
|
</div>
|
||
|
<product-info
|
||
|
@removeLayer="removeLayer"
|
||
|
@addLayer="addLayer"
|
||
|
@removeSample="removeSplData"
|
||
|
@addSample="getSplData"
|
||
|
></product-info>
|
||
|
<div class="preview">
|
||
|
<div
|
||
|
id="PendPreview"
|
||
|
@click="pickValue"
|
||
|
style="overflow: hidden; position: relative"
|
||
|
></div>
|
||
|
<!-- <div v-if="shadeIsShow" class="shade" @click="enterPreview">
|
||
|
<svg aria-hidden="true" width="22" height="22" focusable="false" data-prefix="fas" data-icon="hand-pointer" class="svg-inline--fa fa-hand-pointer fa-w-14 fa-lg " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
|
||
|
<path fill="currentColor" d="M448 240v96c0 3.084-.356 6.159-1.063 9.162l-32 136C410.686 499.23 394.562 512 376 512H168a40.004 40.004 0 0 1-32.35-16.473l-127.997-176c-12.993-17.866-9.043-42.883 8.822-55.876 17.867-12.994 42.884-9.043 55.877 8.823L104 315.992V40c0-22.091 17.908-40 40-40s40 17.909 40 40v200h8v-40c0-22.091 17.908-40 40-40s40 17.909 40 40v40h8v-24c0-22.091 17.908-40 40-40s40 17.909 40 40v24h8c0-22.091 17.908-40 40-40s40 17.909 40 40zm-256 80h-8v96h8v-96zm88 0h-8v96h8v-96zm88 0h-8v96h8v-96z"></path>
|
||
|
</svg>
|
||
|
点击进入
|
||
|
</div> -->
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<div class="daichuli1" v-if="groudClassShow">
|
||
|
<div class="box1">
|
||
|
<span class="sp1"></span
|
||
|
><span class="sp2">{{
|
||
|
orderMsg.product_subclass_id == 6
|
||
|
? "地表覆盖类型表"
|
||
|
: "植被物候类型表"
|
||
|
}}</span>
|
||
|
</div>
|
||
|
<el-table
|
||
|
:data="groudClassData"
|
||
|
:header-cell-style="{ background: '#E4E9F1' }"
|
||
|
:cell-style="tableRowClassName"
|
||
|
style="width: 98%; margin-left: 1%; margin-top: 15px"
|
||
|
height="200"
|
||
|
>
|
||
|
<el-table-column label="序号" align="center" type="index" width="100">
|
||
|
</el-table-column>
|
||
|
<el-table-column
|
||
|
prop="typeName"
|
||
|
label="地物类型名称"
|
||
|
align="center"
|
||
|
></el-table-column>
|
||
|
<el-table-column
|
||
|
prop="typeId"
|
||
|
label="像素实际值"
|
||
|
align="center"
|
||
|
></el-table-column>
|
||
|
</el-table>
|
||
|
</div>
|
||
|
|
||
|
<div class="dealGrp">
|
||
|
<el-button type="primary" @click="inspection">处理</el-button>
|
||
|
<el-button type="primary" @click="dialogFormVisible = true"
|
||
|
>无法处理</el-button
|
||
|
>
|
||
|
<el-button type="primary" @click="todaichuli">取消</el-button>
|
||
|
</div>
|
||
|
<!-- 无法处理弹窗 -->
|
||
|
<div class="unableDeal">
|
||
|
<el-dialog title="" :visible.sync="dialogFormVisible" width="35%">
|
||
|
<div class="box1">
|
||
|
<span class="sp1"></span><span class="sp2">反馈信息</span>
|
||
|
</div>
|
||
|
<el-form
|
||
|
:inline="true"
|
||
|
:model="unDeal"
|
||
|
class="demo-form-inline"
|
||
|
ref="feedbackForm"
|
||
|
label-width="100px"
|
||
|
>
|
||
|
<el-form-item label="反馈结果">
|
||
|
<el-radio-group v-model="unDeal.udMsg">
|
||
|
<el-radio label="无法处理"></el-radio>
|
||
|
</el-radio-group>
|
||
|
</el-form-item>
|
||
|
<el-form-item
|
||
|
label="原因"
|
||
|
prop="udReason"
|
||
|
:rules="[{ message: ' ', required: true }]"
|
||
|
>
|
||
|
<el-select v-model="unDeal.udReason" placeholder="选择原因">
|
||
|
<el-option
|
||
|
v-for="item in udrOptions"
|
||
|
:key="item.value"
|
||
|
:label="item.label"
|
||
|
:value="item.value"
|
||
|
>
|
||
|
</el-option>
|
||
|
</el-select>
|
||
|
</el-form-item>
|
||
|
<el-form-item label="图片上传">
|
||
|
<div class="tupian">
|
||
|
<el-upload
|
||
|
class="upload-demo"
|
||
|
action="/"
|
||
|
accept=".jpg,.jpeg,.png"
|
||
|
:before-upload="beforeUpload"
|
||
|
:http-request="uploadImgFile"
|
||
|
:on-remove="removeUploadFile"
|
||
|
list-type="picture"
|
||
|
>
|
||
|
<el-button size="small" type="white"
|
||
|
><i class="el-icon-upload"></i>上传图片</el-button
|
||
|
>
|
||
|
</el-upload>
|
||
|
</div>
|
||
|
</el-form-item>
|
||
|
<div class="beizhu">
|
||
|
<el-form-item label="备注">
|
||
|
<el-input
|
||
|
type="textarea"
|
||
|
v-model="unDeal.remark"
|
||
|
style="margin-left: -40px"
|
||
|
></el-input>
|
||
|
</el-form-item>
|
||
|
</div>
|
||
|
</el-form>
|
||
|
<div slot="footer" class="dialog-footer">
|
||
|
<el-button type="primary" @click="subFeedback">保存</el-button>
|
||
|
<el-button type="primary" @click="dialogFormVisible = false"
|
||
|
>取 消</el-button
|
||
|
>
|
||
|
</div>
|
||
|
</el-dialog>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</template>
|
||
|
<script>
|
||
|
import cu from "@/lib/cesiumUtils";
|
||
|
import {
|
||
|
getProductMsg,
|
||
|
getProductMetaMsg,
|
||
|
getCoverTypes,
|
||
|
orderFeedback,
|
||
|
updateOrderMsg,
|
||
|
disOrderStatus,
|
||
|
updateOrderStage,
|
||
|
getOrderSamples,
|
||
|
downloadPdf,
|
||
|
} from "@/api/pendingOrder";
|
||
|
import qs from "qs";
|
||
|
import ProductInfo from "../../../components/productInfo/index";
|
||
|
|
||
|
export default {
|
||
|
components: {
|
||
|
ProductInfo,
|
||
|
},
|
||
|
mounted() {
|
||
|
cu.initCesium("PendPreview");
|
||
|
cu.handleClick();
|
||
|
},
|
||
|
created() {
|
||
|
if (
|
||
|
Object.keys(this.$route.params).length > 0 &&
|
||
|
sessionStorage.getItem("prePage") === this.configration.path.daichuli
|
||
|
) {
|
||
|
this.queryParams = this.$route.params;
|
||
|
} else {
|
||
|
this.queryParams = JSON.parse(
|
||
|
localStorage.getItem(this.configration.path.daichuli)
|
||
|
);
|
||
|
}
|
||
|
document.body.scrollTop = 0;
|
||
|
this.initOrderMsg();
|
||
|
this.getSplData();
|
||
|
},
|
||
|
filters: {
|
||
|
orderSourceFilter(orderSource) {
|
||
|
const orderSourceMap = {
|
||
|
0: "用户上传",
|
||
|
1: "历史上传",
|
||
|
2: "平台共享",
|
||
|
};
|
||
|
return orderSourceMap[orderSource];
|
||
|
},
|
||
|
transformByte(size) {
|
||
|
if (!size) {
|
||
|
return "0B";
|
||
|
}
|
||
|
var num = 1024.0;
|
||
|
if (size < num) {
|
||
|
return size + "B";
|
||
|
}
|
||
|
if (size < Math.pow(num, 2)) {
|
||
|
return (size / num).toFixed(2) + "K";
|
||
|
}
|
||
|
if (size < Math.pow(num, 3)) {
|
||
|
return (size / Math.pow(num, 2)).toFixed(2) + "M";
|
||
|
}
|
||
|
if (size < Math.pow(num, 4)) {
|
||
|
return (size / Math.pow(num, 3)).toFixed(2) + "G";
|
||
|
}
|
||
|
return (size / Math.pow(num, 4)).toFixed(2) + "T"; // T
|
||
|
},
|
||
|
formatDate(inputTime) {
|
||
|
if (!inputTime && typeof inputTime !== "number") {
|
||
|
return "";
|
||
|
}
|
||
|
var localTime = "";
|
||
|
inputTime = new Date(inputTime);
|
||
|
const offset = new Date().getTimezoneOffset();
|
||
|
localTime = new Date(inputTime - offset * 60000).toISOString();
|
||
|
localTime = localTime.substr(0, localTime.lastIndexOf("."));
|
||
|
localTime = localTime.replace("T", " ");
|
||
|
return localTime;
|
||
|
},
|
||
|
},
|
||
|
data() {
|
||
|
return {
|
||
|
queryParams: null,
|
||
|
orderMsg: "",
|
||
|
userId: null,
|
||
|
productMsg: "",
|
||
|
pageshow: true,
|
||
|
isShow: false,
|
||
|
formInline: {
|
||
|
satellite: "", //卫星
|
||
|
load: "", //载荷
|
||
|
resRatio: "0.000307", //空间分辨率
|
||
|
producedDate: "",
|
||
|
proLevel: "4", //产品级别
|
||
|
coordinateSys: "WGS84", //坐标系
|
||
|
minLat: "116.13622332", //最小经度
|
||
|
maxLat: "118.342222", //最大经度
|
||
|
minLon: "34.211234", //最小纬度
|
||
|
maxLon: "35.3455666", //最大纬度
|
||
|
centerLon: "",
|
||
|
centerLat: "",
|
||
|
},
|
||
|
orderData: [
|
||
|
{
|
||
|
orderCode: "219088784675",
|
||
|
orderSource: "本地上传",
|
||
|
uploadDate: "2021-05-24",
|
||
|
fileName: "XXXXX产品.zip",
|
||
|
fileSize: "1.0GB",
|
||
|
fileFormat: "geotiff",
|
||
|
},
|
||
|
],
|
||
|
tifPath: "",
|
||
|
unDeal: {
|
||
|
udMsg: "无法处理",
|
||
|
udReason: "",
|
||
|
remark: "",
|
||
|
},
|
||
|
udrOptions: [
|
||
|
{
|
||
|
value: "待检验产品格式不支持",
|
||
|
label: "待检验产品格式不支持",
|
||
|
},
|
||
|
{
|
||
|
value: "缺少地面实测数据",
|
||
|
label: "缺少地面实测数据",
|
||
|
},
|
||
|
{
|
||
|
value: "添加样本分布不均匀",
|
||
|
label: "添加样本分布不均匀",
|
||
|
},
|
||
|
{
|
||
|
value: "实测数据样本数量不满足要求",
|
||
|
label: "实测数据样本数量不满足要求",
|
||
|
},
|
||
|
{
|
||
|
value: "其他",
|
||
|
label: "其他",
|
||
|
},
|
||
|
],
|
||
|
feedbackImg: null,
|
||
|
imgLocalUrl: null,
|
||
|
imgFileList: [],
|
||
|
dialogTableVisible: false,
|
||
|
dialogFormVisible: false,
|
||
|
groudClassShow: false,
|
||
|
groudClassData: [
|
||
|
{
|
||
|
groClaName: "林地",
|
||
|
pixelNum: "10",
|
||
|
},
|
||
|
{
|
||
|
groClaName: "草地",
|
||
|
pixelNum: "02",
|
||
|
},
|
||
|
],
|
||
|
workSpace: null,
|
||
|
layerName: null,
|
||
|
|
||
|
shadeIsShow: true,
|
||
|
tempPos: null,
|
||
|
};
|
||
|
},
|
||
|
computed: {
|
||
|
formatDateStr: function () {
|
||
|
let inputTime = this.formInline.producedDate;
|
||
|
if (!inputTime) {
|
||
|
//&& typeof inputTime !== 'number'){
|
||
|
return "";
|
||
|
}
|
||
|
var localTime = "";
|
||
|
inputTime = new Date(inputTime).getTime();
|
||
|
const offset = new Date().getTimezoneOffset();
|
||
|
localTime = new Date(inputTime - offset * 60000).toISOString();
|
||
|
localTime = localTime.substr(0, localTime.lastIndexOf("."));
|
||
|
localTime = localTime.replace("T", " ");
|
||
|
return localTime;
|
||
|
},
|
||
|
},
|
||
|
methods: {
|
||
|
enterPreview() {
|
||
|
// cu.initCesium("PendPreview");
|
||
|
// this.initOrderMsg();
|
||
|
const res = this.tempPos;
|
||
|
cu.flyToLayerRect(
|
||
|
res.boundBoxMinX,
|
||
|
res.boundBoxMinY,
|
||
|
res.boundingBoxMaxX,
|
||
|
res.boundBoxMaxY
|
||
|
);
|
||
|
this.getSplData();
|
||
|
this.shadeIsShow = false;
|
||
|
},
|
||
|
initOrderMsg() {
|
||
|
const self = this;
|
||
|
const om = (self.orderMsg = this.queryParams);
|
||
|
// console.log("11111111", om);
|
||
|
this.userId = Number(localStorage.userId);
|
||
|
const orderId = self.orderMsg.id,
|
||
|
pdType = self.orderMsg.product_subclass_id,
|
||
|
pdUId = self.orderMsg.product_upload_id;
|
||
|
getProductMsg(qs.stringify({ productId: pdUId })).then((res) => {
|
||
|
// console.log(res[0])
|
||
|
if (res || res.length !== 0) {
|
||
|
const r = res[0];
|
||
|
this.tifPath = r.tifPath;
|
||
|
sessionStorage.setItem("tifPath", r.tifPath);
|
||
|
self.productMsg = r;
|
||
|
self.orderData = [];
|
||
|
self.orderData.push({
|
||
|
orderCode: om.order_code,
|
||
|
orderSource: om.order_resource,
|
||
|
uploadDate: om.create_date,
|
||
|
fileName: r.fileName,
|
||
|
fileSize: r.fileSize,
|
||
|
fileFormat: r.fileFormat,
|
||
|
});
|
||
|
getProductMetaMsg(qs.stringify({ dataPath: r.tifPath })).then(
|
||
|
(res) => {
|
||
|
if (res !== null) {
|
||
|
self.formInline = {
|
||
|
satellite: om.satellite_name,
|
||
|
load: om.satellite_load_name,
|
||
|
resRatio:
|
||
|
res.imageResolution > 0.01
|
||
|
? res.imageResolution
|
||
|
: (res.imageResolution * 111194.926).toFixed(2) + "米",
|
||
|
coordinateSys: res.coordinateSystem,
|
||
|
minLat: res.boundBoxMinY.toFixed(8),
|
||
|
maxLat: res.boundBoxMaxY.toFixed(8),
|
||
|
minLon: res.boundBoxMinX.toFixed(8),
|
||
|
maxLon: res.boundingBoxMaxX.toFixed(8),
|
||
|
centerLon: res.centerPosition.x,
|
||
|
centerLat: res.centerPosition.y,
|
||
|
producedDate: r.productDate,
|
||
|
proLevel: r.productLevel + "",
|
||
|
};
|
||
|
//cu.flyToLayer(res.centerPosition.x,res.centerPosition.y)
|
||
|
// this.tempPos = res;
|
||
|
cu.flyToLayerRect(
|
||
|
res.boundBoxMinX,
|
||
|
res.boundBoxMinY,
|
||
|
res.boundingBoxMaxX,
|
||
|
res.boundBoxMaxY
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
);
|
||
|
const geoWS = r.geoWorkspace;
|
||
|
const geoLN = r.layerName;
|
||
|
this.workSpace = geoWS;
|
||
|
this.layerName = geoLN;
|
||
|
cu.addlayer(geoWS, geoLN);
|
||
|
}
|
||
|
});
|
||
|
if (pdType === 6 || pdType === 12) {
|
||
|
self.groudClassShow = true;
|
||
|
getCoverTypes(orderId).then((res) => {
|
||
|
if (res.msg === "操作成功") {
|
||
|
self.groudClassData = res.data;
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
},
|
||
|
inspection() {
|
||
|
// this.pageshow=false
|
||
|
let param = {
|
||
|
userId: this.userId,
|
||
|
orderMsg: this.orderMsg,
|
||
|
productMsg: this.productMsg,
|
||
|
orderData: this.orderData,
|
||
|
metaMsg: this.formInline,
|
||
|
};
|
||
|
localStorage.setItem(
|
||
|
this.configration.path.orderUnprocessed,
|
||
|
JSON.stringify(param)
|
||
|
);
|
||
|
this.$router.push({ name: "检验处理", params: param });
|
||
|
},
|
||
|
changePage() {
|
||
|
this.isShow = !this.isShow;
|
||
|
},
|
||
|
todaichuli() {
|
||
|
this.$router.push(this.configration.path.daichuli);
|
||
|
},
|
||
|
backpage() {
|
||
|
this.$router.go(-1);
|
||
|
this.bus.$emit("aaaa", true);
|
||
|
},
|
||
|
tableRowClassName({ rowIndex }) {
|
||
|
if ((rowIndex + 1) % 2 !== 0) {
|
||
|
return "background:#F5F7FA";
|
||
|
} else {
|
||
|
return "background:#FFFFFF";
|
||
|
}
|
||
|
},
|
||
|
uploadImgFile(option) {
|
||
|
this.feedbackImg = option.file;
|
||
|
},
|
||
|
beforeUpload(file) {
|
||
|
if (this.imgFileList.length > 0) {
|
||
|
this.$message({
|
||
|
message: "只能保存一张图片,请删除后再次上传!",
|
||
|
type: "warning",
|
||
|
});
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
this.imgFileList.push(file);
|
||
|
this.imgLocalUrl = window.URL.createObjectURL(file);
|
||
|
},
|
||
|
removeUploadFile(file) {
|
||
|
this.imgFileList.pop(file);
|
||
|
},
|
||
|
//订单反馈
|
||
|
subFeedback() {
|
||
|
this.$refs["feedbackForm"].validate((valid) => {
|
||
|
if (valid) {
|
||
|
const fb = new FormData();
|
||
|
fb.append("orderId", this.orderMsg.id);
|
||
|
fb.append("userId", this.userId);
|
||
|
fb.append("feedbackResult", this.unDeal.udMsg);
|
||
|
fb.append("feedbackReason", this.unDeal.udReason);
|
||
|
fb.append("feedbackContext", this.unDeal.remark);
|
||
|
fb.append("imgFile", this.feedbackImg);
|
||
|
orderFeedback(fb).then((res) => {
|
||
|
if (res.code === 200 || res.message === "反馈成功") {
|
||
|
this.$message({
|
||
|
type: "success",
|
||
|
message: "反馈成功",
|
||
|
});
|
||
|
this.imgLocalUrl = null;
|
||
|
this.dialogFormVisible = false;
|
||
|
updateOrderMsg({
|
||
|
id: this.orderMsg.id,
|
||
|
auditId: this.userId,
|
||
|
auditName: localStorage.userName,
|
||
|
});
|
||
|
disOrderStatus(this.orderMsg.id);
|
||
|
const up = new FormData();
|
||
|
up.append("orderId", this.orderMsg.id);
|
||
|
up.append("orderStatus", 3);
|
||
|
up.append("userId", this.orderMsg.user_id);
|
||
|
updateOrderStage(up).then((res) => {
|
||
|
if (res.code === 200)
|
||
|
this.$router.push({ name: "待处理的检验订单" });
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
} else {
|
||
|
this.$message({
|
||
|
message: "无法处理的原因不能为空值!",
|
||
|
type: "error",
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
// 获取样本
|
||
|
getSplData() {
|
||
|
getOrderSamples(this.orderMsg.id, this.orderMsg.product_subclass_id).then(
|
||
|
(res) => {
|
||
|
if (res.code == 200) {
|
||
|
const sp = res.data;
|
||
|
if (sp.length === 0) {
|
||
|
this.$message({
|
||
|
type: "warning",
|
||
|
message: "没有样本数据",
|
||
|
});
|
||
|
} else {
|
||
|
cu.removePoint();
|
||
|
for (let i in sp) {
|
||
|
cu.addPoint(sp[i].lon, sp[i].lat, sp[i].alt);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
);
|
||
|
},
|
||
|
// 下载产品数据
|
||
|
downLoadPro() {
|
||
|
// console.log(this.productMsg);
|
||
|
const zipPath = this.productMsg.filePath;
|
||
|
if (zipPath !== null || zipPath !== undefined) {
|
||
|
const pdfName = zipPath.substr(zipPath.lastIndexOf("/") + 1); //截取文件名称字符串
|
||
|
if ("download" in document.createElement("a")) {
|
||
|
const elink = document.createElement("a");
|
||
|
elink.download = pdfName;
|
||
|
elink.style.display = "none";
|
||
|
elink.href = zipPath;
|
||
|
document.body.appendChild(elink);
|
||
|
elink.click();
|
||
|
document.body.removeChild(elink);
|
||
|
} else {
|
||
|
location.href = zipPath;
|
||
|
}
|
||
|
// downloadPdf(zipPath).then((res) => {
|
||
|
// // console.log(res);
|
||
|
// if (res.size > 0) {
|
||
|
// const content = res;
|
||
|
// const blob = new Blob([content]);
|
||
|
// const fileName = pdfName;
|
||
|
// if ("download" in document.createElement("a")) {
|
||
|
// // 非IE下载
|
||
|
// const elink = document.createElement("a");
|
||
|
// elink.download = fileName;
|
||
|
// elink.style.display = "none";
|
||
|
// elink.href = URL.createObjectURL(blob);
|
||
|
// document.body.appendChild(elink);
|
||
|
// elink.click();
|
||
|
// URL.revokeObjectURL(elink.href); // 释放URL 对象
|
||
|
// document.body.removeChild(elink);
|
||
|
// } else {
|
||
|
// // IE10+下载
|
||
|
// navigator.msSaveBlob(blob, fileName);
|
||
|
// }
|
||
|
// }
|
||
|
// });
|
||
|
}
|
||
|
},
|
||
|
pickValue() {
|
||
|
cu.handleClick();
|
||
|
},
|
||
|
addLayer() {
|
||
|
cu.addlayer(this.workSpace, this.layerName);
|
||
|
},
|
||
|
removeLayer() {
|
||
|
cu.clearLayers();
|
||
|
},
|
||
|
removeSplData() {
|
||
|
cu.removePoint();
|
||
|
},
|
||
|
},
|
||
|
};
|
||
|
</script>
|
||
|
|
||
|
<style scoped lang="less">
|
||
|
.Fade-enter,
|
||
|
.Fade-leave-to {
|
||
|
opacity: 0;
|
||
|
}
|
||
|
.Fade-enter-to,
|
||
|
.Fade-leave {
|
||
|
opacity: 1;
|
||
|
}
|
||
|
|
||
|
.Fade-enter-active,
|
||
|
.Fade-leave-active {
|
||
|
transition: all 0.4s;
|
||
|
}
|
||
|
|
||
|
.daichuli {
|
||
|
width: 100%;
|
||
|
background-color: white;
|
||
|
font-size: 20px;
|
||
|
padding-bottom: 10px;
|
||
|
}
|
||
|
.daichuli1 {
|
||
|
width: 100%;
|
||
|
background-color: white;
|
||
|
font-size: 20px;
|
||
|
margin-top: 20px;
|
||
|
padding-bottom: 15px;
|
||
|
}
|
||
|
.daichuli2 {
|
||
|
width: 100%;
|
||
|
background-color: white;
|
||
|
font-size: 20px;
|
||
|
margin-top: 20px;
|
||
|
}
|
||
|
.sp1 {
|
||
|
display: inline-block;
|
||
|
width: 7px;
|
||
|
height: 26px;
|
||
|
background-color: #354595;
|
||
|
position: relative;
|
||
|
left: 20px;
|
||
|
top: 6px;
|
||
|
}
|
||
|
.sp2 {
|
||
|
margin-left: 30px;
|
||
|
font-size: 20px;
|
||
|
font-weight: 700;
|
||
|
color: #354595;
|
||
|
}
|
||
|
.box1 {
|
||
|
height: 40px;
|
||
|
line-height: 40px;
|
||
|
border-bottom: 1px solid rgb(205, 205, 205, 0.5);
|
||
|
}
|
||
|
/deep/.daichuli .el-button--primary {
|
||
|
color: #fff;
|
||
|
background-color: #409eff;
|
||
|
border-color: #409eff;
|
||
|
width: 100px;
|
||
|
height: 30px;
|
||
|
}
|
||
|
/deep/.daichuli .el-button--primary:focus {
|
||
|
background-color: #354595;
|
||
|
border-color: #354595;
|
||
|
}
|
||
|
/deep/ .daichuli1 .el-button--primary {
|
||
|
color: #fff;
|
||
|
background-color: #409eff;
|
||
|
border-color: #409eff;
|
||
|
width: 100px;
|
||
|
height: 30px;
|
||
|
margin-left: 30px;
|
||
|
position: relative;
|
||
|
top: -3px;
|
||
|
}
|
||
|
#PendPreview {
|
||
|
width: 98%;
|
||
|
height: 600px;
|
||
|
background-color: #354595;
|
||
|
margin-left: 1%;
|
||
|
margin-top: -60px;
|
||
|
}
|
||
|
.dealGrp {
|
||
|
// margin-top: 20px;
|
||
|
text-align: center;
|
||
|
width: 100%;
|
||
|
background-color: white;
|
||
|
}
|
||
|
/deep/.dealGrp .el-button--primary {
|
||
|
width: 170px;
|
||
|
height: 35px;
|
||
|
margin-bottom: 20px;
|
||
|
background-color: #354595;
|
||
|
margin-left: 10px;
|
||
|
border-color: #354595;
|
||
|
}
|
||
|
/deep/.daichuli1 .el-button--primary:hover {
|
||
|
background-color: #354595;
|
||
|
}
|
||
|
/deep/.daichuli1 .el-button--primary:focus {
|
||
|
background-color: #6979cc;
|
||
|
border-color: #6979cc;
|
||
|
}
|
||
|
.cstop {
|
||
|
margin-top: 20px;
|
||
|
margin-bottom: 0;
|
||
|
position: relative;
|
||
|
text-align: center;
|
||
|
}
|
||
|
.ysjMsg {
|
||
|
width: 18%;
|
||
|
}
|
||
|
.ysjMsgMrg {
|
||
|
margin-left: 14px;
|
||
|
}
|
||
|
.ysjMsg2 {
|
||
|
width: 20%;
|
||
|
}
|
||
|
|
||
|
/deep/.cstop .el-input.is-disabled .el-input__inner {
|
||
|
width: 140px;
|
||
|
height: 33px;
|
||
|
}
|
||
|
/deep/.cstop .el-form--inline .el-form-item__label {
|
||
|
text-align: justify;
|
||
|
// text-align-last: justify;
|
||
|
font-size: 15px;
|
||
|
}
|
||
|
/deep/.cstop .el-radio {
|
||
|
margin-right: 10px;
|
||
|
}
|
||
|
/deep/.cstop .el-radio__inner::after {
|
||
|
background-color: #354595;
|
||
|
}
|
||
|
/deep/.cstop .el-radio__input.is-checked .el-radio__inner {
|
||
|
border-color: #354595;
|
||
|
background: white;
|
||
|
}
|
||
|
/deep/.cstop .el-radio__input.is-disabled .el-radio__inner {
|
||
|
border-color: #354595;
|
||
|
}
|
||
|
/deep/.cstop .el-radio__input.is-disabled.is-checked .el-radio__inner::after {
|
||
|
background-color: #354595;
|
||
|
}
|
||
|
/deep/.cstop .el-radio__input.is-checked + .el-radio__label {
|
||
|
color: #606266;
|
||
|
}
|
||
|
/deep/.cstop .el-radio__inner {
|
||
|
border: 2px solid #354595;
|
||
|
}
|
||
|
|
||
|
.unableDeal .box1 {
|
||
|
width: 100%;
|
||
|
position: absolute;
|
||
|
left: 0;
|
||
|
top: 10px;
|
||
|
z-index: 9999;
|
||
|
}
|
||
|
/deep/.unableDeal .el-radio {
|
||
|
padding: 0 30px 0 20px;
|
||
|
}
|
||
|
/deep/.unableDeal .el-select .el-input {
|
||
|
width: 180px;
|
||
|
}
|
||
|
|
||
|
/deep/.unableDeal .el-upload-dragger .el-icon-upload {
|
||
|
font-size: 20px;
|
||
|
color: black;
|
||
|
}
|
||
|
.upload-demo {
|
||
|
display: inline-block;
|
||
|
}
|
||
|
.el-upload-dragger {
|
||
|
margin-left: 0px;
|
||
|
}
|
||
|
/deep/.unableDeal .el-upload-dragger .el-icon-upload {
|
||
|
margin: 0;
|
||
|
line-height: 30px;
|
||
|
}
|
||
|
/deep/.unableDeal .el-form-item {
|
||
|
margin-bottom: 0;
|
||
|
}
|
||
|
/deep/.unableDeal .el-input__inner {
|
||
|
height: 35px;
|
||
|
}
|
||
|
/deep/.unableDeal .el-upload-dragger {
|
||
|
width: 150px;
|
||
|
height: 35px;
|
||
|
margin-left: 27px;
|
||
|
margin-top: 20px;
|
||
|
border: 1px solid #d9d9d9;
|
||
|
}
|
||
|
/deep/.unableDeal .el-textarea__inner {
|
||
|
margin-left: 40px;
|
||
|
margin-top: 20px;
|
||
|
}
|
||
|
.sp3 {
|
||
|
position: relative;
|
||
|
top: -13px;
|
||
|
}
|
||
|
// /deep/.el-textarea__inner{
|
||
|
// margin-left: 70px;
|
||
|
// margin-top: 20px;
|
||
|
// }
|
||
|
/deep/.beizhu .el-form-item__label {
|
||
|
margin-top: 20px;
|
||
|
}
|
||
|
/deep/.dialog-footer {
|
||
|
text-align: center;
|
||
|
}
|
||
|
/deep/.dialog-footer .el-button--primary {
|
||
|
width: 150px;
|
||
|
height: 35px;
|
||
|
background-color: #354595;
|
||
|
border-color: #354595;
|
||
|
}
|
||
|
/deep/.el-button {
|
||
|
line-height: 0;
|
||
|
}
|
||
|
.imgPreview {
|
||
|
width: 178px;
|
||
|
height: 178px;
|
||
|
display: block;
|
||
|
}
|
||
|
.preview {
|
||
|
width: 98%;
|
||
|
height: 600px;
|
||
|
margin-left: 1%;
|
||
|
margin-top: -60px;
|
||
|
position: relative;
|
||
|
}
|
||
|
.shade {
|
||
|
position: absolute;
|
||
|
left: 0px;
|
||
|
top: 0px;
|
||
|
width: 98%;
|
||
|
height: 600px;
|
||
|
appearance: none;
|
||
|
background-color: rgba(14, 20, 34, 0.3);
|
||
|
cursor: pointer;
|
||
|
margin-left: 1%;
|
||
|
line-height: 600px;
|
||
|
text-align: center;
|
||
|
color: white;
|
||
|
z-index: 1000;
|
||
|
}
|
||
|
</style>
|