YangJian0701 7 months ago
parent
commit
888a576c71
55 changed files with 349 additions and 101 deletions
  1. 39 0
      src/api/CompanyAccount.js
  2. 8 1
      src/api/companyManagement.js
  3. 0 1
      src/router/index.js
  4. 3 0
      src/utils/base.js
  5. 57 0
      src/utils/download.js
  6. 7 1
      src/utils/http.js
  7. 118 22
      src/views/CompanyAccount/index.vue
  8. 34 29
      src/views/calibrationCertificate/index.vue
  9. 77 31
      src/views/companyManagement/index.vue
  10. 6 7
      src/views/home/home.vue
  11. 0 0
      冷链2.0线上/7800e017db2cfb37.worker.js
  12. 0 0
      冷链2.0线上/7800e017db2cfb37.worker.js.map
  13. 0 0
      冷链2.0线上/css/177.693fd974.css
  14. 0 1
      冷链2.0线上/css/292.c5fa6e42.css
  15. 0 0
      冷链2.0线上/css/4.7d0a2404.css
  16. 0 0
      冷链2.0线上/css/52.e2cec616.css
  17. 0 1
      冷链2.0线上/css/756.4e1fcf69.css
  18. 0 0
      冷链2.0线上/css/895.7be1f47a.css
  19. 0 1
      冷链2.0线上/css/97.7bb3a9aa.css
  20. 0 0
      冷链2.0线上/css/app.85b7e3bb.css
  21. 0 0
      冷链2.0线上/css/chunk-vendors.2b35c01c.css
  22. BIN
      冷链2.0线上/d5a7f9c29098739c.jfif
  23. BIN
      冷链2.0线上/favicon.ico
  24. BIN
      冷链2.0线上/fonts/element-icons.f1a45d74.ttf
  25. BIN
      冷链2.0线上/fonts/element-icons.ff18efd1.woff
  26. BIN
      冷链2.0线上/img/logo2-2.a307168d.png
  27. 0 1
      冷链2.0线上/index.html
  28. 0 0
      冷链2.0线上/js/119.46dad8f2.js
  29. 0 0
      冷链2.0线上/js/119.46dad8f2.js.map
  30. 0 0
      冷链2.0线上/js/177.4daefa7f.js
  31. 0 0
      冷链2.0线上/js/177.4daefa7f.js.map
  32. 0 0
      冷链2.0线上/js/292.8779fb13.js
  33. 0 0
      冷链2.0线上/js/292.8779fb13.js.map
  34. 0 0
      冷链2.0线上/js/4.32552dec.js
  35. 0 0
      冷链2.0线上/js/4.32552dec.js.map
  36. 0 0
      冷链2.0线上/js/52.79f552ff.js
  37. 0 0
      冷链2.0线上/js/52.79f552ff.js.map
  38. 0 2
      冷链2.0线上/js/559.8fa36ea3.js
  39. 0 0
      冷链2.0线上/js/559.8fa36ea3.js.map
  40. 0 2
      冷链2.0线上/js/564.6af0e5a6.js
  41. 0 1
      冷链2.0线上/js/564.6af0e5a6.js.map
  42. 0 0
      冷链2.0线上/js/756.2465e90f.js
  43. 0 0
      冷链2.0线上/js/756.2465e90f.js.map
  44. 0 0
      冷链2.0线上/js/784.46e5d14f.js
  45. 0 0
      冷链2.0线上/js/784.46e5d14f.js.map
  46. 0 0
      冷链2.0线上/js/834.f6671095.js
  47. 0 0
      冷链2.0线上/js/834.f6671095.js.map
  48. 0 0
      冷链2.0线上/js/895.12917f95.js
  49. 0 0
      冷链2.0线上/js/895.12917f95.js.map
  50. 0 0
      冷链2.0线上/js/97.4305683e.js
  51. 0 0
      冷链2.0线上/js/97.4305683e.js.map
  52. 0 0
      冷链2.0线上/js/app.40153498.js
  53. 0 0
      冷链2.0线上/js/app.40153498.js.map
  54. 0 0
      冷链2.0线上/js/chunk-vendors.785ddca1.js
  55. 0 0
      冷链2.0线上/js/chunk-vendors.785ddca1.js.map

+ 39 - 0
src/api/CompanyAccount.js

@@ -3,10 +3,24 @@ import {
 	axios
 } from '../utils/http.js'
 
+
+
 const UserTask = {
 	TaskList: '/UserTask/List',//报告任务列表
 	ExtData: '/UserTaskData/List',//提取数据
 	Dowload: '/TaskData/Export_Data_PDF',//下载
+	devClassListlist:'/DeviceClassList/List',
+	download_t_pdf:'/TaskData/Temperature_Pdf',//下载温度
+	download_h_pdf:'/TaskData/Humidity_Pdf',//下载湿度
+
+}
+
+export function devClassListlist(data) {
+	return axios({
+		url: UserTask.devClassListlist,
+		method: 'post',
+		data:data
+	})
 }
 //下载
 export function Dowloads(data) {
@@ -16,6 +30,31 @@ export function Dowloads(data) {
 		data:data
 	})
 }
+
+/**
+ * 
+ * @returns 下载温度
+ */
+export function download_t_pdfs(data){
+    return axios({
+		url: UserTask.download_t_pdf,
+		method: 'post',
+		data:data,
+        responseType:'blob'
+	})
+}
+/**
+ * 
+ * @returns 下载湿度
+ */
+export function download_h_pdfs(data){
+    return axios({
+		url: UserTask.download_h_pdf,
+		method: 'post',
+		data:data,
+        responseType:'blob'
+	})
+}
 //报告任务列表
 export function ExtData(data) {
 	return axios({

+ 8 - 1
src/api/companyManagement.js

@@ -22,7 +22,14 @@ const companyManagement = {
 	TaskEx: '/TaskData/List',
 	DowloadExc: '/TaskData/Export_Data_Excel',
 	
-	
+	devClassListlist:'/DeviceClassList/List'
+}
+export function devClassListlist(data) {
+	return axios({
+		url: companyManagement.devClassListlist,
+		method: 'post',
+		data:data
+	})
 }
 export function tempClassList(data) {
 	return axios({

+ 0 - 1
src/router/index.js

@@ -112,7 +112,6 @@ router.beforeEach((to, from, next) => {
 			value:'2'
 		})
 		store.state.includeTabs = []
-		console.log('login了')
 	}
 	if(to.name!=-1 && to.name!='login'){
 		store.commit('addTab',{

+ 3 - 0
src/utils/base.js

@@ -6,5 +6,8 @@ devURL = 'https://coldverify.coldbaozhida.com/testapi'//测试环境 development
 
 module.exports = {
 	baseURL:process.env.NODE_ENV=="development"?devURL:besURL,
+	// baseURL:process.env.NODE_ENV=="development"?besURL:besURL,
+
+
 	showHttpLog:showHttpLog
 }

+ 57 - 0
src/utils/download.js

@@ -0,0 +1,57 @@
+
+/**
+ * @author yxm 
+ * @description  导出文件流
+ * @param { String } content 文件流
+ * @param { String } paraName 文件名+后缀名
+*/
+
+/**
+ * 
+ * @param res 文件流
+ * @param name 下载的文件名
+ * @param format 下载的文件格式  xlsx
+ */
+export function downloadExcelFun(res) {
+  console.log('下载', res)
+
+  // const fileName = decodeURIComponent(res.headers["content-disposition"])
+  let blob = new Blob([res.data], { type: 'application/x-rar-compressed' });
+
+  let url = window.URL.createObjectURL(blob); // 创建 url 并指向 blob
+  let a = document.createElement("a");
+  a.href = url;
+  a.download = '添加设备列表模板.xlsx';//文件名称
+  a.click();
+  window.URL.revokeObjectURL(url); // 释放该 url
+}
+
+
+/**
+ * 
+ * @param res 文件流PDF
+ * @param name 下载的文件名
+ * @param format 下载的文件格式  xlsx
+ */
+export function downloadPDF(res,tit) {
+  // const fileName = decodeURIComponent(res.headers["content-disposition"])
+  let blob = new Blob([res.data], { type: 'application/x-rar-compressed' });
+
+  let url = window.URL.createObjectURL(blob); // 创建 url 并指向 blob
+  let a = document.createElement("a");
+  a.href = url;
+  a.download = tit + settimeFun()+'.pdf';//文件名称
+  a.click();
+  window.URL.revokeObjectURL(url); // 释放该 url
+}
+
+function settimeFun(){
+  var date = new Date(); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
+  let y = date.getFullYear();
+  let M = (date.getMonth() + 1).toString().padStart(2, '0');
+  let d = date.getDate().toString().padStart(2, '0');
+  let h = date.getHours().toString().padStart(2, '0');
+  let m = date.getMinutes().toString().padStart(2, '0');
+  let s = date.getSeconds().toString().padStart(2, '0');
+  return y+ M + d + h + m + s;
+}

+ 7 - 1
src/utils/http.js

@@ -4,6 +4,8 @@ import router from '../router/index.js'
 import store from '@/store'
 import qs from 'qs'
 import elementui from 'element-ui'
+
+
 // 创建 axios 实例
 const service = axios.create({
 	baseURL:baseURL,
@@ -30,7 +32,11 @@ service.interceptors.request.use((config) => {
 
 // 响应拦截器
 service.interceptors.response.use((response) => {
-	showStatus(response.data)
+    /***
+     * 处理文件流responseType: "blod"状态显示错误问题
+     */
+    if(!response.config.responseType)showStatus(response.data)
+	
 	return response
 }, (error) => {
 	// 错误抛到业务代码

+ 118 - 22
src/views/CompanyAccount/index.vue

@@ -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;

+ 34 - 29
src/views/calibrationCertificate/index.vue

@@ -2,13 +2,13 @@
 	<div class="calibrationCertificate">
 		<div class="calibrationCertificate1">
 			<div class="calibrationCertificate1-L">
-				<el-button type="primary" icon="el-icon-plus" @click="NewinnerDrawer">新增证书</el-button>
+				<el-button type="primary" icon="el-icon-plus" @click="NewinnerDrawer">新增布局编号</el-button>
 			</div>
 			<div class="calibrationCertificate1-R">
 				<div class="calibrationCertificate1-Rtx">
 					搜索:
 				</div>
-				<el-input v-model="pages.T_sn" placeholder="请输入证书编号" @keyup.enter.native="search" clearable></el-input>
+				<el-input v-model="pages.T_layout_no" placeholder="请输入布局编号" @keyup.enter.native="search" clearable></el-input>
 				<!-- <el-input v-model="pages.T_layout_no" placeholder="请输入布局编号" @keyup.enter.native="search" clearable style="margin-left: 10px;"></el-input> -->
 			</div>
 		</div>
@@ -27,7 +27,7 @@
 				</el-table-column>
 				<el-table-column label="证书编号" width="180">
 					<template slot-scope="scope">
-						<span>{{ scope.row.T_sn }}</span>
+						<span>{{ scope.row.T_Certificate_sn }}</span>
 					</template>
 				</el-table-column>
 				<el-table-column  prop="T_release_time" width="180">
@@ -79,8 +79,8 @@
 					<!-- <el-form-item label="布局编号" label-width="80px" prop="T_layout_no">
 						<el-input v-model="form.T_layout_no" autocomplete="off"></el-input>
 					</el-form-item> -->
-					<el-form-item label="证书编号" label-width="80px" prop="T_sn">
-						<el-input v-model="form.T_sn" autocomplete="off"></el-input>
+					<el-form-item label="布局编号" label-width="80px" prop="T_layout_no">
+						<el-input v-model="form.T_layout_no" autocomplete="off"></el-input>
 					</el-form-item>
 					<el-form-item label-width="80px">
 						<el-button type="primary" @click="submitForm('ruleForm')">
@@ -133,9 +133,13 @@
 					</el-pagination>
 				</div>
 			</div>
-			<el-drawer title="添加证书" :append-to-body="true" :visible.sync="innerDrawer41">
+			<el-drawer :title="drawerTit" :append-to-body="true" :visible.sync="innerDrawer41">
 				<div style="padding: 20px;">
 					<el-form :model="pages3">
+						<el-form-item label="证书编号" label-width="70px">
+							<el-input v-model="pages3.T_Certificate_sn" placeholder="请输入证书编号"></el-input>
+							</el-date-picker>
+						</el-form-item>
 						<el-form-item label="发布时间" label-width="70px">
 							<el-date-picker v-model="pages3.T_release_time" value-format="yyyy-MM-dd" type="date" placeholder="选择日期时间">
 							</el-date-picker>
@@ -187,8 +191,9 @@
 		},
 		data() {
 			return {
+				drawerTit:'添加证书',
 				rules: {
-					T_sn: [{
+					T_layout_no: [{
 						required: true,
 						message: '请输入证书编号',
 						trigger: 'blur'
@@ -201,8 +206,7 @@
 				},
 				titles:'',
 				form: {
-					T_sn: '',
-					// T_layout_no:'',
+					T_layout_no: '',
 					
 				},
 				innerDrawer2: false,
@@ -225,12 +229,13 @@
 				pages2: {//管理证书
 					page: 1,
 					page_z: 10,
-					T_Certificate_sn: ''
+					T_layout_no: ''
 				},
 				pages3: {//添加证书
+					T_layout_no: '',
+					T_Certificate_sn: '',
 					T_failure_time: '',
 					T_release_time: '',
-					T_Certificate_sn: '',
 					T_pdf: ''
 				},
 				tableData: [],
@@ -280,18 +285,25 @@
 				this.pages3.T_pdf = e
 			},
 			GetAddApi(){
-				this.pages3.T_Certificate_sn = this.pages2.T_Certificate_sn
-				if(this.pages3.T_release_time==""){
+				this.pages3.T_layout_no = this.pages2.T_layout_no
+				if(this.pages3.T_Certificate_sn==''){
+					this.$message.error('请输入证书编号')
+					return
+				} else if(this.pages3.T_release_time==""){
 					this.$message.error('请选择发布时间')
+					return
 				}else if(this.pages3.T_failure_time==""){
 					this.$message.error('请选择失效时间')
+					return
 				}else if(this.pages3.T_pdf==""){
 					this.$message.error('请上传证书')
+					return
 				}else{
 					if(this.pages3.T_release_time.replace(/-/g, "")>this.pages3.T_failure_time.replace(/-/g, "")){
 						this.$message.error('发布时间大于失效时间,请重新选择')
 						return
 					}
+					console.log('提交参数',this.pages3)
 					if(this.CerNum==1){
 						this.SetCerti_pdfUp()
 					}else{
@@ -322,7 +334,7 @@
 			submitForm(formName) {
 				this.$refs[formName].validate((valid) => {
 			 	if (valid) {
-						if(this.titles=='新增证书'){
+						if(this.titles=='新增布局'){
 							this.GetCertiAddApi()
 						}else{
 							this.GetCertiEditApi()
@@ -355,7 +367,6 @@
 			
 			GetCertiListApi(){
 				CertiList(this.pages).then(res=>{
-					console.log('列表',res)
 					if(res.data.Code===200){
 						this.tableData = res.data.Data.List
 						this.total = res.data.Data.Num
@@ -363,29 +374,22 @@
 				})
 			},
 			handleEdit1(e) {
-				this.pages3.T_release_time = e.T_release_time
-				this.pages3.T_failure_time = e.T_failure_time
-				this.pages3.T_pdf = e.T_pdf
-				
-				this.pages3.Id = e.Id
+				this.drawerTit = '编辑证书'
+				this.pages3 = {...e}
 				this.CerNum = 1
 				this.innerDrawer41 = true
 			},
 			TimeNew() {
-				this.pages3.T_release_time = ''
-				this.pages3.T_failure_time = ''
-				this.pages3.T_pdf = ''
+				this.drawerTit = '添加证书'
+				Object.keys(this.pages3).forEach(key=>{ this.pages3[key] = '' })
 				this.CerNum = 2
 				this.innerDrawer41 = true
 			},
 			handlePdf(e) {
-				
-				console.log('查看pdf', e)
 				this.$refs.pdf.SetPdf(e.T_pdf)
 			},
 			handleFun(e){
-				console.log('编辑',e)
-				this.titles = '编辑证书'
+				this.titles = '编辑布局'
 				this.innerDrawer2 = true
 				this.form.T_sn = e.T_sn
 				this.form.T_layout_no = e.T_layout_no
@@ -393,7 +397,8 @@
 
 			},
 			handleEdit(e) {
-				this.pages2.T_Certificate_sn = e.T_sn
+				console.log('123',this.pages2,e)
+				this.pages2.T_layout_no = e.T_layout_no
 				this.innerDrawer4 = true
 				this.GetCerti_pdfApi()
 			},
@@ -407,7 +412,7 @@
 				})
 			},
 			NewinnerDrawer() {
-				this.titles = '新增证书'
+				this.titles = '新增布局'
 				Object.keys(this.form).forEach(item=>{this.form[item] = ''})
 				this.innerDrawer2 = true
 			},

+ 77 - 31
src/views/companyManagement/index.vue

@@ -31,7 +31,7 @@
 					<template slot-scope="scope">
 						<el-button size="small" @click="QuestsFun(scope.row)">任务管理</el-button>
 						<el-button size="small" @click="RedactFun(scope.row)">编辑公司</el-button>
-						<el-button size="small" @click="DeleteFun(scope.row)">删除公司</el-button>
+						<el-button size="small" type="danger" plain @click="DeleteFun(scope.row)">删除公司</el-button>
 					</template>
 				</el-table-column>
 			</el-table>
@@ -242,8 +242,8 @@
 								icon="el-icon-download" @click="ShowPdf(0,BaoGaoData.T_pdf1)">验证方案</el-button>
 							<el-button type="primary" :disabled="BaoGaoData.T_pdf2===''?true:false" size="small"
 								icon="el-icon-download" @click="ShowPdf(0,BaoGaoData.T_pdf2)">验证报告</el-button>
-							<el-button type="primary" :disabled="BaoGaoData.T_pdf3===''?true:false" size="small"
-								icon="el-icon-download" @click="ShowPdf(1,BaoGaoData.T_pdf3)">校准证书</el-button>
+							<el-button type="primary" :disabled="BaoGaoData.T_collection_state==0?true:false" size="small"
+								icon="el-icon-download" @click="ShowPdf(1,BaoGaoData)">校准证书</el-button>
 							<el-button type="primary" size="small" icon="el-icon-download" @click="Dowload">下载验证数据
 							</el-button>
 
@@ -262,10 +262,10 @@
 								value-format="yyyy-MM-dd HH:mm:ss" type="datetimerange" range-separator="至"
 								start-placeholder="开始日期" end-placeholder="结束日期" @change="searchTimeData">
 							</el-date-picker>
-							<el-input size="small" class="s1" v-model="form2.T_sn" @keyup.enter.native="search1"
-								placeholder="请输入SN" clearable></el-input>
-							<el-input size="small" class="s1" v-model="form2.T_id" @keyup.enter.native="search1"
-								placeholder="请输入编号" clearable></el-input>
+							<!-- <el-input size="small" class="s1" v-model="form2.T_Certificate_sn" @keyup.enter.native="search1"
+								placeholder="请输入证书编号" clearable></el-input> -->
+							<el-input size="small" class="s1" v-model="form2.T_layout_no" @keyup.enter.native="search1"
+								placeholder="请输入布局编号" clearable></el-input>
 							<el-button size="small" class="s1" type="primary" icon="el-icon-search" @click="search1">搜索
 							</el-button>
 						</div>
@@ -277,14 +277,14 @@
 									<span>{{ scope.row.ID }}</span>
 								</template>
 							</el-table-column>
-							<el-table-column label="设备编号">
+							<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="温度℃">
@@ -292,6 +292,16 @@
 									{{ scope.row.T_t }}
 								</template>
 							</el-table-column>
+                            <el-table-column label="湿度Rh">
+								<template slot-scope="scope">
+									{{ 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="companyManagement3">
@@ -304,9 +314,10 @@
 					:append-to-body="true" :modal-append-to-body="false">
 					<div class="demo-drawers" style="z-index: 999999;">
 						<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_Certificate_sn}}
+							</div>
 						</div>
 					</div>
 				</el-drawer>
@@ -393,7 +404,8 @@
 		TaskGet,
 		TaskEx,
 		DowloadExc,
-		tempClassList
+		tempClassList,
+		devClassListlist
 	} from "@/api/companyManagement"
 	import pdf from "./pdf"
 	import download from "downloadjs"
@@ -419,6 +431,7 @@
 		},
 		data() {
 			return {
+				getDatas:null,
 				optionProps: {
 					value: 'Id',
 					label: 'T_name',
@@ -437,8 +450,8 @@
 				},
 				form2: {
 					T_task_id: '', // 权限
-					T_sn: '', // 某某公司名称
-					T_id: '',
+					// T_Certificate_sn: '', // 某某公司名称
+					T_layout_no: '',
 					Time_start: '', // 登录用户名
 					Time_end: '', // 密码 MD5
 					page: 1,
@@ -581,6 +594,33 @@
 			this.GetUserListApi()
 		},
 		methods: {
+			ShowPdf(e, obj) {
+				if (e == 1) {
+					// this.radioXuan = obj.split("|")
+					this.handleEdit(this.getDatas)
+				} else {
+					this.$refs.pdf.SetPdf(e)
+				}
+			},
+			handleEdit(e) {
+				const {T_class} = {...e}
+				devClassListlist({T_class:T_class}).then(res=>{
+					if(res.data.Code==200){
+						this.innerDrawer211 = true
+						this.radioXuan = res.data.Data.List || []
+					}
+				})
+				// this.radioXuan = e.T_pdf3.split("|")
+			},
+			radioInput(reslut) {
+				// console.log('点击',reslut)
+				if(reslut.T_pdf){
+					this.$refs.pdf.SetPdf(reslut.T_pdf)
+				}else{
+					this.$message.error('没有可展示证书哦')
+					return
+				}
+			},
 			//分类列表
 			getTempApi() {
 				tempClassList({}).then(res => {
@@ -625,18 +665,8 @@
 					}
 				})
 			},
-			radioInput() {
-				var values = this.radio1.split(",")[1]
-				this.$refs.pdf.SetPdf(values)
-			},
-			ShowPdf(e, obj) {
-				if (e == 1) {
-					this.radioXuan = obj.split("|")
-					this.innerDrawer211 = true
-				} else {
-					this.$refs.pdf.SetPdf(e)
-				}
-			},
+			
+			
 			
 			submitForm1(formName) {
 				let arrClass = {...this.form1}
@@ -701,7 +731,6 @@
 					}
 				}
 				this.optionsRw = []
-				console.log('新增赋值2',this.form1)
 				this.form1.T_uuid = this.pages1.T_uuid
 				// this.form1 = this.$options.data().form
 				this.getTempApi()
@@ -710,7 +739,6 @@
 
 			GetAdminList_AllApi() {
 				AdminList_All({}).then(res => {
-					console.log('负责人', res)
 					if (res.data.Code === 200) {
 						this.optionsFz = res.data.Data.List
 					}
@@ -864,7 +892,7 @@
 				})
 			},
 			commands(e, obj) {
-				console.log(e, obj)
+				this.getDatas = obj
 				switch (e) {
 					case 'a':
 						this.pages2.T_task_id = obj.T_task_id
@@ -1018,6 +1046,24 @@
 
 	.demo-drawers {
 		padding: 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;
+					}
+			}
 	}
 
 	/deep/.el-step__title {

+ 6 - 7
src/views/home/home.vue

@@ -5,14 +5,13 @@
 </template>
 
 <script>
-	export default {
-		name:'home',
-		data() {
-			return{
-				vlaue:''
-			}
+export default {
+	name: 'home',
+	data() {
+		return {
 		}
-	}
+	},
+}
 </script>
 
 <style lang="scss">

File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/7800e017db2cfb37.worker.js


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/7800e017db2cfb37.worker.js.map


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/css/177.693fd974.css


+ 0 - 1
冷链2.0线上/css/292.c5fa6e42.css

@@ -1 +0,0 @@
-.login{-webkit-user-select:none;-moz-user-select:none;user-select:none;background:#fff}.login .loginMai{height:100vh;width:100%;display:flex;align-items:center}.login .loginMai .loginPir{width:100%;display:flex;flex-direction:column}.login .loginMai .loginPir .loginPir-t{height:80px;margin:0 auto}.login .loginMai .loginPir .loginPir-c{flex:1;height:500px;background-image:url(/d5a7f9c29098739c.jfif);background-size:cover;background-repeat:no-repeat}@media screen and (max-width:1200px){.login .loginMai .loginPir .loginPir-c .loginPir-cLR{height:100%;margin:0 auto;display:flex;align-items:center;justify-content:center}.login .loginMai .loginPir .loginPir-c .loginPir-cLR .loginPir-c-L{display:none;color:#fff}.login .loginMai .loginPir .loginPir-c .loginPir-cLR .loginPir-c-L h1{letter-spacing:5px}.login .loginMai .loginPir .loginPir-c .loginPir-cLR .loginPir-c-R{background:#fff;border-radius:4px;padding:40px 30px;width:300px}.login .loginMai .loginPir .loginPir-c .loginPir-cLR .loginPir-c-R .loginPir-c-R1{padding-bottom:30px;letter-spacing:2px;color:#606266}}@media screen and (min-width:1200px){.login .loginMai .loginPir .loginPir-c .loginPir-cLR{max-width:1200px;height:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.login .loginMai .loginPir .loginPir-c .loginPir-cLR .loginPir-c-L{color:#fff}.login .loginMai .loginPir .loginPir-c .loginPir-cLR .loginPir-c-L h1{letter-spacing:5px}.login .loginMai .loginPir .loginPir-c .loginPir-cLR .loginPir-c-R{background:#fff;border-radius:4px;padding:40px 30px;width:300px}.login .loginMai .loginPir .loginPir-c .loginPir-cLR .loginPir-c-R .loginPir-c-R1{padding-bottom:30px;letter-spacing:2px;color:#606266}}.login .loginMai .loginPir .loginPir-b{height:80px}

File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/css/4.7d0a2404.css


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/css/52.e2cec616.css


+ 0 - 1
冷链2.0线上/css/756.4e1fcf69.css

@@ -1 +0,0 @@
-.files-mai[data-v-d5b2bf1e]{border:1px dashed #d9d9d9;border-radius:6px;position:relative;height:150px}.files-mai .files-mai1[data-v-d5b2bf1e]{height:100%;color:#606266;font-size:14px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.files-mai .files-mai1 img[data-v-d5b2bf1e]{width:60px;height:60px}.files-mai[data-v-d5b2bf1e]:hover{border:1px dashed #409eff}.files-mai{border:1px dashed #d9d9d9;border-radius:6px;position:relative;height:150px}.files-mai .files-mai-pir{height:100%}.files-mai .files-mai-pir .files-mai1{height:100%;color:#606266;font-size:14px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.files-mai .files-mai-pir .files-mai1 img{width:60px;height:60px}[data-v-34bc8a2e] .el-upload{width:100%}.demo-drawers[data-v-34bc8a2e],.drawer-upload[data-v-34bc8a2e]{padding:20px}.icon-bg-def[data-v-34bc8a2e]{color:#c0c4cc}.icon-bg-on[data-v-34bc8a2e]{color:#409eff}.icon-bg-off[data-v-34bc8a2e]{color:#c0c4cc}[data-v-34bc8a2e] .el-upload-dragger{width:100%!important;padding:0 30px!important}.ValidationTemplate .ValidationTemplate1 .ValidationTemplate1-R[data-v-34bc8a2e],.ValidationTemplate .ValidationTemplate1[data-v-34bc8a2e]{display:flex;justify-content:space-between;align-items:center}.ValidationTemplate .ValidationTemplate1 .ValidationTemplate1-R .ValidationTemplate1-Rtx[data-v-34bc8a2e]{min-width:45px;font-size:14px;color:#909399;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ValidationTemplate .ValidationTemplate2[data-v-34bc8a2e]{margin-top:20px}.ValidationTemplate .ValidationTemplate3[data-v-34bc8a2e]{margin-top:40px}

File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/css/895.7be1f47a.css


+ 0 - 1
冷链2.0线上/css/97.7bb3a9aa.css

@@ -1 +0,0 @@
-[v-cloak][data-v-018f9039]{display:none}.demo-drawers[data-v-018f9039]{padding:20px}.ManagingUsers .ManagingUsers1 .ManagingUsers1-R[data-v-018f9039],.ManagingUsers .ManagingUsers1[data-v-018f9039]{display:flex;justify-content:space-between;align-items:center}.ManagingUsers .ManagingUsers1 .ManagingUsers1-R .ManagingUsers1-Rtx[data-v-018f9039]{min-width:45px;font-size:14px;color:#909399;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ManagingUsers .ManagingUsers2[data-v-018f9039]{margin-top:20px}.ManagingUsers .ManagingUsers3[data-v-018f9039]{margin-top:40px}

File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/css/app.85b7e3bb.css


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/css/chunk-vendors.2b35c01c.css


BIN
冷链2.0线上/d5a7f9c29098739c.jfif


BIN
冷链2.0线上/favicon.ico


BIN
冷链2.0线上/fonts/element-icons.f1a45d74.ttf


BIN
冷链2.0线上/fonts/element-icons.ff18efd1.woff


BIN
冷链2.0线上/img/logo2-2.a307168d.png


+ 0 - 1
冷链2.0线上/index.html

@@ -1 +0,0 @@
-<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>baozhida-chain-verify-online</title><script defer="defer" src="/js/chunk-vendors.785ddca1.js"></script><script defer="defer" src="/js/app.40153498.js"></script><link href="/css/chunk-vendors.2b35c01c.css" rel="stylesheet"><link href="/css/app.85b7e3bb.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but baozhida-chain-verify-online doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/119.46dad8f2.js


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/119.46dad8f2.js.map


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/177.4daefa7f.js


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/177.4daefa7f.js.map


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/292.8779fb13.js


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/292.8779fb13.js.map


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/4.32552dec.js


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/4.32552dec.js.map


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/52.79f552ff.js


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/52.79f552ff.js.map


+ 0 - 2
冷链2.0线上/js/559.8fa36ea3.js

@@ -1,2 +0,0 @@
-"use strict";(self["webpackChunkbaozhida_chain_verify_online"]=self["webpackChunkbaozhida_chain_verify_online"]||[]).push([[559],{4559:function(n,e,a){a.r(e),a.d(e,{default:function(){return o}});var i=function(){var n=this,e=n._self._c;return e("div",[e("el-empty",{attrs:{description:"暂无其他内容"}})],1)},t=[],r={name:"home",data(){return{vlaue:""}}},u=r,l=a(1001),c=(0,l.Z)(u,i,t,!1,null,null,null),o=c.exports}}]);
-//# sourceMappingURL=559.8fa36ea3.js.map

File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/559.8fa36ea3.js.map


+ 0 - 2
冷链2.0线上/js/564.6af0e5a6.js

@@ -1,2 +0,0 @@
-(self["webpackChunkbaozhida_chain_verify_online"]=self["webpackChunkbaozhida_chain_verify_online"]||[]).push([[564],{564:function(n,u,r){"use strict";r.r(u);var t=r(600),i=r(3328),e={};for(var f in i)"default"!==f&&(e[f]=function(n){return i[n]}.bind(0,f));r.d(u,e);var a=r(1001),c=(0,a.Z)(i["default"],t.s,t.x,!1,null,null,null);u["default"]=c.exports},3328:function(n,u,r){"use strict";r.r(u);var t=r(1471),i=r.n(t),e={};for(var f in t)"default"!==f&&(e[f]=function(n){return t[n]}.bind(0,f));r.d(u,e),u["default"]=i()},1471:function(){},600:function(n,u,r){"use strict";r.d(u,{s:function(){return t},x:function(){return i}});var t=function(){var n=this,u=n._self._c;n._self._setupProxy;return u("div",[n._v(" 404 ")])},i=[]}}]);
-//# sourceMappingURL=564.6af0e5a6.js.map

+ 0 - 1
冷链2.0线上/js/564.6af0e5a6.js.map

@@ -1 +0,0 @@
-{"version":3,"file":"js/564.6af0e5a6.js","mappings":"wRAOIA,GAAY,OACd,aACA,IACA,KACA,EACA,KACA,KACA,MAIF,aAAeA,EAAiB,O,wJClBmN,aAAe,G,4GCAlQ,IAAIC,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMC,YAAY,OAAOF,EAAG,MAAM,CAACF,EAAIK,GAAG,UACjH,EACIC,EAAkB,E","sources":["webpack://baozhida-chain-verify-online/./src/components/404.vue?9e52","webpack://baozhida-chain-verify-online/./src/components/404.vue?c77d","webpack://baozhida-chain-verify-online/./src/components/404.vue"],"sourcesContent":["import { render, staticRenderFns } from \"./404.vue?vue&type=template&id=86268fde&\"\nimport script from \"./404.vue?vue&type=script&lang=js&\"\nexport * from \"./404.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./404.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./404.vue?vue&type=script&lang=js&\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_vm._v(\" 404 \")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"],"names":["component","render","_vm","this","_c","_self","_setupProxy","_v","staticRenderFns"],"sourceRoot":""}

File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/756.2465e90f.js


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/756.2465e90f.js.map


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/784.46e5d14f.js


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/784.46e5d14f.js.map


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/834.f6671095.js


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/834.f6671095.js.map


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/895.12917f95.js


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/895.12917f95.js.map


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/97.4305683e.js


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/97.4305683e.js.map


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/app.40153498.js


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/app.40153498.js.map


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/chunk-vendors.785ddca1.js


File diff suppressed because it is too large
+ 0 - 0
冷链2.0线上/js/chunk-vendors.785ddca1.js.map


Some files were not shown because too many files changed in this diff