Compare commits

..

No commits in common. "d2b0ed6f67c85d9ea25a6d0942feb3a56db65d47" and "75fbd857e7812ee582d1823b4ec7ecb2919a0321" have entirely different histories.

15 changed files with 140 additions and 187 deletions

View File

@ -261,23 +261,8 @@ export default {
}else{ }else{
arr[12] = "/"; //%= kW·h/t/kW·h/t*100% arr[12] = "/"; //%= kW·h/t/kW·h/t*100%
} }
let lastYearArr = wrapArr0[n]; arr[13] = 0; //%
let tongqiVal = null; // arr[15] = 0.0; //
if (lastYearArr && lastYearArr.length > 0) {
lastYearArr.forEach((item0) => {
if (item0.team_name === item.team_name){
tongqiVal = Number(item0.elec_consume_unit);
}
});
}
arr[13] = '/'; //%
if (tongqiVal !== null && tongqiVal !== 0){
// -
let tongqicha = (item.elec_consume_unit - tongqiVal).toFixed(2);
// = / × 100%
let tongBiRate = ((tongqicha / tongqiVal) * 100).toFixed(2);
arr[13] = tongBiRate;
}
arr[14] = 0; arr[14] = 0;
if (month_obj[n]) { if (month_obj[n]) {
const monthData = month_obj[n]; const monthData = month_obj[n];

View File

@ -325,15 +325,20 @@ export default {
} }
arrs[6] = lastRate; arrs[6] = lastRate;
//%-wrapArr0[ind].elec_consume_unit //%-wrapArr0[ind].elec_consume_unit
let ind = index + 1; let sameRate = 0;
let lastYearItem = wrapArr0[ind]; // if (
let tongqiVal = lastYearItem ? Number(lastYearItem.elec_consume_unit) : null; wrapArr0[index] &&
arrs[7] = "/"; // wrapArr0[index].elec_consume_unit
if (tongqiVal !== null && tongqiVal !== 0 && !isNaN(tongqiVal)) { ) {
let tongqicha = (item[1] - tongqiVal).toFixed(2); sameRate =
let tongBiRate = ((tongqicha / tongqiVal) * 100).toFixed(2); ((arrs[1] -
arrs[7] = tongBiRate; // % wrapArr0[index].elec_consume_unit) /
wrapArr0[index].elec_consume_unit) *
100;
} else {
sameRate = "/";
} }
arrs[7] = sameRate;
arrs[8] = item[3]; arrs[8] = item[3];
arrs[9] = item[4]; arrs[9] = item[4];
wrapArrs.push(arrs); wrapArrs.push(arrs);

View File

@ -78,7 +78,6 @@
type="primary" type="primary"
@click="exportExcel()" @click="exportExcel()"
:loading="exportLoading" :loading="exportLoading"
v-auth="'export_excel'"
>导出xlsx >导出xlsx
</el-button> </el-button>
<el-button <el-button
@ -93,8 +92,7 @@
<el-card style="margin-top:5px"> <el-card style="margin-top:5px">
<div style="display: flex; justify-content: space-between; align-items: flex-start;"> <div style="display: flex; justify-content: space-between; align-items: flex-start;">
<el-table <el-table
id="myTable" id = "greenHeadTable"
class="myTable"
:data="tableData" :data="tableData"
style="width: 70%" style="width: 70%"
border border
@ -124,6 +122,7 @@
border border
style="margin-left: 10px; margin-top: 10px; width: 500px; table-layout: fixed;" style="margin-left: 10px; margin-top: 10px; width: 500px; table-layout: fixed;"
:key="timeStamp" :key="timeStamp"
class="myTable"
> >
<!-- 第一列 --> <!-- 第一列 -->
<el-table-column <el-table-column
@ -174,7 +173,6 @@ import * as echarts from 'echarts';
start_time:'', start_time:'',
end_time:'', end_time:'',
}, },
tableName:'峰谷平报表',
tableHeight:800, tableHeight:800,
columns: [ columns: [
{ label: '尖峰', prop: 'peak' }, { label: '尖峰', prop: 'peak' },

View File

@ -293,23 +293,21 @@ export default {
} else{ } else{
arr[15] = "/" arr[15] = "/"
}; };
let lastYearArr = wrapArr0[n]; let sameRate = 0;
let tongqiVal = null; if (
if (lastYearArr && lastYearArr.length > 0) { wrapArr0[ind] &&
lastYearArr.forEach((item0) => { wrapArr0[ind].coal_consume_unit
if (item0.team_name === item.team_name){ ) {
tongqiVal = Number(item0.elec_consume_unit); sameRate =
} (( item.coal_consume_unit -
}); wrapArr0[ind].coal_consume_unit) /
} wrapArr0[ind].coal_consume_unit) *
arr[16] = '/'; //% 100;
if (tongqiVal !== null && tongqiVal !== 0){ } else {
// - sameRate = "/";
let tongqicha = (item.elec_consume_unit - tongqiVal).toFixed(2);
// = / × 100%
let tongBiRate = ((tongqicha / tongqiVal) * 100).toFixed(2);
arr[16] = tongBiRate;
} }
arr[16] = sameRate; ///%/ wrapArr0[ind].elec_consume_unit
//
// //
arr[17] = arr[17] =
item.高温风机_consume_unit != null item.高温风机_consume_unit != null

View File

@ -655,10 +655,10 @@ export default {
wrapArr0[index].elec_consume_unit wrapArr0[index].elec_consume_unit
) { ) {
sameRate = sameRate =
(((arrs[1] - ((arrs[1] -
wrapArr0[index].elec_consume_unit) / wrapArr0[index].elec_consume_unit) /
wrapArr0[index].elec_consume_unit) * wrapArr0[index].elec_consume_unit) *
100).toFixed(2); 100;
} else { } else {
sameRate = "/"; sameRate = "/";
} }
@ -718,10 +718,10 @@ export default {
wrapArr0[index].celec_consume_unit wrapArr0[index].celec_consume_unit
) { ) {
sameRate2 = sameRate2 =
(((arrs[1] - ((arrs[1] -
wrapArr0[index].celec_consume_unit) / wrapArr0[index].celec_consume_unit) /
wrapArr0[index].celec_consume_unit) * wrapArr0[index].celec_consume_unit) *
100).toFixed(2); 100;
} else { } else {
sameRate2 = "/"; sameRate2 = "/";
} }
@ -781,10 +781,10 @@ export default {
wrapArr0[index].coal_consume_unit wrapArr0[index].coal_consume_unit
) { ) {
sameRate3 = sameRate3 =
(((arrs[1] - ((arrs[1] -
wrapArr0[index].coal_consume_unit) / wrapArr0[index].coal_consume_unit) /
wrapArr0[index].coal_consume_unit) * wrapArr0[index].coal_consume_unit) *
100).toFixed(2); 100;
} else { } else {
sameRate3 = "/"; sameRate3 = "/";
} }
@ -844,10 +844,10 @@ export default {
wrapArr0[index].cen_consume_unit wrapArr0[index].cen_consume_unit
) { ) {
sameRate4 = sameRate4 =
(((arrs[1] - ((arrs[1] -
wrapArr0[index].cen_consume_unit) / wrapArr0[index].cen_consume_unit) /
wrapArr0[index].cen_consume_unit) * wrapArr0[index].cen_consume_unit) *
100).toFixed(2); 100;
} else { } else {
sameRate4 = "/"; sameRate4 = "/";
} }

View File

@ -277,23 +277,7 @@ export default {
tongqi = 0; tongqi = 0;
} }
let lastYearArr = wrapArr0[n]; arr[17] = tongqi; //%:-/
let tongqiVal = null;
if (lastYearArr && lastYearArr.length > 0) {
lastYearArr.forEach((item0) => {
if (item0.team_name === item.team_name){
tongqiVal = Number(item0.elec_consume_unit);
}
});
}
arr[17] = '/'; //%
if (tongqiVal !== null && tongqiVal !== 0){
// -
let tongqicha = (item.elec_consume_unit - tongqiVal).toFixed(2);
// = / × 100%
let tongBiRate = ((tongqicha / tongqiVal) * 100).toFixed(2);
arr[17] = tongBiRate;
}
// arr[18] = 0.0; //% // arr[18] = 0.0; //%
arr[18] = 0; arr[18] = 0;
if (month_obj[n]) { if (month_obj[n]) {

View File

@ -405,10 +405,10 @@ export default {
wrapArr0[index].elec_consume_unit wrapArr0[index].elec_consume_unit
) { ) {
sameRate = sameRate =
(((arrs[1] - ((arrs[1] -
wrapArr0[index].elec_consume_unit) / wrapArr0[index].elec_consume_unit) /
wrapArr0[index].elec_consume_unit) * wrapArr0[index].elec_consume_unit) *
100).toFixed(2); 100;
} else { } else {
sameRate = "/"; sameRate = "/";
} }

View File

@ -117,6 +117,7 @@ export default {
// self.data = res[1]; // self.data = res[1];
// console.log("", self.data); // console.log("", self.data);
// } // }
console.log(res,'----------res');
self.getData(res[1]); self.getData(res[1]);
}) })
.catch((error) => { .catch((error) => {
@ -221,23 +222,20 @@ export default {
}else{ }else{
arr[8] = "/"; //%= kW·h/t/kW·h/t*100% arr[8] = "/"; //%= kW·h/t/kW·h/t*100%
} }
let lastYearArr = wrapArr0[n]; let sameRate = 0;
let tongqiVal = null; if (
if (lastYearArr && lastYearArr.length > 0) { wrapArr0[ind] &&
lastYearArr.forEach((item0) => { wrapArr0[ind].elec_consume_unit
if (item0.team_name === item.team_name){ ) {
tongqiVal = Number(item0.elec_consume_unit); sameRate =
} ((arr[3] -
}); wrapArr0[ind].elec_consume_unit) /
} wrapArr0[ind].elec_consume_unit) *
arr[9] = '/'; //% 100;
if (tongqiVal !== null && tongqiVal !== 0){ } else {
// - sameRate = "/";
let tongqicha = (item.elec_consume_unit - tongqiVal).toFixed(2);
// = / × 100%
let tongBiRate = ((tongqicha / tongqiVal) * 100).toFixed(2);
arr[9] = tongBiRate;
} }
arr[9] = sameRate; ///%/ wrapArr0[ind].elec_consume_unit
// arr[10] = item.celec_consume_unit; //%-wrapArr0[ind].elec_consume_unit // arr[10] = item.celec_consume_unit; //%-wrapArr0[ind].elec_consume_unit
if (month_obj[n]) { if (month_obj[n]) {
const monthData = month_obj[n]; const monthData = month_obj[n];

View File

@ -301,10 +301,10 @@ export default {
wrapArr0[index].elec_consume_unit wrapArr0[index].elec_consume_unit
) { ) {
sameRate = sameRate =
(((arrs[1] - ((arrs[1] -
wrapArr0[index].elec_consume_unit) / wrapArr0[index].elec_consume_unit) /
wrapArr0[index].elec_consume_unit) * wrapArr0[index].elec_consume_unit) *
100).toFixed(2); 100;
} else { } else {
sameRate = "/"; sameRate = "/";
} }

View File

@ -269,24 +269,7 @@ export default {
}else{ }else{
arr[14] = "/"; //%= kW·h/t/kW·h/t*100% arr[14] = "/"; //%= kW·h/t/kW·h/t*100%
} }
// arr[16] = item.celec_consume_unit; //% arr[16] = item.celec_consume_unit; //%
let lastYearArr = wrapArr0[n];
let tongqiVal = null;
if (lastYearArr && lastYearArr.length > 0) {
lastYearArr.forEach((item0) => {
if (item0.team_name === item.team_name){
tongqiVal = Number(item0.elec_consume_unit);
}
});
}
arr[16] = '/'; //%
if (tongqiVal !== null && tongqiVal !== 0){
// -
let tongqicha = (item.elec_consume_unit - tongqiVal).toFixed(2);
// = / × 100%
let tongBiRate = ((tongqicha / tongqiVal) * 100).toFixed(2);
arr[16] = tongBiRate;
}
arr[17] = 0; arr[17] = 0;
if (month_obj[n]) { if (month_obj[n]) {

View File

@ -138,6 +138,7 @@ export default {
that.$API.mtm.mgroup.list that.$API.mtm.mgroup.list
.req({ page: 0, name: "原料磨" }) .req({ page: 0, name: "原料磨" })
.then((res) => { .then((res) => {
console.log("原料磨", res);
that.query.mgroup = res[0].id; that.query.mgroup = res[0].id;
// //
that.getMonthGoal(); that.getMonthGoal();
@ -170,6 +171,7 @@ export default {
paramsGoal.page = 0; paramsGoal.page = 0;
paramsGoal.year = that.query.year_s; paramsGoal.year = that.query.year_s;
paramsGoal.mgroup = that.query.mgroup; paramsGoal.mgroup = that.query.mgroup;
console.log("paramsGoal", paramsGoal);
that.$API.mtm.goal.list.req(paramsGoal).then((ress) => { that.$API.mtm.goal.list.req(paramsGoal).then((ress) => {
if (ress.length > 0) { if (ress.length > 0) {
let monthGoal = []; let monthGoal = [];
@ -293,22 +295,28 @@ export default {
lastRate = "/"; lastRate = "/";
} }
arrs[6] = lastRate; arrs[6] = lastRate;
let ind = index + 1; //%-wrapArr0[ind].elec_consume_unit
let lastYearItem = wrapArr0[ind]; // let sameRate = 0;
let tongqiVal = lastYearItem ? Number(lastYearItem.elec_consume_unit) : null; if (
arrs[7] = "/"; // wrapArr0[index] &&
if (tongqiVal !== null && tongqiVal !== 0 && !isNaN(tongqiVal)) { wrapArr0[index].elec_consume_unit
let tongqicha = (item[1] - tongqiVal).toFixed(2); ) {
let tongBiRate = ((tongqicha / tongqiVal) * 100).toFixed(2); sameRate =
arrs[7] = tongBiRate; // % (((arrs[1] -
wrapArr0[index].elec_consume_unit) /
wrapArr0[index].elec_consume_unit) *
100).toFixed(2);
} else {
sameRate = "/";
} }
arrs[7] = sameRate;
arrs[8] = item[3]; arrs[8] = item[3];
arrs[9] = item[4]; arrs[9] = item[4];
wrapArrs.push(arrs); wrapArrs.push(arrs);
}); });
that.tableDatas = wrapArrs; that.tableDatas = wrapArrs;
} else {} } else {
}
}); });
}); });
}, },

View File

@ -273,24 +273,8 @@ export default {
}else{ }else{
arr[15] = "/"; //%= kW·h/t/kW·h/t*100% arr[15] = "/"; //%= kW·h/t/kW·h/t*100%
} }
// arr[16] = item.celec_consume_unit; //% arr[16] = item.celec_consume_unit; //%
let lastYearArr = wrapArr0[n];
let tongqiVal = null;
if (lastYearArr && lastYearArr.length > 0) {
lastYearArr.forEach((item0) => {
if (item0.team_name === item.team_name){
tongqiVal = Number(item0.elec_consume_unit);
}
});
}
arr[16] = '/'; //%
if (tongqiVal !== null && tongqiVal !== 0){
// -
let tongqicha = (item.elec_consume_unit - tongqiVal).toFixed(2);
// = / × 100%
let tongBiRate = ((tongqicha / tongqiVal) * 100).toFixed(2);
arr[16] = tongBiRate;
}
arr[17] = 0; arr[17] = 0;
if (month_obj[n]) { if (month_obj[n]) {
const monthData = month_obj[n]; const monthData = month_obj[n];

View File

@ -140,6 +140,7 @@ export default {
that.query.mgroup = res[0].id; that.query.mgroup = res[0].id;
// //
that.getMonthGoal(); that.getMonthGoal();
that.getData();
}); });
}, },
methods: { methods: {
@ -165,12 +166,11 @@ export default {
let that = this; let that = this;
let paramsGoal = {}; let paramsGoal = {};
paramsGoal.page = 0; paramsGoal.page = 0;
let monthGoal = [];
paramsGoal.mgroup = that.query.mgroup; paramsGoal.mgroup = that.query.mgroup;
paramsGoal.year = that.query.year_s; paramsGoal.year = that.query.year_s;
that.$API.mtm.goal.list.req(paramsGoal).then((ress) => { that.$API.mtm.goal.list.req(paramsGoal).then((ress) => {
if (ress.length > 0) { if (ress.length > 0) {
let monthGoal = [];
ress.forEach((goal) => { ress.forEach((goal) => {
if ( if (
goal.goal_cate_name == "单位产品分布电耗kW·h/t" goal.goal_cate_name == "单位产品分布电耗kW·h/t"
@ -189,9 +189,9 @@ export default {
monthGoal[11] = goal.goal_val_11; monthGoal[11] = goal.goal_val_11;
monthGoal[12] = goal.goal_val_12; monthGoal[12] = goal.goal_val_12;
} }
this.getData(monthGoal);
}); });
} }
that.getData(monthGoal);
}); });
}, },
getData(monthGoal) { getData(monthGoal) {
@ -199,7 +199,7 @@ export default {
let query0 = {}; let query0 = {};
query0.page = 0; query0.page = 0;
query0.type = "month_s"; query0.type = "month_s";
query0.year_s = that.query.year_s - 1; query0.year = that.query.year_s - 1;
query0.mgroup = that.query.mgroup; query0.mgroup = that.query.mgroup;
let wrapArr = [], let wrapArr = [],
wrapArr0 = [], wrapArr0 = [],
@ -228,7 +228,8 @@ export default {
let time = "" + item.year_s + "." + item.month_s; let time = "" + item.year_s + "." + item.month_s;
arr.push(time); arr.push(time);
arr.push(item.elec_consume_unit); //kW·h/t arr.push(item.elec_consume_unit); //kW·h/t
arr[2] = monthGoal[ind] !== undefined arr[2] =
monthGoal[ind] !== undefined
? monthGoal[ind] ? monthGoal[ind]
: "/"; : "/";
arr[3] = item.note; arr[3] = item.note;
@ -289,15 +290,21 @@ export default {
lastRate = "/"; lastRate = "/";
} }
arrs[6] = lastRate; arrs[6] = lastRate;
let ind = index + 1; //%-wrapArr0[ind].elec_consume_unit
let lastYearItem = wrapArr0[ind]; // let sameRate = 0;
let tongqiVal = lastYearItem ? Number(lastYearItem.elec_consume_unit) : null; if (
arrs[7] = "/"; // wrapArr0[index] &&
if (tongqiVal !== null && tongqiVal !== 0 && !isNaN(tongqiVal)) { wrapArr0[index].elec_consume_unit
let tongqicha = (item[1] - tongqiVal).toFixed(2); ) {
let tongBiRate = ((tongqicha / tongqiVal) * 100).toFixed(2); sameRate =
arrs[7] = tongBiRate; // % (((arrs[1] -
wrapArr0[index].elec_consume_unit) /
wrapArr0[index].elec_consume_unit) *
100).toFixed(2);
} else {
sameRate = "/";
} }
arrs[7] = sameRate;
arrs[8] = item[3]; arrs[8] = item[3];
arrs[9] = item[4]; arrs[9] = item[4];
wrapArrs.push(arrs); wrapArrs.push(arrs);

View File

@ -98,6 +98,7 @@ export default {
this.timeStamp = myDate.getTime(); this.timeStamp = myDate.getTime();
that.query.year_s = year; that.query.year_s = year;
this.$API.mtm.mgroup.list.req({ page: 0, search: "电石渣" }).then((res) => { this.$API.mtm.mgroup.list.req({ page: 0, search: "电石渣" }).then((res) => {
console.log("工段数据:", res);
that.query.mgroup = res[0].id; that.query.mgroup = res[0].id;
that.getGoalData(); that.getGoalData();
}); });
@ -113,6 +114,7 @@ export default {
if (res.length > 0) { if (res.length > 0) {
res.forEach((item) => { res.forEach((item) => {
if (item.goal_cate_name == "单位产品分布电耗kW·h/t") { if (item.goal_cate_name == "单位产品分布电耗kW·h/t") {
console.log("目标数据:", item);
self.getData(item); self.getData(item);
} }
}) })
@ -135,7 +137,7 @@ export default {
this.$API.enm.enstat.req(query0).then((res0) => { this.$API.enm.enstat.req(query0).then((res0) => {
if (res0.length > 0) { if (res0.length > 0) {
res0.forEach((item0) => { res0.forEach((item0) => {
//, //
let month = item0.month_s; let month = item0.month_s;
if (!wrapArr0[month]) { if (!wrapArr0[month]) {
wrapArr0[month] = []; wrapArr0[month] = [];
@ -181,7 +183,9 @@ export default {
arr[5] = goalData[keyVale]; //KW·h/t// arr[5] = goalData[keyVale]; //KW·h/t//
arr[6] = (arr[4] - arr[5]).toFixed(2); //KW·h/t arr[6] = (arr[4] - arr[5]).toFixed(2); //KW·h/t
let ind_pre = 0, let ind_pre = 0,
huanqi = 0; huanqi = 0,
tongqi = 0,
tongqicha = 0;
if (n == 1) { if (n == 1) {
ind_pre = 12; ind_pre = 12;
if (wrapArr0[ind_pre]) { if (wrapArr0[ind_pre]) {
@ -191,13 +195,14 @@ export default {
} }
}); });
} }
} else { } else {
// wrapArr0wrapArritem.month_s1 item.namehuanbi // wrapArr0wrapArritem.month_s1 item.namehuanbi
compareArr0.forEach((item0) => { compareArr0.forEach((item0) => {
if (item0[0] == item.month_s - 1 && item0[1] == item.team_name) { if (item0[0] == item.month_s - 1 && item0[1] == item.team_name) {
huanqi = item0[2]; huanqi = item0[2];
} }
}); })
} }
arr[7] = Number(huanqi); //KW·h/t arr[7] = Number(huanqi); //KW·h/t
if (arr[6] !== "/"){ if (arr[6] !== "/"){
@ -212,23 +217,16 @@ export default {
growthRate = "/"; growthRate = "/";
} }
arr[9] = growthRate; //% arr[9] = growthRate; //%
let lastYearArr = wrapArr0[n]; if (wrapArr0[n]) {
let tongqiVal = null; tongqicha =
if (lastYearArr && lastYearArr.length > 0) { item.celec_consume_unit -
lastYearArr.forEach((item0) => { wrapArr0[n].celec_consume_unit;
if (item0.team_name === item.team_name){ tongqi = tongqicha / tongqi;
tongqiVal = Number(item0.elec_consume_unit); } else {
} tongqicha = item.celec_consume_unit;
}); tongqi = 0;
}
arr[10] = '/'; //%
if (tongqiVal !== null && tongqiVal !== 0){
// -
let tongqicha = (item.elec_consume_unit - tongqiVal).toFixed(2);
// = / × 100%
let tongBiRate = ((tongqicha / tongqiVal) * 100).toFixed(2);
arr[10] = tongBiRate;
} }
arr[10] = tongqi; //%
//n = month_listkeyvalue, index==0arr[11] = 100 index==1arr[11] = 80 index==2arr[11] = 70 index==3arr[11] = 0 //n = month_listkeyvalue, index==0arr[11] = 100 index==1arr[11] = 80 index==2arr[11] = 70 index==3arr[11] = 0
if (month_obj[n]) { if (month_obj[n]) {
const monthData = month_obj[n]; const monthData = month_obj[n];

View File

@ -237,7 +237,7 @@ export default {
: "/"; : "/";
arr[3] = item.note; arr[3] = item.note;
arr[4] = item.id; arr[4] = item.id;
wrapArr.push(arr); wrapArr[ind] = arr;
}); });
wrapArr.forEach((item, index) => { wrapArr.forEach((item, index) => {
let arrs = []; let arrs = [];
@ -293,15 +293,20 @@ export default {
} }
arrs[6] = lastRate; arrs[6] = lastRate;
//%-wrapArr0[ind].elec_consume_unit //%-wrapArr0[ind].elec_consume_unit
let ind = index + 1; let sameRate = 0;
let lastYearItem = wrapArr0[ind]; // if (
let tongqiVal = lastYearItem ? Number(lastYearItem.elec_consume_unit) : null; wrapArr0[index] &&
arrs[7] = "/"; // wrapArr0[index].elec_consume_unit
if (tongqiVal !== null && tongqiVal !== 0 && !isNaN(tongqiVal)) { ) {
let tongqicha = (item[1] - tongqiVal).toFixed(2); sameRate =
let tongBiRate = ((tongqicha / tongqiVal) * 100).toFixed(2); ((arrs[1] -
arrs[7] = tongBiRate; // % wrapArr0[index].elec_consume_unit) /
wrapArr0[index].elec_consume_unit) *
100;
} else {
sameRate = "/";
} }
arrs[7] = sameRate;
arrs[8] = item[3]; arrs[8] = item[3];
arrs[9] = item[4]; arrs[9] = item[4];
wrapArrs.push(arrs); wrapArrs.push(arrs);