1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
| var app=angular.module('mainANG', [
])
app.controller("myCalc", ['$scope', function ($scope) {
$scope.title = 'Расчет массы круглой трубы'; // Название калькулятора
$scope.ShowMePanel2 = false; // Выводится панель в скрытом виде
$scope.in = {
A: {v: 10, t: 'Наружный диаметр, D, мм', h:''},
B: {v: 3, t: 'Толщина стенки, S, мм', h:''},
C: {v: 1, t: 'Длина трубы, L, м', h:''},
D: {v: 7810, t: 'Плотность материала, кг/м^3', h:''},
Cu: {v: 1500, h:''},
Fn: {v: 0, h:''},
Fh: {v: 0, h:''}, // Переменные для полей ввода с начальными данными и названиями
};
$scope.zpName ="Aluminievaya truba.jpg" // Начальный рисунок
$scope.zpnTitle = 'Материал';
$scope.zpn = [
{ v1 : 4505, path: 'ТИТАН.jpeg' , title: 'Титан'},
{ v1: 8500, path: 'ЛАТУНЬ.jpeg', title: 'Латунь'},
{ v1: 8960, path: 'trubi-MED.jpg' ,title: 'Медь'},
{ v1: 2800, path: 'Aluminievaya truba.jpg ' , title: 'Дюралюминий'},
{ v1: 19300, path: 'clp51525.jpg' , title: 'Золото'},
{v1: 7810, path: 'truby_STALIN.jpeg' , title: 'Углеродистая сталь'}, //Данные для каждого металла из выплывающего списка, рисунок и название
];
function CheckIn(s,v)
{
if (v <= 0 || v == undefined) {
$(s).addClass('bg-red');
$(s).removeClass('bg-gr');
return false;
}
else {
$(s).addClass('bg-gr');
$(s).removeClass('bg-red');
return true;
}
/*функция проверки , которая подсвечивает поле ввода зелёным,
если все данные введены корректно и краснымесли пользователь указал недопустимое значение*/
}
function CheckIn2(s,v)
{
if (v < 0 || v == undefined) {
$(s).addClass('bg-red');
$(s).removeClass('bg-gr');
return false;
}
else {
$(s).addClass('bg-gr');
$(s).removeClass('bg-red');
return true;
}}
/*функция проверки , которая подсвечивает поле ввода зелёным,
если все данные введены корректно и краснымесли пользователь указал недопустимое значение*/
function checkInputParameters() {
isOK = CheckIn('#in5A',$scope.in.A.v) && CheckIn('#in5B',$scope.in.B.v) &&
CheckIn('#in5C',$scope.in.C.v) && CheckIn('#in5D',$scope.in.D.v) && CheckIn2('#Fn',$scope.in.Fn.v) && CheckIn2('#Fh',$scope.in.Fh.v) ;
return isOK;
}// проверка введенных параметров
$scope.Res =
{
Q1: function () {
if (checkInputParameters()) {
res = (($scope.in.A.v/1000)-($scope.in.B.v/1000))*($scope.in.B.v/1000)*$scope.in.C.v*3.14*$scope.in.D.v;// Формула для расчета массы круглой трубы
return res > 0 ? (Math.round(res * 100) / 100) : 'неверный параметр'; // Округляет значение до сотых
} else {
return "неверный параметр"; // Если меньше нуля "неверный параметр"
}
},
S: function () {
if (checkInputParameters()) {
res = $scope.in.C.v*((($scope.in.Fn.v)+($scope.in.Fh.v))-(2.86*($scope.in.B.v)))*($scope.in.B.v)*0.0157*($scope.in.D.v/7850);
// Формула для расчета массы прямоугольной трубы
return res > 0 ? (Math.round(res * 100) / 100) : 'Введите параметры'; // Округляет значение до сотых
} else {
return "неверный параметр";// Если меньше нуля "неверный параметр"
}
},
ZpnDetail: function() {
i = $("#idZpn").val();
$scope.zpName =$scope.zpn[i].path;
$scope.in.D.v =$scope.zpn[i].v1;
},
// Функция которая изменяет рисунок при изменение металла из выплывающего списка и изменяет параметр плотности(D)
ShowHidePanel2: function() {
$scope.ShowMePanel2 = !$scope.ShowMePanel2;
},
// Функция дает возможнось срывать и "раскрывать" панель
};
}
]); |