YangJian0701 2 years ago
parent
commit
d8d65e3dfd

+ 110 - 0
src/api/ReportViewing - 副本.js

@@ -0,0 +1,110 @@
+// 登录接口
+import {
+	axios
+} from '../utils/http.js'
+
+const VT = {
+	TempGet: '/VerifyTemplate/List',
+	TempAdd: '/VerifyTemplate/Add',
+	TempUp: '/VerifyTemplate/Up',
+	TempDel: '/VerifyTemplate/Del',
+	
+	
+	Map_List: '/VerifyTemplate/Map_List',
+	Map_Add: '/VerifyTemplate/Map_Add',
+	Map_Up: '/VerifyTemplate/Map_Up',
+	Map_Del: '/VerifyTemplate/Map_Del',
+	
+	Time_List: '/VerifyTemplate/Time_List',
+	Time_Add: '/VerifyTemplate/Time_Add',
+	Time_Up: '/VerifyTemplate/Time_Up',
+	Time_Del: '/VerifyTemplate/Time_Del',
+}
+export function Time_Del(data) {
+	return axios({
+		url: VT.Time_Del,
+		method: 'post',
+		data:data
+	})
+}
+export function Time_Up(data) {
+	return axios({
+		url: VT.Time_Up,
+		method: 'post',
+		data:data
+	})
+}
+export function Time_Add(data) {
+	return axios({
+		url: VT.Time_Add,
+		method: 'post',
+		data:data
+	})
+}
+export function Time_List(data) {
+	return axios({
+		url: VT.Time_List,
+		method: 'post',
+		data:data
+	})
+}
+export function Map_Del(data) {
+	return axios({
+		url: VT.Map_Del,
+		method: 'post',
+		data:data
+	})
+}
+export function Map_Up(data) {
+	return axios({
+		url: VT.Map_Up,
+		method: 'post',
+		data:data
+	})
+}
+export function Map_Add(data) {
+	return axios({
+		url: VT.Map_Add,
+		method: 'post',
+		data:data
+	})
+}
+
+export function Map_List(data) {
+	return axios({
+		url: VT.Map_List,
+		method: 'post',
+		data:data
+	})
+}
+
+
+export function TempDel(data) {
+	return axios({
+		url: VT.TempDel,
+		method: 'post',
+		data:data
+	})
+}
+
+export function TempUp(data) {
+	return axios({
+		url: VT.TempUp,
+		method: 'post',
+		data:data
+	})
+}
+export function TempAdd(data) {
+	return axios({
+		url: VT.TempAdd,
+		method: 'post',
+		data:data
+	})
+}
+export function TempGet(data) {
+	return axios({
+		url: VT.TempGet,
+		method: 'post',
+		data:data
+	})
+}

+ 4 - 99
src/api/ReportViewing.js

@@ -3,107 +3,12 @@ import {
 	axios
 } from '../utils/http.js'
 
-const VT = {
-	TempGet: '/VerifyTemplate/List',
-	TempAdd: '/VerifyTemplate/Add',
-	TempUp: '/VerifyTemplate/Up',
-	TempDel: '/VerifyTemplate/Del',
-	
-	
-	Map_List: '/VerifyTemplate/Map_List',
-	Map_Add: '/VerifyTemplate/Map_Add',
-	Map_Up: '/VerifyTemplate/Map_Up',
-	Map_Del: '/VerifyTemplate/Map_Del',
-	
-	Time_List: '/VerifyTemplate/Time_List',
-	Time_Add: '/VerifyTemplate/Time_Add',
-	Time_Up: '/VerifyTemplate/Time_Up',
-	Time_Del: '/VerifyTemplate/Time_Del',
+const Tasklist = {
+	TaskGet: '/Task/Get',
 }
-export function Time_Del(data) {
+export function TaskGet(data) {
 	return axios({
-		url: VT.Time_Del,
-		method: 'post',
-		data:data
-	})
-}
-export function Time_Up(data) {
-	return axios({
-		url: VT.Time_Up,
-		method: 'post',
-		data:data
-	})
-}
-export function Time_Add(data) {
-	return axios({
-		url: VT.Time_Add,
-		method: 'post',
-		data:data
-	})
-}
-export function Time_List(data) {
-	return axios({
-		url: VT.Time_List,
-		method: 'post',
-		data:data
-	})
-}
-export function Map_Del(data) {
-	return axios({
-		url: VT.Map_Del,
-		method: 'post',
-		data:data
-	})
-}
-export function Map_Up(data) {
-	return axios({
-		url: VT.Map_Up,
-		method: 'post',
-		data:data
-	})
-}
-export function Map_Add(data) {
-	return axios({
-		url: VT.Map_Add,
-		method: 'post',
-		data:data
-	})
-}
-
-export function Map_List(data) {
-	return axios({
-		url: VT.Map_List,
-		method: 'post',
-		data:data
-	})
-}
-
-
-export function TempDel(data) {
-	return axios({
-		url: VT.TempDel,
-		method: 'post',
-		data:data
-	})
-}
-
-export function TempUp(data) {
-	return axios({
-		url: VT.TempUp,
-		method: 'post',
-		data:data
-	})
-}
-export function TempAdd(data) {
-	return axios({
-		url: VT.TempAdd,
-		method: 'post',
-		data:data
-	})
-}
-export function TempGet(data) {
-	return axios({
-		url: VT.TempGet,
+		url: Tasklist.TaskGet,
 		method: 'post',
 		data:data
 	})

+ 100 - 4
src/api/ValidationTemplate.js

@@ -1,14 +1,110 @@
+
 // 登录接口
 import {
 	axios
 } from '../utils/http.js'
 
-const Tasklist = {
-	TaskGet: '/Task/Get',
+const VT = {
+	TempGet: '/VerifyTemplate/List',
+	TempAdd: '/VerifyTemplate/Add',
+	TempUp: '/VerifyTemplate/Up',
+	TempDel: '/VerifyTemplate/Del',
+	
+	
+	Map_List: '/VerifyTemplate/Map_List',
+	Map_Add: '/VerifyTemplate/Map_Add',
+	Map_Up: '/VerifyTemplate/Map_Up',
+	Map_Del: '/VerifyTemplate/Map_Del',
+	
+	Time_List: '/VerifyTemplate/Time_List',
+	Time_Add: '/VerifyTemplate/Time_Add',
+	Time_Up: '/VerifyTemplate/Time_Up',
+	Time_Del: '/VerifyTemplate/Time_Del',
+}
+export function Time_Del(data) {
+	return axios({
+		url: VT.Time_Del,
+		method: 'post',
+		data:data
+	})
+}
+export function Time_Up(data) {
+	return axios({
+		url: VT.Time_Up,
+		method: 'post',
+		data:data
+	})
+}
+export function Time_Add(data) {
+	return axios({
+		url: VT.Time_Add,
+		method: 'post',
+		data:data
+	})
+}
+export function Time_List(data) {
+	return axios({
+		url: VT.Time_List,
+		method: 'post',
+		data:data
+	})
+}
+export function Map_Del(data) {
+	return axios({
+		url: VT.Map_Del,
+		method: 'post',
+		data:data
+	})
+}
+export function Map_Up(data) {
+	return axios({
+		url: VT.Map_Up,
+		method: 'post',
+		data:data
+	})
+}
+export function Map_Add(data) {
+	return axios({
+		url: VT.Map_Add,
+		method: 'post',
+		data:data
+	})
+}
+
+export function Map_List(data) {
+	return axios({
+		url: VT.Map_List,
+		method: 'post',
+		data:data
+	})
+}
+
+
+export function TempDel(data) {
+	return axios({
+		url: VT.TempDel,
+		method: 'post',
+		data:data
+	})
+}
+
+export function TempUp(data) {
+	return axios({
+		url: VT.TempUp,
+		method: 'post',
+		data:data
+	})
+}
+export function TempAdd(data) {
+	return axios({
+		url: VT.TempAdd,
+		method: 'post',
+		data:data
+	})
 }
-export function TaskGet(data) {
+export function TempGet(data) {
 	return axios({
-		url: Tasklist.TaskGet,
+		url: VT.TempGet,
 		method: 'post',
 		data:data
 	})

+ 132 - 0
src/api/companyManagement.js

@@ -0,0 +1,132 @@
+// 登录接口
+import {
+	axios
+} from '../utils/http.js'
+
+const companyManagement = {
+	UserList: '/User/List',//
+	UserUp: '/User/Up',//
+	UserAdd: '/User/Add',//
+	UserPowerAll: '/UserPower/List_All',//
+	
+	TaskList: '/Task/List',//
+	TaskUp: '/Task/Up',
+	TaskLogsList: '/TaskLogs/List',
+	TempList: '/VerifyTemplate/List',
+	TaskAdd: '/Task/Add',
+	AdminList_All: '/Admin/List_All',
+	TaskDel: '/Task/Del',
+	
+	TaskGet: '/Task/Get',
+	TaskEx: '/TaskData/List',
+	
+	DowloadExc: '/TaskData/Export_Data_Excel',
+	
+	
+}
+export function DowloadExc(data) {
+	return axios({
+		url: companyManagement.DowloadExc,
+		method: 'post',
+		data:data
+	})
+}
+export function TaskEx(data) {
+	return axios({
+		url: companyManagement.TaskEx,
+		method: 'post',
+		data:data
+	})
+}
+export function TaskGet(data) {
+	return axios({
+		url: companyManagement.TaskGet,
+		method: 'post',
+		data:data
+	})
+}
+
+export function TaskDel(data) {
+	return axios({
+		url: companyManagement.TaskDel,
+		method: 'post',
+		data:data
+	})
+}
+
+export function TaskAdd(data) {
+	return axios({
+		url: companyManagement.TaskAdd,
+		method: 'post',
+		data:data
+	})
+}
+
+export function AdminList_All(data) {
+	return axios({
+		url: companyManagement.AdminList_All,
+		method: 'post',
+		data:data
+	})
+}
+export function TempList(data) {
+	return axios({
+		url: companyManagement.TempList,
+		method: 'post',
+		data:data
+	})
+}
+
+export function TaskLogsList(data) {
+	return axios({
+		url: companyManagement.TaskLogsList,
+		method: 'post',
+		data:data
+	})
+}
+export function TaskUp(data) {
+	return axios({
+		url: companyManagement.TaskUp,
+		method: 'post',
+		data:data
+	})
+}
+export function TaskList(data) {
+	return axios({
+		url: companyManagement.TaskList,
+		method: 'post',
+		data:data
+	})
+}
+//所有权限
+export function UserAdd(data) {
+	return axios({
+		url: companyManagement.UserAdd,
+		method: 'post',
+		data:data
+	})
+}
+//所有权限
+export function UserPowerAll(data) {
+	return axios({
+		url: companyManagement.UserPowerAll,
+		method: 'post',
+		data:data
+	})
+}
+//用户登录
+export function UserUp(data) {
+	return axios({
+		url: companyManagement.UserUp,
+		method: 'post',
+		data:data
+	})
+}
+//用户登录
+export function UserList(data) {
+	return axios({
+		url: companyManagement.UserList,
+		method: 'post',
+		data:data
+	})
+}

+ 0 - 9
src/router/index.js

@@ -56,15 +56,6 @@ const routes = [
 				authority:1//0全显示,1管理,2用户
 			},
 		},{
-			path: '/ReportViewing',
-			name: 'ReportViewing',
-			icons:'el-icon-pie-chart',
-			component: () => import('@/views/ReportViewing/index.vue'),
-			meta: {
-				title: '报告查看',
-				authority:1//0全显示,1管理,2用户
-			},
-		},{
 			path: '/ValidationTemplate',
 			name: 'ValidationTemplate',
 			icons:'el-icon-magic-stick',

+ 13 - 0
src/views/ReportViewing/index.vue

@@ -71,6 +71,7 @@
 		TaskGet
 	} from '@/api/ReportViewing'
 	export default {
+		props:['ReportVal'],
 		name: 'ReportViewing',
 		components: {
 			pdf
@@ -106,10 +107,22 @@
 				}],
 			}
 		},
+		watch: {
+			ReportVal: {
+				handler: function() {
+					console.log('变化',news)
+				},
+				// 开启深度监听:只要obj中的任何一个属性发生改变,都会触发相应的代码
+				deep: true
+			}
+		},
 		mounted() {
 			this.GetTaskGetApi()
 		},
 		methods: {
+			SetValue(e){
+				console.log('ref',e)
+			},
 			GetTaskGetApi(){
 				TaskGet({}).then(res=>{
 					console.log(res)

+ 1 - 1
src/views/ValidationTemplate/index.vue

@@ -254,7 +254,7 @@
 		TempGet,
 		TempAdd,
 		TempUp,TempDel,Map_List,Map_Add,Map_Up,Map_Del,Time_List,Time_Add,Time_Up,Time_Del
-	} from '@/api/ReportViewing'
+	} from '@/api/ValidationTemplate'
 	import flies from "@/components/files.vue"
 	export default {
 		name: 'ValidationTemplate',

+ 563 - 112
src/views/companyManagement/index.vue

@@ -3,25 +3,26 @@
 		<div class="companyManagement1">
 			<!-- <el-button type="primary" icon="el-icon-search">搜索</el-button> -->
 			<div class="companyManagement1-L">
-				<el-button type="primary" icon="el-icon-plus" @click="dialog=true">新增公司</el-button>
+				<el-button type="primary" icon="el-icon-plus" @click="NewsMang">新增公司</el-button>
 			</div>
 			<div class="companyManagement1-R">
 				<div class="companyManagement1-Rtx">
 					搜索:
 				</div>
-				<el-input v-model="page.name" placeholder="请输入公司名称" @keyup.enter.native="search" clearable></el-input>
+				<el-input v-model="pages.T_name" placeholder="请输入公司名称" @keyup.enter.native="search" clearable></el-input>
 			</div>
 		</div>
 		<div class="companyManagement2">
 			<el-table :data="tableData" border size="small">
-				<el-table-column label="公司名称" width="180">
+				<el-table-column label="公司名称" width="250">
 					<template slot-scope="scope">
-						<span>{{ scope.row.date }}</span>
+						<span>{{ scope.row.T_name }}</span>
 					</template>
 				</el-table-column>
-				<el-table-column label="是否隐藏" width="180">
+				<el-table-column label="隐藏/公开" width="180">
 					<template slot-scope="scope">
-						{{ scope.row.name }}
+						<el-switch v-model="scope.row.T_Show" active-color="#409EFF" inactive-color="#ccc" :inactive-value="0" :active-value="1" @change="Changswitch(scope.row)">
+						</el-switch>
 					</template>
 				</el-table-column>
 				<el-table-column label="操作">
@@ -32,30 +33,29 @@
 			</el-table>
 		</div>
 		<div class="companyManagement3">
-			<el-pagination @current-change="handleCurrentChange" :current-page="page.pagez" :page-size="page.page_size"
+			<el-pagination @current-change="handleCurrentChange" :current-page="pages.page" :page-size="pages.page_z"
 				layout="total, prev, pager, next, jumper" :total="total">
 			</el-pagination>
 		</div>
-		<el-drawer title="添加公司" :visible.sync="dialog" direction="rtl" :wrapperClosable="false" ref="drawer">
+		<el-drawer title="添加公司" :visible.sync="dialog" direction="rtl" ref="drawer">
 			<div class="demo-drawers">
-				<el-form :model="form">
-					<el-form-item label="名称" :label-width="LabelWidth">
-						<el-input v-model="form.name" autocomplete="off"></el-input>
+				<el-form :model="form" :rules="rules" ref="ruleForm">
+					<el-form-item label="公司名称" :label-width="LabelWidth" prop="T_name">
+						<el-input v-model="form.T_name" autocomplete="off"></el-input>
 					</el-form-item>
-					<el-form-item label="权限" :label-width="LabelWidth">
-						<el-select v-model="form.region" placeholder="请选择活动区域">
-							<el-option label="区域一" value="shanghai"></el-option>
-							<el-option label="区域二" value="beijing"></el-option>
+					<el-form-item label="权限" :label-width="LabelWidth" prop="T_power">
+						<el-select v-model="form.T_power" placeholder="请选择活动区域">
+							<el-option :label="item.T_name" :value="item.Id" v-for="(item,index) in optionsPir" :key="index"></el-option>
 						</el-select>
 					</el-form-item>
-					<el-form-item label="用户" :label-width="LabelWidth">
-						<el-input v-model="form.name" autocomplete="off"></el-input>
+					<el-form-item label="用户" :label-width="LabelWidth" prop="T_user">
+						<el-input v-model="form.T_user" autocomplete="off"></el-input>
 					</el-form-item>
-					<el-form-item label="密码" :label-width="LabelWidth">
-						<el-input v-model="form.paw" autocomplete="off"></el-input>
+					<el-form-item label="密码" :label-width="LabelWidth" prop="T_passstr">
+						<el-input v-model="form.T_passstr" autocomplete="off" show-password></el-input>
 					</el-form-item>
 					<el-form-item :label-width="LabelWidth">
-						<el-button type="primary" @click="$refs.drawer.closeDrawer()">
+						<el-button type="primary" @click="submitForm('ruleForm')">
 							确 定
 						</el-button>
 						<el-button @click="dialog=false">取 消</el-button>
@@ -63,41 +63,41 @@
 				</el-form>
 			</div>
 		</el-drawer>
-		<el-drawer title="任务列表" :visible.sync="Drawer" direction="rtl" :wrapperClosable="false" ref="drawer"
+		<el-drawer title="任务列表" :visible.sync="Drawer" direction="rtl" ref="drawer"
 			size="90%">
 			<div class="demo-drawers">
-				<el-button type="primary" icon="el-icon-plus" @click="innerDrawer=true">添加任务</el-button>
+				<el-button type="primary" icon="el-icon-plus" @click="NewsRenwu">添加任务</el-button>
 				<div style="margin-top: 10px;">
-					<el-table :data="tableData" border size="small">
+					<el-table :data="tableData1" border size="small">
 						<el-table-column label="任务名称" width="180">
 							<template slot-scope="scope">
-								<span>{{ scope.row.date }}</span>
+								<span>{{ scope.row.T_name }}</span>
 							</template>
 						</el-table-column>
 						<el-table-column label="流程" width="400">
 							<template slot-scope="scope">
-								<el-steps :active="2" finish-status="success">
-								  <el-step title="实施方案" description="张三"></el-step>
-								  <el-step title="数据采集" description="李四"></el-step>
-								  <el-step title="报告编写" description="王二"></el-step>
-								  <el-step title="交付审核" description="麻子"></el-step>
+								<el-steps :active="scope.row | stepVal()" finish-status="success">
+								  <el-step title="实施方案" :description="scope.row.T_scheme_name"></el-step>
+								  <el-step title="数据采集" :description="scope.row.T_collection_name"></el-step>
+								  <el-step title="报告编写" :description="scope.row.T_reporting_name"></el-step>
+								  <el-step title="交付审核" :description="scope.row.T_delivery_name"></el-step>
 								</el-steps>
 							</template>
 						</el-table-column>
-						<el-table-column label="公开/隐藏" width="180">
+						<el-table-column label="隐藏/公开" width="80">
 							<template slot-scope="scope">
-								<el-switch v-model="value" active-color="#13ce66" inactive-color="#ff4949">
+								<el-switch v-model="scope.row.T_Show" active-color="#409EFF" inactive-color="#ccc" :inactive-value="0" :active-value="1" @change="Changswitch1(scope.row)">
 								</el-switch>
 							</template>
 						</el-table-column>
 						<el-table-column label="截止时间" width="180">
 							<template slot-scope="scope">
-								{{ scope.row.time }}
+								{{ scope.row.T_deadline }}
 							</template>
 						</el-table-column>
 						<el-table-column label="操作">
 							<template slot-scope="scope">
-								<el-dropdown @command="commands">
+								<el-dropdown @command="commands($event,scope.row)">
 									<div class="el-dropdown-link dropdown-links" style="">
 										<el-button type="primary" plain>更多操作</el-button>
 									</div>
@@ -114,68 +114,158 @@
 				</div>
 				<div style="margin-top: 10px;">
 					<el-pagination @current-change="handleCurrentChange111"
-						:current-page="page1.pagez" :page-size="page1.page_size" layout="total, prev, pager, next, jumper"
-						:total="total">
+						:current-page="pages1.page" :page-size="pages1.page_z" layout="total, prev, pager, next, jumper"
+						:total="total1">
 					</el-pagination>
 				</div>
 			</div>
-			<el-drawer title="查看日志" :append-to-body="true" :visible.sync="innerDrawer1"><!-- 日志 -->
+			<el-drawer title="查看日志" :append-to-body="true" :visible.sync="innerDrawer1" size="60%"><!-- 日志 -->
 				<div style="padding: 20px;">
-					<el-table :data="tableData" border size="small">
-						<el-table-column label="内容">
+					<el-table :data="tableData2" border size="small">
+						<el-table-column label="用户名" :show-overflow-tooltip="true">
 							<template slot-scope="scope">
-								<span>{{ scope.row.date }}</span>
+								<span>{{ scope.row.T_name }}</span>
 							</template>
 						</el-table-column>
-						<el-table-column label="时间">
+						<el-table-column label="分类" :show-overflow-tooltip="true">
 							<template slot-scope="scope">
-								<span>{{ scope.row.date }}</span>
+								<span>{{ scope.row.Logs_Title }}</span>
+							</template>
+						</el-table-column>
+						<el-table-column label="详情" :show-overflow-tooltip="true">
+							<template slot-scope="scope">
+								<span>{{ scope.row.Logs_Txt }}</span>
+							</template>
+						</el-table-column>
+						<el-table-column label="时间" :show-overflow-tooltip="true">
+							<template slot-scope="scope">
+								<span>{{ scope.row.CreateTime }}</span>
 							</template>
 						</el-table-column>
 					</el-table>
+					<div style="margin-top: 10px;">
+						<el-pagination @current-change="handleCurrentChange2"
+							:current-page="pages2.page" :page-size="pages2.page_z" layout="total, prev, pager, next, jumper"
+							:total="total2">
+						</el-pagination>
+					</div>
 				</div>
 			</el-drawer>
-			<el-drawer title="查看报告" :append-to-body="true" :visible.sync="innerDrawer2" size="60%"><!-- 查看报告 -->
+			<el-drawer title="查看报告" :append-to-body="true" :visible.sync="innerDrawer2" size="80%"><!-- 查看报告 -->
+				
 				<div style="padding: 20px;">
-					<ReportViewing></ReportViewing>
+					<div style="margin-bottom:50px;display: flex;">
+						<el-descriptions title="报告信息" border>
+						    <el-descriptions-item label="报告名称">{{BaoGaoData.T_name}}</el-descriptions-item>
+						    <el-descriptions-item label="创建时间">{{BaoGaoData.CreateTime}}</el-descriptions-item>
+						    <el-descriptions-item label="修改时间">{{BaoGaoData.UpdateTime}}</el-descriptions-item>
+						</el-descriptions>
+					</div>
+					<div style="margin-bottom: 50px;">
+						<div style="margin-bottom:20px;font-size: 16px; font-weight: 700;">查看/下载pdf</div>
+						<div>
+							<el-button type="primary" :disabled="BaoGaoData.T_pdf1===''?true:false" size="small" 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" size="small" icon="el-icon-download" @click="Dowload">下载验证数据</el-button>
+							
+						</div>
+					</div>
+					<div style="margin-bottom: 50px;">
+						<div style="margin-bottom:20px;font-size: 16px;display: flex;align-items: center;">
+							<div style="font-weight: 700;">验证设备数据</div>
+							<!-- <div style="display: flex;align-items: center;font-size: 12px;color: #409EFF;border-bottom: 1px solid #409EFF;margin-left: 20px;cursor: pointer;">
+								<i class="el-icon-download"></i>
+								<div style="margin-left:2px;">下载数据</div>
+							</div> -->
+						</div>
+						<div class="Baogao">
+							<el-date-picker class="s1" v-model="TimeValue" size="small" 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-button size="small" class="s1" type="primary" icon="el-icon-search" @click="search1">搜索</el-button>
+						</div>
+						
+						
+						<el-table :data="tableData3" border size="small">
+							<el-table-column label="ID">
+								<template slot-scope="scope">
+									<span>{{ scope.row.ID }}</span>
+								</template>
+							</el-table-column>
+							<el-table-column label="设备编号">
+								<template slot-scope="scope">
+									{{ scope.row.T_id }}
+								</template>
+							</el-table-column>
+							<el-table-column label="SN">
+								<template slot-scope="scope">
+									<span>{{ scope.row.T_sn }}</span>
+								</template>
+							</el-table-column>
+							<el-table-column label="温度℃">
+								<template slot-scope="scope">
+									{{ scope.row.T_t }}
+								</template>
+							</el-table-column>
+						</el-table>
+					</div>
+					<div class="companyManagement3">
+						<el-pagination @current-change="handleCurrentChange3" :current-page="form2.page" :page-size="form2.page_z"
+							layout="total, prev, pager, next, jumper" :total="total3">
+						</el-pagination>
+					</div>
 				</div>
+				<el-drawer title="校准证书" :visible.sync="innerDrawer211" direction="rtl" ref="drawers" :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>
+					</div>
+				</el-drawer>
 			</el-drawer>
 			<el-drawer :title="title" :append-to-body="true" :visible.sync="innerDrawer">
 				<div style="padding: 20px;">
-					<el-form :model="form">
-						<el-form-item label="任务名称" label-width="70px">
-							<el-input v-model="form.name" autocomplete="off"></el-input>
+					<el-form :model="form1" :rules="rules1" ref="ruleForm1">
+						<el-form-item label="任务名称" label-width="80px" prop="T_name">
+							<el-input v-model="form1.T_name" autocomplete="off"></el-input>
 						</el-form-item>
-						<el-form-item label="截至时间" label-width="70px">
-							<el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100%;">
+						<el-form-item label="截至时间" label-width="80px" prop="T_deadline">
+							<el-date-picker type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="选择日期" v-model="form1.T_deadline" style="width: 100%;">
 							</el-date-picker>
 						</el-form-item>
-						<el-form-item label="任务模板" label-width="70px">
-							<el-select v-model="form.region" placeholder="请选择活动区域">
-								<el-option label="区域一" value="shanghai"></el-option>
-								<el-option label="区域二" value="beijing"></el-option>
+						<el-form-item label="任务模板" label-width="80px" prop="T_VerifyTemplate_id">
+							<el-select v-model="form1.T_VerifyTemplate_id" placeholder="请选择活动区域">
+								<el-option :label="item.T_name" :value="item.T_VerifyTemplate_id" v-for="(item,index) in optionsRw" :key="index"></el-option>
 							</el-select>
 						</el-form-item>
-						<el-form-item label="数据采集" label-width="70px">
-							<el-select v-model="form.region" placeholder="请选择活动区域">
-								<el-option label="区域一" value="shanghai"></el-option>
-								<el-option label="区域二" value="beijing"></el-option>
+						<el-form-item label="实施方案" label-width="80px" prop="T_scheme">
+							<el-select v-model="form1.T_scheme" placeholder="请选择活动区域">
+								<el-option :label="item.T_name" :value="item.T_uuid" v-for="(item,index) in optionsFz" :key="index"></el-option>
 							</el-select>
 						</el-form-item>
-						<el-form-item label="报告编辑" label-width="70px">
-							<el-select v-model="form.region" placeholder="请选择活动区域">
-								<el-option label="区域一" value="shanghai"></el-option>
-								<el-option label="区域二" value="beijing"></el-option>
+						<el-form-item label="数据采集" label-width="80px" prop="T_collection">
+							<el-select v-model="form1.T_collection" placeholder="请选择活动区域">
+								<el-option :label="item.T_name" :value="item.T_uuid" v-for="(item,index) in optionsFz" :key="index"></el-option>
 							</el-select>
 						</el-form-item>
-						<el-form-item label="交付审核" label-width="70px">
-							<el-select v-model="form.region" placeholder="请选择活动区域">
-								<el-option label="区域一" value="shanghai"></el-option>
-								<el-option label="区域二" value="beijing"></el-option>
+						<el-form-item label="报告编辑" label-width="80px" prop="T_reporting">
+							<el-select v-model="form1.T_reporting" placeholder="请选择活动区域">
+								<el-option :label="item.T_name" :value="item.T_uuid" v-for="(item,index) in optionsFz" :key="index"></el-option>
 							</el-select>
 						</el-form-item>
-						<el-form-item label-width="70px">
-							<el-button type="primary" @click="innerDrawer=false">
+						<el-form-item label="交付审核" label-width="80px" prop="T_delivery">
+							<el-select v-model="form1.T_delivery" placeholder="请选择活动区域">
+								<el-option :label="item.T_name" :value="item.T_uuid" v-for="(item,index) in optionsFz" :key="index"></el-option>
+							</el-select>
+						</el-form-item>
+						<el-form-item label-width="80px">
+							<el-button type="primary" @click="submitForm1('ruleForm1')">
 								确 定
 							</el-button>
 							<el-button @click="innerDrawer=false">取 消</el-button>
@@ -184,105 +274,450 @@
 				</div>
 			</el-drawer>
 		</el-drawer>
+		<pdf ref="pdf"></pdf>
 	</div>
 </template>
 
 <script>
-	import ReportViewing from "@/views/ReportViewing/index"
+	import {UserList,UserUp,UserAdd,UserPowerAll,TaskList,TaskUp,TaskLogsList,TaskAdd,TempList,AdminList_All,TaskDel,TaskGet,TaskEx,DowloadExc
+	} from "@/api/companyManagement"
+	import pdf from "./pdf"
+	import download from "downloadjs"
 	export default {
 		name: 'companyManagement',
 		components:{
-			ReportViewing
+			pdf
+		},
+		filters:{
+			stepVal(e){
+				if(e.T_scheme_state==1){
+					return 1
+				}else if(e.T_collection_state==1){
+					return 2
+				}else if(e.T_reporting_state==1){
+					return 3
+				}else if(e.T_delivery_state==1){
+					return 4
+				}else{
+					return null
+				}
+			}	
 		},
 		data() {
 			return {
+				TimeValue:'',
+				form: {
+					T_power: '', // 权限
+					T_name: '',  // 某某公司名称
+					T_user: '',  // 登录用户名
+					T_pass: '',  // 密码 MD5
+					T_passstr: '',  // 密码明文
+				},
+				form2: {
+					T_task_id: '', // 权限
+					T_sn:'',  // 某某公司名称
+					T_id:'',
+					Time_start: '',  // 登录用户名
+					Time_end: '',  // 密码 MD5
+					page: 1,
+					page_z: 5,
+				},
+				rules: {
+					T_power: [{
+						required: true,
+						message: '请选择权限',
+						trigger: 'change'
+					}],
+					T_name: [{
+						required: true,
+						message: '请输入公司名称',
+						trigger: 'blur'
+					}],
+					T_user: [{
+						required: true,
+						message: '请输入登录用户名',
+						trigger: 'blur'
+					}],
+					T_passstr: [{
+						required: true,
+						message: '请输入密码',
+						trigger: 'blur'
+					}],
+				},
+				form1: {
+					T_name: '', // 任务名称
+					T_uuid: '',  // 用户的 UUID
+					T_VerifyTemplate_id: '',  // 任务模板id
+					T_deadline: '',  // 截止时间
+					T_scheme: '',  // 实施方案 负责人uuid
+					T_collection: '',  // 数据采集 负责人uuid
+					T_reporting: '',  //报告编写 负责人uuid
+					T_delivery: '',  // 交付审核 负责人uuid
+				},
+				rules1: {
+					T_name: [{
+						required: true,
+						message: '请输入任务名称',
+						trigger: 'blur'
+					}],
+					T_deadline: [{
+						required: true,
+						message: '请选择截止时间',
+						trigger: 'blur'
+					}],
+					T_VerifyTemplate_id: [{
+						required: true,
+						message: '请选择任务模板',
+						trigger: 'blur'
+					}],
+					T_scheme: [{
+						required: true,
+						message: '请选择实施方案负责人',
+						trigger: 'blur'
+					}],
+					T_collection: [{
+						required: true,
+						message: '请选择数据采集负责人',
+						trigger: 'blur'
+					}],
+					T_reporting: [{
+						required: true,
+						message: '请选择报告编写负责人',
+						trigger: 'blur'
+					}],
+					T_delivery: [{
+						required: true,
+						message: '请选择交付审核负责人',
+						trigger: 'blur'
+					}],
+				},
+				BaoGaoData:{},
+				optionsPir:[],
+				optionsRw:[],
+				optionsFz:[],
 				value:true,
 				title: '添加任务',
-				LabelWidth: "40px",
+				LabelWidth: "80px",
+				LabelWidth1: "120px",
 				loading: false,
 				dialog: false,
 				innerDrawer: false,
 				innerDrawer1: false,//日志
 				innerDrawer2: false,//查看报告
+				innerDrawer211: false,//查看报告
 				Drawer: false, //任务管理
-				total: 30,
-				page: {
-					pagez: 1,
-					page_size: 10,
-					name: ''
+				total: 0,
+				total1: 0,
+				total2: 0,
+				total3: 0,
+				pages: {
+					page: 1,
+					page_z: 10,
+					T_name: ''
 				},
-				page1: {
-					pagez: 1,
-					page_size: 10,
-					name: ''
+				pages1: {
+					T_uuid:'',
+					T_name: '',
+					page: 1,
+					page_z: 5,
 				},
-				tableData: [{
-					date: '铜仁公司',
-					name: '数据采集工程师',
-					time: '2022-12-21 12:00:00'
-				}, {
-					date: '国控总部',
-					name: '冷链负责人',
-					time: '2022-12-21 12:00:00'
-				}, {
-					date: '国控毕节公司',
-					name: '冷链负责人',
-					time: '2022-12-21 12:00:00'
-				}],
-				form: {
-					name: '',
-					region: '',
-					paw: '',
+				pages2: {
+					T_task_id:'',
+					page: 1,
+					page_z: 10,
 				},
+				tableData: [],
+				tableData1: [],
+				tableData2: [],
+				tableData3: [],
+				blNum:null,
+				radioXuan:[],
+				radio1: '',
 			}
 		},
+		mounted() {
+			this.GetUserListApi()
+		},
 		methods: {
+			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) {
+				this.$refs[formName].validate((valid) => {
+			 	if (valid) {
+						console.log('验证通过',this.form1)
+						if(this.blNum==1){
+							this.GetTaskAddApi()
+						}else{
+							TaskUp(this.form1).then(res=>{
+								if(res.data.Code===200){
+									this.$message.success('编辑成功')
+									this.innerDrawer=false
+									this.pages1.page = 1
+									this.GetTaskListApi()
+								}
+							})
+						}
+					} else {
+						return false;
+					}
+				});
+			},
+			GetTaskAddApi(){
+				TaskAdd(this.form1).then(res=>{
+					console.log('添加',res)
+					if(res.data.Code===200){
+						this.$message.success('添加任务成功')
+						this.innerDrawer=false
+						this.pages1.page = 1
+						this.GetTaskListApi()
+					}
+				})
+			},
+			NewsRenwu(){
+				if(this.$refs.ruleForm1!=undefined){
+					this.$refs.ruleForm1.clearValidate()
+				}
+				this.innerDrawer=true
+				this.blNum = 1
+				this.form1 = this.$options.data().form
+				this.form1.T_uuid = this.pages1.T_uuid
+			},
+			
+			GetAdminList_AllApi(){
+				AdminList_All({}).then(res=>{
+					console.log('负责人',res)
+					if(res.data.Code===200){
+						this.optionsFz = res.data.Data.List
+					}
+				})
+			},
+			GetTempListApi(){
+				TempList({}).then(res=>{
+					if(res.data.Code===200){
+						this.optionsRw = res.data.Data.List
+					}
+				})
+			},
+			handleEdit(e) {
+				this.pages1.T_uuid = e.T_uuid
+				this.Drawer = true
+				this.pages1.page = 1
+				this.GetTaskListApi()
+				this.GetTempListApi()
+				this.GetAdminList_AllApi()
+			},
+			GetTaskListApi(){
+				TaskList(this.pages1).then(res=>{
+					if(res.data.Code===200){
+						this.tableData1 = res.data.Data.List
+						this.total1 = res.data.Data.Num
+					}
+				})
+			},
+			NewsMang(){
+				this.dialog = true
+				this.GetPowerAllApi()
+				if(this.$refs.ruleForm!=undefined){
+					this.$refs.ruleForm.clearValidate()
+				}
+			},
+			GetPowerAllApi(){
+				UserPowerAll({}).then(res=>{
+					if(res.data.Code===200){
+						this.optionsPir = res.data.Data.List
+					}
+				})
+			},
+			submitForm(formName) {
+				this.$refs[formName].validate((valid) => {
+			 	if (valid) {
+						this.form.T_pass = this.$md5(this.form.T_passstr)
+						this.SetUserAddApi()
+					} else {
+						return false;
+					}
+				});
+			},
+			SetUserAddApi(){
+				UserAdd(this.form).then(res=>{
+					console.log()
+					if(res.data.Code===200){
+						this.$message.success('新增公司成功')
+						this.dialog = false
+						this.pages.page = 1
+						this.GetUserListApi()
+					}
+				})
+			},
+			Changswitch(val){
+				UserUp(val).then(res=>{
+					if(res.data.Code===200){
+						this.$message.success('设置成功')
+						this.GetUserListApi()
+					}
+				})
+			},
+			Changswitch1(val){
+				TaskUp(val).then(res=>{
+					if(res.data.Code===200){
+						this.$message.success('设置成功')
+						this.GetTaskListApi()
+					}
+				})
+			},
+			GetUserListApi(){
+				UserList(this.pages).then(res=>{
+					if(res.data.Code===200){
+						this.tableData = res.data.Data.List
+						this.total = res.data.Data.Num
+					}
+				})
+			},
 			search() { //回车搜索
-				console.log('搜索', this.page.name);
+				this.pages.page = 1
+				this.GetUserListApi()
 			},
 			handleCurrentChange111(val) {
-				this.page1.pagez = val
-				console.log('当前页', this.page);
+				console.log('当前页', this.pages);
+				this.pages1.page = val
+				this.GetTaskListApi()
 			},
 			handleCurrentChange(val) {
-				this.page.pagez = val
 				console.log('当前页', this.page);
+				this.pages.page = val
+				this.GetUserListApi()
 			},
-			handleEdit(e) {
-				console.log('任务管理', e);
-				this.Drawer = true
+			handleCurrentChange2(val) {
+				this.pages2.page = val
+				this.GetTaskLogsListApi()
+			},
+			GetTaskLogsListApi(){
+				TaskLogsList(this.pages2).then(res=>{
+					console.log('日志',res)
+					if(res.data.Code===200){
+						this.tableData2 = res.data.Data.List
+						this.total2 = res.data.Data.Num
+					}
+				})
 			},
-			commands(e){
-				console.log(e)
+			commands(e,obj){
+				console.log(e,obj)
 				switch(e){
 					case 'a':
+						this.pages2.T_task_id = obj.T_task_id
 						this.innerDrawer1 = true
+						this.GetTaskLogsListApi()
 						break
 					case 'b':
+						if(this.$refs.ruleForm1!=undefined){
+							this.$refs.ruleForm1.clearValidate()
+						}
+						this.blNum = 2
+						this.form1.T_name = obj.T_name
+						this.form1.T_uuid = obj.T_uuid
+						this.form1.T_VerifyTemplate_id = obj.T_VerifyTemplate_id
+						this.form1.T_deadline = obj.T_deadline
+						this.form1.T_collection = obj.T_collection
+						this.form1.T_scheme = obj.T_scheme
+						this.form1.T_reporting = obj.T_reporting
+						this.form1.T_delivery = obj.T_delivery
+						this.form1.T_task_id = obj.T_task_id 
 						this.innerDrawer = true
 						break
 					case 'c':
+						TaskGet({T_task_id:obj.T_task_id}).then(res=>{
+							console.log('查看报告',res)
+							if(res.data.Code===200){
+								this.BaoGaoData = res.data.Data
+							}
+						})
+						this.form2.T_task_id = obj.T_task_id
+						this.GetTaskExApi()
 						this.innerDrawer2 = true
 						break
 					default:
-					this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
-						confirmButtonText: '确定',
+					this.$confirm('此操作将永久删除该任务, 是否继续?', '提示', {
+						confirmButtonText: '立即删除',
 						cancelButtonText: '取消',
 						type: 'warning',
 						center: true
 					}).then(() => {
-						this.$message({
-							type: 'success',
-							message: '删除成功!'
-						});
+						TaskDel({T_task_id: obj.T_task_id}).then(res=>{
+							if(res.data.Code==200){
+								this.$message.success('删除成功!')
+								this.pages1.page = 1
+								this.GetTaskListApi()
+							}
+						})
 					}).catch(() => {
 						this.$message({
 							type: 'info',
-					  message: '已取消删除'
+							message: '已取消删除'
 						});
 					});
 				}
 			},
+			GetTaskExApi(){
+				TaskEx(this.form2).then(res=>{
+					console.log('威威',res)
+					if(res.data.Code===200){
+						this.tableData3 = res.data.Data.List
+						this.total3 = res.data.Data.Num
+					}
+				})
+			},
+			search1() { //回车搜索
+				this.form2.page = 1
+				this.GetTaskExApi()
+			},
+			searchTimeData(e) {
+				if(e!=null){
+					this.form2.Time_start = e[0]
+					this.form2.Time_end = e[1]
+				}else{
+					this.form2.Time_start = ''
+					this.form2.Time_end = ''
+				}
+				this.form2.page = 1
+				this.GetTaskExApi()
+			},
+			handleCurrentChange3(val) {
+				console.log('当前页', this.page);
+				this.form2.page = val
+				this.GetTaskExApi()
+			},
+			Dowload() { //下载数据
+				console.log('下载',this.form2,pams)
+				var pams = {
+					T_task_id: this.form2.T_task_id,
+					T_sn_list: '',
+					Time_start: this.form2.Time_start,
+					Time_end: this.form2.Time_end
+				}
+				const loading = this.$loading({
+					lock: true,
+					text: '正在整理数据,请稍后...',
+					spinner: 'el-icon-loading',
+					background: 'rgba(0, 0, 0, 0.7)'
+				});
+				DowloadExc(pams).then(res => {
+					console.log(res)
+					if (res.data.Code === 200) {
+						loading.close()
+						download(res.data.Data);
+					}
+				})
+			},
 		}
 	}
 </script>
@@ -292,7 +727,23 @@
 	[v-cloak] {
 		display: none;
 	}
-
+	.el-input {
+		margin-right: 10px;
+		width: 200px;
+	}
+	.Baogao{
+		// display: grid;
+		// grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
+		// grid-gap: 10px;
+		display: flex;
+		align-items: center;
+		flex-wrap: wrap;
+		margin-bottom: 20px	;
+		.s1{
+			margin-bottom: 10px;
+			margin-right: 10px;
+		}
+	}
 	.demo-drawers {
 		padding: 20px;
 	}

+ 48 - 0
src/views/companyManagement/pdf.vue

@@ -0,0 +1,48 @@
+<template>
+	<div>
+		<el-dialog :visible.sync="dialogVisible4" width="80%" height="100%">
+			<iframe :src="serPdf" frameborder="0" style="width: 100%; height: 80vh"></iframe>
+		</el-dialog>
+		<!-- 
+		<div style="display: grid;grid-template-columns: 1fr 1fr 1fr; grid-gap: 10px;">
+			
+			<pdf v-for="item in 3" :key="item" :page="item"  ref="pdf" src="">
+			</pdf>
+		</div> -->
+		
+	</div>
+</template>
+
+<script>
+	import pdf from "vue-pdf";
+	export default {
+		name:'CompanyAccount',
+		components: { //组件
+			pdf
+		},
+		data() {
+			return{
+				dialogVisible4:false,
+				serPdf:''
+			}
+		},
+		methods:{
+			SetPdf(e){
+				this.dialogVisible4 = true
+				this.serPdf = e
+			}
+		}
+		
+	}
+</script>
+
+<style lang="scss" scoped>
+	.el-dialog__wrapper{
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		/deep/.el-dialog {
+			margin: 0 !important;
+		}
+	}
+</style>

+ 2 - 2
src/views/login/login.vue

@@ -19,10 +19,10 @@
 							</div>
 							<div class="loginPir-c-R2">
 								<div style="margin-bottom: 15px;">
-									<el-input v-model="Info.bzd_username" placeholder="请输入内容"></el-input>
+									<el-input v-model="Info.bzd_username" @keyup.enter.native="login" placeholder="请输入内容"></el-input>
 								</div>
 								<div style="margin-bottom: 15px;">
-									<el-input placeholder="请输入密码" v-model="Info.bzd_password" show-password></el-input>
+									<el-input placeholder="请输入密码" @keyup.enter.native="login" v-model="Info.bzd_password" show-password></el-input>
 								</div>
 								<div style="margin-bottom: 15px;">
 									<el-select v-model="Info.value" placeholder="请选择" style="width: 100%;">