From 86bff894bddcd601b3704d6032e08361ec594ef8 Mon Sep 17 00:00:00 2001 From: liangkun Date: Tue, 25 Aug 2020 17:17:43 +0800 Subject: [PATCH 01/16] AdminDefaultForDC --- .../Learun.Application.Web/Controllers/HomeController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/HomeController.cs b/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/HomeController.cs index 1ef696906..15106427e 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/HomeController.cs +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/HomeController.cs @@ -447,7 +447,7 @@ namespace Learun.Application.Web.Controllers switch (learn_UItheme) { case "1": - return View("AdminDefault"); // 经典版本 + return View("AdminDefaultForDC"); // 经典版本 case "2": return View("AdminAccordion"); // 风尚版 case "3": From e9c61544e48fc69e4b010c68beb44d148620d204 Mon Sep 17 00:00:00 2001 From: liangkun Date: Tue, 25 Aug 2020 17:26:43 +0800 Subject: [PATCH 02/16] AdminDefaultForDC.cshtml --- .../Learun.Application.Web/Views/Home/AdminDefaultForDC.cshtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDefaultForDC.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDefaultForDC.cshtml index d00bdda21..166bc184b 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDefaultForDC.cshtml +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDefaultForDC.cshtml @@ -1,6 +1,6 @@ @{ ViewBag.Title = "经典版风格"; - Layout = "~/Views/Shared/_Admin.cshtml"; + Layout = "~/Views/Shared/_AdminForDC.cshtml.cshtml"; } @Html.AppendCssFile("/Views/Home/AdminDefault/index.css") @@ -75,12 +75,12 @@ "/Views/LR_Content/plugin/tree/lr-tree.js", "/Views/LR_Content/plugin/select/lr-select.js", - + "/Views/LR_Content/plugin/workflow/lr-workflow-api.js", "/Views/LR_Content/plugin/contextmenu/lr-contextmenu.js", "/Views/LR_Content/script/lr-im.js", - + "/Views/LR_Content/script/lr-admin.js" ) diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/UserCenter/Index.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/UserCenter/Index.cshtml index 9f1ba9e88..0604b69c8 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/UserCenter/Index.cshtml +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/UserCenter/Index.cshtml @@ -17,7 +17,7 @@ @@ -396,41 +395,39 @@
  • 民 族 : {{teacherInfo.NationalityNo | nationalityNo}}
  • 政治面貌 : {{teacherInfo.PartyFaceNo | partyFaceNo}}
  • 身份证号 : {{teacherInfo.IdentityCardNo}}
  • -
  • E-mail : {{teacherInfo.EMail}}
  • +
  • 健康状况 : {{teacherInfo.HealthStatusNo | healthStatusNo}}
  • 档案所在地 : {{teacherInfo.LocusOfArchives}}
  • 户口所在地 : {{teacherInfo.LocusOfResidence}}
  • -
    家庭情况
    +
    学历学位信息
      -
    • 港澳台侨 : {{teacherInfo.OverseasChineseNo | overseasChineseNo}}
    • -
    • 健康状况 : {{teacherInfo.HealthStatusNo | healthStatusNo}}
    • -
    • 家庭出身 : {{teacherInfo.FamilyOriginNo | familyOriginNo}}
    • -
    • 外语语种 : {{teacherInfo.ForeignLanguageNo | foreignLanguageNo}}
    • -
    • 户籍省份 : {{teacherInfo.ProvinceNo | provinceNo}}
    • -
    • 户籍地市 : {{teacherInfo.CityNo | cityNo}}
    • -
    • 户籍县区 : {{teacherInfo.RegionNo | regionNo}}
    • +
    • 最高学历 : {{teacherInfo.HighestRecord | HighestRecordNo}}
    • +
    • 获取方式 : {{teacherInfo.ObtainWayOfHighestRecord | ObtainWayNo}}
    • +
    • 取得时间 : {{teacherInfo.HighestRecordGetTime}}
    • +
    • 最高学位 : {{teacherInfo.DegreeNo | degreeNo}}
    • +
    • 获取方式 : {{teacherInfo.ObtainWayOfHighestDegree | ObtainWayOfHighestDegreeNo}}
    • +
    • 取得时间 : {{teacherInfo.HighestDegreeGetTime}}
    -
    其他
    +
    其他信息
      -
    • 学科门 : {{teacherInfo.SubjectSpeciesNo | subjectSpeciesNo}}
    • -
    • 现任职务: {{teacherInfo.Title}}
    • -
    • 所在系部 : {{teacherInfo.DeptNo | deptNo}}
    • -
    • 文化程度 : {{teacherInfo.CultureDegreeNo | cultureDegreeNo}}
    • 毕业学校 : {{teacherInfo.GraduateSchoolName}}
    • -
    • 最高学位 : {{teacherInfo.DegreeNo | degreeNo}}
    • -
    • 来校年月 : {{teacherInfo.InSchoolDate | date}}
    • +
    • 毕业时间 : {{teacherInfo.GraduateDate1}}
    • +
    • 是否代课 : {{teacherInfo.IsHasLesson | IsHasLessonNo}}
    • +
    • 文化程度 : {{teacherInfo.CultureDegreeNo | cultureDegreeNo}}
    • +
    • 现任职务: {{teacherInfo.Title}}
    联系方式
      +
    • 手机号码 : {{teacherInfo.mobile}}
    • 紧急联系人 : {{teacherInfo.Linkman}}
    • 紧急联系人电话 : {{teacherInfo.PhoneOfLinkman}}
    @@ -452,8 +449,6 @@ $.get('/UserCenter/GetTeacherInfo', function (ref) { this.teacherInfo = ref.data.userInfo; this.baseInfo = ref.data.basecInfo; - console.log(ref); - }.bind(this), "json"); }, getUrl: function () { @@ -485,6 +480,19 @@ }); return result; }, + department: function (value) { + var result; + top.learun.clientdata.getAsync('custmerData', { + sync: true, + url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'classdata', + key: value, + keyId: 'f_departmentid', + callback: function (_data) { + result = _data.f_fullname; + } + }); + return result; + }, nationalityNo: function (value) { var result; top.learun.clientdata.getAsync('custmerData', { @@ -511,15 +519,15 @@ }); return result; }, - overseasChineseNo: function (value) { + HighestRecordNo: function (value) { var result; top.learun.clientdata.getAsync('custmerData', { sync: true, - url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'BCdOverseasChinese', + url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'BCdCultureDegree', key: value, - keyId: 'overseaschineseno', + keyId: 'culturedegreeno', callback: function (_data) { - result = _data.overseaschinesename; + result = _data.culturedegree; } }); @@ -575,15 +583,14 @@ }); return result; }, - foreignLanguageNo: function (value) { + ObtainWayNo: function (value) { var result; - top.learun.clientdata.getAsync('custmerData', { - url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'BCdForeignLanguage', + top.learun.clientdata.getAsync('dataItem', { key: value, - keyId: 'foreignlanguageno', + code: 'ObtainWay', callback: function (_data) { - result = _data.foreignlanguagename; - }.bind(this) + result = _data.text; + } }); return result; }, @@ -652,6 +659,17 @@ }); return result; }, + ObtainWayOfHighestDegreeNo: function (value) { + var result; + top.learun.clientdata.getAsync('dataItem', { + key: value, + code: 'ObtainWayOfDegree', + callback: function (_data) { + result = _data.text; + } + }); + return result; + }, empSortNo: function (value) { var result; top.learun.clientdata.getAsync('dataItem', { @@ -675,6 +693,17 @@ } }); return result; + }, + IsHasLessonNo: function (value) { + var result; + top.learun.clientdata.getAsync('dataItem', { + key: value, + code: 'YesOrNoBit', + callback: function (_data) { + result = _data.text; + } + }); + return result; } } @@ -756,7 +785,7 @@ $(function () { var loginInfo = top.learun.clientdata.get(['userinfo']); - $("#headUrl").attr("src", "/LR_OrganizationModule/User/GetImg?userId=" + loginInfo.userId); + $("#headUrl").attr("src", "/LR_OrganizationModule/User/GetImgForDC?userId=" + loginInfo.userId); if ('@ViewBag.UserType' == '学生') { $("#lr_left_list").children('li').eq(4).addClass("active"); @@ -796,4 +825,4 @@ } }); -@Html.AppendJsFile("/Views/UserCenter/Index.js") \ No newline at end of file +@Html.AppendJsFile("/Views/UserCenter/IndexForDC.js") \ No newline at end of file diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/UserCenter/Index.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/UserCenter/Index.js index ee13c3ed4..520ec786f 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/UserCenter/Index.js +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/UserCenter/Index.js @@ -69,6 +69,8 @@ var bootstrap = function ($, learun) { learun.alert.error('数据加载失败'); } }.bind(this)); + + //console.log("成功"); } }; refreshGirdData = function () { From 1282f69a044206de2abed9cec0a042a29a48c5d3 Mon Sep 17 00:00:00 2001 From: zhichao lei <442149704@qq.com> Date: Tue, 25 Aug 2020 17:49:12 +0800 Subject: [PATCH 04/16] 2 --- .../Learun.Application.Web/XmlConfig/system.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/system.config b/Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/system.config index f81315bdc..8e4b99290 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/system.config +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/system.config @@ -140,5 +140,5 @@ - + \ No newline at end of file From ac2a2262cb40f1e3e94a431bce0058d6a03bc562 Mon Sep 17 00:00:00 2001 From: zhichao lei <442149704@qq.com> Date: Tue, 25 Aug 2020 17:50:54 +0800 Subject: [PATCH 05/16] 2 --- .../Learun.Application.Web/XmlConfig/system.config | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/system.config b/Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/system.config index 76e99ce3b..b87168c44 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/system.config +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/system.config @@ -138,7 +138,6 @@ - + - \ No newline at end of file From aa086b291b23a8befa6abd43e951640d6416f326 Mon Sep 17 00:00:00 2001 From: liangkun Date: Wed, 9 Sep 2020 16:00:27 +0800 Subject: [PATCH 06/16] =?UTF-8?q?=E5=A4=A7=E5=8E=82=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E5=A4=A9=E6=B0=94=E9=A2=84=E6=8A=A5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Learun.Application.Web/Views/Home/AdminDefault.cshtml | 4 ++-- .../Properties/PublishProfiles/FolderProfile1.pubxml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDefault.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDefault.cshtml index 9b653dd94..43ad6d5d3 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDefault.cshtml +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDefault.cshtml @@ -16,7 +16,7 @@ 经典风格
    - +
    @@ -28,7 +28,7 @@ @**@ -
    +*@
    - + @if (ViewBag.UnreadNum > 0) From 5347287cd411eaab5947d1d89c8f564d2b96ebd3 Mon Sep 17 00:00:00 2001 From: dyy <18335927079@163.com> Date: Thu, 17 Sep 2020 17:19:57 +0800 Subject: [PATCH 08/16] 1 --- .../Microsoft.Build.Tasks.CodeAnalysis.dll | Bin 0 -> 111536 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Learun.Framework.Ultimate V7/packages/Microsoft.Net.Compilers.2.1.0/tools/Microsoft.Build.Tasks.CodeAnalysis.dll diff --git a/Learun.Framework.Ultimate V7/packages/Microsoft.Net.Compilers.2.1.0/tools/Microsoft.Build.Tasks.CodeAnalysis.dll b/Learun.Framework.Ultimate V7/packages/Microsoft.Net.Compilers.2.1.0/tools/Microsoft.Build.Tasks.CodeAnalysis.dll new file mode 100644 index 0000000000000000000000000000000000000000..381fc94a34e5b03f1d51d0d95657384883886013 GIT binary patch literal 111536 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 literal 0 HcmV?d00001 From 2dbfa1619b8f6dea2e4aa8e9723f20b741101538 Mon Sep 17 00:00:00 2001 From: liangkun Date: Mon, 8 Nov 2021 16:11:21 +0800 Subject: [PATCH 09/16] =?UTF-8?q?webapi=20=E6=B5=8B=E8=AF=95sql=E6=B3=A8?= =?UTF-8?q?=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Learun.Application.WebApi/Modules/BaseApi.cs | 11 +++++++++++ .../Learun.Util/Learun.Util/Web/WebHelper.cs | 2 ++ 2 files changed, 13 insertions(+) diff --git a/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/BaseApi.cs b/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/BaseApi.cs index 79f18c5e3..8b543320f 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/BaseApi.cs +++ b/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/BaseApi.cs @@ -175,6 +175,17 @@ namespace Learun.Application.WebApi /// private Response BeforeRequest(NancyContext ctx) { + ctx.Request.Url.Query = Learun.Util.WebHelper.Formatstr(ctx.Request.Url.Query); + foreach (var p in ctx.Parameters) + { + if (p.ParameterType == typeof(string)) + { + if (ctx.Parameters[p.ParameterName] != null) + { + ctx.Parameters[p.ParameterName] = Learun.Util.WebHelper.Formatstr(ctx.Parameters[p.ParameterName].ToString()); + } + } + } string path = ctx.ResolvedRoute.Description.Path; //验证登录状态 ReqParameter req = this.Bind(); diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Util/Learun.Util/Web/WebHelper.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Util/Learun.Util/Web/WebHelper.cs index a05421892..68ae49dd7 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Util/Learun.Util/Web/WebHelper.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Util/Learun.Util/Web/WebHelper.cs @@ -345,6 +345,7 @@ namespace Learun.Util System.Text.RegularExpressions.Regex regex10 = new System.Text.RegularExpressions.Regex(@"select", System.Text.RegularExpressions.RegexOptions.IgnoreCase); System.Text.RegularExpressions.Regex regex11 = new System.Text.RegularExpressions.Regex(@"update", System.Text.RegularExpressions.RegexOptions.IgnoreCase); System.Text.RegularExpressions.Regex regex12 = new System.Text.RegularExpressions.Regex(@"delete", System.Text.RegularExpressions.RegexOptions.IgnoreCase); + System.Text.RegularExpressions.Regex regex13 = new System.Text.RegularExpressions.Regex(@"exec", System.Text.RegularExpressions.RegexOptions.IgnoreCase); html = regex1.Replace(html, ""); //过滤标记 html = regex2.Replace(html, ""); //过滤href=javascript: () 属性 html = regex3.Replace(html, " _disibledevent="); //过滤其它控件的on...事件 @@ -352,6 +353,7 @@ namespace Learun.Util html = regex10.Replace(html, "s_elect"); html = regex11.Replace(html, "u_pudate"); html = regex12.Replace(html, "d_elete"); + html = regex13.Replace(html, "e_xec"); html = html.Replace("'", "’"); html = html.Replace(" ", " "); return html; From 247e054af6f29fd8ba029355c9a0c35f7f7aa4aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=99=93=E7=90=AA?= Date: Tue, 13 Sep 2022 09:53:53 +0800 Subject: [PATCH 10/16] =?UTF-8?q?app2.0=20=E6=95=99=E5=B8=88=E6=89=93?= =?UTF-8?q?=E5=BC=80=E7=AD=BE=E5=88=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../customlist-sidepage-datefilter.vue | 4 +-- .../LearunApp-2.2.0/config.js | 6 +++-- .../LearunApp-2.2.0/manifest.json | 11 ++++++++ .../LearunApp-2.2.0/pages/ADRRecord/list.vue | 11 ++++---- .../pages/AttendanceCard/list.vue | 27 ++++++++++--------- 5 files changed, 38 insertions(+), 21 deletions(-) diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/components/learun-app/customlist-sidepage-datefilter.vue b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/components/learun-app/customlist-sidepage-datefilter.vue index d32ec0eba..86231177d 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/components/learun-app/customlist-sidepage-datefilter.vue +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/components/learun-app/customlist-sidepage-datefilter.vue @@ -114,7 +114,7 @@ export default { } else if (type === 'today') { const e = { start: moment() - .subtract(1, 'day') + .subtract(0, 'day') .format('YYYY-MM-DD 00:00:00'), end: todayEnd } @@ -123,7 +123,7 @@ export default { } else if (type === '7d') { const e = { start: moment() - .subtract(7, 'days') + .subtract(6, 'days') .format('YYYY-MM-DD 00:00:00'), end: todayEnd } diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/config.js b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/config.js index 739d0a7ea..eb139bfbc 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/config.js +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/config.js @@ -16,11 +16,13 @@ export default { // "http://localhost:8088/" // ], "apiHost": [ - "http://192.168.10.32:8011/" + "http://192.168.10.31:8032/" + // "/api/", ], + "webHost":"http://192.168.10.31:8031/", // 开发环境下自动填充登录账号密码,与接口地址一一对应,只在开发环境下显示 "devAccount": [ - { username: "2021230206", password: "www.qj.com" } + { username: "system", password: "www.qj.com" } ], //是否分布式部署 指WebApi与Web不在一台服务器 "isDistributed":true, diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/manifest.json b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/manifest.json index 29bada559..8bdf573a0 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/manifest.json +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/manifest.json @@ -165,6 +165,17 @@ } }, "h5" : { + // "devServer": { + // "proxy" : { + // "/api" : { + // "target" : "http://192.168.10.58:8011/", //自己项目接口域名 + // "changeOrigin" : true, //是否跨域 + // // "secure" : true, // 设置支持https协议的代理 + // "pathRewrite": {"^/api":""} //api路径重定向,根据具体情况调整,也可不写 + // } + // } + // }, + "uniStatistics" : { "enable" : false }, diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/ADRRecord/list.vue b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/ADRRecord/list.vue index 810e39b77..e8fb783d6 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/ADRRecord/list.vue +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/ADRRecord/list.vue @@ -3,6 +3,7 @@ + {{ tips }} @@ -164,7 +165,7 @@ export default { }, // 拉取列表 - async fetchList() { + async fetchList(isConcat=true) { if (this.page > this.total) { return } let userInfo = this.GET_GLOBAL('loginUser'); @@ -185,19 +186,19 @@ export default { this.total = result.total this.page = result.page + 1 - this.list = this.list.concat(result.rows) + this.list = isConcat?this.list.concat(result.rows):result.rows this.tips = `已加载 ${Math.min(result.page, result.total)} / ${result.total} 页,共 ${result.records} 项` this.loadState = result.page >= result.total ? '已加载所有项目' : '向下翻以加载更多' }, // 刷新清空列表 - async refreshList() { + async refreshList(isConcat=true) { this.page = 1 this.total = 2 this.list = [] - await this.fetchList() + await this.fetchList(isConcat) }, // 列表下拉 @@ -222,7 +223,7 @@ export default { Object.assign(result, mapValues(queryObj, t => (Array.isArray(t) ? t.join(',') : t))) this.searchData = result - await this.refreshList() + await this.refreshList(false) }, // 点击「清空查询条件」按钮 diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/AttendanceCard/list.vue b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/AttendanceCard/list.vue index 3532cab08..e1d6f00c1 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/AttendanceCard/list.vue +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/AttendanceCard/list.vue @@ -3,9 +3,9 @@ {{now}} -
    + -
    +
    @@ -26,7 +26,7 @@ */ /** - * 本段代码由移动端代码生成器输出,移动端须 2.2.0 版本及以上可以使用 + * 本段代码由移动端代码生成器输出,移动端须 2.2.0 版本及以上可以使用 * 请在移动端 /pages.json 中的 pages 字段中添加一条记录: * { "path": "pages/AttendanceCard/list", "style": { "navigationBarTitleText": "考勤打卡" } } * @@ -52,7 +52,7 @@ export default { now: null, imgsrc:dk, ready: false, - + timer:'', } }, @@ -66,7 +66,7 @@ export default { this.LOADING('加载数据中...') this.now = this.getCurrentTime() - setInterval(this.getCurrentTime,1000) + this.timer = setInterval(this.getCurrentTime,1000) await this.judgeIsDK() @@ -78,17 +78,18 @@ export default { async action(type) { switch (type) { case 'dk': - if(this.imgsrc == "dkred"){ + if(this.imgsrc == dkred){ return } - - this.HTTP_POST('learun/adms/attendance/clockin', {}, '打卡失败').then(success => { + this.LOADING() + this.HTTP_POST('learun/adms/attendance/clockin', {}, '打卡失败').then(success => { + this.HIDE_LOADING() if(!success) { this.TOAST('打卡失败') return } this.TOAST('打卡成功','success') - setTimeout(this.back,1000) + setTimeout(this.back,500) }) return @@ -122,9 +123,11 @@ export default {   let mf = nowDate.getMinutes()<10 ? '0'+nowDate.getMinutes() : nowDate.getMinutes();   let ss = nowDate.getSeconds()<10 ? '0'+nowDate.getSeconds() : nowDate.getSeconds();   this.now = hh+':'+mf+':'+ss; - } - - } + }, + }, + destroyed() { + clearInterval(this.timer) + } } From 21da0ed4dbcaa85308ce7f4d26fa740c9621f61f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=99=93=E7=90=AA?= Date: Tue, 13 Sep 2022 15:43:17 +0800 Subject: [PATCH 11/16] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LearunApp-2.2.0/common/customform.js | 2 +- Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/mixins.js | 4 ++-- Learun.Framework.Ultimate V7/LearunApp-2.2.0/config.js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/customform.js b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/customform.js index 3c1394e52..00ff97045 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/customform.js +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/customform.js @@ -211,7 +211,7 @@ export default { const fileType = fileInfo.F_FileType const fileSize = fileInfo.F_FileSize - const path = this.API + '/annexes/wxdown?' + this.URL_QUERY(uid, true) + const path = this.API + 'learun/adms/annexes/wxdown?' + this.URL_QUERY(uid, true) fileList.push({ path, type: fileType, uid, size: fileSize }) } diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/mixins.js b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/mixins.js index b64043ab0..839bb08af 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/mixins.js +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/mixins.js @@ -259,7 +259,7 @@ export default { // filePath 为临时文件的路径 // formData 为请求附带的提交数据 async HTTP_UPLOAD(filePath, formData) { - const [err, res] = await this.UPLOAD('/annexes/wxupload', filePath, formData) + const [err, res] = await this.UPLOAD('learun/adms/annexes/wxupload', filePath, formData) return this.handleResult(err, res) }, @@ -270,7 +270,7 @@ export default { // url 为请求地址 // formData 为请求附带的提交数据 async HTTP_DOWNLOAD(formData) { - const [err, res] = await this.DOWNLOAD('/annexes/wxdown', formData) + const [err, res] = await this.DOWNLOAD('learun/adms/annexes/wxdown', formData) return this.handleResult(err, res) }, diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/config.js b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/config.js index eb139bfbc..7eeefd652 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/config.js +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/config.js @@ -16,7 +16,7 @@ export default { // "http://localhost:8088/" // ], "apiHost": [ - "http://192.168.10.31:8032/" + "http://192.168.10.58:8011/" // "/api/", ], "webHost":"http://192.168.10.31:8031/", From e5906e55d040eec7992b638d8d38166cbe1db828 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=99=93=E7=90=AA?= Date: Tue, 13 Sep 2022 18:37:37 +0800 Subject: [PATCH 12/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=20=E5=8C=BA=E5=88=86=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E9=9D=9E=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LearunApp-2.2.0/common/customform.js | 8 +++++- .../LearunApp-2.2.0/common/custompage.js | 1 - .../components/learun-app/upload-file.vue | 28 ++++++++++--------- .../pages/nworkflow/workflow.js | 1 + 4 files changed, 23 insertions(+), 15 deletions(-) diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/customform.js b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/customform.js index 00ff97045..b745897a2 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/customform.js +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/customform.js @@ -273,8 +273,14 @@ export default { return val ? moment(val).format('YYYY-MM-DD HH:mm:ss') : '' case 'upload': + const valArray = val.map(item=>{ + return { + uid:item.uid, + path:item.path===undefined?item:item.path + } + }) const uploadUid = [] - for (const { path, uid } of val) { + for (const { path, uid } of valArray) { if (uid) { uploadUid.push(uid) continue diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/custompage.js b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/custompage.js index a580fd751..c8dd3e2ca 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/custompage.js +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/custompage.js @@ -197,7 +197,6 @@ export default { uploadUid.push(entity.uid) continue } else { - const fileId = await this.HTTP_UPLOAD(entity) if (fileId) { uploadUid.push(fileId) diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/components/learun-app/upload-file.vue b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/components/learun-app/upload-file.vue index 969f835be..072194ad9 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/components/learun-app/upload-file.vue +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/components/learun-app/upload-file.vue @@ -11,13 +11,13 @@ - + @@ -51,16 +51,16 @@ export default { getFileExt(path) { return /\.(\w{2,5})$/.exec(path)[1] || null }, - - isImgFile(type) { - const typeString = (type || '').toLowerCase() - //return ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp', 'image'].includes(typeString) - return true; + + isImgFile(file) { + const typeString = (file.type || '').toLowerCase() + return ['jpg','image/jpg','jpeg','image/jpeg', 'png', 'image/png','gif', 'image/gif','bmp', 'image/bmp','webp', 'image/webp','image'].includes(typeString) }, - isDocFile(type) { - const typeString = (type || '').toLowerCase() + isDocFile(file) { + const typeString = (file.type || '').toLowerCase() return ['doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'pdf'].includes(typeString) + return true }, delFile(index) { @@ -93,9 +93,11 @@ export default { count: Number(this.number), sizeType: ['original', 'compressed'], sourceType: ['album', 'camera'], - success: ({ tempFilePaths }) => { + success: ({ tempFilePaths,tempFiles }) => { + console.log(tempFiles) const newList = JSON.parse(JSON.stringify(this.value || [])).concat( - tempFilePaths//.map(t => ({ path: t, type: this.getFileExt(t) })) + // tempFilePaths//.map(t => ({ path: t, type: this.getFileExt(t) })) + tempFilePaths.map((t,i) => ({ path: t, type: tempFiles[i].type,size:tempFiles[i].size })) ) this.$emit('input', newList) this.$emit('change', newList) @@ -107,9 +109,9 @@ export default { async fileClick(index) { const { path, type, uid, size = 0 } = this.value[index] - if (this.isImgFile(type)) { + if (this.isImgFile(this.value[index])) { uni.previewImage({ urls: [path], current: path }) - } else if (this.isDocFile(type)) { + } else if (this.isDocFile(this.value[index])) { // #ifndef H5 || MP-DINGTALK if (size >= 50 * 1024 * 1024) { this.TOAST('小程序端无法下载超过50MB的文件,此文件大小为${size}KB,超过限制') diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/nworkflow/workflow.js b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/nworkflow/workflow.js index c3689c50f..791db9d71 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/nworkflow/workflow.js +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/nworkflow/workflow.js @@ -220,6 +220,7 @@ export default { * 遍历 formValue,将其中的表单值依次使用 convertToPostData 这个方法转化为提交值 */ async getPostData(originFormValue, scheme) { + console.log(originFormValue, scheme) const formValue = this.COPY(originFormValue) // 依次按照 scheme 项目遍历 From d995450e262602a8ddf267f9649020d262309dce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=99=93=E7=90=AA?= Date: Wed, 14 Sep 2022 14:11:55 +0800 Subject: [PATCH 13/16] =?UTF-8?q?=E5=AE=8C=E6=88=90app2.0=20=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E7=BB=84=E4=BB=B6=E9=9D=9E=E5=9B=BE=E7=89=87=E7=B1=BB?= =?UTF-8?q?=E7=9A=84=E5=9B=9E=E6=98=BE=E4=BB=A5=E5=8F=8A=E5=B8=83=E5=B1=80?= =?UTF-8?q?=E5=A4=84=E7=90=86=E5=A2=9E=E5=8A=A0=E6=98=B5=E7=A7=B0=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LearunApp-2.2.0/common/customform.js | 3 +- .../LearunApp-2.2.0/common/custompage.js | 3 +- .../LearunApp-2.2.0/common/js/uni-copy.js | 42 ++++++ .../LearunApp-2.2.0/common/mixins.js | 2 +- .../components/learun-app/upload-file.vue | 134 ++++++++++++------ .../pages/nworkflow/releasetask/single.vue | 1 - 6 files changed, 141 insertions(+), 44 deletions(-) create mode 100644 Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/js/uni-copy.js diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/customform.js b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/customform.js index b745897a2..ad1cc2767 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/customform.js +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/customform.js @@ -210,10 +210,11 @@ export default { const fileType = fileInfo.F_FileType const fileSize = fileInfo.F_FileSize + const fileName = fileInfo.F_FileName const path = this.API + 'learun/adms/annexes/wxdown?' + this.URL_QUERY(uid, true) - fileList.push({ path, type: fileType, uid, size: fileSize }) + fileList.push({ path, type: fileType, uid, size: fileSize, name:fileName }) } return fileList diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/custompage.js b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/custompage.js index c8dd3e2ca..df9ea04a2 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/custompage.js +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/custompage.js @@ -254,10 +254,11 @@ export default { const fileType = fileInfo.F_FileType const fileSize = fileInfo.F_FileSize + const fileName = fileInfo.F_FileName const path = this.API + '/annexes/wxdown?' + this.URL_QUERY(uid, true) - fileList.push({ path, type: fileType, uid, size: fileSize }) + fileList.push({ path, type: fileType, uid, size: fileSize, name:fileName }) } return fileList diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/js/uni-copy.js b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/js/uni-copy.js new file mode 100644 index 000000000..6ceb60488 --- /dev/null +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/js/uni-copy.js @@ -0,0 +1,42 @@ +export default function uniCopy({content,success,error}) { + if(!content) return error('复制的内容不能为空 !') + content = typeof content === 'string' ? content : content.toString() // 复制内容,必须字符串,数字需要转换为字符串 + /** + * 小程序端 和 app端的复制逻辑 + */ + //#ifndef H5 + uni.setClipboardData({ + data: content, + success: function() { + success("复制成功~") + console.log('success'); + }, + fail:function(){ + success("复制失败~") + } + }); + //#endif + + /** + * H5端的复制逻辑 + */ + // #ifdef H5 + if (!document.queryCommandSupported('copy')) { //为了兼容有些浏览器 queryCommandSupported 的判断 + // 不支持 + error('浏览器不支持') + } + let textarea = document.createElement("textarea") + textarea.value = content + textarea.readOnly = "readOnly" + document.body.appendChild(textarea) + textarea.select() // 选择对象 + textarea.setSelectionRange(0, content.length) //核心 + let result = document.execCommand("copy") // 执行浏览器复制命令 + if(result){ + success("复制成功~") + }else{ + error("复制失败,请检查h5中调用该方法的方式,是不是用户点击的方式调用的,如果不是请改为用户点击的方式触发该方法,因为h5中安全性,不能js直接调用!") + } + textarea.remove() + // #endif +} diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/mixins.js b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/mixins.js index 839bb08af..22fe9f0e5 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/mixins.js +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/common/mixins.js @@ -376,7 +376,7 @@ export default { downloadUrl = downloadUrl + '?' + this.URL_QUERY(query, true) return uni.downloadFile({ - url: downloadUrl + url: downloadUrl, }).then(([err, result]) => { if (!err) { result.data = { diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/components/learun-app/upload-file.vue b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/components/learun-app/upload-file.vue index 072194ad9..3314556e4 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/components/learun-app/upload-file.vue +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/components/learun-app/upload-file.vue @@ -20,11 +20,17 @@ - + + + + + + {{file.name}} + @@ -36,6 +42,7 @@ @@ -155,4 +194,19 @@ export default { line-height: 100%; position: static; } +.fileName{ + padding: 2px 2px; + margin-bottom: 2px; + text-align: center; + position: absolute; + bottom: 0px; + width: 100%; + background: rgba(0,0,0,0.2); + color: #fff; + font-size: 12px; + + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; +} diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/nworkflow/releasetask/single.vue b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/nworkflow/releasetask/single.vue index 7691f9422..c214288b8 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/nworkflow/releasetask/single.vue +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/nworkflow/releasetask/single.vue @@ -1,6 +1,5 @@