From d2a1e7ae1942ec340772bb96782ee53368bb0927 Mon Sep 17 00:00:00 2001 From: chenguoping <2104254024@qq.com> Date: Wed, 25 Feb 2026 13:54:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=89=E7=85=A7=E5=AE=A2=E6=88=B7=E8=A6=81?= =?UTF-8?q?=E6=B1=82=E6=B6=88=E7=BC=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../$$$$工业互联网网络互联项目-四个场景$$$$.txt | 28 +++- 网站项目/VRS/Handler/User.ashx.cs | 60 ++++++-- 网站项目/VRS/Login.aspx.cs | 1 + 网站项目/VRS/Management/Exam/LianXiBatch.aspx | 4 +- .../VRS/Management/Exam/LianXiBatch.aspx.cs | 11 +- .../VRS/Management/Exam/LianXiBatch_Add.aspx.cs | 10 ++ .../VRS/Management/Exam/LianXiBatch_Edit.aspx.cs | 7 +- .../VRS/Management/Exam/MatchScene.aspx.cs | 6 +- 网站项目/VRS/Management/Home.aspx | 4 +- 网站项目/VRS/Management/Home.aspx.cs | 9 +- .../VRS/Management/VSAT/ExamBatch.aspx.cs | 6 +- .../Management/VSAT/ExamBatchResultDetail.aspx | 32 +++- .../Management/VSAT/ExamBatchResultDetail.aspx.cs | 46 +++++- 网站项目/VRS/Management/VSAT/ExamTheory.aspx | 89 +++++++++-- .../VRS/Management/VSAT/ExamTheory.aspx.cs | 143 +++++++++++++++--- .../Management/VSAT/ExamTheory.aspx.designer.cs | 9 ++ .../VRS/Management/VSAT/ExamTheoryBase.aspx | 2 +- .../Management/VSAT/ExamTheory_BatchScore.aspx | 87 ++++++++++- .../Management/VSAT/ExamTheory_BatchScore.aspx.cs | 50 +++++- .../VRS/Management/VSAT/Examination_Add.aspx | 12 +- 网站项目/VRS/Management/VSAT/ParaConfig.aspx | 6 +- 网站项目/VRS/Util/BasePage.cs | 18 ++- 网站项目/VRS/Util/Logs.aspx | 16 +- 网站项目/VRS/Util/Logs.aspx.cs | 22 ++- 网站项目/VRS/Util/Logs.aspx.designer.cs | 9 ++ 网站项目/VRS/VRS.csproj | 5 + 网站项目/VRS/Web.config | 3 + 网站项目/doc/剩余.txt | 6 + 28 files changed, 607 insertions(+), 94 deletions(-) diff --git a/网站项目/VRS/Handler/$$$$工业互联网网络互联项目-四个场景$$$$.txt b/网站项目/VRS/Handler/$$$$工业互联网网络互联项目-四个场景$$$$.txt index 1795e87..de43769 100644 --- a/网站项目/VRS/Handler/$$$$工业互联网网络互联项目-四个场景$$$$.txt +++ b/网站项目/VRS/Handler/$$$$工业互联网网络互联项目-四个场景$$$$.txt @@ -4,6 +4,9 @@ 用户缓存答案接口完善 +1008 第一次 +1021 去腿痣 + 310 ->djr > omc @@ -13,13 +16,32 @@ d28>j45 >hbd-> j200 > d12 pro_scene - 指弹 :ultra 1.2 + 指弹 : ultra 1.2 弹唱 : d12 0.7 练习琴: omc 0.2 主力 214 fg5 d10 练习 omcx1e 、 gsmini 、djr + End Guitar Strum + End Martin D12E + End Tayor 814CE + End Gibson Hbd + End Travel Djr + +主力毕业: Gibson Hbd阿迪 D桶 24.75(628毫米) +排除大 +J45 高音尖锐、抢人声 +J200 弦长太长 25.5英寸 647毫米 +Hd28 弦距太高、包边脱胶 +D12 配置低沙比利 + + +练习毕业: Martin omcx1e,Om桶 24.9(632毫米) 、腰24厘米 +排除小 +gsmini 弦长短 23.5英寸 596毫米 +djr 弦长短 24英寸、腰太粗 25厘米 + 工业网关4、5、6配置数据导入并保存 开放场景数据表设计 @@ -125,10 +147,10 @@ login_name:登录账号 password:密码 用户退出 -http://172.16.1.254:10014/Handler/User.ashx?action=exit&login_name=sfh01 +http://172.16.1.254:10014/Handler/User.ashx?action=exit&user_id=USER202512020928394163 参数 action=exit -login_name:登录账号 +user_id:用户userid 查询语言 diff --git a/网站项目/VRS/Handler/User.ashx.cs b/网站项目/VRS/Handler/User.ashx.cs index 0380e39..5f942ca 100644 --- a/网站项目/VRS/Handler/User.ashx.cs +++ b/网站项目/VRS/Handler/User.ashx.cs @@ -63,6 +63,12 @@ namespace VRS.Handler LoginUser(context); break; + + //用户登录 + case "ip": + QueryIP(context); + break; + //用户退出 case "exit": ExitUser(context); @@ -104,6 +110,26 @@ namespace VRS.Handler break; } } + + public void QueryIP(HttpContext context) + { + var ip = "xxyy"; + if (context.Request.Headers.AllKeys.Contains("X-Forwarded-For")) + { + ip = context.Request.Headers["X-Forwarded-For"]; + // return forwardedFor.First().Split(',').First().Trim(); + } + + if (context.Request.Headers.AllKeys.Contains("X-Real-IP")) + { + ip = context.Request.Headers["X-Real-IP"]; + // return forwardedFor.First().Split(',').First().Trim(); + } + ip = context.Request.UserAgent; + var result = GetResult(true, ip); + context.Response.Write(result); + context.Response.End(); + } /// /// 查询语言 /// @@ -286,14 +312,16 @@ namespace VRS.Handler public void ExitUser(HttpContext context) { var ret = string.Empty; - var login_name = context.Request.Params["login_name"]; - if (string.IsNullOrEmpty(login_name)) + //var login_name = context.Request.Params["login_name"]; + var user_id = context.Request.Params["user_id"]; + if (string.IsNullOrEmpty(user_id)) { - ret = GetResult(false, null, "登录账号不能为空"); + ret = GetResult(false, null, "user_id不能为空"); context.Response.Write(ret); context.Response.End(); } - var userModel = bll.GetModelList(string.Format(" login_name = '{0}' ", login_name)).FirstOrDefault(); + //var userModel = bll.GetModelList(string.Format(" login_name = '{0}' ", login_name)).FirstOrDefault(); + var userModel = bll.GetModel(user_id); if (null != userModel) { userModel.id_card = ""; @@ -306,7 +334,7 @@ namespace VRS.Handler } else { - var result = GetResult(false, null, "账号不存在!"); + var result = GetResult(false, null, "更新失败!"); context.Response.Write(result); context.Response.End(); } @@ -314,7 +342,7 @@ namespace VRS.Handler } else { - var result = GetResult(false, null, "账号不存在!"); + var result = GetResult(false, null, "user_id账号不存在!"); context.Response.Write(result); context.Response.End(); } @@ -392,19 +420,20 @@ namespace VRS.Handler { if (userModel.login_time.HasValue) { - var old_ip = userModel.id_card; - var current_ip = context.Request.UserHostAddress; - if (old_ip != current_ip) - { + //var old_ip = userModel.id_card; + //var current_ip = context.Request.UserHostAddress; //$$$$ + //if (old_ip != current_ip) + // { var minutues = (DateTime.Now.Subtract(userModel.login_time.Value).TotalSeconds) / 60; var stay_minutes = config.user_stay_minutes; if (minutues < stay_minutes) { - var go = GetResult(false, null, "用户已登录,IP:" + old_ip); + //var go = GetResult(false, null, "用户已登录,IP:" + old_ip); + var go = GetResult(false, null, "用户已登录"); context.Response.Write(go); context.Response.End(); } - } + //} } } #endregion @@ -463,7 +492,7 @@ namespace VRS.Handler var update_user = bll.GetModel(userModel.user_id); update_user.login_time = DateTime.Now; - update_user.id_card = context.Request.UserHostAddress; + update_user.id_card = context.Request.UserHostAddress; //$$$$ bll.Update(update_user); userModel.password = ""; @@ -629,10 +658,15 @@ namespace VRS.Handler context.Response.Write(ret); context.Response.End(); } + #region 过滤学校 $$$$ + /* if (!string.IsNullOrEmpty(user.school_id)) { where = where + " and school_id='" + user.school_id + "' "; } + */ + #endregion + if (!string.IsNullOrEmpty(SubjectType)) { where = where + " and subject_type='" + SubjectType + "' "; diff --git a/网站项目/VRS/Login.aspx.cs b/网站项目/VRS/Login.aspx.cs index 508f00b..f117add 100644 --- a/网站项目/VRS/Login.aspx.cs +++ b/网站项目/VRS/Login.aspx.cs @@ -1834,6 +1834,7 @@ namespace VRS Response.Cookies["admin_user_token"].Value = EncryptionAndDecryption.EncryptByLgzn(DateTime.Now.ToString("yyyyMMddHHmmss"));// EncryptionAndDecryption.EncryptByLgzn(user.user_id); Response.Cookies["admin_user_token"].Values.Add("admin_token", EncryptionAndDecryption.EncryptByLgzn(user_desc)); + log.write_log("登录后台。"); if (true) { diff --git a/网站项目/VRS/Management/Exam/LianXiBatch.aspx b/网站项目/VRS/Management/Exam/LianXiBatch.aspx index 98bd2de..ab4e562 100644 --- a/网站项目/VRS/Management/Exam/LianXiBatch.aspx +++ b/网站项目/VRS/Management/Exam/LianXiBatch.aspx @@ -241,8 +241,8 @@ - - + <%-- + --%> diff --git a/网站项目/VRS/Management/Exam/LianXiBatch.aspx.cs b/网站项目/VRS/Management/Exam/LianXiBatch.aspx.cs index 8106cee..96464ed 100644 --- a/网站项目/VRS/Management/Exam/LianXiBatch.aspx.cs +++ b/网站项目/VRS/Management/Exam/LianXiBatch.aspx.cs @@ -27,6 +27,8 @@ namespace VRS.Management.Exam { if (!IsPostBack) { + #region 加载学校 + /* var user = DataService.BLL.admin_user.load_login(); var user_login = bll_user.GetModel(user.user_id); @@ -40,6 +42,10 @@ namespace VRS.Management.Exam tr_school.Visible = false; BindSchoolGrade(user_login.school_id, dp_schoolgrade, ""); } + */ + #endregion + tr_school.Visible = false; //隐藏学校$$$ + //start.SelectedDate = DateTime.Today; //end.SelectedDate = DateTime.Today.AddMonths(12); BindSubjectType(dp_type_name, ""); @@ -50,6 +56,8 @@ namespace VRS.Management.Exam protected override void DataLoad() { StringBuilder query = new StringBuilder(" 1 = 1 "); + #region 查询学校 + /* var userlogin = DataService.BLL.admin_user.load_login(); var user_login = bll_user.GetModel(userlogin.user_id); if (bll_user.IsAdministrator(user_login)) @@ -63,7 +71,8 @@ namespace VRS.Management.Exam { query.AppendFormat(" AND school_id = '{0}' ", user_login.school_id); } - + */ + #endregion if (!string.IsNullOrWhiteSpace(txt_subject_name.Text.Trim())) { diff --git a/网站项目/VRS/Management/Exam/LianXiBatch_Add.aspx.cs b/网站项目/VRS/Management/Exam/LianXiBatch_Add.aspx.cs index 5253b7b..5e0cf4b 100644 --- a/网站项目/VRS/Management/Exam/LianXiBatch_Add.aspx.cs +++ b/网站项目/VRS/Management/Exam/LianXiBatch_Add.aspx.cs @@ -20,6 +20,8 @@ namespace VRS.Management.Exam base.Page_Load(sender, e); if (!IsPostBack) { + #region 绑定学校 + /* var user = DataService.BLL.admin_user.load_login(); var user_login = bll_user.GetModel(user.user_id); if (bll_user.IsAdministrator(user_login)) @@ -32,6 +34,9 @@ namespace VRS.Management.Exam tr_school.Visible = false; BindSchoolGrade(user_login.school_id, dp_schoolgrade, ""); } + */ + #endregion + tr_school.Visible = false; //隐藏学校 $$$ BindExam(dp_exam, "", "练习"); BindSubjectType(dp_type_name, ""); @@ -47,6 +52,9 @@ namespace VRS.Management.Exam protected void btnSure_Click(object sender, EventArgs e) { var model = new DataService.Model.pro_lianxi_batch(); + + #region 学校检查并赋值 + /* var user = DataService.BLL.admin_user.load_login(); var user_login = bll_user.GetModel(user.user_id); if (bll_user.IsAdministrator(user_login)) @@ -65,6 +73,8 @@ namespace VRS.Management.Exam { model.school_id = user_login.school_id; } + */ + #endregion if (string.IsNullOrEmpty(batch_name.Text.Trim())) diff --git a/网站项目/VRS/Management/Exam/LianXiBatch_Edit.aspx.cs b/网站项目/VRS/Management/Exam/LianXiBatch_Edit.aspx.cs index 5f91896..47bfb38 100644 --- a/网站项目/VRS/Management/Exam/LianXiBatch_Edit.aspx.cs +++ b/网站项目/VRS/Management/Exam/LianXiBatch_Edit.aspx.cs @@ -49,6 +49,8 @@ namespace VRS.Management.Exam ddp_state.SelectedValue = model.state.ToString(); dp_type_name.SelectedValue = model.subject_type; + + tr_unit.Visible = false; //隐藏学校 $$$$ } else { @@ -80,11 +82,14 @@ namespace VRS.Management.Exam return; } var id = Request.Params["Id"]; - if (bll.GetRecordCount(string.Format(" subject = '{0}' and batch_id !='" + id + "' and school_id='{1}' ", batch_name.Text.Trim(), model.school_id)) > 0) + + //if (bll.GetRecordCount(string.Format(" subject = '{0}' and batch_id !='" + id + "' and school_id='{1}' ", batch_name.Text.Trim(), model.school_id)) > 0) //$$$$ + if (bll.GetRecordCount(string.Format(" subject = '{0}' and batch_id !='" + id + "' ", batch_name.Text.Trim())) > 0) { RadAjaxManager1.Alert("练习场次考场名称称禁止重复!"); return; } + if (string.IsNullOrEmpty(dp_exam.SelectedValue)) diff --git a/网站项目/VRS/Management/Exam/MatchScene.aspx.cs b/网站项目/VRS/Management/Exam/MatchScene.aspx.cs index 8a554a7..ce045d5 100644 --- a/网站项目/VRS/Management/Exam/MatchScene.aspx.cs +++ b/网站项目/VRS/Management/Exam/MatchScene.aspx.cs @@ -41,9 +41,13 @@ namespace VRS.Management.Exam tr_school.Visible = false; //BindSchoolGrade(user_login.school_id, dp_schoolgrade, ""); } - start.SelectedDate = DateTime.Today.AddMonths(-3); + + //start.SelectedDate = DateTime.Today.AddMonths(-3); //end.SelectedDate = DateTime.Today.AddMonths(12); + start.SelectedDate = DateTime.Today.AddDays(-365); + end.SelectedDate = DateTime.Today; + BindSceneBase(dp_scene, ""); DataLoad(); } diff --git a/网站项目/VRS/Management/Home.aspx b/网站项目/VRS/Management/Home.aspx index cd35530..74b534c 100644 --- a/网站项目/VRS/Management/Home.aspx +++ b/网站项目/VRS/Management/Home.aspx @@ -50,7 +50,7 @@ 成绩查询 @@ -75,7 +75,7 @@ - + <%----%> diff --git a/网站项目/VRS/Management/Home.aspx.cs b/网站项目/VRS/Management/Home.aspx.cs index b60367c..9333708 100644 --- a/网站项目/VRS/Management/Home.aspx.cs +++ b/网站项目/VRS/Management/Home.aspx.cs @@ -37,8 +37,15 @@ namespace VRS.Management } else { + if (bll_user.IsSchoolAdministrator(userModel)) + { + li_log.Visible = true; + } + else + { + li_log.Visible = false; + } li_school.Visible = false; - li_log.Visible = false; li_SceneBase.Visible = false; li_SubjectType.Visible = false; li_SubjectList.Visible = false; diff --git a/网站项目/VRS/Management/VSAT/ExamBatch.aspx.cs b/网站项目/VRS/Management/VSAT/ExamBatch.aspx.cs index 2408fa0..cf88baa 100644 --- a/网站项目/VRS/Management/VSAT/ExamBatch.aspx.cs +++ b/网站项目/VRS/Management/VSAT/ExamBatch.aspx.cs @@ -39,8 +39,10 @@ namespace VRS.Management.VSAT tr_school.Visible = false; BindSchoolGrade(user_login.school_id, dp_schoolgrade, ""); } - start.SelectedDate = DateTime.Today; - end.SelectedDate = DateTime.Today.AddMonths(12); + //start.SelectedDate = DateTime.Today; + // end.SelectedDate = DateTime.Today.AddMonths(12); + start.SelectedDate = DateTime.Today.AddDays(-365); + end.SelectedDate = DateTime.Today; DataLoad(); } } diff --git a/网站项目/VRS/Management/VSAT/ExamBatchResultDetail.aspx b/网站项目/VRS/Management/VSAT/ExamBatchResultDetail.aspx index 5779258..21b147b 100644 --- a/网站项目/VRS/Management/VSAT/ExamBatchResultDetail.aspx +++ b/网站项目/VRS/Management/VSAT/ExamBatchResultDetail.aspx @@ -47,6 +47,15 @@ oWnd.center(); } + function allowOnlyNumbers(sender, eventArgs) { + var keyCode = eventArgs.get_keyCode(); // 获取按键代码 + //console.log(keyCode); + // 允许数字0-9 (48-57) 以及退格键(8) 、46小数点 + if ((keyCode < 48 || keyCode > 57) && keyCode != 8 && keyCode != 46) { + eventArgs.set_cancel(true); // 取消非数字按键输入 + } + } + function refreshGrid(args, msg) { if (!args) { $("#btnSelect").click(); @@ -358,7 +367,7 @@ - + @@ -394,8 +403,21 @@ <%-- --%> - <%-- --%> - <%-- --%> + <%-- + + --%> + + + + + +   + + + + + <%-- --%> @@ -450,9 +472,9 @@ - + - + diff --git a/网站项目/VRS/Management/VSAT/ExamBatchResultDetail.aspx.cs b/网站项目/VRS/Management/VSAT/ExamBatchResultDetail.aspx.cs index b7becca..7dbc5a2 100644 --- a/网站项目/VRS/Management/VSAT/ExamBatchResultDetail.aspx.cs +++ b/网站项目/VRS/Management/VSAT/ExamBatchResultDetail.aspx.cs @@ -196,6 +196,12 @@ namespace VRS.Management.VSAT var theory_base_id = item.GetDataKeyValue("theory_base_id").ToString(); */ + var txt = e.Item.FindControl("option_name") as RadTextBox; + if (null != txt) + { + txt.Text = detail.score.ToString(); + } + var imgRight1 = e.Item.FindControl("imgRight1") as Image;//正确答案1 var imgRight2 = e.Item.FindControl("imgRight2") as Image;//正确答案2 var imgRight3 = e.Item.FindControl("imgRight3") as Image;//正确答案3 @@ -206,7 +212,7 @@ namespace VRS.Management.VSAT var query_right = string.Format(" theory_base_id ='{0}' and out_id='{1}' ", theory_base_id, "answer"); var list_right = bll_file.GetModelList(query_right).OrderBy(s => s.create_time).ToList(); - + for (int i = 0; i < list_right.Count; i++) { var obj = list_right[i]; @@ -218,7 +224,7 @@ namespace VRS.Management.VSAT continue; } } - catch(Exception ex) + catch (Exception ex) { continue; } @@ -238,7 +244,7 @@ namespace VRS.Management.VSAT var query_user = string.Format(" theory_base_id ='{0}' and out_id='{1}' ", theory_base_id, result_id); var user_list = bll_file.GetModelList(query_user).OrderBy(s => s.create_time).ToList(); - + for (int i = 0; i < user_list.Count; i++) { var obj = user_list[i]; @@ -270,5 +276,39 @@ namespace VRS.Management.VSAT } } } + + protected void btnSaveOneJianda_Click(object sender, EventArgs e) + { + var btn = sender as Button; + var cell = btn.Parent as GridTableCell; + var item = cell.Parent as GridDataItem; + RadTextBox txt = item.FindControl("option_name") as RadTextBox; + var theory_base_id = item.GetDataKeyValue("theory_base_id").ToString(); + var result_id = item.GetDataKeyValue("result_id").ToString(); + var id = item.GetDataKeyValue("id").ToString(); + var detail = bll_batch_result_detail.GetModel(id); + + var result = bll_batch_result.GetModel(result_id); + if (string.IsNullOrWhiteSpace(txt.Text)) + { + RadAjaxManager1.ResponseScripts.Add("alert('分值不能为空!');"); + return; + } + decimal crtScore = decimal.Parse(txt.Text); + if (crtScore > detail.total) + { + RadAjaxManager1.ResponseScripts.Add(string.Format("alert('分值不能大于{0}!');",detail.total)); + return; + } + decimal addScore = crtScore - detail.score; + + result.score = result.score + addScore; + if (bll_batch_result.Update(result)) + { + detail.score = crtScore; + bll_batch_result_detail.Update(detail); + DataLoad(); + } + } } } \ No newline at end of file diff --git a/网站项目/VRS/Management/VSAT/ExamTheory.aspx b/网站项目/VRS/Management/VSAT/ExamTheory.aspx index ceca369..2fcc7cb 100644 --- a/网站项目/VRS/Management/VSAT/ExamTheory.aspx +++ b/网站项目/VRS/Management/VSAT/ExamTheory.aspx @@ -43,8 +43,6 @@ oWnd.center(); } - - function OpenWindowDetail(Id) { var oWnd = radopen("Examination_Edit.aspx?Id=" + Id, "RadWindowManager1"); oWnd.setSize(980, 430); @@ -105,12 +103,56 @@ function refreshGrid(args, msg) { if (!args) { - $("#btnSelect").click(); } } + function allowOnlyNumbers(sender, eventArgs) { + var keyCode = eventArgs.get_keyCode(); // 获取按键代码 + //console.log(keyCode); + // 允许数字0-9 (48-57) 以及退格键(8) 、46小数点 + if ((keyCode < 48 || keyCode > 57) && keyCode != 8 && keyCode != 46) { + eventArgs.set_cancel(true); // 取消非数字按键输入 + } + } + + function calculateSum() { + var listBox = $find("RadListBoxDestination"); // 获取RadListBox客户端对象 + if (!listBox) { + console.error("RadListBox not found."); + return; + } + var items = listBox.get_items(); // 获取所有项 + var total = 0; + var count = 0; + for (var i = 0; i < items.get_count(); i++) { + var item = items.getItem(i); + // 在项中查找RadTextBox控件 + var textBox = item.findControl("option_name"); // 传入服务器端设置的ID + if (textBox) { + var value = textBox.get_value(); // 获取RadTextBox的值 + // 如果get_value()不适用,可以尝试get_text(),具体取决于RadTextBox的设置 + // var value = textBox.get_text(); + var num = parseFloat(value); + if (!isNaN(num)) { + total += num; + } + count++; + } + } + document.getElementById("span_name").innerHTML = "总题目:" + count + " 总分值:" + total; + } +
@@ -129,6 +171,7 @@ +
@@ -272,6 +315,7 @@ SelectionMode="Multiple" EnableDragAndDrop="true" AllowDelete="false" OnDeleted="RadListBoxDestination_Deleted" OnItemDataBound="RadListBoxDestination_ItemDataBound" AutoPostBackOnDelete="true" ButtonSettings-VerticalAlign="Top" ButtonSettings-HorizontalAlign="Center"> + <%-- --%> @@ -279,12 +323,16 @@
@@ -311,9 +359,17 @@ +
- + + +         + +   
- + + + +  分 + + + +
@@ -332,15 +388,9 @@ - - - - - - @@ -364,18 +414,25 @@ + + - + - + + + + + + + + - - diff --git a/网站项目/VRS/Management/VSAT/ExamTheory.aspx.cs b/网站项目/VRS/Management/VSAT/ExamTheory.aspx.cs index 17eabf3..2d90f23 100644 --- a/网站项目/VRS/Management/VSAT/ExamTheory.aspx.cs +++ b/网站项目/VRS/Management/VSAT/ExamTheory.aspx.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Configuration; using System.Data; using System.IO; using System.Linq; @@ -146,7 +147,7 @@ namespace VRS.Management.VSAT addItem.Attributes.Add("question_kind", question_kind); var per_score = row["per_score"].ToString(); - addItem.Text = per_score; + addItem.Text = BasePage.RemoveTrailingZeros(per_score); addItem.ToolTip = question; RadListBoxDestination.Items.Add(addItem); @@ -213,7 +214,18 @@ namespace VRS.Management.VSAT } } - protected void btnBatchDel_Click(object sender, EventArgs e) + protected void btnCheck_Click(object sender, EventArgs e) + { + var list_insert = new List(); + var valid = checkInsertItems(out string msg, list_insert); + if (!valid) + { + //RadAjaxManager1.Alert(msg); + return; + } + } + + protected void btnBatchDel_Click(object sender, EventArgs e) { var count = dataList.SelectedItems.Count; if (count <= 0) @@ -285,10 +297,11 @@ namespace VRS.Management.VSAT if (null != rad_item) { var score = txtBox.Text.Trim(); - decimal per_score = 0; + decimal per_score = -1; //decimal per_score = 0; if (decimal.TryParse(score, out per_score)) { - if (per_score > 0) + //if (per_score > 0) //$$$ + if (per_score >= 0) { rad_item.Text = txtBox.Text.Trim(); @@ -310,11 +323,34 @@ namespace VRS.Management.VSAT } /// - /// 批量删除题目 + /// 删除单个题目 /// /// /// - protected void btnBatchDeleteItem_Click(object sender, EventArgs e) + protected void btnDeleteOne_Click(object sender, EventArgs e) + { + var btn = sender as RadButton; + var rad_item = btn.Parent as RadListBoxItem; + if (null != rad_item) + { + RadListBoxDestination.Items.Remove(rad_item); + RadListBoxDestination.DataBind(); + + var dsc = Get_RadList_Score(); + Label lb = RadListBoxDestination.Header.FindControl("lb_score_header") as Label; + lb.Text = dsc; + span_name.InnerHtml = dsc; + + SaveAll(); + } + } + + /// + /// 批量删除题目 + /// + /// + /// + protected void btnBatchDeleteItem_Click(object sender, EventArgs e) { var remove = false; for (int i = RadListBoxDestination.Items.Count - 1; i >= 0; i--) @@ -338,6 +374,32 @@ namespace VRS.Management.VSAT Label lb = RadListBoxDestination.Header.FindControl("lb_score_header") as Label; lb.Text = dsc; span_name.InnerHtml = dsc; + + SaveAll(); + } + } + + /// + /// 批量选择题目 + /// + /// + /// + protected void btnBatchSelectAll_Click(object sender, EventArgs e) + { + var remove = false; + for (int i = RadListBoxDestination.Items.Count - 1; i >= 0; i--) + { + var item = RadListBoxDestination.Items[i]; + var chk = item.FindControl("chk_item") as CheckBox; + if (null != chk) + { + //if (chk.Checked) + //{ + // RadListBoxDestination.Items.Remove(item); + // remove = true; + //} + chk.Checked = true; + } } } @@ -356,9 +418,14 @@ namespace VRS.Management.VSAT if (updateUI) { + var jd=ConfigurationManager.AppSettings["jd"]; + if (lb_question_kind.Text == "简答题") { - box.Enabled = false; + if (jd != "1") + { + box.Enabled = false; + } } else { @@ -441,9 +508,9 @@ namespace VRS.Management.VSAT { if (lb_question_kind.Text != "简答题") { - if (per_score <= 0) + if (per_score < 0) { - msg = dsc + ", 分值应大于0"; + msg = dsc + ", 分值应不小于0"; return false; } } @@ -496,20 +563,22 @@ namespace VRS.Management.VSAT return true; } - /// - /// 批量保存题目---保存所有 - /// - /// - /// - protected void btnBatchSaveItem_Click(object sender, EventArgs e) + public void SaveAll( bool tip = false) { + #region 校验分值 + var list_insert = new List(); var valid = checkInsertItems(out string msg, list_insert); - if (!valid) - { - RadAjaxManager1.Alert(msg); - return; - } + + #region 100分值提示 $$$$ + //if (!valid) + //{ + // RadAjaxManager1.Alert(msg); + // return; + //} + #endregion + + #endregion //设置no var list1 = list_insert.Where(s => s.question_difficult == "0").ToList(); @@ -518,7 +587,7 @@ namespace VRS.Management.VSAT var list4 = list_insert.Where(s => s.question_difficult == "3").ToList(); var list5 = list_insert.Where(s => s.question_difficult == "4").ToList(); - for (int i=0;i 0) { //RadAjaxManager1.ResponseScripts.Add("alert('保存成功!');CloseAndRebind();"); - RadAjaxManager1.ResponseScripts.Add("alert('保存成功!');"); + if (tip) + { + RadAjaxManager1.ResponseScripts.Add("alert('保存成功!');"); + } DataLoad(); } } + /// + /// 批量保存题目---保存所有 + /// + /// + /// + protected void btnBatchSaveItem_Click(object sender, EventArgs e) + { + SaveAll(true); + } + + + /// + /// 计算分值 + /// + /// + /// + protected void btnBatchComputeItem_Click(object sender, EventArgs e) + { + var list_insert = new List(); + var valid = checkInsertItems(out string msg, list_insert); + //if (!valid) + //{ + // RadAjaxManager1.Alert(msg); + // return; + //} + } + protected void RadListBoxDestination_ItemDataBound(object sender, RadListBoxItemEventArgs e) { var DataItem = e.Item.DataItem; diff --git a/网站项目/VRS/Management/VSAT/ExamTheory.aspx.designer.cs b/网站项目/VRS/Management/VSAT/ExamTheory.aspx.designer.cs index 334c27d..6cf9bc6 100644 --- a/网站项目/VRS/Management/VSAT/ExamTheory.aspx.designer.cs +++ b/网站项目/VRS/Management/VSAT/ExamTheory.aspx.designer.cs @@ -68,6 +68,15 @@ namespace VRS.Management.VSAT /// protected global::System.Web.UI.WebControls.Button btnSelect; + /// + /// btnCheck 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Button btnCheck; + /// /// txt_exam_name 控件。 /// diff --git a/网站项目/VRS/Management/VSAT/ExamTheoryBase.aspx b/网站项目/VRS/Management/VSAT/ExamTheoryBase.aspx index dcd5590..9ad476e 100644 --- a/网站项目/VRS/Management/VSAT/ExamTheoryBase.aspx +++ b/网站项目/VRS/Management/VSAT/ExamTheoryBase.aspx @@ -112,7 +112,7 @@
diff --git a/网站项目/VRS/Management/VSAT/ExamTheory_BatchScore.aspx b/网站项目/VRS/Management/VSAT/ExamTheory_BatchScore.aspx index ba94834..6099031 100644 --- a/网站项目/VRS/Management/VSAT/ExamTheory_BatchScore.aspx +++ b/网站项目/VRS/Management/VSAT/ExamTheory_BatchScore.aspx @@ -19,6 +19,9 @@ GetRadWindow().Close(); GetRadWindow().BrowserWindow.refreshGrid(args); } + function Rebind(args) { + GetRadWindow().BrowserWindow.refreshGrid(args); + } function GetRadWindow() { var oWindow = null; if (window.radWindow) oWindow = window.radWindow; //Will work in Moz in all cases, including clasic dialog @@ -55,11 +58,65 @@ CloseRadWindow(); } //]]> + + function allowOnlyNumbers(sender, eventArgs) { + var keyCode = eventArgs.get_keyCode(); // 获取按键代码 + //console.log(keyCode); + // 允许数字0-9 (48-57) 以及退格键(8) 、46小数点 + if ((keyCode < 48 || keyCode > 57) && keyCode != 8 && keyCode != 46) { + eventArgs.set_cancel(true); // 取消非数字按键输入 + } + } + + function calculateSum() { + var grid = $find("<%= dataList.ClientID %>"); // 获取RadGrid客户端对象 + if (!grid) { + console.log("RadGrid not found."); + return; + } + //console.log(grid); + var masterTable = grid.get_masterTableView(); // 获取主表视图 + var dataItems = masterTable.get_dataItems(); // 获取所有数据行 + var totalSum = 0; + // 遍历每一行 + for (var i = 0; i < dataItems.length; i++) { + var currentRow = dataItems[i]; + var dataKeyValue = currentRow.getDataKeyValue("theory_count"); + var numericCount = parseFloat(dataKeyValue); + + // 方法1:通过控件ID查找 (适用于Telerik控件) + var targetTextBox = currentRow.findControl("option_name"); // 替换为你的TextBox唯一ID YourTextBoxUniqueName + if (targetTextBox) { + var currentValue = targetTextBox.get_value(); // 获取Telerik文本框的值 + console.log("currentValue:" + currentValue + ",numericCount:" + numericCount); + // 如果 get_value() 不适用,可以尝试 .get_text() 或直接 .value + // var currentValue = targetTextBox.get_text(); + // var currentValue = targetTextBox.value; + // 将值转换为数字并累加 + var numericValue = parseFloat(currentValue) || 0; + totalSum += numericValue * numericCount; + } + // 方法2:如果TextBox是标准HTML输入框,可通过DOM查找 (需知客户端ID结构) + // var textBoxElement = currentRow.findElement("YourTextBoxClientID"); + // if (textBoxElement) { + // var currentValue = textBoxElement.value; + // var numericValue = parseFloat(currentValue) || 0; + // totalSum += numericValue; + // } + } + // 显示或使用计算结果 + console.log("Total Sum: " + totalSum); + document.getElementById("span_name").innerHTML = "总分:"+totalSum; + // alert("所有行的文本框值总和为: " + totalSum); + // 你也可以将结果显示在页面的某个标签或文本框中 + // document.getElementById("resultLabel").innerText = totalSum; + } +
- + @@ -84,7 +141,9 @@ - + @@ -97,7 +156,7 @@ - + @@ -114,9 +173,15 @@ - - + + + + + + + @@ -142,8 +207,8 @@ - + diff --git a/网站项目/VRS/Util/BasePage.cs b/网站项目/VRS/Util/BasePage.cs index 6853021..18496ca 100644 --- a/网站项目/VRS/Util/BasePage.cs +++ b/网站项目/VRS/Util/BasePage.cs @@ -1087,7 +1087,23 @@ namespace VRS return "hidden"; } - + public static string RemoveTrailingZeros(string numberString) + { + if (string.IsNullOrEmpty(numberString)) + return numberString; + + // 如果包含小数点,去除末尾的零和小数点 + if (numberString.Contains('.')) + { + numberString = numberString.TrimEnd('0'); + if (numberString.EndsWith(".")) + numberString = numberString.TrimEnd('.'); + } + + return numberString; + } + + /// /// 写日志 diff --git a/网站项目/VRS/Util/Logs.aspx b/网站项目/VRS/Util/Logs.aspx index 434e8b2..d323226 100644 --- a/网站项目/VRS/Util/Logs.aspx +++ b/网站项目/VRS/Util/Logs.aspx @@ -26,6 +26,13 @@ $("#btnSelect").click(); } } + + function OnDataDelete(Id) { + if (confirm("确定删除数据吗?")) { + $("#IdInput").val(Id); + $("#btnDelete").click(); + } + } @@ -38,7 +45,8 @@
设置分数: 设置分数: + +
-      - +      +
- + <%----%> + 中英文切换配置:
*是否启用中英文切换:*是否启用中英文切换:单端登录最长时长(分钟):  是     @@ -148,9 +148,9 @@  同一用户单端登陆  -     单端登录最长时长(分钟): +     最长无操作时间(分钟) + ControlToValidate="user_stay_minutes" Visible="true" ErrorMessage="不能为空!">
@@ -148,6 +156,12 @@ + <%-- + + + ')" class="btn btn-danger btn-xs "> + + --%> diff --git a/网站项目/VRS/Util/Logs.aspx.cs b/网站项目/VRS/Util/Logs.aspx.cs index 6acc990..3c1fae0 100644 --- a/网站项目/VRS/Util/Logs.aspx.cs +++ b/网站项目/VRS/Util/Logs.aspx.cs @@ -55,8 +55,28 @@ namespace VRS.Util } } + protected void btnDelete_Click(object sender, EventArgs e) + { + var model = bll.GetModel(IdInput.Value); + //直接删除 + if (bll.Delete(IdInput.Value)) + { + #region 删除登录日志 + DataService.BLL.admin_user bll_user = new DataService.BLL.admin_user(); + var userModel = bll_user.GetModel(model.user_id); + if (null != userModel) + { + userModel.id_card = ""; + userModel.login_time = null; + bll_user.Update(userModel); + } + #endregion + } + MyDataBind(true); + } + + - protected override void DataLoad() { if (!start.SelectedDate.HasValue) diff --git a/网站项目/VRS/Util/Logs.aspx.designer.cs b/网站项目/VRS/Util/Logs.aspx.designer.cs index e887e00..a2c9baa 100644 --- a/网站项目/VRS/Util/Logs.aspx.designer.cs +++ b/网站项目/VRS/Util/Logs.aspx.designer.cs @@ -41,6 +41,15 @@ namespace VRS.Util /// protected global::System.Web.UI.WebControls.HiddenField IdInput; + /// + /// btnDelete 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Button btnDelete; + /// /// content 控件。 /// diff --git a/网站项目/VRS/VRS.csproj b/网站项目/VRS/VRS.csproj index 2fbf966..284724b 100644 --- a/网站项目/VRS/VRS.csproj +++ b/网站项目/VRS/VRS.csproj @@ -150,6 +150,10 @@ + + + + @@ -465,6 +469,7 @@ + diff --git a/网站项目/VRS/Web.config b/网站项目/VRS/Web.config index 8e27af8..66f0200 100644 --- a/网站项目/VRS/Web.config +++ b/网站项目/VRS/Web.config @@ -25,6 +25,9 @@ + + + diff --git a/网站项目/doc/剩余.txt b/网站项目/doc/剩余.txt index 008c8a6..9fa717e 100644 --- a/网站项目/doc/剩余.txt +++ b/网站项目/doc/剩余.txt @@ -34,4 +34,10 @@ tcp://192.168.254.110:1883,th_project/th_wg1,/ali/thtenant/thtenarproject/downst 炭黑生产制造接口增加设备连线图片上传,三维一道协助调试云端设备及测点名称接口 +RadTextBox 校验 + +Repair +Repair_Add +Repair_Edit +