Browse Source

完成多选添加申请操作

lwx_dev
erdanergou 3 years ago
parent
commit
7536788b32
  1. 13
      src/main/java/com/dreamchaser/depository_manage/config/PortConfig.java
  2. 16
      src/main/java/com/dreamchaser/depository_manage/controller/CompanyController.java
  3. 4
      src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java
  4. 189
      src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java
  5. 44
      src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java
  6. 70
      src/main/java/com/dreamchaser/depository_manage/controller/PageController.java
  7. 7
      src/main/java/com/dreamchaser/depository_manage/controller/UserController.java
  8. 2
      src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml
  9. 52
      src/main/java/com/dreamchaser/depository_manage/pojo/ApplicationModel.java
  10. 2
      src/main/java/com/dreamchaser/depository_manage/pojo/MaterialP.java
  11. 2
      src/main/java/com/dreamchaser/depository_manage/service/MaterialService.java
  12. 13
      src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java
  13. 4
      src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java
  14. 5
      src/main/resources/templates/pages/application/application-in_back.html
  15. 150
      src/main/resources/templates/pages/application/application-out_back.html
  16. 7
      src/main/resources/templates/pages/application/application-review.html
  17. 101
      src/main/resources/templates/pages/application/application-transfer.html
  18. 202
      src/main/resources/templates/pages/application/application_in_multi.html
  19. 273
      src/main/resources/templates/pages/application/application_multi.html
  20. 2
      src/main/resources/templates/pages/company/company-out.html
  21. 67
      src/main/resources/templates/pages/depository/table-in.html
  22. 67
      src/main/resources/templates/pages/depository/table-out.html
  23. 105
      src/main/resources/templates/pages/depository/table-stock.html
  24. 66
      src/main/resources/templates/pages/material/material-out.html
  25. 66
      src/main/resources/templates/pages/materialtype/materialType_view.html
  26. 2
      src/main/resources/templates/pages/post/post-out.html
  27. 65
      src/main/resources/templates/pages/post/postRole.html
  28. 65
      src/main/resources/templates/pages/user/userRole.html
  29. 115
      src/main/resources/templates/pages/warehouse/depository-out.html
  30. 9
      src/test/java/com/dreamchaser/depository_manage/Test.java
  31. 2
      target/classes/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml
  32. 5
      target/classes/templates/pages/application/application-in_back.html
  33. 150
      target/classes/templates/pages/application/application-out_back.html
  34. 7
      target/classes/templates/pages/application/application-review.html
  35. 101
      target/classes/templates/pages/application/application-transfer.html
  36. 202
      target/classes/templates/pages/application/application_in_multi.html
  37. 273
      target/classes/templates/pages/application/application_multi.html
  38. 2
      target/classes/templates/pages/company/company-out.html
  39. 67
      target/classes/templates/pages/depository/table-in.html
  40. 67
      target/classes/templates/pages/depository/table-out.html
  41. 105
      target/classes/templates/pages/depository/table-stock.html
  42. 66
      target/classes/templates/pages/material/material-out.html
  43. 66
      target/classes/templates/pages/materialtype/materialType_view.html
  44. 2
      target/classes/templates/pages/post/post-out.html
  45. 65
      target/classes/templates/pages/post/postRole.html
  46. 65
      target/classes/templates/pages/user/userRole.html
  47. 115
      target/classes/templates/pages/warehouse/depository-out.html

13
src/main/java/com/dreamchaser/depository_manage/config/PortConfig.java

@ -0,0 +1,13 @@
package com.dreamchaser.depository_manage.config;
import lombok.Data;
@Data
public class PortConfig {
// 接口地址
public static String external_url = "http://172.20.2.87:39168";
// public static String external_url = "http://127.0.0.1:39168";
public static String external_url_6666 = "http://172.20.2.87:6666";
// public static String external_url_6666 = "http://127.0.0.1:6666";
}

16
src/main/java/com/dreamchaser/depository_manage/controller/CompanyController.java

@ -2,6 +2,7 @@ package com.dreamchaser.depository_manage.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.dreamchaser.depository_manage.config.PortConfig;
import com.dreamchaser.depository_manage.entity.*;
import com.dreamchaser.depository_manage.exception.MyException;
import com.dreamchaser.depository_manage.pojo.*;
@ -26,6 +27,7 @@ import java.util.Map;
@RestController
@RequestMapping("/company")
public class CompanyController {
@Autowired
CompanyService companyService;
@ -42,8 +44,7 @@ public class CompanyController {
*/
@PostMapping("/allCompanyByParent")
public RestResponse findCompanyByNoParent(@RequestParam Map<String,Object>map){
String url = "http://172.20.2.87:39168/org/govlist";
// String url = "http://127.0.0.1:39168/org/govlist";
String url = PortConfig.external_url +"/org/govlist";
Object page = map.get("page");
Object pagesize = map.get("pagesize");
String superior = (String) map.get("superior");
@ -85,8 +86,7 @@ public class CompanyController {
*/
@PostMapping("/companyByCondition")
public RestResponse findcompanyByCondition(@RequestParam Map<String,Object> map){
String url = "http://172.20.2.87:39168/org/govlist";
// String url = "http://127.0.0.1:39168/org/govlist";
String url = PortConfig.external_url + "/org/govlist";
if(map.containsKey("state")){
Object state = map.get("state");
map.put("state",ObjectFormatUtil.toInteger(state));
@ -119,10 +119,14 @@ public class CompanyController {
return new RestResponse(list,total,200);
}
/**
* 获取所有岗位
* @param map
* @return
*/
@PostMapping("/allPostByOrganization")
public RestResponse allPostByParent(@RequestParam Map<String,Object> map) {
String url = "http://172.20.2.87:39168/org/positionlist";
// String url = "http://127.0.0.1:39168/org/positionlist";
String url = PortConfig.external_url + "/org/positionlist";
Object page = map.get("page");
Object pagesize = map.get("pagesize");
map.put("page",ObjectFormatUtil.toInteger(page));

4
src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java

@ -2,6 +2,7 @@ package com.dreamchaser.depository_manage.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.dreamchaser.depository_manage.config.PortConfig;
import com.dreamchaser.depository_manage.entity.*;
import com.dreamchaser.depository_manage.exception.MyException;
import com.dreamchaser.depository_manage.pojo.*;
@ -424,8 +425,7 @@ public class DepositoryController {
*/
public static Map<String, Object> findAdministration(){
Map<String,Object> map = new HashMap<>();
String url = "http://172.20.2.87:39168/org/govlist";
// String url = "http://127.0.0.1:39168/org/govlist";
String url = PortConfig.external_url +"/org/govlist";
String superior = "313";
map.put("superior",superior);
map.put("state",1);

189
src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java

@ -2,6 +2,7 @@ package com.dreamchaser.depository_manage.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.dreamchaser.depository_manage.config.PortConfig;
import com.dreamchaser.depository_manage.entity.*;
import com.dreamchaser.depository_manage.exception.MyException;
import com.dreamchaser.depository_manage.pojo.*;
@ -17,14 +18,13 @@ import com.dreamchaser.depository_manage.utils.ObjectFormatUtil;
import netscape.javascript.JSObject;
import org.apache.http.protocol.HTTP;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.concurrent.TimeUnit;
/**
* 仓库记录
@ -37,8 +37,14 @@ public class DepositoryRecordController {
private DepositoryRecordService depositoryRecordService;
@Autowired
private DepositoryService depositoryService;
@Autowired
private MaterialService materialService;
@Autowired
private CompanyService companyService;
@Autowired
private RedisTemplate<Object,Object> redisTemplate;
@ -50,6 +56,7 @@ public class DepositoryRecordController {
}
return new RestResponse(list,depositoryRecordService.findCountByCondition(map),200);
}
@GetMapping("/myApply")
public RestResponse findDepositoryInAndOutRecordPByCondition(@RequestParam Map<String,Object> map,HttpServletRequest request){
UserByPort userToken= (UserByPort) request.getAttribute("userToken");
@ -99,6 +106,7 @@ public class DepositoryRecordController {
}
// 入库申请
@PostMapping("/applicationIn")
public RestResponse insertApplicationInRecord(@RequestBody Map<String,Object> map, HttpServletRequest request){
UserByPort userToken= (UserByPort) request.getAttribute("userToken");
@ -112,6 +120,7 @@ public class DepositoryRecordController {
}
// 查看入库申请
@GetMapping("/applicationInView")
public RestResponse findApplicationInRecordByCondition(@RequestParam Map<String,Object> map){
List<ApplicationInRecordP> list = depositoryRecordService.findApplicationInRecordPByCondition(map);
@ -121,6 +130,7 @@ public class DepositoryRecordController {
return new RestResponse(list,depositoryRecordService.findApplicationInRecordPCountByCondition(map),200);
}
// 查看出库申请
@GetMapping("/applicationOutView")
public RestResponse findApplicationOutRecordByCondition(@RequestParam Map<String,Object> map){
List<ApplicationOutRecordP> list = depositoryRecordService.findApplicationOutRecordPByCondition(map);
@ -143,6 +153,54 @@ public class DepositoryRecordController {
throw new MyException("所需请求参数缺失!");
}
}
/**
* 将选中的材料暂存到redis中
* @param map
* @param request
* @return
*/
@PostMapping("/addApplicationToRedis")
public RestResponse addApplicationToRedis(@RequestBody Map<String,Object> map,HttpServletRequest request){
UserByPort userToken= (UserByPort) request.getAttribute("userToken");
List<Integer> mids = (List<Integer>) map.get("mids");
List<Integer> depositoryIds = (List<Integer>) map.get("depositoryIds");
List<Object> nowmids = redisTemplate.opsForList().range("mids"+userToken.getId(), 0, -1);
List<Object> nowdepositoryIds = redisTemplate.opsForList().range("depositoryIds"+userToken.getId(), 0, -1);
for (int i = 0; i < mids.size(); i++) {
if(nowmids.contains(mids.get(i))){
continue;
}
redisTemplate.opsForList().leftPush("mids"+userToken.getId(), mids.get(i));
redisTemplate.opsForList().leftPush("depositoryIds"+userToken.getId(), depositoryIds.get(i));
}
redisTemplate.expire("mids"+userToken.getId(),24 * 60 * 60, TimeUnit.SECONDS);
redisTemplate.expire("depositoryIds"+userToken.getId(),24 * 60 * 60, TimeUnit.SECONDS);
return CrudUtil.postHandle(1,1);
}
/**
* 将选中的材料从redis中删除
* @param map
* @param request
* @return
*/
@PostMapping("/deleteApplicationToRedis")
public RestResponse deleteApplicationToRedis(@RequestBody Map<String,Object> map,HttpServletRequest request){
UserByPort userToken= (UserByPort) request.getAttribute("userToken");
List<Integer> mids = (List<Integer>) map.get("mids");
List<Integer> depositoryIds = (List<Integer>) map.get("depositoryIds");
for (int i = 0; i < mids.size(); i++) {
redisTemplate.opsForList().remove("mids"+userToken.getId(),1,mids.get(i));
}
for (int i = 0; i < depositoryIds.size(); i++) {
redisTemplate.opsForList().remove("depositoryIds"+userToken.getId(),1,depositoryIds.get(i));
}
return CrudUtil.postHandle(1,1);
}
// 审核
@PutMapping("/review")
public RestResponse review(@RequestBody Map<String,Object> map, HttpServletRequest request){
UserByPort userToken= (UserByPort) request.getAttribute("userToken");
@ -153,6 +211,8 @@ public class DepositoryRecordController {
return new RestResponse("",666,new StatusInfo("出库失败","当前存储位库存不足,请重新选择"));
}
}
// 库存转移
@PutMapping("/transfer")
public RestResponse transfer(@RequestBody Map<String,Object> map, HttpServletRequest request){
UserByPort userToken= (UserByPort) request.getAttribute("userToken");
@ -164,6 +224,7 @@ public class DepositoryRecordController {
return CrudUtil.postHandle(depositoryRecordService.transferApply(map),1);
}
// 删除入库记录
@PostMapping("deleteApplicationInRecord")
public RestResponse deleteApplicationInRecord(@RequestBody Map<String,Object> map){
if (map.containsKey("id")){
@ -177,6 +238,7 @@ public class DepositoryRecordController {
}
}
// 删除出库记录
@PostMapping("deleteApplicationOutRecord")
public RestResponse deleteApplicationOutRecord(@RequestBody Map<String,Object> map){
if (map.containsKey("id")){
@ -190,6 +252,7 @@ public class DepositoryRecordController {
}
}
// 出库申请
@PostMapping("/applicationOut")
public RestResponse insertApplicationOutRecord(@RequestBody Map<String,Object> map, HttpServletRequest request){
UserByPort userToken= (UserByPort) request.getAttribute("userToken");
@ -198,7 +261,120 @@ public class DepositoryRecordController {
map.put("departmenthead",departmentHeadByUser.getId());
return CrudUtil.postHandle(depositoryRecordService.insertApplicationOutRecord(map),1);
}
/**
* 自动生成出入库订单
* @param map
* @return
*/
@GetMapping("/applicant_multi_create")
public RestResponse applicantMultiCreate(@RequestParam Map<String,Object> map,HttpServletRequest request){
Integer page = ObjectFormatUtil.toInteger(map.get("page"));
Integer pagesize = ObjectFormatUtil.toInteger(map.get("size"));
Integer start = (page - 1) * pagesize;
Integer end = page * 10;
UserByPort userToken= (UserByPort) request.getAttribute("userToken");
Long size = redisTemplate.boundListOps("mids"+userToken.getId()).size();
if(end > size){
end = ObjectFormatUtil.toInteger(size);
}
List<ApplicationModel> list = new ArrayList<>();
for (int i = start; i < end; i++) {
Integer mid =ObjectFormatUtil.toInteger(redisTemplate.opsForList().index("mids"+userToken.getId(),i));
Integer depositoryId =ObjectFormatUtil.toInteger(redisTemplate.opsForList().index("depositoryIds"+userToken.getId(),i));
Material materialById = materialService.findMaterialById(mid);
Depository depositoryRecordById = depositoryService.findDepositoryRecordById(depositoryId);
ApplicationModel ap = new ApplicationModel();
ap.setDepositoryId(depositoryId);
ap.setDepositoryName(depositoryRecordById.getDname());
ap.setMid(mid);
ap.setVersion(materialById.getVersion());
ap.setMname(materialById.getMname());
ap.setCode(materialById.getCode());
ap.setApplicant(userToken.getId());
ap.setQuantity(1.0);
list.add(ap);
}
return new RestResponse(list,ObjectFormatUtil.toInteger(size),200);
}
/**
* 构造出入库表单
* @param map
* @param request
* @return
*/
@PostMapping("/createMultiApplication")
public RestResponse createMultiApplication(@RequestBody Map<String,Object> map,HttpServletRequest request){
UserByPort userToken= (UserByPort) request.getAttribute("userToken");
Integer quantity = ObjectFormatUtil.toInteger(map.get("quantity"));
map.put("quantity",quantity.toString());
map.put("applicantId",userToken.getId());
String type = (String) map.get("type");
Integer success = 0;
if("in".equals(type)){
success += depositoryRecordService.applicationIn(map);
}else if("out".equals(type)){
UserByPort departmentHeadByUser = findDepartmentHeadByUser(userToken);
map.put("departmenthead",departmentHeadByUser.getId());
success += depositoryRecordService.insertApplicationOutRecord(map);
}
if(success == 0){
return new RestResponse("",666,new StatusInfo("申请失败","超出最大存储容量"));
}
return CrudUtil.postHandle(success,1);
}
/**
* 构造多个出入库表单
* @param map
* @param request
* @return
*/
@PostMapping("/createMultiApplications")
public RestResponse createMultiApplications(@RequestBody Map<String,Object> map,HttpServletRequest request){
UserByPort userToken= (UserByPort) request.getAttribute("userToken");
String type = (String) map.get("type");
Integer success = 0;
List<Integer> mids = (List<Integer>) map.get("mids");
List<Integer> depositoryIds = (List<Integer>) map.get("depositoryIds");
List<Object> quantitys = (List<Object>) map.get("quantitys");
List<String> applyRemarks = (List<String>) map.get("applyRemarks");
if("in".equals(type)){
for (int i = 0; i < mids.size(); i++) {
Integer mid = mids.get(i);
Integer depositoryId = depositoryIds.get(i);
Integer integer = ObjectFormatUtil.toInteger(quantitys.get(i));
String quantity = integer.toString();
String applyRemark = applyRemarks.get(i);
Map<String,Object> inRecord = new HashMap<>();
inRecord.put("applicantId",userToken.getId());
inRecord.put("mid",mid);
inRecord.put("depositoryId",depositoryId);
inRecord.put("quantity",quantity);
inRecord.put("applyRemark",applyRemark);
success += depositoryRecordService.applicationIn(inRecord);
}
}else if("out".equals(type)){
for (int i = 0; i < mids.size(); i++) {
Integer mid = mids.get(i);
Integer integer = ObjectFormatUtil.toInteger(quantitys.get(i));
String quantity = integer.toString();
String applyRemark = applyRemarks.get(i);
Map<String,Object> outRecord = new HashMap<>();
outRecord.put("quantity",quantity);
outRecord.put("mid",mid);
outRecord.put("applicantId",userToken.getId());
outRecord.put("applyRemark",applyRemark);
UserByPort departmentHeadByUser = findDepartmentHeadByUser(userToken);
outRecord.put("departmenthead",departmentHeadByUser.getId());
success += depositoryRecordService.insertApplicationOutRecord(outRecord);
}
}
if(success == 0){
return new RestResponse("",666,new StatusInfo("申请失败","超出最大存储容量"));
}
return CrudUtil.postHandle(success,mids.size());
}
/**
* 获取当前登录用户的部门负责人
@ -206,8 +382,7 @@ public class DepositoryRecordController {
* @return
*/
public static UserByPort findDepartmentHeadByUser(UserByPort user){
String url = "http://172.20.2.87:39168/org/positionlist";
// String url = "http://127.0.0.1:39168/org/positionlist";
String url = PortConfig.external_url + "/org/positionlist";
Integer maindeparment = user.getMaindeparment();
Map<String,Object> map = new HashMap<>();
map.put("organization",maindeparment.toString());
@ -233,4 +408,6 @@ public class DepositoryRecordController {
return userByPort;
}
}

44
src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java

@ -1,13 +1,17 @@
package com.dreamchaser.depository_manage.controller;
import com.dreamchaser.depository_manage.entity.Depository;
import com.dreamchaser.depository_manage.entity.Material;
import com.dreamchaser.depository_manage.entity.MaterialType;
import com.dreamchaser.depository_manage.entity.UserByPort;
import com.dreamchaser.depository_manage.exception.MyException;
import com.dreamchaser.depository_manage.pojo.MaterialP;
import com.dreamchaser.depository_manage.pojo.RestResponse;
import com.dreamchaser.depository_manage.pojo.RoleAndDepository;
import com.dreamchaser.depository_manage.security.bean.UserToken;
import com.dreamchaser.depository_manage.service.DepositoryService;
import com.dreamchaser.depository_manage.service.MaterialService;
import com.dreamchaser.depository_manage.service.RoleService;
import com.dreamchaser.depository_manage.utils.CrudUtil;
import com.dreamchaser.depository_manage.utils.ObjectFormatUtil;
import com.sun.mail.imap.protocol.ID;
@ -15,10 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* @author Dreamchaser
@ -30,6 +31,12 @@ public class MaterialController {
@Autowired
MaterialService materialService;
@Autowired
RoleService roleService;
@Autowired
DepositoryService depositoryService;
/**
* 根据材料进行查询
* @param map
@ -41,6 +48,22 @@ public class MaterialController {
return new RestResponse(materialPByCondition,materialService.findCountByCondition(map),200);
}
@GetMapping("/findInventory")
public RestResponse findInventory(@RequestParam Map<String,Object> map,HttpServletRequest request){
UserByPort userToken= (UserByPort) request.getAttribute("userToken");
List<RoleAndDepository> depositoryAndRole = roleService.findDepositoryAndRole(userToken.getId());
List<MaterialP> materialPByCondition = materialService.findMaterialPByCondition(map);
List<MaterialP> list = new ArrayList<>();
for (RoleAndDepository roleAndDepository : depositoryAndRole) {
for (MaterialP materialP : materialPByCondition) {
if (Objects.equals(materialP.getDepositoryId(), roleAndDepository.getDepositoryId())) {
list.add(materialP);
}
}
}
return new RestResponse(list,materialService.findCountByCondition(map),200);
}
/**
* 添加一条材料记录
* @param map
@ -125,13 +148,22 @@ public class MaterialController {
}
@GetMapping("/findMatrialByCode")
public RestResponse findMatrialByCode(@RequestParam(value = "code") String code){
public RestResponse findMatrialByCode(@RequestParam(value = "code") String code,HttpServletRequest request){
UserByPort userToken= (UserByPort) request.getAttribute("userToken");
List<Depository> depositoryByAdminorg = depositoryService.findDepositoryByAdminorg(userToken.getMaindeparment().toString());
Map<String,Object> param = new HashMap<>();
if("".equals(code)){
return new RestResponse(null,1,200);
}
param.put("code",code);
List<MaterialP> materialPByCondition = materialService.findMaterialPByCondition(param);
List<MaterialP> materialPByCondition = new ArrayList<>();
for (int i = 0; i < depositoryByAdminorg.size(); i++) {
param.put("depositoryId",depositoryByAdminorg.get(i).getId());
materialPByCondition = materialService.findMaterialPByCondition(param);
if(materialPByCondition.size() > 0){
break;
}
}
MaterialP mp = null;
if(materialPByCondition.size() > 0){
mp = materialPByCondition.get(0);

70
src/main/java/com/dreamchaser/depository_manage/controller/PageController.java

@ -3,6 +3,7 @@ package com.dreamchaser.depository_manage.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.dreamchaser.depository_manage.config.PortConfig;
import com.dreamchaser.depository_manage.entity.*;
import com.dreamchaser.depository_manage.exception.MyException;
import com.dreamchaser.depository_manage.pojo.*;
@ -63,8 +64,7 @@ public class PageController {
public static JSONObject Captcha(){
String url = "http://172.20.2.87:6666/base/captcha";
// String url = "http://127.0.0.1:6666/base/captcha";
String url = PortConfig.external_url_6666 + "/base/captcha";
JSONObject param = new JSONObject();
String post = null;
try {
@ -122,8 +122,7 @@ public class PageController {
@ResponseBody
public Map<String, Object> index_menus(@RequestParam("uid") String uid) {
//定义链接地址
String url = "http://172.20.2.87:6666/system_authorizing/obtain_authorization";
// String url = "http://127.0.0.1:6666/system_authorizing/obtain_authorization";
String url = PortConfig.external_url_6666 + "/system_authorizing/obtain_authorization";
Map<String, Object> param = new HashMap<>();
param.put("system", "cangchu");
String jsonString = JSONObject.toJSONString(param);
@ -462,17 +461,35 @@ public class PageController {
return mv;
}
@GetMapping("/application_multi")
public ModelAndView application_multi(){
ModelAndView mv = new ModelAndView();
mv.setViewName("pages/application/application_multi");
return mv;
}
@GetMapping("/application_in_back")
public ModelAndView applicationIn(Integer mid,Integer depositoryId){
ModelAndView mv = new ModelAndView();
Material materialById = materialService.findMaterialById(mid);
Depository depositoryRecordById = depositoryService.findDepositoryRecordById(depositoryId);
Material materialById = new Material();
Depository depositoryRecordById = new Depository();
if(mid != null && depositoryId != null){
materialById = materialService.findMaterialById(mid);
depositoryRecordById = depositoryService.findDepositoryRecordById(depositoryId);
}
mv.addObject("materialById",materialById);
mv.addObject("depository",depositoryRecordById);
mv.setViewName("pages/application/application-in_back");
return mv;
}
@GetMapping("/application_in_multi")
public ModelAndView applicationInMulti(){
ModelAndView mv = new ModelAndView();
mv.setViewName("pages/application/application-in_back");
return mv;
}
@GetMapping("/application_out")
public ModelAndView application_out() {
ModelAndView mv = new ModelAndView();
@ -483,6 +500,18 @@ public class PageController {
return mv;
}
@GetMapping("/application_out_back")
public ModelAndView application_out_back(Integer mid) {
ModelAndView mv = new ModelAndView();
mv.setViewName("pages/application/application-out_back");
Material materialById = new Material();
if(mid != null) {
materialById = materialService.findMaterialById(mid);
}
mv.addObject("materialById",materialById);
return mv;
}
@GetMapping("/application_transfer")
public ModelAndView application_transfer() {
ModelAndView mv = new ModelAndView();
@ -629,8 +658,7 @@ public class PageController {
* @return
*/
public static List<UserByPort> FindUserByMap(Map<String,Object> map) {
String url = "http://172.20.2.87:39168/staff/archiveslist";
// String url = "http://127.0.0.1:39168/staff/archiveslist";
String url = PortConfig.external_url + "/staff/archiveslist";
String jsonString = JSONObject.toJSONString(map);
JSONObject paramObject = JSONObject.parseObject(jsonString);
String post = null;
@ -654,8 +682,7 @@ public class PageController {
}
public static UserByPort FindUserById(Integer id) {
String url = "http://172.20.2.87:39168/staff/archivescont";
// String url = "http://127.0.0.1:39168/staff/archivescont";
String url = PortConfig.external_url + "/staff/archivescont";
Map<String, Object> map = new HashMap<>();
map.put("id", id);
String jsonString = JSONObject.toJSONString(map);
@ -989,8 +1016,7 @@ public class PageController {
public List<AdministrationP> findAllCompany() {
String url = "http://172.20.2.87:39168/org/govlist";
// String url = "http://127.0.0.1:39168/org/govlist";
String url = PortConfig.external_url + "/org/govlist";
Map<String, Object> map = new HashMap<>();
map.put("superior", "313");
String jsonString = JSONObject.toJSONString(map);
@ -1039,8 +1065,7 @@ public class PageController {
@GetMapping("/company_detail")
public ModelAndView company_detail(Integer id) {
String url = "http://172.20.2.87:39168/org/getgovcont";
// String url = "http://127.0.0.1:39168/org/getgovcont";
String url = PortConfig.external_url + "/org/getgovcont";
Map<String, Object> map = new HashMap<>();
ModelAndView mv = new ModelAndView();
mv.setViewName("pages/company/company_edit");
@ -1068,8 +1093,7 @@ public class PageController {
}
public static Administration getCompany(Integer id) {
String url = "http://172.20.2.87:39168/org/getgovcont";
// String url = "http://127.0.0.1:39168/org/getgovcont";
String url = PortConfig.external_url + "/org/getgovcont";
Map<String, Object> map = new HashMap<>();
map.put("id", id);
map.put("idstr", id.toString());
@ -1090,8 +1114,7 @@ public class PageController {
public static List<AdministrationP> findCompanyBySuperior(String superior) {
String url = "http://172.20.2.87:39168/org/govlist";
// String url = "http://127.0.0.1:39168/org/govlist";
String url = PortConfig.external_url + "/org/govlist";
Map<String, Object> map = new HashMap<>();
map.put("superior", superior);
String jsonString = JSONObject.toJSONString(map);
@ -1121,8 +1144,6 @@ public class PageController {
@GetMapping("/findCompanyByParentId")
public ModelAndView findCompanyByParentId(Integer parentId) {
ModelAndView mv = new ModelAndView();
String url = "http://172.20.2.87:39168/org/govlist";
// String url = "http://127.0.0.1:39168/org/govlist";
if (parentId != null) {
mv.addObject("parentId", parentId);
List<AdministrationP> administrationPList = findCompanyBySuperior(parentId.toString());
@ -1140,8 +1161,7 @@ public class PageController {
@GetMapping("/findPostByOrganization")
public ModelAndView findPostByOrganization(Integer organization) {
String url = "http://172.20.2.87:39168/org/positionlist";
// String url = "http://127.0.0.1:39168/org/positionlist";
String url = PortConfig.external_url + "/org/positionlist";
ModelAndView mv = new ModelAndView();
mv.setViewName("pages/post/post-out");
mv.addObject("parentId", organization);
@ -1190,8 +1210,7 @@ public class PageController {
}
public static Post findPostById(Integer id) {
String url = "http://172.20.2.87:39168/org/getpositioncont";
// String url = "http://127.0.0.1:39168/org/getpositioncont";
String url = PortConfig.external_url + "/org/getpositioncont";
Map<String, Object> map = new HashMap<>();
map.put("id", id);
map.put("idstr", id.toString());
@ -1212,8 +1231,7 @@ public class PageController {
@GetMapping("/findPostByParentId")
public ModelAndView findPostByParentId(Integer parentId) {
String url = "http://172.20.2.87:39168/org/positionlist";
// String url = "http://127.0.0.1:39168/org/positionlist";
String url = PortConfig.external_url + "/org/positionlist";
ModelAndView mv = new ModelAndView();
if (parentId != null) {
Map<String, Object> map = new HashMap<>();

7
src/main/java/com/dreamchaser/depository_manage/controller/UserController.java

@ -3,6 +3,7 @@ package com.dreamchaser.depository_manage.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.dreamchaser.depository_manage.config.PortConfig;
import com.dreamchaser.depository_manage.entity.Depository;
import com.dreamchaser.depository_manage.entity.User;
import com.dreamchaser.depository_manage.entity.UserByPort;
@ -151,8 +152,7 @@ public class UserController {
*/
@PostMapping("/login")
public RestResponse login(@RequestBody Map<String, String> map, HttpServletRequest request) {
String url = "http://172.20.2.87:6666/base/login";
// String url = "http://127.0.0.1:6666/base/login";
String url = PortConfig.external_url_6666 +"/base/login";
String jsonString = JSONObject.toJSONString(map);
JSONObject paramObject = JSONObject.parseObject(jsonString);
String post = null;
@ -230,8 +230,7 @@ public class UserController {
*/
@PostMapping("/sys/findUsers")
public RestResponse findUsersByPort(@RequestParam Map<String, Object> map) {
String url = "http://172.20.2.87:39168/staff/archiveslist";
// String url = "http://127.0.0.1:39168/staff/archiveslist";
String url = PortConfig.external_url + "/staff/archiveslist";
if(map.containsKey("company")){
map.put("company",ObjectFormatUtil.toInteger(map.get("company")));
}

2
src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml

@ -60,7 +60,7 @@
<!-- 表查询字段,包括材料类型 用于视图-->
<sql id="allColumnsAndTypeNameOnView">
id,depository_id,mname,quantity,price,type_id,state,tname,dname,version,amounts ,unit ,texture,code,depositoryCode,depository_id
id,depository_id,mname,quantity,price,type_id,state,tname,dname,version,amounts ,unit ,texture,code,depositoryCode
</sql>
<!-- 查询所有数据的条数 -->
<select id="findCount" resultType="integer">

52
src/main/java/com/dreamchaser/depository_manage/pojo/ApplicationModel.java

@ -0,0 +1,52 @@
package com.dreamchaser.depository_manage.pojo;
import lombok.Data;
import java.math.BigInteger;
/**
* 出去库申请模板
*/
@Data
public class ApplicationModel {
/**
* 仓库名称
*/
private String depositoryName;
/**
* 材料型号
*/
private String version;
/**
* 仓库编号
*/
private Integer depositoryId;
/**
* 材料名称
*/
private String mname;
/**
* 材料编号
*/
private Integer mid;
/**
* 申请人编号
*/
private Integer applicant;
/**
* 材料编码
*/
private BigInteger code;
/**
* 数量
*/
private Double quantity;
/**
* 备注说明
*/
private String applyRemark;
}

2
src/main/java/com/dreamchaser/depository_manage/pojo/MaterialP.java

@ -95,6 +95,8 @@ public class MaterialP {
private String warehouseManager;
public MaterialP(Integer id, Integer depositoryId, String mname, Integer quantity, Double price, String typeName) {
this.id = id;
this.mname = mname;

2
src/main/java/com/dreamchaser/depository_manage/service/MaterialService.java

@ -49,7 +49,7 @@ public interface MaterialService {
* @param map 条件map
* @return 符合条件的库存信息
*/
public List<MaterialP> findMaterialPByCondition(Map<String, Object> map);
List<MaterialP> findMaterialPByCondition(Map<String, Object> map);
/**
* 查询所有的库存信息

13
src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java

@ -4,6 +4,7 @@ import cn.hutool.core.util.IdUtil;
import cn.hutool.log.Log;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.dreamchaser.depository_manage.config.PortConfig;
import com.dreamchaser.depository_manage.controller.PageController;
import com.dreamchaser.depository_manage.entity.*;
import com.dreamchaser.depository_manage.exception.MyException;
@ -80,6 +81,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
Depository depositoryRecordById = depositoryMapper.findDepositoryRecordById(depositoryId);
Map<String,Object> temp = new HashMap<>();
temp.put("dname",depositoryRecordById.getDname());
temp.put("dcode",depositoryRecordById.getCode());
Double Inventory = depositoryMapper.getToDayInventoryByDName(temp);
String code = createCode(depositoryRecordById.getDname(),"InOrderNumber");
Double quantity = Double.parseDouble((String) map.get("quantity"));
@ -101,9 +103,10 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
map.put("code",code);
// 获取当前材料
if(materialByCondition.size() > 0){ // 如果当前存在
material.setAmounts(material.getAmounts() + amounts);
material.setQuantity((int) (material.getQuantity() + quantity));
materialMapper.updateMaterial(material);
Material mt = materialByCondition.get(0);
mt.setAmounts(mt.getAmounts() + amounts);
mt.setQuantity((int) (mt.getQuantity() + quantity));
materialMapper.updateMaterial(mt);
}else{
Map<String,Object> insert = new HashMap<>();
Material materialById = materialMapper.findMaterialById(mid);
@ -887,6 +890,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
for (SimpleApplicationOutRecord record : list) {
SimpleApplicationOutRecordP d = new SimpleApplicationOutRecordP(record);
UserByPort userByPort = findUserByPortById(record.getApplicantId());
d.setApplyRemark(d.getApplyRemark() == null?"":d.getApplyRemark());
d.setApplicantName(userByPort.getName());
result.add(d);
}
@ -929,8 +933,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
* @return
*/
private UserByPort findUserByPortById(Integer id) {
String url = "http://172.20.2.87:39168/staff/archivescont";
// String url = "http://127.0.0.1:39168/staff/archivescont";
String url = PortConfig.external_url + "/staff/archivescont";
Map<String, Object> map = new HashMap<>();
map.put("id", id);
String jsonString = JSONObject.toJSONString(map);

4
src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java

@ -1,6 +1,7 @@
package com.dreamchaser.depository_manage.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.dreamchaser.depository_manage.config.PortConfig;
import com.dreamchaser.depository_manage.entity.*;
import com.dreamchaser.depository_manage.mapper.DepositoryMapper;
import com.dreamchaser.depository_manage.mapper.MaterialMapper;
@ -255,8 +256,7 @@ public class MaterialServiceImpl implements MaterialService {
}
private UserByPort findUserByPortById(Integer id) {
String url = "http://172.20.2.87:39168/staff/archivescont";
// String url = "http://127.0.0.1:39168/staff/archivescont";
String url = PortConfig.external_url + "/staff/archivescont";
Map<String, Object> map = new HashMap<>();
map.put("id", id);
String jsonString = JSONObject.toJSONString(map);

5
src/main/resources/templates/pages/application/application-in_back.html

@ -104,6 +104,9 @@
form = layui.form,
step = layui.step;
var mid = $("#mid").val();
var depositoryId = $("#depositoryId").val();
$("#code").blur(function () {
var code = $(this).val();
@ -245,7 +248,7 @@
complete: function () {
layer.close(this.layerIndex);
}
})
});
return false;
});

150
src/main/resources/templates/pages/application/application-out_back.html

@ -22,38 +22,28 @@
<form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
<div class="layui-form-item">
<label class="layui-form-label">材料名称:</label>
<div class="layui-input-block">
<!-- <input name="mname" type="text" placeholder="请填写材料名称" class="layui-input" lay-verify="required" />-->
<select name="mname" id="mname" lay-verify="required" lay-filter="mname">
<option value="" selected>请选择材料</option>
<option th:each="Material,iterStar:${materials}" th:value="${Material?.getMname()}" th:text="${Material?.getMname()}">天玑1000</option>
</select>
<div class="layui-input-inline">
<input type="text" placeholder="请选择材料" class="layui-input" th:value="${materialById.getMname()}"
id="openSonByMaterial"
lay-verify="required"/>
<input type="text" name="mid" class="layui-input" id="mid" th:value="${materialById.getId()}"
style="display: none" lay-verify="required" />
</div>
<i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial"></i>
</div>
<div class="layui-form-item">
<label class="layui-form-label">材料数量:</label>
<label class="layui-form-label">材料编码:</label>
<div class="layui-input-block">
<input name="quantity" type="number" placeholder="请填写入材料数量" value="" class="layui-input" lay-verify="number" required>
<input id="code" name="code" type="text" placeholder="请填写入材料编码" value="" th:value="${materialById.getCode()}"
class="layui-input" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">仓库:</label>
<label class="layui-form-label">材料数量:</label>
<div class="layui-input-block">
<select name="depositoryId" lay-verify="required">
<option value="" selected>请选择仓库</option>
<option th:each="depository,iterStar:${depositories}" th:value="${depository?.getId()}" th:text="${depository?.getDname()}">外芯仓库</option>
</select>
<input name="quantity" type="number" placeholder="请填写入材料数量" value="" class="layui-input" lay-verify="number" required>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">审核人:</label>
<div class="layui-input-block">
<select name="reviewerId" lay-verify="required">
<option th:each="reviewer,iterStat:${reviewers}" th:value="${reviewer?.getId()}" th:text="${reviewer?.getUname()}" selected>张三</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注说明:</label>
<div class="layui-input-block">
@ -104,6 +94,99 @@
var $ = layui.$,
form = layui.form,
step = layui.step;
$("#code").blur(function () {
var code = $(this).val();
$.ajax({
url: "/material/findMatrialByCode?code=" + code,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var d = d.data;
if(d == null){
layer.msg("没有该编码,请确认是否输入正确");
$("#openSonByMaterial").val("");
$("#mid").val("");
}else{
$("#openSonByMaterial").val(d.mname);
$("#mid").val(d.id);
}
}
});
});
$("#openSonByMaterial").blur(function () {
var data = $(this).val();
var req = {};
req.mname = data;
$.ajax({
url: "/material/findMaterialByCondition",
type: "post",
dataType: 'json',
data:JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
if(d.count > 1){
layer.msg("请点击右侧搜索确定物品");
$("#mid").val("");
$("#code").val("");
return false;
}else if(d.count === 0){
layer.msg("没有该物品,请确认输入是否正确");
$("#mid").val("");
$("#code").val("");
return false;
}
else{
var material = d.data[0];
$("#openSonByMaterial").val(material.mname)
$("#mid").val(material.id);
$("#code").val(material.code);
}
}
});
})
$('#openSonByDepository').on('click', function () {
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectDepository?type=2',
});
});
$('#selectMaterial').on('click', function () {
var mname = $("#openSonByMaterial").val();
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectMaterial?mname='+mname+'&type=2',
end: function () {
var mid = $("#mid").val();
$.ajax({
url: "/material/findMatrialById?mid=" + mid,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var code = d.data.code
$("#code").val(code)
}
});
}
});
});
step.render({
elem: '#stepForm',
filter: 'stepForm',
@ -122,10 +205,8 @@
form.on('submit(formStep)', function (data) {
data=data.field;
data.type=2;
data.state=0;
$.ajax({
url:"/depositoryRecord/depositoryRecord",
url:"/depositoryRecord/applicationOut",
type:'post',
dataType:'json',
contentType: "application/json;charset=utf-8",
@ -159,25 +240,6 @@
return false;
});
form.on('select(mname)',function (data){
// $.ajax({
// url:"/repository/find_depository?mid="+data.value,
// type:'get',
// dataType:'json',
// contentType: "application/json;charset=utf-8",
// success:function(d){
// $('#formId').val(d.data.id)
// console.log(d.name)
// // layui.use(['form'],function() {
// // var form=layui.form;
// // form.render();
// // });
// }
// })
console.log(data.attr)
})
$('.pre').click(function () {
step.pre('#stepForm');
});

7
src/main/resources/templates/pages/application/application-review.html

@ -218,7 +218,12 @@
success:function(data){
layer.close(this.layerIndex);
if(data.status >= 300){
layer.msg(data.statusInfo.detail,function () {
layer.msg(data.statusInfo.detail,
{
icon: 2,
time:300
},
function () {
window.location = '/ApplicationOutView?id='+req.id;
});//失败的表情

101
src/main/resources/templates/pages/application/application-transfer.html

@ -22,12 +22,20 @@
<form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
<div class="layui-form-item">
<label class="layui-form-label">材料名称:</label>
<div class="layui-input-inline">
<input type="text" placeholder="请选择材料" class="layui-input"
id="openSonByMaterial"
lay-verify="required"/>
<input type="text" name="mid" class="layui-input" id="mid"
style="display: none" lay-verify="required" />
</div>
<i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial"></i>
</div>
<div class="layui-form-item">
<label class="layui-form-label">材料编码:</label>
<div class="layui-input-block">
<!-- <input name="mname" type="text" placeholder="请填写材料名称" class="layui-input" lay-verify="required" />-->
<select name="mid" lay-verify="required" lay-filter="mname">
<option value="" selected>请选择材料</option>
<option th:each="Material,iterStar:${materials}" th:value="${Material?.getId()}" th:text="${Material?.getMname()}" >天玑1000</option>
</select>
<input id="code" name="code" type="text" placeholder="请填写入材料编码" value=""
class="layui-input" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
@ -112,6 +120,61 @@
var $ = layui.$,
form = layui.form,
step = layui.step;
$("#code").blur(function () {
var code = $(this).val();
$.ajax({
url: "/material/findMatrialByCode?code=" + code,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var d = d.data;
if(d == null){
layer.msg("没有该编码,请确认是否输入正确");
$("#openSonByMaterial").val("");
$("#mid").val("");
$("#code").val("");
}else{
$("#openSonByMaterial").val(d.mname);
$("#mid").val(d.id);
}
}
});
});
$("#openSonByMaterial").blur(function () {
var data = $(this).val();
var req = {};
req.mname = data;
$.ajax({
url: "/material/findMaterialByCondition",
type: "post",
dataType: 'json',
data:JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
if(d.count > 1){
layer.msg("请点击右侧搜索确定物品");
$("#mid").val("");
$("#code").val("");
return false;
}else if(d.count === 0){
layer.msg("没有该物品,请确认输入是否正确");
$("#mid").val("");
$("#code").val("");
$("#openSonByMaterial").val("");
return false;
}
else{
var material = d.data[0];
$("#openSonByMaterial").val(material.mname)
$("#mid").val(material.id);
$("#code").val(material.code);
}
}
});
});
$('#openSonByDepository').on('click', function(){
layer.open({
@ -125,6 +188,34 @@
});
});
$('#selectMaterial').on('click', function () {
var mname = $("#openSonByMaterial").val();
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectMaterial?mname='+mname+'&type=2',
end: function () {
var mid = $("#mid").val();
$.ajax({
url: "/material/findMatrialById?mid=" + mid,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var code = d.data.code
$("#code").val(code)
}
});
}
});
});
step.render({
elem: '#stepForm',
filter: 'stepForm',

202
src/main/resources/templates/pages/application/application_in_multi.html

@ -0,0 +1,202 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<title>分步表单</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="/static/lib/layui-v2.6.3/css/layui.css" media="all">
<link rel="stylesheet" href="/static/css/public.css" media="all">
<link rel="stylesheet" href="/static/js/lay-module/step-lay/step.css" media="all">
</head>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<script id="toolbarDemo" type="text/html">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="add">添加</button>
</div>
</script>
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
<script id="currentTableBar" type="text/html">
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-subclass" lay-event="applicationIn">入库申请</a>
<a class="layui-btn layui-btn-xs data-count-edit" lay-event="applicationOut" >出库申请</a>
</script>
</div>
</div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
<script>
layui.use(['form', 'step'], function () {
var $ = layui.$,
form = layui.form,
step = layui.step;
$("#code").blur(function () {
var code = $(this).val();
$.ajax({
url: "/material/findMatrialByCode?code=" + code,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var d = d.data;
if(d == null){
layer.msg("没有该编码,请确认是否输入正确");
$("#openSonByMaterial").val("");
$("#mid").val("");
$("#code").val("");
}else{
$("#openSonByMaterial").val(d.mname);
$("#mid").val(d.id);
}
}
});
});
$("#openSonByMaterial").blur(function () {
var data = $(this).val();
var req = {};
req.mname = data;
$.ajax({
url: "/material/findMaterialByCondition",
type: "post",
dataType: 'json',
data:JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
if(d.count > 1){
layer.msg("请点击右侧搜索确定物品");
$("#mid").val("");
$("#code").val("");
return false;
}else if(d.count === 0){
layer.msg("没有该物品,请确认输入是否正确");
$("#mid").val("");
$("#code").val("");
$("#openSonByMaterial").val("");
return false;
}
else{
var material = d.data[0];
$("#openSonByMaterial").val(material.mname)
$("#mid").val(material.id);
$("#code").val(material.code);
}
}
});
})
$('#openSonByDepository').on('click', function () {
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectDepository?type=1',
});
});
$('#selectMaterial').on('click', function () {
var mname = $("#openSonByMaterial").val();
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectMaterial?mname='+mname+'&type=1',
end: function () {
var mid = $("#mid").val();
$.ajax({
url: "/material/findMatrialById?mid=" + mid,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var code = d.data.code
$("#code").val(code)
}
});
}
});
});
step.render({
elem: '#stepForm',
filter: 'stepForm',
width: '100%', //设置容器宽度
stepWidth: '750px',
height: '600px',
stepItems: [{
title: '填写信息'
}, {
title: '提交成功'
}]
});
form.on('submit(formStep)', function (data) {
data = data.field;
data.type = 1;
$.ajax({
url: "/depositoryRecord/applicationIn",
type: 'post',
dataType: 'json',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(data),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.detail);//失败的表情
return;
} else {
layer.msg("申请提交成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
}, function () {
step.next('#stepForm');
});
}
},
complete: function () {
layer.close(this.layerIndex);
}
})
return false;
});
form.on('submit(formStep2)', function (data) {
step.next('#stepForm');
return false;
});
$('.pre').click(function () {
step.pre('#stepForm');
});
$('.next').click(function () {
step.next('#stepForm');
});
})
</script>
</body>
</html>

273
src/main/resources/templates/pages/application/application_multi.html

@ -0,0 +1,273 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<title>layui</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="/static/lib/layui-v2.6.3/css/layui.css" media="all">
<link rel="stylesheet" href="/static/css/public.css" media="all">
</head>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<script id="toolbarDemo" type="text/html">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="delete">删除</button>
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="applicationIn">入库申请</button>
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="applicationOut">出库申请</button>
</div>
</script>
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
<script id="currentTableBar" type="text/html">
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-subclass" lay-event="applicationIn">入库申请</a>
<a class="layui-btn layui-btn-xs data-count-edit" lay-event="applicationOut" >出库申请</a>
</script>
</div>
</div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script>
var data;
layui.use(['form', 'table'], function () {
var $ = layui.jquery,
form = layui.form,
table = layui.table;
table.render({
elem: "#currentTableId",
url: '/depositoryRecord/applicant_multi_create',
parseData: function (res) { //res 即为原始返回的数据
return {
"status": res.status, //解析接口状态
"message": res.statusInfo.message, //解析提示文本
"count": res.count, //解析数据长度
"data": res.data //解析数据列表
};
},
request: {
pageName: 'page', //页码的参数名称,默认:page
limitName: 'size' //每页数据量的参数名,默认:limit
},
response: {
statusName: 'status' //规定数据状态的字段名称,默认:code
,statusCode: 200 //规定成功的状态码,默认:0
,msgName: 'message' //规定状态信息的字段名称,默认:msg
,countName: 'count' //规定数据总数的字段名称,默认:count
,dataName: 'data' //规定数据列表的字段名称,默认:data
},
toolbar: '#toolbarDemo',
cols: [
[
{type: "checkbox", width: 50},
{field: 'mname', width: '10%', title: '材料名称'},
{field: 'version', width: '10%', title: '规格型号'},
{field: 'code',width: 200,title: '存货编码',sort: true},
{field: 'depositoryName', width: '12%', title: '仓库名称'},
{field: 'quantity', width: '10%', title: '数量',edit:'quantity'},
{field: 'depositoryId', width: '10%', title: '仓库编号',edit:'quantity'},
{field: 'applyRemark', width: '10%', title: '备注说明',edit:'applyRemark'},
{title: '操作', minWidth: 250, toolbar: '#currentTableBar', align: "center"}
]
],
limits: [10, 15, 20, 25, 50],
limit: 10,
page: true,
skin: 'line',
done:function () {
$("[data-field='id']").css('display','none');
$("[data-field='depositoryId']").css('display','none');
}
});
//监听表格复选框选择
table.on('checkbox(currentTableFilter)', function (obj) {
console.log(obj)
});
table.on('edit(currentTableFilter)', function(obj){ //注:edit是固定事件名,test是table原始容器的属性 lay-filter="对应的值"
console.log(obj.data); //所在行的所有相关数据
});
/**
* toolbar监听事件
*/
table.on('toolbar(currentTableFilter)', function (obj) {
var checkStatus = table.checkStatus('currentTableId')
, data = checkStatus.data;
var req = {};
req.mids = [];
req.depositoryIds = [];
req.quantitys = [];
req.applyRemarks = [];
for (i = 0, len = data.length; i < len; i++) {
req.mids[i] = data[i].mid;
req.depositoryIds[i] = data[i].depositoryId;
req.quantitys[i] = data[i].quantity;
req.applyRemarks[i] = data[i].applyRemark;
}
if(obj.event==='delete'){
if(req.mids > 0) {
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: "/depositoryRecord/deleteApplicationToRedis",
type: "post",
data: JSON.stringify(req),
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (d) {
layer.close(this.layerIndex);
if (d.status >= 300) {
layer.msg(d.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功!", {
icon: 6,//成功的表情
time: 1000
}, //1秒关闭(如果不配置,默认是3秒)
function () {
//do something
window.location = "/application_multi"
});
}
}
})
})
}else{
layer.msg("未选中记录,请确认!");
return false;
}
}
else if(obj.event === 'applicationIn'){
req.type = 'in';
$.ajax({
url:"/depositoryRecord/createMultiApplications",
type:"post",
data:JSON.stringify(req),
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (d) {
layer.close(this.layerIndex);
if (d.status >= 300) {
layer.msg(d.statusInfo.message);//失败的表情
return;
} else {
layer.msg("申请成功!", {
icon: 6,//成功的表情
time: 1000
}, //1秒关闭(如果不配置,默认是3秒)
function(){
//do something
window.location="/application_multi"
});
}
}
});
return false;
}
else if(obj.event === 'applicationOut'){
req.type = 'out';
$.ajax({
url:"/depositoryRecord/createMultiApplications",
type:"post",
data:JSON.stringify(req),
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (d) {
layer.close(this.layerIndex);
if (d.status >= 300) {
layer.msg(d.statusInfo.message);//失败的表情
return;
} else {
layer.msg("申请成功!", {
icon: 6,//成功的表情
time: 1000
}, //1秒关闭(如果不配置,默认是3秒)
function(){
//do something
window.location="/application_multi"
});
}
}
});
return false;
}
});
table.on('tool(currentTableFilter)', function (obj) {
let data = obj.data;
if (obj.event === 'applicationIn') {
// 入库申请
var req = data;
req.type = "in";
$.ajax({
url:"/depositoryRecord/createMultiApplication",
type:"post",
data:JSON.stringify(req),
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (d) {
layer.close(this.layerIndex);
if (d.status >= 300) {
layer.msg(d.statusInfo.message);//失败的表情
return;
} else {
layer.msg("申请成功!", {
icon: 6,//成功的表情
time: 1000
}, //1秒关闭(如果不配置,默认是3秒)
function(){
//do something
window.location="/application_multi"
});
}
}
});
return false;
}
else if(obj.event === 'applicationOut'){
// 出库申请
var req = data;
req.type = "out";
$.ajax({
url:"/depositoryRecord/createMultiApplication",
type:"post",
data:JSON.stringify(req),
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (d) {
layer.close(this.layerIndex);
if (d.status >= 300) {
layer.msg(d.statusInfo.message);//失败的表情
return;
} else {
layer.msg("申请成功!", {
icon: 6,//成功的表情
time: 1000
}, //1秒关闭(如果不配置,默认是3秒)
function(){
//do something
window.location="/application_multi"
});
}
}
});
return false;
}
else if(obj.event === 'selectDepository'){
console.log(data)
}
});
});
</script>
</body>
</html>

2
src/main/resources/templates/pages/company/company-out.html

@ -116,7 +116,7 @@
limit: 10,
page: true,
skin: 'line',
one:function () {
done:function () {
$("[data-field='id']").css('display','none');
}
});

67
src/main/resources/templates/pages/depository/table-in.html

@ -192,36 +192,43 @@
for (i=0,len=data.length;i<len;i++){
req.ids[i]=data[i].id;
}
$.ajax({
url: '/depositoryRecord/deleteApplicationInRecord',
type: 'delete',
dataType:'json',
contentType: "application/json;charset=utf-8",
data:JSON.stringify(req),
beforeSend:function () {
this.layerIndex = layer.load(0, { shade: [0.5, '#393D49'] });
},
success:function(data){
layer.close(this.layerIndex);
if(data.status >= 300){
layer.msg(data.statusInfo.message);//失败的表情
return;
}else{
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/depositoryRecord/applicationInView',
page: {
curr: 1
if(req.ids.length > 0) {
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/depositoryRecord/deleteApplicationInRecord',
type: 'post',
dataType: 'json',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/depositoryRecord/applicationInView',
page: {
curr: 1
}
}, 'data');
return false;
}
}, 'data');
return false;
}
}
})
}
})
})
}else{
layer.msg("未选中记录,请确认!");
return false;
}
}
});
@ -253,7 +260,7 @@
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/depositoryRecord/deleteApplicationInRecord',
type: 'delete',
type: 'post',
dataType:'json',
contentType: "application/json;charset=utf-8",
data:JSON.stringify(req),

67
src/main/resources/templates/pages/depository/table-out.html

@ -204,36 +204,43 @@
for (i=0,len=data.length;i<len;i++){
req.ids[i]=data[i].id;
}
$.ajax({
url: '/depositoryRecord/deleteApplicationOutRecord',
type: 'delete',
dataType:'json',
contentType: "application/json;charset=utf-8",
data:JSON.stringify(req),
beforeSend:function () {
this.layerIndex = layer.load(0, { shade: [0.5, '#393D49'] });
},
success:function(data){
layer.close(this.layerIndex);
if(data.status >= 300){
layer.msg(data.statusInfo.message);//失败的表情
return;
}else{
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/depositoryRecord/applicationOutView',
page: {
curr: 1
if(req.ids.length > 0) {
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/depositoryRecord/deleteApplicationOutRecord',
type: 'post',
dataType: 'json',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/depositoryRecord/applicationOutView',
page: {
curr: 1
}
}, 'data');
return false;
}
}, 'data');
return false;
}
}
})
}
})
});
}else{
layer.msg("未选中记录,请确认!");
return false;
}
}
});
@ -264,7 +271,7 @@
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: 'depositoryRecord/deleteApplicationOutRecord',
type: 'delete',
type: 'post',
dataType:'json',
contentType: "application/json;charset=utf-8",
data:JSON.stringify(req),

105
src/main/resources/templates/pages/depository/table-stock.html

@ -51,6 +51,13 @@
</div>
</fieldset>
<script id="toolbarDemo" type="text/html">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="add">添加</button>
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="dispose">处理</button>
</div>
</script>
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
<script id="currentTableBar" type="text/html">
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-subclass" lay-event="applicationIn">入库申请</a>
@ -80,7 +87,7 @@
table.render({
elem: "#currentTableId",
url: '/material/material',
url: '/material/findInventory',
parseData: function (res) { //res 即为原始返回的数据
return {
"status": res.status, //解析接口状态
@ -100,7 +107,7 @@
,countName: 'count' //规定数据总数的字段名称,默认:count
,dataName: 'data' //规定数据列表的字段名称,默认:data
},
toolbar: ['filter', 'exports', 'print'],
toolbar: '#toolbarDemo',
cols: [
[
{type: "checkbox", width: 50},
@ -148,7 +155,7 @@
}
//执行搜索重载
table.reload('currentTableId', {
url: '/material/material',
url: '/material/findInventory',
page: {
curr: 1
}
@ -157,6 +164,80 @@
return false;
});
/**
* toolbar监听事件
*/
table.on('toolbar(currentTableFilter)', function (obj) {
if (obj.event === 'add') { // 监听入库申请操作
var checkStatus = table.checkStatus('currentTableId')
, data = checkStatus.data;
var req = {};
req.mids = [];
req.depositoryIds = [];
for (i = 0, len = data.length; i < len; i++) {
req.mids[i] = data[i].id;
req.depositoryIds[i] = data[i].depositoryId;
}
if(req.mids.length > 0) {
$.ajax({
url: "/depositoryRecord/addApplicationToRedis",
type: "post",
data: JSON.stringify(req),
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (data) {
if (data.status == 201) {
layer.msg("添加成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
}, function () {
//执行搜索重载
table.reload('currentTableId', {
url: '/material/findInventory',
page: {
curr: 1
}
}, 'data');
});
} else {
layer.msg("添加失败,请重试", {
icon: 2,
time: 200,
}, function () {
//执行搜索重载
table.reload('currentTableId', {
url: '/material/findInventory',
page: {
curr: 1
}
}, 'data');
})
}
}
})
}
else{
layer.msg("未选中记录,请确认!");
return false;
}
}
else if(obj.event==='dispose'){
var index = layer.open({
title: '入库申请',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['100%', '100%'],
content: '/application_multi'
});
$(window).on("resize", function () {
layer.full(index);
});
return false;
}
});
table.on('tool(currentTableFilter)', function (obj) {
let data = obj.data;
if (obj.event === 'applicationIn') {
@ -174,9 +255,23 @@
layer.full(index);
});
return false;
}else{
}else if(obj.event === 'applicationOut'){
// 出库申请
console.log(data)
var index = layer.open({
title: '入库申请',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['100%', '100%'],
content: '/application_out_back?mid='+data.id
});
$(window).on("resize", function () {
layer.full(index);
});
return false;
}
});
});

66
src/main/resources/templates/pages/material/material-out.html

@ -235,36 +235,44 @@
for (i=0,len=data.length;i<len;i++){
req.ids[i]=data[i].id;
}
$.ajax({
url: '/material/material_del',
dataType:'json',
type:'POST',
contentType: "application/json;charset=utf-8",
data:JSON.stringify(req),
beforeSend:function () {
this.layerIndex = layer.load(0, { shade: [0.5, '#393D49'] });
},
success:function(data){
layer.close(this.layerIndex);
if(data.status >= 300){
layer.msg(data.statusInfo.message);//失败的表情
return;
}else{
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/material/material',
page: {
curr: 1
if(req.ids.length > 0) {
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/material/material_del',
dataType: 'json',
type: 'POST',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/material/material',
page: {
curr: 1
}
}, 'data');
return false;
}
}, 'data');
return false;
}
}
})
}
})
})
}
else{
layer.msg("未选中记录,请确认!");
return false;
}
}
});

66
src/main/resources/templates/pages/materialtype/materialType_view.html

@ -170,36 +170,44 @@
for (i=0,len=data.length;i<len;i++){
req.ids[i]=data[i].id;
}
$.ajax({
url: '/materialType/materialType_del',
dataType:'json',
type:'POST',
contentType: "application/json;charset=utf-8",
data:JSON.stringify(req),
beforeSend:function () {
this.layerIndex = layer.load(0, { shade: [0.5, '#393D49'] });
},
success:function(data){
layer.close(this.layerIndex);
if(data.status >= 300){
layer.msg(data.statusInfo.message);//失败的表情
return;
}else{
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/materialType/materialTypeRecord',
page: {
curr: 1
if(req.ids.length > 0) {
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/materialType/materialType_del',
dataType: 'json',
type: 'POST',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/materialType/materialTypeRecord',
page: {
curr: 1
}
}, 'data');
return false;
}
}, 'data');
return false;
}
}
})
}
})
})
}
else{
layer.msg("未选中记录,请确认!");
return false;
}
}
});

2
src/main/resources/templates/pages/post/post-out.html

@ -126,7 +126,7 @@
limit: 10,
page: true,
skin: 'line',
one:function () {
done:function () {
$("[data-field='id']").css('display','none');
$("[data-field='rolename']").css('display','none');
}

65
src/main/resources/templates/pages/post/postRole.html

@ -165,37 +165,42 @@
req.ids[i] = data[i].id;
req.depositoryIds[i] = data[i].depositoryId;
}
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/company/postRole_del',
dataType: 'json',
type: 'POST',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('demo', {
url: '/company/findPostRole?postId=' + postId,
page: {
curr: 1
}
}, 'data');
if(req.ids.length > 0) {
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/company/postRole_del',
dataType: 'json',
type: 'POST',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('demo', {
url: '/company/findPostRole?postId=' + postId,
page: {
curr: 1
}
}, 'data');
}
}
}
})
});
})
});
}else{
layer.msg("未选中记录,请确认!");
return false;
}
}
})

65
src/main/resources/templates/pages/user/userRole.html

@ -169,37 +169,42 @@
for (i = 0, len = data.length; i < len; i++) {
req.ids[i] = data[i].id;
}
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/sys/userRole_del',
dataType: 'json',
type: 'POST',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('demo', {
url: '/findUserRole?userId='+userId,
page: {
curr: 1
}
}, 'data');
if(req.ids.length > 0) {
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/sys/userRole_del',
dataType: 'json',
type: 'POST',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('demo', {
url: '/findUserRole?userId=' + userId,
page: {
curr: 1
}
}, 'data');
}
}
}
})
});
})
});
}else{
layer.msg("未选中记录,请确认!");
return false;
}
}
})
});

115
src/main/resources/templates/pages/warehouse/depository-out.html

@ -197,62 +197,69 @@
for (i = 0, len = data.length; i < len; i++) {
req.ids[i] = data[i].id;
}
$.ajax({
url: "/repository/findRelevancyByDepository",
type: "post",
data: JSON.stringify(req),
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (data) {
if (data.data) {
layer.msg("该仓库尚有记录无法删除", {
icon: 7,
time: 500 //1秒关闭(如果不配置,默认是3秒)
}, function () {
// 执行重加载
table.reload('currentTableId', {
url: '/repository/warehouseRecord',
page: {
curr: 1
},
where: {"parentId": parentId}
});
})
} else {
$.ajax({
url: '/repository/depository_del',
dataType: 'json',
type: 'POST',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/repository/warehouseRecord',
page: {
curr: 1
if(req.ids.length > 0) {
$.ajax({
url: "/repository/findRelevancyByDepository",
type: "post",
data: JSON.stringify(req),
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (data) {
if (data.data) {
layer.msg("该仓库尚有记录无法删除", {
icon: 7,
time: 500 //1秒关闭(如果不配置,默认是3秒)
}, function () {
// 执行重加载
table.reload('currentTableId', {
url: '/repository/warehouseRecord',
page: {
curr: 1
},
where: {"parentId": parentId}
});
})
} else {
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/repository/depository_del',
dataType: 'json',
type: 'POST',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/repository/warehouseRecord',
page: {
curr: 1
}
}, 'data');
return false;
}
}, 'data');
return false;
}
}
})
}
})
})
}
}
}
});
});
}
else{
layer.msg("未选中记录,请确认!");
return false;
}
}
});

9
src/test/java/com/dreamchaser/depository_manage/Test.java

@ -24,13 +24,20 @@ import javax.swing.*;
import java.util.*;
import java.util.concurrent.TimeUnit;
@RunWith(SpringRunner.class)
@SpringBootTest
public class Test {
@Autowired
RedisTemplate<Object,Object> redisTemplate;
@org.junit.Test
public void test1(){
List<Object> mids = redisTemplate.opsForList().range("mids"+78, 0, -1);
List<Object> depositoryIds = redisTemplate.opsForList().range("depositoryIds"+78, 0, -1);
System.out.println(mids);
System.out.println(depositoryIds);
}

2
target/classes/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml

@ -60,7 +60,7 @@
<!-- 表查询字段,包括材料类型 用于视图-->
<sql id="allColumnsAndTypeNameOnView">
id,depository_id,mname,quantity,price,type_id,state,tname,dname,version,amounts ,unit ,texture,code,depositoryCode,depository_id
id,depository_id,mname,quantity,price,type_id,state,tname,dname,version,amounts ,unit ,texture,code,depositoryCode
</sql>
<!-- 查询所有数据的条数 -->
<select id="findCount" resultType="integer">

5
target/classes/templates/pages/application/application-in_back.html

@ -104,6 +104,9 @@
form = layui.form,
step = layui.step;
var mid = $("#mid").val();
var depositoryId = $("#depositoryId").val();
$("#code").blur(function () {
var code = $(this).val();
@ -245,7 +248,7 @@
complete: function () {
layer.close(this.layerIndex);
}
})
});
return false;
});

150
target/classes/templates/pages/application/application-out_back.html

@ -22,38 +22,28 @@
<form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
<div class="layui-form-item">
<label class="layui-form-label">材料名称:</label>
<div class="layui-input-block">
<!-- <input name="mname" type="text" placeholder="请填写材料名称" class="layui-input" lay-verify="required" />-->
<select name="mname" id="mname" lay-verify="required" lay-filter="mname">
<option value="" selected>请选择材料</option>
<option th:each="Material,iterStar:${materials}" th:value="${Material?.getMname()}" th:text="${Material?.getMname()}">天玑1000</option>
</select>
<div class="layui-input-inline">
<input type="text" placeholder="请选择材料" class="layui-input" th:value="${materialById.getMname()}"
id="openSonByMaterial"
lay-verify="required"/>
<input type="text" name="mid" class="layui-input" id="mid" th:value="${materialById.getId()}"
style="display: none" lay-verify="required" />
</div>
<i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial"></i>
</div>
<div class="layui-form-item">
<label class="layui-form-label">材料数量:</label>
<label class="layui-form-label">材料编码:</label>
<div class="layui-input-block">
<input name="quantity" type="number" placeholder="请填写入材料数量" value="" class="layui-input" lay-verify="number" required>
<input id="code" name="code" type="text" placeholder="请填写入材料编码" value="" th:value="${materialById.getCode()}"
class="layui-input" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">仓库:</label>
<label class="layui-form-label">材料数量:</label>
<div class="layui-input-block">
<select name="depositoryId" lay-verify="required">
<option value="" selected>请选择仓库</option>
<option th:each="depository,iterStar:${depositories}" th:value="${depository?.getId()}" th:text="${depository?.getDname()}">外芯仓库</option>
</select>
<input name="quantity" type="number" placeholder="请填写入材料数量" value="" class="layui-input" lay-verify="number" required>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">审核人:</label>
<div class="layui-input-block">
<select name="reviewerId" lay-verify="required">
<option th:each="reviewer,iterStat:${reviewers}" th:value="${reviewer?.getId()}" th:text="${reviewer?.getUname()}" selected>张三</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注说明:</label>
<div class="layui-input-block">
@ -104,6 +94,99 @@
var $ = layui.$,
form = layui.form,
step = layui.step;
$("#code").blur(function () {
var code = $(this).val();
$.ajax({
url: "/material/findMatrialByCode?code=" + code,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var d = d.data;
if(d == null){
layer.msg("没有该编码,请确认是否输入正确");
$("#openSonByMaterial").val("");
$("#mid").val("");
}else{
$("#openSonByMaterial").val(d.mname);
$("#mid").val(d.id);
}
}
});
});
$("#openSonByMaterial").blur(function () {
var data = $(this).val();
var req = {};
req.mname = data;
$.ajax({
url: "/material/findMaterialByCondition",
type: "post",
dataType: 'json',
data:JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
if(d.count > 1){
layer.msg("请点击右侧搜索确定物品");
$("#mid").val("");
$("#code").val("");
return false;
}else if(d.count === 0){
layer.msg("没有该物品,请确认输入是否正确");
$("#mid").val("");
$("#code").val("");
return false;
}
else{
var material = d.data[0];
$("#openSonByMaterial").val(material.mname)
$("#mid").val(material.id);
$("#code").val(material.code);
}
}
});
})
$('#openSonByDepository').on('click', function () {
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectDepository?type=2',
});
});
$('#selectMaterial').on('click', function () {
var mname = $("#openSonByMaterial").val();
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectMaterial?mname='+mname+'&type=2',
end: function () {
var mid = $("#mid").val();
$.ajax({
url: "/material/findMatrialById?mid=" + mid,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var code = d.data.code
$("#code").val(code)
}
});
}
});
});
step.render({
elem: '#stepForm',
filter: 'stepForm',
@ -122,10 +205,8 @@
form.on('submit(formStep)', function (data) {
data=data.field;
data.type=2;
data.state=0;
$.ajax({
url:"/depositoryRecord/depositoryRecord",
url:"/depositoryRecord/applicationOut",
type:'post',
dataType:'json',
contentType: "application/json;charset=utf-8",
@ -159,25 +240,6 @@
return false;
});
form.on('select(mname)',function (data){
// $.ajax({
// url:"/repository/find_depository?mid="+data.value,
// type:'get',
// dataType:'json',
// contentType: "application/json;charset=utf-8",
// success:function(d){
// $('#formId').val(d.data.id)
// console.log(d.name)
// // layui.use(['form'],function() {
// // var form=layui.form;
// // form.render();
// // });
// }
// })
console.log(data.attr)
})
$('.pre').click(function () {
step.pre('#stepForm');
});

7
target/classes/templates/pages/application/application-review.html

@ -218,7 +218,12 @@
success:function(data){
layer.close(this.layerIndex);
if(data.status >= 300){
layer.msg(data.statusInfo.detail,function () {
layer.msg(data.statusInfo.detail,
{
icon: 2,
time:300
},
function () {
window.location = '/ApplicationOutView?id='+req.id;
});//失败的表情

101
target/classes/templates/pages/application/application-transfer.html

@ -22,12 +22,20 @@
<form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
<div class="layui-form-item">
<label class="layui-form-label">材料名称:</label>
<div class="layui-input-inline">
<input type="text" placeholder="请选择材料" class="layui-input"
id="openSonByMaterial"
lay-verify="required"/>
<input type="text" name="mid" class="layui-input" id="mid"
style="display: none" lay-verify="required" />
</div>
<i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial"></i>
</div>
<div class="layui-form-item">
<label class="layui-form-label">材料编码:</label>
<div class="layui-input-block">
<!-- <input name="mname" type="text" placeholder="请填写材料名称" class="layui-input" lay-verify="required" />-->
<select name="mid" lay-verify="required" lay-filter="mname">
<option value="" selected>请选择材料</option>
<option th:each="Material,iterStar:${materials}" th:value="${Material?.getId()}" th:text="${Material?.getMname()}" >天玑1000</option>
</select>
<input id="code" name="code" type="text" placeholder="请填写入材料编码" value=""
class="layui-input" lay-verify="required">
</div>
</div>
<div class="layui-form-item">
@ -112,6 +120,61 @@
var $ = layui.$,
form = layui.form,
step = layui.step;
$("#code").blur(function () {
var code = $(this).val();
$.ajax({
url: "/material/findMatrialByCode?code=" + code,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var d = d.data;
if(d == null){
layer.msg("没有该编码,请确认是否输入正确");
$("#openSonByMaterial").val("");
$("#mid").val("");
$("#code").val("");
}else{
$("#openSonByMaterial").val(d.mname);
$("#mid").val(d.id);
}
}
});
});
$("#openSonByMaterial").blur(function () {
var data = $(this).val();
var req = {};
req.mname = data;
$.ajax({
url: "/material/findMaterialByCondition",
type: "post",
dataType: 'json',
data:JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
if(d.count > 1){
layer.msg("请点击右侧搜索确定物品");
$("#mid").val("");
$("#code").val("");
return false;
}else if(d.count === 0){
layer.msg("没有该物品,请确认输入是否正确");
$("#mid").val("");
$("#code").val("");
$("#openSonByMaterial").val("");
return false;
}
else{
var material = d.data[0];
$("#openSonByMaterial").val(material.mname)
$("#mid").val(material.id);
$("#code").val(material.code);
}
}
});
});
$('#openSonByDepository').on('click', function(){
layer.open({
@ -125,6 +188,34 @@
});
});
$('#selectMaterial').on('click', function () {
var mname = $("#openSonByMaterial").val();
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectMaterial?mname='+mname+'&type=2',
end: function () {
var mid = $("#mid").val();
$.ajax({
url: "/material/findMatrialById?mid=" + mid,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var code = d.data.code
$("#code").val(code)
}
});
}
});
});
step.render({
elem: '#stepForm',
filter: 'stepForm',

202
target/classes/templates/pages/application/application_in_multi.html

@ -0,0 +1,202 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<title>分步表单</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="/static/lib/layui-v2.6.3/css/layui.css" media="all">
<link rel="stylesheet" href="/static/css/public.css" media="all">
<link rel="stylesheet" href="/static/js/lay-module/step-lay/step.css" media="all">
</head>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<script id="toolbarDemo" type="text/html">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="add">添加</button>
</div>
</script>
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
<script id="currentTableBar" type="text/html">
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-subclass" lay-event="applicationIn">入库申请</a>
<a class="layui-btn layui-btn-xs data-count-edit" lay-event="applicationOut" >出库申请</a>
</script>
</div>
</div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
<script>
layui.use(['form', 'step'], function () {
var $ = layui.$,
form = layui.form,
step = layui.step;
$("#code").blur(function () {
var code = $(this).val();
$.ajax({
url: "/material/findMatrialByCode?code=" + code,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var d = d.data;
if(d == null){
layer.msg("没有该编码,请确认是否输入正确");
$("#openSonByMaterial").val("");
$("#mid").val("");
$("#code").val("");
}else{
$("#openSonByMaterial").val(d.mname);
$("#mid").val(d.id);
}
}
});
});
$("#openSonByMaterial").blur(function () {
var data = $(this).val();
var req = {};
req.mname = data;
$.ajax({
url: "/material/findMaterialByCondition",
type: "post",
dataType: 'json',
data:JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
if(d.count > 1){
layer.msg("请点击右侧搜索确定物品");
$("#mid").val("");
$("#code").val("");
return false;
}else if(d.count === 0){
layer.msg("没有该物品,请确认输入是否正确");
$("#mid").val("");
$("#code").val("");
$("#openSonByMaterial").val("");
return false;
}
else{
var material = d.data[0];
$("#openSonByMaterial").val(material.mname)
$("#mid").val(material.id);
$("#code").val(material.code);
}
}
});
})
$('#openSonByDepository').on('click', function () {
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectDepository?type=1',
});
});
$('#selectMaterial').on('click', function () {
var mname = $("#openSonByMaterial").val();
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['800px', '500px'],
content: '/selectMaterial?mname='+mname+'&type=1',
end: function () {
var mid = $("#mid").val();
$.ajax({
url: "/material/findMatrialById?mid=" + mid,
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var code = d.data.code
$("#code").val(code)
}
});
}
});
});
step.render({
elem: '#stepForm',
filter: 'stepForm',
width: '100%', //设置容器宽度
stepWidth: '750px',
height: '600px',
stepItems: [{
title: '填写信息'
}, {
title: '提交成功'
}]
});
form.on('submit(formStep)', function (data) {
data = data.field;
data.type = 1;
$.ajax({
url: "/depositoryRecord/applicationIn",
type: 'post',
dataType: 'json',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(data),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.detail);//失败的表情
return;
} else {
layer.msg("申请提交成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
}, function () {
step.next('#stepForm');
});
}
},
complete: function () {
layer.close(this.layerIndex);
}
})
return false;
});
form.on('submit(formStep2)', function (data) {
step.next('#stepForm');
return false;
});
$('.pre').click(function () {
step.pre('#stepForm');
});
$('.next').click(function () {
step.next('#stepForm');
});
})
</script>
</body>
</html>

273
target/classes/templates/pages/application/application_multi.html

@ -0,0 +1,273 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<title>layui</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="/static/lib/layui-v2.6.3/css/layui.css" media="all">
<link rel="stylesheet" href="/static/css/public.css" media="all">
</head>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<script id="toolbarDemo" type="text/html">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="delete">删除</button>
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="applicationIn">入库申请</button>
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="applicationOut">出库申请</button>
</div>
</script>
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
<script id="currentTableBar" type="text/html">
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-subclass" lay-event="applicationIn">入库申请</a>
<a class="layui-btn layui-btn-xs data-count-edit" lay-event="applicationOut" >出库申请</a>
</script>
</div>
</div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script>
var data;
layui.use(['form', 'table'], function () {
var $ = layui.jquery,
form = layui.form,
table = layui.table;
table.render({
elem: "#currentTableId",
url: '/depositoryRecord/applicant_multi_create',
parseData: function (res) { //res 即为原始返回的数据
return {
"status": res.status, //解析接口状态
"message": res.statusInfo.message, //解析提示文本
"count": res.count, //解析数据长度
"data": res.data //解析数据列表
};
},
request: {
pageName: 'page', //页码的参数名称,默认:page
limitName: 'size' //每页数据量的参数名,默认:limit
},
response: {
statusName: 'status' //规定数据状态的字段名称,默认:code
,statusCode: 200 //规定成功的状态码,默认:0
,msgName: 'message' //规定状态信息的字段名称,默认:msg
,countName: 'count' //规定数据总数的字段名称,默认:count
,dataName: 'data' //规定数据列表的字段名称,默认:data
},
toolbar: '#toolbarDemo',
cols: [
[
{type: "checkbox", width: 50},
{field: 'mname', width: '10%', title: '材料名称'},
{field: 'version', width: '10%', title: '规格型号'},
{field: 'code',width: 200,title: '存货编码',sort: true},
{field: 'depositoryName', width: '12%', title: '仓库名称'},
{field: 'quantity', width: '10%', title: '数量',edit:'quantity'},
{field: 'depositoryId', width: '10%', title: '仓库编号',edit:'quantity'},
{field: 'applyRemark', width: '10%', title: '备注说明',edit:'applyRemark'},
{title: '操作', minWidth: 250, toolbar: '#currentTableBar', align: "center"}
]
],
limits: [10, 15, 20, 25, 50],
limit: 10,
page: true,
skin: 'line',
done:function () {
$("[data-field='id']").css('display','none');
$("[data-field='depositoryId']").css('display','none');
}
});
//监听表格复选框选择
table.on('checkbox(currentTableFilter)', function (obj) {
console.log(obj)
});
table.on('edit(currentTableFilter)', function(obj){ //注:edit是固定事件名,test是table原始容器的属性 lay-filter="对应的值"
console.log(obj.data); //所在行的所有相关数据
});
/**
* toolbar监听事件
*/
table.on('toolbar(currentTableFilter)', function (obj) {
var checkStatus = table.checkStatus('currentTableId')
, data = checkStatus.data;
var req = {};
req.mids = [];
req.depositoryIds = [];
req.quantitys = [];
req.applyRemarks = [];
for (i = 0, len = data.length; i < len; i++) {
req.mids[i] = data[i].mid;
req.depositoryIds[i] = data[i].depositoryId;
req.quantitys[i] = data[i].quantity;
req.applyRemarks[i] = data[i].applyRemark;
}
if(obj.event==='delete'){
if(req.mids > 0) {
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: "/depositoryRecord/deleteApplicationToRedis",
type: "post",
data: JSON.stringify(req),
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (d) {
layer.close(this.layerIndex);
if (d.status >= 300) {
layer.msg(d.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功!", {
icon: 6,//成功的表情
time: 1000
}, //1秒关闭(如果不配置,默认是3秒)
function () {
//do something
window.location = "/application_multi"
});
}
}
})
})
}else{
layer.msg("未选中记录,请确认!");
return false;
}
}
else if(obj.event === 'applicationIn'){
req.type = 'in';
$.ajax({
url:"/depositoryRecord/createMultiApplications",
type:"post",
data:JSON.stringify(req),
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (d) {
layer.close(this.layerIndex);
if (d.status >= 300) {
layer.msg(d.statusInfo.message);//失败的表情
return;
} else {
layer.msg("申请成功!", {
icon: 6,//成功的表情
time: 1000
}, //1秒关闭(如果不配置,默认是3秒)
function(){
//do something
window.location="/application_multi"
});
}
}
});
return false;
}
else if(obj.event === 'applicationOut'){
req.type = 'out';
$.ajax({
url:"/depositoryRecord/createMultiApplications",
type:"post",
data:JSON.stringify(req),
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (d) {
layer.close(this.layerIndex);
if (d.status >= 300) {
layer.msg(d.statusInfo.message);//失败的表情
return;
} else {
layer.msg("申请成功!", {
icon: 6,//成功的表情
time: 1000
}, //1秒关闭(如果不配置,默认是3秒)
function(){
//do something
window.location="/application_multi"
});
}
}
});
return false;
}
});
table.on('tool(currentTableFilter)', function (obj) {
let data = obj.data;
if (obj.event === 'applicationIn') {
// 入库申请
var req = data;
req.type = "in";
$.ajax({
url:"/depositoryRecord/createMultiApplication",
type:"post",
data:JSON.stringify(req),
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (d) {
layer.close(this.layerIndex);
if (d.status >= 300) {
layer.msg(d.statusInfo.message);//失败的表情
return;
} else {
layer.msg("申请成功!", {
icon: 6,//成功的表情
time: 1000
}, //1秒关闭(如果不配置,默认是3秒)
function(){
//do something
window.location="/application_multi"
});
}
}
});
return false;
}
else if(obj.event === 'applicationOut'){
// 出库申请
var req = data;
req.type = "out";
$.ajax({
url:"/depositoryRecord/createMultiApplication",
type:"post",
data:JSON.stringify(req),
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (d) {
layer.close(this.layerIndex);
if (d.status >= 300) {
layer.msg(d.statusInfo.message);//失败的表情
return;
} else {
layer.msg("申请成功!", {
icon: 6,//成功的表情
time: 1000
}, //1秒关闭(如果不配置,默认是3秒)
function(){
//do something
window.location="/application_multi"
});
}
}
});
return false;
}
else if(obj.event === 'selectDepository'){
console.log(data)
}
});
});
</script>
</body>
</html>

2
target/classes/templates/pages/company/company-out.html

@ -116,7 +116,7 @@
limit: 10,
page: true,
skin: 'line',
one:function () {
done:function () {
$("[data-field='id']").css('display','none');
}
});

67
target/classes/templates/pages/depository/table-in.html

@ -192,36 +192,43 @@
for (i=0,len=data.length;i<len;i++){
req.ids[i]=data[i].id;
}
$.ajax({
url: '/depositoryRecord/deleteApplicationInRecord',
type: 'delete',
dataType:'json',
contentType: "application/json;charset=utf-8",
data:JSON.stringify(req),
beforeSend:function () {
this.layerIndex = layer.load(0, { shade: [0.5, '#393D49'] });
},
success:function(data){
layer.close(this.layerIndex);
if(data.status >= 300){
layer.msg(data.statusInfo.message);//失败的表情
return;
}else{
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/depositoryRecord/applicationInView',
page: {
curr: 1
if(req.ids.length > 0) {
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/depositoryRecord/deleteApplicationInRecord',
type: 'post',
dataType: 'json',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/depositoryRecord/applicationInView',
page: {
curr: 1
}
}, 'data');
return false;
}
}, 'data');
return false;
}
}
})
}
})
})
}else{
layer.msg("未选中记录,请确认!");
return false;
}
}
});
@ -253,7 +260,7 @@
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/depositoryRecord/deleteApplicationInRecord',
type: 'delete',
type: 'post',
dataType:'json',
contentType: "application/json;charset=utf-8",
data:JSON.stringify(req),

67
target/classes/templates/pages/depository/table-out.html

@ -204,36 +204,43 @@
for (i=0,len=data.length;i<len;i++){
req.ids[i]=data[i].id;
}
$.ajax({
url: '/depositoryRecord/deleteApplicationOutRecord',
type: 'delete',
dataType:'json',
contentType: "application/json;charset=utf-8",
data:JSON.stringify(req),
beforeSend:function () {
this.layerIndex = layer.load(0, { shade: [0.5, '#393D49'] });
},
success:function(data){
layer.close(this.layerIndex);
if(data.status >= 300){
layer.msg(data.statusInfo.message);//失败的表情
return;
}else{
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/depositoryRecord/applicationOutView',
page: {
curr: 1
if(req.ids.length > 0) {
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/depositoryRecord/deleteApplicationOutRecord',
type: 'post',
dataType: 'json',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/depositoryRecord/applicationOutView',
page: {
curr: 1
}
}, 'data');
return false;
}
}, 'data');
return false;
}
}
})
}
})
});
}else{
layer.msg("未选中记录,请确认!");
return false;
}
}
});
@ -264,7 +271,7 @@
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: 'depositoryRecord/deleteApplicationOutRecord',
type: 'delete',
type: 'post',
dataType:'json',
contentType: "application/json;charset=utf-8",
data:JSON.stringify(req),

105
target/classes/templates/pages/depository/table-stock.html

@ -51,6 +51,13 @@
</div>
</fieldset>
<script id="toolbarDemo" type="text/html">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="add">添加</button>
<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="dispose">处理</button>
</div>
</script>
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
<script id="currentTableBar" type="text/html">
<a class="layui-btn layui-btn-normal layui-btn-xs data-count-subclass" lay-event="applicationIn">入库申请</a>
@ -80,7 +87,7 @@
table.render({
elem: "#currentTableId",
url: '/material/material',
url: '/material/findInventory',
parseData: function (res) { //res 即为原始返回的数据
return {
"status": res.status, //解析接口状态
@ -100,7 +107,7 @@
,countName: 'count' //规定数据总数的字段名称,默认:count
,dataName: 'data' //规定数据列表的字段名称,默认:data
},
toolbar: ['filter', 'exports', 'print'],
toolbar: '#toolbarDemo',
cols: [
[
{type: "checkbox", width: 50},
@ -148,7 +155,7 @@
}
//执行搜索重载
table.reload('currentTableId', {
url: '/material/material',
url: '/material/findInventory',
page: {
curr: 1
}
@ -157,6 +164,80 @@
return false;
});
/**
* toolbar监听事件
*/
table.on('toolbar(currentTableFilter)', function (obj) {
if (obj.event === 'add') { // 监听入库申请操作
var checkStatus = table.checkStatus('currentTableId')
, data = checkStatus.data;
var req = {};
req.mids = [];
req.depositoryIds = [];
for (i = 0, len = data.length; i < len; i++) {
req.mids[i] = data[i].id;
req.depositoryIds[i] = data[i].depositoryId;
}
if(req.mids.length > 0) {
$.ajax({
url: "/depositoryRecord/addApplicationToRedis",
type: "post",
data: JSON.stringify(req),
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (data) {
if (data.status == 201) {
layer.msg("添加成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
}, function () {
//执行搜索重载
table.reload('currentTableId', {
url: '/material/findInventory',
page: {
curr: 1
}
}, 'data');
});
} else {
layer.msg("添加失败,请重试", {
icon: 2,
time: 200,
}, function () {
//执行搜索重载
table.reload('currentTableId', {
url: '/material/findInventory',
page: {
curr: 1
}
}, 'data');
})
}
}
})
}
else{
layer.msg("未选中记录,请确认!");
return false;
}
}
else if(obj.event==='dispose'){
var index = layer.open({
title: '入库申请',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['100%', '100%'],
content: '/application_multi'
});
$(window).on("resize", function () {
layer.full(index);
});
return false;
}
});
table.on('tool(currentTableFilter)', function (obj) {
let data = obj.data;
if (obj.event === 'applicationIn') {
@ -174,9 +255,23 @@
layer.full(index);
});
return false;
}else{
}else if(obj.event === 'applicationOut'){
// 出库申请
console.log(data)
var index = layer.open({
title: '入库申请',
type: 2,
shade: 0.2,
maxmin: true,
shadeClose: true,
area: ['100%', '100%'],
content: '/application_out_back?mid='+data.id
});
$(window).on("resize", function () {
layer.full(index);
});
return false;
}
});
});

66
target/classes/templates/pages/material/material-out.html

@ -235,36 +235,44 @@
for (i=0,len=data.length;i<len;i++){
req.ids[i]=data[i].id;
}
$.ajax({
url: '/material/material_del',
dataType:'json',
type:'POST',
contentType: "application/json;charset=utf-8",
data:JSON.stringify(req),
beforeSend:function () {
this.layerIndex = layer.load(0, { shade: [0.5, '#393D49'] });
},
success:function(data){
layer.close(this.layerIndex);
if(data.status >= 300){
layer.msg(data.statusInfo.message);//失败的表情
return;
}else{
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/material/material',
page: {
curr: 1
if(req.ids.length > 0) {
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/material/material_del',
dataType: 'json',
type: 'POST',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/material/material',
page: {
curr: 1
}
}, 'data');
return false;
}
}, 'data');
return false;
}
}
})
}
})
})
}
else{
layer.msg("未选中记录,请确认!");
return false;
}
}
});

66
target/classes/templates/pages/materialtype/materialType_view.html

@ -170,36 +170,44 @@
for (i=0,len=data.length;i<len;i++){
req.ids[i]=data[i].id;
}
$.ajax({
url: '/materialType/materialType_del',
dataType:'json',
type:'POST',
contentType: "application/json;charset=utf-8",
data:JSON.stringify(req),
beforeSend:function () {
this.layerIndex = layer.load(0, { shade: [0.5, '#393D49'] });
},
success:function(data){
layer.close(this.layerIndex);
if(data.status >= 300){
layer.msg(data.statusInfo.message);//失败的表情
return;
}else{
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/materialType/materialTypeRecord',
page: {
curr: 1
if(req.ids.length > 0) {
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/materialType/materialType_del',
dataType: 'json',
type: 'POST',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/materialType/materialTypeRecord',
page: {
curr: 1
}
}, 'data');
return false;
}
}, 'data');
return false;
}
}
})
}
})
})
}
else{
layer.msg("未选中记录,请确认!");
return false;
}
}
});

2
target/classes/templates/pages/post/post-out.html

@ -126,7 +126,7 @@
limit: 10,
page: true,
skin: 'line',
one:function () {
done:function () {
$("[data-field='id']").css('display','none');
$("[data-field='rolename']").css('display','none');
}

65
target/classes/templates/pages/post/postRole.html

@ -165,37 +165,42 @@
req.ids[i] = data[i].id;
req.depositoryIds[i] = data[i].depositoryId;
}
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/company/postRole_del',
dataType: 'json',
type: 'POST',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('demo', {
url: '/company/findPostRole?postId=' + postId,
page: {
curr: 1
}
}, 'data');
if(req.ids.length > 0) {
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/company/postRole_del',
dataType: 'json',
type: 'POST',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('demo', {
url: '/company/findPostRole?postId=' + postId,
page: {
curr: 1
}
}, 'data');
}
}
}
})
});
})
});
}else{
layer.msg("未选中记录,请确认!");
return false;
}
}
})

65
target/classes/templates/pages/user/userRole.html

@ -169,37 +169,42 @@
for (i = 0, len = data.length; i < len; i++) {
req.ids[i] = data[i].id;
}
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/sys/userRole_del',
dataType: 'json',
type: 'POST',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('demo', {
url: '/findUserRole?userId='+userId,
page: {
curr: 1
}
}, 'data');
if(req.ids.length > 0) {
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/sys/userRole_del',
dataType: 'json',
type: 'POST',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('demo', {
url: '/findUserRole?userId=' + userId,
page: {
curr: 1
}
}, 'data');
}
}
}
})
});
})
});
}else{
layer.msg("未选中记录,请确认!");
return false;
}
}
})
});

115
target/classes/templates/pages/warehouse/depository-out.html

@ -197,62 +197,69 @@
for (i = 0, len = data.length; i < len; i++) {
req.ids[i] = data[i].id;
}
$.ajax({
url: "/repository/findRelevancyByDepository",
type: "post",
data: JSON.stringify(req),
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (data) {
if (data.data) {
layer.msg("该仓库尚有记录无法删除", {
icon: 7,
time: 500 //1秒关闭(如果不配置,默认是3秒)
}, function () {
// 执行重加载
table.reload('currentTableId', {
url: '/repository/warehouseRecord',
page: {
curr: 1
},
where: {"parentId": parentId}
});
})
} else {
$.ajax({
url: '/repository/depository_del',
dataType: 'json',
type: 'POST',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/repository/warehouseRecord',
page: {
curr: 1
if(req.ids.length > 0) {
$.ajax({
url: "/repository/findRelevancyByDepository",
type: "post",
data: JSON.stringify(req),
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (data) {
if (data.data) {
layer.msg("该仓库尚有记录无法删除", {
icon: 7,
time: 500 //1秒关闭(如果不配置,默认是3秒)
}, function () {
// 执行重加载
table.reload('currentTableId', {
url: '/repository/warehouseRecord',
page: {
curr: 1
},
where: {"parentId": parentId}
});
})
} else {
layer.confirm('真的删除么', {icon: 2, title: '提示'}, function (index) {
$.ajax({
url: '/repository/depository_del',
dataType: 'json',
type: 'POST',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(req),
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
} else {
layer.msg("删除成功", {
icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒)
});
//执行搜索重载
table.reload('currentTableId', {
url: '/repository/warehouseRecord',
page: {
curr: 1
}
}, 'data');
return false;
}
}, 'data');
return false;
}
}
})
}
})
})
}
}
}
});
});
}
else{
layer.msg("未选中记录,请确认!");
return false;
}
}
});

Loading…
Cancel
Save