Browse Source

样本库改

mw_666 3 years ago
parent
commit
bed593b98d

+ 52 - 46
src/views/sampleDatabase/fault/index.vue

@@ -2,7 +2,7 @@
 	<el-scrollbar height="92vh">
 		<div class="query mg-b-8">
 			<div class="query-items">
-				<div class="query-item">
+				<div class="query-item" style="width: 200px;">
 					<div class="lable">场站:</div>
 					<div class="search-input">
 						<el-select v-model="station" placeholder="请选择" popper-class="select">
@@ -10,21 +10,19 @@
 						</el-select>
 					</div>
 				</div>
-				<div class="query-item">
+				<div class="query-item" style="width: 230px;">
 					<div class="lable">故障类型:</div>
 					<div class="search-input">
 						<el-select v-model="widget" multiple collapse-tags clearable placeholder="请选择" popper-class="select">
-							<el-row>
-								<div class="query-actions" style="margin-left: 15px;">
-									<button class="btn" :class="active?'green':''" @click="checkAll">全选</button>
-								</div>
-							</el-row>
+							<el-option @click="checkAll" :class="active?'green':''">
+								全选
+							</el-option>
 							<el-option v-for="item in widgetArr" :key="item.value" :value="item.value" :label="item.label">
 							</el-option>
 						</el-select>
 					</div>
 				</div>
-				<div class="query-item">
+				<div class="query-item" style="width: 230px;">
 					<div class="lable">风机型号:</div>
 					<div class="search-input">
 						<el-select v-model="model" multiple collapse-tags clearable placeholder="请选择" popper-class="select">
@@ -33,12 +31,12 @@
 						</el-select>
 					</div>
 				</div>
-				<div class="query-item">
+				<div class="query-item" style="width: 180px;">
 					<div class="lable">模型:</div>
 					<div class="search-input">
 						<el-select v-model="mx" collapse-tags clearable placeholder="请选择" popper-class="select">
-							<el-option key="1" value="list" label="模型1"></el-option>
-							<el-option key="2" value="alg" label="模型2"></el-option>
+							<el-option key="1" value="list" label="原数据"></el-option>
+							<el-option key="2" value="alg" label="DB-SCAN"></el-option>
 						</el-select>
 					</div>
 				</div>
@@ -116,7 +114,13 @@
 							name: "故障类型",
 							field: "tableTag",
 							is_light: false,
-							width: '100px',
+							width: '150px',
+						},
+						{
+							name: "故障现象",
+							field: "symptom",
+							is_light: false,
+							width: '300px',
 						},
 						{
 							name: "时间",
@@ -164,31 +168,25 @@
 							name: "风机编号",
 							field: "wtId",
 							is_light: false,
-							width: '150px',
-						},
-						{
-							name: "故障描述",
-							field: "alertText",
-							is_light: false,
-							width: '100px',
+							width: '200px',
 						},
 						{
-							name: "风机型号",
-							field: "modelId",
+							name: "故障类型",
+							field: "faulttype",
 							is_light: false,
-							width: '350px',
+							width: '200px',
 						},
 						{
 							name: "故障时间",
 							field: "faultTime",
 							is_light: false,
-							width: '150px',
+							width: '200px',
 						},
 						{
-							name: "故障解除时间",
-							field: "lastUpdateTime",
+							name: "风机型号",
+							field: "modelId",
 							is_light: false,
-							width: '150px',
+							width: '200px',
 						},
 						{
 							name: "操作",
@@ -379,7 +377,7 @@
 					showLoading: true,
 					method: "GET",
 					baseURL: "http://192.168.1.18:9002/",
-					subUrl: "case/" + (that.mx=='list'?'fault/list':'faultalg/list'),
+					subUrl: "case/fault/list",
 					data: {
 						widget: widget ? widget : that.widget,
 						station: station ? station : that.station,
@@ -393,31 +391,39 @@
 								let data = res.data;
 								if(that.mx == 'list'){
 									that.tableData.data = [];
+									let k = 0;
+									for (var i = 0; i < data.length; i++) {
+											if(data[i].endtime != undefined){
+												k ++;
+												let obj = {
+													index: k,
+													tableTag: data[i].faulttype,
+													symptom: data[i].symptom,
+													tableModel: data[i].model,
+													tableTime: data[i].starttime + ' - ' + data[i].endtime,
+													tableManufacturer: data[i].manufacturer,
+													wtId: data[i].windturbineid,
+													widget:data[i].faultcode
+												};
+												that.tableData.data.push(obj);
+											}
+										}
+								}else{
+									that.tableData2.data = [];
+									let k = 0;
 									for (var i = 0; i < data.length; i++) {
+										if(data[i].endtime == undefined){
+											k ++;
 											let obj = {
-												index: i + 1,
-												tableTag: data[i].faulttype,
-												tableModel: data[i].model,
-												tableTime: data[i].starttime + ' - ' + data[i].endtime,
-												tableManufacturer: data[i].manufacturer,
+												index: k,
 												wtId: data[i].windturbineid,
+												faulttype: data[i].faulttype,
+												modelId: data[i].model,
+												faultTime: data[i].starttime,
 												widget:data[i].faultcode
 											};
-											that.tableData.data.push(obj);
+											that.tableData2.data.push(obj);
 										}
-								}else{
-									that.tableData2.data = [];
-									for (var i = 0; i < data.length; i++) {
-										let obj = {
-											index: i + 1,
-											wtId: data[i].windturbineId,
-											alertText: data[i].alertText,
-											modelId: data[i].modelId,
-											faultTime: data[i].faultTime,
-											lastUpdateTime: data[i].lastUpdateTime,
-											widget:data[i].labels
-										};
-										that.tableData2.data.push(obj);
 									}
 								}
 							}

+ 9 - 11
src/views/sampleDatabase/fault/point.vue

@@ -23,7 +23,7 @@
 				</div>
 				<div class="query-actions">
 					<!-- <button class="btn" @click="clearDb">重置对标选项</button> -->
-					<button class="btn" @click="dbfx">原数据对标</button>
+					<button class="btn" @click="dbfx">原数据对标</button>
 				</div>
 			</div>
 		</div>
@@ -72,7 +72,8 @@
 					},
 				],
 				selectValue: "60",
-				timeoptions: [{
+				timeoptions: [
+					{
 						value: "60",
 						label: "一分钟",
 					},
@@ -146,19 +147,13 @@
 							name: "测点名称",
 							field: "point",
 							is_light: false,
-							width: '350px',
+							width: '400px',
 						},
 						{
 							name: "测点描述",
 							field: "pointdes",
 							is_light: false,
-							width: '250px',
-						},
-						{
-							name: "风机类型",
-							field: "model",
-							is_light: false,
-							width: '100px',
+							width: '350px',
 						},
 						{
 							name: "操作",
@@ -166,7 +161,7 @@
 							width: '250px',
 							template: () => {
 								return (
-									"<el-button type='text' style='cursor: pointer;' value='config'>原数据</el-button>&nbsp"
+									"<el-button type='text' style='cursor: pointer;' value='config'>查看原数据</el-button>&nbsp"
 								);
 							},
 							click(e, row) {
@@ -192,6 +187,7 @@
 				if ("config" == e.target.getAttribute("value")) { //原始数据
 					that.requestDetailData([row.point], [row.pointdes], [Date.parse(new Date(that.time[0])), Date.parse(
 						new Date(that.time[1]))], that.selectValue);
+					that.clearDb();
 				}
 			},
 			list(data) {
@@ -210,6 +206,8 @@
 						};
 						that.tableData.data.push(obj);
 					}
+					that.requestDetailData([data[0].point], [data[0].pointdes], [Date.parse(new Date(that.time[0])), Date.parse(
+						new Date(that.time[1]))], that.selectValue);
 				}
 			},
 			switchChange(interval, status) {

+ 86 - 50
src/views/sampleDatabase/performance/index.vue

@@ -2,7 +2,7 @@
 	<el-scrollbar height="92vh">
 		<div class="query mg-b-8">
 			<div class="query-items">
-				<div class="query-item">
+				<div class="query-item" style="width:200px">
 					<div class="lable">场站:</div>
 					<div class="search-input">
 						<el-select v-model="station" placeholder="请选择" popper-class="select">
@@ -11,7 +11,7 @@
 						</el-select>
 					</div>
 				</div>
-				<div class="query-item">
+				<div class="query-item" style="width:200px">
 					<div class="lable">样本类型:</div>
 					<div class="search-input">
 						<el-select v-model="yblx" placeholder="请选择样本" popper-class="select">
@@ -21,12 +21,22 @@
 						</el-select>
 					</div>
 				</div>
-				<div class="query-item">
-					<div class="lable">风机型号:</div>
+				<div class="query-item" style="width:200px">
+					<div class="lable">模型:</div>
 					<div class="search-input">
-						<el-select v-model="model" multiple collapse-tags clearable placeholder="请选择"
+						<el-select v-model="model" collapse-tags placeholder="请选择"
 							popper-class="select">
-							<el-option v-for="item in fjxh" :key="item.value" :value="item.value" :label="item.label">
+							<el-option v-for="item in models" :key="item.value" :value="item.value" :label="item.label">
+							</el-option>
+						</el-select>
+					</div>
+				</div>
+				<div class="query-item" style="width:250px">
+					<div class="lable">时间间隔:</div>
+					<div class="search-input">
+						<el-select v-model="interval" collapse-tags clearable placeholder="请选择"
+							popper-class="select">
+							<el-option v-for="item in intervals" :key="item.value" :value="item.value" :label="item.label">
 							</el-option>
 						</el-select>
 					</div>
@@ -117,16 +127,42 @@
 				ChangZhan: [],
 				fjxh: [],
 				fjxhArr: [],
-				model: [],
+				// 模型
+				model: 0,
+				models: [
+					{
+						label: '欠发矩阵模型',
+						value: 0
+					}
+				],
+				// 时间间隔
+				interval: "0-0.5",
+				intervals: [//和明华有约定,必须这么写
+					{
+						label: '小于30分钟',
+						value: "0-0.5"
+					},
+					{
+						label: '30分钟-1小时',
+						value: "0.5-1"
+					},
+					{
+						label: '1小时-2小时',
+						value: "1-2"
+					},
+					{
+						label: '2小时-5小时',
+						value: "2-5"
+					},
+					{//42天
+						label: '大于5小时',
+						value: "5-1008"
+					}
+				],
 				time: [],
 				station: '',
 				tableData: {
-					column: [{
-							name: "序号",
-							field: "index",
-							is_light: false,
-							width: '50px',
-						},
+					column: [
 						{
 							name: "",
 							field: "check",
@@ -153,16 +189,22 @@
 							},
 						},
 						{
+							name: "序号",
+							field: "index",
+							is_light: false,
+							width: '100px',
+						},
+						{
 							name: "样本类型",
 							field: "tag",
 							is_light: false,
-							width: '100px',
+							width: '150px',
 						},
 						{
 							name: "风机编号",
 							field: "windturbineid",
 							is_light: false,
-							width: '150px',
+							width: '250px',
 						},
 						{
 							name: "开始时间",
@@ -211,34 +253,34 @@
 					},
 				});
 
-				await that.API.requestData({
-					method: "GET",
-					baseURL: "http://192.168.1.18:9002/",
-					subUrl: "basic/station/all",
-					success(res) {
-						let fjxhArr = [];
-						let model = [],
-							fjxh = [];
-						res.data.forEach(ele => {
-							fjxhArr.push({
-								id: ele.id,
-								value: ele.model.split("/")
-							})
-							if (ele.id == "MHS_FDC") {
-								model = ele.model.split("/");
-								model.forEach(ele => {
-									fjxh.push({
-										label: ele,
-										value: ele
-									})
-								})
-							}
-						})
-						that.fjxhArr = fjxhArr;
-						that.model = model;
-						that.fjxh = fjxh;
-					},
-				});
+				// await that.API.requestData({
+				// 	method: "GET",
+				// 	baseURL: "http://192.168.1.18:9002/",
+				// 	subUrl: "basic/station/all",
+				// 	success(res) {
+				// 		let fjxhArr = [];
+				// 		let model = [],
+				// 			fjxh = [];
+				// 		res.data.forEach(ele => {
+				// 			fjxhArr.push({
+				// 				id: ele.id,
+				// 				value: ele.model.split("/")
+				// 			})
+				// 			if (ele.id == "MHS_FDC") {
+				// 				model = ele.model.split("/");
+				// 				model.forEach(ele => {
+				// 					fjxh.push({
+				// 						label: ele,
+				// 						value: ele
+				// 					})
+				// 				})
+				// 			}
+				// 		})
+				// 		that.fjxhArr = fjxhArr;
+				// 		that.model = model;
+				// 		that.fjxh = fjxh;
+				// 	},
+				// });
 				that.list()
 			},
 			onClickOption(e, row) { // 操作按钮
@@ -317,13 +359,6 @@
 						}
 					})
 				}
-				if (that.model.length == 0) {
-					that.BASE.showMsg({
-						type: "warning",
-						msg: "请选择风机型号",
-					});
-					return
-				}
 				that.API.requestData({
 					showLoading: true,
 					method: "GET",
@@ -333,6 +368,7 @@
 						tag: that.yblx,
 						stationen: station ? station : that.station,
 						model: that.model,
+						interval: that.inverval,
 						starttime: that.time[0].valueOf(),
 						endtime: that.time[1].valueOf()
 					},

+ 42 - 32
src/views/sampleDatabase/warning/index.vue

@@ -15,21 +15,17 @@
 					<div class="search-input">
 						<el-select v-model="wtId" clearable collapse-tags multiple placeholder="请选择"
 							popper-class="select">
-							<el-row>
-								<div class="query-actions" style="margin-left: 15px;">
-									<button class="btn" :class="active?'green':''" @click="checkAll">全选</button>
-								</div>
-							</el-row>
+							<el-option label="全选" :class="active?'selected':''" @click="checkAll"/>
 							<el-option v-for="(item ,index) in wtIdArr" :key="index" :value="item" :label="item" />
 						</el-select>
 					</div>
 				</div>
-				<div class="query-item">
-					<div class="query-item">
-						<div class="lable">日期:</div>
-						<div class="search-input">
-							<el-date-picker v-model="value1" type="month" placeholder="选择日期"></el-date-picker>
-						</div>
+				<div class="query-item" style="width: 445px;">
+					<div class="lable">日期:</div>
+					<div class="search-input">
+						<el-date-picker v-model="month" type="datetimerange" range-separator="至" start-placeholder="开始日期"
+							end-placeholder="结束日期">
+						</el-date-picker>
 					</div>
 				</div>
 				<div class="query-actions">
@@ -116,13 +112,13 @@
 				],
 				yssjDialog: false,
 				yssjData:{},
-				value1: '',
 				month: [],
 				wpId: "MHS_FDC",
 				wpArray: [],
 				wpName: "",
 				wtId: [],
-				wtIdArr: ['发电机','变桨系统','测风系统','齿轮箱','液压系统','偏航系统','机舱','传动链'],
+				// wtIdArr: ['发电机','变桨系统','测风系统','齿轮箱','液压系统','偏航系统','机舱','传动链'],
+				wtIdArr: [],
 				wtidData: [],
 				wtIdNum: false,
 				tableDataArr: {},
@@ -142,6 +138,12 @@
 							width: "150px"
 						},
 						{
+							name: "预警分类",
+							field: "yjfl",
+							is_num: false,
+							is_light: false,
+						},
+						{
 							name: "预警描述",
 							field: "yjms",
 							is_num: false,
@@ -182,9 +184,7 @@
 		},
 		created() {
 			this.getWp();
-			this.value1 = new Date();
 			this.month = [new Date((new Date() - 3600 * 1000 * 24 * 30)), new Date()];
-			this.wtId = this.wtIdArr;
 			this.requestSafeList();
 		},
 		methods: {
@@ -271,16 +271,16 @@
 				});
 			},
 			// 获取停机事件
-			requestSafeList(wpId, wtIdData) {
+			requestSafeList() {
 				let that = this;
-				if (wtIdData) {
-					that.tableData.data = wtIdData;
-					that.wtIdData = [];
-					return;
-				}
-				if (wpId) {
-					that.wpId = wpId;
-				}
+				// if (wtIdData) {
+				// 	that.tableData.data = wtIdData;
+				// 	that.wtIdData = [];
+				// 	return;
+				// }
+				// if (wpId) {
+				// 	that.wpId = wpId;
+				// }
 				that.month[0] = that.formatDate(that.month[0].valueOf())
 				that.month[1] = that.formatDate(that.month[1].valueOf())
 				let data = {
@@ -300,7 +300,7 @@
 								let data = res.data;
 								let tabData = [];
 								let index = 1;
-								// let wtIdArr = [];
+								let wtIdArr = [];
 								data.forEach((ele, idx) => {
 									let key = Object.keys(ele);
 									ele[key].forEach((ele2, idx2) => {
@@ -308,14 +308,23 @@
 											let obj = {
 												index: index++,
 												fjbh: ele2.windturbineId,
+												yjfl: ele2.relatePartsText,
 												yjms: ele2.alertText,
 												yjcs: ele2.count,
 												yjsc: ele2.time,
 											};
 											tabData.push(obj);
+											let result = wtIdArr.some(ele4=>{
+												return ele2.relatePartsText === ele4
+											})
+											if(result == false){
+												wtIdArr.push(ele2.relatePartsText)
+											}
 										}
 									})
 								})
+								that.wtIdArr = wtIdArr;
+								that.wtId = wtIdArr;
 								that.tableData.data = tabData;
 								that.tableDataArr = {
 									column: that.tableData.column,
@@ -327,7 +336,7 @@
 				});
 			},
 			query() {
-				this.requestSafeList(this.wpId, this.wtidData);
+				this.requestSafeList();
 			},
 			checkAll() {
 				this.selectAll = !this.selectAll
@@ -369,12 +378,12 @@
 					let index = 1;
 					let tableDataArr = this.tableDataArr;
 					tableDataArr.data.forEach(ele => {
-						
 						e.forEach(ele2 => {
-							if (ele.yjms.slice(0,2) == ele2.slice(0,2)) {
+							if (ele.yjfl == ele2) {
 								let obj = {
 									index: index++,
 									fjbh: ele.fjbh,
+									yjfl: ele.yjfl,
 									yjms: ele.yjms,
 									yjcs: ele.yjcs,
 									yjsc: ele.yjsc,
@@ -384,14 +393,15 @@
 						})
 					})
 					if (data) {
-						this.wtidData = data;
+						this.tableData.data = data;
+						// this.wtidData = data;
 					}
 				}
 				this.wtIdNum = true;
 			},
-			value1(e) {
-				this.month = [new Date((e - 3600 * 1000 * 24 * 30)), e];
-			}
+			// month(e) {
+			// 	this.month = [new Date((e - 3600 * 1000 * 24 * 30)), e];
+			// }
 		}
 	};
 </script>