Comparar commits

...

805 Commits

Autor SHA1 Mensagem Data
  yxq a34768fcba 智慧教学 4 dias atrás
  王晓寒 4d739dc407 AI分析移除教师端限制 5 dias atrás
  dao 85d318657d 固定部分数据 5 dias atrás
  dao 88fdb537c1 Merge branch '西昌分支' of http://8.141.155.183:3000/bjquanjiang/DigitalScholl into 西昌分支 5 dias atrás
  dao 9c2c860493 5 dias atrás
  王晓寒 cf69e5fc5b 修改文件id为文件夹id,优化ai分析python程序 1 semana atrás
  yxq fbd5586ae0 Merge branch '西昌分支' of http://8.141.155.183:3000/bjquanjiang/DigitalScholl into 西昌分支 1 semana atrás
  yxq 56e58af038 智慧教学 1 semana atrás
  王晓寒 9987d6b145 ai分析内容时间替换为分秒 1 semana atrás
  yxq cb334ae4b4 Merge branch '西昌分支' of http://8.141.155.183:3000/bjquanjiang/DigitalScholl into 西昌分支 1 semana atrás
  yxq 1064a6cf5f 智慧教学 1 semana atrás
  王晓寒 11734391ba 智慧教学设计PC端 1 semana atrás
  yxq d9cb8fd669 智慧教学 2 semanas atrás
  yxq 6417079b80 智慧教学设计 3 semanas atrás
  dyy 22e5c683aa 【增加】手机端:学生欠费弹出提示; 1 mês atrás
  dao 37ab890ab2 1 mês atrás
  dao f5976b7e13 1 mês atrás
  dao fabbc4889a 2 meses atrás
  dyy ba100d3994 【修改】缴费明细管理-作废:取消对固定项目的限制; 2 meses atrás
  dao f64b007c54 2 meses atrás
  dyy 4d3c3b6ff6 【修改】移动端-缴费详情:文字更新; 3 meses atrás
  dyy f8c92ee0e5 【修改】学籍:加学生状态和学籍状态; 3 meses atrás
  dyy 1c1a2179b2 【修改】生成学生年度缴费完善; 3 meses atrás
  dyy e0de66767a 【修改】移动端修改手机号,同步修改学籍和教师; 3 meses atrás
  dyy 5fe708e814 1 3 meses atrás
  dyy 8674269f7e Merge branch '西昌分支' of http://8.141.155.183:3000/bjquanjiang/DigitalScholl into 西昌分支 3 meses atrás
  dyy 5f21796a1f 【修改】缴费票据表,增加字段; 3 meses atrás
  dao 32055440bc 4 meses atrás
  dao cc7e97f56b 文档更新 4 meses atrás
  dao 40d6e5edca 接口增加权限验证 4 meses atrás
  dao adb8daf683 基础数据接口增加权限验证 5 meses atrás
  ndbs 47a0ea0e62 数据对接添加验证 5 meses atrás
  dyy a3d75dbfba 【修改】新生信息完善,字段调换; 4 meses atrás
  dyy a6b9744395 【修改】移动端登录页提示文字修改; 4 meses atrás
  dyy d76d03178b 【修改】学籍信息管理:增加“生成新生信息”功能; 4 meses atrás
  dyy 97d69fc70d 【修改】移动端修改手机号,同步改学籍表; 4 meses atrás
  dyy 2b85165457 【修改】人脸系统获取新生列表接口优化; 4 meses atrás
  dyy 705088373f 【修改】缴费订单管理:增加缴费金额总合计; 4 meses atrás
  dyy cdf24b231f 【修改】移动端-在线缴费:缴费订单编号生成规则修改; 4 meses atrás
  dyy e75e9ccd42 【修改】在线缴费:缴费订单编号生成规则修改; 4 meses atrás
  dyy 3b8e8a2ad9 【修改】学籍信息表单:根据数据中心对接修改必填项; 4 meses atrás
  dyy 25fbf3a4d4 【修改】缴费管理模块:查询条件优化; 4 meses atrás
  dyy 87c8c5bf78 【修改】年度缴费-生成缴费信息:增加对学生专业为空的判断; 5 meses atrás
  dyy a463324ecd 【增加】网上办事大厅登录页:增加忘记密码和首次登录; 5 meses atrás
  dyy 73458a7acf 【修改】短信相关功能:提示语句修改; 5 meses atrás
  dyy 6143246e49 配置文件 6 meses atrás
  dyy f79d9c876d 【修改】移动端微信登录接口优化; 6 meses atrás
  dyy 5670250526 【修改】首次登录:强制改密弹框修改; 6 meses atrás
  dyy dd4ce931fe 【修改】阿里云短信配置;发送短信功能对接短信接口; 6 meses atrás
  dyy 02636d3554 【修改】阿里云短信配置的id和secret; 6 meses atrás
  dyy 0c0f294bf7 【修改】发短信接口:增加手机号格式的验证; 6 meses atrás
  dyy 01571c771f 【修改】首页-解绑微信:增加短信验证后解绑; 6 meses atrás
  dyy 7568147caa 【修改】APP配置文件 6 meses atrás
  dyy 498688264e 【修改】发送短信:指定缓存库; 6 meses atrás
  dyy 755713aeb9 【修改】短信修改; 6 meses atrás
  dyy 0f8f73450f 【修改】忘记密码确认按钮逻辑修改;发送短信的类修改; 6 meses atrás
  yxq aea2319291 web 忘记密码 6 meses atrás
  dyy 0891dd4082 【修改】登录页:首次登录; 6 meses atrás
  dyy bd80365431 Merge branch '西昌分支' of http://8.141.155.183:3000/bjquanjiang/DigitalScholl into 西昌分支 6 meses atrás
  dyy 3add670836 【修改】缴费订单-导入线下缴费:取消非固定项的限制,的后续操作; 6 meses atrás
  yxq 629c38baf9 web 首次登录 6 meses atrás
  yxq fc93979158 Merge branch '西昌分支' of http://8.141.155.183:3000/bjquanjiang/DigitalScholl into 西昌分支 6 meses atrás
  dyy 1c4064aa70 【修改】缴费管理:导入功能优化,导入文件名称的参数新增; 6 meses atrás
  yxq 4d415c1a72 首次登录 6 meses atrás
  dyy 35d5557d24 【增加】PC登录页:增加忘记密码和首次登录; 6 meses atrás
  yxq 5da898c5b4 h5 短信相关 6 meses atrás
  dyy 3bc92913e4 Merge branch '西昌分支' of http://8.141.155.183:3000/bjquanjiang/DigitalScholl into 西昌分支 6 meses atrás
  dyy 9841913ab5 【修改】移动端:短信页面; 6 meses atrás
  yxq caec41e514 h5 短信相关功能 6 meses atrás
  dyy 66f585c24b 【修改】缴费订单-导入线下缴费:取消非固定项的限制; 6 meses atrás
  dyy 9fda6e1170 【修改】忘记密码、首次登录、绑解微信、等发送短信功能; 6 meses atrás
  yxq e95e9c8e04 h5 短信相关修改 6 meses atrás
  yxq 7b60e345ba h5短信相关功能开发 6 meses atrás
  dyy 25be548cfd 【修改】移动端:忘记密码; 6 meses atrás
  dyy 32d4f471c1 【增加】移动端登录页:忘记密码功能; 6 meses atrás
  dyy 3c17900ee6 【增加】短信项目; 6 meses atrás
  dyy 35f439d876 【修改】年度缴费管理:列表增加学籍状态、学生状态列;增加是否作废列; 6 meses atrás
  dyy 120a022a41 【修改】缴费列表页金额显示两位小数; 6 meses atrás
  dyy adc92408d0 【增加】PC/移动端:生成缴费二维码页面:增加提前访问学校财务服务器功能; 6 meses atrás
  dyy 97e8852a45 【修改】缴费订单管理:增加人工核验功能;缴费模块列表金额显示两位小数; 7 meses atrás
  dyy 666d01aade 服务项目:配置文件 7 meses atrás
  dyy 67a2b33c27 【修改】导入线下缴费:自动分配需求修改暂存; 7 meses atrás
  dyy 45eb0494e7 【修改】缴费学生导入:取消对离校学生的判断; 7 meses atrás
  dao 2a560be8ce 统一应用2.0接口修改 7 meses atrás
  dao 88fda22372 Merge branch '西昌分支' of http://8.141.155.183:3000/bjquanjiang/DigitalScholl into 西昌分支 7 meses atrás
  dao f7352c0f52 单点接口修改 7 meses atrás
  dyy 87cf09f51b 配置文件 7 meses atrás
  ndbs 84f4a72ab9 Merge branch '西昌分支' of http://8.141.155.183:3000/bjquanjiang/DigitalScholl into 西昌分支 7 meses atrás
  ndbs d503f43680 统一认证对接 app 添加参数分辨学生/教师 7 meses atrás
  dyy d09b7b7f0b 【增加】system配置文件:增加补开发票配置; 7 meses atrás
  liangkun 282173144f 学生年度收费管理内新增,补开发票功能 1 ano atrás
  dyy 6c6f7fe92d 数据库连接 8 meses atrás
  ndbs 5f1479a469 8 meses atrás
  ndbs f82766a1b8 统一认证 8 meses atrás
  ndbs 43a015875d Merge branch '西昌分支' of http://8.141.155.183:3000/bjquanjiang/DigitalScholl into 西昌分支 8 meses atrás
  dyy b14a3e628e 【修改】收费明细:导入非固定项功能增加固定项的导入; 8 meses atrás
  ndbs fd81a6d87e 统一认证 1 ano atrás
  dyy a86e1d5c72 【修改】统一应用管理:录入页面增加”是否移动端“标识; 1 ano atrás
  ndbs 03032e7489 app2.0 统一身份认证[H5] 1 ano atrás
  ndbs 868608d707 app2.0 统一身份认证2.0 1 ano atrás
  dyy e4bb74e912 列表序号超过1000展示不完全 8 meses atrás
  dyy 4d61e2b4d7 【修改】默认密码修改; 8 meses atrás
  dyy aaf255802c 【修改】初始密码登录强制修改密码; 8 meses atrás
  dyy a6086b6f85 【修改】拿初始密码登录的进行提示; 8 meses atrás
  dyy 9da00bcffc 【修改】个人中心-修改密码:增加强密码验证; 8 meses atrás
  dyy be0ad525c0 【修改】用户管理-重置密码,教师/学生生成账号,密码规则改为前缀+身份证后6位; 8 meses atrás
  dyy 7575d9eb00 【修改】弱密码登录后,修改密码弹层通过存储方式判断; 8 meses atrás
  dao 17852f2dd4 工资检索修改,工资项排序修改 8 meses atrás
  dyy d9f5503024 【修改】收费明细管理-导入非固定项:非固定项不关联收费标准,只以导入为主; 9 meses atrás
  dyy d416a7fa34 【修改】导入线下缴费记录:解除对已缴费学生无法导入的限制; 9 meses atrás
  dao 779ad999b1 工资信息增加用发放次数检索 9 meses atrás
  北京泉江 523454b941 10 meses atrás
  北京泉江 e12681054b 更新密码泄露 10 meses atrás
  北京泉江 df93e090ef 10 meses atrás
  北京泉江 9ad86e1fc8 学生接口增加照片路径 10 meses atrás
  北京泉江 f5d2322b3d 学生接口修改 10 meses atrás
  北京泉江 8e6efa4fce 修复工资数据负数导入问题及我的工资查看 10 meses atrás
  北京泉江 7339ab0759 发布版本号更新 10 meses atrás
  北京泉江 57ac680892 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 10 meses atrás
  yxq 9fe3c554f9 app 我的工资修改 10 meses atrás
  北京泉江 e3ddc509dd 移动端我的工资默认数据、年月查询数据、详情接口修改 10 meses atrás
  北京泉江 c5dfef1169 一个月多条数据展示修改 10 meses atrás
  北京泉江 666a160e4b 工资导入索引项增加发放次数,导入、删除除、列表、我的工资修改 11 meses atrás
  北京泉江 54a05f059c 发布更改版本号 11 meses atrás
  北京泉江 48ae8f32d8 缴费功能合并 11 meses atrás
  北京泉江 59896e449f 工资信息导出可筛选 11 meses atrás
  北京泉江 e4774802e7 工资信息固定显示列导出 11 meses atrás
  北京泉江 1433573176 版本号记录 11 meses atrás
  北京泉江 8cfae4bc10 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 11 meses atrás
  北京泉江 12a9cc113e 工资信息展示部门关联系统部门 11 meses atrás
  yxq 2efcd7a4bc web我的工资单行点击选中 11 meses atrás
  yxq 400d3b1030 web 我的工资默认展示一个有工资的月份 11 meses atrás
  北京泉江 2528080b0e Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 11 meses atrás
  北京泉江 c1c96658df 我的工资移动端默认数据接口,PC端默认数据接口 11 meses atrás
  yxq 93d16a58ba app 我的工资默认展示一条 11 meses atrás
  yxq 73eb29d42c Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 11 meses atrás
  yxq 8da20ad1d2 web 工资信息 11 meses atrás
  北京泉江 22b7c2f853 工资导入增加删除功能 11 meses atrás
  北京泉江 27b6937f1b 固定列增加应发合计,优化方法复用 1 ano atrás
  北京泉江 c4a20ef6d9 优化工资列表排序展示、导入时自动排序 1 ano atrás
  北京泉江 6c51deabb0 我的工资列表优化 1 ano atrás
  北京泉江 9ee51bc067 工资明细项检索 1 ano atrás
  北京泉江 a622655cb6 1 ano atrás
  北京泉江 a6bd05dffc 列表优化 1 ano atrás
  北京泉江 017f2aa8be Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 1 ano atrás
  北京泉江 ac85f3be5e 工资查看移动端接口,PC我的工资 1 ano atrás
  yxq da31d16c87 app 我的工资 1 ano atrás
  北京泉江 01d16edfc0 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 1 ano atrás
  北京泉江 2be19a911a 修改检索,增加统计实发金额 1 ano atrás
  yxq 0c3d449bbb web教师工资信息 1 ano atrás
  北京泉江 1f5252b330 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 1 ano atrás
  北京泉江 0d3718534f 1 ano atrás
  yxq 09df5a6c3d web教师工资信息 1 ano atrás
  yxq 55d2cbb90b Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 1 ano atrás
  yxq 10d8eaac79 web教师工资信息 1 ano atrás
  北京泉江 54d8770743 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 1 ano atrás
  北京泉江 32aeb289ec 列表页修改 1 ano atrás
  dyy d7c19b3079 【修改】excel导入方法:增加字段类型是布尔值时的判断; 1 ano atrás
  北京泉江 e1bdc81551 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 1 ano atrás
  北京泉江 2f848af7b2 明细列表页,展示隐藏 1 ano atrás
  yxq a9c663717a web教师工资信息 1 ano atrás
  北京泉江 f8c1b68971 页面去掉左侧 1 ano atrás
  北京泉江 eb3923948a 工资导入数据成功 1 ano atrás
  北京泉江 38ce730e30 工资导入基础页面、JS等。 1 ano atrás
  ndbs af72dd8706 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 1 ano atrás
  ndbs 9d76672dce 学生考勤 相关修复 1 ano atrás
  yxq dc6545cb0f Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 1 ano atrás
  yxq 62607b63c3 app 学员通讯录 1 ano atrás
  ndbs 1af14285df 通讯录接口 1 ano atrás
  liangkun 045a339c86 增加POS收款类型 1 ano atrás
  liangkun ac6aafcdc4 UEditor catchimage source[] 漏洞处理 1 ano atrás
  fzp 944219787a 退费查看判断修改 1 ano atrás
  fzp 0ecdecad0e 新生报到流程修改缴费跳转地址 1 ano atrás
  fzp e1202967d4 线下导入调试 1 ano atrás
  fzp 911bedc266 线下导入调试 1 ano atrás
  fzp ca524ad566 西昌调整 1 ano atrás
  fzp a8ea3d0a7b 生成缴费数据去掉系部匹配 1 ano atrás
  fzp ed90528d17 订单排序查询时间字段调整 1 ano atrás
  fzp 8efed860f0 收费标准导入整改 1 ano atrás
  fzp 81421200f5 整改 1 ano atrás
  fzp b543cda40a 缴费测试 1 ano atrás
  fzp 93eb299960 算法整改 1 ano atrás
  fzp a21d88c413 导入线下缴费整改 1 ano atrás
  fzp b940fde272 调整待缴金额导入 1 ano atrás
  fzp bc905a8835 线程生成缴费记录 1 ano atrás
  fzp 97545140b7 调整优化 1 ano atrás
  fzp 351f3897dd 自动分配逻辑 1 ano atrás
  fzp 9a9660072e 日志列表排序 1 ano atrás
  fzp 7c772ef62d 日志模块 1 ano atrás
  fzp b0a9717126 导入线下缴费 1 ano atrás
  fzp 168060bd62 退费操作日志 1 ano atrás
  fzp 2554e34a73 退费查询 1 ano atrás
  fzp b187edc561 退费 1 ano atrás
  fzp 04b91a947d 退费记录 1 ano atrás
  fzp 0c5aaf31cb 明细整合 1 ano atrás
  fzp 0e4abe5e14 日志 1 ano atrás
  fzp db4ddb1570 手机缴费、查看发票 1 ano atrás
  fzp bb406f3ad8 手机api添加 1 ano atrás
  fzp ae29676449 资金流水 1 ano atrás
  fzp 4b01b345a0 文件名修改 1 ano atrás
  fzp 9b366a0071 订单生成 1 ano atrás
  fzp f0cc9fce6b 导入缴费明细 1 ano atrás
  fzp 7f3ee8873c 明细排序 1 ano atrás
  fzp 803eb9aaf1 收费项目明细,作废,恢复 1 ano atrás
  fzp af7b2c678d 收费明细 1 ano atrás
  fzp 040e025100 增加收费标准审核、更新学生缴费总表语句 1 ano atrás
  fzp 4e93b02961 学分合计改到事物外 1 ano atrás
  fzp 302af1e043 学生年度缴费明细计算 1 ano atrás
  fzp 4a19f15a78 学生年度缴费明细生成 1 ano atrás
  fzp e86b2bb2cc 生成年度缴费数据 1 ano atrás
  fzp 3d4b565b2f 学生年度缴费数据 1 ano atrás
  fzp b46de8da77 缴费学生信息功能完善 1 ano atrás
  fzp 295a724199 FinaChargeStudent缴费学生信息 1 ano atrás
  fzp f9def0d5da 收费项目,收费标准 1 ano atrás
  fzp 0f27ceab34 config 1 ano atrás
  fzp 11b367ebea dbconfig 1 ano atrás
  fzp 33fb37e691 功能扩展 1 ano atrás
  fzp 741239d465 表结构设计.dmx 1 ano atrás
  fzp 9591a51241 1.缴费日志管理及调用封装 1 ano atrás
  fzp 1b6240b005 本地运行环境版 1 ano atrás
  liangkun fdc68f8e9b 读取数据中心数据容错处理 1 ano atrás
  liangkun dcb6eb5d03 办事大厅增加一卡通余额,一卡通消费记录,数据从数据中心oracle中间库获取 1 ano atrás
  liangkun 3e6900788f 西昌基础数据统计改为取oracle数据中心数据 1 ano atrás
  liangkun ab193e8fc2 增加西昌数据中心oracle链接字符串 1 ano atrás
  liangkun 36863ef052 全院课程表时间查询事件带其他下拉框选择条件 1 ano atrás
  liangkun 4aecfb76bc 办事大厅微信登录调整 1 ano atrás
  liangkun c4fa78dc8e 统一认证2.0色块整体可点,网上办事大厅更换2.0统一应用跳转参数 1 ano atrás
  liangkun 72813ab944 办事大厅微信登录跳转到办事大厅 1 ano atrás
  liangkun a683c7db6b 用友回写明细优化 2 anos atrás
  liangkun 6aed749435 excel导入用友回写去掉事物,因为服务器上老报错。 2 anos atrás
  liangkun f5398c4552 新生查询添加grade 2 anos atrás
  liangkun 3dbef02747 发布失败图片删除 2 anos atrás
  liangkun 61ee83ffea 新生年份按照新生级别导入 2 anos atrás
  liangkun b0128804bc 增加exe文件图标,修改webconfig增加上传大小限制 2 anos atrás
  liangkun 69598d4b31 增加保留两位小数 2 anos atrás
  liangkun 5d2171ce5a Merge branch '西昌分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  liangkun c20a6a52a1 excel导入缴费功能 2 anos atrás
  dyy de10541518 【修改】流程设计:增加部门负责人、分管校长判断的优化; 2 anos atrás
  liangkun bf841c9b8f 导入缴费基础框架搭建 2 anos atrás
  liangkun 44a84ed90e 增加缴费费用验证 2 anos atrás
  liangkun e28e7fc5d6 Merge branch '西昌分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  liangkun 79f853a0b0 新生信息完善改post 2 anos atrás
  dyy b4ee12b2e0 【修改】宿舍管理导入:寝室号为空、床位为空、加判断;床位管理:新增增加床位编号; 2 anos atrás
  dyy 668a69e381 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  dyy 5077da8277 【修改】学生宿舍管理功能(学生宿舍管理、查看、分配宿舍、学生归宿管理、归宿统计、宿舍晚归规则、); 2 anos atrás
  liangkun f9f4bb9024 修复缴费订单表数据缴费年份根据选择的缴费年份保存 2 anos atrás
  杨晓琪 1a1fc4978f app2.0 扫码报到ios调用扫码失败需要刷新的问题 2 anos atrás
  liangkun 46d22e489f GetWeixinWebaccess_token 日志记录 2 anos atrás
  liangkun 678c2a3b6e SaveStudentCompare修复 2 anos atrás
  liangkun 57c19ae588 SaveStudentCompare修改 2 anos atrás
  dyy d810b7e6d5 app2.0,新生入校流程:隐藏助学贷款; 2 anos atrás
  杨晓琪 7cc9b88d7d Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  杨晓琪 0d10e5453d 个人信息修改 2 anos atrás
  ndbs f2731cf290 流程获取年度有误 2 anos atrás
  ndbs ee833e3b46 新生入校流程 时间获取当前时间,微信登录去掉跳转页,新生信息+校验 2 anos atrás
  ndbs 06e6e230fc app2.0扫码状态修改有误 2 anos atrás
  杨晓琪 2f01399f08 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  杨晓琪 7e848dd158 去掉强制修改密码的返回 2 anos atrás
  liangkun 8aa5754e68 app2.0扫码报到调试 2 anos atrás
  杨晓琪 b014263972 新生报到二维码 2 anos atrás
  杨晓琪 bf5f686b23 新生报到二维码 2 anos atrás
  杨晓琪 bee77ec68e Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  杨晓琪 c24e37fc8a 新生报到二维码布局 2 anos atrás
  liangkun a717bcc4a6 迎新app2.0判断修改 2 anos atrás
  杨晓琪 39f31fabc6 缴费的校验提示 2 anos atrás
  杨晓琪 ca785b64f7 app2.0 老生缴费金额校验 扫码报到功能 2 anos atrás
  杨晓琪 830eefee4b 扫码报到 2 anos atrás
  杨晓琪 aa7138efde Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  杨晓琪 b495e4b3d6 app2.0 学生二维码报到 入校流程 2 anos atrás
  liangkun a5859a5af8 缴费列表判断修改 2 anos atrás
  liangkun f28035fb6b 西昌app2.0 config 2 anos atrás
  liangkun 9ef0089e9b Merge branch '西昌分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  liangkun 848c625aca 接口调试 新生问题修正 2 anos atrás
  杨晓琪 930ec055cb app2.0 新生老生缴费 2 anos atrás
  杨晓琪 25a84cc833 老生缴费 2 anos atrás
  杨晓琪 8a9220a826 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  杨晓琪 6ea4d340da app2.0老生缴费 2 anos atrás
  liangkun 7578f03317 接口输出imgurl返回到data内,content qrcode的config路径配置修改 2 anos atrás
  liangkun bb126699e2 暂时去掉新生强制完善信息后才能缴费 2 anos atrás
  liangkun e60cf04fd5 Merge branch '西昌分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  liangkun 9861820a71 用户中心日期1970修改 2 anos atrás
  杨晓琪 a42fcfd93f app2.0老生缴费列表页 2 anos atrás
  杨晓琪 7f0661f6b9 修改框架bug 2 anos atrás
  杨晓琪 08a4aa6cf0 app2.0 新生信息完善 强制修改密码 2 anos atrás
  杨晓琪 29f87ba79e app2.0 微信登录 2 anos atrás
  杨晓琪 4d2196ad3f Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  杨晓琪 7df957d3c1 app2.0 解绑微信 2 anos atrás
  zhangli 06a7240cf3 查看发票添加垂直滚动条 2 anos atrás
  zhangli 23dc5c4991 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli cfe82c588e 缴费查看发票页面优化 2 anos atrás
  liangkun 1759231535 去掉个人中心学生选修课标签 2 anos atrás
  liangkun ef4433d290 缴费金额文本框优化 2 anos atrás
  liangkun f7ecd73039 新生缴费列表缴费状态绑定字典 2 anos atrás
  liangkun 65889cb00f 新生缴费微调 2 anos atrás
  坤 梁 113949d229 收费弹窗大小修改,新生收费实缴动态合计增加初始值 2 anos atrás
  杨晓琪 fa77766eef 新生登录强制修改密码 2 anos atrás
  liangkun f4dfe09f15 新生微信绑定调试 2 anos atrás
  liangkun 49864f4c33 手机绑定微信md5密码去掉 2 anos atrás
  杨晓琪 1af6e2c8c6 微信登陆 2 anos atrás
  杨晓琪 880ef8648d Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  杨晓琪 c9a4731768 微信登陆 2 anos atrás
  liangkun 81da6753d1 接口调试 2 anos atrás
  杨晓琪 eb145c8493 微信登录 2 anos atrás
  杨晓琪 d80ee06bd4 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  杨晓琪 2c9d968756 微信登录 2 anos atrás
  liangkun f1b75684b0 appconfig 2 anos atrás
  liangkun 2c4c6db610 Merge branch '西昌分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  liangkun 6c7366a19e 服务项目x64 2 anos atrás
  杨晓琪 e933cfa93d Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  杨晓琪 c43c150f20 微信登录 2 anos atrás
  liangkun 5c7601e186 config改连123 2 anos atrás
  坤 梁 5b19ec91cb 附件调试 2 anos atrás
  杨晓琪 73b8b593e7 通知公告 2 anos atrás
  liangkun b9655ab8d1 app2.0附件功能支持草稿编辑 2 anos atrás
  liangkun 5eb992d708 上传调试 2 anos atrás
  liangkun c5cd6e16e0 手机附件上传调试 2 anos atrás
  杨晓琪 e6446694ae app2.2.0 我的审批 2 anos atrás
  liangkun 227b5af8d2 上传 2 anos atrás
  liangkun 7313353032 开票查看接口 2 anos atrás
  liangkun ce38cd5331 缴费接口 2 anos atrás
  liangkun d171ea6957 开发环境强密码验证去掉 2 anos atrás
  杨晓琪 480a360d46 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  杨晓琪 7e63a42049 app2.2.0 掌上评教 2 anos atrás
  zhangli 6fdc16d6e8 缴费查看发票优化 2 anos atrás
  zhangli dd9ef24298 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli 77742e834b 新生老生缴费--查看发票修改 2 anos atrás
  杨晓琪 e0eaf65156 app2.2.0在线缴费 2 anos atrás
  杨晓琪 42c9054e10 qpp2.2.0新生登录 2 anos atrás
  liangkun 2d8b0aa977 手机端2.0同步长阳 2 anos atrás
  liangkun 326eead888 人脸接口、文档 2 anos atrás
  liangkun b4d27f4700 调整收费提醒 2 anos atrás
  liangkun 95a7bdb6f1 补充照片字段 2 anos atrás
  liangkun 704b856c76 增加学生缴费ActionResult映射到缴费列表 2 anos atrás
  liangkun 9e5e515c0b 老生缴费 2 anos atrás
  liangkun d9badeaf82 资源包含 2 anos atrás
  liangkun dca33944de 登录页面图片 2 anos atrás
  liangkun eca8dbd21a Merge branch '西昌分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  liangkun 830a9cb9a4 老生缴费功能 2 anos atrás
  杨晓琪 e107da3485 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  杨晓琪 62a9e3e64d 新生登录 2 anos atrás
  liangkun 85696f9ae0 新增老生缴费代码 2 anos atrás
  liangkun c934f2711f 收费用友对接 2 anos atrás
  liangkun 45992af726 登录界面调整 2 anos atrás
  liangkun b9bd9611f8 新生登录页面添加 2 anos atrás
  liangkun 32da074c91 开票结果查询 2 anos atrás
  liangkun 378fdba85a 订单字段补充发票信息 2 anos atrás
  liangkun 83f83bd763 调试开发西昌缴费与发票 2 anos atrás
  liangkun 13c5ba0677 缴费支付调试 2 anos atrás
  liangkun 2375999559 缴费接口调用,飞扬版外链接跳转修复 2 anos atrás
  liangkun e96d3636f0 支付结果通知测试 2 anos atrás
  liangkun 2e5a111be9 建行支付结果通知测试 2 anos atrás
  zhangli ca2c56abd3 2 anos atrás
  zhangli 249250eac4 新生缴费保存缴费订单记录 2 anos atrás
  zhangli d64e1e5d76 新生缴费管理--二维码缴费 2 anos atrás
  zhangli a222a70a54 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli 4d3a2f116e 新生二维码缴费功能 2 anos atrás
  ndbs cc484ccf3c Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  ndbs c360fe5e8b 选修课成绩比例设置 全院选修成绩管理 2 anos atrás
  liangkun e8684a6feb Merge branch '西昌分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  liangkun 112caf1176 增加排课接口通否判断 2 anos atrás
  dyy 8a0d168d5d 1 2 anos atrás
  dyy 9eb0f2e721 1 2 anos atrás
  zhangli e3ef84653f 班级开课计划优化查询下拉框 2 anos atrás
  zhangli ed194b2edd 专业开课计划优化专业、课程下拉框 2 anos atrás
  zhangli a7f83d4526 修复新生信息管理-是否完善信息显示不正确问题;优化新生领取用品查询条件; 2 anos atrás
  zhangli 5ddd96e9b5 宿舍管理优化 2 anos atrás
  zhangli 1a860d5ef1 修复岗位管理修改时编号没重复缺提示重复的问题 2 anos atrás
  zhangli d63b0ba6d3 修复部门管理查询功能 2 anos atrás
  zhangli 7a096c5d7b 工作总结列表部门、总结类型优化 2 anos atrás
  zhangli e71aaa29c0 会议资料优化 2 anos atrás
  zhangli 72b5779bfc 通讯录列表性别列优化 2 anos atrás
  zhangli 39fd0e2436 修复通讯录关键字查询不生效问题 2 anos atrás
  zhangli 20cec1ef91 部门管理、岗位管理 未选择学校录入时提示信息错误 2 anos atrás
  zhangli c2e64dd878 修复文件管理查询无效的问题 2 anos atrás
  zhangli 26756adb1f 学生撤销违纪管理--列表查询优化 2 anos atrás
  zhangli 0cde913cff 修复补助种类管理 新增必填校验失效问题 2 anos atrás
  zhangli 0a014bb0c4 教师信息管理--校区部门必填校验 2 anos atrás
  zhangli 68c1ad04ff 教师信息管理 审核、去审核、修改部门系部提示信息优化;列表部门不显示 2 anos atrás
  zhangli f424fa175d 课程信息管理-添加调整 2 anos atrás
  zhangli 35efcea5eb 教务-基本信息 启用禁用提示信息优化 2 anos atrás
  zhangli b208fc27e8 优化宿舍卫生管理 2 anos atrás
  zhangli d2df70a2c0 学生宿舍查看,校区未选择不显示undefined;添加宿舍校区字段自动获取当前所在学校 2 anos atrás
  zhangli 57b1e379e7 安排考试设置考试时间时增加判断考试时间是否冲突的限制 2 anos atrás
  zhangli e7e1ac2400 排考管理修改(未完成) 2 anos atrás
  zhangli 9ea30a6be6 安排考试初始化课程 2 anos atrás
  zhangli ef4206a683 修改安排考试重复添加课程 2 anos atrás
  zhangli a071bf5723 生成排考名单只为已启用的学生生成;随机安排座位时座位号按顺序排 2 anos atrás
  zhangli ba90fe85df 排考明细去掉空座位的数据 2 anos atrás
  zhangli 2131a838a3 安排考试--只显示已启用的 2 anos atrás
  zhangli c39784c647 考试课程管理去掉系专业 2 anos atrás
  zhangli 76d46882c6 安排考试 修改考试课程重复的问题 2 anos atrás
  ndbs 39b6c2157a Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  ndbs 336e087ad3 考务学生管理 禁用禁止删除项 2 anos atrás
  zhangli bbe1a16c42 排考优化 2 anos atrás
  ndbs f27c8c6398 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  ndbs 0ae826cd02 考试学生管理优化执行时长 2 anos atrás
  zhangli c2eb40de65 修改安排考试 2 anos atrás
  zhangli 88b0636d25 考试学生表获取班级修改 2 anos atrás
  zhangli 1bfa37db46 监考老师查询修改 2 anos atrás
  zhangli 4169830850 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli 7086ccdf38 处理排考新增考场时监考老师重复选择问题和班级人数不正确,处理排考名单数据不正确 2 anos atrás
  ndbs 731a6194d3 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  ndbs 27d09bc8a5 考试记录表调整js 2 anos atrás
  zhangli 5520cdabb2 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli 891fbac815 生成排考名单判断是否已经安排考试 2 anos atrás
  ndbs 96b233be4c 考试学生管理 添加学年学期判断条件 2 anos atrás
  ndbs 41f13eb8a4 专业开课计划保存为必修课 2 anos atrás
  zhangli d75bb6f2e2 排考管理 2 anos atrás
  ndbs 87105afe7e 考试记录调整功能 2 anos atrás
  zhangli eb8d44d227 排考优化 2 anos atrás
  zhangli 266ee09b53 安排考试调整新增班级、生成排考名单 2 anos atrás
  ndbs dbde79129f Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  ndbs a1c1ab58ce 考试学生信息调整功能 2 anos atrás
  zhangli eee893c9eb 排考汇总、排考明细 2 anos atrás
  zhangli 8ce0d00503 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli 6585da977c 排考管理 2 anos atrás
  ndbs d7441a5ca5 调整专业添加科目相关功能 2 anos atrás
  ndbs b5cfaa085d 录取学生学/学生考试成绩 2 anos atrás
  ndbs 03416d8531 生成二维码 2 anos atrás
  ndbs fdf7c13451 教师信息管理添加二维码代码 2 anos atrás
  ndbs 472f9724a3 合并冲突 2 anos atrás
  ndbs fa2abcaabd 考试科目管理 2 anos atrás
  zhangli e4a6fd0474 生成排考名单 2 anos atrás
  zhangli a67f033407 排考安排表、排考安排明细 2 anos atrás
  zhangli 57a82eba13 考试课程导入只导入必修 2 anos atrás
  zhangli e62cfead1c 排考安排监考老师 2 anos atrás
  zhangli e345dc28cd 排考课程审核 2 anos atrás
  zhangli 9d0f60c788 班级、考场新增删除 2 anos atrás
  zhangli 5f6a98a50d 合并 2 anos atrás
  zhangli 51024918e3 排考安排班级、考场列表,排考课程设置考试时间等 2 anos atrás
  ndbs bb4df996c3 合并 2 anos atrás
  ndbs 6cf22b5465 考试记录-生成/清除排考名单 2 anos atrás
  zhangli 355dec367c Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli c506f202d1 安排考试页面、初始化课程 2 anos atrás
  dyy bccec42366 【修改】考场管理:导入; 2 anos atrás
  zhangli c966c30431 考试课程加字段(系、专业、年级) 2 anos atrás
  liangkun 3293fd6430 排考表结构更新 2 anos atrás
  ndbs 2bfc035d5a 合并 2 anos atrás
  ndbs a901bd799f 考试记录表基础功能 2 anos atrás
  zhangli b57366bc30 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli a7c25a04c4 监考老师管理导入功能调整 2 anos atrás
  dyy 4459ebfabd 合并项目文件 2 anos atrás
  dyy 1084591baf 合并 2 anos atrás
  dyy 76c0ebb514 合并项目文件 2 anos atrás
  zhangli f56b0fa338 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli fa9c5f09c2 监考老师管理 2 anos atrás
  dyy b1ca2b59f1 合并 2 anos atrás
  dyy 8c5abd8a84 【增加】考务:增加考场管理; 2 anos atrás
  ndbs 3094301fa8 解决冲突 2 anos atrás
  ndbs c342ef3381 学生考试信息功能 2 anos atrás
  dyy da0d761dae Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  dyy 45f0fbac3e 【修改】教师:列表,多条件查询中绑定数据字典; 2 anos atrás
  zhangli 4b94880cfa 考试课程新增判断同学期是否重复 2 anos atrás
  zhangli 6784016e63 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli bda10110aa 考试课程 导入、清空数据 2 anos atrás
  dyy 91c2eabf30 【修改】EmpInfoEntity增加字段 2 anos atrás
  liangkun d557c888e0 Merge branch '西昌分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  liangkun e5534e0319 考生表增加类型字段 2 anos atrás
  zhangli f2d9699052 考试课程启用/停用修改 2 anos atrás
  zhangli 8dcd86df19 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli 271b91eba4 2 anos atrás
  zhangli 0500ce9c02 新增考务管理-考试课程 2 anos atrás
  dyy ab2cc6988e Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  dyy c233f85e46 【修改】EmpInfoEntity增加字段; 2 anos atrás
  liangkun 23385779d7 增加EPId字段 2 anos atrás
  liangkun 2d4d361023 merge 2 anos atrás
  liangkun a756cca163 排考表结构更新 2 anos atrás
  zhangli 0d26dc8a7a 去掉登录时授权到期提醒调用的代码 2 anos atrás
  liangkun d16897264f 新增Exam考试安排基础表结构 2 anos atrás
  dyy 9ae6a1e490 【修改】教师实体增加字段;表单页面最高学历、学位修改数据字典code; 2 anos atrás
  liangkun 8621dfdeba 操作日志增加用户姓名 2 anos atrás
  zhangli fc5a841f58 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli 36187d58d6 授权到期提醒 2 anos atrás
  liangkun 49bd073f8f 操作日志增加多条件查询 2 anos atrás
  zhangli 3ff36f7ba6 授权到期前发送邮件并记录已发送的邮件数据 2 anos atrás
  zhangli e65b3a0a8d 新增授权查看 2 anos atrás
  zhangli a3f2bf4684 文件管理刷新页面,添加刷新左侧树结构; 2 anos atrás
  zhangli ab8fb517de 处理党办收文、校办收文 列表的发起人和发起时间未显示问题 2 anos atrás
  zhangli 01b6494593 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli 93f242b720 党办收文Dispatchmap包括在项目中 2 anos atrás
  dyy 308cc334f3 【修改】教学调度:查看页面调度时间修改; 2 anos atrás
  dyy 3db8c35b91 【修改】工作流接口:增加教学调度; 2 anos atrás
  dyy bd2a62033e 【修改】教务-教学调度:修改、查看页面调度时间的显示;教学调度流程的修改; 2 anos atrás
  dyy b5cb304b9c 【修改】教务-教学调度:调度时间优化; 2 anos atrás
  zhangli caaec72a3d 处理失物招领新增异常,缺少相关map 2 anos atrás
  zhangli 5dbb7bafd8 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli 24dcb8b6d7 日志管理 处理编辑日期时 提示日期格式不合法 2 anos atrás
  dyy 36c5b19bd4 【增加】教务:增加班级课程表; 2 anos atrás
  dyy 9cd86611e0 【修改】全院学生成绩查看:取消clodop.js; 2 anos atrás
  dyy 2f4f0dcaf1 【修改】全院学生成绩单接口:精简模型; 2 anos atrás
  zhangli 46623f3337 数据字典编辑页面修改 2 anos atrás
  zhangli 7f9f7b6de2 数据字典加字段(类型、长度、约束、值空间等)修改列表、编辑 2 anos atrás
  zhangli d5c11209a3 教师信息管理列表 岗位名称、来校时间未显示,编辑页面正常回显。 2 anos atrás
  zhangli 7f74bb0529 清空数据库数据不清空LR_Base_Area表,校区管理有用到 2 anos atrás
  zhangli 045e701808 行政区域功能调整 2 anos atrás
  zhangli 890f3b682d Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli 880010996b 修复校区管理无法回显简介的问题 2 anos atrás
  dyy 2707020d06 【修改】全院学生成绩查看:列距离调整; 2 anos atrás
  dyy 261bdd8ad1 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  dyy a7c7a60dcb 【修改】全院学校成绩查看:增加专业排名列、班级排名列; 2 anos atrás
  zhangli 2df142d477 学生归宿统计调整 2 anos atrás
  dyy c926fc63b0 【修改】全院学生成绩查看接口; 2 anos atrás
  dyy 9691afa0cc Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  dyy 4aedce54c1 【增加】全院学生成绩查看接口;全院课程表接口; 2 anos atrás
  zhangli 566688e65e 修复语言类型无法删除的问题; 2 anos atrás
  zhangli 83c2cbd380 补考名单查看 2 anos atrás
  dyy 82bfa0c719 合并 2 anos atrás
  dyy 3f47c6b12d 合并 2 anos atrás
  dyy 0328b1a438 【增加】教务-学生成绩-全院学生成绩查看; 2 anos atrás
  zhangli ff7d3b2bd9 二次补考名单查看 2 anos atrás
  zhangli 5cda1a7b4d 教务--补考名单查看 2 anos atrás
  liangkun c0bfb64bdc Merge branch '西昌分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  liangkun ba90987070 TeachClass补充字段 2 anos atrás
  zhangli 88293527ae 2 anos atrás
  zhangli ada5fda613 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli c0ac447126 国籍改为数据字典 2 anos atrás
  liangkun cb3a56d5d5 dbconfig 2 anos atrás
  liangkun 7c7b05d948 同步必修排课方法内去掉选修课的数据 2 anos atrás
  liangkun b9867186f1 学生选修课列表增加课程类型列 2 anos atrás
  liangkun c05dab4781 dragmodelone缺少css图片补充 2 anos atrás
  zhangli a4770aa153 123服务器跳过授权验证,修改获取IP 2 anos atrás
  zhangli e418ac98a2 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli 47a4acb745 民族修改为字典 2 anos atrás
  liangkun 475f7e2a89 选课结果去列表权限 2 anos atrás
  liangkun f90619f334 Merge branch '西昌分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  liangkun 725236274e 第二页导出失败处理,关闭导出对话框不还原分页处理 2 anos atrás
  zhangli 5242023e3c 123服务器跳过授权验证 2 anos atrás
  zhangli 2ba23a4981 123服务器跳过授权验证 2 anos atrás
  zhangli 7495653af8 宿舍管理 2 anos atrás
  zhangli 669f3c3e4e 归宿管理 2 anos atrás
  zhangli 53d6ef7b6c 教材管理 2 anos atrás
  zhangli 4a49af3947 教材管理 2 anos atrás
  zhangli 33a6dad34f 宿舍管理 2 anos atrás
  zhangli 09c9458f65 挑拣宿舍管理缺失代码 2 anos atrás
  zhangli 5088cf1b7b 条件操作错删除不存在文件 2 anos atrás
  zhangli 258002a7ca 寝室晚归规则新增设置推送时间点 2 anos atrás
  zhangli ea98bdf9ad 新增宿舍晚归规则 2 anos atrás
  zhangli af698226c5 学生宿舍查看 2 anos atrás
  zhangli 0d43c18a18 学生宿舍查看--公寓楼查看、新增、编辑、删除 2 anos atrás
  zhangli a9047defe4 宿舍管理限制一个人不能分配到多个床位 2 anos atrás
  ndbs fe747d6a18 宿舍分配学生添加搜索功能 2 anos atrás
  zhangli 71a032d16f 宿舍管理调整分类管理列表和新增功能 2 anos atrás
  ndbs 5f6d2a4f08 宿舍管理修改保存学生的ID 2 anos atrás
  ndbs 3fecdb5645 宿舍缺失代码 2 anos atrás
  zhangli 56595b4a95 分配宿舍根据性别筛选学生;列表查询只查询寝室 2 anos atrás
  zhangli 9d5f94d67b 分配宿舍 2 anos atrás
  zhangli 4336b2e37a 寝室晚归规则新增设置推送时间点 2 anos atrás
  zhangli 253968c826 新增宿舍晚归规则 2 anos atrás
  zhangli a7c13f1ab9 宿舍内务日考核 2 anos atrás
  zhangli 313bcf71e6 宿舍内务日考核调整 2 anos atrás
  zhangli c6d2b7aea5 修复宿舍管理无法根据系部、专业、班级查询的问题 2 anos atrás
  zhangli 414fad9a75 学生归宿统计 2 anos atrás
  zhangli aab80a30bc 学生归宿管理列表条件 2 anos atrás
  zhangli 4ffd851a02 学生归宿管理编辑功能 2 anos atrás
  zhangli 940cc01cad 学生归宿 限制床位下拉框只显示已分配学生的 2 anos atrás
  zhangli 7440d708b8 学生归宿管理 2 anos atrás
  zhangli dba1f254bd 学生宿舍查看 2 anos atrás
  zhangli 376d249e0f 学生宿舍查看 2 anos atrás
  zhangli d50d3282d1 学生宿舍查看--公寓楼查看、新增、编辑、删除 2 anos atrás
  zhangli 442c6b882c 宿舍管理限制一个人不能分配到多个床位 2 anos atrás
  ndbs 2b2d385ea6 宿舍分配学生添加搜索功能 2 anos atrás
  zhangli e5a85c1381 宿舍管理列表 学生由ID改为学号 2 anos atrás
  zhangli 8b932fc360 宿舍管理调整分类管理列表和新增功能 2 anos atrás
  ndbs 79d15021e8 宿舍管理修改保存学生的ID 2 anos atrás
  ndbs 6a4fdf4166 宿舍床位删除失败 2 anos atrás
  zhangli 4f623088bf 寝室分类管理 2 anos atrás
  ndbs ce5443bcb0 宿舍缺失代码 2 anos atrás
  zhangli 2b02b8d5ba 分配宿舍根据性别筛选学生;列表查询只查询寝室 2 anos atrás
  zhangli 038940d06f 床位管理 2 anos atrás
  zhangli 19651ff2d4 分配宿舍 2 anos atrás
  zhangli bc054ef879 分配宿舍【未完成】 2 anos atrás
  zhangli 0f7ea19863 宿舍分配系 专业 班级 2 anos atrás
  zhangli d4672845cf 宿舍管理 查询房间的床位,调整修改房间功能 2 anos atrás
  ndbs 6766a6f467 学生宿舍 2 anos atrás
  zhangli c6edfa2328 学生宿舍管理调整列表 2 anos atrás
  zhangli 69ef9d7cd5 寝室分类管理 2 anos atrás
  zhangli f0bee9f47f 修复消息提醒没有实例Id时报错问题 2 anos atrás
  liangkun 4e449ecaf7 清空数据库语句增加;号 2 anos atrás
  liangkun 963fd1c0ed 数据源下拉框修复type属性传入 2 anos atrás
  liangkun 47076db58d 去掉连接hub 功能解决console报错 2 anos atrás
  liangkun 706e77227c lr_form修改,满足日期时间修改显示功能 2 anos atrás
  dyy e53ac98415 【修改】30天未修改密码提示增加开关显示配置; 2 anos atrás
  dyy cbf0f1151e 【增加】30天未修改密码弹框提示; 2 anos atrás
  liangkun bf525c9e51 当前节点办理人 +部门名称 2 anos atrás
  liangkun 9c090666aa 流程任务和流程监控模块,增加了当前节点办理人列。 2 anos atrás
  dyy cfe4a19997 测试 2 anos atrás
  dyy d128b5a8df 【修改】添加图片;logo设置; 2 anos atrás
  dyy 06d307cedb 教师信息管理:报错格式修改 2 anos atrás
  dyy 890dca5bd3 Revert "教师信息管理:报错格式修改" 2 anos atrás
  dyy 08afe3f4c5 教师信息管理:报错格式修改 2 anos atrás
  liangkun af894679bd 大同煤炭校办收文党办收文创建流程任务时,标题长度超长报错修改。 2 anos atrás
  liangkun 7fd9ff239e Merge branch '西昌分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  liangkun 8f631947a7 巴楚sso改为无密码验证 2 anos atrás
  zhangli 4227489083 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli a85773310d 寝室分类管理 2 anos atrás
  liangkun 012eb0dae9 调整js代码执行顺序 2 anos atrás
  ndbs f157e40c7c Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  ndbs 3ad1ffa0df 公文收发 : 党办校办提交数据不添加提交信息 2 anos atrás
  zhangli d5621d9dc0 分配宿舍根据性别筛选学生;列表查询只查询寝室 2 anos atrás
  zhangli 9e895ab5b5 床位管理 2 anos atrás
  zhangli 64d3850e7c 分配宿舍 2 anos atrás
  zhangli 29e1ae1360 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli 2d82c65f30 分配宿舍【未完成】 2 anos atrás
  ndbs a6683fa38f Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  ndbs 538e915cf2 使用默认密码登录失败 2 anos atrás
  zhangli 03a1a1c196 宿舍分配系 专业 班级 2 anos atrás
  zhangli 5138ac9a92 宿舍管理 查询房间的床位,调整修改房间功能 2 anos atrás
  zhangli 5153232fe1 2 anos atrás
  zhangli eb9fa7e037 2 anos atrás
  zhangli caa35955e7 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli 989946843e 学生宿舍管理调整列表 2 anos atrás
  ndbs ee41a5ef52 隐藏日志管理中心操作日志列表 2 anos atrás
  ndbs d6ab208d40 取消毕业证生成功能 生成全部专业学生毕业证 2 anos atrás
  zhangli be9435f633 外语语种修改为数据字典读取 3 anos atrás
  zhangli dfdf69dc39 学科门类数据BCdSubjectSpecies数据源改为数据字典 2 anos atrás
  zhangli 2f5faaca5c 港澳台侨数据BCdOverseasChinese 数据源修改为字典 2 anos atrás
  zhangli a5bd645bcd 民族BCdNationality 改为读取字典 3 anos atrás
  zhangli dfd5a8ac2e 健康状况BCdHealthStatus修改为读取字典 3 anos atrás
  zhangli be10cb6106 家庭出身 BCdFamilyOrigin改为字典 3 anos atrás
  zhangli 1b733fb994 学位改为字典 3 anos atrás
  zhangli c1119b9ee2 政治面貌修改为字典 3 anos atrás
  zhangli 9ce6bab081 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 2 anos atrás
  zhangli 4c92194d55 聘任职称BCdTitleOfTechPost数据源修改为数据字典 2 anos atrás
  zhangli ae63e6c6e2 聘任职称BCdTitleOfTechPost数据源修改为数据字典 2 anos atrás
  ndbs b6acd743cf 角色管理 : 功能授权时树折叠 2 anos atrás
  zhangli 345f26352b 解决冲突 3 anos atrás
  zhangli 2d00440252 接口运行监控页面 ApiIndex 3 anos atrás
  ndbs 45b347d0f1 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  ndbs f6de20adf3 3 anos atrás
  liangkun aa9c5b97a0 飞扬版本通知公告重叠显示样式调整 3 anos atrás
  liangkun 6618f9fa2c Merge branch '西昌分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  liangkun fe2f4cd58d ssosystem index改为拖拽模式 3 anos atrás
  ndbs 2285f8a33c 3 anos atrás
  ndbs 25cbf6e31f 调试cms 3 anos atrás
  ndbs d81e03401b 长阳迎新 3 anos atrás
  ndbs 1e3dad2986 3 anos atrás
  ndbs 0ecad73b21 给手机端添加学生考试安排功能 3 anos atrás
  liangkun 060be715a3 手机端日期显示处理 3 anos atrás
  liangkun 9c60fda45a Merge branch '西昌分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  liangkun 325e515674 增加塔里木config 3 anos atrás
  ndbs f64614af67 手机端排序调整 3 anos atrás
  ndbs 7422beb631 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  ndbs 21d2de4e62 塔里木手机端报错 3 anos atrás
  liangkun e0bae7effc Merge branch '西昌分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  liangkun ffdac5b545 班级开课计划排课对接改sql 3 anos atrás
  ndbs 83c47a0185 手机端考试安排功能 3 anos atrás
  ndbs 3e2de82c91 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  liangkun 3302a5ef0e 塔里木排考按班级按课程汇总 3 anos atrás
  ndbs 76c02202a6 塔里木排序 3 anos atrás
  ndbs 1de8ec3d14 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  ndbs 2d92921c4d 给手机端考试安排添加条件 3 anos atrás
  zhangli 0e2269989a Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  zhangli 02710f6140 更新网上办事大厅JS 3 anos atrás
  ndbs be0e03043b 给手机端添加考试安排功能 3 anos atrás
  ndbs bf33d66ef0 排考明细 和排课汇总排序 3 anos atrás
  liangkun c01b7fd6e5 Merge branch '西昌分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  liangkun 446c0d50dc 考务明细分类显示 3 anos atrás
  ndbs 658812547e Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  ndbs 84db7ad46c 给教师添加排序 3 anos atrás
  liangkun e7007bdbdf Merge branch '西昌分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  liangkun 181a925a22 考试排考明细调整 3 anos atrás
  ndbs 09f019b13c Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  ndbs dd543a7c5a 长阳cms 3 anos atrás
  liangkun e4d40ed3ae Merge branch '西昌分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  liangkun 4818ee0ba1 排考明细 3 anos atrás
  edy 62c6ff8d48 合并 3 anos atrás
  edy 19a6eab69a 班级开课计划 专业开课计划 3 anos atrás
  liangkun 0a4c553e10 合并 3 anos atrás
  liangkun 1772231149 塔里木排考对接 3 anos atrás
  edy e795975ffc 3 anos atrás
  edy 50264020ca 专业开课计划 班级开课计划 3 anos atrás
  liangkun 7f8e8df7f9 Merge branch '西昌分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  liangkun 65fb0acac5 审批人增加部门负责人代码 3 anos atrás
  zhangli e51da4670d 新增 内控指标项管理 3 anos atrás
  zhangli 13b9b5e159 添加 失物招领管理 3 anos atrás
  zhangli 02fe4f63d5 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  zhangli cb0b4702b5 调整带流程的通知公告 3 anos atrás
  edy da35ce9916 合并冲突 3 anos atrás
  edy cf30f415f1 专业开课计划添加树状查询条件 给跳转地址添加判断 3 anos atrás
  zhangli f4d3e3b956 删除误增加文件 3 anos atrás
  zhangli 1a48093303 修改办事大厅拖拽版地址 DragNoLogin 3 anos atrás
  zhangli fc828475d2 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  zhangli d0f53f0342 去掉选择语言的功能 3 anos atrás
  edy bb248bb3d4 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  edy ce17fcecff 添加专业开课计划 3 anos atrás
  zhangli d87794eed8 修改登录页面办事大厅地址 3 anos atrás
  zhangli 88fe9221a8 办事大厅地址修改 3 anos atrás
  zhangli ab16bf94ff Revert "修改登录页网上办事大厅的地址" 3 anos atrás
  zhangli da2ec4bbfc Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  zhangli d9b3246957 修改登录页网上办事大厅的地址 3 anos atrás
  edy a3a1144cdb 公文下发添加下发角色 3 anos atrás
  edy c2eb57b865 发布报错 3 anos atrás
  edy b588e5dbcc Revert "大同煤院发布完成后报错解决方式" 3 anos atrás
  edy 0ba9c340d4 公文下发选择角色 3 anos atrás
  edy e8e2ee5643 大同煤院发布完成后报错解决方式 3 anos atrás
  edy 48752e6032 3 anos atrás
  edy cd7d66004e Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  edy dc4f0ce772 查阅流程 首页桌面下发公文查阅 3 anos atrás
  liangkun 582b8d7b25 Merge branch '西昌分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  liangkun b01e4d1c08 人事信息表单新增部门搜索 3 anos atrás
  edy 890a83e867 党办收文 校办收文 公文下发流程 给公文下发添加角色 3 anos atrás
  edy af96fe4459 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  edy 44e42731f6 给新闻 添加发布到 本地CMS网站新闻功能 3 anos atrás
  zhangli ce3bf19ed0 登录页面修改办事大厅地址 3 anos atrás
  zhangli d7d18eb30b 新增 Ask_TeacherMainEntity 3 anos atrás
  zhangli 415b677340 新增 量表考核 3 anos atrás
  zhangli 62d54f4022 会议管理 3 anos atrás
  zhangli 9597423d98 新增 勤工助学管理--岗位申请审核 3 anos atrás
  zhangli e70f1743b2 新增资源引入、研究指导 3 anos atrás
  zhangli 57569f6bd4 教科研会议管理 3 anos atrás
  zhangli 5c867f7e57 教科研人员管理、教科研组管理 3 anos atrás
  zhangli 50f0715313 新增定制功能--信息看板 3 anos atrás
  zhangli 8c170ee508 同步学生入住宿舍信息【未完成】 3 anos atrás
  zhangli a07acc8008 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  zhangli 0f0d5d21c0 手机端扫码报道的照片改为学籍表中的照片 3 anos atrás
  edy 948340b248 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  edy d73f13cc6f 西昌首页统计 3 anos atrás
  zhangli cd6a1c1a24 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  zhangli 1d8d92f137 学籍管理同步照片 3 anos atrás
  liangkun 7a8a6c1997 人事导入按钮去重 3 anos atrás
  edy 2ad542eb46 3 anos atrás
  edy b2cce326a2 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  edy 52aa863dae 解决手机端 登陆完成后报错 3 anos atrás
  liangkun 51e0a67644 新生报道二维码页面修改辅导员显示问题 3 anos atrás
  liangkun 71ef7d63ba 缴费状态同步修改 3 anos atrás
  edy d5bc1ccc3b 同步缴费 3 anos atrás
  liangkun cbdf1fc519 h5完善信息功能,成员关系赋值问题处理 3 anos atrás
  liangkun 7edc0d1573 学籍管理增加同步系专业功能 3 anos atrás
  liangkun dc0e700130 H5端自动跳转二维码界面 3 anos atrás
  liangkun 78a8af931a 迎新修改,去掉贷款审核 3 anos atrás
  liangkun 380a686844 调整迎新 3 anos atrás
  liangkun 9218faa6ef 招生模块调整 3 anos atrás
  liangkun 68fec24e56 h5完善信息后跳转到报道流程界面 3 anos atrás
  liangkun 08e9a246a6 dragsso移植 3 anos atrás
  liangkun bdaeecec64 修改h5身份证首次登陆修改密码后跳转 3 anos atrás
  edy 523ffaa7f3 输入学生身份证 不得少于8位 3 anos atrás
  edy c1f73b0d85 给完善信息 添加提示 3 anos atrás
  edy 95ed8b7c73 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  edy 5a30385853 修改新生入校流程 页面 3 anos atrás
  liangkun ce0395771f 手机自诊打卡排序 3 anos atrás
  liangkun e8384a214a 疫情记录查询 3 anos atrás
  liangkun 592da33293 添加东莞市市辖区json数据 3 anos atrás
  zhangli 9836870af6 新生信息完善--采集照片 3 anos atrás
  zhangli f3521c2581 Merge branch '西昌分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 西昌分支 3 anos atrás
  zhangli 62d8a750e6 新生信息完善 3 anos atrás
  liangkun 792d387a87 增加自诊打卡导出列表和关联查询 3 anos atrás
  liangkun 1b27ccbc5e 自诊打卡改字 3 anos atrás
  zhangli 7fe0f7fc2c 移动端新生首次登录成功并且修改密码完成跳转至“新生信息完善“ 3 anos atrás
  liangkun 54d43b68cb 西昌公文及默认密码配置从金隅移植 3 anos atrás
  liangkun 325455619b 首页修改临时提交 3 anos atrás
  liangkun 32c74907a1 公文功能与金隅同步 3 anos atrás
  liangkun d20d1f627c 公文收发暂存 3 anos atrás
  liangkun 1eca150309 身份证登录修改与强制密码验证 3 anos atrás
  zhangli f19a1dc8ec 身份证登录改字 3 anos atrás
  zhangli 16d12d5593 身份证登录改字 3 anos atrás
  zhangli d6fb1d0b81 身份验证登录 3 anos atrás
  zhangli 28f089f535 身份验证登录功能 3 anos atrás
  liangkun 0de8db6c35 西昌第三方无ui登录退出接口 3 anos atrás
  liangkun 50478506dc 无ui登录接口 3 anos atrás
  edy 47528e0faf 1 3 anos atrás
  edy bc5adb7930 开户银行显示不准确 3 anos atrás
  edy 94d81f7af8 手机端 个人信息和新生信息相关银行 3 anos atrás
  liangkun 2c1da58170 Revert "手机端 个人信息和新生信息相关银行" 3 anos atrás
  edy 952f06d6b4 手机端 个人信息和新生信息相关银行 3 anos atrás
  edy b18a6bf1a0 添加学籍表,开户银行,银行卡账号,开户银行位置 3 anos atrás
  dyy a0d1b0a79e 【修改】流程任务中的打印表单增加标题; 3 anos atrás
  dyy aa8125a381 【修改】加签页面:部门跟人员调整为可多选;审核页面:加签按钮调整为转审按钮; 3 anos atrás
  dyy 177e90a33d 【修改】多个上传文件预览功能; 3 anos atrás
  dyy 98dd2cb99d 【增加】学子在线:增加学生撤销违纪管理; 3 anos atrás
  dyy 1747f932a1 【修改】学生违纪管理:对接系统流程; 3 anos atrás
  dyy 269d975ba6 【增加】学工信息管理:增加学生违纪管理; 3 anos atrás
  dyy e2c6bef1fd 【增加】学子在线、学工部:增加学生销假管理; 3 anos atrás
  dyy 17e118e8b8 【增加】人事信息管理:增加教师加班管理; 3 anos atrás
  dyy 6c467031b4 【增加】人事信息管理:增加教师销假管理; 3 anos atrás
  dyy d0508a4708 【增加】人事信息管理:教师请假管理; 3 anos atrás
  dyy ae636fdb30 【修改】教师职称管理:关联到教师信息管理;教师信息管理:增加员工状态时间字段; 3 anos atrás
  dyy 525f47e664 【修改】教师证书管理,教师培训信息管理:关联到教师信息管理;教师信息管理-查看表单页面:增加证书信息、培训信息选项卡; 3 anos atrás
  liangkun 2b395bd937 公文接收实体日期修改为可空 3 anos atrás
  liangkun 12c476b113 问卷调查手机端问卷提交方式get改为post 4 anos atrás
  zhichao lei b2b708be7c 资产模块问题修改 4 anos atrás
  zhichao lei 14c71b2729 西昌数据库连接 4 anos atrás
  dyy d10543d3c5 【修改】教师证书管理同步到教师信息管理;教师信息管理取消系部; 4 anos atrás
  dyy 7604d0dbbe 【修改】教师信息管理:增加“人员身份”,“员工状态”列,查询条件修改部门、增加人员身份; 4 anos atrás
  zhichao lei cab7eb3716 西昌资产模块 资产申请 功能完善 4 anos atrás
  liangkun b403e3b51c 调整流程审批历史记录不能完全显示的问题 4 anos atrás
  liangkun 750a9d8290 西昌公文接收列表调整 4 anos atrás
  liangkun 1612951452 修改西昌公文接收指定第一步审批人 4 anos atrás
  liangkun f13bf8f6d9 Merge branch 'master' into 西昌分支 4 anos atrás
  liangkun 3fddff30f0 修复加签第一次无备注问题 4 anos atrás
  liangkun 48c9ad15c8 Merge branch 'master' into 西昌分支 4 anos atrás
  zhichao lei b1a4cde833 Merge remote-tracking branch 'origin/master' into 西昌分支 4 anos atrás
  zhichao lei 8308dfb2c8 资产入库申请 明细不能修改 4 anos atrás
  zhichao lei 7b56d05ad8 西昌资产模块 bug 修改 4 anos atrás
  zhichao lei 6100d59ed2 1 4 anos atrás
  zhichao lei 16398a30e8 打印清单打印显示俩页的问题 4 anos atrás
  zhichao lei 895f440bdf 在册登记资产增加打印清单 4 anos atrás
  zhichao lei 13952e4f10 合并 4 anos atrás
  zhichao lei 1cef81234f 修改清单内容 4 anos atrás
  zhichao lei e1548359e3 合并解决冲突 4 anos atrás
  zhichao lei 97258cd99f 打印清单样式修改 4 anos atrás
  zhichao lei b19a8f0046 资产入库出库 调拨 打印清单 4 anos atrás
  zhichao lei c98cb6698b 入库 出库 做了开头 4 anos atrás
  dyy 49132f488a 【修改】必修课选修课课表同步增加微信推送、飞星推送; 4 anos atrás
  zhichao lei 88c82af2f6 Revert "出库回复老版本" 4 anos atrás
  zhichao lei fe8e443e4e 出库回复老版本 4 anos atrás
100 arquivos alterados com 7074 adições e 1374 exclusões
Visão dividida
  1. +5
    -0
      .gitignore
  2. +21
    -0
      CppProperties.json
  3. +4
    -0
      Learun.Framework.Ultimate
  4. +53
    -230
      Learun.Framework.Ultimate V7/Doc文档/数字化智慧校园3.0部署手册V1.3.docx
  5. +0
    -426
      Learun.Framework.Ultimate V7/Doc文档/数字化智慧校园基础信息接口V1.0.docx
  6. +480
    -0
      Learun.Framework.Ultimate V7/Doc文档/数字化智慧校园基础信息接口V2.0.docx
  7. +69
    -0
      Learun.Framework.Ultimate V7/Doc文档/数字化智慧校园统一身份认证补充接口说明V1.0.docx
  8. +1648
    -0
      Learun.Framework.Ultimate V7/Doc文档/系统文档/表结构设计.dmx
  9. BIN
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/UpgradeLog.htm
  10. +10
    -10
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/config/config.js
  11. +6
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/data/city.js
  12. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/Ask/AskPaper/AskPaper.js
  13. +0
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/ArrangeExamTerm/ArrangeExamTerm.css
  14. +8
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/ArrangeExamTerm/ArrangeExamTerm.html
  15. +74
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/ArrangeExamTerm/ArrangeExamTerm.js
  16. +0
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/ArrangeExamTermNew/ArrangeExamTermNew.css
  17. +8
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/ArrangeExamTermNew/ArrangeExamTermNew.html
  18. +68
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/ArrangeExamTermNew/ArrangeExamTermNew.js
  19. +17
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/StuInfoBasic/StuInfoBasic.html
  20. +195
    -180
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/StuInfoBasic/StuInfoBasic.js
  21. +4
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/StuInfoFresh/RegisterQRCode/RegisterQRCode.html
  22. +17
    -10
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/StuInfoFresh/RegisterQRCode/RegisterQRCode.js
  23. +9
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/StuInfoFresh/StudentLoan/StudentLoan.html
  24. +19
    -8
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/StuInfoFresh/StudentLoan/StudentLoan.js
  25. +3
    -3
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/PersonnelManagement/EpidemicSituationCopy/EpidemicSituationCopy.js
  26. +10
    -10
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/PersonnelManagement/EpidemicSituationCopy/form/form.html
  27. +3
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/PersonnelManagement/EpidemicSituationCopy/form/form.js
  28. +149
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/AbNormalSerious/AbNormalSerious.css
  29. +34
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/AbNormalSerious/AbNormalSerious.html
  30. +46
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/AbNormalSerious/AbNormalSerious.js
  31. +149
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/AbNormalWeak/AbNormalWeak.css
  32. +34
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/AbNormalWeak/AbNormalWeak.html
  33. +45
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/AbNormalWeak/AbNormalWeak.js
  34. +149
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/Normal/Normal.css
  35. +34
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/Normal/Normal.html
  36. +70
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/Normal/Normal.js
  37. +106
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/StudentQRCode.css
  38. +22
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/StudentQRCode.html
  39. +54
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/StudentQRCode.js
  40. +63
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/login/IdCardLogin/IdCardLogin.css
  41. +17
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/login/IdCardLogin/IdCardLogin.html
  42. +104
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/login/IdCardLogin/IdCardLogin.js
  43. +4
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/login/login.html
  44. +5
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/login/login.js
  45. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/my/modifypassword/modifypassword.html
  46. +1
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/my/modifypasswordandnotice/modifypasswordandnotice.css
  47. +34
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/my/modifypasswordandnotice/modifypasswordandnotice.html
  48. +68
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/my/modifypasswordandnotice/modifypasswordandnotice.js
  49. +2
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/notice/notice.html
  50. +2
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/notice/notice.js
  51. +6
    -6
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/notice2/notice2.html
  52. +6
    -6
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/notice2/notice2.js
  53. +245
    -96
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/welcome/welcome.css
  54. +207
    -139
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/welcome/welcome.html
  55. +233
    -137
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/welcome/welcome.js
  56. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/workspace/modulelist/modulelist.js
  57. +10
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/workspace/workspace.html
  58. +21
    -21
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/workspace/workspace/workspace.html
  59. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/scripts/weixinlogin.js
  60. +1
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Organization/Department/DepartmentBLL.cs
  61. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Organization/Department/DepartmentService.cs
  62. +42
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Organization/Role/RoleBLL.cs
  63. +11
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Organization/Role/RoleIBLL.cs
  64. +223
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserBLL.cs
  65. +12
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserEntity.cs
  66. +34
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserIBLL.cs
  67. +148
    -7
      Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserService.cs
  68. +4
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Organization/app.config
  69. +47
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/App_Start/01 Handler/FinaChargeOperatorHelper.cs
  70. +20
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/App_Start/01 Handler/MvcControllerBase.cs
  71. +6
    -8
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AdmissionsPlatform/Views/AP_OnlineUserInfo/DropOutIndex.js
  72. +6
    -8
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AdmissionsPlatform/Views/AP_OnlineUserInfo/PaymentIndex.js
  73. +7
    -9
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AdmissionsPlatform/Views/AP_OnlineUserInfo/RegistrateForm.js
  74. +6
    -8
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AdmissionsPlatform/Views/AP_OnlineUserInfo/RegistrateIndex.js
  75. +6
    -8
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AdmissionsPlatform/Views/AP_OnlineUserInfo/ReportIndex.js
  76. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Controllers/Ask_MainController.cs
  77. +247
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Controllers/Ask_MainOfTeacherController.cs
  78. +38
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/AnswerIndex.cshtml
  79. +88
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/AnswerIndex.js
  80. +46
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/AnswerQuery.cshtml
  81. +217
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/AnswerQuery.js
  82. +48
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/Form.cshtml
  83. +73
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/Form.js
  84. +57
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/Index.cshtml
  85. +237
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/Index.js
  86. +66
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/Paper.cshtml
  87. +77
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/Paper.js
  88. +57
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/PaperAdminView.cshtml
  89. +77
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/PaperAdminView.js
  90. +56
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/PaperView.cshtml
  91. +55
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/PaperView.js
  92. +42
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/TeacherIndex.cshtml
  93. +93
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/TeacherIndex.js
  94. +49
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AssetManagementSystem/Controllers/Ass_AssetsInfoApplyController.cs
  95. +65
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AssetManagementSystem/Controllers/Ass_AssetsInfoController.cs
  96. +63
    -8
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AssetManagementSystem/Controllers/Ass_AssetsOutApplyController.cs
  97. +23
    -3
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AssetManagementSystem/Controllers/Ass_PurchaseApplyController.cs
  98. +49
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AssetManagementSystem/Controllers/Ass_ReceiveController.cs
  99. +1
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AssetManagementSystem/Views/Ass_AssetsInfo/Index.cshtml
  100. +20
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AssetManagementSystem/Views/Ass_AssetsInfo/Index.js

+ 5
- 0
.gitignore Ver arquivo

@@ -79,3 +79,8 @@ Learun.Framework.Ultimate V7/LearunApp-2.2.0/config.js
/Learun.Framework.Ultimate V7/Learun.Application.Mobile/platforms/android/assets/www
/Learun.Framework.Ultimate V7/Learun.Application.Mobile/www.7z
/Learun.Framework.Ultimate V7/Learun.Application.WebApi/bin.7z
/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/QRCode
/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images
/Learun.Framework.Ultimate V7/Learun.Application.WebApi/logs
/Learun.Framework.Ultimate V7/Learun.Application.Web/Log/LogInfo/20250106
/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Log/LogInfo/20250113

+ 21
- 0
CppProperties.json Ver arquivo

@@ -0,0 +1,21 @@
{
"configurations": [
{
"inheritEnvironments": [
"msvc_x64"
],
"name": "x64-Debug",
"includePath": [
"${env.INCLUDE}",
"${workspaceRoot}\\**"
],
"defines": [
"WIN32",
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"intelliSenseMode": "windows-msvc-x64"
}
]
}

+ 4
- 0
Learun.Framework.Ultimate Ver arquivo

@@ -0,0 +1,4 @@
File "F:\项目发布\数校APi\XmlConfig\test.py", line 5
file.write('123')
^
IndentationError: expected an indented block after 'with' statement on line 4

+ 53
- 230
Learun.Framework.Ultimate V7/Doc文档/数字化智慧校园3.0部署手册V1.3.docx Ver arquivo

@@ -1,63 +1,28 @@

数字化智慧校园3.0













部署手册












版本号:V1.3






修订记录
修订时间
修订人
版本号
变更
2019-03-19
梁坤
2019-03-19梁坤
V1.0
新建V1.0
2019-05-10
梁坤
V1.1
新增系统流程配置说明和飞星上传目录要求说明
2019-07-04
梁坤
2019-07-04梁坤
V1.2
新增飞星部署说明,统一身份认证部署说明
2020-09-09
梁坤
2020-09-09梁坤
V1.3
1.新增力软706框架升级部署说明
2.新增海康考勤机连接部署说明
3.修改授权验证功能说明
4.修改系统要求软件环境部分

@@ -98,152 +63,50 @@ V1.3
系统要求
硬件
8GB及以上内存,4核心及以上CPU主频不低于2.0GHz,硬盘空间不低于500GB,其中系统盘剩余空间不低于50GB
操作系统
Windows Server2008R2及以上
软件环境
.NET FrameWork 4.5及以上(力软705版本开始升级到4.6.1及以上)
SQL Server2012及以上
IIS基础模块
Redis 3.2.100及以上

系统部署
8GB及以上内存,4核心及以上CPU主频不低于2.0GHz,硬盘空间不低于500GB,其中系统盘剩余空间不低于50GB操作系统
Windows Server2008R2及以上软件环境
.NET FrameWork 4.5及以上(力软705版本开始升级到4.6.1及以上)SQL Server2012及以上IIS基础模块Redis 3.2.100及以上系统部署
数据库配置
第一步
新建数据库adms7ultimate2和CollegeMISFor30


存储路径修改至较大剩余空间硬盘



新建数据库adms7ultimate2和CollegeMISFor30存储路径修改至较大剩余空间硬盘
第二步
还原数据库,备份文件如下图

分别还原至对应数据库

还原路径一定要选对


选项如下图:


还原数据库,备份文件如下图分别还原至对应数据库还原路径一定要选对选项如下图:
第三步
修改数据库adms7ultimate2中LR_Base_DatabaseLink表内数据,内有连接字符串修改正确。


LR_Base_User表内数据只保留system帐号,其余做删除处理:

LR_Base_Module表中F_UrlAddress地址替换成后续部署mis系统的端口和ip:

Sql语句:update LR_Base_Module set F_UrlAddress=replace(F_UrlAddress,'192.168.1.126:9000','192.168.60.128:8082')
修改数据库adms7ultimate2中LR_Base_DatabaseLink表内数据,内有连接字符串修改正确。LR_Base_User表内数据只保留system帐号,其余做删除处理:
LR_Base_Module表中F_UrlAddress地址替换成后续部署mis系统的端口和ip:Sql语句:update LR_Base_Module set F_UrlAddress=replace(F_UrlAddress,'192.168.1.126:9000','192.168.60.128:8082')
Sql语句按实际情况修改
第四步
同步学校基础数据到CollegeMISFor30中(使用系统导入、数据库导入功能均可)
常用表:

排课数据ArrangeLessonTerm
系CdDept
专业CdMajor
课程分类CdLessonSort,CdLessonSortDetail
课程LessonInfo
班级ClassInfo
教学楼ClassroomBuilding
教室ClassroomInfo
班主任ClassInfoDiredctor
教师EmpInfo
学生StuInfoBasic

注意:学生和教师表内,checkmark必须是true才能生成帐号
同步学校基础数据到CollegeMISFor30中(使用系统导入、数据库导入功能均可)常用表:排课数据ArrangeLessonTerm
系CdDept专业CdMajor课程分类CdLessonSort,CdLessonSortDetail课程LessonInfo班级ClassInfo教学楼ClassroomBuilding教室ClassroomInfo班主任ClassInfoDiredctor教师EmpInfo学生StuInfoBasic注意:学生和教师表内,checkmark必须是true才能生成帐号
性别1男0女,旧系统一般是1男2女,注意修改数据
教师表中F_CompanyId和F_DepartmentId分别对应adms7ultimate2库的LR_Base_Company表(学校校区表)的对应id,LR_Base_Department(部门)的对应id
学生表中F_SchoolId对应adms7ultimate2库的LR_Base_Company表(学校校区表)的对应id,DeptNo对应CollegeMIS库的系CdDept 的DeptNo,否则生成帐号会生成出错!

IIS配置
网站组成
全部系统需要部署4个网站如下图:

分别对应:高职20190311web、WebPublish、WebAPIPublish、www四个压缩包。
全部系统需要部署4个网站如下图:分别对应:高职20190311web、WebPublish、WebAPIPublish、www四个压缩包。
网站程序池配置
Mis系统需要选择2.0集成,且启用32位,图:




其余三个系统需要4.0集成,同样启用32位。

Mis系统需要选择2.0集成,且启用32位,图:其余三个系统需要4.0集成,同样启用32位。
注意:有时还需要配置文件目录权限如下图:


配置文件修改
网站数据库配置:
新增定时库配置
网站数据库配置:新增定时库配置
<add name="hangfireString" connectionString="Server=192.168.2.126;Initial Catalog=Hangfire;User ID=sa;Password=bjqj@2015!" providerName="System.Data.SqlClient" />

Mis系统修改三处Web.config中,如下图:

以下网站修改xmlconfig目录下的database.config配置:


和system.config配置:

workflowapi修改为对应的服务器ip地址,跳转地址指向mis系统ip和端口。
AnnexesFile 修改为部署服务器的Resource文件夹下,否则会影响飞星。

手机h5网站即站,修改config下config.js文件:

Webapi指向api站,web指向主网站
系统流程使用配置
Mis系统修改三处Web.config中,如下图:以下网站修改xmlconfig目录下的database.config配置:和system.config配置:workflowapi修改为对应的服务器ip地址,跳转地址指向mis系统ip和端口。AnnexesFile 修改为部署服务器的Resource文件夹下,否则会影响飞星。手机h5网站即站,修改config下config.js文件:
Webapi指向api站,web指向主网站系统流程使用配置
系统流程是为了配合框架中个人办公-》我的任务-》代办任务中(即工作流)实现一些提交审核数据的功能,系统开发时已经内置了默认的流程,如需修改配套的流程,请详细阅读并按照下面的步骤谨慎修改。
第一步:了解使用系统流程的功能和对应的路径如如下:
采购申请

入库申请

出库申请

公文下发

第二步:编辑对应的index.js最下方代码,如图:

修改红圈处模板编号为系统中对应的流程模板编号,流程功能如下图:


新建系统调用流程时,要注意选择系统流程,模板编号要和index.js相对应,否则会造成工作流功能工作不稳定甚至紊乱。

第三步:配置各节点的表单,如下图所示:
开始节点和中间审批节点添加表单,类型选择系统表单,地址填写对应的功能目录的FormView。

最后审批节点需要额外配置【绑定方法】,如下图:


绑定方法见下表:(大小写区分且不能有空格)
第一步:了解使用系统流程的功能和对应的路径如如下:采购申请入库申请出库申请公文下发第二步:编辑对应的index.js最下方代码,如图:修改红圈处模板编号为系统中对应的流程模板编号,流程功能如下图:新建系统调用流程时,要注意选择系统流程,模板编号要和index.js相对应,否则会造成工作流功能工作不稳定甚至紊乱。
第三步:配置各节点的表单,如下图所示:开始节点和中间审批节点添加表单,类型选择系统表单,地址填写对应的功能目录的FormView。最后审批节点需要额外配置【绑定方法】,如下图:绑定方法见下表:(大小写区分且不能有空格)
系统功能
绑定方法
备注
采购申请
Ass_PurchaseApplyMethod

入库申请
Ass_AssetsInfoApplyMethod

出库申请
Ass_AssetsOutApplyMethod

公文下发
Sys_SendFileMethod





应用程序配置
采购申请Ass_PurchaseApplyMethod入库申请
Ass_AssetsInfoApplyMethod出库申请
Ass_AssetsOutApplyMethod公文下发
Sys_SendFileMethod应用程序配置
配置文件
WorkFlow下Learun.Application.WorkFlowServer.exe.config文件修改:


管理员方式运行Learun.Application.WorkFlowServer.exe开启服务。
WorkFlow下Learun.Application.WorkFlowServer.exe.config文件修改:管理员方式运行Learun.Application.WorkFlowServer.exe开启服务。
统一身份认证配置
<!-- ================== 统一身份认证公钥密钥 ================== -->
<add key="SSOPublicSecret" value="bjquanjiang" />
@@ -302,35 +165,19 @@ Webapi配置变更
第一步,首先更新版本程序
第二步,使用Quanjiang.DigitalScholl.DataSync.exe数据库同步工具同步客户数据库到最新(由于数据库操作风险巨大,具体使用时联系开发人员配合同步)
第三步,参照最新程序修改XmlConfig下system.config、ioc.config,根目录下Web.config文件
第四步,如果出现授权验证失败,需要重新进行授权。
飞星部署
第四步,如果出现授权验证失败,需要重新进行授权。飞星部署
服务端
飞星服务端属于exe可执行文件,运行前先配置配置文件GoChat.Server.exe.config:
<add key="serverAddress" value="*:8866" />(一般情况不要动)
飞星服务端属于exe可执行文件,运行前先配置配置文件GoChat.Server.exe.config:<add key="serverAddress" value="*:8866" />(一般情况不要动)
然后以管理员身份运行GoChat.Server.exe后,如下图:

点击服务控制,切换到该选项卡,点击启动即可


客户端
最新客户端安装包,请到公司群文件里下载,注意下载最新版本号的 飞星客户端.exe
安装后,需要先配置服务器,点击登录界面右上角设置按钮,如下图:



通信服务器内网(外网)地址:运行飞星服务端程序的服务器ip地址+端口号,例如:
123.57.209.16:8866 127.0.0.1:8866
通信服务器数据地址:数字化校园API网站地址+端口号,例如:123.57.209.16:31173 192.168.2.126:8083
请务必注意配置正确,否则无法正常登录飞星。
配置完成后,输入数字化校园教师帐号密码即可登录。

软件授权
最新客户端安装包,请到公司群文件里下载,注意下载最新版本号的 飞星客户端.exe安装后,需要先配置服务器,点击登录界面右上角设置按钮,如下图:
通信服务器内网(外网)地址:运行飞星服务端程序的服务器ip地址+端口号,例如:123.57.209.16:8866 127.0.0.1:8866通信服务器数据地址:数字化校园API网站地址+端口号,例如:123.57.209.16:31173 192.168.2.126:8083请务必注意配置正确,否则无法正常登录飞星。配置完成后,输入数字化校园教师帐号密码即可登录。软件授权
泉江授权程序
程序名称Quanjiang.DigitalScholl.License.exe
本程序为可执行文件,无需配置
授权成功后,会在客户机主网站bin目录下,生成后缀为.bjqj的加密授权文件,授权分为永久授权和限时授权,不勾选是否限时即为永久授权。

说明:
程序名称Quanjiang.DigitalScholl.License.exe本程序为可执行文件,无需配置授权成功后,会在客户机主网站bin目录下,生成后缀为.bjqj的加密授权文件,授权分为永久授权和限时授权,不勾选是否限时即为永久授权。说明:
1.首先部署好数字化校园3.0主程序,浏览器打开:http://部署地址/ShowRegister
2.运行授权器,将上一步得到的机器码填写至注册器机器码文本框内。
3.如果有使用期限,选择好到期时间,如果没有使用期限,请将限时复选框去掉。
@@ -338,17 +185,9 @@ Webapi配置变更
5.重新运行部署的数字化校园。
6.!!!!严重警告!!!!此软件禁止放在部署机上!!!!此软件严禁外传!!!!
7. 在力软705版本后增加了网络授权验证,客户机除了要进行上述的本地授权外,还需要进行网络授权
步骤1:打开授权网站http://123.57.209.16:8061/ 用户名:联系泉江获取 密码:联系泉江获取 并登录。
步骤2:打开功能并新增授权

步骤3:填写相关信息并保存(机器码即运行数校http://部署地址/ShowRegister获得的机器码)

步骤4:重新访问数字化智慧校园系统验证授权是否正确。
定时服务部署
步骤1:打开授权网站http://123.57.209.16:8061/ 用户名:联系泉江获取 密码:联系泉江获取 并登录。步骤2:打开功能并新增授权步骤3:填写相关信息并保存(机器码即运行数校http://部署地址/ShowRegister获得的机器码)步骤4:重新访问数字化智慧校园系统验证授权是否正确。定时服务部署
部署
本程序为Windows服务,即运行在系统底层的程序,可随系统启动,安装后需要手动启动,设置为自动运行,程序名称Quanjiang.DigitalScholl.JobService.exe
先修改配置文件
Quanjiang.DigitalScholl.JobService.exe.config中的连接字符串到部署服务器
本程序为Windows服务,即运行在系统底层的程序,可随系统启动,安装后需要手动启动,设置为自动运行,程序名称Quanjiang.DigitalScholl.JobService.exe先修改配置文件Quanjiang.DigitalScholl.JobService.exe.config中的连接字符串到部署服务器
<add name="BaseDb" connectionString="Server=192.168.2.126;Initial Catalog=adms7ultimate2;User ID=sa;Password=bjqj@2015!" providerName="System.Data.SqlClient" />
<add name="CollegeMIS" connectionString="Server=192.168.2.126;Initial Catalog=CollegeMIS;User ID=sa;Password=bjqj@2015!" providerName="System.Data.SqlClient" />
<add name="HangfireConnString" connectionString="Server=192.168.2.126;Initial Catalog=Hangfire;User ID=sa;Password=bjqj@2015!" providerName="System.Data.SqlClient" />
@@ -356,11 +195,7 @@ Quanjiang.DigitalScholl.JobService.exe.config中的连接字符串到部署服
<add key="dbbackuppath" value="主网站部署地址\Resource\DataBaseBackup" />
如需要部署海康考勤机还需要配置:
<add key="AttendancePhotoPath" value="主网站部署地址\Resource\AttendancePhoto" />
部署方法:
第一步,以管理员身份运行cmd
第二步,进入服务程序路劲 cd 盘符\目录\Quanjiang.DigitalScholl.JobService\bin\Debug回车
第三步,盘符 回车
第四步,%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe Quanjiang.DigitalScholl.JobService.exe 回车,提示安装成功。
部署方法:第一步,以管理员身份运行cmd第二步,进入服务程序路劲 cd 盘符\目录\Quanjiang.DigitalScholl.JobService\bin\Debug回车第三步,盘符 回车第四步,%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe Quanjiang.DigitalScholl.JobService.exe 回车,提示安装成功。

第五步,打开Windows服务,找到安装的服务

@@ -373,52 +208,40 @@ Quanjiang.DigitalScholl.JobService.exe.config中的连接字符串到部署服
卸载后,刷新Windows服务 应看不到本服务程序说明卸载成功,否则需要重启。

海康考勤机部署要求
首先确保数字化校园主站运行正常。
步骤1 配置考勤机参数。打开功能【考勤设备管理】

步骤2 配置考勤机参数,系统仅对启用设备进行连接操作

步骤3 部署【DigitalSchoolApi】网站,并保证正常运行。
步骤4 复制【海康考勤机必须文件】下的所有文件、文件夹到Quanjiang.DigitalScholl.JobService.exe所在目录。
首先确保数字化校园主站运行正常。步骤1 配置考勤机参数。打开功能【考勤设备管理】步骤2 配置考勤机参数,系统仅对启用设备进行连接操作步骤3 部署【DigitalSchoolApi】网站,并保证正常运行。步骤4 复制【海康考勤机必须文件】下的所有文件、文件夹到Quanjiang.DigitalScholl.JobService.exe所在目录。
步骤5 复制DigitalSchoolApi内三个文件到Quanjiang.DigitalScholl.JobService.exe所在目录。
步骤6 运行服务
检查是否部署
运行数字化校园主网站ip+端口/hangfire
查看服务器

显示上图即为服务正常,否则服务没运行正常。
DigitalSchoolApi部署
运行数字化校园主网站ip+端口/hangfire查看服务器显示上图即为服务正常,否则服务没运行正常。DigitalSchoolApi部署
部署
本程序为Web应用程序,部署方式同数字化智慧校园系统。
对接考勤机的客户需要修改Web.config下【AttendancePhotoPath】配置节到数字化智慧校园网站根目录下Resource目录(同步修改【定时服务程序下】Quanjiang.DigitalScholl.JobService.exe.config文件的对应配置)
<add key="AttendancePhotoPath" value="数字化智慧校园网站根目录\Resource\AttendancePhoto"/>
程序实现了定时任务的新增,是配合【定时服务】运行的必要系统,程序包含如下图所示的功能:
1.监控功能:部署地址/hangfire

2.任务操作功能:部署地址/swagger

School基础接口包含了几个教务所需的接口,可对外提供使用。


YKT接口包含西昌学校门禁一卡通、图书馆系统数据同步定时同步任务,金隅学校一卡通消费记录定时同步任务,海康考勤机连接任务等,可根据不同学校需求具体操作。


程序实现了定时任务的新增,是配合【定时服务】运行的必要系统,程序包含如下图所示的功能:1.监控功能:部署地址/hangfire2.任务操作功能:部署地址/swaggerSchool基础接口包含了几个教务所需的接口,可对外提供使用。YKT接口包含西昌学校门禁一卡通、图书馆系统数据同步定时同步任务,金隅学校一卡通消费记录定时同步任务,海康考勤机连接任务等,可根据不同学校需求具体操作。
海康考勤机连接
第一步,单击展开:
第一步,单击展开:第二步,点击按钮:第三步,点击执行:第四步,查看结果:显示返回200 OK即为成功第五步,确认是否加入定时服务,转到 【DigitalSchoolApi】部署地址/hangfire 查看【周期性作业】确认作业【HKAttendance】存在部署完成。第六步,启动【定时服务】第七步,查看数字化智慧校园系统中的考勤设备管理列表,是否布防和最后通讯时间,确认布防状态(是),最后通讯时间接近当前时间为连接成功,否则说明链接设备出现问题考勤机连接日志
连接日志存储与CollegeMIS数据库,ADR_DeviceLog表中,查看该表数据可以快速判定考勤机部署连接过程中出现的错误、问题。CMS部署及配置
安装cms步骤
https://sscms.com/docs/v6/getting-started/#/how-to-install-siteserver-cms

第二步,点击按钮:
下发公文 步骤
打开 xmlconfig文件夹下 有一个 system.config文件
如果没有下图配置请添加
如果有的话请根据实际情况修改
<!--下发新闻配置-->
<add key="SiteId" value="39"/>
<add key="ChannelId" value="6"/>
<add key="ApiKey" value="fafc361a-40c1-4060-8eee-ea796640c39c"/>

第三步,点击执行:

第四步,查看结果:显示返回200 OK即为成功
如上图所示 给首页下学校简历添加素材
SiteId为39
ChannelId为44

第五步,确认是否加入定时服务,转到 【DigitalSchoolApi】部署地址/hangfire 查看【周期性作业】
ApiKey配置
打开后台 系统管理---权限控制---Api秘钥管理

确认作业【HKAttendance】存在部署完成。
第六步,启动【定时服务】
第七步,查看数字化智慧校园系统中的考勤设备管理列表,是否布防和最后通讯时间,确认布防状态(是),最后通讯时间接近当前时间为连接成功,否则说明链接设备出现问题

打开此页面 点击 获取秘钥 秘钥并更改秘钥配置文件

考勤机连接日志
连接日志存储与CollegeMIS数据库,ADR_DeviceLog表中,查看该表数据可以快速判定考勤机部署连接过程中出现的错误、问题。



+ 0
- 426
Learun.Framework.Ultimate V7/Doc文档/数字化智慧校园基础信息接口V1.0.docx Ver arquivo

@@ -1,426 +0,0 @@


数字化智慧校园



基础信息接口



V1.0

接口服务器:
学校服务器,部署地址:http://112.45.152.8:8083/


调用方式:
标准http get请求
返回数据类型:
标准json
返回数据结构
主要关心code和data即可

属性
返回值
备注
code
200(int)
200成功 其余失败
info
响应成功(string)
状态描述
data
业务数据(object)
业务数据

部门接口
地址:http:// /arrangelesson/department
主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
F_DepartmentId
GUID (string)
GUID部门ID
F_ParentId
上级部门ID(string)
-1和0均代表根
F_EnCode
部门编号(string)
部门编号
F_FullName
部门全称(string)

F_ShortName
部门简称(string)


F_Manager
负责人(string)


F_OuterPhone
电话(string)



教师信息接口
地址:http://部署地址/arrangelesson/allteacher
主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
EmpId
GUID (string)
GUID教师ID
EmpNo
教职工编号(string)

EmpName
职工姓名(string)

GenderNo
性别(bool)
true男false女

Birthday
生日(datetime)


F_DepartmentId
部门ID(string)


mobile
电话(string)




学生信息接口
地址:http://部署地址/arrangelesson/allstudent
主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
StuId
GUID (string)
GUID学生ID
StuNo
学生编号(string)

StuName
姓名(string)

ksh
考生号(string)


GenderNo
性别(bool)
true男false女

Birthday
生日(datetime)


mobile
电话(string)


IdentityCardNo
身份证号(string)


DeptNo
系部编号(string)


MajorNo
专业编号(string)


Grade
级别(18代表2018级,19表示2019级)(string)


ClassNo
班级编号(string)



系部接口
地址:http://部署地址/arrangelesson/alldept
主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
DeptId
GUID (string)
GUID系部ID
DeptNo
系部编号(string)

DeptName
系部名称(string)


专业接口
地址:http://部署地址/arrangelesson/allmajor
主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
ID
GUID (string)
GUID专业ID
MajorNo
专业编号(string)

MajorName
专业名称(string)

DeptNo
系部编号(string)


校区接口
地址:http://部署地址/arrangelesson/allschool
主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
F_CompanyId
GUID (string)
GUID校区ID
F_FullName
校区名称(string)


班级接口
地址:http://部署地址/arrangelesson/allclass
主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
ClassId
GUID (string)
GUI班级ID
ClassNo
班级编号(string)

ClassName
班级名称(string)

DeptNo
系部编号(string)


MajorNo
专业编号(string)


Grade
级别(18代表2018级,19表示2019级)(string)



用户接口
地址:http://部署地址/arrangelesson/alluser
主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
F_UserId
GUID (string)
GUI用户ID
ClassNo
班级编号(string)


F_CompanyId
校区Id(string)


F_Description
用户类型(string)
2教师,3学生

F_RealName
姓名(string)


F_Account
登录帐号(string)


Year
级别(string)
2018代表2018年入学



课程接口
地址:http://部署地址/arrangelesson/alllesson
主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
LessonId
GUID (string)
GUI课程ID
LessonNo
课程编号(string)

LessonName
课程名称(string)

LessonSortNo
课程类型(string)
1必修,2选修

F_SchoolId
校区Id(string)






必修开课计划接口
地址:http://部署地址/arrangelesson/allclasslesson
所需参数:AcademicYearNo=19-20&Semester=1
参数名称
备注
AcademicYearNo
19-20
代表学年19-20、18-19等
Semester
1、2
学期1、2
主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
F_SchoolId
校区Id(string)


DeptNo
系部编号(string)


MajorNo
专业编号(string)


LessonNo
课程编号(string)


LessonName
课程名称(string)


EmpNo
代课老师编号(string)


EmpName
代课老师姓名(string)


TeachClassNo
班级编号(string)


ClassRoomNo
教室编号(string)


LessonTime
上课节次(string)
11代表星期一第一节,12星期一第二节


学生选修选课接口
地址:http://部署地址/arrangelesson/allelelectivelesson
所需参数:AcademicYearNo=19-20&Semester=1
参数名称
备注
AcademicYearNo
19-20
代表学年19-20、18-19等
Semester
1、2
学期1、2

主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
StuNo
学号(string)


LessonNo
课程编号(string)


EmpNo
代课老师编号(string)


ClassRoomNo
教室编号(string)


LessonSection
上课节次(string)
37,38代表星期3第七节、第八节上课

LessonTime
上课时间(string)
16:20-17:05,17:15-18:00 两节课的时间




+ 480
- 0
Learun.Framework.Ultimate V7/Doc文档/数字化智慧校园基础信息接口V2.0.docx Ver arquivo

@@ -0,0 +1,480 @@


数字化智慧校园



基础信息接口



V2.0

接口服务器:
学校服务器,部署地址:http://127.0.0.1:9002/


调用方式:
标准http get请求,数据接口需要在header中传参 token,否则无数据返回。
返回数据类型:
标准json
返回数据结构
主要关心code和data即可

属性
返回值
备注
code
200(int)
200成功 其余失败
info
响应成功(string)
状态描述
data
业务数据(object)
业务数据

获取TOKEN
地址:http://部署地址/arrangelesson/gettoken?sysid=1 sysid向管理员获取
属性
返回值
备注
code
200(int)
200成功 其余失败
info
响应成功(string)
状态描述
data
业务数据(object)
业务数据


部门接口
地址:http://部署地址/arrangelesson/department
主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
F_DepartmentId
GUID (string)
GUID部门ID
F_ParentId
上级部门ID(string)
-1和0均代表根
F_EnCode
部门编号(string)
部门编号
F_FullName
部门全称(string)

F_ShortName
部门简称(string)


F_Manager
负责人(string)


F_OuterPhone
电话(string)



教师信息接口
地址:http://部署地址/arrangelesson/allteacher
主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
EmpId
GUID (string)
GUID教师ID
EmpNo
教职工编号(string)

EmpName
职工姓名(string)

GenderNo
性别(bool)
true男false女

Birthday
生日(datetime)


F_DepartmentId
部门ID(string)


mobile
电话(string)




学生信息接口
地址:http://部署地址/arrangelesson/allstudent
主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
StuId
GUID (string)
GUID学生ID
StuNo
学生编号(string)

StuName
姓名(string)

ksh
考生号(string)


GenderNo
性别(bool)
true男false女

Birthday
生日(datetime)


mobile
电话(string)


IdentityCardNo
身份证号(string)


DeptNo
系部编号(string)


MajorNo
专业编号(string)


Grade
级别(18代表2018级,19表示2019级)(string)


ClassNo
班级编号(string)



系部接口
地址:http://部署地址/arrangelesson/alldept
主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
DeptId
GUID (string)
GUID系部ID
DeptNo
系部编号(string)

DeptName
系部名称(string)


专业接口
地址:http://部署地址/arrangelesson/allmajor
主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
ID
GUID (string)
GUID专业ID
MajorNo
专业编号(string)

MajorName
专业名称(string)

DeptNo
系部编号(string)


校区接口
地址:http://部署地址/arrangelesson/allschool
主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
F_CompanyId
GUID (string)
GUID校区ID
F_FullName
校区名称(string)


班级接口
地址:http://部署地址/arrangelesson/allclass
主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
ClassId
GUID (string)
GUI班级ID
ClassNo
班级编号(string)

ClassName
班级名称(string)

DeptNo
系部编号(string)


MajorNo
专业编号(string)


Grade
级别(18代表2018级,19表示2019级)(string)



用户接口
地址:http://部署地址/arrangelesson/alluser
主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
F_UserId
GUID (string)
GUI用户ID
ClassNo
班级编号(string)


F_CompanyId
校区Id(string)


F_Description
用户类型(string)
2教师,3学生

F_RealName
姓名(string)


F_Account
登录帐号(string)


Year
级别(string)
2018代表2018年入学



课程接口
地址:http://部署地址/arrangelesson/alllesson
主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
LessonId
GUID (string)
GUI课程ID
LessonNo
课程编号(string)

LessonName
课程名称(string)

LessonSortNo
课程类型(string)
1必修,2选修

F_SchoolId
校区Id(string)






必修开课计划接口
地址:http://部署地址/arrangelesson/allclasslesson
所需参数:AcademicYearNo=19-20&Semester=1
参数名称
备注
AcademicYearNo
19-20
代表学年19-20、18-19等
Semester
1、2
学期1、2
主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
F_SchoolId
校区Id(string)


DeptNo
系部编号(string)


MajorNo
专业编号(string)


LessonNo
课程编号(string)


LessonName
课程名称(string)


EmpNo
代课老师编号(string)


EmpName
代课老师姓名(string)


TeachClassNo
班级编号(string)


ClassRoomNo
教室编号(string)


LessonTime
上课节次(string)
11代表星期一第一节,12星期一第二节


学生选修选课接口
地址:http://部署地址/arrangelesson/allelelectivelesson
所需参数:AcademicYearNo=19-20&Semester=1
参数名称
备注
AcademicYearNo
19-20
代表学年19-20、18-19等
Semester
1、2
学期1、2

主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
StuNo
学号(string)


LessonNo
课程编号(string)


EmpNo
代课老师编号(string)


ClassRoomNo
教室编号(string)


LessonSection
上课节次(string)
37,38代表星期3第七节、第八节上课

LessonTime
上课时间(string)
16:20-17:05,17:15-18:00 两节课的时间


根据身份证号更新照片接口
标准http post请求
地址:
http://部署地址/EducationalAdministration/EmpRegister/updatePhotoByIdCard
所需参数:(限制一次最多传值50条)

参数名称
备注
IdCard

身份证号
PhotoUrl

照片地址
IdentityFlag
1、2
身份标识(1老师,2学生)

主要业务数据 其余字段可忽略
属性
返回值
备注
可否为空
IdCard

身份证号

OperateFlag
true , false
操作标识(true更新成功,false更新失败)

FailMsg

更新失败原因





+ 69
- 0
Learun.Framework.Ultimate V7/Doc文档/数字化智慧校园统一身份认证补充接口说明V1.0.docx Ver arquivo

@@ -0,0 +1,69 @@


数字化智慧校园





统一身份认证补充接口






V1.0






概述
根据特定需求开发补充接口
登录接口
采用标准Http GET 请求发送用户名、密码到认证接口,接口实现用户名密码判定后返回标准json;

请求地址:http://112.45.152.8:8000/Login/CheckLoginForSSOBC
请求方式:发送标准Http GET请求到认证地址

接口请求参数
参数
说明
u
用户名
p
密码

认证接口返回参数
参数
说明
code
状态码 返回200成功、其他失败
info
状态消息 返回login success表示登录成功、其他失败
data
保留 暂时无用

登录成功后,认证服务器将在用户浏览器cookies中写入数字化智慧校园系统数据,第三方系统可直接跳转到http://112.45.152.8:8000/Home/Index 进入数字化智慧校园系统。

退出登录接口
第三方系统退出时,需要主动调用退出登录接口以同步数字化智慧校园系统退出状态。
采用标准Http POST 请求,返回标准json;

请求地址:http://112.45.152.8:8000/Login/OutLoginForSSOBC
请求方式:发送标准Http POST请求到认证地址

接口请求参数:无

认证接口返回参数
参数
说明
code
状态码 返回200成功、其他失败
info
状态消息 返回logout success表示退出成功、其他失败
data
保留 暂时无用


+ 1648
- 0
Learun.Framework.Ultimate V7/Doc文档/系统文档/表结构设计.dmx
Diferenças do arquivo suprimidas por serem muito extensas
Ver arquivo


BIN
Learun.Framework.Ultimate V7/Learun.Application.Mobile/UpgradeLog.htm Ver arquivo


+ 10
- 10
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/config/config.js Ver arquivo

@@ -1,15 +1,15 @@
var config = {
webapi: 'http://localhost:8088/',
web: "http://localhost:8087/"//web地址,用于配置logo
};
//var config = {
// var config = {
// webapi: 'http://localhost:8080/',
// web: "http://localhost:8082/"//web地址,用于配置logo
// };
// var config = {
// webapi: 'http://112.230.201.53:31173/',
// web:"http://112.230.201.53/:8081/"//web地址,用于配置logo
//};
//var config = {
// webapi: 'http://localhost:31173/',
// web: "http://localhost:20472/"//web地址,用于配置logo
//};
// };
var config = {
webapi: 'http://10.30.0.10:9002/',
web: "http://10.30.0.10:8000/"//web地址,用于配置logo
};


//var config = {


+ 6
- 2
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/data/city.js Ver arquivo

@@ -1,4 +1,4 @@
var cityData = [{
var cityData = [{
value: '110000',
text: '北京市',
children: [{
@@ -7242,7 +7242,11 @@
}]
}, {
value: "441900",
text: "东莞市"
text: "东莞市",
children: [{
value: "441901",
text: "市辖区"
}]
}, {
value: "442000",
text: "中山市"


+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/Ask/AskPaper/AskPaper.js Ver arquivo

@@ -92,7 +92,7 @@
return
}
// return
learun.httpget(path + "/learun/ask/savepaper",
learun.httppost(path + "/learun/ask/savepaper",
{
VID: param.VID,
LessonNo: param.LessonNo,


Learun.Framework.Ultimate V7/packages/System.Numerics.Vectors.4.4.0/lib/MonoAndroid10/_._ → Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/ArrangeExamTerm/ArrangeExamTerm.css Ver arquivo


+ 8
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/ArrangeExamTerm/ArrangeExamTerm.html Ver arquivo

@@ -0,0 +1,8 @@
<div class="lr-page lr-ArrangeExamTermNew-page">
<div class="lr-page-tool">
<div class="lr-tool-left">
总共<span class="lr-badge lr-badge-primary">0</span>条
</div>
</div>
<div class="lr-page-content" id="lr_list"></div>
</div>

+ 74
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/ArrangeExamTerm/ArrangeExamTerm.js Ver arquivo

@@ -0,0 +1,74 @@
(function() {
var multipleData = null;
var page = {
grid: null,
init: function($page) {
page.grid = $page.find('#lr_list').lrpagination({
lclass: page.lclass,
rows: 10, // 每页行数
getData: function(param, callback) { // 获取数据 param 分页参数,callback 异步回调
param.multipleData = multipleData;
page.loadData(param, callback, $page);
},
renderData: function(_index, _item, _$item) { // 渲染数据模板
return page.rowRender(_index, _item, _$item, $page);
},
});
},
lclass: 'lr-list',
loadData: function(param, callback, $page) { // 列表加载后台数据
var _postParam = {
pagination: {
rows: param.rows,
page: param.page,
sidx: 'ExamDate,ExamTime,LessonNo,EmpNo,ClassRoomName,SitNumber',
sord: 'asc',
},
queryJson: '{}'
};
if (param.multipleData) {
_postParam.queryJson = JSON.stringify(multipleData);
}

var baseUser = JSON.parse(localStorage.userinfo);
_postParam.queryJson = JSON.stringify({ StuNo: baseUser.baseinfo.account });
learun.httpget(config.webapi + '/learun/ask/teststulist', _postParam, (data) => {
$page.find('.lr-badge').text('0');
if (data) {
$page.find('.lr-badge').text(data.records);
callback(data.rows, parseInt(data.records));
} else {
callback([], 2);
}
});
},
rowRender: function(_index, _item, _$item, $page) { // 渲染列表行数据
_$item.addClass('lr-list-item lr-list-item-multi');
_$item.append($('<p class="lr-ellipsis"><span>考试日期:</span></p>').dataFormatter({
value: _item.ExamDate,
type: 'datetime',
dateformat: 'yyyy-MM-dd'
}));
_$item.append($('<p class="lr-ellipsis"><span>考试时间:</span></p>').dataFormatter({
value: _item.ExamTime
}));
_$item.append($('<p class="lr-ellipsis"><span>课程编号:</span></p>').dataFormatter({
value: _item.LessonNo
}));
_$item.append($('<p class="lr-ellipsis"><span>课程名称:</span></p>').dataFormatter({
value: _item.LessonName
}));
_$item.append($('<p class="lr-ellipsis"><span>监考老师:</span></p>').dataFormatter({
value: _item.EmpName
}));
_$item.append($('<p class="lr-ellipsis"><span>教室名称:</span></p>').dataFormatter({
value: _item.ClassRoomName
}));
_$item.append($('<p class="lr-ellipsis"><span>座位编号:</span></p>').dataFormatter({
value: _item.SitNumber
}));
return '';
},
};
return page;
})();

Learun.Framework.Ultimate V7/packages/System.Numerics.Vectors.4.4.0/lib/MonoTouch10/_._ → Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/ArrangeExamTermNew/ArrangeExamTermNew.css Ver arquivo


+ 8
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/ArrangeExamTermNew/ArrangeExamTermNew.html Ver arquivo

@@ -0,0 +1,8 @@
<div class="lr-page lr-ArrangeExamTermNew-page">
<div class="lr-page-tool">
<div class="lr-tool-left">
总共<span class="lr-badge lr-badge-primary">0</span>条
</div>
</div>
<div class="lr-page-content" id="lr_ArrangeExamTerm_list"></div>
</div>

+ 68
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/ArrangeExamTermNew/ArrangeExamTermNew.js Ver arquivo

@@ -0,0 +1,68 @@
(function() {
var multipleData = null;
var page = {
grid: null,
init: function($page) {
page.grid = $page.find('#lr_ArrangeExamTerm_list').lrpagination({
lclass: page.lclass,
rows: 10, // 每页行数
getData: function(param, callback) { // 获取数据 param 分页参数,callback 异步回调
param.multipleData = multipleData;
page.loadData(param, callback, $page);
},
renderData: function(_index, _item, _$item) { // 渲染数据模板
return page.rowRender(_index, _item, _$item, $page);
},
});
},
lclass: 'lr-list',
loadData: function(param, callback, $page) { // 列表加载后台数据
var _postParam = {
pagination: {
rows: param.rows,
page: param.page,
sidx: 'ExamDate,ExamTime,LessonNo,ClassRoomName',
sord: 'asc',
},
queryJson: '{}'
};
if (param.multipleData) {
_postParam.queryJson = JSON.stringify(multipleData);
}

var baseUser = JSON.parse(localStorage.userinfo);
_postParam.queryJson = JSON.stringify({ EmpNo: baseUser.baseinfo.account });
learun.httpget(config.webapi + '/learun/ask/testlist', _postParam, (data) => {
$page.find('.lr-badge').text('0');
if (data) {
$page.find('.lr-badge').text(data.records);
callback(data.rows, parseInt(data.records));
} else {
callback([], 2);
}
});
},
rowRender: function(_index, _item, _$item, $page) { // 渲染列表行数据
_$item.addClass('lr-list-item lr-list-item-multi');
_$item.append($('<p class="lr-ellipsis"><span>考试日期:</span></p>').dataFormatter({
value: _item.ExamDate,
type: 'datetime',
dateformat: 'yyyy-MM-dd'
}));
_$item.append($('<p class="lr-ellipsis"><span>考试时间:</span></p>').dataFormatter({
value: _item.ExamTime
}));
_$item.append($('<p class="lr-ellipsis"><span>课程编号:</span></p>').dataFormatter({
value: _item.LessonNo
}));
_$item.append($('<p class="lr-ellipsis"><span>课程名称:</span></p>').dataFormatter({
value: _item.LessonName
}));
_$item.append($('<p class="lr-ellipsis"><span>教室名称:</span></p>').dataFormatter({
value: _item.ClassRoomName
}));
return '';
},
};
return page;
})();

+ 17
- 1
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/StuInfoBasic/StuInfoBasic.html Ver arquivo

@@ -1,4 +1,4 @@
<div class="lr-form-container">
<div class="lr-form-container">
<!--<div class="lr-form-row " data-table="StuInfoBasic">

<label>出生日期</label>
@@ -29,6 +29,22 @@
<label>联系电话</label>
<input id="mobile" type="text" />
</div>
<div class="lr-form-row " data-table="StuInfoBasic">
<label>开户银行</label>
<div id="DepositBank"></div>
</div>
<div class="lr-form-row " data-table="StuInfoBasic">
<label>银行卡账号</label>
<input id="BankCard" type="text" />
</div>
<div class="lr-form-row " data-table="StuInfoBasic">
<label>开户行位置</label>
<input id="BankLocation" type="text" />
</div>
<div class="lr-form-row " data-table="StuInfoBasic">

<label>邮箱地址</label>


+ 195
- 180
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/StuInfoBasic/StuInfoBasic.js Ver arquivo

@@ -1,193 +1,208 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2020-01-19 10:46
* 描 述:学生信息
*/
(function () {
var keyValue = '';
var $header = null;
var titleText = '';
var page = {
isScroll: true,
init: function ($page, param) {
(function() {
var keyValue = '';
var $header = null;
var titleText = '';
var page = {
isScroll: true,
init: function($page, param) {

var account = learun.storage.get('logininfo').account;
$.ajax({
type: 'POST',
url: config.webapi + '/Statistics/getStuInfo',
data: { 'account': account },
async: false,
success: function (msg) {
if (msg.data) {
keyValue = msg.data.StuId;
} else {
return false;
}
}
});
//keyValue = param.keyValue;
// 添加头部按钮列表
var _html = '\
var account = learun.storage.get('logininfo').account;
$.ajax({
type: 'POST',
url: config.webapi + '/Statistics/getStuInfo',
data: {
'account': account
},
async: false,
success: function(msg) {
if (msg.data) {
keyValue = msg.data.StuId;
} else {
return false;
}
}
});
//keyValue = param.keyValue;
// 添加头部按钮列表
var _html = '\
<div class="lr-form-header-cancel" >取消</div>\
<div class="lr-form-header-btnlist" >\
<div class="lr-form-header-edit" ><i class="iconfont icon-edit" ></i></div>\
</div>\
<div class="lr-form-header-submit" >提交</div>';
$header = $page.parents('.f-page').find('.f-page-header');
$header.append(_html);
// 取消
$header.find('.lr-form-header-cancel').on('tap', function () {
learun.layer.confirm('确定要退出当前编辑?', function (_index) {
if (_index === '1') {
if (keyValue) {// 如果是编辑状态
learun.formblur();
$header.find('.lr-form-header-cancel').hide();
$header.find('.lr-form-header-submit').hide();
$header.find('.lr-form-header-btnlist').show();
$header.find('.f-page-title').text(titleText);
$page.find('.lr-form-container').setFormRead();
}
else {// 如果是新增状态 关闭当前页面
learun.nav.closeCurrent();
}
}
}, '智慧校园提示', ['取消', '确定']);
});
// 编辑
$header.find('.lr-form-header-edit').on('tap', function () {
$header.find('.lr-form-header-btnlist').hide();
$header.find('.lr-form-header-cancel').show();
$header.find('.lr-form-header-submit').show();
titleText = $header.find('.f-page-title').text();
$header.find('.f-page-title').text('编辑');
$page.find('.lr-form-container').setFormWrite();
});
// 更多
$header.find('.lr-form-header-more').on('tap', function () {
learun.actionsheet({
id: 'more',
data: [
{
text: '删除',
mark: true,
event: function () {// 删除当前条信息
learun.layer.confirm('确定要删除该笔数据吗?', function (_index) {
if (_index === '1') {
learun.layer.loading(true, '正在删除该笔数据');
learun.httppost(config.webapi + 'learun/adms/EducationalAdministration/StuInfoBasic/delete', keyValue, (data) => {
learun.layer.loading(false);
if (data) {// 删除数据成功
learun.nav.closeCurrent();
var prepage = learun.nav.getpage('EducationalAdministration/StuInfoBasic');
prepage.grid.reload();
}
});
}
}, '智慧校园提示', ['取消', '确定']);
}
}
],
cancel: function () {
}
});
});
// 提交
$header.find('.lr-form-header-submit').on('tap', function () {
// 获取表单数据
if (!$page.find('.lr-form-container').lrformValid()) {
return false;
}
var _postData = {}
_postData.keyValue = keyValue;
_postData.strEntity = JSON.stringify($page.find('.lr-form-container').lrformGet());
learun.layer.loading(true, '正在提交数据');
learun.httppost(config.webapi + 'learun/adms/EducationalAdministration/StuInfoBasic/save', _postData, (data) => {
learun.layer.loading(false);
if (data) {// 表单数据保存成功
if (keyValue) {
learun.layer.toast('保存数据成功!');
learun.formblur();
$header.find('.lr-form-header-cancel').hide();
$header.find('.lr-form-header-submit').hide();
$header.find('.lr-form-header-btnlist').show();
$header.find('.f-page-title').text(titleText);
$page.find('.lr-form-container').setFormRead();
}
else {// 如果是
learun.nav.closeCurrent();
}
learun.nav.closeCurrent();
}
});
});
$header = $page.parents('.f-page').find('.f-page-header');
$header.append(_html);
// 取消
$header.find('.lr-form-header-cancel').on('tap', function() {
learun.layer.confirm('确定要退出当前编辑?', function(_index) {
if (_index === '1') {
if (keyValue) { // 如果是编辑状态
learun.formblur();
$header.find('.lr-form-header-cancel').hide();
$header.find('.lr-form-header-submit').hide();
$header.find('.lr-form-header-btnlist').show();
$header.find('.f-page-title').text(titleText);
$page.find('.lr-form-container').setFormRead();
} else { // 如果是新增状态 关闭当前页面
learun.nav.closeCurrent();
}
}
}, '智慧校园提示', ['取消', '确定']);
});
// 编辑
$header.find('.lr-form-header-edit').on('tap', function() {
$header.find('.lr-form-header-btnlist').hide();
$header.find('.lr-form-header-cancel').show();
$header.find('.lr-form-header-submit').show();
titleText = $header.find('.f-page-title').text();
$header.find('.f-page-title').text('编辑');
$page.find('.lr-form-container').setFormWrite();
});
// 更多
$header.find('.lr-form-header-more').on('tap', function() {
learun.actionsheet({
id: 'more',
data: [{
text: '删除',
mark: true,
event: function() { // 删除当前条信息
learun.layer.confirm('确定要删除该笔数据吗?', function(
_index) {
if (_index === '1') {
learun.layer.loading(true,
'正在删除该笔数据');
learun.httppost(config.webapi +
'learun/adms/EducationalAdministration/StuInfoBasic/delete',
keyValue, (data) => {
learun.layer.loading(
false);
if (data) { // 删除数据成功
learun.nav
.closeCurrent();
var prepage = learun
.nav.getpage(
'EducationalAdministration/StuInfoBasic'
);
prepage.grid
.reload();
}
});
}
}, '智慧校园提示', ['取消', '确定']);
}
}],
cancel: function() {}
});
});
// 提交
$header.find('.lr-form-header-submit').on('tap', function() {
// 获取表单数据
if (!$page.find('.lr-form-container').lrformValid()) {
return false;
}
var _postData = {}
_postData.keyValue = keyValue;
_postData.strEntity = JSON.stringify($page.find('.lr-form-container').lrformGet());
learun.layer.loading(true, '正在提交数据');
learun.httppost(config.webapi +
'learun/adms/EducationalAdministration/StuInfoBasic/save', _postData, (
data) => {
learun.layer.loading(false);
if (data) { // 表单数据保存成功
if (keyValue) {
learun.layer.toast('保存数据成功!');
learun.formblur();
$header.find('.lr-form-header-cancel').hide();
$header.find('.lr-form-header-submit').hide();
$header.find('.lr-form-header-btnlist').show();
$header.find('.f-page-title').text(titleText);
$page.find('.lr-form-container').setFormRead();
} else { // 如果是
learun.nav.closeCurrent();
}
learun.nav.closeCurrent();
}
});
});

page.bind($page, param);
if (keyValue) {
page.bind($page, param);
if (keyValue) {

// 添加编辑按钮
$page.find('.lr-form-container').setFormRead();
$header.find('.lr-form-header-btnlist').show();
// 获取表单数据
learun.layer.loading(true, '获取表单数据');
learun.httpget(config.webapi + 'learun/adms/EducationalAdministration/StuInfoBasic/form', keyValue, (data) => {
if (data) {
for (var id in data) {
if (data[id].length) {
$page.find('#' + id).lrgridSet(data[id]);
}
else {
$page.find('[data-table="' + id + '"]').lrformSet(data[id]);
}
}
}
learun.layer.loading(false);
});
}
else {
$header.find('.lr-form-header-cancel').show();
$header.find('.lr-form-header-submit').show();
}
},
bind: function ($page, param) {
//$page.find('#Birthday').lrdate({
// type: 'date'
//});
//$page.find('#PartyFaceNo').lrpickerex({
// code: 'BCdPartyFace',
// type: 'sourceData',
// ivalue: 'partyfaceno',
// itext: 'partyface'
//});
//$page.find('#NationalityNo').lrpickerex({
// code: 'National',
// type: 'dataItem'
//});
$page.find('#ResidenceNo').lrpickerex({
code: 'ResidenceNo',
type: 'dataItem'
});
//$page.find('#Photo').imagepicker();
//$page.find('#FamilyOriginNo').lrpickerex({
// type: 'sourceData',
// code: 'BCdFamilyOrigin',
// ivalue: 'familyoriginno',
// itext: 'familyorigin'
//});
//$page.find('#OverseasChineseNo').lrpickerex({
// type: 'sourceData',
// code: 'BCdOverseasChinese',
// ivalue: 'overseaschineseno',
// itext: 'overseaschinesename'
//});
//$page.find('#GraduateNo').lrpickerex({
// code: 'CollegeType',
// type: 'dataItem'
//});
}, destroy: function (pageinfo) {
$header = null;
keyValue = '';
}
};
return page;
})();
// 添加编辑按钮
$page.find('.lr-form-container').setFormRead();
$header.find('.lr-form-header-btnlist').show();
// 获取表单数据
learun.layer.loading(true, '获取表单数据');
learun.httpget(config.webapi + 'learun/adms/EducationalAdministration/StuInfoBasic/form',
keyValue, (data) => {
if (data) {
for (var id in data) {
if (data[id].length) {
$page.find('#' + id).lrgridSet(data[id]);
} else {
$page.find('[data-table="' + id + '"]').lrformSet(data[id]);
}
}
}
learun.layer.loading(false);
});
} else {
$header.find('.lr-form-header-cancel').show();
$header.find('.lr-form-header-submit').show();
}
},
bind: function($page, param) {
//$page.find('#Birthday').lrdate({
// type: 'date'
//});
//$page.find('#PartyFaceNo').lrpickerex({
// code: 'BCdPartyFace',
// type: 'sourceData',
// ivalue: 'partyfaceno',
// itext: 'partyface'
//});
$page.find('#NationalityNo').lrpickerex({
code: 'National',
type: 'dataItem'
});
// $page.find('#ResidenceNo').lrpickerex({
// code: 'ResidenceNo',
// type: 'dataItem',

// });
$page.find('#DepositBank').lrpickerex({
code: 'DepositBank',
type: 'dataItem'
});

//$page.find('#Photo').imagepicker();
//$page.find('#FamilyOriginNo').lrpickerex({
// type: 'sourceData',
// code: 'BCdFamilyOrigin',
// ivalue: 'familyoriginno',
// itext: 'familyorigin'
//});
//$page.find('#OverseasChineseNo').lrpickerex({
// type: 'sourceData',
// code: 'BCdOverseasChinese',
// ivalue: 'overseaschineseno',
// itext: 'overseaschinesename'
//});
//$page.find('#GraduateNo').lrpickerex({
// code: 'CollegeType',
// type: 'dataItem'
//});
},
destroy: function(pageinfo) {
$header = null;
keyValue = '';
}
};
return page;
})();

+ 4
- 2
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/StuInfoFresh/RegisterQRCode/RegisterQRCode.html Ver arquivo

@@ -17,11 +17,13 @@
<div><span>专业</span><strong></strong></div>
<div><span>班级</span><strong></strong></div>
<div><span>教室</span><strong></strong></div>
<div><span>学号</span><strong></strong></div>
<div><span>寝室号</span><strong></strong></div>
</div>
<div class="sQrText">
<!-- <div class="sQrText">
<div>班主任姓名 <span></span></div>
<div>班主任电话 <span></span></div>
</div>
</div> -->
<div class="sQrText">
<div>辅导员姓名 <span></span></div>
<div>辅导员电话 <span></span></div>


+ 17
- 10
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/StuInfoFresh/RegisterQRCode/RegisterQRCode.js Ver arquivo

@@ -12,6 +12,10 @@
learun.layer.loading(true, '获取数据中');
learun.httpget(config.webapi + "StuInfoFresh/stuInfoFreshEntity", userinfo.baseinfo.account, (data) => {
if (data) {
//辅导员
$('.sQrText span').eq(0).html(data.StuInfoFreshEntity.ClassTutorName != null ? data.StuInfoFreshEntity.ClassTutorName.slice(0, 1) + "老师" : "");
$('.sQrText span').eq(1).html(data.StuInfoFreshEntity.ClassTutorMobile);
//判断是否显示报到二维码:未确认报到,且已完善信息,且缴费三有一;
var entity = data["StuInfoFreshEntity"];
if (entity.RegisterStatus == "1") {
@@ -29,11 +33,14 @@
return false;
}
if (entity.PayFeeStatus != "1" && entity.StudentLoanStatus != "1" && entity.OnsitePayFeeStatus != "1") {
learun.layer.loading(false);
learun.layer.confirm('新生未缴费,无法报到!', function (_index) {
learun.nav.closeCurrent();
}, '智慧校园提示', ['确定']);
return false;
if(!entity.StudentLoanBLStatus)
{
learun.layer.loading(false);
learun.layer.confirm('新生未缴费且未设置贷款状态,无法报到!', function (_index) {
learun.nav.closeCurrent();
}, '智慧校园提示', ['确定']);
return false;
}
}

//学生
@@ -42,12 +49,12 @@
$('.sQrList strong').eq(2).html(data.StuInfoFreshEntity.MajorNo);
$('.sQrList strong').eq(3).html(data.StuInfoFreshEntity.ClassNo);
$('.sQrList strong').eq(4).html(data.StuInfoFreshEntity.DefaultClassRoomName);
$('.sQrList strong').eq(5).html(data.StuInfoFreshEntity.StuNo);
$('.sQrList strong').eq(6).html(data.StuInfoFreshEntity.DormitoryName);
//班主任
$('.sQrText span').eq(0).html(data.StuInfoFreshEntity.ClassDiredctorName != null ? data.StuInfoFreshEntity.ClassDiredctorName.slice(0, 1) + "老师" : "");
$('.sQrText span').eq(1).html(data.StuInfoFreshEntity.ClassDiredctorMobile);
//辅导员
$('.sQrText span').eq(2).html(data.StuInfoFreshEntity.ClassTutorName != null ? data.StuInfoFreshEntity.ClassTutorName.slice(0, 1) + "老师" : "");
$('.sQrText span').eq(3).html(data.StuInfoFreshEntity.ClassTutorMobile);
// $('.sQrText span').eq(0).html(data.StuInfoFreshEntity.ClassDiredctorName != null ? data.StuInfoFreshEntity.ClassDiredctorName.slice(0, 1) + "老师" : "");
// $('.sQrText span').eq(1).html(data.StuInfoFreshEntity.ClassDiredctorMobile);

//二维码
learun.code.encode({ id: 'lr_mycode_qrcode', text: data.StuInfoFreshEntity.StuNo });



+ 9
- 4
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/StuInfoFresh/StudentLoan/StudentLoan.html Ver arquivo

@@ -1,11 +1,16 @@
<div class="welcome">
<div class="welcome">
<div class="welBox">
<div class="welInput">
<div class="welBox2">
<!-- <div class="welInput">
<span>贷款回执码</span>
<input id="ID" type="hidden"/>
<input id="StudentLoan" type="text" placeholder="请填写贷款回执码" value=""/>
</div>
</div> -->
<div class="welInput">
<span>办理贷款状态</span>
<input id="ID" type="hidden"/>
<div id="StudentLoanBLStatus"></div>
</div>
</div>
<div class="welLine"></div>


+ 19
- 8
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/EducationalAdministration/StuInfoFresh/StudentLoan/StudentLoan.js Ver arquivo

@@ -1,4 +1,4 @@
(function () {
(function () {
var page = {
isScroll: false,
init: function ($page) {
@@ -9,7 +9,8 @@
for (var id in data) {
if (id == "StuInfoFreshEntity") {
$page.find("#ID").val(data[id].ID);
$page.find("#StudentLoan").val(data[id].StudentLoan);
$page.find("#StudentLoanBLStatus").lrpickerSet(data[id].StudentLoanBLStatus);
//$page.find("#StudentLoan").val(data[id].StudentLoan);
if (data[id].StudentLoanStatus == "1") {
learun.layer.loading(false);
learun.layer.confirm('新生助学贷款已审核!', function (_index) {
@@ -28,17 +29,23 @@
$page.find('#saveBtn').on('tap', function () {
var postdata = {
ID: $('#ID').val(),
StudentLoan: $('#StudentLoan').val(),
StudentLoanStatus: "0"
// StudentLoan: $('#StudentLoan').val(),
StudentLoan: '',
StudentLoanStatus: "0",
StudentLoanBLStatus:$("#StudentLoanBLStatus").lrpickerGet()
};
if ($('#StudentLoan').val().trim() != null && $('#StudentLoan').val().trim() != "" && $('#StudentLoan').val().trim() != undefined) {
postdata.StudentLoanStatus = "1";
}
// if ($('#StudentLoan').val().trim() != null && $('#StudentLoan').val().trim() != "" && $('#StudentLoan').val().trim() != undefined) {
// postdata.StudentLoanStatus = "1";
// }
if ($('#StudentLoanBLStatus').lrpickerGet().trim() != null && $('#StudentLoanBLStatus').lrpickerGet().trim() != "" && $('#StudentLoanBLStatus').lrpickerGet().trim() != undefined) {
postdata.StudentLoanBLStatus = "2";
}
learun.httpget(config.webapi + "StuInfoFresh/saveLoan", postdata, (data) => {
if (data) {
learun.layer.toast('保存成功');
setTimeout(function () {
learun.nav.closeCurrent();
learun.nav.go({ path: '/EducationalAdministration/StuInfoFresh/RegisterQRCode', title: '生成报到二维码', isBack: true, isHead: true, param: {}, type: 'right' });
}, 2000);
}
});
@@ -47,7 +54,11 @@

},
bind: function ($page) {

$page.find('#StudentLoanBLStatus').lrpickerex({
code: 'StudentLoanBLStatus',
type:'dataItem'
});
}
};



+ 3
- 3
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/PersonnelManagement/EpidemicSituationCopy/EpidemicSituationCopy.js Ver arquivo

@@ -1,4 +1,4 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2020-02-03 14:37
@@ -48,7 +48,7 @@
code: 'EUserType'
});
$page.find('#lr_PersonnelManagementEpidemicSituation_btn').on('tap', function () {
learun.nav.go({ path: 'PersonnelManagement/EpidemicSituationCopy/form', title: '新增', type: 'right' });
learun.nav.go({ path: 'PersonnelManagement/EpidemicSituationCopy/form', title: '每日疫情打卡', type: 'right' });
});
},
lclass: 'lr-list',
@@ -57,7 +57,7 @@
pagination: {
rows: param.rows,
page: param.page,
sidx: 'ID',
sidx: 'CreateTime',
sord: 'DESC'
},
queryJson: '{}'


+ 10
- 10
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/PersonnelManagement/EpidemicSituationCopy/form/form.html Ver arquivo

@@ -1,4 +1,4 @@
<div class="lr-form-container">
<div class="lr-form-container">
<div class="lr-form-row " data-table="EpidemicSituation">

<label>填报人员</label>
@@ -7,22 +7,22 @@
<div class="lr-form-row " data-table="EpidemicSituation">

<label>填报时间</label>
<div id="CreateTime"></div>
<div id="CreateTime" readonly="readonly"></div>
</div>
<div class="lr-form-row " data-table="EpidemicSituation">

<label>类别</label>
<div id="Type"></div>
<div id="Type" readonly="readonly"></div>
</div>
<div class="lr-form-row " data-table="EpidemicSituation">

<label>所在部门</label>
<div id="Department"></div>
<div id="Department" readonly="readonly"></div>
</div>
<div class="lr-form-row " data-table="EpidemicSituation">

<label>所在班级</label>
<input id="StudentSource" type="text" />
<input id="StudentSource" type="text" readonly="readonly"/>
</div>
<div class="lr-form-row " data-table="EpidemicSituation">

@@ -32,18 +32,18 @@
<div class="lr-form-row " data-table="EpidemicSituation">

<label>性别</label>
<div id="Gender"></div>
<div id="Gender" readonly="readonly"></div>
</div>
<div class="lr-form-row " data-table="EpidemicSituation">

<label>家庭住址</label>
<input id="HomeAddress" type="text" />
<input id="HomeAddress" type="text" readonly="readonly"/>
<div id="allmap" style="display: none;"></div>
</div>
<div class="lr-form-row " data-table="EpidemicSituation">

<label>联系方式</label>
<input id="Mobile" type="text" />
<input id="Mobile" type="text" readonly="readonly"/>
</div>
<div class="lr-form-row " data-table="EpidemicSituation">

@@ -51,7 +51,7 @@
<input id="Objective" type="text" />
</div>
<div class="lr-form-row " data-table="EpidemicSituation">
<label>*是否外出</label>
<label>*外出旅居</label>
<div id="IsOut"></div>
</div>
<div class="lr-form-row" id="PassPlaces"></div>
@@ -61,7 +61,7 @@
</div>
<div class="lr-form-row" id="ContactsDetails"></div>
<div class="lr-form-row " data-table="EpidemicSituation">
<label>*疫区人异常</label>
<label>*新冠病例接触</label>
<div id="HasPeople"></div>
</div>
<div class="lr-form-row" id="PeopleDetails"></div>


+ 3
- 1
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/PersonnelManagement/EpidemicSituationCopy/form/form.js Ver arquivo

@@ -1,4 +1,4 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2020-02-03 14:37
@@ -11,6 +11,7 @@
var page = {
isScroll: true,
init: function ($page, param) {
learun.layer.loading(true, '正在加载...');
keyValue = param.keyValue;
// 添加头部按钮列表
var _html = '\
@@ -363,6 +364,7 @@
$page.find('#Department').parent().show();
$page.find('#StudentSource').parent().hide();
}
learun.layer.loading(false);
}, destroy: function (pageinfo) {
$header = null;
keyValue = '';


+ 149
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/AbNormalSerious/AbNormalSerious.css Ver arquivo

@@ -0,0 +1,149 @@
#sQrCode {
height: 100%;
background-color: #EEF2F3;
padding-bottom: 30px;
}

.sQrLogo {
background-image: url(images/xcBg.jpg);
background-size: 100% 100%;
text-align: center;
line-height: 0;
padding: 20px 0 70px;
}

.sQrLogoImg1 img {
width: 20%;
}

.sQrLogoImg1 {
margin-bottom: 10px;
}

.sQrLogoImg2 img {
width: 50%;
}

.sQrBox {
margin: -50px 20px 0;
background-color: #fff;
padding: 30px 38px;
border-radius: 10px;
-webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, .1);
-moz-box-shadow: 0 4px 10px rgba(0, 0, 0, .1);
box-shadow: 0 4px 10px rgba(0, 0, 0, .1);
/* overflow: hidden; */
}

.sQrT2 {
font-weight: bold;
text-align: center;
font-size: 24px;
margin-bottom: 20px;
color: #CC0000;
}

.sQrList {
background-color: #F8F8F8;
margin: 0 10px;
padding: 10px 30px;
border-radius: 4px
}

.sQrList div {
padding: 7px 10px;
font-size: 14px;
color: #000;
border-top: 1px solid #D7D7D7;
}

.sQrList div:first-child {
border: 0;
}

.sQrList div span {
color: #AEAEAE;
margin-right: 10px;
}

.sQrType3 {
background-color: #CC0000;
padding: 20px 0;
text-align: center;
color: #fff;
margin: 30px -38px -30px;
border-radius: 0 0 10px 10px;
}

.sQrType3>* {
display: inline-block;
vertical-align: middle;
text-align: left;
}

.sQrTypeT {
font-size: 14px;
}

.sQrTypeTxt {
font-size: 24px;
font-weight: bold;
margin-top: 3px;
}

.sQrTypeImg {
margin-left: 15px;
width: 43px;
line-height: 0;
}

.sQrTypeImg img {
width: 100%;
}

.sQrTxt1 {
margin: 30px 50px 20px;
font-size: 14px;
color: #AEAEAE;
}

.sQrBtn2 {
margin: 20px 20px 0;
background-color: #CED0D0;
/* -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .1);
-moz-box-shadow: 0 0 10px rgba(0, 0, 0, .1);
box-shadow: 0 0 10px rgba(0, 0, 0, .1); */
border-radius: 8px;
height: 50px;
line-height: 50px;
font-weight: bold;
color: #fff;
font-size: 16px;
text-align: center;
}

.sQrBtn2 img {
width: 23px;
margin-right: 10px;
position: relative;
top: 2px;
}

.sQrType3 .sQrTypePhoto {
border: 4px solid #CC0000;
border-radius: 4px;
width: 85px;
margin: -30px 10px -30px 0;
background: #fff;
}

.sQrTypePhoto div {
height: 0;
overflow: hidden;
padding-bottom: 139.516129%;
line-height: 0;
}

.sQrTypePhoto img {
width: 100%;
}

+ 34
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/AbNormalSerious/AbNormalSerious.html Ver arquivo

@@ -0,0 +1,34 @@
<div class="lr-form-container" id="sQrCode">
<div class="sQrCode">
<div class="sQrLogo">
<div class="sQrLogoImg1"><img src="images/logoXc.png" alt=""></div>
<div class="sQrLogoImg2"><img src="images/logoXcTxt.png" alt=""></div>
</div>
<div class="sQrBox">
<div class="sQrT2">禁止通行</div>
<div class="sQrList">
<div><span>姓名</span><strong>张某某</strong></div>
<div><span>专业</span><strong>>学前教育</strong></div>
<div><span>班级</span><strong>>18学教301</strong></div>
<div><span>学号</span><strong>>154236987215</strong></div>
<div><span>宿舍</span><strong>203</strong></div>
</div>
<div class="sQrType3">
<div class="sQrTypePhoto">
<div><img src="" alt=""></div>
</div>
<div class="sQrTypeCon">
<div class="sQrTypeT">健康信息 : </div>
<div class="sQrTypeTxt">异常</div>
</div>
<div class="sQrTypeImg">
<img src="images/xcYz.png" alt="">
</div>
</div>
</div>
<div class="sQrTxt1">温馨提示 : 示:因疫情防控需要,校园实行封闭管理,仅限校内经许可的师生员工通行,敬请理解和配合。 </div>
<div class="sQrBtn2">
<img src="images/xcZc3.png" alt=""> 确认入校
</div>
</div>
</div>

+ 46
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/AbNormalSerious/AbNormalSerious.js Ver arquivo

@@ -0,0 +1,46 @@
(function () {
var $header = null;
var stuNo = '';
var page = {
isScroll: true,
init: function ($page, param) {
stuNo = param.stuNo;
// 添加头部按钮列表
$header = $page.parents('.f-page').find('.f-page-header');
learun.httpget(config.webapi + 'learun/EducationalAdministration/StuInfoBasic/stuinfoDetail',stuNo, function (data) {
console.log(data);
$('.sQrList div strong').eq(0).html(data.stuInfo.StuName);
$('.sQrList div strong').eq(1).html(data.majorInfo.MajorName);
$('.sQrList div strong').eq(2).html(data.classInfo.ClassName);
$('.sQrList div strong').eq(3).html(data.stuInfo.StuNo);
$('.sQrList div strong').eq(4).html(data.roomInfo);
//$('.sQrList div strong').eq(4).html(data.stuInfo.Photo); //学生照片
if (data.stuInfo.Photo != '') {
$('.sQrTypePhoto img').attr('src', config.web + data.stuInfo.Photo);
} else {
if (data.stuInfo.GenderNo) {

$('.sQrTypePhoto img').attr('src', '/images/on-boy.jpg');
} else {

$('.sQrTypePhoto img').attr('src', '/images/on-girl.jpg');
}
}
learun.code.encode({ id: 'lr_mycode_qrcode', text: data.stuInfo.StuNo });
})

page.bind($page, param);

},
bind: function ($page, param) {

}, destroy: function (pageinfo) {
$header = null;
}
};


return page;


})();

+ 149
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/AbNormalWeak/AbNormalWeak.css Ver arquivo

@@ -0,0 +1,149 @@
#sQrCode {
height: 100%;
background-color: #EEF2F3;
padding-bottom: 30px;
}

.sQrLogo {
background-image: url(images/xcBg.jpg);
background-size: 100% 100%;
text-align: center;
line-height: 0;
padding: 20px 0 70px;
}

.sQrLogoImg1 img {
width: 20%;
}

.sQrLogoImg1 {
margin-bottom: 10px;
}

.sQrLogoImg2 img {
width: 50%;
}

.sQrBox {
margin: -50px 20px 0;
background-color: #fff;
padding: 30px 38px;
border-radius: 10px;
-webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, .1);
-moz-box-shadow: 0 4px 10px rgba(0, 0, 0, .1);
box-shadow: 0 4px 10px rgba(0, 0, 0, .1);
/* overflow: hidden; */
}

.sQrT2 {
font-weight: bold;
text-align: center;
font-size: 24px;
margin-bottom: 20px;
color: #F8B500;
}

.sQrList {
background-color: #F8F8F8;
margin: 0 10px;
padding: 10px 30px;
border-radius: 4px
}

.sQrList div {
padding: 7px 10px;
font-size: 14px;
color: #000;
border-top: 1px solid #D7D7D7;
}

.sQrList div:first-child {
border: 0;
}

.sQrList div span {
color: #AEAEAE;
margin-right: 10px;
}

.sQrType2 {
background-color: #F8B500;
padding: 20px 0;
text-align: center;
color: #fff;
margin: 30px -38px -30px;
border-radius: 0 0 10px 10px;
}

.sQrType2>* {
display: inline-block;
vertical-align: middle;
text-align: left;
}

.sQrTypeT {
font-size: 14px;
}

.sQrTypeTxt {
font-size: 24px;
font-weight: bold;
margin-top: 3px;
}

.sQrTypeImg {
margin-left: 15px;
width: 43px;
line-height: 0;
}

.sQrTypeImg img {
width: 100%;
}

.sQrTxt1 {
margin: 30px 50px 20px;
font-size: 14px;
color: #AEAEAE;
}

.sQrBtn3 {
margin: 20px 20px 0;
background-color: #CED0D0;
/* -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .1);
-moz-box-shadow: 0 0 10px rgba(0, 0, 0, .1);
box-shadow: 0 0 10px rgba(0, 0, 0, .1); */
border-radius: 8px;
height: 50px;
line-height: 50px;
font-weight: bold;
color: #fff;
font-size: 16px;
text-align: center;
}

.sQrBtn3 img {
width: 23px;
margin-right: 10px;
position: relative;
top: 2px;
}

.sQrType2 .sQrTypePhoto {
border: 4px solid #F8B500;
border-radius: 4px;
width: 85px;
margin: -30px 10px -30px 0;
background: #fff;
}

.sQrTypePhoto div {
height: 0;
overflow: hidden;
padding-bottom: 139.516129%;
line-height: 0;
}

.sQrTypePhoto img {
width: 100%;
}

+ 34
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/AbNormalWeak/AbNormalWeak.html Ver arquivo

@@ -0,0 +1,34 @@
<div class="lr-form-container" id="sQrCode">
<div class="sQrCode">
<div class="sQrLogo">
<div class="sQrLogoImg1"><img src="images/logoXc.png" alt=""></div>
<div class="sQrLogoImg2"><img src="images/logoXcTxt.png" alt=""></div>
</div>
<div class="sQrBox">
<div class="sQrT2">禁止通行</div>
<div class="sQrList">
<div><span>姓名</span><strong>张某某</strong></div>
<div><span>专业</span><strong>学前教育</strong></div>
<div><span>班级</span><strong>18学教301</strong></div>
<div><span>学号</span><strong>154236987215</strong></div>
<div><span>宿舍</span><strong>203</strong></div>
</div>
<div class="sQrType2">
<div class="sQrTypePhoto">
<div><img src="" alt=""></div>
</div>
<div class="sQrTypeCon">
<div class="sQrTypeT">健康信息 : </div>
<div class="sQrTypeTxt">异常</div>
</div>
<div class="sQrTypeImg">
<img src="images/xcYc.png" alt="">
</div>
</div>
</div>
<div class="sQrTxt1">温馨提示 : 示:因疫情防控需要,校园实行封闭管理,仅限校内经许可的师生员工通行,敬请理解和配合。 </div>
<div class="sQrBtn3">
<img src="images/xcZc3.png" alt=""> 确认入校
</div>
</div>
</div>

+ 45
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/AbNormalWeak/AbNormalWeak.js Ver arquivo

@@ -0,0 +1,45 @@
(function () {
var $header = null;
var stuNo = '';
var page = {
isScroll: true,
init: function ($page, param) {
stuNo = param.stuNo;
// 添加头部按钮列表
$header = $page.parents('.f-page').find('.f-page-header');
learun.httpget(config.webapi + 'learun/adms/EducationalAdministration/StuInfoBasic/stuinfoDetail',stuNo, function (data) {
console.log(data);
$('.sQrList div strong').eq(0).html(data.stuInfo.StuName);
$('.sQrList div strong').eq(1).html(data.majorInfo.MajorName);
$('.sQrList div strong').eq(2).html(data.classInfo.ClassName);
$('.sQrList div strong').eq(3).html(data.stuInfo.StuNo);
$('.sQrList div strong').eq(4).html(data.roomInfo);
//$('.sQrList div strong').eq(4).html(data.stuInfo.Photo); //学生照片
if (data.stuInfo.Photo != '') {
$('.sQrTypePhoto img').attr('src', config.web + data.stuInfo.Photo);
} else {
if (data.stuInfo.GenderNo) {
$('.sQrTypePhoto img').attr('src', '/images/on-boy.jpg');
} else {

$('.sQrTypePhoto img').attr('src', '/images/on-girl.jpg');
}
}
learun.code.encode({ id: 'lr_mycode_qrcode', text: data.stuInfo.StuNo });
})

page.bind($page, param);

},
bind: function ($page, param) {

}, destroy: function (pageinfo) {
$header = null;
}
};

return page;


})();

+ 149
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/Normal/Normal.css Ver arquivo

@@ -0,0 +1,149 @@
#sQrCode {
height: 100%;
background-color: #EEF2F3;
padding-bottom: 30px;
}

.sQrLogo {
background-image: url(images/xcBg.jpg);
background-size: 100% 100%;
text-align: center;
line-height: 0;
padding: 20px 0 70px;
}

.sQrLogoImg1 img {
width: 20%;
}

.sQrLogoImg1 {
margin-bottom: 10px;
}

.sQrLogoImg2 img {
width: 50%;
}

.sQrBox {
margin: -50px 20px 0;
background-color: #fff;
padding: 30px 38px;
border-radius: 10px;
-webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, .1);
-moz-box-shadow: 0 4px 10px rgba(0, 0, 0, .1);
box-shadow: 0 4px 10px rgba(0, 0, 0, .1);
/* overflow: hidden; */
}

.sQrT2 {
font-weight: bold;
text-align: center;
font-size: 24px;
margin-bottom: 20px;
color: #21A737;
}

.sQrList {
background-color: #F8F8F8;
margin: 0 10px;
padding: 10px 30px;
border-radius: 4px
}

.sQrList div {
padding: 7px 10px;
font-size: 14px;
color: #000;
border-top: 1px solid #D7D7D7;
}

.sQrList div:first-child {
border: 0;
}

.sQrList div span {
color: #AEAEAE;
margin-right: 10px;
}

.sQrType1 {
background-color: #21A737;
padding: 20px 0;
text-align: center;
color: #fff;
margin: 30px -38px -30px;
border-radius: 0 0 10px 10px;
}

.sQrType1>* {
display: inline-block;
vertical-align: middle;
text-align: left;
}

.sQrTypeT {
font-size: 14px;
}

.sQrTypeTxt {
font-size: 24px;
font-weight: bold;
margin-top: 3px;
}

.sQrTypeImg {
margin-left: 15px;
width: 43px;
line-height: 0;
}

.sQrTypeImg img {
width: 100%;
}

.sQrTxt1 {
margin: 30px 50px 20px;
font-size: 14px;
color: #AEAEAE;
}

.sQrBtn1 {
margin: 20px 20px 0;
background-color: #fff;
-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .1);
-moz-box-shadow: 0 0 10px rgba(0, 0, 0, .1);
box-shadow: 0 0 10px rgba(0, 0, 0, .1);
border-radius: 8px;
height: 50px;
line-height: 50px;
font-weight: bold;
color: #339933;
font-size: 16px;
text-align: center;
}

.sQrBtn1 img {
width: 23px;
margin-right: 10px;
position: relative;
top: 2px;
}

.sQrType1 .sQrTypePhoto {
border: 4px solid #21A737;
border-radius: 4px;
width: 85px;
margin: -30px 10px -30px 0;
background: #fff;
}

.sQrTypePhoto div {
height: 0;
overflow: hidden;
padding-bottom: 139.516129%;
line-height: 0;
}

.sQrTypePhoto img {
width: 100%;
}

+ 34
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/Normal/Normal.html Ver arquivo

@@ -0,0 +1,34 @@
<div class="lr-form-container" id="sQrCode">
<div class="sQrCode">
<div class="sQrLogo">
<div class="sQrLogoImg1"><img src="images/logoXc.png" alt=""></div>
<div class="sQrLogoImg2"><img src="images/logoXcTxt.png" alt=""></div>
</div>
<div class="sQrBox">
<div class="sQrT2">允许通行</div>
<div class="sQrList">
<div><span>姓名</span><strong>张某某</strong></div>
<div><span>专业</span><strong>学前教育</strong></div>
<div><span>班级</span><strong>18学教301</strong></div>
<div><span>学号</span><strong>154236987215</strong></div>
<div><span>宿舍</span><strong>203</strong></div>
</div>
<div class="sQrType1">
<div class="sQrTypePhoto">
<div><img src="" alt=""></div>
</div>
<div class="sQrTypeCon">
<div class="sQrTypeT">健康信息 : </div>
<div class="sQrTypeTxt">正常</div>
</div>
<div class="sQrTypeImg">
<img src="images/xcZc.png" alt="">
</div>
</div>
</div>
<div class="sQrTxt1">温馨提示 : 示:因疫情防控需要,校园实行封闭管理,仅限校内经许可的师生员工通行,敬请理解和配合。 </div>
<div class="sQrBtn1">
<img src="images/xcZc2.png" alt=""> 确认入校
</div>
</div>
</div>

+ 70
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/Normal/Normal.js Ver arquivo

@@ -0,0 +1,70 @@
(function () {
var $header = null;
var stuNo = '';
var page = {
isScroll: true,
init: function ($page, param) {
stuNo = param.stuNo;
// 添加头部按钮列表
$header = $page.parents('.f-page').find('.f-page-header');

learun.httpget(config.webapi + 'learun/EducationalAdministration/StuInfoBasic/stuinfoDetail',stuNo, function (data) {
console.log(data);
$('.sQrList div strong').eq(0).html(data.stuInfo.StuName);
$('.sQrList div strong').eq(1).html(data.majorInfo.MajorName);
$('.sQrList div strong').eq(2).html(data.classInfo.ClassName);
$('.sQrList div strong').eq(3).html(data.stuInfo.StuNo);
$('.sQrList div strong').eq(4).html(data.roomInfo);
//$('.sQrList div strong').eq(4).html(data.stuInfo.Photo); //学生照片
if (data.stuInfo.Photo != '') {
$('.sQrTypePhoto img').attr('src', config.web + data.stuInfo.Photo);
} else {
if (data.stuInfo.GenderNo) {

$('.sQrTypePhoto img').attr('src', '/images/on-boy.jpg');
} else {

$('.sQrTypePhoto img').attr('src', '/images/on-girl.jpg');
}
}
learun.code.encode({ id: 'lr_mycode_qrcode', text: data.stuInfo.StuNo });
})

$page.find('.sQrBtn1').on('tap', function () {
var loginInfo = learun.storage.get('userinfo');
var buildEntity = {};
buildEntity.UId = loginInfo.baseinfo.userId;

buildEntity.SId = stuNo;//'2018010129';

var param = {};
param.keyValue = '';
param.strEntity = JSON.stringify(buildEntity);

learun.layer.loading(true, '正在提交数据');
learun.httppost(config.webapi + 'learun/EducationalAdministration/R_EnterSchool/save', param, (data) => {
learun.layer.loading(false);
if (data) {// 表单数据保存成功
learun.layer.toast("添加成功");
learun.nav.closeCurrent();
var prepage = learun.nav.getpage('EducationalAdministration/R_EnterSchool');
prepage.init();
}
});
});

page.bind($page, param);

},
bind: function ($page, param) {

}, destroy: function (pageinfo) {
$header = null;
}
};

return page;



})();

+ 106
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/StudentQRCode.css Ver arquivo

@@ -0,0 +1,106 @@
#sQrCode {
height: 100%;
background-color: #EEF2F3;
padding-bottom: 30px;
}

.sTabBox {
line-height: 24px;
text-align: center;
margin-bottom: 18px;
color: #333;
}

.sTabBox div {
display: inline-block;
width: 80px;
background-color: rgba(255, 255, 255, .7);
margin: 0 5px;
font-size: 14px;
border-radius: 2px;
}

.sQrLogo {
background-image: url(images/xcBg.jpg);
background-size: 100% 100%;
text-align: center;
line-height: 0;
padding: 20px 0 70px;
}

.sQrLogoImg1 img {
width: 20%;
}

.sQrLogoImg1 {
margin-bottom: 10px;
}

.sQrLogoImg2 img {
width: 50%;
}

.sQrBox {
margin: -50px 20px 0;
background-color: #fff;
padding: 30px 38px;
border-radius: 10px;
-webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, .1);
-moz-box-shadow: 0 4px 10px rgba(0, 0, 0, .1);
box-shadow: 0 4px 10px rgba(0, 0, 0, .1);
}

.sQrT {
font-weight: bold;
text-align: center;
font-size: 22px;
margin-bottom: 20px;
color: #000;
}

.sQrList {
background-color: #F8F8F8;
margin: 0 10px;
padding: 10px 30px;
border-radius: 4px
}

.sQrList div {
padding: 7px 10px;
font-size: 14px;
color: #000;
border-top: 1px solid #D7D7D7;
}

.sQrList div:first-child {
border: 0;
}

.sQrList div span {
color: #AEAEAE;
margin-right: 10px;
}

.sQrImg {
width: 145px;
height: 145px;
line-height: 0;
margin: 20px auto;
}

.sQrImg img {
width: 100%;
}

.sQrTxt {
margin-bottom: 10px;
text-align: center;
font-size: 16px;
font-weight: bold;
color: #AEAEAE;
}

.sQrText {
font-size: 14px;
color: #AEAEAE;
}

+ 22
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/StudentQRCode.html Ver arquivo

@@ -0,0 +1,22 @@
<div class="lr-form-container" id="sQrCode">
<div class="sQrCode">
<div class="sQrLogo">
<div class="sQrLogoImg1"><img src="images/logoXc.png" alt=""></div>
<div class="sQrLogoImg2"><img src="images/logoXcTxt.png" alt=""></div>
</div>
<div class="sQrBox">
<div class="sQrT">健康通行登记</div>
<div class="sQrList">
<div><span>姓名</span><strong>张某某</strong></div>
<div><span>专业</span><strong>学前教育</strong></div>
<div><span>班级</span><strong>18学教301</strong></div>
<div><span>学号</span><strong>154236987215</strong></div>
<div><span>宿舍</span><strong>203</strong></div>
</div>
<div id="lr_mycode_qrcode" class="sQrImg">
</div>
<div class="sQrTxt">请使用数字校园扫码并出示通行凭证</div>
<div class="sQrText">温馨提示:因疫情防控需要,校园实行封闭管理,目前暂仅限经许可的校内师生员工通行。师生出入学校各个公共场所,请使用数字校园扫码,出示通行凭证接受核验。谢谢配合!</div>
</div>
</div>
</div>

+ 54
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/StudentQRCode/StudentQRCode.js Ver arquivo

@@ -0,0 +1,54 @@
(function () {
var keyValue = '';
var $header = null;
var page = {
isScroll: true,
init: function ($page, param) {
keyValue = param.keyValue;
// 添加头部按钮列表
$header = $page.parents('.f-page').find('.f-page-header');
// 取消

$page.find('#aa').on('tap', function () {
learun.nav.go({ path: 'EducationalAdministration/StudentQRCode/Normal', title: '正常', type: 'right' });
});
$page.find('#bb').on('tap', function () {
learun.nav.go({ path: 'EducationalAdministration/StudentQRCode/AbNormalWeak', title: '异常微弱', type: 'right' });
});
$page.find('#cc').on('tap', function () {
learun.nav.go({ path: 'EducationalAdministration/StudentQRCode/AbNormalSerious', title: '异常严重', type: 'right' });
});

var logininfo = learun.storage.get('userinfo');
//learun.httpget(config.webapi + 'learun/EducationalAdministration/StuInfoBasic/stuinfoDetail',logininfo.baseinfo.account, function (data) {
learun.httpget(config.webapi + 'learun/adms/EducationalAdministration/StuInfoBasic/stuinfoDetail','2018010108', function (data) {
console.log(data);
$('.sQrList div strong').eq(0).html(data.stuInfo.StuName);
$('.sQrList div strong').eq(1).html(data.majorInfo.MajorName);
$('.sQrList div strong').eq(2).html(data.classInfo.ClassName);
$('.sQrList div strong').eq(3).html(data.stuInfo.StuNo);
$('.sQrList div strong').eq(4).html(data.roomInfo);
//$('.sQrList div strong').eq(4).html(data.stuInfo.Photo); //学生照片
learun.code.encode({ id: 'lr_mycode_qrcode', text: data.stuInfo.StuNo });
})
//learun.code.encode({ id: 'lr_mycode_qrcode', text: '2019010211' });

},
bind: function ($page, param) {

}, destroy: function (pageinfo) {
$header = null;
keyValue = '';
}
};



//上传照片

return page;


})();

+ 63
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/login/IdCardLogin/IdCardLogin.css Ver arquivo

@@ -0,0 +1,63 @@
.lr-login-page {
position: relative;
height: 100%;
width: 100%;
background-color: #fff;
}

.lr-login-page .login-content {
position: absolute;
width: 100%;
height: 280px;
top: 50%;
margin-top: -210px;
text-align: center;
}

.lr-login-page .login-content > img {
width: 60px;
height: 60px;
border-radius: 50%;
margin-bottom: 60px;
}

.lr-login-page .line {
position: relative;
margin: auto;
width: 92%;
height: 35px;
line-height: 35px;
border-bottom: 1px solid #eeeeee;
padding-left: 35px;
}

.lr-login-page .line i {
position: absolute;
left: 10px;
font-size: 18px;
color: #666;
}

.lr-login-page .line input {
position: relative;
line-height: 20px;
width: 100%;
background: transparent;
border: none;
font-size: 14px;
}

.lr-login-page button {
margin: auto;
margin-top: 25px;
width: 92%;
}

.lr-login-page .version {
position: absolute;
width: 100%;
bottom: 5px;
text-align: center;
font-size: 12px;
color: #ccc;
}

+ 17
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/login/IdCardLogin/IdCardLogin.html Ver arquivo

@@ -0,0 +1,17 @@
<div class="lr-login-page">
<div class="login-content">
<img src="" />
<div class="line">
<i class="iconfont icon-friend_light"></i>
<input id="idcard" type="text" placeholder="学生身份证号">
</div>
<div class="line">
<i class="iconfont icon-lock"></i>
<input id="pwd" type="password" placeholder="新生身份证号码后8位">
</div>
<button id="loginBtn" type="button" class="lr-btn-primary lr-btn-block">
登录
</button>
</div>
<div class="version"></div>
</div>

+ 104
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/login/IdCardLogin/IdCardLogin.js Ver arquivo

@@ -0,0 +1,104 @@
(function () {
var isBindAccountLogin = '';//切换账号登录
var bindUserName = '';//绑定账号
var bindUserPassword = '';//绑定账号密码

var page = {
headColor: '#ffffff',
init: function ($page, param) {
//切换账号登录时:登录页赋值,触发登录事件;
isBindAccountLogin = param.isBindAccountLogin;
bindUserName = param.bindUserName;
bindUserPassword = param.bindUserPassword;
if (isBindAccountLogin == 1) {
$page.find('#account').val(bindUserName);
$page.find('#password').val(bindUserPassword);
var timer = setTimeout(function () {
$page.find('#loginBtn').trigger("tap");
clearTimeout(timer);
}, 3000);
}

var path = config.webapi;
// learun.http.get(path + "Learun/adms/EducationalAdministration/EmpRegister/registerbutton",
// {}, (res) => {
// if (res.info == "True") {
// var button = $page.find('#RegisterBtn');
// button.show();
// }
// });
//获取ACIp
learun.http.get(path + "weixinapi/GetACIp",
{}, (res) => {
learun.storage.set("Ip", res.data.Ip);
learun.storage.set("ACIp", res.data.ACIp);
learun.storage.set("ACIp2", res.data.ACIp2);
});
$page.find('img').attr('src', config.web + "Login/GetImg?code=applogo");
$page.find('#loginBtn').on('tap', function () {
var account = $('#idcard').val();
var password = $('#pwd').val();
var up = false;
if (account === "") {
learun.layer.warning('身份证号不能为空!', function () { }, '提示', '关闭');
}else if(account.length<=8){
learun.layer.warning('身份证号输入有误!', function () { }, '提示', '关闭');
} else if (password === "") {
learun.layer.warning('密码不能为空!', function () { }, '提示', '关闭');
} else {
var data = {
username: account,
password: password,
up: up
};
var postdata = {
token: '',
loginMark: learun.deviceId(),// 正式请换用设备号
data: JSON.stringify(data)
};

learun.layer.loading(true, "正在登录,请稍后");
learun.http.post(path + "learun/adms/user/loginbyIdCard", postdata, (res) => {
learun.layer.loading(false);
if (res === null) {
learun.layer.warning('无法连接服务器,请检测网络!', function () { }, '提示', '关闭');
return;
}

if (res.code === 200) {
var logininfo = {
account: account,
token: res.data.baseinfo.token,
date: learun.date.format(new Date(), 'yyyy-MM-dd hh:mm:ss')
};
learun.storage.set('logininfo', logininfo);
learun.storage.set('userinfo', res.data);
$('#account').val('');
$('#password').val('');
if (res.data.pwd === true) {
learun.storage.set('pwdandnotice', true);
} else {
learun.storage.set('pwdandnotice', false);
}
learun.tab.go('workspace');
if (learun.storage.get("Ip") != null && learun.storage.get("ACIp") != "") {
//Ip上网
sendToAc(learun.storage.get("ACIp"), 'logon', learun.storage.get("Ip"), account, '');
}
if (learun.storage.get("Ip") != null && learun.storage.get("ACIp2") != "") {
//Ip上网
sendToAc(learun.storage.get("ACIp2"), 'logon', learun.storage.get("Ip"), account, '');
}
} else {
learun.layer.warning(res.info, function () { }, '提示', '关闭');
}
});
}

});

}
};
return page;
})();

+ 4
- 1
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/login/login.html Ver arquivo

@@ -1,4 +1,4 @@
<div class="lr-login-page">
<div class="lr-login-page">
<div class="login-content">
<img src="" />
<div class="line">
@@ -15,6 +15,9 @@
<button id="bindweixinBtn" type="button" class="lr-btn-primary lr-btn-block">
微信登录
</button>
<button id="bindidcardBtn" type="button" class="lr-btn-primary lr-btn-block">
新生首次登录入口
</button>
<button id="RegisterBtn" type="button" style="display:none;" class="lr-btn-primary lr-btn-block">
注册
</button>


+ 5
- 2
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/login/login.js Ver arquivo

@@ -1,4 +1,4 @@
(function () {
(function () {
var isBindAccountLogin = '';//切换账号登录
var bindUserName = '';//绑定账号
var bindUserPassword = '';//绑定账号密码
@@ -106,7 +106,10 @@
function () {
location.href = "/weixinlogin.html";
});

$page.find('#bindidcardBtn').on('tap',
function () {
learun.nav.go({ path: 'login/IdCardLogin', title: '身份证登录', type: 'right' });
});
}
};
return page;


+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/my/modifypassword/modifypassword.html Ver arquivo

@@ -1,4 +1,4 @@
<<div style="margin-top:10px;" class="lr-form-container" id="modifypasswordform">
<div style="margin-top:10px;" class="lr-form-container" id="modifypasswordform">
<div class="lr-form-row">
<label>原密码</label>
<input id="oldpassword" type="password" isvalid="yes" checkexpession="NotNull" errormsg="原密码">


+ 1
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/my/modifypasswordandnotice/modifypasswordandnotice.css Ver arquivo

@@ -0,0 +1 @@


+ 34
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/my/modifypasswordandnotice/modifypasswordandnotice.html Ver arquivo

@@ -0,0 +1,34 @@
<div style="margin-top:10px;" class="lr-form-container" id="modifypasswordform">
<div class="lr-form-row">
<label>原密码</label>
<input id="oldpassword" type="password" isvalid="yes" checkexpession="NotNull" errormsg="原密码">
</div>
<div class="lr-form-row">
<label>新密码</label>
<input id="newpassword" type="password" isvalid="yes" checkexpession="NotNull" errormsg="新密码">
</div>
<div class="lr-form-row">
<label>确认新密码</label>
<input id="newpassword1" type="password" isvalid="yes" checkexpession="NotNull" errormsg="确认新密码">
</div>
</div>

<div class="lr-list" style="margin-top: 15px;">
<div id="strongpwd" style="display: none;">
您的密码不满足强度要求,请您先修改密码后再执行系统其他操作!
</div>
<div>
新密码必须8-20位同时包含1.[大小写字母]、2[数字]、3[特殊符号!@@#$%^&*]
</div>
<div>
学生学号请登录后点击【我的】->点击头像->查看【帐号】
</div>
<div class="lr-list-item" style="color: red; text-align: center;" id="savepassword">
保存
</div>
</div>
<div class="lr-list" style="margin-top:15px;display: none;" id="strongpwdout" >
<div class="lr-list-item" style="color:red;text-align:center;" id="outloginbtn">
退出
</div>
</div>

+ 68
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/my/modifypasswordandnotice/modifypasswordandnotice.js Ver arquivo

@@ -0,0 +1,68 @@
(function () {
var userinfo = null;
var page = {
isScroll: true,
init: function ($page) {
userinfo = learun.storage.get('userinfo');
//主被动修改密码判断
if (learun.storage.get('pwd')===true) {
$page.find('#strongpwd').css("display", "block");
$page.find('#strongpwdout').css("display", "block");
}
$page.find('#savepassword').on('tap', function () {
if (!$('#modifypasswordform').lrformValid()) {
return false;
}
var formdata = $('#modifypasswordform').lrformGet();
var reg = /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\.])[0-9a-zA-Z!@#$%^&*,\.]{8,20}$/;
if (!reg.test(formdata.newpassword)) {
learun.layer.toast('密码不满足强度要求');
return false;
}
if (formdata.newpassword1 === formdata.newpassword) {

var req = {
newpassword: $.md5(formdata.newpassword),
oldpassword: formdata.oldpassword
};
learun.layer.loading(true);
// 访问后台修改密码
learun.httppost(config.webapi + "learun/adms/user/modifypwiden", req, (data,info) => {
learun.layer.loading(false);
if (data) {// 表单数据保存成功,发起流程
learun.layer.toast(info);
//learun.storage.set('logininfo', null);
learun.storage.set('pwdandnotice', false);
learun.storage.set('isUpdStu', true);
learun.nav.go({ path: 'workspace', isBack: false, isHead: false });
}
return false;
});
}
else {
learun.layer.toast('二次输入密码不同');
}
});
$page.find('#outloginbtn').on('tap', function () {
learun.layer.confirm('确定要退出账号?', function (_index) {
if (_index === '1') {
learun.isOutLogin = true;
if (learun.storage.get("Ip") != null && learun.storage.get("ACIp") != "") {
//Ip上网
sendToAc(learun.storage.get("ACIp"), 'logout', learun.storage.get("Ip"), userinfo.baseinfo.account, '');
}
if (learun.storage.get("Ip") != null && learun.storage.get("ACIp2") != "") {
//Ip上网
sendToAc(learun.storage.get("ACIp2"), 'logout', learun.storage.get("Ip"), userinfo.baseinfo.account, '');
}
learun.storage.set('logininfo', null);
learun.nav.go({ path: 'login', isBack: false, isHead: false });
}

}, '', ['取消', '退出']);
});
}
};
return page;
})();

+ 2
- 2
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/notice/notice.html Ver arquivo

@@ -21,10 +21,10 @@
<span>班级:</span><span id="ClassNo"></span>
</div>
<div class="noticeTxt">
<span>辅导员:</span><span id="ClassTutorName"></span>
<span>辅导员:</span><span id="ClassDiredctorName"></span>
</div>
<div class="noticeTxt">
<span>电话:</span><span id="ClassTutorMobile"></span>
<span>电话:</span><span id="ClassDiredctorMobile"></span>
</div>
<div class="noticeTxt">
<span>宿舍:</span><span id="Dormitory"></span>


+ 2
- 2
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/notice/notice.js Ver arquivo

@@ -16,8 +16,8 @@
$('#DeptNo').html(entity.DeptNo);
$('#MajorNo').html(entity.MajorNo);
$('#ClassNo').html(entity.ClassNo);
$('#ClassTutorName').html(entity.ClassTutorName);
$('#ClassTutorMobile').html(entity.ClassTutorMobile);
$('#ClassDiredctorName').html(entity.ClassDiredctorName);
$('#ClassDiredctorMobile').html(entity.ClassDiredctorMobile);
$('#PayFeeStatus').html(entity.PayFeeStatus == "1" ? "已缴费" : "未缴费");
$('#CollectFileStatus').html(entity.CollectFileStatus == "1" ? "已提交" : "未提交");
$('#GetKeyStatus').html(entity.GetKeyStatus == "1" ? "已领取" : "未领取");


+ 6
- 6
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/notice2/notice2.html Ver arquivo

@@ -3,7 +3,7 @@
<!-- 未完成 类名 sSec1Type2 图片 enter2-1 enter2-2 enter2-3 enter2-4 enter2-5-->
<!-- 可以点击类名 sSec1Tap -->
<div class="ensHeader">
<div class="ensTime">2020</div>
<div class="ensTime">2021</div>
<div class="ensHeadT">新生入校流程</div>
</div>
<div class="ensSec1">
@@ -12,7 +12,7 @@
<div class="sSec1Con sSec1Type2" id="IsCompleteInfo">
<img src="images/enter2-1.png" alt="">
<div class="sSec1Txt">
完善学生信息
完善信息
</div>
<div class="sSec1State">未完成</div>
</div>
@@ -24,7 +24,7 @@
<img src="images/enter2-2.png" alt="">
<div class="sSec1Txt">
线上缴费
<span>( 已缴费、未缴费 )</span>
<span>(地址:http://onlinepay.xcmzyz.com/)</span>
</div>
<div class="sSec1State">未完成</div>
</div>
@@ -32,18 +32,18 @@
<img src="images/enter2-3.png" alt="">
<div class="sSec1Txt">
助学贷款
<span>( 填写贷款回执码 )</span>
<span>( 选择办理贷款状态 )</span>
</div>
<div class="sSec1State">未完成</div>
</div>
<div class="sSec1Con sSec1Type2" id="OnsitePayFeeStatus">
<!-- <div class="sSec1Con sSec1Type2" id="OnsitePayFeeStatus">
<img src="images/enter2-4.png" alt="">
<div class="sSec1Txt">
现场缴费
<span>( 已缴费、缓交、部分缴费、未缴费 )</span>
</div>
<div class="sSec1State">未完成</div>
</div>
</div> -->
</div>
<div class="eSec1Box">
<img src="images/enter1-6.png" alt="" class="sSecDown">


+ 6
- 6
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/notice2/notice2.js Ver arquivo

@@ -24,16 +24,16 @@
} else {
notCompleteStyle("#PayFeeStatus", "images/enter2-2.png");
}
if (data["StuInfoFreshEntity"].StudentLoanStatus == "1") {
if (data["StuInfoFreshEntity"].StudentLoanBLStatus) {
completeStyle("#StudentLoan", "images/enter1-3.png");
} else {
notCompleteStyle("#StudentLoan", "images/enter2-3.png");
}
if (data["StuInfoFreshEntity"].OnsitePayFeeStatus == "1") {
completeStyle("#OnsitePayFeeStatus", "images/enter1-4.png");
} else {
notCompleteStyle("#OnsitePayFeeStatus", "images/enter2-4.png");
}
// if (data["StuInfoFreshEntity"].OnsitePayFeeStatus == "1") {
// completeStyle("#OnsitePayFeeStatus", "images/enter1-4.png");
// } else {
// notCompleteStyle("#OnsitePayFeeStatus", "images/enter2-4.png");
// }
if (data["StuInfoFreshEntity"].RegisterStatus == "1") {
completeStyle("#RegisterStatus", "images/enter1-5.png");
} else {


+ 245
- 96
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/welcome/welcome.css Ver arquivo

@@ -1,132 +1,281 @@


.red{
color: red;
}

.welcome {
padding: 1px 12px 20px;
background: #fff;
height: 100%;
overflow: auto;
}
.welCard{
background-color: #EFF2F3;
height: calc(100% - 50px);
overflow: auto;
padding-bottom: 30px;
}
.welTab {
display: flex;
justify-content: space-between;
align-items: center;
/* position: relative; */
background: #fff;
padding: 1px 12px 0px;
font-size: 14px;
line-height: 40px;
}

.welTab div {
padding: 0 5px;
position: relative;
}

.welTab div:after {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: 3px;
height: 2px;
}

.welTab div.active {
color: #0C86D8;
}

.welTab div.active:after {
background-color: #0C86D8;
}

.welBox {
display: none;
/* background: #fff; */
/* padding: 0px 12px 20px; */
}
.welbox2{
padding: 0px 20px 0px;
background-color: #fff;
position: relative;

}
.welBox.active {
display: block;
}

.welT {
font-size: 16px;
margin-bottom: 10px;
padding: 10px 0;
font-weight: bold;
font-size: 16px;
line-height: 26px;
}
.welT span{
font-weight: 400;
font-size: 12px;
line-height: 26px;
}
.welT2 {
height: 46px;
line-height: 46px;
font-size: 16px;
margin: 0 -12px;
padding: 0 12px;
font-weight: 800;
}

.welT i {
width: 26px;
height: 26px;
line-height: 24px;
border: 1px solid #efefef;
border-radius: 4px;
float: right;
text-align: center;
color: #999;
}
.welT i {
width: 26px;
height: 26px;
line-height: 24px;
border: 1px solid #efefef;
border-radius: 4px;
float: right;
text-align: center;
color: #999;
}

.welLine {
height: 1px;
background: #efefef;
margin: 10px -12px;
height: 7px;
background-color: #EFF2F3;
/* margin: 10px -12px; */
}

.welText {
overflow: hidden;
font-size: 14px;
margin-top: 5px;
overflow: hidden;
font-size: 14px;
margin-top: 8px;
line-height: 0;
border-bottom: 1px solid #EFF2F3;
padding-bottom: 5px;
}

.welText span {
float: right;
width: 60%;
text-align: right;
}
.welText div {
width: 58px;
display: inline-block;
line-height: 20px;
text-align: justify;
text-align-last: justify;
}

.welText div:after {
overflow: hidden;
width: 100%;
content: '';
}

.welText span {
float: right;
width: 60%;
text-align: right;
line-height: 20px;
}

.welInputBox {
margin: 0 -12px;
}

.welInput {
overflow: hidden;
font-size: 14px;
margin-top: 10px;
overflow: hidden;
font-size: 14px;
/* margin-top: 10px; */
height: 46px;
padding: 8px 12px;
border-top: 1px solid #EFF2F3;
}

.welInput span {
float: left;
width: 26%;
text-align: right;
line-height: 30px;
}

.welInput input {
display: block;
margin-left: 28%;
width: 72%;
border: 1px solid #efefef;
border-radius: 4px;
height: 30px;
line-height: 28px;
padding: 0 10px;
margin-bottom: 0;
}
.welInput:first-child {
border: 0;
}
.welInput span {
float: left;
width: 70px;
text-align: right;
line-height: 30px;
text-align: justify;
text-align-last: justify;
}
.welInput span:after {
overflow: hidden;
width: 100%;
content: '';
}

.welInput .welInputs {
display: block;
margin-left: 80px;
width: calc(100% - 80px);
border: 0px solid #efefef;
border-radius: 4px;
height: 30px;
line-height: 28px;
padding: 0 10px;
margin-bottom: 0;
text-align: right;
}
.welInput .lr-picker {
line-height: 30px;
}
.welUrgent{
position: relative;
}
.welCon {
padding: 10px;
border: 1px solid #efefef;
margin-top: 18px;
border-radius: 4px;
position: relative;
margin-top: 18px;
margin: 0 -12px;
}

.welDel {
position: absolute;
top: -8px;
left: -8px;
background: #fff;
}

.welDel i {
text-align: center;
width: 26px;
height: 26px;
display: block;
line-height: 24px;
border: 1px solid #efefef;
border-radius: 50%;
}
text-align: right;
padding: 5px 12px 10px;
}

.welImgAdd {
text-align: center;
line-height: 0;

.welDel i,.welAdd i {
text-align: center;
width: 26px;
height: 26px;
line-height: 24px;
border: 2px solid #0C86D8;
border-radius: 3px;
background: #ffff;
color: #0C86D8;
margin-right:10px;
}

.welAdd{
position: absolute;
bottom: 12px;
font-size: 14px;
color: #0C86D8;
}

#files {
opacity: 0;
-webkit-opacity: 0;
z-index: 9;
display: none;
opacity: 0;
-webkit-opacity: 0;
z-index: 9;
display: none;
}

#welImgBtn {
display: block;
width: 110px;
height: 30px;
text-align: center;
line-height: 26px;
border: 2px solid #efefef;
border-radius: 4px;
font-size: 14px;
color: #999;
margin: 10px auto;
cursor: pointer;
display: block;
width: 110px;
height: 30px;
text-align: center;
line-height: 26px;
border: 2px solid #efefef;
border-radius: 4px;
font-size: 14px;
color: #999;
margin: 10px auto;
cursor: pointer;
}
.welImgAdd{
min-height:110px;

.welImgAdd {
height:300px;
margin: 60px auto;
border: 1px solid #0C86D8;
border-radius: 6px;
overflow: hidden;
line-height: 0;
}
#PhotoImg {
width: 110px;
height:110px;

.welImgAdd img {
width: 100%;
height: 100%;
}

.btnBox{
margin-top:20px;
text-align:center;
/* #PhotoImg {
width: 110px;
height: 110px;
} */
.welImgInfo {
width: 260px;
margin: 0 auto;
color: #888888;
}

.welImgInfoT {
font-size: 16px;
font-weight: bold;
}

.welImgInfoTxt {
font-size: 14px;
margin-top: 10px;
}
.btnBox {
margin-top: 20px;
text-align: center;
}

#saveBtn {
margin: auto;
margin-top: 25px;
width: 92%;
}
margin: auto;
margin-top: 25px;
width: 92%;
border-radius: 6px;
}

+ 207
- 139
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/welcome/welcome.html Ver arquivo

@@ -1,142 +1,210 @@
<div class="welcome">
<div class="welT">基本信息</div>
<div class="welBox">
<input type="hidden" name="ID" value="" id="ID" />
<div class="welText">
学号
<span id="StuNo"></span>
</div>
<div class="welText">
准考证号
<span id="zkzh"></span>
</div>
<div class="welText">
考生号
<span id="ksh"></span>
</div>
<div class="welText">
姓名 <span id="StuName"></span>
</div>
<div class="welText">
性别
<span id="GenderNo"></span>
</div>
<div class="welText">
系别
<span id="DeptNo"></span>
</div>
<div class="welText">
专业
<span id="MajorNo"></span>
</div>
<div class="welText">
班级
<span id="ClassNo"></span>
</div>
<div class="welText">
身份证号
<span id="IdentityCardNo"></span>
</div>
<div class="welText">
出生日期
<span id="Birthday"></span>
</div>
<div class="welText">
户口类别
<span id="ResidenceNo"></span>
</div>
<div class="welText">
政治面貌
<span id="PartyFaceNo"></span>
</div>
</div>
<div class="welLine"></div>
<div class="welT">采集照片信息</div>
<div class="welBox">
<input type="hidden" id="Photo" value="" />
<input id="files" type="file" accept="image/*">
<div class="welImgAdd">
<!--<div id="welImgBtn">上传照片</div>-->
<img id="PhotoImg" src="" alt="">
</div>
<!--<div class="welText">说明:近期两寸免冠正面彩色照小于100K</div>-->
</div>
<div class="welLine"></div>
<div class="welT">自然信息</div>
<div class="welBox">
<div class="welInput">
<span>籍贯</span>
<input id="RegionNo" type="text" placeholder="请填写籍贯" />
</div>
</div>
<div class="welLine"></div>
<div class="welT">通讯信息</div>
<div class="welBox">
<div class="welInput">
<span>家庭住址</span>
<input id="FamilyAddress" type="text" placeholder="按XX省XX市XX县XX街道填写" />
</div>
<div class="welInput">
<span>联系电话</span>
<input id="telephone" type="text" placeholder="请填写联系电话(重要)" />
</div>
</div>
<div class="welLine"></div>
<div class="welT">家庭成员(直系家属) <i title="家庭成员(直系家属)" class="iconfont icon-add"></i></div>
<div class="welBox" id="StuInfoFreshFamily">
<div class="welCon">
<div class="welInput">
<span>姓名</span>
<input type="text" name="Name" placeholder="请填写姓名" />
</div>
<div class="welInput">
<span>与本人关系</span>
<input type="text" name="Relation" placeholder="请填写与本人关系" />
</div>
<div class="welInput">
<span>性别</span>
<input type="text" name="Sex" placeholder="请填写性别" />
</div>
<div class="welInput">
<span>年龄</span>
<input type="text" name="Age" placeholder="请填写年龄" />
</div>
<div class="welInput">
<span>政治面貌</span>
<input type="text" name="Politicy" placeholder="请填写政治面貌" />
</div>
<div class="welDel"> <i class="iconfont icon-move"></i> </div>
</div>
</div>
<div class="welLine"></div>
<div class="welT">紧急联系人 <i title="紧急联系人" class="iconfont icon-add"></i></div>
<div class="welBox" id="StuInfoFreshEmergePeople">
<div class="welCon">
<div class="welInput">
<span>姓名</span>
<input type="text" name="Name" placeholder="请填写姓名" />
</div>
<div class="welInput">
<span>与本人关系</span>
<input type="text" name="Relation" placeholder="请填写与本人关系" />
</div>
<div class="welInput">
<span>手机号码</span>
<input type="text" name="Telephone" placeholder="请填写手机号码" />
</div>
<div class="welInput">
<span>座机号码</span>
<input type="text" name="Mobile" placeholder="请填写座机号码" />
</div>
<div class="welInput">
<span>联系地址</span>
<input type="text" name="Address" placeholder="请填写联系地址" />
</div>
<div class="welDel"> <i class="iconfont icon-move"></i> </div>
</div>
</div>
<div class="welTab">
<div class="active">基本信息</div>
<div>采集照片</div>
<div>籍贯/通讯</div>
<div>账户信息</div>
<div>家庭成员</div>
</div>
<div class="welLine" style="margin-top: 0;"></div>
<div class="welCard">
<div class="welBox active">
<div class="welbox2" style="padding-bottom: 20px;">
<div class="welT">基本信息<span style="color: red;">(下次请使用学号和密码登录)</span></div>

<input type="hidden" name="ID" value="" id="ID" />
<div class="welText">
<div>学号</div>
<span id="StuNo"></span>
</div>
<div class="welText">
<div>准考证号</div>
<span id="zkzh"></span>
</div>
<div class="welText">
<div>考生号</div>
<span id="ksh"></span>
</div>
<div class="welText">
<div>姓名</div>
<span id="StuName"></span>
</div>
<div class="welText">
<div>性别</div>
<span id="GenderNo"></span>
</div>
<div class="welText">
<div>系别</div>
<span id="DeptNo"></span>
</div>
<div class="welText">
<div>专业</div>
<span id="MajorNo"></span>
</div>
<div class="welText">
<div>班级</div>
<span id="ClassNo"></span>
</div>
<div class="welText">
<div>身份证号</div>
<span id="IdentityCardNo"></span>
</div>
<div class="welText">
<div>出生日期</div>
<span id="Birthday"></span>
</div>
<div class="welText">
<div>户口类别</div>
<span id="ResidenceNo"></span>
</div>
<div class="welText">
<div>政治面貌</div>
<span id="PartyFaceNo"></span>
</div>
</div>
</div>

<div class="welBox ">
<div class="welbox2" style="padding-bottom: 20px;">
<div class="welT">采集照片</div>
<input type="hidden" id="Photo" value="" />
<input id="files" type="file" accept="image/*">
<div class="welImgAdd">
<!--<div id="welImgBtn">上传照片</div>-->
<img id="PhotoImg" src="../../images/wel1.png" alt="">
</div>
<div class="welImgInfo">
<div class="welImgInfoT">照片要求:</div>
<div class="welImgInfoTxt">1 . 单色背景,正面,免冠近期证件照</div>
<div class="welImgInfoTxt">2 . 文件格式JPG</div>
<div class="welImgInfoTxt">3 . 文件大小165320KB以下</div>
</div>
</div>
<!-- <div class="btnBox">
<button id="saveBtn" type="button" class="lr-btn-primary lr-btn-block saveBtn">保存</button>
</div> -->
</div>

<div class="welBox ">
<div class="welbox2">
<div class="welT2">自然信息</div>
<div class="welInputBox">
<div class="welInput">
<span>籍贯</span>
<input class="welInputs" id="RegionNo" type="text" placeholder="请填写籍贯" />
</div>
</div>
<div class="welT2">通讯信息</div>
<div class="welInputBox">
<div class="welInput">
<span>家庭住址</span>
<input class="welInputs" id="FamilyAddress" type="text" placeholder="按XX省XX市XX县XX街道填写" />
</div>
<div class="welInput">
<span>联系电话</span>
<input class="welInputs" id="telephone" type="text" onkeyup="value=value.replace(/[^\d\.]/g,'')"
onblur="value=value.replace(/[^\d\.]/g,'')" placeholder="请填写联系电话(重要)" />
</div>
</div>
<div class="welT2">紧急联系人</div>
<div class="welUrgent" id="StuInfoFreshEmergePeople">
<div class="welCon">
<div class="welInput">
<span>姓名</span>
<input class="welInputs" type="text" name="Name" placeholder="请填写姓名" />
</div>
<div class="welInput">
<span>与本人关系</span>
<div name="Relation" value=""></div>
</div>
<div class="welInput">
<span>手机号码</span>
<input class="welInputs" type="text" name="Telephone"
onkeyup="value=value.replace(/[^\d\.]/g,'')" onblur="value=value.replace(/[^\d\.]/g,'')"
placeholder="请填写手机号码" />
</div>
<div class="welInput">
<span>座机号码</span>
<input class="welInputs" type="text" name="Mobile" placeholder="请填写座机号码" />
</div>
<div class="welInput">
<span>联系地址</span>
<input class="welInputs" type="text" name="Address" placeholder="请填写联系地址" />
</div>
<div class="welInput">
<span>联系地址</span>
<!-- <i class="iconfont icon-move"></i> -->
</div>
<!-- <div class="welDel">

<i class="iconfont icon-move"></i>
</div> -->

<!-- <div class="welAdd"><i title="紧急联系人" class="iconfont icon-add"></i> 添加紧急联系人</div> -->
</div>

</div>
<!-- <div class="welAdd"><i title="紧急联系人" class="iconfont icon-add"></i>添加紧急联系人</div> -->
</div>
<!-- <div class="btnBox">
<button id="saveBtn" type="button" class="lr-btn-primary lr-btn-block saveBtn">保存</button>
</div> -->
</div>

<div class="welBox ">
<div class="welbox2">
<div class="welInputBox">
<div class="welInput">
<span>开户银行</span>
<div name="DepositBank" id="DepositBank" placeholder="请选择开户银行" value=""></div>
</div>
<div class="welInput">
<span>银行卡号</span>
<input class="welInputs" id="BankCard" type="text" placeholder="银行卡号" />
</div>
<div class="welInput">
<span>开 户 行</span>
<input class="welInputs" id="BankLocation" type="text" placeholder="开户行" />
</div>
</div>
</div>
<!-- <div class="btnBox">
<button id="saveBtn1" type="button" class="lr-btn-primary lr-btn-block saveBtn">保存</button>
</div> -->
</div>

<div class="welBox">
<div class="welbox2">
<div class="welT2">家庭成员(直系家属)</div>
<div class="welUrgent" id="StuInfoFreshFamily">
<div class="welCon">
<div class="welInput">
<span>姓名</span>
<input class="welInputs" type="text" name="Name" placeholder="请填写姓名" />
</div>
<div class="welInput">
<span>与本人关系</span>
<div name="Relation" value=""></div>
</div>
<div class="welInput">
<span>年龄</span>
<input class="welInputs" type="text" name="Age" placeholder="请填写年龄" />
</div>
<div class="welInput">
<span>政治面貌</span>
<div name="Politicy" value=""></div>
</div>
<div class="welDel"> <i class="iconfont icon-move"></i> </div>
</div>
</div>
<div class="welAdd"><i title="家庭成员" class="iconfont icon-add"></i> 添加家庭成员</div>
</div>
<div class="btnBox">
<button id="saveBtn" type="button" class="lr-btn-primary lr-btn-block saveBtn">保存</button>
</div>
</div>

</div>


<div class="btnBox">
<button id="saveBtn" type="button" class="lr-btn-primary lr-btn-block">保存</button>
</div>
</div>

+ 233
- 137
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/welcome/welcome.js Ver arquivo

@@ -1,31 +1,32 @@
(function () {
var colDataItemArr = ['GenderNo'];
var colDataItemCode = ['usersex'];
var colDataItemBank = ['DepositBank'];
var page = {
isScroll: false,
init: function ($page) {
// 获取登录者信息
var userinfo = learun.storage.get('userinfo');

//tab切换
$page.find('.welTab div').on('tap', function () {
var ind = $(this).index();
$(this).addClass('active').siblings().removeClass('active');
$('.welBox').css('display', 'none').eq(ind).fadeIn()
})
//增加联系人
$page.find('.welT i').on('tap', function () {
$page.find('.welAdd').on('tap', function () {
var FamilyHtml = '<div class="welCon"><form class="welConForm">' +
'<div class="welInput">' +
'<span>姓名</span>' +
'<input type="text" name="Name" placeholder="请填写姓名" />' +
'<input class="welInputs" type="text" name="Name" placeholder="请填写姓名" />' +
'</div>' +
'<div class="welInput">' +
'<span>与本人关系</span>' +
'<div name="Relation" value=""></div>' +
'</div>' +
'<div class="welInput">' +
'<span>性别</span>' +
'<div name="Sex" value=""></div>' +
'</div>' +
'<div class="welInput">' +
'<span>年龄</span>' +
'<input type="text" name="Age" placeholder="请填写年龄" />' +
'<input class="welInputs" type="text" name="Age" placeholder="请填写年龄" />' +
'</div>' +
'<div class="welInput">' +
'<span>政治面貌</span>' +
@@ -40,37 +41,55 @@
var EmergePeopleHtml = '<div class="welCon"><form class="welConForm">' +
'<div class="welInput">' +
'<span>姓名</span>' +
'<input type="text" name="Name" placeholder="请填写姓名" />' +
'<input class="welInputs" type="text" name="Name" placeholder="请填写姓名" />' +
'</div>' +
'<div class="welInput">' +
'<span>与本人关系</span>' +
'<input type="text" name="Relation" placeholder="请填写与本人关系" />' +
'<div name="Relation" value=""></div>' +
'</div>' +
'<div class="welInput">' +
'<span>手机号码</span>' +
'<input type="text" name="Telephone" placeholder="请填写手机号码" />' +
'<input class="welInputs" type="text" name="Telephone" placeholder="请填写手机号码" />' +
'</div>' +
'<div class="welInput">' +
'<span>座机号码</span>' +
'<input type="text" name="Mobile" placeholder="请填写座机号码" />' +
'<input class="welInputs" type="text" name="Mobile" placeholder="请填写座机号码" />' +
'</div>' +
'<div class="welInput">' +
'<span>联系地址</span>' +
'<input type="text" name="Address" placeholder="请填写联系地址" />' +
'<input class="welInputs" type="text" name="Address" placeholder="请填写联系地址" />' +
'</div>' +
'<div class="welDel"> <i class="iconfont icon-move"></i> </div>' +
'</form></div>';


var obj = $(this).parent().next();
var obj = $(this).parents('.welBox').find('.welUrgent');
if ($(this).attr('title') == '紧急联系人') {
obj.append(EmergePeopleHtml);
} else {
obj.append(FamilyHtml);
//政治面貌
var Politicy = $(obj).find('[name="Politicy"]:last');
Politicy.lrpickerex({
code: 'BCdPartyFace',
type: 'sourceData',
ivalue: 'partyfaceno',
itext: 'partyface'
});
//赋值
Politicy.lrpickerSet(Politicy.attr('value'));
}


page.bind($page);
//与本人关系
var Relation = $(obj).find('[name="Relation"]:last');
Relation.lrpickerex({
code: 'FamilyRelation',
type: 'dataItem'
});
//赋值
Relation.lrpickerSet(Relation.attr('value'));
// page.bind($page);
})
//删除联系人
$page.find('.welBox').on('tap', '.welDel i', function () {
@@ -81,7 +100,7 @@
})
//上传照片
var inputNode = $page.find('#files');
$page.find('#welImgBtn').on('tap', function () {
$page.find('#PhotoImg').on('tap', function () {
var evt = new MouseEvent("click", {
bubbles: false,
cancelable: true,
@@ -92,142 +111,205 @@
inputNode.on('change', function () {
previewFile();
});
//数据绑定
learun.layer.loading(true, '获取数据中');
learun.httpget(config.webapi + "StuInfoFresh/stuInfoFreshEntity", userinfo.baseinfo.account, (
data) => {
//console.log('datadata',data);
if (data) {
if(!data['StuInfoFreshEntity'])
{
learun.layer.loading(false);
learun.layer.toast('未查询到新生数据,请确认是否为新生。');
return;
}
//基本信息
for (var id in data['StuInfoFreshEntity']) {
var dom = $('#' + id)[0];
if (dom) {
if (dom.tagName.toLowerCase() == "span") {
$('#' + id).html(data['StuInfoFreshEntity']['' + id + '']);
//数据字典
if ($.inArray(id, colDataItemArr) >= 0) {
learun.clientdata.get('dataItem', {
code: colDataItemCode[$.inArray(id,
colDataItemArr)],
key: data['StuInfoFreshEntity']['' + id + ''],
callback: function(data, op) {
$('#' + id).html(data.text);
}
});
}
if (id == "PartyFaceNo") {
learun.clientdata.get('sourceData', {
code: 'BCdPartyFace',
key: data['StuInfoFreshEntity']['' + id + ''],
keyId: 'partyfaceno',
callback: function(data, op) {
$("#PartyFaceNo").html(data.partyface);
}
});
}
if (id == "#DepositBank") {
learun.clientdata.get('sourceData', {
code: 'DepositBank',
key: data['StuInfoFreshEntity']['' + id + ''],
keyId: 'DepositBank',
callback: function(data, op) {
$("#DepositBank").html(data.text);
}
});
}
} else if (dom.tagName.toLowerCase() == "input") {
$('#' + id).val(data['StuInfoFreshEntity']['' + id + '']);
}
}
}
$("#Birthday").html($("#Birthday").text().substr(0, $("#Birthday").text()
.indexOf(' ')));
$("#DepositBank").lrpickerSet(data.StuInfoFreshEntity.DepositBank);
//头像
$('#PhotoImg').attr('src', config.web + data['Url']);
//家庭成员
if(data['StuInfoFreshFamilyList'].length>0){
$('#StuInfoFreshFamily').html("");
$.each(data['StuInfoFreshFamilyList'], function(i, item) {
var html = '<div class="welCon"><form class="welConForm">' +
'<div class="welInput">' +
'<span>姓名</span>' +
'<input class="welInputs" type="text" name="Name" placeholder="请填写姓名" value="' +
item.Name + '"/>' +
'</div >' +
'<div class="welInput">' +
'<span>与本人关系</span>' +
'<div name="Relation" value="' + item.Relation + '"></div>' +
'</div>' +
'<div class="welInput">' +
'<span>年龄</span>' +
'<input class="welInputs" type="text" name="Age" placeholder="请填写年龄" value="' +
item.Age + '"/>' +
'</div>' +
'<div class="welInput">' +
'<span>政治面貌</span>' +
'<div name="Politicy" value="' + item.Politicy + '"/>' +
'</div>' +
'<div class="welDel"> <i class="iconfont icon-move"></i> </div>' +
'</form></div> ';
$('#StuInfoFreshFamily').append(html);

//数据绑定
learun.layer.loading(true, '获取数据中');
learun.httpget(config.webapi + "StuInfoFresh/stuInfoFreshEntity", userinfo.baseinfo.account, (data) => {
if (data) {
//基本信息
for (var id in data['StuInfoFreshEntity']) {
var dom = $('#' + id)[0];
if (dom) {
if (dom.tagName.toLowerCase() == "span") {
$('#' + id).html(data['StuInfoFreshEntity']['' + id + '']);
//数据字典
if ($.inArray(id, colDataItemArr) >= 0) {
learun.clientdata.get('dataItem', {
code: colDataItemCode[$.inArray(id, colDataItemArr)],
key: data['StuInfoFreshEntity']['' + id + ''],
callback: function (data, op) {
$('#' + id).html(data.text);
}
});
}
if (id == "PartyFaceNo") {
learun.clientdata.get('sourceData', {
code: 'BCdPartyFace',
key: data['StuInfoFreshEntity']['' + id + ''],
keyId: 'partyfaceno',
callback: function (data, op) {
$("#PartyFaceNo").html(data.partyface);
}
});
}
} else if (dom.tagName.toLowerCase() == "input") {
$('#' + id).val(data['StuInfoFreshEntity']['' + id + '']);
}
}
}
$("#Birthday").html($("#Birthday").text().substr(0, $("#Birthday").text().indexOf(' ')));
//头像
$('#PhotoImg').attr('src', config.web + data['Url']);
//家庭成员
$('#StuInfoFreshFamily').html("");
$.each(data['StuInfoFreshFamilyList'], function (i, item) {
var html = '<div class="welCon"><form class="welConForm">' +
'<div class="welInput">' +
'<span>姓名</span>' +
'<input type="text" name="Name" placeholder="请填写姓名" value="' + item.Name + '"/>' +
'</div >' +
'<div class="welInput">' +
'<span>与本人关系</span>' +
//'<input type="text" name="Relation" placeholder="请填写与本人关系" value="' + item.Relation + '"/>' +
'<div name="Relation" value="' + item.Relation + '"></div>' +
'</div>' +
'<div class="welInput">' +
'<span>性别</span>' +
//'<input type="text" name="Sex" placeholder="请填写性别" value="' + item.Sex + '"/>' +
'<div name="Sex" value="' + item.Sex + '"></div>' +
'</div>' +
'<div class="welInput">' +
'<span>年龄</span>' +
'<input type="text" name="Age" placeholder="请填写年龄" value="' + item.Age + '"/>' +
'</div>' +
'<div class="welInput">' +
'<span>政治面貌</span>' +
//'<input type="text" name="Politicy" placeholder="请填写政治面貌" value="' + item.Politicy + '"/>' +
'<div name="Politicy" value="' + item.Politicy + '"/>' +
'</div>' +
//'<div class="welInput">' +
//'<span>身份证号</span>' +
//'<input type="text" name="IdCard" placeholder="请填写身份证号" value="' + item.IdCard + '"/>' +
//'</div>' +
'<div class="welDel"> <i class="iconfont icon-move"></i> </div>' +
'</form></div> ';
$('#StuInfoFreshFamily').append(html);
});}

});
//紧急联系人
if(data['StuInfoFreshEmergePeopleList'].length>0){
$('#StuInfoFreshEmergePeople').html("");
$.each(data['StuInfoFreshEmergePeopleList'], function(i, item) {
var html = '<div class="welCon"><form class="welConForm">' +
'<div class="welInput">' +
'<span>姓名</span>' +
'<input class="welInputs" type="text" name="Name" placeholder="请填写姓名" value="' +
item.Name + '"/>' +
'</div >' +
'<div class="welInput">' +
'<span>与本人关系</span>' +
'<div name="Relation" value="' +item.Relation + '"></div>' +
'</div>' +
'<div class="welInput">' +
'<span>手机号码</span>' +
'<input class="welInputs Telephone" type="text" name="Telephone" placeholder="请填写手机号码" value="' +
item.Telephone + '"/>' +
'</div>' +
'<div class="welInput">' +
'<span>座机号码</span>' +
'<input class="welInputs Telephone2" type="text" name="Mobile" placeholder="请填写座机号码" value="' +
item.Mobile + '"/>' +
'</div>' +
'<div class="welInput">' +
'<span>联系地址</span>' +
'<input class="welInputs" type="text" name="Address" placeholder="请填写联系地址" value="' +item.Address + '"/>' +
'</div>' +
//'<div class="welDel"> <i class="iconfont icon-move"></i> </div>' +
'</form></div > ';
$('#StuInfoFreshEmergePeople').append(html);

//紧急联系人
$('#StuInfoFreshEmergePeople').html("");
$.each(data['StuInfoFreshEmergePeopleList'], function (i, item) {
var html = '<div class="welCon"><form class="welConForm">' +
'<div class="welInput">' +
'<span>姓名</span>' +
'<input type="text" name="Name" placeholder="请填写姓名" value="' + item.Name + '"/>' +
'</div >' +
'<div class="welInput">' +
'<span>与本人关系</span>' +
'<input type="text" name="Relation" placeholder="请填写与本人关系" value="' + item.Relation + '"/>' +
'</div>' +
'<div class="welInput">' +
'<span>手机号码</span>' +
'<input type="text" name="Telephone" placeholder="请填写手机号码" value="' + item.Telephone + '"/>' +
'</div>' +
'<div class="welInput">' +
'<span>座机号码</span>' +
'<input type="text" name="Mobile" placeholder="请填写座机号码" value="' + item.Mobile + '"/>' +
'</div>' +
'<div class="welInput">' +
'<span>联系地址</span>' +
'<input type="text" name="Address" placeholder="请填写联系地址" value="' + item.Address + '"/>' +
'</div>' +
'<div class="welDel"> <i class="iconfont icon-move"></i> </div>' +
'</form></div > ';
$('#StuInfoFreshEmergePeople').append(html);
});
}
$('.Telephone').on('blur',function(item){
var reg = new RegExp("^[0-9]*$")
if(!reg.test($(".Telephone").val())){

});
$(".Telephone").val("")
$('.Telephone').attr('placeholder',"手机号只能为数字");
learun.layer.loading(true, '手机号只能为数字');
setTimeout(function(){
learun.layer.loading(false);
},1000)
}

page.bind($page);
learun.layer.loading(false);
})

}
$('.Telephone2').on('blur',function(item){
var reg = new RegExp(/^\d{3}-\d{7,8}|\d{4}-\d{7,8}$/)
if(!reg.test($(".Telephone2").val())){

});
$(".Telephone2").val("")
$('.Telephone2').attr('placeholder',"座机号只能为数字");
learun.layer.loading(true, '座机号只能为数字');
setTimeout(function(){
learun.layer.loading(false);
},1000)
}
})

page.bind($page);
learun.layer.loading(false);

}

});

//保存
$page.find('#saveBtn').on('tap', function () {
var postdata = {
ID: $('#ID').val(),
RegionNo: $('#RegionNo').val(),
FamilyAddress: $('#FamilyAddress').val(),
telephone: $('#telephone').val(),
Photo: $('#Photo').val(),
StuInfoFreshFamilyEntities: family(),
StuInfoFreshEmergePeopleEntities: emergePeople()
};
$page.find('.saveBtn').on('tap', function () {

var postdata = {
ID: $('#ID').val(),
RegionNo: $('#RegionNo').val(),
FamilyAddress: $('#FamilyAddress').val(),
telephone: $('#telephone').val(),
Photo: $('#Photo').val(),
DepositBank: $('#DepositBank').lrpickerGet(),
BankCard: $('#BankCard').val(),
BankLocation: $('#BankLocation').val(),
StuInfoFreshFamilyEntities: family(),
StuInfoFreshEmergePeopleEntities: emergePeople()
};
//console.log(postdata)
//return
learun.layer.loading(true, '正在提交数据');
learun.httpget(config.webapi + "StuInfoFresh/saveStuInfoFresh", postdata, (data) => {
learun.layer.loading(false);
if (data) {
learun.layer.toast('保存成功');
location.reload();
learun.nav.closeCurrent();
learun.nav.go({ path: 'notice2', title: '新生入校流程', type: 'right' });
}
});

});

page.bind($page);
},
bind: function ($page) {
//性别
@@ -251,7 +333,7 @@
$(item).lrpickerSet($(item).attr('value'));
});
//与本人关系
$.each($page.find('#StuInfoFreshFamily').find('[name="Relation"]'), function (i, item) {
$.each($page.find('[name="Relation"]'), function (i, item) {
$page.find(item).lrpickerex({
code: 'FamilyRelation',
type: 'dataItem'
@@ -259,6 +341,19 @@
//赋值
$(item).lrpickerSet($(item).attr('value'));
});
//开户银行
$page.find('#DepositBank').lrpickerex({
code: 'DepositBank',
type: 'dataItem'
});
/* $.each($page.find('[name="DepositBank"]'), function (i, item) {
$page.find(item).lrpickerex({
code: 'DepositBank',
type: 'dataItem'
});
//赋值
$(item).lrpickerSet($(item).attr('value'));
}); */
}
};
//数据处理
@@ -277,6 +372,7 @@
var list = new Array();
$.each($('#StuInfoFreshEmergePeople').children('.welCon'), function (i, item) {
var o = $(item).children(".welConForm").serializeObject();
o.Relation = $(item).find('[name="Relation"]').lrpickerGet();
list.push(o);
});
return list;


+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/workspace/modulelist/modulelist.js Ver arquivo

@@ -1,4 +1,4 @@
(function () {
(function () {

var page = {
isScroll: true,


+ 10
- 2
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/workspace/workspace.html Ver arquivo

@@ -1,4 +1,4 @@
<script type="text/javascript">
<script type="text/javascript">
(function ($, learun) {
learun.nav.data["workspace"].jsObj = (function () {

@@ -113,7 +113,7 @@
$desktop.append(_html);
chartMap[_item.F_Id] = echarts.init(document.getElementById(_item.F_Id));

// 获取后台数据
// // 获取后台数据
learun.httpget(config.webapi + "learun/adms/desktop/data", { type: 'chart', id: _item.F_Id }, function (data) {
if (data) {
var type = $('#' + data.Id).attr('data-desktop');
@@ -221,6 +221,14 @@
if (learun.storage.get('pwd') === true) {
learun.nav.go({ path: 'my/modifypassword', isBack: false, isHead: true, title:'修改密码' });
}
if (learun.storage.get('pwdandnotice') === true) {
learun.nav.go({ path: 'my/modifypasswordandnotice', isBack: false, isHead: true, title: '修改密码' });
}
if (learun.storage.get('isUpdStu') === true) {
learun.storage.set('isUpdStu',null);
learun.nav.go({ path: 'welcome', title: '完善信息', type: 'right' });
//learun.nav.go({ path: 'my/modifypassword', isBack: false, isHead: true, title:'修改密码' });
}
var _html = '';
// _html += '<div class="scanner">';
// _html += '<i class="iconfont icon-scan"></i>';


+ 21
- 21
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/workspace/workspace/workspace.html Ver arquivo

@@ -1,4 +1,4 @@
<script type="text/javascript">
<script type="text/javascript">
(function ($, learun) {
learun.nav.data["workspace"].jsObj = (function () {

@@ -45,27 +45,27 @@
<div class="lr-content" data-desktop="'+ _item.F_Id + '" ></div>\
</div>';
$desktop.append(_html);
learun.httpget(config.webapi + "learun/adms/desktop/data", { type: 'list', id: _item.F_Id }, function (data) {
if (data) {
var $list = $('[data-desktop="' + data.Id + '"]');
$.each(data.value, function (_j, _jitem) {
var _itemHtml = '\
<div class="lr-list-item lr-dtlist-item">\
<div class="lr-ellipsis">'+ _jitem.f_title + '</div>\
<div class="date">'+ learun.date.format(_jitem.f_time, 'yyyy-MM-dd') + '</div>\
</div>';
var _$itemHtml = $(_itemHtml);
_$itemHtml[0].item = _jitem;
$list.append(_$itemHtml);
});
$list.find('.lr-dtlist-item').on('tap', function () {
var item = $(this)[0].item;
learun.nav.go({ path: 'workspace/listdetaile', title: '详情', param: item, type: 'right' });
});
// learun.httpget(config.webapi + "learun/adms/desktop/data", { type: 'list', id: _item.F_Id }, function (data) {
// if (data) {
// var $list = $('[data-desktop="' + data.Id + '"]');
// $.each(data.value, function (_j, _jitem) {
// var _itemHtml = '\
// <div class="lr-list-item lr-dtlist-item">\
// <div class="lr-ellipsis">'+ _jitem.f_title + '</div>\
// <div class="date">'+ learun.date.format(_jitem.f_time, 'yyyy-MM-dd') + '</div>\
// </div>';
// var _$itemHtml = $(_itemHtml);
// _$itemHtml[0].item = _jitem;
// $list.append(_$itemHtml);
// });
// $list.find('.lr-dtlist-item').on('tap', function () {
// var item = $(this)[0].item;
// learun.nav.go({ path: 'workspace/listdetaile', title: '详情', param: item, type: 'right' });
// });

$list = null;
}
});
// $list = null;
// }
// });
});
}
}


+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/scripts/weixinlogin.js Ver arquivo

@@ -1,4 +1,4 @@
function GetQueryString(name) {
function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);//search,查询?后面的参数,并匹配正则
if (r != null) return unescape(r[2]); return null;


+ 1
- 2
Learun.Framework.Ultimate V7/Learun.Application.Organization/Department/DepartmentBLL.cs Ver arquivo

@@ -39,7 +39,6 @@ namespace Learun.Application.Organization
if (list == null)
{
list = (List<DepartmentEntity>)departmentService.GetList(companyId);
cache.Write<List<DepartmentEntity>>(cacheKey + companyId, list, CacheId.department);
}
return list;
}
@@ -68,7 +67,7 @@ namespace Learun.Application.Organization
List<DepartmentEntity> list = GetList(companyId);
if (!string.IsNullOrEmpty(keyWord))
{
list = list.FindAll(t => t.F_FullName.Contains(keyWord) || t.F_EnCode.Contains(keyWord) || t.F_ShortName.Contains(keyWord));
list = list.FindAll(t => (!string.IsNullOrEmpty(t.F_FullName) && t.F_FullName.Contains(keyWord)) || (!string.IsNullOrEmpty(t.F_EnCode) && t.F_EnCode.Contains(keyWord)) || (!string.IsNullOrEmpty(t.F_ShortName) && t.F_ShortName.Contains(keyWord)));
}
return list;
}


+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Application.Organization/Department/DepartmentService.cs Ver arquivo

@@ -63,7 +63,7 @@ namespace Learun.Application.Organization
var strSql = new StringBuilder();
strSql.Append("SELECT ");
strSql.Append(fieldSql);
strSql.Append(" FROM LR_Base_Department t WHERE t.F_EnabledMark = 1 AND t.F_DeleteMark = 0 ");
strSql.Append(" FROM LR_Base_Department t WHERE t.F_EnabledMark = 1 AND t.F_DeleteMark = 0 order by F_Order");
return this.BaseRepository().FindList<DepartmentEntity>(strSql.ToString());
}
catch (Exception ex)


+ 42
- 0
Learun.Framework.Ultimate V7/Learun.Application.Organization/Role/RoleBLL.cs Ver arquivo

@@ -233,5 +233,47 @@ namespace Learun.Application.Organization

}
#endregion

#region 扩展数据
/// <summary>
/// 获取树形数据
/// </summary>
/// <param name="parentId">父级id</param>
/// <returns></returns>
public List<TreeModel> GetTree(string parentId)
{
try
{
List<RoleEntity> list = GetList();
List<TreeModel> treeList = new List<TreeModel>();
foreach (var item in list)
{
TreeModel node = new TreeModel
{
id = item.F_RoleId,
text = item.F_FullName,
value = item.F_RoleId,
showcheck = false,
checkstate = 0,
isexpand = true,
parentId = item.F_RoleId
};
treeList.Add(node);
}
return treeList;
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
#endregion
}
}

+ 11
- 0
Learun.Framework.Ultimate V7/Learun.Application.Organization/Role/RoleIBLL.cs Ver arquivo

@@ -59,5 +59,16 @@ namespace Learun.Application.Organization
void SaveEntity(string keyValue, RoleEntity roleEntity);
string GetIdByRoleName(string v);
#endregion

#region 扩展数据
/// <summary>
/// userRelationIBLL.GetUserIdList(objectId);
/// </summary>
/// <param name="parentId">父级id</param>
/// <returns></returns>
List<TreeModel> GetTree(string parentId);


#endregion
}
}

+ 223
- 4
Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserBLL.cs Ver arquivo

@@ -382,6 +382,27 @@ namespace Learun.Application.Organization
}
}
}

public UserEntity GetEntityByMobile(string mobile)
{
try
{
UserEntity userEntity;
userEntity = userService.GetEntityByMobile(mobile);
return userEntity;
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
/// <summary>
/// 获取实体,通过用户账号
/// </summary>
@@ -408,6 +429,31 @@ namespace Learun.Application.Organization
}
}
/// <summary>
/// 获取实体,通过身份证号
/// </summary>
/// <param name="idcard">身份证号</param>
/// <returns></returns>
public UserEntity GetEntityByIdCard(string idcard)
{
try
{
UserEntity userEntity;
userEntity = userService.GetEntityByIdCard(idcard);
return userEntity;
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
/// <summary>
/// 获取实体,通过用户名
/// </summary>
/// <param name="account">用户账号</param>
@@ -451,7 +497,28 @@ namespace Learun.Application.Organization
}
}
}

/// <summary>
/// 记录已登录标记
/// </summary>
/// <param name="id"></param>
public void UpdateHaveLogMark(string id)
{
try
{
userService.UpdateHaveLogMark(id);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
/// <summary>
/// 获取用户数据
/// </summary>
@@ -853,6 +920,65 @@ namespace Learun.Application.Organization
}
}
}
/// <summary>
/// 修改用户登录密码身份证后8位
/// </summary>
/// <param name="newPassword">新密码(MD5 小写)</param>
/// <param name="oldPassword">旧密码(身份证后8位)</param>
public bool RevisePasswordiden(string newPassword, string oldPassword)
{
try
{
UserInfo userInfo = LoginUserInfo.Get();
cache.Remove(cacheKeyId + userInfo.userId, CacheId.user);
cache.Remove(cacheKeyAccount + userInfo.account, CacheId.user);

var entity = userService.GetEntity(userInfo.userId);
if (oldPassword == entity.F_IdentityCardNo.Substring(entity.F_IdentityCardNo.Length - 8, 8))
{
userService.RevisePassword(userInfo.userId, newPassword);
}
else
{
return false;
}
return true;
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

public void FirstRevisePassword(string password)
{
try
{
UserInfo userInfo = LoginUserInfo.Get();
cache.Remove(cacheKeyId + userInfo.userId, CacheId.user);
cache.Remove(cacheKeyAccount + userInfo.account, CacheId.user);
userService.RevisePassword(userInfo.userId, password);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

/// <summary>
/// 重置密码
/// </summary>
@@ -871,7 +997,7 @@ namespace Learun.Application.Organization
{
cache.Remove(cacheKeyId + item, CacheId.user);
}
string password = Md5Helper.Encrypt(ConfigurationManager.AppSettings["defaultpwd"], 32).ToLower();
string password = Md5Helper.Encrypt(ConfigurationManager.AppSettings["pwdprex"] + ConfigurationManager.AppSettings["pwdsuff"], 32).ToLower();
userService.RevisePasswordBatch(keyValue, password);
}
catch (Exception ex)
@@ -1004,6 +1130,29 @@ namespace Learun.Application.Organization
}
}
}
/// <summary>
/// 修改手机号
/// </summary>
/// <param name="keyValue"></param>
/// <param name="mobile"></param>
public void UpdateMobile(string keyValue, string mobile)
{
try
{
userService.UpdateMobile(keyValue, mobile);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
#endregion

#region 验证数据
@@ -1064,7 +1213,7 @@ namespace Learun.Application.Organization
{
userEntity = new UserEntity()
{
LoginMsg = "账户不存在!",
LoginMsg = "账户或密码错误!",
LoginOk = false
};
return userEntity;
@@ -1086,7 +1235,7 @@ namespace Learun.Application.Organization
}
else
{
userEntity.LoginMsg = "密码和账户名不匹配!";
userEntity.LoginMsg = "账户或密码错误!";
}
}
}
@@ -1108,6 +1257,76 @@ namespace Learun.Application.Organization
}
}
}

/// <summary>
/// 验证登录
/// </summary>
/// <param name="account">身份证号</param>
/// <param name="password">密码</param>
/// <returns></returns>
public UserEntity CheckLoginByIdCard(string account, string password)
{
try
{
UserEntity userEntity = GetEntityByIdCard(account);
if (userEntity == null)
{
userEntity = new UserEntity()
{
LoginMsg = "账户不存在!",
LoginOk = false
};
return userEntity;
}
else if (userEntity.F_Description != "学生")
{
userEntity = new UserEntity()
{
LoginMsg = "您非学生,不可用此种方式登录!",
LoginOk = false
};
return userEntity;
}
else
{

}

userEntity.LoginOk = false;
if (userEntity.F_EnabledMark == 1)
{
if (userEntity.F_IdentityCardNo.Length <= 8)
{
userEntity.LoginMsg = "身份证输入有误!";
}
else if (password == userEntity.F_IdentityCardNo.Substring(userEntity.F_IdentityCardNo.Length - 8, 8))
{
userEntity.LoginOk = true;
}
else
{
userEntity.LoginMsg = "密码和账户名不匹配!";
}
}
else
{
userEntity.LoginMsg = "账户被系统锁定,请联系管理员!";
}
return userEntity;
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

/// <summary>
/// 获取用户头像
/// </summary>


+ 12
- 0
Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserEntity.cs Ver arquivo

@@ -233,6 +233,18 @@ namespace Learun.Application.Organization
[Column("PERSIGNATURE")]
public string PerSignature { get; set; }

[Column("F_ORDER")]
public int? F_Order { get; set; }
/// <summary>
/// 修改密码日期
/// </summary>
[Column("F_MODIFYPWDDATE")]
public DateTime? F_ModifyPwdDate { get; set; }
/// <summary>
/// 是否已登录标记
/// </summary>
[Column("F_HAVELOGMARK")]
public bool? F_HaveLogMark { get; set; }
#endregion

#region 扩展操作


+ 34
- 0
Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserIBLL.cs Ver arquivo

@@ -69,6 +69,8 @@ namespace Learun.Application.Organization
/// </summary>
/// <returns></returns>
void GetExportListOfStudent();

UserEntity GetEntityByMobile(string mobile);
/// <summary>
/// 获取实体,通过用户账号
/// </summary>
@@ -153,6 +155,12 @@ namespace Learun.Application.Organization
/// 解绑微信
/// </summary>
void DoUnbundWeiXin(string keyValue);
/// <summary>
/// 修改手机号
/// </summary>
/// <param name="keyValue"></param>
/// <param name="mobile"></param>
void UpdateMobile(string keyValue, string mobile);
#endregion

#region 验证数据
@@ -174,6 +182,13 @@ namespace Learun.Application.Organization
/// <returns></returns>
UserEntity CheckLogin(string username, string password);
/// <summary>
/// 验证登录 F_UserOnLine 0 不成功,1成功
/// </summary>
/// <param name="username">账号</param>
/// <param name="password">密码</param>
/// <returns></returns>
UserEntity CheckLoginByIdCard(string username, string password);
/// <summary>
/// 获取用户头像
/// </summary>
/// <param name="userId">用户ID</param>
@@ -193,7 +208,26 @@ namespace Learun.Application.Organization
IEnumerable<UserEntity> GetAdminList();

void UpdateIp(string ip, string id);
/// <summary>
/// 记录已登录标记
/// </summary>
/// <param name="id"></param>
void UpdateHaveLogMark(string id);
void GetImgForDC(string userId);
UserEntity GetEntityByWeixinOpenIdPC(string openId);

/// <summary>
/// 通过身份证后8位修改密码
/// </summary>
/// <param name="newPassword"></param>
/// <param name="oldPassword"></param>
/// <returns></returns>
bool RevisePasswordiden(string newPassword, string oldPassword);

/// <summary>
/// 直接修改密码
/// </summary>
/// <param name="password"></param>
void FirstRevisePassword(string password);
}
}

+ 148
- 7
Learun.Framework.Ultimate V7/Learun.Application.Organization/User/UserService.cs Ver arquivo

@@ -2,6 +2,7 @@
using Learun.Util;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Runtime.CompilerServices;
@@ -26,6 +27,32 @@ namespace Learun.Application.Organization
#endregion

#region 获取数据
public UserEntity GetEntityByMobile(string mobile)
{
try
{
var strSql = new StringBuilder();
strSql.Append("SELECT ");
strSql.Append(fieldSql);
strSql.Append(" FROM LR_Base_User t ");
strSql.Append(" WHERE t.F_Mobile = @account AND t.F_DeleteMark = 0 ");
return this.BaseRepository().FindEntity<UserEntity>(strSql.ToString(), new
{
account = mobile
});
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}
/// <summary>
/// 获取实体,通过用户账号
/// </summary>
@@ -78,6 +105,31 @@ namespace Learun.Application.Organization
}
}
}

/// <summary>
/// 获取实体,通过身份证号
/// </summary>
/// <param name="idcard">身份证号</param>
/// <returns></returns>
public UserEntity GetEntityByIdCard(string idcard)
{
try
{
return this.BaseRepository()
.FindEntity<UserEntity>(a => a.F_IdentityCardNo.Equals(idcard) && a.F_DeleteMark == 0);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}
/// <summary>
/// 用户列表(根据公司主键)
/// </summary>
@@ -490,6 +542,7 @@ namespace Learun.Application.Organization
userEntity.Modify(keyValue);
userEntity.F_Secretkey = Md5Helper.Encrypt(CommonHelper.CreateNo(), 16).ToLower();
userEntity.F_Password = Md5Helper.Encrypt(DESEncrypt.Encrypt(password, userEntity.F_Secretkey).ToLower(), 32).ToLower();
userEntity.F_ModifyPwdDate = DateTime.Now;
this.BaseRepository().Update(userEntity);
}
catch (Exception ex)
@@ -517,16 +570,33 @@ namespace Learun.Application.Organization
foreach (var item in keyValue.Split(','))
{
UserEntity userEntity = new UserEntity();
userEntity.Modify(item);
userEntity.F_Secretkey = Md5Helper.Encrypt(CommonHelper.CreateNo(), 16).ToLower();
userEntity.F_Password = Md5Helper.Encrypt(DESEncrypt.Encrypt(password, userEntity.F_Secretkey).ToLower(), 32).ToLower();
db.Update(userEntity);
UserEntity userModel = this.BaseRepository().FindEntity<UserEntity>(x => x.F_UserId == item);
if (userModel != null)
{
userEntity.Modify(userModel.F_UserId);
userEntity.F_Secretkey = Md5Helper.Encrypt(CommonHelper.CreateNo(), 16).ToLower();
if (!string.IsNullOrEmpty(userModel.F_IdentityCardNo) && userModel.F_IdentityCardNo.Length >= 6)
{
//密码规则:前缀+身份证后6位
password = Md5Helper.Encrypt(ConfigurationManager.AppSettings["pwdprex"] + userModel.F_IdentityCardNo.Substring(userModel.F_IdentityCardNo.Length - 6, 6), 32).ToLower();
}
userEntity.F_Password = Md5Helper.Encrypt(DESEncrypt.Encrypt(password, userEntity.F_Secretkey).ToLower(), 32).ToLower();
db.Update(userEntity);
}
}
db.Commit();
}
catch (Exception ex)
{
db.Rollback();
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}
/// <summary>
@@ -599,8 +669,19 @@ namespace Learun.Application.Organization
{
try
{
var ids = departmentId.Split(',');
return this.BaseRepository().FindList<UserEntity>(a => ids.Contains(a.F_DepartmentId)).ToList();
if (string.IsNullOrEmpty(departmentId))
{
return new List<UserEntity>();
}
if (departmentId.IndexOf(',') == -1)
{
return this.BaseRepository().FindList<UserEntity>(a => a.F_DepartmentId == departmentId && a.F_DeleteMark == 0).ToList();
}
else
{
var ids = departmentId.Split(',');
return this.BaseRepository().FindList<UserEntity>(a => ids.Contains(a.F_DepartmentId) && a.F_DeleteMark == 0).ToList();
}
}
catch (Exception ex)
{
@@ -792,7 +873,45 @@ namespace Learun.Application.Organization
}
}
}

/// <summary>
/// 修改手机号
/// </summary>
/// <param name="keyValue"></param>
/// <param name="mobile"></param>
public void UpdateMobile(string keyValue, string mobile)
{
try
{
var userEntity = this.BaseRepository().FindEntity<UserEntity>(keyValue);
if (userEntity != null)
{
userEntity.F_Mobile = mobile;
userEntity.Modify(keyValue);
this.BaseRepository().Update(userEntity);
if (userEntity.F_Description == "学生")
{
//修改学籍手机号
this.BaseRepository("CollegeMIS").ExecuteBySql($"update StuInfoBasic set mobile='{mobile}' where StuNo='{userEntity.F_Account}' ");
}
else if (userEntity.F_Description == "教师")
{
//修改教师手机号
this.BaseRepository("CollegeMIS").ExecuteBySql($"update EmpInfo set mobile='{mobile}' where EmpNo='{userEntity.F_Account}' ");
}
}
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}
public void UpdateIp(string ip, string id)
{
try
@@ -811,6 +930,28 @@ namespace Learun.Application.Organization
}
}
}
/// <summary>
/// 记录已登录标记
/// </summary>
/// <param name="id"></param>
public void UpdateHaveLogMark(string id)
{
try
{
this.BaseRepository().ExecuteBySql("update LR_Base_User set F_HaveLogMark=1 where F_UserId='" + id + "' ");
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

/// <summary>
/// 获取用户头像,取empinfo照片


+ 4
- 0
Learun.Framework.Ultimate V7/Learun.Application.Organization/app.config Ver arquivo

@@ -18,6 +18,10 @@
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.6.0" newVersion="4.0.6.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /></startup></configuration>

+ 47
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/App_Start/01 Handler/FinaChargeOperatorHelper.cs Ver arquivo

@@ -0,0 +1,47 @@
using Learun.Util.Operat;
using Learun.Util;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Learun.Application.TwoDevelopment;
using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement;

namespace Learun.Application.Web
{
public class FinaChargeOperatorHelper
{

private static FinaChargeLogService finaChargeLogService = new FinaChargeLogService();
public static FinaChargeOperatorHelper Instance
{
get { return new FinaChargeOperatorHelper(); }
}
public void WriteOperateLog(OperateLogModel operateLogModel)
{
try
{
if (operateLogModel.userInfo == null)
{
operateLogModel.userInfo = LoginUserInfo.Get();
}
FinaChargeLogEntity logEntity = new FinaChargeLogEntity();
logEntity.F_CategoryId = 3;
logEntity.F_OperateTypeId = ((int)operateLogModel.type).ToString();
logEntity.F_OperateType = EnumAttribute.GetDescription(operateLogModel.type);
logEntity.F_OperateAccount = operateLogModel.userInfo?.account + "(" + operateLogModel.userInfo.realName + ")";
logEntity.F_OperateUserId = operateLogModel.userInfo?.userId;
logEntity.F_Module = operateLogModel.title;
logEntity.F_ExecuteResult = 1;
logEntity.F_ExecuteResultJson = "访问地址:" + operateLogModel.url;
logEntity.F_SourceObjectId = operateLogModel.sourceObjectId;
logEntity.F_SourceContentJson = operateLogModel.sourceContentJson;
logEntity.F_Description = "PC端";
finaChargeLogService.WriteLog(logEntity);
}
catch (Exception)
{
}
}
}
}

+ 20
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/App_Start/01 Handler/MvcControllerBase.cs Ver arquivo

@@ -101,6 +101,26 @@ namespace Learun.Application.Web
return Content(new ResParameter { code = ResponseCode.success, info = info, data = new object { } }.ToJson());
}


/// <summary>
/// 带操作日志
/// </summary>
/// <param name="info"></param>
/// <returns></returns>
protected virtual ActionResult Success_FinaCharge(string info, string title, OperationType type, string keyValue, string content)
{
OperateLogModel operateLogModel = new OperateLogModel();
operateLogModel.title = title;
operateLogModel.type = type;
operateLogModel.url = (string)WebHelper.GetHttpItems("currentUrl");
operateLogModel.sourceObjectId = keyValue;
operateLogModel.sourceContentJson = content;

FinaChargeOperatorHelper.Instance.WriteOperateLog(operateLogModel);

return Content(new ResParameter { code = ResponseCode.success, info = info, data = new object { } }.ToJson());
}

/// <summary>
/// 返回失败消息
/// </summary>


+ 6
- 8
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AdmissionsPlatform/Views/AP_OnlineUserInfo/DropOutIndex.js Ver arquivo

@@ -121,12 +121,11 @@ var bootstrap = function ($, learun) {
{
label: '民族', name: 'Nation', width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'BCdNationality',
learun.clientdata.getAsync('dataItem', {
key: value,
keyId: 'nationalityno',
code: 'National',
callback: function (_data) {
callback(_data['nationality']);
callback(_data.text);
}
});
}
@@ -134,12 +133,11 @@ var bootstrap = function ($, learun) {
{
label: '政治面貌', name: 'PoliticsFace', width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'BCdPartyFace',
learun.clientdata.getAsync('dataItem', {
key: value,
keyId: 'partyfaceno',
code: 'BCdPartyFace',
callback: function (_data) {
callback(_data['partyface']);
callback(_data.text);
}
});
}


+ 6
- 8
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AdmissionsPlatform/Views/AP_OnlineUserInfo/PaymentIndex.js Ver arquivo

@@ -117,12 +117,11 @@ var bootstrap = function ($, learun) {
{
label: '民族', name: 'Nation', width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'BCdNationality',
learun.clientdata.getAsync('dataItem', {
key: value,
keyId: 'nationalityno',
code: 'National',
callback: function (_data) {
callback(_data['nationality']);
callback(_data.text);
}
});
}
@@ -130,12 +129,11 @@ var bootstrap = function ($, learun) {
{
label: '政治面貌', name: 'PoliticsFace', width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'BCdPartyFace',
learun.clientdata.getAsync('dataItem', {
key: value,
keyId: 'partyfaceno',
code: 'BCdPartyFace',
callback: function (_data) {
callback(_data['partyface']);
callback(_data.text);
}
});
}


+ 7
- 9
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AdmissionsPlatform/Views/AP_OnlineUserInfo/RegistrateForm.js Ver arquivo

@@ -16,7 +16,7 @@ var bootstrap = function ($, learun) {
},
bind: function () {
$("#SexId").lrDataItemSelect({ code: 'usersex' });
$('#Nation').lrDataSourceSelect({ code: 'BCdNationality', value: 'nationalityno', text: 'nationality' });
$("#Nation").lrDataItemSelect({ code: 'National' });
$('#PhotoUrl').lrUploader();
$('#Province').lrDataSourceSelect({
code: 'DIC_PROVINCE', value: 'pcode', text: 'pname',
@@ -56,7 +56,7 @@ var bootstrap = function ($, learun) {
$('#Country').lrselect({
value: 'ACODE', text: 'ANAME'
});
$('#PoliticsFace').lrDataSourceSelect({ code: 'BCdPartyFace', value: 'partyfaceno', text: 'partyface' });
$("#PoliticsFace").lrDataItemSelect({ code: 'BCdPartyFace' });
$("#OriginId").lrDataItemSelect({ code: 'ResidenceNo' });
$("#DataSource").lrDataItemSelect({ code: 'AdmissionsDataSource' });
$("#ExamineTypeId").lrDataItemSelect({ code: 'ExamineType' });
@@ -148,13 +148,11 @@ var bootstrap = function ($, learun) {
label: '政治面貌', name: 'PoliticalId', width: 100, align: 'left'
, edit: {
type: 'select',
datatype: 'dataSource',
code: 'BCdPartyFace',
op: {
value: 'partyfaceno',
text: 'partyface',
title: 'partyface'
}
init: function (data, $edit) {

},
datatype: 'dataItem',
code: 'BCdPartyFace'
}
},
{


+ 6
- 8
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AdmissionsPlatform/Views/AP_OnlineUserInfo/RegistrateIndex.js Ver arquivo

@@ -189,12 +189,11 @@ var bootstrap = function ($, learun) {
{
label: '民族', name: 'Nation', width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'BCdNationality',
learun.clientdata.getAsync('dataItem', {
key: value,
keyId: 'nationalityno',
code: 'National',
callback: function (_data) {
callback(_data['nationality']);
callback(_data.text);
}
});
}
@@ -202,12 +201,11 @@ var bootstrap = function ($, learun) {
{
label: '政治面貌', name: 'PoliticsFace', width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'BCdPartyFace',
learun.clientdata.getAsync('dataItem', {
key: value,
keyId: 'partyfaceno',
code: 'BCdPartyFace',
callback: function (_data) {
callback(_data['partyface']);
callback(_data.text);
}
});
}


+ 6
- 8
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AdmissionsPlatform/Views/AP_OnlineUserInfo/ReportIndex.js Ver arquivo

@@ -119,12 +119,11 @@ var bootstrap = function ($, learun) {
{
label: '民族', name: 'Nation', width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'BCdNationality',
learun.clientdata.getAsync('dataItem', {
key: value,
keyId: 'nationalityno',
code: 'National',
callback: function (_data) {
callback(_data['nationality']);
callback(_data.text);
}
});
}
@@ -132,12 +131,11 @@ var bootstrap = function ($, learun) {
{
label: '政治面貌', name: 'PoliticsFace', width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'BCdPartyFace',
learun.clientdata.getAsync('dataItem', {
key: value,
keyId: 'partyfaceno',
code: 'BCdPartyFace',
callback: function (_data) {
callback(_data['partyface']);
callback(_data.text);
}
});
}


+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Controllers/Ask_MainController.cs Ver arquivo

@@ -102,7 +102,7 @@ namespace Learun.Application.Web.Areas.Ask.Controllers
public ActionResult Form()
{
ViewBag.VSerial = "Table_" + CommonHelper.CreateNo();
var xnxq = Common.GetSemesterAndYear();
var xnxq = TwoDevelopment.EducationalAdministration.Common.GetSemesterAndYear();
ViewBag.AcademicYearNo = xnxq.AcademicYearShort;
ViewBag.Semester = xnxq.Semester;
return View();


+ 247
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Controllers/Ask_MainOfTeacherController.cs Ver arquivo

@@ -0,0 +1,247 @@
using System;
using Learun.Util;
using System.Data;
using Learun.Application.TwoDevelopment.Ask;
using System.Web.Mvc;
using System.Collections.Generic;
using Learun.Application.TwoDevelopment.EducationalAdministration;

namespace Learun.Application.Web.Areas.Ask.Controllers
{
/// <summary>
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
/// Copyright (c) 2013-2018 北京泉江科技有限公司
/// 创 建:超级管理员
/// 日 期:2019-04-23 15:50
/// 描 述:教师问卷管理
/// </summary>
public class Ask_MainOfTeacherController : MvcControllerBase
{
private Ask_MainOfTeacherIBLL ask_MainOfTeacherIBLL = new Ask_MainOfTeacherBLL();

#region 视图功能

/// <summary>
/// 主页面
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult Index()
{
return View();
}

[HttpGet]
public ActionResult AnswerIndex()
{
return View();
}

[HttpGet]
public ActionResult TeacherIndex()
{
var logininfo = LoginUserInfo.Get();
ViewBag.EmpNo = logininfo.account;
ViewBag.EmpName = logininfo.realName;
return View();
}
[HttpGet]
public ActionResult AnswerQuery()
{
return View();
}

[HttpGet]
public ActionResult Paper(string VID)
{
ViewBag.EmpNo = LoginUserInfo.Get().account;
ViewBag.EmpName = LoginUserInfo.Get().realName;
if (!string.IsNullOrEmpty(VID))
{
var Ask_MainOfTeacher = ask_MainOfTeacherIBLL.GetAsk_MainOfTeacherEntityAndQuestions(VID);
return View(Ask_MainOfTeacher);
}
else
{
return View();
}
}
[HttpGet]
public ActionResult PaperAdminView(string VID)
{
ViewBag.EmpNo = LoginUserInfo.Get().account;
ViewBag.EmpName = LoginUserInfo.Get().realName;
if (!string.IsNullOrEmpty(VID))
{
var Ask_MainOfTeacher = ask_MainOfTeacherIBLL.GetAsk_MainOfTeacherEntityAndQuestions(VID);
return View(Ask_MainOfTeacher);
}
else
{
return View();
}
}
[HttpGet]
public ActionResult PaperView(string VID,string EmpNo)
{
if (!string.IsNullOrEmpty(VID))
{
var Ask_MainOfTeacher = ask_MainOfTeacherIBLL.GetAsk_MainOfTeacherEntityAndQuestionsResult(VID, EmpNo);
return View(Ask_MainOfTeacher);
}
else
{
return View();
}
}
/// <summary>
/// 表单页
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult Form()
{
ViewBag.VSerial = "Table_" + CommonHelper.CreateNo();
return View();
}
#endregion

#region 获取数据

/// <summary>
/// 获取页面显示列表数据
/// <summary>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetPageList(string pagination, string queryJson)
{
Pagination paginationobj = pagination.ToObject<Pagination>();
var data = ask_MainOfTeacherIBLL.GetPageList(paginationobj, queryJson);
var jsonData = new
{
rows = data,
total = paginationobj.total,
page = paginationobj.page,
records = paginationobj.records
};
return Success(jsonData);
}

[HttpGet]
[AjaxOnly]
public ActionResult GetTeacherPageList(string pagination, string queryJson)
{
Pagination paginationobj = pagination.ToObject<Pagination>();
var data = ask_MainOfTeacherIBLL.GetTeacherPageList(paginationobj, queryJson);
var jsonData = new
{
rows = data,
total = paginationobj.total,
page = paginationobj.page,
records = paginationobj.records
};
return Success(jsonData);
}

[HttpGet]
[AjaxOnly]
public ActionResult GetAnswerPageList(string pagination, string queryJson)
{
Pagination paginationobj = pagination.ToObject<Pagination>();
var data = ask_MainOfTeacherIBLL.GetTeacherPageList(paginationobj, queryJson);
var jsonData = new
{
rows = data,
total = paginationobj.total,
page = paginationobj.page,
records = paginationobj.records
};
return Success(jsonData);
}
/// <summary>
/// 获取表单数据
/// <summary>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetFormData(string keyValue)
{
var Ask_MainOfTeacherData = ask_MainOfTeacherIBLL.GetAsk_MainOfTeacherEntity(keyValue);
var jsonData = new
{
Ask_MainOfTeacher = Ask_MainOfTeacherData,
};
return Success(jsonData);
}
#endregion

#region 提交数据

/// <summary>
/// 删除实体数据
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
[HttpPost]
[AjaxOnly]
public ActionResult DeleteForm(string keyValue)
{
ask_MainOfTeacherIBLL.DeleteEntity(keyValue);
return Success("删除成功!");
}

[HttpPost]
[AjaxOnly]
public ActionResult SubmitForm(string keyValue)
{
ask_MainOfTeacherIBLL.ChangeFormStatus(keyValue, true);
return Success("操作成功!");
}

[HttpPost]
[AjaxOnly]
public ActionResult UnSubmitForm(string keyValue)
{
ask_MainOfTeacherIBLL.ChangeFormStatus(keyValue, false);
return Success("操作成功!");
}
/// <summary>
/// 保存实体数据(新增、修改)
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
[HttpPost]
[ValidateAntiForgeryToken]
[AjaxOnly]
public ActionResult SaveForm(string keyValue, string strEntity)
{
var userinfo = LoginUserInfo.Get();
Ask_MainOfTeacherEntity entity = strEntity.ToObject<Ask_MainOfTeacherEntity>();
entity.UID = userinfo.userId;
entity.UName = userinfo.realName;
entity.VCreateTime = DateTime.Now;
entity.Status = false;
entity.SPVNum = 0;
entity.SPNum = 0;
entity.SClick = 0;
ask_MainOfTeacherIBLL.SaveEntity(keyValue, entity);
return Success("保存成功!");
}

[HttpPost]
[ValidateAntiForgeryToken]
[AjaxOnly]
[ValidateInput(false)]
public ActionResult TeacherSubmitForm(string answerlist,string VID)
{
var userinfo = LoginUserInfo.Get();
List<Ask_QuestionResultEntity> entity = answerlist.ToObject<List<Ask_QuestionResultEntity>>();
ask_MainOfTeacherIBLL.SaveAsk_QuestionResultEntity(entity, VID,userinfo.account,userinfo.realName, userinfo.iPAddress);
return Success("保存成功!");
}
#endregion

}
}

+ 38
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/AnswerIndex.cshtml Ver arquivo

@@ -0,0 +1,38 @@
@{
ViewBag.Title = "教师问卷管理";
Layout = "~/Views/Shared/_Index.cshtml";
}
<div class="lr-layout ">
<div class="lr-layout-center">
<div class="lr-layout-wrap lr-layout-wrap-notitle ">
<div class="lr-layout-tool">
<div class="lr-layout-tool-left">
<div class="lr-layout-tool-item">
<div id="multiple_condition_query">
<div class="lr-query-formcontent">
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">姓名</div>
<input id="EmpName" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">编号</div>
<input id="EmpNo" type="text" class="form-control" />
</div>
</div>
</div>
</div>
</div>
<div class="lr-layout-tool-right">
<div class=" btn-group btn-group-sm">
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a>
</div>
<div class=" btn-group btn-group-sm" learun-authorize="yes">
<a id="lr_view" class="btn btn-default"><i class="fa fa-building-o"></i>&nbsp;查看答卷</a>
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>
</div>
</div>
</div>
@Html.AppendJsFile("/Areas/Ask/Views/Ask_MainOfTeacher/AnswerIndex.js")

+ 88
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/AnswerIndex.js Ver arquivo

@@ -0,0 +1,88 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2019-04-23 15:50
* 描 述:教师问卷管理
*/
var refreshGirdData;
var VID = request("VID");
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
page.initGird();
page.bind();
},
bind: function () {
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
page.search(queryJson);
}, 220, 400);
// 刷新
$('#lr_refresh').on('click', function () {
location.reload();
});
// 答题情况
$('#lr_view').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('VID');
var EmpNo = $('#gridtable').jfGridValue('EmpNo');
if (learun.checkrow(keyValue)) {
var Status = $('#gridtable').jfGridValue('IsAnswer');
if (Status === false || Status === 'false') {
learun.alert.warning("当前项目未交卷!");
return;
}
learun.frameTab.open({ F_ModuleId: 'paper' + keyValue, F_Icon: 'fa fa-window-maximize', F_FullName: '量表考核答卷', F_UrlAddress: '/Ask/Ask_MainOfTeacher/PaperView?VID=' + keyValue + '&EmpNo=' + EmpNo });
}
});
},
// 初始化列表
initGird: function () {
$('#gridtable').lrAuthorizeJfGrid({
url: top.$.rootUrl + '/Ask/Ask_MainOfTeacher/GetAnswerPageList',
headData: [
{ label: "姓名", name: "EmpName", width: 80, align: "left" },
{ label: "编号", name: "EmpNo", width: 80, align: "left" },
{
label: "性别", name: "GenderNo", width: 80, align: "left",
formatter: function (cellvalue) {
return cellvalue.toLowerCase() === true || cellvalue.toLowerCase() == "true" ? "男" : "女";
}
},
{
label: "考核部门", name: "DepartmentId", width: 150, align: "left", formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'classdata',
key: value,
keyId: 'id',
callback: function (_data) {
callback(_data['name']);
}
});
}
},
{
label: "是否交卷", name: "IsAnswer", width: 80, align: "left", formatter: function (cellvalue) {
return cellvalue === true ? "<i class=\"fa fa-toggle-on\"></i>" : "<i class=\"fa fa-toggle-off\"></i>";
}
},
{ label: "得分", name: "TotalScore", width: 80, align: "left" }
],
mainId: 'EmpNo',
isPage: true,
sidx: 'TotalScore',
sord: 'DESC'
});
page.search();
},
search: function (param) {
param = param || {};
param.VID = VID;
param.Manager = true;
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};
refreshGirdData = function () {
page.search();
};
page.init();
}

+ 46
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/AnswerQuery.cshtml Ver arquivo

@@ -0,0 +1,46 @@
@{
ViewBag.Title = "教师问卷管理";
Layout = "~/Views/Shared/_Index.cshtml";
}
<div class="lr-layout ">
<div class="lr-layout-center">
<div class="lr-layout-wrap lr-layout-wrap-notitle ">
<div class="lr-layout-tool">
<div class="lr-layout-tool-left">
<div class="lr-layout-tool-item">
<div id="multiple_condition_query">
<div class="lr-query-formcontent">
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">标题</div>
<input id="VTitle" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">问卷编号</div>
<input id="VSerial" type="text" class="form-control" />
</div>
</div>
</div>
</div>
</div>
<div class="lr-layout-tool-right">
<div class=" btn-group btn-group-sm">
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a>
</div>
<div class=" btn-group btn-group-sm" learun-authorize="yes">
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i>&nbsp;录入</a>
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;修改</a>
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
<a id="lr_question" class="btn btn-default"><i class="fa fa-navicon"></i>&nbsp;管理问题</a>
<a id="lr_answer" class="btn btn-default"><i class="fa fa-building-o"></i>&nbsp;答题情况</a>
</div>
<div class=" btn-group btn-group-sm" learun-authorize="yes">
<a id="lr_submit" class="btn btn-default"><i class="fa fa-lock"></i>&nbsp; 审核</a>
<a id="lr_unsubmit" class="btn btn-default"><i class="fa fa-unlock"></i>&nbsp; 去审核</a>
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>
</div>
</div>
</div>
@Html.AppendJsFile("/Areas/Ask/Views/Ask_MainOfTeacher/AnswerQuery.js")

+ 217
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/AnswerQuery.js Ver arquivo

@@ -0,0 +1,217 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2019-04-23 15:50
* 描 述:教师问卷管理
*/
var refreshGirdData;
var ATId;
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
page.inittree();
page.initGird();
page.bind();
},
bind: function () {
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
page.search(queryJson);
}, 220, 400);
// 刷新
$('#lr_refresh').on('click', function () {
location.reload();
});
// 新增
$('#lr_add').on('click', function () {
if (!ATId) {
learun.alert.warning('请选择分类!');
return false;
}
learun.layerForm({
id: 'form',
title: '新增',
url: top.$.rootUrl + '/Ask/Ask_MainOfTeacher/Form?ATId=' + ATId,
width: 780,
height: 560,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
}
});
});
// 编辑
$('#lr_edit').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('VID');
if (learun.checkrow(keyValue)) {
var Status = $('#gridtable').jfGridValue('Status');
if (Status === true || Status == 'true') {
learun.alert.warning("当前项目已审核不能修改!");
return;
}
learun.layerForm({
id: 'form',
title: '编辑',
url: top.$.rootUrl + '/Ask/Ask_MainOfTeacher/Form?keyValue=' + keyValue,
width: 780,
height: 560,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
}
});
}
});
// 删除
$('#lr_delete').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('VID');
if (learun.checkrow(keyValue)) {
var Status = $('#gridtable').jfGridValue('Status');
if (Status === true || Status == 'true') {
learun.alert.warning("当前项目已审核不能删除!");
return;
}
learun.layerConfirm('是否确认删除该项!', function (res) {
if (res) {
learun.deleteForm(top.$.rootUrl + '/Ask/Ask_MainOfTeacher/DeleteForm', { keyValue: keyValue }, function () {
refreshGirdData();
});
}
});
}
});
// 管理问题
$('#lr_question').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('VID');
if (learun.checkrow(keyValue)) {
var Status = $('#gridtable').jfGridValue('Status');
if (Status === true || Status == 'true') {
learun.alert.warning("当前项目已审核不能修改!");
return;
}
learun.layerForm({
id: 'formquestion',
title: '管理问题',
url: top.$.rootUrl + '/Ask/Ask_Question/Index?VID=' + keyValue,
width: 980,
height: 760,
btn:null
});
}
});
// 答题情况
$('#lr_answer').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('VID');
if (learun.checkrow(keyValue)) {
learun.layerForm({
id: 'formanswer',
title: '答题情况',
url: top.$.rootUrl + '/Ask/Ask_MainOfTeacher/AnswerIndex?VID=' + keyValue,
width: 980,
height: 760,
btn:null
});
}
});
//  审核
$('#lr_submit').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('VID');
if (learun.checkrow(keyValue)) {
var Status = $('#gridtable').jfGridValue('Status');
if (Status === true || Status == 'true') {
learun.alert.warning("当前项目已审核!");
return;
}
learun.layerConfirm('是否确认审核该项!', function (res) {
if (res) {
learun.postForm(top.$.rootUrl + '/Ask/Ask_MainOfTeacher/SubmitForm', { keyValue: keyValue }, function () {
refreshGirdData();
});
}
});
}
});
//  去审核
$('#lr_unsubmit').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('VID');
if (learun.checkrow(keyValue)) {
var Status = $('#gridtable').jfGridValue('Status');
if (Status !== true && Status !== 'true') {
learun.alert.warning("当前项目已去审核!");
return;
}
learun.layerConfirm('是否确认去审核该项!', function (res) {
if (res) {
learun.postForm(top.$.rootUrl + '/Ask/Ask_MainOfTeacher/UnSubmitForm', { keyValue: keyValue }, function () {
refreshGirdData();
});
}
});
}
});
},
inittree: function () {
$('#companyTree').lrtree({
url: top.$.rootUrl + '/Ask/Ask_Type/GetAllTree',
nodeClick: page.treeNodeClick
});
},
treeNodeClick: function (item) {
ATId = item.id;
$('#titleinfo').text(item.text);
page.search();
},
// 初始化列表
initGird: function () {
$('#gridtable').lrAuthorizeJfGrid({
url: top.$.rootUrl + '/Ask/Ask_MainOfTeacher/GetPageList',
headData: [
{ label: "问卷编号", name: "VSerial", width: 180, align: "left" },
{ label: "标题", name: "VTitle", width: 200, align: "left" },
{
label: "类别", name: "ATId", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'Ask_Type',
key: value,
keyId: 'atid',
callback: function (_data) {
callback(_data['atname']);
}
});
}
},
{ label: "开始时间", name: "VStartTime", width: 100, align: "left" },
{ label: "结束时间", name: "VStopTime", width: 100, align: "left" },
{ label: "考核部门", name: "DepartmentIdsName", width: 150, align: "left" },
{ label: "考核人数", name: "SPVNum", width: 80, align: "left" },
{ label: "填写人数", name: "SPNum", width: 80, align: "left" },
{ label: "点击热度", name: "SClick", width: 80, align: "left" },
{ label: "排序", name: "VOrder", width: 80, align: "left" },
{
label: "是否匿名", name: "VHide", width: 100, align: "left",
formatter: function (cellvalue) {
return cellvalue == true ? "<i class=\"fa fa-toggle-on\"></i>" : "<i class=\"fa fa-toggle-off\"></i>";
}
},
{
label: "审核标志", name: "Status", width: 100, align: "left", formatter: function (cellvalue) {
return cellvalue == true ? "<i class=\"fa fa-toggle-on\"></i>" : "<i class=\"fa fa-toggle-off\"></i>";
}
}
],
mainId: 'VID',
isPage: true,
sidx:'VOrder'
});
page.search();
},
search: function (param) {
param = param || {};
param.ATId = ATId;
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};
refreshGirdData = function () {
page.search();
};
page.init();
}

+ 48
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/Form.cshtml Ver arquivo

@@ -0,0 +1,48 @@
@{
ViewBag.Title = "教师问卷管理";
Layout = "~/Views/Shared/_Form.cshtml";
}
<script type="text/javascript">
var NewVSerial = "@ViewBag.VSerial";
</script>
<div class="lr-form-wrap">
<div class="col-xs-12 lr-form-item" data-table="Ask_MainOfTeacher" >
<div class="lr-form-item-title">问卷编号</div>
<input id="VSerial" type="text" class="form-control" readonly="readonly" />
</div>
<div class="col-xs-12 lr-form-item" data-table="Ask_MainOfTeacher" >
<div class="lr-form-item-title">标题<font face="宋体">*</font></div>
<input id="VTitle" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" />
</div>
<div class="col-xs-6 lr-form-item" data-table="Ask_MainOfTeacher">
<div class="lr-form-item-title">类别<font face="宋体">*</font></div>
<div id="ATId" isvalid="yes" checkexpession="NotNull"></div>
<input id="ATName" type="hidden" />
</div>
<div class="col-xs-6 lr-form-item" data-table="Ask_MainOfTeacher" >
<div class="lr-form-item-title">排序<font face="宋体">*</font></div>
<input id="VOrder" type="text" class="form-control" isvalid="yes" checkexpession="Num" />
</div>
<div class="col-xs-6 lr-form-item" data-table="Ask_MainOfTeacher" >
<div class="lr-form-item-title">开始时间<font face="宋体">*</font></div>
<input id="VStartTime" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ maxDate:'#F{$dp.$D(\'VStopTime\')}',dateFmt:'yyyy-MM-dd',onpicked: function () { $('#VStartTime').trigger('change'); } })" isvalid="yes" checkexpession="NotNull" />
</div>
<div class="col-xs-6 lr-form-item" data-table="Ask_MainOfTeacher" >
<div class="lr-form-item-title">结束时间<font face="宋体">*</font></div>
<input id="VStopTime" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ minDate:'#F{$dp.$D(\'VStartTime\')}',dateFmt:'yyyy-MM-dd',onpicked: function () { $('#VStopTime').trigger('change'); } })" isvalid="yes" checkexpession="NotNull" />
</div>
<div class="col-xs-6 lr-form-item" data-table="Ask_MainOfTeacher">
<div class="lr-form-item-title">考核部门</div>
<div id="DepartmentIds"></div>
<input id="DepartmentIdsName" type="hidden" />
</div>
<div class="col-xs-6 lr-form-item" data-table="Ask_MainOfTeacher" >
<div class="lr-form-item-title">是否匿名<font face="宋体">*</font></div>
<div id="VHide" isvalid="yes" checkexpession="NotNull" ></div>
</div>
<div class="col-xs-12 lr-form-item" data-table="Ask_MainOfTeacher" >
<div class="lr-form-item-title">备注说明</div>
<textarea id="VContent" class="form-control" style="height:150px;" ></textarea>
</div>
</div>
@Html.AppendJsFile("/Areas/Ask/Views/Ask_MainOfTeacher/Form.js")

+ 73
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/Form.js Ver arquivo

@@ -0,0 +1,73 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2019-04-23 15:50
* 描 述:教师问卷管理
*/
var acceptClick;
var keyValue = request('keyValue');
var pATId = request("ATId");
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
$('.lr-form-wrap').lrscroll();
page.bind();
page.initData();
},
bind: function () {
$('#ATId').lrselect({
type: 'tree',
// 展开最大高度
maxHeight: 200,
// 是否允许搜索
allowSearch: true,
// 访问数据接口地址
url: top.$.rootUrl + '/Ask/Ask_Type/GetAllTree',
select: function(item) {
if (item != null && item != undefined) {
$("#ATName").val(item.text);
}
}
});
if (!!pATId) {
$('#ATId').lrselectSet(pATId);
}
$('#DepartmentIds').lrDepartmentSelect({ type: 'treemultiple' });
$('#VHide').lrDataItemSelect({ code: 'YesOrNoBit' });
},
initData: function () {
if (!!keyValue) {
$.lrSetForm(top.$.rootUrl + '/Ask/Ask_MainOfTeacher/GetFormData?keyValue=' + keyValue,
function (data) {
for (var id in data) {
if (!!data[id].length && data[id].length > 0) {
$('#' + id).jfGridSet('refreshdata', data[id]);
} else {
$('[data-table="' + id + '"]').lrSetFormData(data[id]);
}
}
});
} else {
$("#VSerial").val(NewVSerial);
}
}
};
// 保存数据
acceptClick = function (callBack) {
if (!$('body').lrValidform()) {
return false;
}
$("#DepartmentIdsName").val($("#DepartmentIds").find(".lr-select-placeholder").text());
var postData = {
strEntity: JSON.stringify($('body').lrGetFormData())
};
$.lrSaveForm(top.$.rootUrl + '/Ask/Ask_MainOfTeacher/SaveForm?keyValue=' + keyValue, postData, function (res) {
// 保存成功后才回调
if (!!callBack) {
callBack();
}
});
};
page.init();
}

+ 57
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/Index.cshtml Ver arquivo

@@ -0,0 +1,57 @@
@{
ViewBag.Title = "教师问卷管理";
Layout = "~/Views/Shared/_Index.cshtml";
}
<div class="lr-layout lr-layout-left-center" id="lr_layout">
<div class="lr-layout-left">
<div class="lr-layout-wrap">
<div class="lr-layout-title lrlt ">分类</div>
<div id="companyTree" class="lr-layout-body"></div>
</div>
</div>
<div class="lr-layout-center">
<div class="lr-layout-wrap">
<div class="lr-layout-title">
<span id="titleinfo" class="lrlt">未选择分类</span> - <span class="lrlt">分类信息</span>
</div>
<div class="lr-layout-tool">
<div class="lr-layout-tool-left">
<div class="lr-layout-tool-item">
<div id="multiple_condition_query">
<div class="lr-query-formcontent">
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">标题</div>
<input id="VTitle" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">问卷编号</div>
<input id="VSerial" type="text" class="form-control" />
</div>
</div>
</div>
</div>
</div>
<div class="lr-layout-tool-right">
<div class=" btn-group btn-group-sm">
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a>
</div>
<div class=" btn-group btn-group-sm" learun-authorize="yes">
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i>&nbsp;录入</a>
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;修改</a>
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
<a id="lr_question" class="btn btn-default"><i class="fa fa-navicon"></i>&nbsp;管理问题</a>
<a id="lr_answer" class="btn btn-default"><i class="fa fa-building-o"></i>&nbsp;答题情况</a>
<a id="lr_analysis" class="btn btn-default"><i class="fa fa-building-o"></i>&nbsp;结果分析</a>
<a id="lr_view" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;查看问卷</a>
</div>
<div class=" btn-group btn-group-sm" learun-authorize="yes">
<a id="lr_submit" class="btn btn-default"><i class="fa fa-lock"></i>&nbsp; 审核</a>
<a id="lr_unsubmit" class="btn btn-default"><i class="fa fa-unlock"></i>&nbsp; 去审核</a>
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>
</div>
</div>
</div>
@Html.AppendJsFile("/Areas/Ask/Views/Ask_MainOfTeacher/Index.js")

+ 237
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/Index.js Ver arquivo

@@ -0,0 +1,237 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2019-04-23 15:50
* 描 述:教师问卷管理
*/
var refreshGirdData;
var ATId;
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
page.inittree();
page.initGird();
page.bind();
},
bind: function () {
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
page.search(queryJson);
}, 220, 400);
// 刷新
$('#lr_refresh').on('click', function () {
location.reload();
});
// 新增
$('#lr_add').on('click', function () {
if (!ATId) {
learun.alert.warning('请选择分类!');
return false;
}
learun.layerForm({
id: 'form',
title: '新增',
url: top.$.rootUrl + '/Ask/Ask_MainOfTeacher/Form?ATId=' + ATId,
width: 780,
height: 560,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
}
});
});
// 编辑
$('#lr_edit').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('VID');
if (learun.checkrow(keyValue)) {
var Status = $('#gridtable').jfGridValue('Status');
if (Status === true || Status == 'true') {
learun.alert.warning("当前项目已审核不能修改!");
return;
}
learun.layerForm({
id: 'form',
title: '编辑',
url: top.$.rootUrl + '/Ask/Ask_MainOfTeacher/Form?keyValue=' + keyValue,
width: 780,
height: 560,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
}
});
}
});
// 删除
$('#lr_delete').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('VID');
if (learun.checkrow(keyValue)) {
var Status = $('#gridtable').jfGridValue('Status');
if (Status === true || Status == 'true') {
learun.alert.warning("当前项目已审核不能删除!");
return;
}
learun.layerConfirm('是否确认删除该项!', function (res) {
if (res) {
learun.deleteForm(top.$.rootUrl + '/Ask/Ask_MainOfTeacher/DeleteForm', { keyValue: keyValue }, function () {
refreshGirdData();
});
}
});
}
});
// 管理问题
$('#lr_question').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('VID');
if (learun.checkrow(keyValue)) {
var Status = $('#gridtable').jfGridValue('Status');
if (Status === true || Status == 'true') {
learun.alert.warning("当前项目已审核不能修改!");
return;
}
learun.layerForm({
id: 'formquestion',
title: '管理问题',
url: top.$.rootUrl + '/Ask/Ask_Question/Index?VID=' + keyValue,
width: 980,
height: 760,
btn: null
});
}
});
// 结果分析
$('#lr_analysis').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('VID');
if (learun.checkrow(keyValue)) {
learun.layerForm({
id: 'formanalysis',
title: '结果分析',
url: top.$.rootUrl + '/Ask/Ask_Question/AnalysisIndex?VID=' + keyValue,
width: 1000,
height: 760,
btn: null
});
}
});
// 答题情况
$('#lr_answer').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('VID');
if (learun.checkrow(keyValue)) {
learun.layerForm({
id: 'formanswer',
title: '答题情况',
url: top.$.rootUrl + '/Ask/Ask_MainOfTeacher/AnswerIndex?VID=' + keyValue,
width: 980,
height: 760,
btn: null
});
}
});
$('#lr_view').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('VID');
if (learun.checkrow(keyValue)) {
top.learun.frameTab.open({ F_ModuleId: 'paper' + keyValue, F_Icon: 'fa fa-window-maximize', F_FullName: '量表考核答卷', F_UrlAddress: '/Ask/Ask_MainOfTeacher/PaperAdminView?VID=' + keyValue });
}
});
//  审核
$('#lr_submit').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('VID');
if (learun.checkrow(keyValue)) {
var Status = $('#gridtable').jfGridValue('Status');
if (Status === true || Status == 'true') {
learun.alert.warning("当前项目已审核!");
return;
}
learun.layerConfirm('是否确认审核该项!', function (res) {
if (res) {
learun.postForm(top.$.rootUrl + '/Ask/Ask_MainOfTeacher/SubmitForm', { keyValue: keyValue }, function () {
refreshGirdData();
});
}
});
}
});
//  去审核
$('#lr_unsubmit').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('VID');
if (learun.checkrow(keyValue)) {
var Status = $('#gridtable').jfGridValue('Status');
if (Status !== true && Status !== 'true') {
learun.alert.warning("当前项目已去审核!");
return;
}
learun.layerConfirm('是否确认去审核该项!', function (res) {
if (res) {
learun.postForm(top.$.rootUrl + '/Ask/Ask_MainOfTeacher/UnSubmitForm', { keyValue: keyValue }, function () {
refreshGirdData();
});
}
});
}
});
},
inittree: function () {
$('#companyTree').lrtree({
url: top.$.rootUrl + '/Ask/Ask_Type/GetAllTree',
nodeClick: page.treeNodeClick
});
},
treeNodeClick: function (item) {
ATId = item.id;
$('#titleinfo').text(item.text);
page.search();
},
// 初始化列表
initGird: function () {
$('#gridtable').lrAuthorizeJfGrid({
url: top.$.rootUrl + '/Ask/Ask_MainOfTeacher/GetPageList',
headData: [
{ label: "问卷编号", name: "VSerial", width: 180, align: "left" },
{ label: "标题", name: "VTitle", width: 200, align: "left" },
{
label: "类别", name: "ATId", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'Ask_Type',
key: value,
keyId: 'atid',
callback: function (_data) {
callback(_data['atname']);
}
});
}
},
{ label: "开始时间", name: "VStartTime", width: 100, align: "left" },
{ label: "结束时间", name: "VStopTime", width: 100, align: "left" },
{ label: "考核部门", name: "DepartmentIdsName", width: 150, align: "left" },
{ label: "考核人数", name: "SPVNum", width: 80, align: "left" },
{ label: "填写人数", name: "SPNum", width: 80, align: "left" },
{ label: "点击热度", name: "SClick", width: 80, align: "left" },
{ label: "排序", name: "VOrder", width: 80, align: "left" },
{
label: "是否匿名", name: "VHide", width: 100, align: "left",
formatter: function (cellvalue) {
return cellvalue == true ? "<i class=\"fa fa-toggle-on\"></i>" : "<i class=\"fa fa-toggle-off\"></i>";
}
},
{
label: "审核标志", name: "Status", width: 100, align: "left", formatter: function (cellvalue) {
return cellvalue == true ? "<i class=\"fa fa-toggle-on\"></i>" : "<i class=\"fa fa-toggle-off\"></i>";
}
}
],
mainId: 'VID',
isPage: true,
sidx: 'VOrder'
});
page.search();
},
search: function (param) {
param = param || {};
param.ATId = ATId;
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};
refreshGirdData = function () {
page.search();
};
page.init();
}

+ 66
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/Paper.cshtml Ver arquivo

@@ -0,0 +1,66 @@
@{
ViewBag.Title = "教师问卷管理";
Layout = "~/Views/Shared/_Index.cshtml";
}
@model Learun.Application.TwoDevelopment.Ask.Ask_MainOfTeacherEntity
<link href="~/Content/paper/css/common.css" rel="stylesheet" />
<link href="~/Content/paper/dist/demo.css" rel="stylesheet" />
<link href="~/Content/paper/css/index.css" rel="stylesheet" />
<script src="~/Content/paper/dist/jquery.validator.min.js?local=zh-CN"></script>
<script type="text/javascript">
$.lrToken = $('@Html.AntiForgeryToken()').val();
</script>
<div class="warpper" style="background-color: #FFFFFF;">
<!-- / index_sec1 -->
<div class="index_sec index_sec1">
<input id="EmpNo" type="hidden" value="@ViewBag.EmpNo" />
<input id="EmpName" type="hidden" value="@ViewBag.EmpName" />
<div class="inSecTitle">@Model.VTitle</div>
<div class="inSecTime">@(Model.VStartTime.HasValue ? Model.VStartTime.Value.ToShortDateString() : "")~@(Model.VStopTime.HasValue ? Model.VStopTime.Value.ToShortDateString() : "")</div>
<div class="index_box">
<form id="AskPaper">
@foreach (var question in Model.Ask_Questions)
{
<div class="signSec2Box">
<div class="shenInput form-item">
<div class="shenInputBox">
<div class="signTxt">@question.QTitle @Html.Raw((question.QMust == true ? "<font style=\"color: red\">*</font>" : "")) @(question.QType == 2 && (question.QMin.HasValue) ? "最少选择" + question.QMin.Value + "项" : "") @(question.QType == 2 && (question.QMax.HasValue) ? "最多选择" + question.QMax.Value + "项" : "")</div>
<div class="inputRadioRow">
@foreach (var questionitem in question.Ask_QuestionItems)
{
<div class="inputRadioCol4">
<i class="@(question.QType == 1 ? "inputRadio" : "inputCheck")" hasinput="@(questionitem.QShowText == true ? "yes" : "")"><input id="@questionitem.IID" qid="@question.QID" hasinput="@(questionitem.QShowText == true ? "yes" : "")" @(question.QMust == true ? "data-rule=" + (question.QTypeString == "input" ? "\"required;\"" : "\"checked;\"") + (question.QMin.HasValue ? "checked(" + question.QMin.Value + "~);" : "") + (question.QMax.HasValue ? "checked(~" + question.QMax.Value + ");" : "") : "") name="@question.QSerial" type="@question.QTypeString" class="xuanze" /></i> <span>@questionitem.ITitle</span>
</div>
}
</div>
</div>
</div>
@if (question.Ask_QuestionItems.Count(m => m.QShowText == true) > 0)
{
<div class="shenInput form-item shenInput3">
<span>@question.Ask_QuestionItems.FirstOrDefault(m => m.QShowText == true).ITitle</span>
<div class="shenInputBox shenInputBox1">
<input id="@(question.Ask_QuestionItems.FirstOrDefault(m => m.QShowText == true).IID)Other" qid="@question.QID" type="text" name="@(question.QSerial)Other" class="inputTxt" data-rule="required(#@(question.Ask_QuestionItems.FirstOrDefault(m => m.QShowText == true).IID):checked)" />
</div>
</div>
}

</div>
}

<div class="shenBtnBox">
<div class="signTxt">本人声明在此报名表中填写的所有信息、 及提供与本表相关的一切资料均真实、准确</div>
<div class="shenRow">
<div class="shenCol6">
<div class="shenBtn">提&nbsp;&nbsp;交</div>
</div>
</div>
</div>
</form>
</div>
</div>
<!-- / index_sec1 -->


</div>
@Html.AppendJsFile("/Areas/Ask/Views/Ask_MainOfTeacher/Paper.js")

+ 77
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/Paper.js Ver arquivo

@@ -0,0 +1,77 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2019-04-23 15:50
* 描 述:教师问卷管理
*/
var refreshGirdData;
var VID = request("VID");
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
$('.warpper').lrscroll();
page.bind();
},
bind: function () {
$('.shenBtn').click(function () {
$('#AskPaper').trigger("validate");
});
//单选框
$('.shenInputBox').on('click',
'.inputRadio',
function () {
if (!$(this).hasClass('active')) {
$(this).addClass('active').parents('.shenInputBox').find('.inputRadio').not($(this))
.removeClass('active');
judgeRideo($(this));
}
});

//多选框
$('.inputCheck').click(function () {
if ($(this).hasClass('active')) {
$(this).removeClass('active');
} else {
$(this).addClass('active');
}
judgeRideo($(this));
});
//是否为其他选项判断
function judgeRideo(obj) {
var parents = obj.parents('.signSec2Box');
var inputs = parents.find('.shenInput3');
if (parents.find("i[hasinput='yes']").hasClass('active')) {
inputs.css({ display: 'block' });
} else {
inputs.css({ display: 'none' });
}
}
$('#AskPaper').validator({
timely: 2,
theme: 'yellow_right_effect',
valid: function (form) {
learun.layerConfirm('是否确认提交答案?', function (res) {
var answerlist = new Array();
var strStuNo = $("#EmpNo").val();
var strStuName = $("#EmpName").val();
$(form).find("input.xuanze:checked").each(function (index, element) {
var itemvalue = { QID: $(this).attr("qid"), IID: $(this).attr("id"), UText: "", UID: strStuNo, UName:strStuName};
if ($(this).attr("hasinput")=="yes") {
itemvalue.UText = $("#" + $(this).attr("id") + "Other").val();
}
answerlist.push(itemvalue);
});
if (res) {
learun.postForm(top.$.rootUrl + '/Ask/Ask_MainOfTeacher/TeacherSubmitForm', { answerlist: JSON.stringify(answerlist), VID: VID, "__RequestVerificationToken": $.lrToken }, function () {
learun.frameTab.parentIframe().refreshGirdData();
learun.frameTab.close("paper" + VID);
});
}
});
}
});
}
};
page.init();
}

+ 57
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/PaperAdminView.cshtml Ver arquivo

@@ -0,0 +1,57 @@
@{
ViewBag.Title = "教师问卷管理";
Layout = "~/Views/Shared/_Index.cshtml";
}
@model Learun.Application.TwoDevelopment.Ask.Ask_MainOfTeacherEntity
<link href="~/Content/paper/css/common.css" rel="stylesheet" />
<link href="~/Content/paper/dist/demo.css" rel="stylesheet" />
<link href="~/Content/paper/css/index.css" rel="stylesheet" />
<script src="~/Content/paper/dist/jquery.validator.min.js?local=zh-CN"></script>
<script type="text/javascript">
$.lrToken = $('@Html.AntiForgeryToken()').val();
</script>
<div class="warpper" style="background-color: #FFFFFF;">
<!-- / index_sec1 -->
<div class="index_sec index_sec1">
<input id="EmpNo" type="hidden" value="@ViewBag.EmpNo" />
<input id="EmpName" type="hidden" value="@ViewBag.EmpName" />
<div class="inSecTitle">@Model.VTitle</div>
<div class="inSecTime">@(Model.VStartTime.HasValue ? Model.VStartTime.Value.ToShortDateString() : "")~@(Model.VStopTime.HasValue ? Model.VStopTime.Value.ToShortDateString() : "")</div>
<div class="index_box">
<form id="AskPaper">
@foreach (var question in Model.Ask_Questions)
{
<div class="signSec2Box">
<div class="shenInput form-item">
<div class="shenInputBox">
<div class="signTxt">@question.QTitle @Html.Raw((question.QMust == true ? "<font style=\"color: red\">*</font>" : "")) @(question.QType == 2 && (question.QMin.HasValue) ? "最少选择" + question.QMin.Value + "项" : "") @(question.QType == 2 && (question.QMax.HasValue) ? "最多选择" + question.QMax.Value + "项" : "")</div>
<div class="inputRadioRow">
@foreach (var questionitem in question.Ask_QuestionItems)
{
<div class="inputRadioCol4">
<i class="@(question.QType == 1 ? "inputRadio" : "inputCheck")" hasinput="@(questionitem.QShowText == true ? "yes" : "")"><input id="@questionitem.IID" qid="@question.QID" hasinput="@(questionitem.QShowText == true ? "yes" : "")" @(question.QMust == true ? "data-rule=" + (question.QTypeString == "input" ? "\"required;\"" : "\"checked;\"") + (question.QMin.HasValue ? "checked(" + question.QMin.Value + "~);" : "") + (question.QMax.HasValue ? "checked(~" + question.QMax.Value + ");" : "") : "") name="@question.QSerial" type="@question.QTypeString" class="xuanze" /></i> <span>@questionitem.ITitle</span>
</div>
}
</div>
</div>
</div>
@if (question.Ask_QuestionItems.Count(m => m.QShowText == true) > 0)
{
<div class="shenInput form-item shenInput3">
<span>@question.Ask_QuestionItems.FirstOrDefault(m => m.QShowText == true).ITitle</span>
<div class="shenInputBox shenInputBox1">
<input id="@(question.Ask_QuestionItems.FirstOrDefault(m => m.QShowText == true).IID)Other" qid="@question.QID" type="text" name="@(question.QSerial)Other" class="inputTxt" data-rule="required(#@(question.Ask_QuestionItems.FirstOrDefault(m => m.QShowText == true).IID):checked)" />
</div>
</div>
}

</div>
}
</form>
</div>
</div>
<!-- / index_sec1 -->


</div>
@Html.AppendJsFile("/Areas/Ask/Views/Ask_MainOfTeacher/PaperAdminView.js")

+ 77
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/PaperAdminView.js Ver arquivo

@@ -0,0 +1,77 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2019-04-23 15:50
* 描 述:教师问卷管理
*/
var refreshGirdData;
var VID = request("VID");
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
$('.warpper').lrscroll();
page.bind();
},
bind: function () {
$('.shenBtn').click(function () {
$('#AskPaper').trigger("validate");
});
//单选框
$('.shenInputBox').on('click',
'.inputRadio',
function () {
if (!$(this).hasClass('active')) {
$(this).addClass('active').parents('.shenInputBox').find('.inputRadio').not($(this))
.removeClass('active');
judgeRideo($(this));
}
});

//多选框
$('.inputCheck').click(function () {
if ($(this).hasClass('active')) {
$(this).removeClass('active');
} else {
$(this).addClass('active');
}
judgeRideo($(this));
});
//是否为其他选项判断
function judgeRideo(obj) {
var parents = obj.parents('.signSec2Box');
var inputs = parents.find('.shenInput3');
if (parents.find("i[hasinput='yes']").hasClass('active')) {
inputs.css({ display: 'block' });
} else {
inputs.css({ display: 'none' });
}
}
$('#AskPaper').validator({
timely: 2,
theme: 'yellow_right_effect',
valid: function (form) {
learun.layerConfirm('是否确认提交答案?', function (res) {
var answerlist = new Array();
var strStuNo = $("#EmpNo").val();
var strStuName = $("#EmpName").val();
$(form).find("input.xuanze:checked").each(function (index, element) {
var itemvalue = { QID: $(this).attr("qid"), IID: $(this).attr("id"), UText: "", UID: strStuNo, UName:strStuName};
if ($(this).attr("hasinput")=="yes") {
itemvalue.UText = $("#" + $(this).attr("id") + "Other").val();
}
answerlist.push(itemvalue);
});
if (res) {
learun.postForm(top.$.rootUrl + '/Ask/Ask_MainOfTeacher/TeacherSubmitForm', { answerlist: JSON.stringify(answerlist), VID: VID, "__RequestVerificationToken": $.lrToken }, function () {
learun.frameTab.parentIframe().refreshGirdData();
learun.frameTab.close("paper" + VID);
});
}
});
}
});
}
};
page.init();
}

+ 56
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/PaperView.cshtml Ver arquivo

@@ -0,0 +1,56 @@
@{
ViewBag.Title = "教师问卷管理";
Layout = "~/Views/Shared/_Index.cshtml";
}
@model Learun.Application.TwoDevelopment.Ask.Ask_MainOfTeacherEntity
<link href="~/Content/paper/css/common.css" rel="stylesheet" />
<link href="~/Content/paper/dist/demo.css" rel="stylesheet" />
<link href="~/Content/paper/css/index.css" rel="stylesheet" />
<script src="~/Content/paper/dist/jquery.validator.min.js?local=zh-CN"></script>
<script type="text/javascript">
$.lrToken = $('@Html.AntiForgeryToken()').val();
</script>
<div class="warpper" style="background-color: #FFFFFF;">
<!-- / index_sec1 -->
<div class="index_sec index_sec1">
<div class="inSecTitle">@Model.VTitle</div>
<div class="inSecTime">@(Model.VStartTime.HasValue ? Model.VStartTime.Value.ToShortDateString() : "")~@(Model.VStopTime.HasValue ? Model.VStopTime.Value.ToShortDateString() : "")</div>
<div class="index_box">
<form id="AskPaper">
@foreach (var question in Model.Ask_Questions)
{
<div class="signSec2Box">
<div class="shenInput form-item">
<div class="shenInputBox">
<div class="signTxt">@question.QTitle @Html.Raw((question.QMust == true ? "<font style=\"color: red\">*</font>" : "")) @(question.QType == 2 && (question.QMin.HasValue) ? "最少选择" + question.QMin.Value + "项" : "") @(question.QType == 2 && (question.QMax.HasValue) ? "最多选择" + question.QMax.Value + "项" : "")</div>
<div class="inputRadioRow">
@foreach (var questionitem in question.Ask_QuestionItems)
{
<div class="inputRadioCol4">
<i class="@(question.QType == 1 ? "inputRadio" : "inputCheck")" hasinput="@(questionitem.QShowText == true ? "yes" : "")"><input id="@questionitem.IID" qid="@question.QID" hasinput="@(questionitem.QShowText == true ? "yes" : "")" @(question.QMust == true ? "data-rule=" + (question.QTypeString == "input" ? "\"required;\"" : "\"checked;\"") + (question.QMin.HasValue ? "checked(" + question.QMin.Value + "~);" : "") + (question.QMax.HasValue ? "checked(~" + question.QMax.Value + ");" : "") : "") name="@question.QSerial" type="@question.QTypeString" class="xuanze" @(questionitem.IsChecked?"checked=\"checked\"":"") /></i> <span>@questionitem.ITitle</span>
</div>
}
</div>
</div>
</div>
@if (question.Ask_QuestionItems.Count(m => m.QShowText == true) > 0)
{
<div class="shenInput form-item shenInput3">
<span>@question.Ask_QuestionItems.FirstOrDefault(m => m.QShowText == true).ITitle</span>
<div class="shenInputBox shenInputBox1">
<input id="@(question.Ask_QuestionItems.FirstOrDefault(m => m.QShowText == true).IID)Other" qid="@question.QID" type="text" name="@(question.QSerial)Other" class="inputTxt" data-rule="required(#@(question.Ask_QuestionItems.FirstOrDefault(m => m.QShowText == true).IID):checked)" value="@(question.Ask_QuestionItems.FirstOrDefault(m => m.QShowText == true&&!string.IsNullOrEmpty(m.UText))!=null?question.Ask_QuestionItems.FirstOrDefault(m => m.QShowText == true&&!string.IsNullOrEmpty(m.UText)).UText:"")" />
</div>
</div>
}

</div>
}

</form>
</div>
</div>
<!-- / index_sec1 -->


</div>
@Html.AppendJsFile("/Areas/Ask/Views/Ask_MainOfTeacher/PaperView.js")

+ 55
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/PaperView.js Ver arquivo

@@ -0,0 +1,55 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2019-04-23 15:50
* 描 述:教师问卷管理
*/
var refreshGirdData;
var VID = request("VID");
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
$('.warpper').lrscroll();
page.bind();
},
bind: function () {
//单选框
$('.shenInputBox').on('click',
'.inputRadio',
function () {
if (!$(this).hasClass('active')) {
$(this).addClass('active').parents('.shenInputBox').find('.inputRadio').not($(this))
.removeClass('active');
judgeRideo($(this));
}
});

//多选框
$('.inputCheck').click(function () {
if ($(this).hasClass('active')) {
$(this).removeClass('active');
} else {
$(this).addClass('active');
}
judgeRideo($(this));
});
//是否为其他选项判断
function judgeRideo(obj) {
var parents = obj.parents('.signSec2Box');
var inputs = parents.find('.shenInput3');
if (parents.find("i[hasinput='yes']").hasClass('active')) {
inputs.css({ display: 'block' });
} else {
inputs.css({ display: 'none' });
}
}
$('form').find("input.xuanze:checked").each(function (index, element) {
if ($(this).attr("hasinput") == "yes") {
$("#" + $(this).attr("id") + "Other").parents(".shenInput3").css({ display: 'block' });
}
});
}
};
page.init();
}

+ 42
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/TeacherIndex.cshtml Ver arquivo

@@ -0,0 +1,42 @@
@{
ViewBag.Title = "教师问卷管理";
Layout = "~/Views/Shared/_Index.cshtml";
}
<script type="text/javascript">
var EmpNo = '@ViewBag.EmpNo';
</script>
<div class="lr-layout ">
<div class="lr-layout-center">
<div class="lr-layout-wrap lr-layout-wrap-notitle ">
<div class="lr-layout-tool">
<div class="lr-layout-tool-left">
<div class="lr-layout-tool-item">
<div id="multiple_condition_query">
<div class="lr-query-formcontent">
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">标题</div>
<input id="VTitle" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">问卷编号</div>
<input id="VSerial" type="text" class="form-control" />
</div>
</div>
</div>
</div>
</div>
<div class="lr-layout-tool-right">
<div class=" btn-group btn-group-sm">
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a>
</div>
<div class=" btn-group btn-group-sm" learun-authorize="yes">
<a id="lr_start" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;开始考核</a>
<a id="lr_view" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;查看答题情况</a>
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>
</div>
</div>
</div>
@Html.AppendJsFile("/Areas/Ask/Views/Ask_MainOfTeacher/TeacherIndex.js")

+ 93
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/Ask/Views/Ask_MainOfTeacher/TeacherIndex.js Ver arquivo

@@ -0,0 +1,93 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2019-04-23 15:50
* 描 述:教师问卷管理
*/
var refreshGirdData;
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
page.initGird();
page.bind();
},
bind: function () {
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
page.search(queryJson);
}, 220, 400);
// 刷新
$('#lr_refresh').on('click', function () {
location.reload();
});
$('#lr_start').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('VID');
if (learun.checkrow(keyValue)) {
var Status = $('#gridtable').jfGridValue('IsAnswer');
if (Status === true || Status === 'true') {
learun.alert.warning("当前项目已交卷!");
return;
}
top.learun.frameTab.open({ F_ModuleId: 'paper' + keyValue, F_Icon: 'fa fa-window-maximize', F_FullName: '量表考核答卷', F_UrlAddress: '/Ask/Ask_MainOfTeacher/Paper?VID=' + keyValue });
}
});
//查看
$('#lr_view').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('VID');
var EmpNo = $('#gridtable').jfGridValue('EmpNo');
if (learun.checkrow(keyValue)) {
var Status = $('#gridtable').jfGridValue('IsAnswer');
if (Status === false || Status === 'false') {
learun.alert.warning("当前项目未交卷!");
return;
}
top.learun.frameTab.open({ F_ModuleId: 'paper' + keyValue, F_Icon: 'fa fa-window-maximize', F_FullName: '量表考核答卷', F_UrlAddress: '/Ask/Ask_MainOfTeacher/PaperView?VID=' + keyValue + '&EmpNo=' + EmpNo });
}
});
},
// 初始化列表
initGird: function () {
$('#gridtable').lrAuthorizeJfGrid({
url: top.$.rootUrl + '/Ask/Ask_MainOfTeacher/GetTeacherPageList',
headData: [
{ label: "问卷编号", name: "VSerial", width: 180, align: "left" },
{ label: "标题", name: "VTitle", width: 200, align: "left" },
{
label: "类别", name: "ATId", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'Ask_Type',
key: value,
keyId: 'atid',
callback: function (_data) {
callback(_data['atname']);
}
});
}
},
{ label: "开始时间", name: "VStartTime", width: 100, align: "left" },
{ label: "结束时间", name: "VStopTime", width: 100, align: "left" },
{
label: "是否交卷", name: "IsAnswer", width: 80, align: "left", formatter: function (cellvalue) {
return cellvalue === true ? "<i class=\"fa fa-toggle-on\"></i>" : "<i class=\"fa fa-toggle-off\"></i>";
}
},
{ label: "考核评分", name: "TotalScore", width: 80, align: "left" },
{ label: "提交时间", name: "CreateDate", width: 80, align: "left" }
],
mainId: 'VID',
isPage: true
});
page.search();
},
search: function (param) {
param = param || {};
param.EmpNo = EmpNo;
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};
refreshGirdData = function () {
page.search();
};
page.init();
}

+ 49
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AssetManagementSystem/Controllers/Ass_AssetsInfoApplyController.cs Ver arquivo

@@ -4,6 +4,8 @@ using Learun.Application.TwoDevelopment.AssetManagementSystem;
using System.Web.Mvc;
using System.Collections.Generic;
using System;
using System.Linq;
using Learun.Application.Base.SystemModule;

namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
{
@@ -17,6 +19,7 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
public class Ass_AssetsInfoApplyController : MvcControllerBase
{
private Ass_AssetsInfoApplyIBLL ass_AssetsInfoApplyIBLL = new Ass_AssetsInfoApplyBLL();
private DataItemIBLL dataItemIbll = new DataItemBLL();

#region 视图功能

@@ -48,6 +51,15 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
{
return View();
}
/// <summary>
/// 打印清单
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult Inventory()
{
return View();
}
[HttpGet]
public ActionResult FormViewJY()
{
@@ -149,6 +161,43 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
};
return Success(jsonData);
}


/// <summary>
/// 获取入库清单数据
/// </summary>
/// <param name="applyId">入库清单id</param>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetInventoryInfo(string applyId)
{
var applyEntity = ass_AssetsInfoApplyIBLL.GetAss_AssetsInfoApplyEntity(applyId);
var applyItemList = ass_AssetsInfoApplyIBLL.GetAss_AssetsInfoItemApplyList(applyId).ToList();
var unitList = dataItemIbll.GetDetailList("sldw");
var ItemList = new List<object>();
foreach (var item in applyItemList)
{
ItemList.Add(new
{
aOrder = applyItemList.IndexOf(item),//序号
aName = item.AAIName,//名字
aUnit = unitList.FirstOrDefault(a => a.F_ItemValue == item.AAIUnit)?.F_ItemName,//单位
aNum = item.AAIStock,
aPrice = item.AAIPrice,//价格
aAllPrice = item.AAIPrice * item.AAIStock,//总价格
});
}
var data = new
{
projectName = "",
applyData=applyEntity.AACreateTime.ToDate().ToString("yyyy年MM月dd日"),
list = ItemList
};

return Success(data);
}

#endregion

#region 提交数据


+ 65
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AssetManagementSystem/Controllers/Ass_AssetsInfoController.cs Ver arquivo

@@ -1,8 +1,12 @@
using Learun.Util;
using System;
using Learun.Util;
using System.Data;
using Learun.Application.TwoDevelopment.AssetManagementSystem;
using System.Web.Mvc;
using System.Collections.Generic;
using System.Linq;
using ClosedXML.Excel;
using Learun.Application.Base.SystemModule;

namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
{
@@ -16,6 +20,7 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
public class Ass_AssetsInfoController : MvcControllerBase
{
private Ass_AssetsInfoIBLL ass_AssetsInfoIBLL = new Ass_AssetsInfoBLL();
private DataItemIBLL dataItemIbll=new DataItemBLL();

#region 视图功能

@@ -37,6 +42,15 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
{
return View();
}
/// <summary>
/// 打印清单
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult Inventory()
{
return View();
}
#endregion

#region 获取数据
@@ -75,6 +89,20 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
return Success(data);
}


/// <summary>
/// 获取列表不带分页
/// </summary>
/// <param name="queryJson"></param>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetListHaoCai(string queryJson)
{
var data = ass_AssetsInfoIBLL.GetListHaoCai(queryJson);
return Success(data);
}

/// <summary>
/// 获取左侧树形数据
/// <summary>
@@ -134,6 +162,42 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
return Success("整理成功");
}


/// <summary>
/// 根据资产id 获取资产信息
/// </summary>
/// <param name="assIds">资产id</param>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetInventoryInfo(string assIds)
{
var ids = assIds.Split(',').ToList();
var assList = ass_AssetsInfoIBLL.GetListByIds(ids).ToList();
var unitList = dataItemIbll.GetDetailList("sldw");
var ItemList = new List<object>();
foreach (var item in assList)
{
ItemList.Add(new
{
aOrder = assList.IndexOf(item),//序号
aName = item.AName,//名字
aUnit = unitList.FirstOrDefault(a => a.F_ItemValue == item.AUnit)?.F_ItemName,//单位
aNum = item.AStock,
aPrice = item.APrice,//价格
aAllPrice = item.APrice * item.AStock,//总价格
});
}
var data = new
{
projectName = "",
applyData = DateTime.Now.ToString("yyyy年MM月dd日"),
list = ItemList
};

return Success(data);
}

/// <summary>
/// 保存实体数据(新增、修改)
/// <param name="keyValue">主键</param>


+ 63
- 8
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AssetManagementSystem/Controllers/Ass_AssetsOutApplyController.cs Ver arquivo

@@ -4,6 +4,9 @@ using Learun.Application.TwoDevelopment.AssetManagementSystem;
using System.Web.Mvc;
using System.Collections.Generic;
using System;
using System.Linq;
using Learun.Application.Base.SystemModule;
using Learun.Application.Organization;

namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
{
@@ -17,6 +20,8 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
public class Ass_AssetsOutApplyController : MvcControllerBase
{
private Ass_AssetsOutApplyIBLL ass_AssetsOutApplyIBLL = new Ass_AssetsOutApplyBLL();
private DataItemIBLL dataItemIbll=new DataItemBLL();
private UserIBLL userIbll=new UserBLL();

#region 视图功能

@@ -27,7 +32,7 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
[HttpGet]
public ActionResult Index()
{
return View();
return View();
}
/// <summary>
/// 表单查看页
@@ -48,6 +53,15 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
ViewBag.AOCode = "CKSQ_" + CommonHelper.CreateNo();
return View();
}
/// <summary>
/// 出库清单
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult Inventory()
{
return View();
}
#endregion

#region 获取数据
@@ -80,9 +94,10 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
[AjaxOnly]
public ActionResult GetFormData(string keyValue)
{
var Ass_AssetsOutApplyData = ass_AssetsOutApplyIBLL.GetAss_AssetsOutApplyEntity( keyValue );
var Ass_AssetsOutItemApplyData = ass_AssetsOutApplyIBLL.GetAss_AssetsOutItemApplyList( Ass_AssetsOutApplyData.AOId );
var jsonData = new {
var Ass_AssetsOutApplyData = ass_AssetsOutApplyIBLL.GetAss_AssetsOutApplyEntity(keyValue);
var Ass_AssetsOutItemApplyData = ass_AssetsOutApplyIBLL.GetAss_AssetsOutItemApplyList(Ass_AssetsOutApplyData.AOId);
var jsonData = new
{
Ass_AssetsOutApply = Ass_AssetsOutApplyData,
Ass_AssetsOutItemApply = Ass_AssetsOutItemApplyData,
};
@@ -96,9 +111,10 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
[AjaxOnly]
public ActionResult GetFormDataByProcessId(string processId)
{
var Ass_AssetsOutApplyData = ass_AssetsOutApplyIBLL.GetEntityByProcessId( processId );
var Ass_AssetsOutItemApplyData = ass_AssetsOutApplyIBLL.GetAss_AssetsOutItemApplyList( Ass_AssetsOutApplyData.AOId );
var jsonData = new {
var Ass_AssetsOutApplyData = ass_AssetsOutApplyIBLL.GetEntityByProcessId(processId);
var Ass_AssetsOutItemApplyData = ass_AssetsOutApplyIBLL.GetAss_AssetsOutItemApplyList(Ass_AssetsOutApplyData.AOId);
var jsonData = new
{
Ass_AssetsOutApply = Ass_AssetsOutApplyData,
Ass_AssetsOutItemApply = Ass_AssetsOutItemApplyData,
};
@@ -106,6 +122,45 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
}
#endregion


/// <summary>
/// 获取出库清单数据
/// </summary>
/// <param name="applyId">出库单id</param>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetInventoryInfo(string applyId)
{
var outEntity = ass_AssetsOutApplyIBLL.GetAss_AssetsOutApplyEntity(applyId);
var departmentId = userIbll.GetEntityByUserId(outEntity.AOCreateUserId)?.F_DepartmentId;
var outItem = ass_AssetsOutApplyIBLL.GetAss_AssetsOutItemApplyList(applyId).ToList();
var unitList= dataItemIbll.GetDetailList("sldw");
var ItemList = new List<object>();
foreach (var item in outItem)
{
ItemList.Add(new
{
aOrder = outItem.IndexOf(item),//序号
aName = item.AOIName,//名字
aUnit =unitList.FirstOrDefault(a=>a.F_ItemValue==item.AOIUnit)?.F_ItemName,//单位
aNum = 1,
aPrice = item.AOIPrice,//价格
aAllPrice = item.AOIPrice,//总价格
});

}

var data = new
{
projectName = outEntity.AOProjectName,
departmentId,
applyData =outEntity.AOCreateTime.ToDate().ToString("yyyy年MM月dd日"),
list = ItemList
};
return Success(data);
}

#region 提交数据

/// <summary>
@@ -135,7 +190,7 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
entity.AOOutStatus = 0;
entity.AOCreateTime = DateTime.Now;
List<Ass_AssetsOutItemApplyEntity> ass_AssetsOutItemApplyList = strass_AssetsOutItemApplyList.ToObject<List<Ass_AssetsOutItemApplyEntity>>();
ass_AssetsOutApplyIBLL.SaveEntity(keyValue,entity,ass_AssetsOutItemApplyList);
ass_AssetsOutApplyIBLL.SaveEntity(keyValue, entity, ass_AssetsOutItemApplyList);
return Success("保存成功!");
}
/// <summary>


+ 23
- 3
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AssetManagementSystem/Controllers/Ass_PurchaseApplyController.cs Ver arquivo

@@ -4,6 +4,8 @@ using Learun.Application.TwoDevelopment.AssetManagementSystem;
using System.Web.Mvc;
using System.Collections.Generic;
using System;
using System.Linq;
using System.Text;

namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
{
@@ -45,7 +47,8 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult FormView() {
public ActionResult FormView()
{
return View();
}
#endregion
@@ -82,6 +85,10 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
{
var Ass_PurchaseApplyData = ass_PurchaseApplyIBLL.GetAss_PurchaseApplyEntity(keyValue);
var Ass_PurchaseItemApplyData = ass_PurchaseApplyIBLL.GetAss_PurchaseItemApplyList(Ass_PurchaseApplyData.PAId);
foreach (var item in Ass_PurchaseItemApplyData)
{
item.PAAllAmount = item.PAIPrice * item.PAIAmount;
}
var jsonData = new
{
Ass_PurchaseApply = Ass_PurchaseApplyData,
@@ -99,6 +106,10 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
{
var Ass_PurchaseApplyData = ass_PurchaseApplyIBLL.GetEntityByProcessId(processId);
var Ass_PurchaseItemApplyData = ass_PurchaseApplyIBLL.GetAss_PurchaseItemApplyList(Ass_PurchaseApplyData.PAId);
foreach (var item in Ass_PurchaseItemApplyData)
{
item.PAAllAmount = item.PAIPrice * item.PAIAmount;
}
var jsonData = new
{
Ass_PurchaseApply = Ass_PurchaseApplyData,
@@ -156,6 +167,15 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
entity.PStatus = 0;
entity.PACreateTime = DateTime.Now;
List<Ass_PurchaseItemApplyEntity> ass_PurchaseItemApplyList = strass_PurchaseItemApplyList.ToObject<List<Ass_PurchaseItemApplyEntity>>();
StringBuilder nameOfCollection = new StringBuilder();
//将所有名字的名字集中到一个字段中, 方便查询
foreach (var item in ass_PurchaseItemApplyList)
{
nameOfCollection.Append(item.PAIName);
}


entity.NameOfCollection = nameOfCollection.ToString();
ass_PurchaseApplyIBLL.SaveEntity(keyValue, entity, ass_PurchaseItemApplyList);
return Success("保存成功!");
}
@@ -170,9 +190,9 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
/// <param name="pastatus">审核状态</param>
/// <param name="processId">流程Id</param>
/// <returns></returns>
public ActionResult ModifyPAStatus(string keyValue, int pastatus,string processId)
public ActionResult ModifyPAStatus(string keyValue, int pastatus, string processId)
{
ass_PurchaseApplyIBLL.ModifyPAStatus(keyValue, pastatus,processId);
ass_PurchaseApplyIBLL.ModifyPAStatus(keyValue, pastatus, processId);
return Success("提交成功!");
}



+ 49
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AssetManagementSystem/Controllers/Ass_ReceiveController.cs Ver arquivo

@@ -3,6 +3,9 @@ using System.Data;
using Learun.Application.TwoDevelopment.AssetManagementSystem;
using System.Web.Mvc;
using System.Collections.Generic;
using System.Linq;
using Learun.Application.Base.SystemModule;
using Learun.Application.Organization;

namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
{
@@ -17,7 +20,9 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
{
private Ass_ReceiveIBLL ass_ReceiveIBLL = new Ass_ReceiveBLL();
private Ass_ReceiveItemIBLL assReceiveItemIbll = new Ass_ReceiveItemBLL();

private DataItemIBLL dataItemIbll = new DataItemBLL();
private Ass_AssetsInfoIBLL assAssetsInfoIbll = new Ass_AssetsInfoBLL();
private UserIBLL userIbll=new UserBLL();
#region 视图功能

/// <summary>
@@ -43,6 +48,11 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
{
return View();
}
[HttpGet]
public ActionResult Inventory()
{
return View();
}
#endregion

#region 获取数据
@@ -104,6 +114,44 @@ namespace Learun.Application.Web.Areas.AssetManagementSystem.Controllers
}
#endregion

/// <summary>
/// 获取出库清单数据
/// </summary>
/// <param name="applyId">出库单id</param>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetInventoryInfo(string applyId)
{
var outEntity = ass_ReceiveIBLL.GetAss_ReceiveEntity(applyId);
var outItem = assReceiveItemIbll.GetList(applyId).ToList();
var unitList = dataItemIbll.GetDetailList("sldw");
var ItemList = new List<object>();
foreach (var item in outItem)
{
var entity = assAssetsInfoIbll.GetAss_AssetsInfoEntity(item.AID);
ItemList.Add(new
{
aOrder = outItem.IndexOf(item),//序号
aName = entity.AName,//名字
aUnit = unitList.FirstOrDefault(a => a.F_ItemValue == entity.AUnit)?.F_ItemName,//单位
aNum = item.ANum,
aPrice = entity.APrice,//价格
aAllPrice = entity.APrice * int.Parse(item.ANum),//总价格
});

}

var data = new
{
projectName = "",
departmentId=outEntity.PDepartment,
applyData=outEntity.RTime.ToDate().ToString("yyyy年MM月dd日"),
list = ItemList
};
return Success(data);
}

#region 提交数据

/// <summary>


+ 1
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AssetManagementSystem/Views/Ass_AssetsInfo/Index.cshtml Ver arquivo

@@ -43,6 +43,7 @@
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i>&nbsp;录入</a>
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;修改</a>
<a id="lr_arrangement" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;整理资产数据</a>
<a id="lr_inventory" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;打印清单</a>
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
<a id="lr_detail" class="btn btn-default"><i class="fa fa-bars"></i>&nbsp;查看明细</a>
</div>


+ 20
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/AssetManagementSystem/Views/Ass_AssetsInfo/Index.js Ver arquivo

@@ -103,6 +103,25 @@ var bootstrap = function ($, learun) {
});
}
});


//打印清单
$('#lr_inventory').on('click',
function () {
var keyValue = $('#gridtable').jfGridValue('AId');
console.log(keyValue);
if (learun.checkrow(keyValue)) {
learun.layerForm({
id: 'formAss_AssetsOutApply',
title: '清单',
url: top.$.rootUrl + '/AssetManagementSystem/Ass_AssetsInfo/Inventory?keyValue=' + keyValue,
width: 1000,
height: 700,
callBack: function (id) {
}
});
}
});
},
// 初始化列表
initGird: function () {
@@ -189,6 +208,7 @@ var bootstrap = function ($, learun) {
],
mainId: 'AId',
isPage: true,
isMultiselect: true,
sidx: 'AOrder'
});
page.search();


Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff

Carregando…
Cancelar
Salvar