diff --git a/src/assets/css/skincolor.scss b/src/assets/css/skincolor.scss index 4daf447..324dfe5 100644 --- a/src/assets/css/skincolor.scss +++ b/src/assets/css/skincolor.scss @@ -550,3 +550,19 @@ color: var(--white) !important; background: var(--selecthover) !important; } + +.addFilter span { + display: inline-block; + width: 100%; + border: 1px dashed var(--white) !important; + height: 31px; + line-height: 31px; + cursor: pointer; + color: var(--white) !important; +} +.icon-jia { + color: var(--white) !important; +} +.condition .sign { + color: var(--white) !important; +} \ No newline at end of file diff --git a/src/assets/css/skincolor.scss b/src/assets/css/skincolor.scss index 4daf447..324dfe5 100644 --- a/src/assets/css/skincolor.scss +++ b/src/assets/css/skincolor.scss @@ -550,3 +550,19 @@ color: var(--white) !important; background: var(--selecthover) !important; } + +.addFilter span { + display: inline-block; + width: 100%; + border: 1px dashed var(--white) !important; + height: 31px; + line-height: 31px; + cursor: pointer; + color: var(--white) !important; +} +.icon-jia { + color: var(--white) !important; +} +.condition .sign { + color: var(--white) !important; +} \ No newline at end of file diff --git a/src/components/shujulvwang/dataBrowsingQuery.vue b/src/components/shujulvwang/dataBrowsingQuery.vue index 9acf6eb..562e52f 100644 --- a/src/components/shujulvwang/dataBrowsingQuery.vue +++ b/src/components/shujulvwang/dataBrowsingQuery.vue @@ -373,7 +373,7 @@ end = moment(end, "YYYY-MM-DD HH:mm:ss").valueOf(); start = moment(start, "YYYY-MM-DD HH:mm:ss").valueOf(); picker.$emit("pick", [start, end]); - }, + } }, { text: "最近一个月", @@ -387,7 +387,7 @@ end = moment(end, "YYYY-MM-DD HH:mm:ss").valueOf(); start = moment(start, "YYYY-MM-DD HH:mm:ss").valueOf(); picker.$emit("pick", [start, end]); - }, + } }, { text: "最近三个月", @@ -401,9 +401,9 @@ end = moment(end, "YYYY-MM-DD HH:mm:ss").valueOf(); start = moment(start, "YYYY-MM-DD HH:mm:ss").valueOf(); picker.$emit("pick", [start, end]); - }, - }, - ], + } + } + ] }, ruleForm: { dataPreviewLists: [ @@ -417,46 +417,46 @@ dateColumn: [], //时间字段 numberColumn: [], //查询字段 sourcesField: [], //字段名称 - symbolNum: [], //类型 + symbolNum: [] //类型 }, queryConditions: [ { name: "", symbol: "", value: "", - select: true, - }, - ], //过滤条件 - }, - ], + select: true + } + ] //过滤条件 + } + ] }, symbolNum1: [ { label: ">", - value: ">", + value: ">" }, { label: ">=", - value: ">=", + value: ">=" }, { label: "<", - value: "<", + value: "<" }, { label: "<=", - value: "<=", + value: "<=" }, { label: "=", - value: "=", - }, + value: "=" + } ], symbolNum2: [ { label: "=", - value: "=", - }, + value: "=" + } ], rules: { dataPreviewLists: [ @@ -467,53 +467,53 @@ { required: true, message: "请选择字段名称", - trigger: "change", - }, + trigger: "change" + } ], //检测字段 minVal: [ { required: true, message: "请输入小于阈值", - trigger: "blur", - }, + trigger: "blur" + } ], //小于阈值 maxVal: [ { required: true, message: "请输入大于阈值", - trigger: "blur", - }, - ], //大于阈值 - }, + trigger: "blur" + } + ] //大于阈值 + } ], queryColumnNames: [ { required: true, message: "请选择查询字段", - trigger: "change", - }, + trigger: "change" + } ], timeColumnName: [ { required: true, message: "请选择时间字段", - trigger: "change", - }, + trigger: "change" + } ], tableName: [ { required: true, message: "请选择数据表", - trigger: "change", - }, + trigger: "change" + } ], dataSourceName: [ { required: true, message: "请选择连接", - trigger: "change", - }, - ], + trigger: "change" + } + ] }, { queryConditions: [ @@ -522,56 +522,56 @@ { required: true, message: "请选择字段名称", - trigger: "change", - }, + trigger: "change" + } ], //检测字段 minVal: [ { required: true, message: "请输入小于阈值", - trigger: "blur", - }, + trigger: "blur" + } ], //小于阈值 maxVal: [ { required: true, message: "请输入大于阈值", - trigger: "blur", - }, - ], //大于阈值 - }, + trigger: "blur" + } + ] //大于阈值 + } ], queryColumnNames: [ { required: true, message: "请选择查询字段", - trigger: "change", - }, + trigger: "change" + } ], timeColumnName: [ { required: true, message: "请选择时间字段", - trigger: "change", - }, + trigger: "change" + } ], tableName: [ { required: true, message: "请选择数据表", - trigger: "change", - }, + trigger: "change" + } ], dataSourceName: [ { required: true, message: "请选择连接", - trigger: "change", - }, - ], - }, - ], - }, + trigger: "change" + } + ] + } + ] + } }; }, mixins: [project], @@ -586,7 +586,7 @@ // 获取内容 this.getStorageId(); - this.$nextTick(function () { + this.$nextTick(function() { setTimeout(() => { this.defaultDrawCanvas(); }, 300); @@ -609,7 +609,7 @@ this.draw = false; // 数据回显 let response = await this.getHttpDatas(this.nozzle.dataPreviewQueryById, { - id: row["id"], + id: row["id"] }); response = response ? response : []; let queryCondition = JSON.parse(response["queryCondition"]); @@ -628,7 +628,7 @@ // 任务时间 this.dates = [ Date.parse(response.startTime), - Date.parse(response.endTime), + Date.parse(response.endTime) ]; // 窗口复制按钮进行处理 @@ -643,7 +643,7 @@ if (this.dates === null || this.dates === "") { this.$notify({ type: "warning", - message: "请选择需要查询的时间段", + message: "请选择需要查询的时间段" }); return; } @@ -651,12 +651,12 @@ if (this.ruleForm.dataPreviewLists.length === 0) { this.$notify({ type: "warning", - message: "至少添加一组数据,进行浏览", + message: "至少添加一组数据,进行浏览" }); return; } - this.$refs[formName].validate((valid) => { + this.$refs[formName].validate(valid => { if (valid) { // this.loading = true; @@ -688,7 +688,7 @@ devisors, seriesFactorValue, devisorsShowOrHidd, - colorPump, + colorPump ] = [[], [], [], [], 0]; //自定义色彩搭配 let colors = [ @@ -702,7 +702,7 @@ "#91d5ff", "#0050b3", "#10239e", - "#3366CC", + "#3366CC" ]; for (let i = 0; i < 100; i++) { colors.push(randomColor()); @@ -724,29 +724,29 @@ smooth: true, itemStyle: { normal: { - color: color, - }, + color: color + } }, areaStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ { offset: 0, - color: color + "E6", + color: color + "E6" }, { offset: 0.6, - color: color + "66", + color: color + "66" }, { offset: 1, - color: color, - }, - ]), - }, + color: color + } + ]) + } }, smooth: true, - data: Object.values(vv), + data: Object.values(vv) }); if (keys === 0 && Object.keys(values)[0] === ii) { @@ -780,17 +780,17 @@ title: { text: "", textStyle: { - color: "#333333", //标题文字颜色 + color: "#1890fd80" //标题文字颜色 }, y: 15, - x: "center", + x: "center" }, tooltip: { - trigger: "axis", + trigger: "axis" }, grid: { x: 55, - x2: 25, + x2: 25 }, xAxis: { axisLine: { @@ -798,18 +798,18 @@ show: true, lineStyle: { type: "dashed", //设置x轴线条样式 - color: "#ced0d1", - }, + color: "#ced0d1" + } }, axisLabel: { show: true, textStyle: { color: "#ced0d1", //更改坐标轴文字颜色 - fontSize: 12, //更改坐标轴文字大小 - }, + fontSize: 12 //更改坐标轴文字大小 + } }, boundaryGap: false, //从x轴起点开始 - data: xAxis, + data: xAxis }, legend: { data: devisors, @@ -818,40 +818,40 @@ itemWidth: 15, // 设置宽度 itemHeight: 15, textStyle: { - color: "#333", //图例文字颜色 + color: "#333" //图例文字颜色 }, y: 20, selected: devisorsShowOrHidd, padding: [0, 30, 0, 0], - x: "center", + x: "center" }, yAxis: { axisLine: { //y轴 show: false, lineStyle: { - color: "#ced0d1", - }, + color: "#ced0d1" + } }, axisTick: { //y轴刻度线 - show: false, + show: false }, axisLabel: { show: true, textStyle: { color: "#ced0d1", //更改坐标轴文字颜色 - fontSize: 12, //更改坐标轴文字大小 - }, + fontSize: 12 //更改坐标轴文字大小 + } }, name: "", splitLine: { show: true, lineStyle: { type: "dashed", - color: "#ced0d1", - }, - }, + color: "#ced0d1" + } + } }, dataZoom: [ { @@ -860,18 +860,18 @@ end: 15, height: 18, textStyle: { - color: "#ced0d1", - }, + color: "#ced0d1" + } }, { type: "inside", realtime: true, start: 0, height: 18, - end: 15, - }, + end: 15 + } ], - series: seriesFactorValue, + series: seriesFactorValue }; myChart.clear(); myChart.setOption(option); @@ -884,7 +884,7 @@ this.$nextTick(() => { // 不加延时,会出现获取不到dom的情况 setTimeout(() => { - window.addEventListener("resize", function () { + window.addEventListener("resize", function() { that.$echarts.resize(); }); }, 100); @@ -920,13 +920,13 @@ // 连接列表渲染 let datas = await this.getHttpDatas(this.nozzle.queryDataSrouceName, { - dbType: "Relational", + dbType: "Relational" }); let dataBase = []; for (let item of datas.values()) { dataBase.push({ - value: item, + value: item }); } this.datasSources = dataBase; @@ -942,7 +942,7 @@ { dataSourceName: val, pageSize: 999999, - pageNo: 1, + pageNo: 1 } ); @@ -952,7 +952,7 @@ for (let item of datas.list.values()) { dataBase.push({ - value: item, + value: item }); } @@ -1002,7 +1002,7 @@ this.nozzle.getDataStructureByTableName, { dataSourceName: dataSourceName, - tableName: tableName, + tableName: tableName } ); @@ -1021,7 +1021,7 @@ newDatas.push({ value: item["columnName"], - isStringL: item["columnName"] + "," + isString, + isStringL: item["columnName"] + "," + isString }); } @@ -1036,7 +1036,7 @@ this.nozzle.getDataStructureByTableNameAndType, { dataSourceName: dataSourceName, - tableName: tableName, + tableName: tableName } ); // 填充时间字段和查询字段 @@ -1054,7 +1054,7 @@ for (const item of datas.values()) { newDevisor.push({ label: devisor[item.toLowerCase()], - value: item, + value: item }); } return newDevisor; @@ -1128,7 +1128,7 @@ cb(results); }, createFilter(queryString) { - return (restaurant) => { + return restaurant => { return restaurant.value.indexOf(queryString) !== -1; }; }, @@ -1141,7 +1141,7 @@ name: "", symbol: "", value: "", - select: true, + select: true }); }, modelAdd() { @@ -1157,15 +1157,15 @@ dateColumn: [], //时间字段 numberColumn: [], //查询字段 sourcesField: [], - symbolNum: [], + symbolNum: [] }, queryConditions: [ { name: "", symbol: "", - value: "", - }, - ], //过滤条件 + value: "" + } + ] //过滤条件 }); if (this.ruleForm.dataPreviewLists.length >= 2) { @@ -1248,7 +1248,7 @@ if (this.programme === "") { this.$notify({ type: "warning", - message: "请将查询名称填写完整", + message: "请将查询名称填写完整" }); return; } @@ -1283,7 +1283,7 @@ if (this.programme === "") { this.$notify({ type: "warning", - message: "请将查询名称填写完整", + message: "请将查询名称填写完整" }); return; } @@ -1339,8 +1339,8 @@ } this.drawChart([ { - PN: keys, - }, + PN: keys + } ]); }, async getPlatform() { @@ -1349,8 +1349,8 @@ let res = await this.$http.get(this.nozzle.getProjectName); res = res.data ? res.data.data : "滤网"; headTitle(res); - }, - }, + } + } }; \ No newline at end of file + diff --git a/src/assets/css/skincolor.scss b/src/assets/css/skincolor.scss index 4daf447..324dfe5 100644 --- a/src/assets/css/skincolor.scss +++ b/src/assets/css/skincolor.scss @@ -550,3 +550,19 @@ color: var(--white) !important; background: var(--selecthover) !important; } + +.addFilter span { + display: inline-block; + width: 100%; + border: 1px dashed var(--white) !important; + height: 31px; + line-height: 31px; + cursor: pointer; + color: var(--white) !important; +} +.icon-jia { + color: var(--white) !important; +} +.condition .sign { + color: var(--white) !important; +} \ No newline at end of file diff --git a/src/components/shujulvwang/dataBrowsingQuery.vue b/src/components/shujulvwang/dataBrowsingQuery.vue index 9acf6eb..562e52f 100644 --- a/src/components/shujulvwang/dataBrowsingQuery.vue +++ b/src/components/shujulvwang/dataBrowsingQuery.vue @@ -373,7 +373,7 @@ end = moment(end, "YYYY-MM-DD HH:mm:ss").valueOf(); start = moment(start, "YYYY-MM-DD HH:mm:ss").valueOf(); picker.$emit("pick", [start, end]); - }, + } }, { text: "最近一个月", @@ -387,7 +387,7 @@ end = moment(end, "YYYY-MM-DD HH:mm:ss").valueOf(); start = moment(start, "YYYY-MM-DD HH:mm:ss").valueOf(); picker.$emit("pick", [start, end]); - }, + } }, { text: "最近三个月", @@ -401,9 +401,9 @@ end = moment(end, "YYYY-MM-DD HH:mm:ss").valueOf(); start = moment(start, "YYYY-MM-DD HH:mm:ss").valueOf(); picker.$emit("pick", [start, end]); - }, - }, - ], + } + } + ] }, ruleForm: { dataPreviewLists: [ @@ -417,46 +417,46 @@ dateColumn: [], //时间字段 numberColumn: [], //查询字段 sourcesField: [], //字段名称 - symbolNum: [], //类型 + symbolNum: [] //类型 }, queryConditions: [ { name: "", symbol: "", value: "", - select: true, - }, - ], //过滤条件 - }, - ], + select: true + } + ] //过滤条件 + } + ] }, symbolNum1: [ { label: ">", - value: ">", + value: ">" }, { label: ">=", - value: ">=", + value: ">=" }, { label: "<", - value: "<", + value: "<" }, { label: "<=", - value: "<=", + value: "<=" }, { label: "=", - value: "=", - }, + value: "=" + } ], symbolNum2: [ { label: "=", - value: "=", - }, + value: "=" + } ], rules: { dataPreviewLists: [ @@ -467,53 +467,53 @@ { required: true, message: "请选择字段名称", - trigger: "change", - }, + trigger: "change" + } ], //检测字段 minVal: [ { required: true, message: "请输入小于阈值", - trigger: "blur", - }, + trigger: "blur" + } ], //小于阈值 maxVal: [ { required: true, message: "请输入大于阈值", - trigger: "blur", - }, - ], //大于阈值 - }, + trigger: "blur" + } + ] //大于阈值 + } ], queryColumnNames: [ { required: true, message: "请选择查询字段", - trigger: "change", - }, + trigger: "change" + } ], timeColumnName: [ { required: true, message: "请选择时间字段", - trigger: "change", - }, + trigger: "change" + } ], tableName: [ { required: true, message: "请选择数据表", - trigger: "change", - }, + trigger: "change" + } ], dataSourceName: [ { required: true, message: "请选择连接", - trigger: "change", - }, - ], + trigger: "change" + } + ] }, { queryConditions: [ @@ -522,56 +522,56 @@ { required: true, message: "请选择字段名称", - trigger: "change", - }, + trigger: "change" + } ], //检测字段 minVal: [ { required: true, message: "请输入小于阈值", - trigger: "blur", - }, + trigger: "blur" + } ], //小于阈值 maxVal: [ { required: true, message: "请输入大于阈值", - trigger: "blur", - }, - ], //大于阈值 - }, + trigger: "blur" + } + ] //大于阈值 + } ], queryColumnNames: [ { required: true, message: "请选择查询字段", - trigger: "change", - }, + trigger: "change" + } ], timeColumnName: [ { required: true, message: "请选择时间字段", - trigger: "change", - }, + trigger: "change" + } ], tableName: [ { required: true, message: "请选择数据表", - trigger: "change", - }, + trigger: "change" + } ], dataSourceName: [ { required: true, message: "请选择连接", - trigger: "change", - }, - ], - }, - ], - }, + trigger: "change" + } + ] + } + ] + } }; }, mixins: [project], @@ -586,7 +586,7 @@ // 获取内容 this.getStorageId(); - this.$nextTick(function () { + this.$nextTick(function() { setTimeout(() => { this.defaultDrawCanvas(); }, 300); @@ -609,7 +609,7 @@ this.draw = false; // 数据回显 let response = await this.getHttpDatas(this.nozzle.dataPreviewQueryById, { - id: row["id"], + id: row["id"] }); response = response ? response : []; let queryCondition = JSON.parse(response["queryCondition"]); @@ -628,7 +628,7 @@ // 任务时间 this.dates = [ Date.parse(response.startTime), - Date.parse(response.endTime), + Date.parse(response.endTime) ]; // 窗口复制按钮进行处理 @@ -643,7 +643,7 @@ if (this.dates === null || this.dates === "") { this.$notify({ type: "warning", - message: "请选择需要查询的时间段", + message: "请选择需要查询的时间段" }); return; } @@ -651,12 +651,12 @@ if (this.ruleForm.dataPreviewLists.length === 0) { this.$notify({ type: "warning", - message: "至少添加一组数据,进行浏览", + message: "至少添加一组数据,进行浏览" }); return; } - this.$refs[formName].validate((valid) => { + this.$refs[formName].validate(valid => { if (valid) { // this.loading = true; @@ -688,7 +688,7 @@ devisors, seriesFactorValue, devisorsShowOrHidd, - colorPump, + colorPump ] = [[], [], [], [], 0]; //自定义色彩搭配 let colors = [ @@ -702,7 +702,7 @@ "#91d5ff", "#0050b3", "#10239e", - "#3366CC", + "#3366CC" ]; for (let i = 0; i < 100; i++) { colors.push(randomColor()); @@ -724,29 +724,29 @@ smooth: true, itemStyle: { normal: { - color: color, - }, + color: color + } }, areaStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ { offset: 0, - color: color + "E6", + color: color + "E6" }, { offset: 0.6, - color: color + "66", + color: color + "66" }, { offset: 1, - color: color, - }, - ]), - }, + color: color + } + ]) + } }, smooth: true, - data: Object.values(vv), + data: Object.values(vv) }); if (keys === 0 && Object.keys(values)[0] === ii) { @@ -780,17 +780,17 @@ title: { text: "", textStyle: { - color: "#333333", //标题文字颜色 + color: "#1890fd80" //标题文字颜色 }, y: 15, - x: "center", + x: "center" }, tooltip: { - trigger: "axis", + trigger: "axis" }, grid: { x: 55, - x2: 25, + x2: 25 }, xAxis: { axisLine: { @@ -798,18 +798,18 @@ show: true, lineStyle: { type: "dashed", //设置x轴线条样式 - color: "#ced0d1", - }, + color: "#ced0d1" + } }, axisLabel: { show: true, textStyle: { color: "#ced0d1", //更改坐标轴文字颜色 - fontSize: 12, //更改坐标轴文字大小 - }, + fontSize: 12 //更改坐标轴文字大小 + } }, boundaryGap: false, //从x轴起点开始 - data: xAxis, + data: xAxis }, legend: { data: devisors, @@ -818,40 +818,40 @@ itemWidth: 15, // 设置宽度 itemHeight: 15, textStyle: { - color: "#333", //图例文字颜色 + color: "#333" //图例文字颜色 }, y: 20, selected: devisorsShowOrHidd, padding: [0, 30, 0, 0], - x: "center", + x: "center" }, yAxis: { axisLine: { //y轴 show: false, lineStyle: { - color: "#ced0d1", - }, + color: "#ced0d1" + } }, axisTick: { //y轴刻度线 - show: false, + show: false }, axisLabel: { show: true, textStyle: { color: "#ced0d1", //更改坐标轴文字颜色 - fontSize: 12, //更改坐标轴文字大小 - }, + fontSize: 12 //更改坐标轴文字大小 + } }, name: "", splitLine: { show: true, lineStyle: { type: "dashed", - color: "#ced0d1", - }, - }, + color: "#ced0d1" + } + } }, dataZoom: [ { @@ -860,18 +860,18 @@ end: 15, height: 18, textStyle: { - color: "#ced0d1", - }, + color: "#ced0d1" + } }, { type: "inside", realtime: true, start: 0, height: 18, - end: 15, - }, + end: 15 + } ], - series: seriesFactorValue, + series: seriesFactorValue }; myChart.clear(); myChart.setOption(option); @@ -884,7 +884,7 @@ this.$nextTick(() => { // 不加延时,会出现获取不到dom的情况 setTimeout(() => { - window.addEventListener("resize", function () { + window.addEventListener("resize", function() { that.$echarts.resize(); }); }, 100); @@ -920,13 +920,13 @@ // 连接列表渲染 let datas = await this.getHttpDatas(this.nozzle.queryDataSrouceName, { - dbType: "Relational", + dbType: "Relational" }); let dataBase = []; for (let item of datas.values()) { dataBase.push({ - value: item, + value: item }); } this.datasSources = dataBase; @@ -942,7 +942,7 @@ { dataSourceName: val, pageSize: 999999, - pageNo: 1, + pageNo: 1 } ); @@ -952,7 +952,7 @@ for (let item of datas.list.values()) { dataBase.push({ - value: item, + value: item }); } @@ -1002,7 +1002,7 @@ this.nozzle.getDataStructureByTableName, { dataSourceName: dataSourceName, - tableName: tableName, + tableName: tableName } ); @@ -1021,7 +1021,7 @@ newDatas.push({ value: item["columnName"], - isStringL: item["columnName"] + "," + isString, + isStringL: item["columnName"] + "," + isString }); } @@ -1036,7 +1036,7 @@ this.nozzle.getDataStructureByTableNameAndType, { dataSourceName: dataSourceName, - tableName: tableName, + tableName: tableName } ); // 填充时间字段和查询字段 @@ -1054,7 +1054,7 @@ for (const item of datas.values()) { newDevisor.push({ label: devisor[item.toLowerCase()], - value: item, + value: item }); } return newDevisor; @@ -1128,7 +1128,7 @@ cb(results); }, createFilter(queryString) { - return (restaurant) => { + return restaurant => { return restaurant.value.indexOf(queryString) !== -1; }; }, @@ -1141,7 +1141,7 @@ name: "", symbol: "", value: "", - select: true, + select: true }); }, modelAdd() { @@ -1157,15 +1157,15 @@ dateColumn: [], //时间字段 numberColumn: [], //查询字段 sourcesField: [], - symbolNum: [], + symbolNum: [] }, queryConditions: [ { name: "", symbol: "", - value: "", - }, - ], //过滤条件 + value: "" + } + ] //过滤条件 }); if (this.ruleForm.dataPreviewLists.length >= 2) { @@ -1248,7 +1248,7 @@ if (this.programme === "") { this.$notify({ type: "warning", - message: "请将查询名称填写完整", + message: "请将查询名称填写完整" }); return; } @@ -1283,7 +1283,7 @@ if (this.programme === "") { this.$notify({ type: "warning", - message: "请将查询名称填写完整", + message: "请将查询名称填写完整" }); return; } @@ -1339,8 +1339,8 @@ } this.drawChart([ { - PN: keys, - }, + PN: keys + } ]); }, async getPlatform() { @@ -1349,8 +1349,8 @@ let res = await this.$http.get(this.nozzle.getProjectName); res = res.data ? res.data.data : "滤网"; headTitle(res); - }, - }, + } + } }; \ No newline at end of file + diff --git a/src/components/shujulvwang/timeSeriesPrediction.vue b/src/components/shujulvwang/timeSeriesPrediction.vue index 45d5b3e..1314e53 100644 --- a/src/components/shujulvwang/timeSeriesPrediction.vue +++ b/src/components/shujulvwang/timeSeriesPrediction.vue @@ -1,35 +1,74 @@