فهرست منبع

通知公告详情,会议创建,通讯录搜索等页面的bug

RaoMeng 7 سال پیش
والد
کامیت
9c7332627c
41فایلهای تغییر یافته به همراه440 افزوده شده و 189 حذف شده
  1. 6 6
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/wxschool/basic/controller/WxClazzController.java
  2. 4 4
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/wxschool/basic/controller/WxUserController.java
  3. 3 3
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/wxschool/basic/service/WxClazzService.java
  4. 2 2
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/wxschool/basic/service/WxUserService.java
  5. 11 16
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/wxschool/basic/service/impl/WxClazzServiceImpl.java
  6. 10 2
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/wxschool/basic/service/impl/WxOaApproveServiceImpl.java
  7. 9 2
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/wxschool/basic/service/impl/WxUserServiceImpl.java
  8. 1 1
      applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/wxschool/mapper/WxTeacherMapper.java
  9. 2 0
      applications/school/school-server/src/main/resources/mapper/WxTeacherMapper.xml
  10. 3 2
      frontend/pc-web/app/util/BaseUtil.js
  11. 0 1
      frontend/pc-web/app/util/FormUtil.js
  12. 24 3
      frontend/pc-web/app/view/basic/class/ClassInfo.js
  13. 210 41
      frontend/pc-web/app/view/basic/class/ClassInfoController.js
  14. 1 1
      frontend/pc-web/app/view/basic/class/ListCard.js
  15. 1 1
      frontend/pc-web/app/view/basic/school/SchoolInfo.js
  16. 2 1
      frontend/pc-web/app/view/viewport/ViewportModel.js
  17. BIN
      frontend/pc-web/packages/font-school/resources/fonts/iconfont.eot
  18. 0 0
      frontend/pc-web/packages/font-school/resources/fonts/iconfont.js
  19. 9 0
      frontend/pc-web/packages/font-school/resources/fonts/iconfont.svg
  20. BIN
      frontend/pc-web/packages/font-school/resources/fonts/iconfont.ttf
  21. BIN
      frontend/pc-web/packages/font-school/resources/fonts/iconfont.woff
  22. BIN
      frontend/pc-web/packages/font-school/resources/fonts/iconfont.woff2
  23. 12 8
      frontend/pc-web/packages/font-school/sass/etc/icons.scss
  24. 0 2
      frontend/pc-web/packages/font-school/sass/src/all.scss
  25. 3 3
      frontend/wechat-web/src/components/HomeWorkItem.jsx
  26. 0 1
      frontend/wechat-web/src/index.css
  27. 2 1
      frontend/wechat-web/src/modules/hiPages/approvel-detail/ApprovelDetail.js
  28. 2 2
      frontend/wechat-web/src/modules/hiPages/approvel/Approvel.css
  29. 50 21
      frontend/wechat-web/src/modules/hiPages/approvel/Approvel.js
  30. 18 16
      frontend/wechat-web/src/modules/hiPages/approvel/ApprovelItem.js
  31. 2 1
      frontend/wechat-web/src/modules/hiPages/changephonenumber/ChangePhoneNumber.js
  32. 1 1
      frontend/wechat-web/src/modules/hiPages/field-trip/FieldTrip.js
  33. 2 11
      frontend/wechat-web/src/modules/hiPages/res_apply/ResApply.js
  34. 21 7
      frontend/wechat-web/src/modules/hiPages/res_apply/UserItem.js
  35. 2 2
      frontend/wechat-web/src/modules/hiPages/sendMeetting/SendMeet.js
  36. 1 1
      frontend/wechat-web/src/modules/leave/LeaveAddCPage.js
  37. 1 1
      frontend/wechat-web/src/modules/leave/LeaveAddPage.js
  38. 1 1
      frontend/wechat-web/src/modules/leave/LeaveItem.css
  39. 13 16
      frontend/wechat-web/src/modules/leave/LeaveItem.js
  40. 10 7
      frontend/wechat-web/src/modules/leave/LeaveListPage.js
  41. 1 1
      frontend/wechat-web/src/style/css/payment.css

+ 6 - 6
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/wxschool/basic/controller/WxClazzController.java

@@ -68,9 +68,9 @@ public class WxClazzController {
 	 * @throws Exception
 	 */
 	@PostMapping("/selectParentPhoneByTeacher")
-	public ResultBean selectParentPhoneByTeacher(@Param("teacherId") Long teacherId, @Param("selectKey") String selectKey){
+	public ResultBean selectParentPhoneByTeacher(@Param("teacherId") Long teacherId, @Param("selectKey") String selectKey,@Param("pageIndex") Integer pageIndex,@Param("pageSize") Integer pageSize){
 		try {
-			List<ClazzDO> clazzDOS = clazzService.selectParentPhoneByTeacher(teacherId, selectKey);
+			List<ClazzDO> clazzDOS = clazzService.selectParentPhoneByTeacher(teacherId, selectKey,pageIndex,pageSize);
 			return new ResultBean(clazzDOS);
 		}catch (Exception e){
 			return new ResultBean(e);
@@ -83,9 +83,9 @@ public class WxClazzController {
 	 * @throws Exception
 	 */
 	@PostMapping("/getTeacherByStuId")
-	public ResultBean getTeacherByStuId(@Param("stuId") Long stuId, @Param("selectKey")String selectKey){
+	public ResultBean getTeacherByStuId(@Param("stuId") Long stuId, @Param("selectKey")String selectKey,@Param("pageIndex") Integer pageIndex,@Param("pageSize") Integer pageSize){
 		try {
-			List<TeacherDO> teacherByStuId = clazzService.getTeacherByStuId(stuId, selectKey);
+			List<TeacherDO> teacherByStuId = clazzService.getTeacherByStuId(stuId, selectKey,pageIndex,pageSize);
 			return new ResultBean(teacherByStuId);
 		}catch (Exception e){
 			return new ResultBean(e);
@@ -98,9 +98,9 @@ public class WxClazzController {
 	 * @throws Exception
 	 */
 	@PostMapping("/getParentByClazzId")
-	public ResultBean getParentByClazzId(@Param("clazzId") Long clazzId, @Param("selectKey") String selectKey){
+	public ResultBean getParentByClazzId(@Param("clazzId") Long clazzId, @Param("selectKey") String selectKey,@Param("pageIndex") Integer pageIndex,@Param("pageSize") Integer pageSize){
 		try {
-			List<StudentDO> parentByClazzId = clazzService.getParentByClazzId(clazzId, selectKey);
+			List<StudentDO> parentByClazzId = clazzService.getParentByClazzId(clazzId, selectKey,pageIndex,pageSize);
 			return new ResultBean(parentByClazzId);
 		}catch (Exception e){
 			return new ResultBean(e);

+ 4 - 4
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/wxschool/basic/controller/WxUserController.java

@@ -64,12 +64,12 @@ public class WxUserController {
 
 	/** 绑定 */
 	@PostMapping("/bindOpenid")
-	public ResultBean bindOpenid(@Param("userPhone")String userPhone, @Param("code")String code, @Param("openid")String openid){
+	public ResultBean bindOpenid(@Param("userPhone")String userPhone, @Param("code")String code, @Param("openid")String openid,@Param("headimgurl")String headimgurl){
 		try {
 			Assert.notNull(userPhone,"请填入手机号");
 			Assert.notNull(code,"请输入验证码");
 			Assert.notNull(openid,"openid不能为空");
-			Map<String, Object> map = userService.bindOpenid(userPhone, code, openid);
+			Map<String, Object> map = userService.bindOpenid(userPhone, code, openid,headimgurl);
 			return new ResultBean(map);
 		}catch (Exception e){
 			return new ResultBean(e);
@@ -77,10 +77,10 @@ public class WxUserController {
 	}
 
 	@GetMapping("/isBinding")
-	public ResultBean isBinding(String openid){
+	public ResultBean isBinding(@Param("openid") String openid,@Param("headimgurl")String headimgurl){
 		try {
 			Assert.notNull(openid,"openid不能为空");
-			Map<String, Object> map = userService.isBinding(openid);
+			Map<String, Object> map = userService.isBinding(openid,headimgurl);
 			Object teacherDOS =  map.get("teacherDOS");
 			Object parentsDOS = map.get("parentsDOS");
 			if (ObjectUtils.isEmpty(teacherDOS)&&ObjectUtils.isEmpty(parentsDOS)){

+ 3 - 3
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/wxschool/basic/service/WxClazzService.java

@@ -38,21 +38,21 @@ public interface WxClazzService {
 	 * @return
 	 * @throws Exception
 	 */
-	public List<ClazzDO> selectParentPhoneByTeacher(@Param("teacherId") Long teacherId, @Param("selectKey") String selectKey) throws Exception;
+	public List<ClazzDO> selectParentPhoneByTeacher(@Param("teacherId") Long teacherId, @Param("selectKey") String selectKey,@Param("pageIndex") Integer pageIndex,@Param("pageSize") Integer pageSize) throws Exception;
 
 	/**
 	 * 获取学生班级的所有老师
 	 * @param stuId
 	 * @throws Exception
 	 */
-	public List<TeacherDO> getTeacherByStuId(@Param("stuId") Long stuId, @Param("selectKey") String selectKey) throws Exception;
+	public List<TeacherDO> getTeacherByStuId(@Param("stuId") Long stuId, @Param("selectKey") String selectKey,@Param("pageIndex") Integer pageIndex,@Param("pageSize") Integer pageSize) throws Exception;
 
 	/**
 	 * 获取学生班级的所有家长
 	 * @param clazzId
 	 * @throws Exception
 	 */
-	public List<StudentDO> getParentByClazzId(@Param("clazzId") Long clazzId, @Param("selectKey") String selectKey) throws Exception;
+	public List<StudentDO> getParentByClazzId(@Param("clazzId") Long clazzId, @Param("selectKey") String selectKey,@Param("pageIndex") Integer pageIndex,@Param("pageSize") Integer pageSize) throws Exception;
 
 	/**
 	 * 获取所有教师的电话

+ 2 - 2
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/wxschool/basic/service/WxUserService.java

@@ -33,7 +33,7 @@ public interface WxUserService {
 	 * @return
 	 * @throws Exception
 	 */
-	Map<String, Object> bindOpenid(@Param("userPhone") String userPhone, @Param("code") String code, @Param("openid") String openid) throws Exception;
+	Map<String, Object> bindOpenid(@Param("userPhone") String userPhone, @Param("code") String code, @Param("openid") String openid,@Param("headimgurl")String headimgurl) throws Exception;
 
 	/**
 	 * 是否绑定
@@ -41,7 +41,7 @@ public interface WxUserService {
 	 * @return
 	 * @throws Exception
 	 */
-	public HashMap<String, Object> isBinding(@Param("openid") String openid) throws Exception;
+	public HashMap<String, Object> isBinding(@Param("openid") String openid,@Param("headimgurl")String headimgurl) throws Exception;
 
 	/**
 	 * 首页数据

+ 11 - 16
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/wxschool/basic/service/impl/WxClazzServiceImpl.java

@@ -74,12 +74,15 @@ public class WxClazzServiceImpl implements WxClazzService {
 	 * @return
 	 * @throws Exception
 	 */
-	public List<ClazzDO> selectParentPhoneByTeacher(Long teacherId, String selectKey) throws Exception {
+	public List<ClazzDO> selectParentPhoneByTeacher(Long teacherId, String selectKey,Integer pageIndex,Integer pageSize) throws Exception {
+		Integer pageStart = (pageIndex - 1) * pageSize;
 		List<ClazzDO> clazzDOS = selectClazz(teacherId);
 		for (ClazzDO cz:clazzDOS) {
 			Map<String, Object> map = new HashMap<>();
 			map.put("clazzId",cz.getClazzId());
 			map.put("stuName","%"+selectKey+"%");
+			map.put("offset",pageStart);
+			map.put("limit",pageSize);
 			List<StudentDO> studentDOS = studentMapper.list(map);
 			if (ObjectUtils.isNotEmpty(studentDOS)){
 				for (StudentDO st:studentDOS) {
@@ -105,22 +108,11 @@ public class WxClazzServiceImpl implements WxClazzService {
 	 * @param stuId
 	 * @throws Exception
 	 */
-	public List<TeacherDO> getTeacherByStuId(Long stuId, String selectKey) throws Exception {
+	public List<TeacherDO> getTeacherByStuId(Long stuId, String selectKey,Integer pageIndex,Integer pageSize) throws Exception {
+		Integer pageStart = (pageIndex - 1) * pageSize;
 		StudentDO studentDO = studentMapper.get(stuId);
 		if (ObjectUtils.isNotEmpty(studentDO)){
-			/*Map<String, Object> hashMap = new HashMap<>();
-			hashMap.put("clazzId",studentDO.getClazzId());
-			List<TeacherClazzDO> teacherClazzDOS = teacherClazzMapper.list(hashMap);
-			if (ObjectUtils.isNotEmpty(teacherClazzDOS)){
-				List<TeacherDO> teacherDOS = new ArrayList<>();
-				for (TeacherClazzDO tc:teacherClazzDOS) {
-					TeacherDO teacherDO = teacherMapper.get(tc.getTeacherId());
-					teacherDO.setUserPhone(userMapper.get(teacherDO.getUserId()).getUserPhone());
-				teacherDOS.add(teacherDO);
-				}
-			}
-			return clazzDO;*/
-			List<TeacherDO> byClazzId = teacherMapper.getByClazzId(studentDO.getClazzId(), "%" + selectKey + "%");
+			List<TeacherDO> byClazzId = teacherMapper.getByClazzId(studentDO.getClazzId(), "%" + selectKey + "%",pageStart,pageSize);
 				if (ObjectUtils.isNotEmpty(byClazzId)){
 					for (TeacherDO tc:byClazzId) {
 						tc.setUserPhone(userMapper.get(tc.getUserId()).getUserPhone());
@@ -140,10 +132,13 @@ public class WxClazzServiceImpl implements WxClazzService {
 	 * @param clazzId
 	 * @throws Exception
 	 */
-	public List<StudentDO> getParentByClazzId(Long clazzId, String selectKey) throws Exception {
+	public List<StudentDO> getParentByClazzId(Long clazzId, String selectKey,Integer pageIndex,Integer pageSize) throws Exception {
+		Integer pageStart = (pageIndex - 1) * pageSize;
 		Map<String, Object> map = new HashMap<>();
 		map.put("clazzId",clazzId);
 		map.put("stuName","%"+selectKey+"%");
+		map.put("offset",pageStart);
+		map.put("limit",pageSize);
 		List<StudentDO> studentDOS = studentMapper.list(map);
 		if (ObjectUtils.isNotEmpty(studentDOS)){
 			for (StudentDO st:studentDOS) {

+ 10 - 2
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/wxschool/basic/service/impl/WxOaApproveServiceImpl.java

@@ -59,8 +59,16 @@ public class WxOaApproveServiceImpl implements WxOaApproveService {
         oaApprove.setSchoolId(teacherMapper.get(proposer).getSchoolId());
         Long approver = parse.getLong("approver");
         oaApprove.setApprover(approver);
-        oaApprove.setStartDate(DateFormatUtil.string2Date(parse.getString("startDate")));
-        oaApprove.setEndDate(DateFormatUtil.string2Date(parse.getString("endDate")));
+        String startDate = parse.getString("startDate");
+        if (ObjectUtils.isNotEmpty(startDate)){
+            Date date = DateFormatUtil.string2Date(startDate);
+            oaApprove.setStartDate(date);
+        }
+        String endDate = parse.getString("endDate");
+        if (ObjectUtils.isNotEmpty(endDate)){
+            Date date = DateFormatUtil.string2Date(endDate);
+            oaApprove.setEndDate(date);
+        }
         oaApprove.setAddress(parse.getString("address"));
         int i = oaApproveMapper.save(oaApprove);
         if (i > 0) {

+ 9 - 2
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/wxschool/basic/service/impl/WxUserServiceImpl.java

@@ -84,7 +84,7 @@ public class WxUserServiceImpl implements WxUserService {
 	 * @return
 	 * @throws Exception
 	 */
-	public Map<String, Object> bindOpenid(String userPhone, String code, String openid) throws Exception {
+	public Map<String, Object> bindOpenid(String userPhone, String code, String openid,String headimgurl) throws Exception {
 		UserDO user = userMapper.selectUserByPhone(userPhone);
 		if (ObjectUtils.isNotEmpty(user)){
 			Map<String, Object> map = new HashMap<>();
@@ -96,6 +96,7 @@ public class WxUserServiceImpl implements WxUserService {
 				if (ObjectUtils.isNotEmpty(teacherDOS)){
 					for (TeacherDO tc:teacherDOS) {
 						tc.setOpenid(openid);
+						tc.setTeacherPhoto(headimgurl);
 						teacherMapper.update(tc);
 						tc.setSchoolName(schoolMapper.get(tc.getSchoolId()).getSchoolName());
 					}
@@ -104,6 +105,7 @@ public class WxUserServiceImpl implements WxUserService {
 				if (ObjectUtils.isNotEmpty(parentsDOS)){
 					for (ParentsDO pt:parentsDOS) {
 						pt.setOpenid(openid);
+						pt.setParentsPhoto(headimgurl);
 						parentsMapper.update(pt);
 						pt.setSchoolName(schoolMapper.get(pt.getSchoolId()).getSchoolName());
 					}
@@ -243,19 +245,24 @@ public class WxUserServiceImpl implements WxUserService {
 	 * 是否绑定
 	 * @param openid
 	 */
-	public HashMap<String, Object> isBinding(String openid) throws Exception {
+	public HashMap<String, Object> isBinding(String openid,String headimgurl) throws Exception {
 		HashMap<String, Object> map = new HashMap<>();
 		Map<String, Object> hashMap = new HashMap<>();
 		hashMap.put("openid",openid);
 		List<TeacherDO> teacherDOS = teacherMapper.list(hashMap);
 		if (ObjectUtils.isNotEmpty(teacherDOS)){
 			for (TeacherDO tc:teacherDOS) {
+				tc.setTeacherPhoto(headimgurl);
+				teacherMapper.update(tc);
 				tc.setSchoolName(schoolMapper.get(tc.getSchoolId()).getSchoolName());
+
 			}
 		}
 		List<ParentsDO> parentsDOS = parentsMapper.list(hashMap);
 		if (ObjectUtils.isNotEmpty(parentsDOS)){
 			for (ParentsDO pt:parentsDOS) {
+				pt.setParentsPhoto(headimgurl);
+				parentsMapper.update(pt);
 				pt.setSchoolName(schoolMapper.get(pt.getSchoolId()).getSchoolName());
 			}
 		}

+ 1 - 1
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/wxschool/mapper/WxTeacherMapper.java

@@ -34,7 +34,7 @@ public interface WxTeacherMapper {
 
 	TeacherDO getBySchoolAndOpenid(@Param("schoolId") Long schoolId, @Param("openid") String openid);
 
-	List<TeacherDO> getByClazzId(@Param("clazzId") Long clazzId, @Param("teacherName") String teacherName);
+	List<TeacherDO> getByClazzId(@Param("clazzId") Long clazzId, @Param("teacherName") String teacherName,@Param("pageStart") Integer pageStart,@Param("pageSize")Integer pageSize);
 
 
 	List<TeacherDO> getAll(@Param("schoolId") Long schoolId, @Param("teacherName") String teacherName,@Param("pageStart")Integer pageStart,@Param("pageSize")Integer pageSize);

+ 2 - 0
applications/school/school-server/src/main/resources/mapper/WxTeacherMapper.xml

@@ -147,6 +147,8 @@
 		<where>
 			teacher_id in (select `teacher_id` from sys_teacher_clazz where clazz_id = #{clazzId})
 			<if test="teacherName != null and teacherName != ''"> and teacher_name like #{teacherName} </if>
+			order by teacher_id desc
+			limit #{pageStart}, #{pageSize}
 		</where>
 	</select>
 

+ 3 - 2
frontend/pc-web/app/util/BaseUtil.js

@@ -191,9 +191,10 @@ Ext.define('school.util.BaseUtil', {
                         }catch(e) {
                             res = response.responseJson || {};
                         }
-                        console.error('ajax request failure: ', res);
                         res.message = res.message || '未知错误';
-                        throw new Error(res.message);
+                        console.error('ajax request failure: ', res);
+                        // throw new Error(res.message);
+                        return reject(res);
                     }
                 });
             })

+ 0 - 1
frontend/pc-web/app/util/FormUtil.js

@@ -290,7 +290,6 @@ Ext.define('school.util.FormUtil', {
                     });
 
                     cnames.push(item.detnoColumn);
-                    console.log(cnames);
 
                     formModel.set('detail' + index + '.detailBindFields', cnames);
                     item.bind = {

+ 24 - 3
frontend/pc-web/app/view/basic/class/ClassInfo.js

@@ -28,6 +28,13 @@ Ext.define('school.view.basic.class.ClassInfo', {
             store: '{store_grade}',
             width: '{treeWidth}'
         },
+        // viewConfig: {
+        //     plugins: {
+        //         treeviewdragdrop: {
+        //             containerScroll: true
+        //         }
+        //     }
+        // },
         columns: [{
             xtype: 'treecolumn',
             text: 'Name',
@@ -46,6 +53,14 @@ Ext.define('school.view.basic.class.ClassInfo', {
                 tooltip: '新增',
                 handler: 'onTreeAddClick'
             }]
+        }, {
+            xtype: 'actioncolumn',
+            width: 30,
+            items: [{
+                iconCls: 'action-icon x-hidden x-fa fa-pencil',
+                tooltip: '编辑',
+                handler: 'onTreeEditClick'
+            }]
         }, {
             xtype: 'actioncolumn',
             width: 30,
@@ -56,9 +71,11 @@ Ext.define('school.view.basic.class.ClassInfo', {
             }]
         }],
         listeners: {
-            itemclick: 'onItemclick',
+            itemclick: 'onItemClick',
             itemmouseenter: 'onItemMouseEnter',
-            itemmouseleave: 'onItemMouseLeave'
+            itemmouseleave: 'onItemMouseLeave',
+            beforedrop: 'onItemBeforeDrop',
+            drop: 'onItemDrop',
         }
     }, {
         region: 'center',
@@ -94,5 +111,9 @@ Ext.define('school.view.basic.class.ClassInfo', {
                 hidden: true
             }]
         }]
-    }]
+    }],
+    
+    listeners: {
+        afterrender: 'onAfterRender'
+    }
 });

+ 210 - 41
frontend/pc-web/app/view/basic/class/ClassInfoController.js

@@ -2,32 +2,42 @@ Ext.define('school.view.basic.class.ClassInfoController', {
     extend: 'Ext.app.ViewController',
     alias: 'controller.basic-class-classinfo',
 
-    onItemMouseEnter: function(tree, record, item, index, e, eOpts)  {
-        var icons = item.getElementsByClassName('action-icon');
-        if(record.data.leaf) {
-            icons[1].classList.remove('x-hidden');
-            return;
-        }
+    onAfterRender: function() {
+        let me = this,
+        view = me.getView(),
+        viewModel = me.getViewModel();
 
-        if(record.data.id == 'root') {
-            icons[0].classList.remove('x-hidden');
-            return;
-        }
+        viewModel.get('store_grade').load();
+    },
 
-        icons[0].classList.remove('x-hidden');
-        icons[1].classList.remove('x-hidden');
+    onItemMouseEnter: function(tree, record, item, index, e, eOpts)  {
+        let icons = item.getElementsByClassName('action-icon');
+        let addIcon = icons[0],
+        editIcon = icons[1],
+        deleteIcon = icons[2];
+        if(record.data.type == 'SCHOOL') {
+            addIcon.classList.remove('x-hidden');
+        }else if(record.data.type == 'GRADE') {
+            addIcon.classList.remove('x-hidden');
+            editIcon.classList.remove('x-hidden');
+            deleteIcon.classList.remove('x-hidden');
+        }else if(record.data.type == 'CLASS') {
+            // addIcon.classList.remove('x-hidden');
+            editIcon.classList.remove('x-hidden');
+            deleteIcon.classList.remove('x-hidden');
+        } 
     },
 
     onItemMouseLeave: function(tree, record, item, index, e, eOpts) {
-        var icons = item.getElementsByClassName('action-icon');
+        let icons = item.getElementsByClassName('action-icon');
 
-        for(var x = 0; x < icons.length; x++) {
+        for(let x = 0; x < icons.length; x++) {
             icons[x].classList.add('x-hidden');
         }
     },
 
-    onItemclick: function(tree, record, item, index, e, eOpts) {
-        var me = this,
+    onItemClick: function(tree, record, item, index, e, eOpts) {
+        let me = this,
         refs = me.getReferences(),
         listCard = refs.listcard;
 
@@ -35,8 +45,24 @@ Ext.define('school.view.basic.class.ClassInfoController', {
 
     },
 
+    onItemBeforeDrop: function(node, data, overModel, dropPosition, dropHandlers) {
+        let cdata = data.records[0].data;
+        let tdata = overModel.data;
+        dropHandlers.wait = true;
+
+        if(cdata.type == tdata.type && dropPosition != 'append') {
+            dropHandlers.processDrop();
+        }else {
+            dropHandlers.cancelDrop();
+        }
+    },
+
+    onItemDrop: function() {
+
+    },
+
     onToggleTree: function() {
-        var me = this,
+        let me = this,
         viewModel = me.getViewModel(),
         refs = me.getReferences(),
         treeList = refs.treelist,
@@ -59,7 +85,7 @@ Ext.define('school.view.basic.class.ClassInfoController', {
     },
 
     onTreeUp: function() {
-        var me = this,
+        let me = this,
         viewModel = me.getViewModel(),
         refs = me.getReferences(),
         treeList = refs.treelist,
@@ -78,49 +104,77 @@ Ext.define('school.view.basic.class.ClassInfoController', {
     },
 
     onTreeAddClick: function(tree, row, col, item, e, eOpts, tr) {
-        var me = this,
+        let me = this,
         store = tree.store,
         record = store.getAt(row);
 
-        me.showTreeAddWin(record.data);
+        me.showTreeAddWin(record.data, record);
+
+    },
+
+    onTreeEditClick: function(tree, row, col, item, e, eOpts, tr) {
+        let me = this,
+        store = tree.store,
+        record = store.getAt(row);
 
+        me.showTreeEditWin(record.data, true);
     },
 
     onTreeDeleteClick: function(tree, row, col, item, e, eOpts, tr) {
-        var me = this,
+        let me = this,
         refs = me.getReferences(),
         listCard = refs.listcard,
         treeList = refs.treelist,
         store = treeList.store,
         record = store.getAt(row),
         rootNode = treeList.getRootNode(),
+        _id = record.data._id,
         id = record.data.id,
+        type = record.data.type,
         currentNode = rootNode.findChild('id', id, true),
         parentNode = currentNode.parentNode;
 
-        treeList.setSelection(parentNode);
-        currentNode.remove();
-        
-        listCard.showNode(parentNode);
+        let url;
+
+        if(type == 'GRADE') {
+            // url = 'http://10.1.80.47:9560/grade/delete'
+            url = '/api/school/grade/delete'
+        }else {
+            // url = 'http://10.1.80.47:9560/grade/deleteClass'
+            url = '/api/school/grade/deleteClass'
+        }
+
+        school.util.BaseUtil.request({
+            url: url + '/' +  _id,
+            method: 'POST'
+        }).then(function(res) {
+            treeList.setSelection(parentNode);
+            currentNode.remove();
+            listCard.showNode(parentNode);
+        }).catch(function(e) {
+            school.util.BaseUtil.showErrorToast(e.message);
+        });
     },
 
-    showTreeAddWin: function(data) {
-        var me = this,
+    showTreeAddWin: function(data, record) {
+        let me = this,
         view = me.getView(),
         refs = me.getReferences(),
         treeList = refs.treelist,
         listCard = refs.listcard,
         win = refs.treeaddwin,
         id = data.id,
-        type = data.type;
+        _id = data._id,
+        type = data.type,
+        childCount = record.childNodes.length;
 
-        var title = type == 'SCHOOL' ? '新增年级' : '新增班级';
-        var sumType = type == 'SCHOOL' ? 'GRADE' : 'CLASS';
+        let title = type == 'SCHOOL' ? '新增年级' : '新增班级';
+        let sumType = type == 'SCHOOL' ? 'GRADE' : 'CLASS';
         if(!win) {
             win = Ext.create('Ext.window.Window', {
                 width: 300,
                 height: 180,
-                renderTo: Ext.getBody(),
+                constrain: true,
                 references: 'treeaddwin',
                 modal: true,
                 bodyPadding: 10,
@@ -142,26 +196,141 @@ Ext.define('school.view.basic.class.ClassInfoController', {
                         text: '确定',
                         formBind: true,
                         handler: function() {
-                            var form = this.up('form');
-                            var text = form.getValues().text;
-                            var rootNode = treeList.getRootNode();
-                            var currentNode;
-                            var childNode = {
+                            let form = this.up('form');
+                            let text = form.getValues().text;
+                            let rootNode = treeList.getRootNode();
+                            let currentNode;
+                            let childNode = {
                                 text: text,
                                 type: sumType
                             };
-                            if(id == 'root') {
+                            let url, params, headers;
+                            if(type == 'SCHOOL') {
                                 currentNode = rootNode;
                                 childNode.leaf = false;
                                 childNode.children = [];
+                                // url = 'http://10.1.80.47:9560/grade/save';
+                                url = '/api/school/grade/save';
+                                params = {
+                                    grade: text,
+                                    no: childCount
+                                };
+                                headers = {
+                                    "Content-Type": 'application/x-www-form-urlencoded; charset=UTF-8'
+                                }
                             }else {
                                 currentNode = rootNode.findChild('id', id, true);
                                 childNode.leaf = true;
+                                // url = 'http://10.1.80.47:9560/grade/addClass';
+                                url = '/api/school/grade/addClass';
+                                params = JSON.stringify({
+                                    grade_id: _id,
+                                    clazz_name: text,
+                                    no: childCount
+                                });
                             }
-                            
-                            currentNode.appendChild(childNode);
-                            listCard.showNode(currentNode);
-                            win.close();
+
+                            view.setLoading(true);
+                            school.util.BaseUtil.request({
+                                url: url,
+                                method: 'POST',
+                                params: params,
+                                headers: headers
+                            }).then(function(res) {
+                                view.setLoading(false);
+                                childNode._id = res.data.id;
+                                currentNode.appendChild(childNode);
+                                listCard.showNode(currentNode);
+                                win.close();
+                            }).catch(function(e) {
+                                view.setLoading(false);
+                                school.util.BaseUtil.showErrorToast(e.message);
+                            });
+                        }
+                    }]
+                }]
+            });
+            view.add(win);
+        }
+        win.setTitle(title);
+        win.show();
+    },
+
+    showTreeEditWin: function(data) {
+        let me = this,
+        view = me.getView(),
+        refs = me.getReferences(),
+        treeList = refs.treelist,
+        listCard = refs.listcard,
+        win = refs.treeaddwin,
+        _id = data._id,
+        id = data.id,
+        type = data.type;
+
+        let title = type == 'GRADE' ? '修改年级' : '修改班级';
+        if(!win) {
+            win = Ext.create('Ext.window.Window', {
+                width: 300,
+                height: 180,
+                references: 'treeaddwin',
+                constrain: true,
+                modal: true,
+                bodyPadding: 10,
+                layout: 'fit',
+                items: [{
+                    xtype: 'form',
+                    layout: 'column',
+                    defaults: {
+                        columnWidth: 1
+                    },
+                    items: [{
+                        xtype: 'textfield',
+                        name: 'text',
+                        emptyText: '名称',
+                        value: data.text,
+                        allowBlank: false
+                    }],
+                    buttonAlign: 'center',
+                    buttons: [{
+                        text: '确定',
+                        formBind: true,
+                        handler: function() {
+                            let form = this.up('form');
+                            let text = form.getValues().text;
+                            let rootNode = treeList.getRootNode();
+                            let currentNode = rootNode.findChild('id', id, true);
+                            let url, params, headers;
+                            if(type == 'GRADE') {
+                                // url = 'http://10.1.80.47:9560/grade/update';
+                                url = '/api/school/grade/update';
+                                params = JSON.stringify({
+                                    grade_id: _id,
+                                    grade_name: text
+                                });
+                            }else {
+                                // url = 'http://10.1.80.47:9560/grade/updateClass';
+                                url = '/api/school/grade/updateClass';
+                                params = JSON.stringify({
+                                    clazz_id: _id,
+                                    clazz_name: text
+                                });
+                            }
+
+                            view.setLoading(true);
+                            school.util.BaseUtil.request({
+                                url: url,
+                                method: 'POST',
+                                params: params,
+                                headers: headers
+                            }).then(function(res) {
+                                view.setLoading(false);
+                                currentNode.set('text', text);
+                                currentNode.commit();
+                                win.close();
+                            }).catch(function(e) {
+                                view.setLoading(false);
+                                school.util.BaseUtil.showErrorToast(e.message);
+                            });
                         }
                     }]
                 }]

+ 1 - 1
frontend/pc-web/app/view/basic/class/ListCard.js

@@ -39,7 +39,7 @@ Ext.define('school.view.basic.class.ListCard', {
     },
 
     showNode: function(node) {
-        var me = this,
+        let me = this,
         classInfo = me.up('basic-class-classinfo'),
         viewModel = classInfo.getViewModel(),
         currentlist = viewModel.get('currentlist'),

+ 1 - 1
frontend/pc-web/app/view/basic/school/SchoolInfo.js

@@ -91,7 +91,7 @@ Ext.define('school.view.basic.school.SchoolInfo', {
         me.setLoading(true);
         school.util.BaseUtil.request({
             // url: 'http://10.1.80.35:9560/school/save',
-            url: '/school/save',
+            url: '/api/school/school/save',
             method: 'POST',
             params: JSON.stringify(values)
         })

+ 2 - 1
frontend/pc-web/app/view/viewport/ViewportModel.js

@@ -34,13 +34,14 @@ Ext.define('school.view.viewport.ViewportModel', {
             }],
             proxy: {
                 type: 'ajax',
-                // url: 'http://10.1.80.35:9520/grade/read/1',
+                // url: 'http://10.1.80.47:9560/grade/read/1',
                 url: '/api/school/grade/read/1',
                 reader: {
                     transform: {
                         fn: function(data) {
                             let schools = data.data.children;
                             schools.map(function(s) {
+                                s._id = s.id;
                                 s.id = 'school-' + s.id;
                                 let classes = s.children;
                                 classes.map(function(c) {

BIN
frontend/pc-web/packages/font-school/resources/fonts/iconfont.eot


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
frontend/pc-web/packages/font-school/resources/fonts/iconfont.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 9 - 0
frontend/pc-web/packages/font-school/resources/fonts/iconfont.svg


BIN
frontend/pc-web/packages/font-school/resources/fonts/iconfont.ttf


BIN
frontend/pc-web/packages/font-school/resources/fonts/iconfont.woff


BIN
frontend/pc-web/packages/font-school/resources/fonts/iconfont.woff2


+ 12 - 8
frontend/pc-web/packages/font-school/sass/etc/icons.scss

@@ -1,15 +1,19 @@
-.font-school {
-  font-family: "font-school" !important;
-  font-size: 16px;
-  font-style: normal;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-}
-
 .ss-nav-interaction:before {
   content: "\e905";
 }
 
+.ss-move:before {
+  content: "\e908";
+}
+
+.ss-down:before {
+  content: "\e906";
+}
+
+.ss-up:before {
+  content: "\e907";
+}
+
 .ss-nav-setting:before {
   content: "\e904";
 }

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 2
frontend/pc-web/packages/font-school/sass/src/all.scss


+ 3 - 3
frontend/wechat-web/src/components/HomeWorkItem.jsx

@@ -26,9 +26,9 @@ export default class HomeWorkItem extends Component {
             <div style={{padding: '0 10px'}} onClick={this.onItemClick}>
                 <div className='recharge-item-root'>
                     <div className='common-flex-row homework-item-title-layout'>
-                        <div className='homework-item-title'>{homeWork.notifyName}</div>
-                        <span className={homeWork.taskStatus === 2 ? 'homework-item-done'
-                            : 'homework-item-todo'}>{homeWork.readStatus}</span>
+                        <div style={{width:'85%'}} className='homework-item-title'>{homeWork.notifyName}</div>
+                        <div style={{width:'15%',textAlign:'right'}} className={homeWork.taskStatus === 2 ? 'homework-item-done'
+                            : 'homework-item-todo'}>{homeWork.readStatus}</div>
                     </div>
                     <div className='gray-line' style={{height: '1px', marginBottom: '10px'}}></div>
                     <div className='recharge-item-line'>

+ 0 - 1
frontend/wechat-web/src/index.css

@@ -242,7 +242,6 @@ span.ant-select-selection.ant-select-selection--multiple {
 .common-flex-row {
     display: flex;
     flex-direction: row;
-    align-items: center;
 }
 
 .common-flex-row-10 {

+ 2 - 1
frontend/wechat-web/src/modules/hiPages/approvel-detail/ApprovelDetail.js

@@ -182,7 +182,8 @@ class ApprovelDetail extends Component{
                     showButton:false
                 })
                 this.backTask = setTimeout(()=>{
-                    this.props.history.push("/approvel")
+                    // this.props.history.push("/approvel")
+                    this.props.history.goBack()
                 },1000)
             }
         }).catch((error) =>{

+ 2 - 2
frontend/wechat-web/src/modules/hiPages/approvel/Approvel.css

@@ -1,6 +1,6 @@
 .item-Style{
-    margin: 0px 10px;background-color: #FFFFFF;height: 76px;border-radius: 6px;
-    display: flex;flex-direction: row;width:50vh;
+    background-color: #FFFFFF;height: 76px;border-radius: 6px;
+    display: flex;flex-direction: row;width:100%;
 }
 .img_sty{
     height:45px;width: 45px;margin: 15px 10px;

+ 50 - 21
frontend/wechat-web/src/modules/hiPages/approvel/Approvel.js

@@ -21,7 +21,6 @@ import {Skeleton, List} from 'antd';
 import {getIntValue, getStrValue, isObjEmpty} from "../../../utils/common";
 import {saveListState} from "../../../redux/actions/listState";
 
-let mySwiper;
 let myApplypageIndex = 0;
 let myApprovepageIndex = 0;
 const mPageSize = 10
@@ -52,7 +51,7 @@ class Approvel extends Component {
         this.setState({
             height: hei
         })
-        mySwiper = new Swiper('.swiper-container', {
+      this.mySwiper = new Swiper('.swiper-container', {
             autoplay: false,
             loop: false,
             on: {
@@ -63,6 +62,14 @@ class Approvel extends Component {
                 }
             }
         })
+        console.log('listState', this.props.listState)
+        if (this.props.listState.tabIndex >= 0) {
+            this.setState({
+                selectIndex: this.props.listState.tabIndex
+            },function () {
+                this.mySwiper.slideTo(this.state.selectIndex, 0, false)
+            })
+        }
         if (this.props.listState && !isObjEmpty(this.props.listState.listData)) {
             console.log('11111')
             this.setState({
@@ -106,12 +113,17 @@ class Approvel extends Component {
                 onRefresh={this.getMyApplyData}
                 height={this.state.height}>
                 <Skeleton loading={this.state.isMyapplyding} active paragraph={{rows: 3}}>
-                    <List dataSource={this.state.applyList}
-                          renderItem={(applyListBean,index) => (
-                              <List.Item>
-                                  <ApprovelItem itemdata={applyListBean} isMyApply={true}   index={index} onItemClick={this.onItemClick.bind(this)}/>
-                              </List.Item>
-                          )}/>
+                    {
+                        this.state.applyList.map((itemdata,index) =>
+                            <ApprovelItem itemdata={itemdata} isMyApply={true}   index={index} onItemClick={this.onItemClick.bind(this)}/>
+                        )
+                    }
+                    {/*<List dataSource={this.state.applyList}*/}
+                          {/*renderItem={(applyListBean,index) => (*/}
+                              {/*<List.Item>*/}
+                                  {/*<ApprovelItem itemdata={applyListBean} isMyApply={true}   index={index} onItemClick={this.onItemClick.bind(this)}/>*/}
+                              {/*</List.Item>*/}
+                          {/*)}/>*/}
                 </Skeleton>
             </RefreshLayout>
 
@@ -124,12 +136,17 @@ class Approvel extends Component {
                 onRefresh={this.getMyApproveData}
                 height={this.state.height}>
                 <Skeleton loading={this.state.isMyapprovedload} active paragraph={{rows: 3}}>
-                    <List dataSource={this.state.approvelList}
-                          renderItem={(approvelListBean,index) => (
-                              <List.Item>
-                                  <ApprovelItem itemdata={approvelListBean}isMyApply={false}  index={index} onItemClick={this.onItemClick.bind(this)}/>
-                              </List.Item>
-                          )}/>
+                    {
+                        this.state.approvelList.map((itemdata,index) =>
+                            <ApprovelItem itemdata={itemdata}isMyApply={false}  index={index} onItemClick={this.onItemClick.bind(this)}/>
+                        )
+                    }
+                    {/*<List dataSource={this.state.approvelList}*/}
+                          {/*renderItem={(approvelListBean,index) => (*/}
+                              {/*<List.Item>*/}
+                                  {/*<ApprovelItem itemdata={approvelListBean}isMyApply={false}  index={index} onItemClick={this.onItemClick.bind(this)}/>*/}
+                              {/*</List.Item>*/}
+                          {/*)}/>*/}
                 </Skeleton>
             </RefreshLayout>
 
@@ -220,10 +237,15 @@ class Approvel extends Component {
                         applyList: response.data.proposes,
                     })
                 } else if(response.data.proposes.length > 0 && response.data.proposes != []){
-                    this.setState({
-                        applyList: this.state.applyList.push(response.data.proposes),
+                    var applyList = this.state.applyList
+                    response.data.proposes.forEach((itemdata,index) =>{
+                        applyList.push(itemdata)
+                    },() =>{
+                        this.setState({
+                            applyList: applyList,
+                        })
                     })
-                    console.log("proposes.length",response.data.proposes.length)
+                    console.log("applyList.length",applyList.length)
                 }
                 console.log("applyList",this.state.applyList)
                 console.log("myApplypageIndex",myApplypageIndex)
@@ -233,6 +255,7 @@ class Approvel extends Component {
                 isMyapplydload: false,
             })
         }).catch((error) => {
+            console.log('error',error)
             if (typeof error === 'string') {
                 Toast.fail(error, 2)
             } else {
@@ -267,9 +290,15 @@ class Approvel extends Component {
                         approvelList: response.data.approves
                     })
                 } else if(response.data.approves.length > 0){
-                    this.setState({
-                        approvelList: this.state.approvelList.push(response.data.approves)
+                    var approvelList = this.state.approvelList
+                    response.data.proposes.forEach((itemdata,index) =>{
+                        approvelList.push(itemdata)
+                    },() =>{
+                        this.setState({
+                            approvelList: approvelList,
+                        })
                     })
+                    console.log("approvelList.length",approvelList.length)
                 }
                 console.log("approvelList",this.state.approvelList)
             }
@@ -300,7 +329,7 @@ class Approvel extends Component {
         this.setState({
             selectIndex: 0
         }, () => {
-            mySwiper.slideTo(this.state.selectIndex, 300, false)
+            this.mySwiper.slideTo(this.state.selectIndex, 300, false)
         })
     }
 
@@ -308,7 +337,7 @@ class Approvel extends Component {
         this.setState({
             selectIndex: 1
         }, () => {
-            mySwiper.slideTo(this.state.selectIndex, 300, false)
+            this.mySwiper.slideTo(this.state.selectIndex, 300, false)
         })
     }
 

+ 18 - 16
frontend/wechat-web/src/modules/hiPages/approvel/ApprovelItem.js

@@ -36,25 +36,27 @@ export default class ApprovelItem extends Component{
 
         const {itemdata,isMyApply,approveId} = this.state
         return(
-                    <Link to={"/approvel-detail/" + approveId +"/"+isMyApply}>
-                        <div className="item-Style" onClick={this.ItemClick.bind(this,isMyApply,itemdata,this.props.index)}>
-                            <div style={{width:'20%'}}>
-                                <div style={{width:76,height:'100%'}}>
-                                    <img src={itemdata.approveType == 1 ? icon_trip : (itemdata.approveType == 2 ? icon_res : icon_leave)} className={isMyApply==true?'img_sty':"img_circle"}/>
+                    <div style={{padding:10}}>
+                        <Link to={"/approvel-detail/" + approveId +"/"+isMyApply}>
+                            <div className="item-Style" onClick={this.ItemClick.bind(this,isMyApply,itemdata,this.props.index)}>
+                                <div style={{width:'20%'}}>
+                                    <div style={{width:76,height:'100%'}}>
+                                        <img src={itemdata.approveType == 1 ? icon_trip : (itemdata.approveType == 2 ? icon_res : icon_leave)} className={isMyApply==true?'img_sty':"img_circle"}/>
+                                    </div>
                                 </div>
-                            </div>
-                            <div style={{width:'65%'}}>
-                                <div style={{color:"#333333",fontSize:15,marginTop:10}}>
-                                    {itemdata.approveType == 1 ? '出差申请' :  (itemdata.approveType == 2 ? '用品申请' : '请假申请' )}
+                                <div style={{width:'65%'}}>
+                                    <div style={{color:"#333333",fontSize:15,marginTop:10}}>
+                                        {itemdata.approveType == 1 ? '出差申请' :  (itemdata.approveType == 2 ? '用品申请' : '请假申请' )}
+                                    </div>
+                                    <div style={{color:"#666666",fontSize:12,marginTop:15}}>{this.props.itemdata.creatDate}</div>
+                                </div>
+                                <div className={itemdata.approveStatus==1?'doing':'done'}
+                                     style={{textAlign:'left',marginTop:10,fontSize:12,width:'15%'}}>
+                                    {itemdata.approveStatus == 1 ? "待审批" :"已审批"}
                                 </div>
-                                <div style={{color:"#666666",fontSize:12,marginTop:15}}>{this.props.itemdata.creatDate}</div>
-                            </div>
-                            <div className={itemdata.approveStatus==1?'doing':'done'}
-                                 style={{textAlign:'left',marginTop:10,fontSize:12,width:'15%'}}>
-                                {itemdata.approveStatus == 1 ? "待审批" :"已审批"}
                             </div>
-                        </div>
-                    </Link>
+                        </Link>
+                    </div>
         )
     }
     ItemClick =(isMyApply,data,index)=>{

+ 2 - 1
frontend/wechat-web/src/modules/hiPages/changephonenumber/ChangePhoneNumber.js

@@ -86,7 +86,8 @@ let mSeconds = 0;
                      this.setState({
                          changeSuccess:true
                      },function () {
-                         this.props.history.push('/homepage/')
+                         // this.props.history.push('/homepage/')
+                         this.props.history.goBack()
                      })
                  }
              })

+ 1 - 1
frontend/wechat-web/src/modules/hiPages/field-trip/FieldTrip.js

@@ -146,7 +146,7 @@ class FieldTrip extends Component {
                 <div className="comhline_sty"></div>
 
                 <textarea ref='tripsReason' className="form-control textarea_sty" rows="5" placeholder="请填写出差事由…"
-                          value={this.state.tripsReason}></textarea>
+                          value={this.state.tripsReason} maxLength={100}></textarea>
                 <div className="comhline_sty1"></div>
                 {this.state.targetData.length > 0 ? <TargetSelect {...targetProps}/>
                     : <TargetSelect {...defaultTargetProps}/>}

+ 2 - 11
frontend/wechat-web/src/modules/hiPages/res_apply/ResApply.js

@@ -87,7 +87,7 @@ class ResApply extends Component{
                 <div className="comhline_sty"></div>
                 <div className="item_sty">
                     <div className="left_title">物品用途</div>
-                    <input ref='resUser' className="text-right right_input" type="text" placeholder="请输入"  autoFocus="autoFocus" value={this.state.resUser}/>
+                    <input ref='resUser' className="text-right right_input" type="text" placeholder="请输入" maxLength={20} autoFocus="autoFocus" value={this.state.resUser}/>
                 </div>
 
                 <div >
@@ -95,19 +95,10 @@ class ResApply extends Component{
                     <div onClick={this.addUserItem} className="text-center" style={{color:"#0CE11D",fontSize:12,margin:10}}>+ <span style={{color:"#666666",borderBottom:"1px #000 solid"}}>添加物品明细</span></div>
                 </div>
 
-                <textarea ref='receivingSays' className="form-control textarea_sty" rows="5"  placeholder="领取说明"  value={this.state.receivingSays}  maxLength={400}></textarea>
+                <textarea ref='receivingSays' className="form-control textarea_sty" rows="5"  placeholder="领取说明"  value={this.state.receivingSays}  maxLength={100}></textarea>
                 <div className="comhline_sty1"></div>
 
 
-                {/*<div className="common-column-layout">*/}
-                {/*<Picker*/}
-                {/*data={this.state.receiverPerson} title='接收人' extra='请选择'*/}
-                {/*value={this.state.Receiver}*/}
-                {/*onChange={this.handleSelectChange}*/}
-                {/*onOk={this.handleSelectChange} cols={1}>*/}
-                {/*<List.Item arrow="horizontal" >接收人</List.Item>*/}
-                {/*</Picker>*/}
-                {/*</div>*/}
                 {this.state.targetData.length > 0 ? <TargetSelect {...targetProps}/>
                     : <TargetSelect {...defaultTargetProps}/>}
                 <div className="comhline_sty"></div>

+ 21 - 7
frontend/wechat-web/src/modules/hiPages/res_apply/UserItem.js

@@ -7,6 +7,8 @@ import React,{Component} from 'react';
 import './ResApply.css';
 import delete_img from '../../../style/imgs/delete.png';
 import {Icon} from 'antd';
+import {Toast} from 'antd-mobile';
+
 
 export default class UserItem extends Component{
     constructor(props){
@@ -23,7 +25,7 @@ export default class UserItem extends Component{
                 </div>
                 <div className="item_sty">
                     <div className="left_title">物品名称</div>
-                    <input  ref='itemuser'  className="text-right right_input" type="text" placeholder="请输入"  value={this.props.itemata.artName} />
+                    <input  ref='itemuser'  className="text-right right_input" type="text" placeholder="请输入"  maxLength={10} value={this.props.itemata.artName} />
                 </div>
                 <div className="comhline_sty1"></div>
                 <div className="item_sty">
@@ -42,11 +44,23 @@ export default class UserItem extends Component{
         //请输入选项内容
         let itemuser = this.refs.itemuser.value;
         let itemnumber = this.refs.itemnumber.value;
-        // console.log('itemuser',itemuser)
-        // console.log('itemnumber',itemnumber)
-        this.props.handelRItem({
-            artName:itemuser,
-            artCount:itemnumber
-        },this.props.index)
+        console.log('itemuser',itemuser)
+        console.log('itemnumber',itemnumber)
+        console.log('itemnumber%1 === 0',itemnumber%1 == 0)
+        if(itemnumber.length > 0){
+            if(itemnumber%1 == 0 && itemnumber > 0){
+                this.props.handelRItem({
+                    artName:itemuser,
+                    artCount:itemnumber
+                },this.props.index)
+            }else {
+                Toast.show('请输入正整数',1)
+                this.props.handelRItem({
+                    artName:itemuser,
+                    artCount:''
+                },this.props.index)
+                return
+            }
+        }
     }
 }

+ 2 - 2
frontend/wechat-web/src/modules/hiPages/sendMeetting/SendMeet.js

@@ -142,9 +142,9 @@ class SendMeet extends Component {
                  className='common-column-layout'>
                 {/*<p>{new Date().getTime()}</p>*/}
                 <textarea autoFocus="autoFocus" ref='meetTitle' className="form-control textarea_sty" rows="2"
-                          placeholder="请填写会议主题…" maxLength={20}></textarea>
+                          placeholder="请填写会议主题…"  maxLength={50}></textarea>
                 <textarea ref='meetAddress' className="form-control textarea_sty" rows="3"
-                          placeholder="请填写会议地址…" maxLength={50}></textarea>
+                          placeholder="请填写会议地址…"  maxLength={100}></textarea>
                 <div className="comhline_sty"></div>
                 <div className="common-column-layout" style={{fontSize: 15}}>
                     <DatePicker

+ 1 - 1
frontend/wechat-web/src/modules/leave/LeaveAddCPage.js

@@ -114,7 +114,7 @@ class LeaveAddCPage extends Component {
                 <div className="comhline_sty"></div>
                 <div onChange={this.handelValueCom}>
                     <textarea  ref='leaveReason' className="form-control textarea_sty" rows="4"
-                               placeholder="请填写请假内容" maxLength={400}></textarea>
+                               placeholder="请填写请假内容" maxLength={100}></textarea>
                 </div>
                 <div className="comhline_sty"></div>
                 {this.state.targetData.length > 0 ? <TargetSelect {...targetProps}/>

+ 1 - 1
frontend/wechat-web/src/modules/leave/LeaveAddPage.js

@@ -93,7 +93,7 @@ class LeaveAddPage extends Component{
                 <div className="comhline_sty"></div>
                 <div onChange={this.handelValueCom}>
                     <textarea  ref='leaveReason' className="form-control textarea_sty" rows="4"
-                               placeholder="请填写请假事由" maxLength={400}></textarea>
+                               placeholder="请填写请假事由" maxLength={100}></textarea>
                 </div>
                 <div className="comhline_sty"></div>
                 {this.state.targetData.length > 0 ? <TargetSelect {...targetProps}/>

+ 1 - 1
frontend/wechat-web/src/modules/leave/LeaveItem.css

@@ -1,7 +1,7 @@
 .item_contain{
  height: 115px;background: #FFFFFF;  border-radius: 10px;text-align: center;padding: 10px;
 }
-.row_sty{
+.leave_row_sty{
     display: flex;flex-direction: row;
 }
 .title_sty{

+ 13 - 16
frontend/wechat-web/src/modules/leave/LeaveItem.js

@@ -5,6 +5,7 @@
 
 import React,{Component} from 'react';
 import {Link} from 'react-router-dom';
+import './LeaveItem.css';
 
 export default class LeaveItem extends Component {
     constructor(props) {
@@ -17,13 +18,12 @@ export default class LeaveItem extends Component {
     render() {
         const {item} = this.state;
         return (
-            <div>
+            <div style={{padding:10}}>
                 <Link to={'/leavedetail/' + this.props.role + '/' + item.lvId}>
-                    <div className="col-xs-12 " style={{backgroundColor: '#FFF', width: '53vh'}}
-                         onClick={this.ItemClick.bind(this, this.props.index)}>
-                        <div className="row flex">
-                            <div id="global_page_title" style={{fontSize: 15, color: "#333333"}}>  {item.title}</div>
-                            <div className="item_flex_1  flex_row_right margin_left_right_10">
+                    <div style={{backgroundColor:'#FFF',width:'100%',padding:10,borderRadius:10}}>
+                        <div className="leave_row_sty">
+                            <div style={{fontSize: 15, color: "#333333",width:'60%',textAlign:'left'}}> {item.title}</div>
+                            <div style={{width:'40%',textAlign:'right'}}>
                                 {
                                     this.state.role == "parent" ? '' :
                                         <div>
@@ -36,17 +36,14 @@ export default class LeaveItem extends Component {
                                 }
                             </div>
                         </div>
-                        <div className="row">
-                            <div className="col-xs-3" id="col-clear" style={{fontSize: 12, color: "#666666"}}>请假时间:
-                            </div>
-                            <div className="col-xs-9" id="col-clear-start"
-                                 style={{fontSize: 12, color: "#333333"}}>{item.startTime}—{item.endTime}</div>
+                        <div className="leave_row_sty" style={{marginTop:5}}>
+                            <div  style={{fontSize: 12, color: "#666666",width:'20%'}}>请假时间:</div>
+                            <div style={{fontSize: 12, color: "#333333",width:'80%'}}>{item.startTime}—{item.endTime}</div>
                         </div>
-                        <div className="row " style={{marginTop: 10, marginBottom: 10}}>
-                            <div className="col-xs-3" id="col-clear" style={{fontSize: 12, color: "#666666"}}>请假事由:
-                            </div>
-                            <div className="col-xs-9" id="col-clear-start"
-                                 style={{fontSize: 12, color: "#333333"}}>{item.content}</div>
+
+                        <div className="leave_row_sty" style={{marginTop:5}}>
+                            <div style={{fontSize: 12, color: "#666666",width:'20%'}}>请假事由:</div>
+                            <div style={{fontSize: 12, color: "#333333",width:'80%'}}>{item.content}</div>
                         </div>
                     </div>
                 </Link>

+ 10 - 7
frontend/wechat-web/src/modules/leave/LeaveListPage.js

@@ -66,7 +66,7 @@ class LeaveListPage extends React.Component{
 
 
     render(){
-        return <div  style={{background: '#F2F2F2'}}>
+        return <div   style={{background: '#F2F2F2'}}>
 
             <RefreshLayout
                         refreshing={this.state.isRefreshing}
@@ -75,12 +75,15 @@ class LeaveListPage extends React.Component{
                         }}
                         onRefresh={this.getListData}>
                         <Skeleton loading={this.state.isLoading} active paragraph={{rows: 3}}>
-                            <List dataSource={this.state.data}
-                                  renderItem={(itemdata,index) =>(
-                                      <List.Item   id="row_background"  >
-                                          <LeaveItem itemdata={itemdata} role={this.state.role} index = {index} onItemClick={this.onItemClick.bind(this)}></LeaveItem>
-                                      </List.Item>
-                                  )}/>
+                            {/*{this.state.selectContentArray.map((itemata,index) => <UserItem index ={index} itemata = {itemata} handelRItem={this.handelRItem} removeSItem={this.removeSItem}></UserItem>)}*/}
+                            {this.state.data.map((itemdata,index) =>  <LeaveItem itemdata={itemdata} role={this.state.role} index = {index} onItemClick={this.onItemClick.bind(this)}></LeaveItem>
+                            )}
+                            {/*<List dataSource={this.state.data}*/}
+                                  {/*renderItem={(itemdata,index) =>(*/}
+                                      {/*<List.Item  >*/}
+                                          {/*<LeaveItem itemdata={itemdata} role={this.state.role} index = {index} onItemClick={this.onItemClick.bind(this)}></LeaveItem>*/}
+                                      {/*</List.Item>*/}
+                                  {/*)}/>*/}
                         </Skeleton>
                     </RefreshLayout>
                     {

+ 1 - 1
frontend/wechat-web/src/style/css/payment.css

@@ -112,10 +112,10 @@
     width: 100%;
     display: flex;
     padding: 5px 0 5px 20px;
-    align-items: center;
     font-family: PingFangSC-Regular;
     font-size: 13px;
     letter-spacing: 0;
+    flex-direction: row;
 }
 
 .recharge-item-caption {

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است