|
@@ -21,7 +21,7 @@
|
|
|
@click="handleEdit1(scope.row)">验证方案</el-button>
|
|
|
<el-button size="small" :disabled="scope.row.T_pdf2===''?true:false"
|
|
|
@click="handleEdit2(scope.row)">验证报告</el-button>
|
|
|
- <el-button size="small" :disabled="scope.row.T_pdf3===''?true:false"
|
|
|
+ <el-button size="small" :disabled="scope.row.T_reporting_state==0?true:false"
|
|
|
@click="handleEdit3(scope.row)">校准证书</el-button>
|
|
|
<el-button size="small" @click="handleEdit4(scope.row)">验证数据</el-button>
|
|
|
</template>
|
|
@@ -38,35 +38,40 @@
|
|
|
<div class="demo-drawers">
|
|
|
<div class="demoDra1">
|
|
|
<div class="demoDra1-R">
|
|
|
- <el-input class="s1" v-model="pages1.T_sn" @keyup.enter.native="search(1)" placeholder="请输入SN"
|
|
|
- clearable></el-input>
|
|
|
+ <!-- <el-input class="s1" v-model="pages1.T_sn" @keyup.enter.native="search(1)" placeholder="请输入SN"
|
|
|
+ clearable></el-input> -->
|
|
|
<el-input class="s1" v-model="pages1.T_id" @keyup.enter.native="search(1)" placeholder="请输入编号"
|
|
|
clearable></el-input>
|
|
|
- <el-date-picker class="s1" v-model="pages.name" value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
- type="datetimerange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"
|
|
|
+ <el-date-picker class="s1" v-model="pickerTime"
|
|
|
+ :picker-options="pickerOptions"
|
|
|
+ popper-class="noClear"
|
|
|
+ value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
+ type="datetimerange" range-separator="至" :clearable="false" start-placeholder="开始日期" end-placeholder="结束日期"
|
|
|
@change="searchTimeData">
|
|
|
</el-date-picker>
|
|
|
<el-button class="s1 sBtn" type="primary" icon="el-icon-search" @click="search(1)"></el-button>
|
|
|
</div>
|
|
|
<div class="demoDra1-L s1">
|
|
|
- <el-button type="primary" icon="el-icon-download" @click="Dowload">下载</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-download" @click="downloadFun('t')">下载温度</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-download" @click="downloadFun('h')">下载湿度</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-download" @click="Dowload">下载pdf</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="demoDra2">
|
|
|
<el-table :data="tableData1" border size="small">
|
|
|
- <el-table-column label="ID">
|
|
|
+ <!-- <el-table-column label="ID">
|
|
|
<template slot-scope="scope">
|
|
|
<span>{{ scope.row.ID}}</span>
|
|
|
</template>
|
|
|
- </el-table-column>
|
|
|
+ </el-table-column> -->
|
|
|
<el-table-column label="设备编号">
|
|
|
<template slot-scope="scope">
|
|
|
{{ scope.row.T_id}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="SN">
|
|
|
+ <el-table-column label="证书编号">
|
|
|
<template slot-scope="scope">
|
|
|
- <span>{{ scope.row.T_sn}}</span>
|
|
|
+ <span>{{ scope.row.T_Certificate_sn}}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="温度℃">
|
|
@@ -79,6 +84,12 @@
|
|
|
{{ scope.row.T_rh}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column label="时间">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.T_time}}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
</el-table>
|
|
|
</div>
|
|
|
<div class="demoDra3">
|
|
@@ -88,12 +99,13 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-drawer>
|
|
|
- <el-drawer title="校准证书" :visible.sync="Drawer1" direction="rtl" ref="drawer">
|
|
|
+ <el-drawer title="校准证书" :visible.sync="Drawer1" direction="rtl" ref="drawer" size="50%">
|
|
|
<div class="demo-drawers">
|
|
|
<div style="margin-bottom: 20px;font-size: 14px;color: #C0C4CC;">请选择对应的校准证书查看:</div>
|
|
|
- <div style="display: grid;grid-template-columns: 1fr 1fr;grid-gap: 10px;">
|
|
|
- <el-radio v-model="radio1" @input="radioInput" :label="item" style="margin: 0;" border
|
|
|
- v-for="item,index in radioXuan" :key="index">{{item.split(",")[0]}}</el-radio>
|
|
|
+ <div class="demo-drawers-mins">
|
|
|
+ <div class="demo-drawers-mins-item" v-for="item,index in radioXuan" :key="index" @click="radioInput(item)">
|
|
|
+ 【{{item.T_id}}】{{item.T_sn}}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-drawer>
|
|
@@ -108,8 +120,12 @@
|
|
|
import {
|
|
|
TaskList,
|
|
|
ExtData,
|
|
|
- Dowloads
|
|
|
+ Dowloads,
|
|
|
+ devClassListlist,
|
|
|
+ download_t_pdfs,
|
|
|
+ download_h_pdfs
|
|
|
} from '@/api/CompanyAccount'
|
|
|
+ import { downloadPDF } from "@/utils/download.js";
|
|
|
export default {
|
|
|
name: 'CompanyAccount',
|
|
|
components: { //组件
|
|
@@ -128,6 +144,8 @@
|
|
|
page_z: 10,
|
|
|
T_name: ''
|
|
|
},
|
|
|
+ pickerTime:[],
|
|
|
+ defaultpickerTime:[],//默认时间区间
|
|
|
pages1: {
|
|
|
T_task_id: '',
|
|
|
T_sn: '',
|
|
@@ -143,13 +161,32 @@
|
|
|
tableData1: [],
|
|
|
}
|
|
|
},
|
|
|
+ computed: {
|
|
|
+ pickerOptions() {
|
|
|
+ let _seif = this
|
|
|
+ return {
|
|
|
+ disabledDate(time) {
|
|
|
+ const startDate = new Date(_seif.defaultpickerTime[0]); // 注意月份是从0开始的
|
|
|
+ const endDate = new Date(_seif.defaultpickerTime[1]);
|
|
|
+ // 如果时间小于开始日期或大于结束日期,则返回true,表示该日期不可选
|
|
|
+ return time.getTime() < startDate.getTime() || time.getTime() > endDate.getTime();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
mounted() {
|
|
|
this.GetTkListApi()
|
|
|
},
|
|
|
methods: {
|
|
|
- radioInput() {
|
|
|
- var values = this.radio1.split(",")[1]
|
|
|
- this.$refs.pdf.SetPdf(values)
|
|
|
+
|
|
|
+ radioInput(reslut) {
|
|
|
+ // console.log('点击',reslut)
|
|
|
+ if(reslut.T_pdf){
|
|
|
+ this.$refs.pdf.SetPdf(reslut.T_pdf)
|
|
|
+ }else{
|
|
|
+ this.$message.error('没有可展示证书哦')
|
|
|
+ return
|
|
|
+ }
|
|
|
},
|
|
|
GetTkListApi() {
|
|
|
TaskList(this.pages).then(res => {
|
|
@@ -166,18 +203,31 @@
|
|
|
this.$refs.pdf.SetPdf(e.T_pdf1)
|
|
|
},
|
|
|
handleEdit3(e) {
|
|
|
- this.Drawer1 = true
|
|
|
- this.radioXuan = e.T_pdf3.split("|")
|
|
|
+ const {T_class} = {...e}
|
|
|
+ devClassListlist({T_class:T_class}).then(res=>{
|
|
|
+ if(res.data.Code==200){
|
|
|
+ this.Drawer1 = true
|
|
|
+ this.radioXuan = res.data.Data.List || []
|
|
|
+ }
|
|
|
+ })
|
|
|
+ // this.radioXuan = e.T_pdf3.split("|")
|
|
|
},
|
|
|
handleEdit4(e) {
|
|
|
this.pages1.T_task_id = e.T_task_id
|
|
|
+
|
|
|
+ //默认能勾选的时间区间
|
|
|
+ this.defaultpickerTime = e.T_VerifyDeviceDataTime
|
|
|
+ //勾选上的时间区间
|
|
|
+ this.pickerTime = this.defaultpickerTime
|
|
|
+
|
|
|
+ this.pages1.Time_start = this.pickerTime[0]
|
|
|
+ this.pages1.Time_end = this.pickerTime[1]
|
|
|
// this.pages1.T_id = e.Id
|
|
|
// this.pages1.T_sn = e.T_sn
|
|
|
this.GetExtDataApi()
|
|
|
},
|
|
|
GetExtDataApi() {
|
|
|
ExtData(this.pages1).then(res => {
|
|
|
- console.log('劣币送', res)
|
|
|
this.Drawer = true
|
|
|
if (res.data.Code === 200) {
|
|
|
this.tableData1 = res.data.Data.List
|
|
@@ -206,6 +256,26 @@
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+ /**
|
|
|
+ * 下载温湿度
|
|
|
+ */
|
|
|
+ async downloadFun(str){
|
|
|
+ let {T_sn,page,page_z,...filtobj} = this.pages1
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: '正在整理数据,请稍后...',
|
|
|
+ spinner: 'el-icon-loading',
|
|
|
+ background: 'rgba(0, 0, 0, 0.7)'
|
|
|
+ });
|
|
|
+ const result = str=='t'?await download_t_pdfs(filtobj):await download_h_pdfs(filtobj)
|
|
|
+ console.log('下载',result)
|
|
|
+ loading.close()
|
|
|
+ if (result.status) {
|
|
|
+ downloadPDF(result,str=='t'?'温度':'湿度')
|
|
|
+ }
|
|
|
+
|
|
|
+ // Dowloads(pams).then(res => {})
|
|
|
+ },
|
|
|
searchTimeData(e) {
|
|
|
if (e != null) {
|
|
|
this.pages1.Time_start = e[0]
|
|
@@ -237,7 +307,15 @@
|
|
|
},
|
|
|
}
|
|
|
</script>
|
|
|
+<style lang="scss">
|
|
|
+/*日期时间组件不显示 清空按钮*/
|
|
|
+.noClear .el-picker-panel__footer .el-button.el-picker-panel__link-btn.el-button--text.el-button--mini {
|
|
|
+ pointer-events: none;
|
|
|
+ color: #ccc;
|
|
|
+ cursor: none;
|
|
|
+}
|
|
|
|
|
|
+</style>
|
|
|
<style lang="scss" scoped>
|
|
|
.el-input {
|
|
|
margin-right: 10px;
|
|
@@ -277,7 +355,25 @@
|
|
|
|
|
|
.demo-drawers {
|
|
|
padding: 0 20px;
|
|
|
-
|
|
|
+ &-mins{
|
|
|
+ display: grid;
|
|
|
+ grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
|
|
|
+ grid-gap: 10px;
|
|
|
+ &-item{
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ gap: 10px;
|
|
|
+ border: 1px solid #ccc;
|
|
|
+ padding:10px 5px;
|
|
|
+ }
|
|
|
+ :hover{
|
|
|
+ border: 1px solid red;
|
|
|
+ cursor: pointer;
|
|
|
+ color: red;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
.demoDra1 {
|
|
|
display: flex;
|
|
|
flex-wrap: wrap;
|