From 682822438b89a99787be856f2af2a39b996c6361 Mon Sep 17 00:00:00 2001 From: mrzhssss <pro6@qq.com> Date: 星期三, 06 四月 2022 16:49:56 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/manager/mapper/ItemReportMapper.java | 12 src/main/java/zy/cloud/wms/manager/controller/ItemReportController.java | 147 ++++++++ src/main/webapp/views/item/item.html | 69 ++++ src/main/java/zy/cloud/wms/manager/service/ItemService.java | 3 src/main/webapp/static/js/itemReport/itemReport.js | 257 +++++++++++++++ src/main/java/zy/cloud/wms/manager/service/impl/ItemServiceImpl.java | 14 src/main/java/itemReport.sql | 18 + src/main/java/zy/cloud/wms/common/CodeBuilder.java | 4 src/main/java/zy/cloud/wms/manager/service/ItemReportService.java | 9 src/main/resources/mapper/ItemReportMapper.xml | 27 + src/main/java/zy/cloud/wms/manager/entity/ItemReport.java | 201 +++++++++++ src/main/webapp/views/itemReport/itemReport.html | 138 ++++++++ src/main/java/zy/cloud/wms/manager/service/impl/ItemReportServiceImpl.java | 73 ++++ src/main/webapp/static/js/item/item.js | 11 14 files changed, 975 insertions(+), 8 deletions(-) diff --git a/src/main/java/itemReport.sql b/src/main/java/itemReport.sql new file mode 100644 index 0000000..dbc0b49 --- /dev/null +++ b/src/main/java/itemReport.sql @@ -0,0 +1,18 @@ +-- save itemReport record +-- mysql +insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'itemReport/itemReport.html', 'itemReport绠$悊', null , '2', null , '1'); + +insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'itemReport#view', '鏌ヨ', '', '3', '0', '1'); +insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'itemReport#btn-add', '鏂板', '', '3', '1', '1'); +insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'itemReport#btn-edit', '缂栬緫', '', '3', '2', '1'); +insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'itemReport#btn-delete', '鍒犻櫎', '', '3', '3', '1'); +insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'itemReport#btn-export', '瀵煎嚭', '', '3', '4', '1'); + +-- sqlserver +insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'itemReport/itemReport.html', N'itemReport绠$悊', null, '2', null, '1'); + +insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'itemReport#view', N'鏌ヨ', '40587', '3', '0', '1'); +insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'itemReport#btn-add', N'鏂板', '40587', '3', '1', '1'); +insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'itemReport#btn-edit', N'缂栬緫', '40587', '3', '2', '1'); +insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'itemReport#btn-delete', N'鍒犻櫎', '40587', '3', '3', '1'); +insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'itemReport#btn-export', N'瀵煎嚭', '40587', '3', '4', '1'); diff --git a/src/main/java/zy/cloud/wms/common/CodeBuilder.java b/src/main/java/zy/cloud/wms/common/CodeBuilder.java index dddae57..bf6db48 100644 --- a/src/main/java/zy/cloud/wms/common/CodeBuilder.java +++ b/src/main/java/zy/cloud/wms/common/CodeBuilder.java @@ -20,10 +20,10 @@ // generator.password="xltys1995"; // generator.table="sys_host"; // sqlserver - generator.url="localhost:1433;databasename=zypms"; + generator.url="192.168.4.15:1433;databasename=zypms"; generator.username="sa"; generator.password="sa@123"; - generator.table="sys_project_plan"; + generator.table="man_item_report"; generator.packagePath="zy.cloud.wms.manager"; generator.sqlOsType = SqlOsType.SQL_SERVER; // generator.js = false; diff --git a/src/main/java/zy/cloud/wms/manager/controller/ItemReportController.java b/src/main/java/zy/cloud/wms/manager/controller/ItemReportController.java new file mode 100644 index 0000000..a6e0717 --- /dev/null +++ b/src/main/java/zy/cloud/wms/manager/controller/ItemReportController.java @@ -0,0 +1,147 @@ +package zy.cloud.wms.manager.controller; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.baomidou.mybatisplus.plugins.Page; +import com.core.common.DateUtils; +import com.core.exception.CoolException; +import zy.cloud.wms.manager.entity.Cstmr; +import zy.cloud.wms.manager.entity.Item; +import zy.cloud.wms.manager.entity.ItemReport; +import zy.cloud.wms.manager.service.ItemReportService; +import com.core.annotations.ManagerAuth; +import com.core.common.BaseRes; +import com.core.common.Cools; +import com.core.common.R; +import zy.cloud.wms.common.web.BaseController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import zy.cloud.wms.manager.service.ItemService; + +import java.util.*; + +@RestController +public class ItemReportController extends BaseController { + + @Autowired + private ItemReportService itemReportService; + @Autowired + private ItemService itemService; + + @RequestMapping(value = "/itemReport/{id}/auth") + @ManagerAuth + public R get(@PathVariable("id") String id) { + return R.ok(itemReportService.selectById(String.valueOf(id))); + } + + @RequestMapping(value = "/itemReport/list/auth") + @ManagerAuth + public R list(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam(required = false)String orderByField, + @RequestParam(required = false)String orderByType, + @RequestParam Map<String, Object> param){ + EntityWrapper<ItemReport> wrapper = new EntityWrapper<>(); + excludeTrash(param); + convert(param, wrapper); +// if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} + wrapper.orderBy("update_time",false); + return R.ok(itemReportService.selectPage(new Page<>(curr, limit), wrapper)); + } + + private void convert(Map<String, Object> map, EntityWrapper wrapper){ + for (Map.Entry<String, Object> entry : map.entrySet()){ + String val = String.valueOf(entry.getValue()); + if (val.contains(RANGE_TIME_LINK)){ + String[] dates = val.split(RANGE_TIME_LINK); + wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); + wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); + } else { + wrapper.like(entry.getKey(), val); + } + } + } + + @RequestMapping(value = "/itemReport/add/auth") + @ManagerAuth + public R add(ItemReport itemReport) { + if (Cools.isEmpty(itemReport)) { + throw new CoolException("鐢熸垚鎶ュ憡閿欒,璇疯仈绯荤鐞嗗憳"); + } + itemReportService.init(itemReport,getUserId()); + return R.ok(); + } + + @RequestMapping(value = "/itemReport/update/auth") + @ManagerAuth + public R update(ItemReport itemReport){ + if (Cools.isEmpty(itemReport) || null==itemReport.getId()){ + return R.error(); + } + itemReportService.updateById(itemReport); + return R.ok(); + } + + @RequestMapping(value = "/itemReport/delete/auth") + @ManagerAuth + public R delete(@RequestParam(value="ids[]") Long[] ids){ + for (Long id : ids){ + itemReportService.deleteById(id); + } + return R.ok(); + } + + @RequestMapping(value = "/itemReport/export/auth") + @ManagerAuth + public R export(@RequestBody JSONObject param){ + EntityWrapper<ItemReport> wrapper = new EntityWrapper<>(); + List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); + Map<String, Object> map = excludeTrash(param.getJSONObject("itemReport")); + convert(map, wrapper); + List<ItemReport> list = itemReportService.selectList(wrapper); + return R.ok(exportSupport(list, fields)); + } + + @RequestMapping(value = "/itemReportQuery/auth") + @ManagerAuth + public R query(String condition) { + EntityWrapper<ItemReport> wrapper = new EntityWrapper<>(); + wrapper.like("id", condition); + Page<ItemReport> page = itemReportService.selectPage(new Page<>(0, 10), wrapper); + List<Map<String, Object>> result = new ArrayList<>(); + for (ItemReport itemReport : page.getRecords()){ + Map<String, Object> map = new HashMap<>(); + map.put("id", itemReport.getId()); + map.put("value", itemReport.getId()); + result.add(map); + } + return R.ok(result); + } + + @RequestMapping(value = "/itemReport/check/column/auth") + @ManagerAuth + public R query(@RequestBody JSONObject param) { + Wrapper<ItemReport> wrapper = new EntityWrapper<ItemReport>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); + if (null != itemReportService.selectOne(wrapper)){ + return R.parse(BaseRes.REPEAT).add(getComment(ItemReport.class, String.valueOf(param.get("key")))); + } + return R.ok(); + } + + + @RequestMapping("/itemId/auth") + @ManagerAuth + public R selectItem(){ + List<Item> items = itemService.selectList(null); + List<Map<String, Object>> result = new ArrayList<>(); + for (Item item : items) { + Map<String,Object> content = new HashMap<>(); + content.put("id",item.getId()); + content.put("value",item.getName()); + result.add(content); + } + return R.ok(result); + } +} diff --git a/src/main/java/zy/cloud/wms/manager/entity/ItemReport.java b/src/main/java/zy/cloud/wms/manager/entity/ItemReport.java new file mode 100644 index 0000000..fdef57c --- /dev/null +++ b/src/main/java/zy/cloud/wms/manager/entity/ItemReport.java @@ -0,0 +1,201 @@ +package zy.cloud.wms.manager.entity; + +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.enums.IdType; +import com.core.common.Cools;import io.swagger.annotations.ApiModelProperty; +import com.baomidou.mybatisplus.annotations.TableField; + +import java.text.SimpleDateFormat; +import java.util.Date; + +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import com.baomidou.mybatisplus.annotations.TableName; +import java.io.Serializable; + +@Data +@NoArgsConstructor +@TableName("man_item_report") +public class ItemReport implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 鑷鍞竴ID + */ + @ApiModelProperty(value= "鑷鍞竴ID") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 缁戝畾椤圭洰ID + */ + @ApiModelProperty(value= "缁戝畾椤圭洰ID") + @TableField("item_id") + private Long itemId; + + /** + * 缁戝畾椤圭洰鍚嶇О + */ + @ApiModelProperty(value= "缁戝畾椤圭洰鍚嶇О") + @TableField("item_name") + private String itemName; + + /** + * 鏄惁鏈変氦浠橀棶棰� + */ + @ApiModelProperty(value= "鏄惁鏈変氦浠橀棶棰�") + @TableField("deliver_issue") + private Boolean deliverIssue; + + /** + * 浜や粯闂鍘熷洜 + */ + @ApiModelProperty(value= "浜や粯闂鍘熷洜") + @TableField("deliver_reason") + private String deliverReason; + + /** + * 鏄惁鏈夎川閲忛棶棰� + */ + @ApiModelProperty(value= "鏄惁鏈夎川閲忛棶棰�") + @TableField("quality_issue") + private Boolean qualityIssue; + + /** + * 璐ㄩ噺闂鍘熷洜 + */ + @ApiModelProperty(value= "璐ㄩ噺闂鍘熷洜") + @TableField("quality_reason") + private String qualityReason; + + /** + * 鏄惁鏈夎璁¢棶棰� + */ + @ApiModelProperty(value= "鏄惁鏈夎璁¢棶棰�") + @TableField("design_issue") + private Boolean designIssue; + + /** + * 璁捐闂鍘熷洜 + */ + @ApiModelProperty(value= "璁捐闂鍘熷洜") + @TableField("design_reason") + private String designReason; + + /** + * 鏄惁鏈夊畨瑁呴棶棰� + */ + @ApiModelProperty(value= "鏄惁鏈夊畨瑁呴棶棰�") + @TableField("install_issue") + private Boolean installIssue; + + /** + * 瀹夎闂鍘熷洜 + */ + @ApiModelProperty(value= "瀹夎闂鍘熷洜") + @TableField("install_reason") + private String installReason; + + /** + * 鎬荤粨 + */ + @ApiModelProperty(value= "鎬荤粨") + private String conclusion; + + @ApiModelProperty(value= "") + @TableField("update_by") + private Long updateBy; + + @ApiModelProperty(value= "") + @TableField("update_time") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + @ApiModelProperty(value= "") + @TableField("create_by") + private Long createBy; + + @ApiModelProperty(value= "") + @TableField("create_time") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + + /** + * 1:鏈敓鎴�,2:宸茬敓鎴�(涓嶅彲淇敼) + */ + @ApiModelProperty(value= "1:鏈敓鎴�,2:宸茬敓鎴�(涓嶅彲淇敼)") + private Integer status; + + + public String getUpdateTime$(){ + if (Cools.isEmpty(this.updateTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + public Long getCreateBy() { + return createBy; + } + + public void setCreateBy(Long createBy) { + this.createBy = createBy; + } + + public Date getCreateTime() { + return createTime; + } + + public String getCreateTime$(){ + if (Cools.isEmpty(this.createTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public String getDeliverReason$(){ + if (this.deliverReason == null || this.deliverReason.equals("")) { + return "鏃�"; + } + return this.deliverReason; + } + + public String getQualityReason$(){ + if (this.qualityReason == null || this.qualityReason.equals("")) { + return "鏃�"; + } + return this.qualityReason; + } + + public String getDesignReason$(){ + if (this.designReason == null || this.designReason.equals("")) { + return "鏃�"; + } + return this.designReason; + } + public String getInstallReason$(){ + if (this.installReason == null || this.installReason.equals("")) { + return "鏃�"; + } + return this.installReason; + } +} diff --git a/src/main/java/zy/cloud/wms/manager/mapper/ItemReportMapper.java b/src/main/java/zy/cloud/wms/manager/mapper/ItemReportMapper.java new file mode 100644 index 0000000..24cfb63 --- /dev/null +++ b/src/main/java/zy/cloud/wms/manager/mapper/ItemReportMapper.java @@ -0,0 +1,12 @@ +package zy.cloud.wms.manager.mapper; + +import zy.cloud.wms.manager.entity.ItemReport; +import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +@Mapper +@Repository +public interface ItemReportMapper extends BaseMapper<ItemReport> { + +} diff --git a/src/main/java/zy/cloud/wms/manager/service/ItemReportService.java b/src/main/java/zy/cloud/wms/manager/service/ItemReportService.java new file mode 100644 index 0000000..f53f5d9 --- /dev/null +++ b/src/main/java/zy/cloud/wms/manager/service/ItemReportService.java @@ -0,0 +1,9 @@ +package zy.cloud.wms.manager.service; + +import zy.cloud.wms.manager.entity.ItemReport; +import com.baomidou.mybatisplus.service.IService; + +public interface ItemReportService extends IService<ItemReport> { + + void init(ItemReport itemReport, Long userId); +} diff --git a/src/main/java/zy/cloud/wms/manager/service/ItemService.java b/src/main/java/zy/cloud/wms/manager/service/ItemService.java index 84f1e00..60487cb 100644 --- a/src/main/java/zy/cloud/wms/manager/service/ItemService.java +++ b/src/main/java/zy/cloud/wms/manager/service/ItemService.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.plugins.Page; import zy.cloud.wms.manager.entity.Item; import com.baomidou.mybatisplus.service.IService; +import zy.cloud.wms.manager.entity.ItemReport; import java.util.List; @@ -19,4 +20,6 @@ List<Item> inspected(); List<Item> finished(); + + } diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/ItemReportServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/ItemReportServiceImpl.java new file mode 100644 index 0000000..7618d0c --- /dev/null +++ b/src/main/java/zy/cloud/wms/manager/service/impl/ItemReportServiceImpl.java @@ -0,0 +1,73 @@ +package zy.cloud.wms.manager.service.impl; + +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.Cools; +import com.core.exception.CoolException; +import org.springframework.beans.factory.annotation.Autowired; +import zy.cloud.wms.manager.entity.Item; +import zy.cloud.wms.manager.mapper.ItemReportMapper; +import zy.cloud.wms.manager.entity.ItemReport; +import zy.cloud.wms.manager.service.ItemReportService; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import zy.cloud.wms.manager.service.ItemService; + +import java.util.Date; + +@Service("itemReportService") +public class ItemReportServiceImpl extends ServiceImpl<ItemReportMapper, ItemReport> implements ItemReportService { + @Autowired + private ItemService itemService; + + /** + * 鍒濆鍖栫敓鎴恟eport + * @param report + * @param userId + */ + @Override + public void init(ItemReport report, Long userId) { + /** + * 鎺х涓庡弬鏁板垵濮嬪寲 + */ + Date now = new Date(); + Item id = itemService.selectOne(new EntityWrapper<Item>() + .eq("id", report.getItemId())); + if (Cools.isEmpty(id)) { + throw new CoolException("鎵句笉鍒拌椤圭洰,璇疯仈绯荤鐞嗗憳"); + } + report.setItemName(id.getName()); + + + /** + * 濡傛灉鍓嶇杩斿洖鍘熷洜,琛ㄧず鏈夊紓甯�,灏嗙姸鎬佽缃负true + */ + if (report.getDeliverReason() == null || report.getDeliverReason().equals("")) { + report.setDeliverIssue(false); + }else { + report.setDeliverIssue(true); + } + + if (report.getQualityReason() == null || report.getQualityReason().equals("")) { + report.setQualityIssue(false); + }else { + report.setQualityIssue(true); + } + + if (report.getDesignReason() == null || report.getDesignReason().equals("")) { + report.setDesignIssue(false); + }else { + report.setDesignIssue(true); + } + + if (report.getInstallReason() == null || report.getInstallReason().equals("")) { + report.setInstallIssue(false); + }else { + report.setInstallIssue(true); + } + report.setUpdateTime(now); + report.setUpdateBy(userId); + report.setCreateTime(now); + report.setCreateBy(userId); + insert(report); + } +} diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/ItemServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/ItemServiceImpl.java index e9a647a..3fa1897 100644 --- a/src/main/java/zy/cloud/wms/manager/service/impl/ItemServiceImpl.java +++ b/src/main/java/zy/cloud/wms/manager/service/impl/ItemServiceImpl.java @@ -2,21 +2,18 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; +import com.core.common.Cools; +import com.core.exception.CoolException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; -import zy.cloud.wms.manager.entity.FlowStatus; -import zy.cloud.wms.manager.entity.ProjectPlan; -import zy.cloud.wms.manager.entity.ProjectType; +import zy.cloud.wms.manager.entity.*; import zy.cloud.wms.manager.mapper.ItemMapper; -import zy.cloud.wms.manager.entity.Item; import zy.cloud.wms.manager.service.FlowStatusService; import zy.cloud.wms.manager.service.ItemService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import zy.cloud.wms.manager.service.ProjectPlanService; -import zy.cloud.wms.manager.service.ProjectTypeService; -import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -26,6 +23,8 @@ private ProjectPlanService planService; @Autowired private FlowStatusService flowStatusService; + @Autowired + private ItemService itemService; @Override public Item selectByName(String name) { @@ -73,4 +72,7 @@ public List<Item> finished(){ return baseMapper.finished(); } + + + } diff --git a/src/main/resources/mapper/ItemReportMapper.xml b/src/main/resources/mapper/ItemReportMapper.xml new file mode 100644 index 0000000..1b33edc --- /dev/null +++ b/src/main/resources/mapper/ItemReportMapper.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="zy.cloud.wms.manager.mapper.ItemReportMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="zy.cloud.wms.manager.entity.ItemReport"> + <result column="id" property="id" /> + <result column="item_id" property="itemId" /> + <result column="item_name" property="itemName" /> + <result column="deliver_issue" property="deliverIssue" /> + <result column="deliver_reason" property="deliverReason" /> + <result column="quality_issue" property="qualityIssue" /> + <result column="quality_reson" property="qualityReson" /> + <result column="design_issue" property="designIssue" /> + <result column="design_reason" property="designReason" /> + <result column="install_issue" property="installIssue" /> + <result column="install_reason" property="installReason" /> + <result column="conclusion" property="conclusion" /> + <result column="update_by" property="updateBy" /> + <result column="update_time" property="updateTime" /> + <result column="create_by" property="createBy" /> + <result column="create_time" property="createTime" /> + <result column="status" property="status" /> + + </resultMap> + +</mapper> diff --git a/src/main/webapp/static/js/item/item.js b/src/main/webapp/static/js/item/item.js index 19d2df9..15f5edd 100644 --- a/src/main/webapp/static/js/item/item.js +++ b/src/main/webapp/static/js/item/item.js @@ -162,9 +162,20 @@ case "initPlan": initPlan(data.id); break; + case "report": + initReport(obj); + break; } }); + function initReport(obj) { + admin.open({ + type: 1, + area: '600px', + title: '鎬荤粨鐢熸垚', + content: $('#initReport').html() + }); + } /* 寮圭獥 - 鏂板銆佷慨鏀� */ function showEditModel(mData) { admin.open({ diff --git a/src/main/webapp/static/js/itemReport/itemReport.js b/src/main/webapp/static/js/itemReport/itemReport.js new file mode 100644 index 0000000..c08290e --- /dev/null +++ b/src/main/webapp/static/js/itemReport/itemReport.js @@ -0,0 +1,257 @@ +var pageCurr; +layui.config({ + base: baseUrl + "/static/layui/lay/modules/" +}).use(['table','laydate', 'form', 'admin'], function(){ + var table = layui.table; + var $ = layui.jquery; + var layer = layui.layer; + var layDate = layui.laydate; + var form = layui.form; + var admin = layui.admin; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#itemReport', + headers: {token: localStorage.getItem('token')}, + url: baseUrl+'/itemReport/list/auth', + page: true, + limit: 16, + limits: [16, 30, 50, 100, 200, 500], + toolbar: '#toolbar', + cellMinWidth: 50, + cols: [[ + {field: 'itemId', align: 'center',title: '璁㈠崟鍙�'} + ,{field: 'itemName', align: 'center',title: '椤圭洰鍚嶇О'} + ,{field: 'deliverReason$', align: 'center',title: '浜や粯闂鍘熷洜'} + ,{field: 'qualityReason$', align: 'center',title: '璐ㄩ噺闂鍘熷洜'} + ,{field: 'designReason$', align: 'center',title: '璁捐闂鍘熷洜'} + ,{field: 'installReason$', align: 'center',title: '瀹夎闂鍘熷洜'} + ,{field: 'conclusion', align: 'center',title: '鎬荤粨'} + ,{field: 'updateBy', align: 'center',title: '', hide:true} + ,{field: 'updateTime$', align: 'center',title: '', hide:true} + ,{field: 'createBy', align: 'center',title: '', hide:true} + ,{field: 'createTime$', align: 'center',title: '', hide:true} + + + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150} + ]], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + } + }); + + // 鐩戝惉鎺掑簭浜嬩欢 + table.on('sort(itemReport)', function (obj) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + searchData['orderByField'] = obj.field; + searchData['orderByType'] = obj.type; + tableIns.reload({ + where: searchData, + page: {curr: 1} + }); + }); + + // 鐩戝惉澶村伐鍏锋爮浜嬩欢 + table.on('toolbar(itemReport)', function (obj) { + var checkStatus = table.checkStatus(obj.config.id).data; + switch(obj.event) { + case 'addData': + showEditModel(); + break; + case 'deleteData': + if (checkStatus.length === 0) { + layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2}); + return; + } + var ids = checkStatus.map(function (d) { + return d.id; + }); + del(ids); + break; + case 'exportData': + layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){ + var titles=[]; + var fields=[]; + obj.config.cols[0].map(function (col) { + if (col.type === 'normal' && col.hide === false && col.toolbar == null) { + titles.push(col.title); + fields.push(col.field); + } + }); + var exportData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + exportData[this.name] = this.value; + }); + var param = { + 'itemReport': exportData, + 'fields': fields + }; + $.ajax({ + url: baseUrl+"/itemReport/export/auth", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify(param), + dataType:'json', + contentType:'application/json;charset=UTF-8', + method: 'POST', + success: function (res) { + layer.closeAll(); + if (res.code === 200) { + table.exportFile(titles,res.data,'xls'); + } else if (res.code === 403) { + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}) + } + } + }); + }); + break; + } + }); + + // 鐩戝惉琛屽伐鍏蜂簨浠� + table.on('tool(itemReport)', function(obj){ + var data = obj.data; + switch (obj.event) { + case 'edit': + showEditModel(data); + break; + case "del": + var ids = [data.id]; + del(ids); + break; + } + }); + + /* 寮圭獥 - 鏂板銆佷慨鏀� */ + function showEditModel(mData) { + admin.open({ + type: 1, + area: '600px', + title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��', + content: $('#editDialog').html(), + success: function (layero, dIndex) { + layDateRender(); + form.val('detail', mData); + form.on('submit(editSubmit)', function (data) { + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/itemReport/"+(mData?'update':'add')+"/auth", + headers: {'token': localStorage.getItem('token')}, + data: data.field, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.close(dIndex); + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + return false; + }); + $(layero).children('.layui-layer-content').css('overflow', 'visible'); + layui.form.render('select'); + } + }); + } + + /* 鍒犻櫎 */ + function del(ids) { + layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', { + skin: 'layui-layer-admin', + shade: .1 + }, function (i) { + layer.close(i); + var loadIndex = layer.load(2); + $.ajax({ + url: baseUrl+"/itemReport/delete/auth", + headers: {'token': localStorage.getItem('token')}, + data: {ids: ids}, + method: 'POST', + success: function (res) { + layer.close(loadIndex); + if (res.code === 200){ + layer.msg(res.msg, {icon: 1}); + tableReload(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + } else { + layer.msg(res.msg, {icon: 2}); + } + } + }) + }); + } + + // 鎼滅储 + form.on('submit(search)', function (data) { + pageCurr = 1; + tableReload(false); + }); + + // 閲嶇疆 + form.on('submit(reset)', function (data) { + pageCurr = 1; + clearFormVal($('#search-box')); + tableReload(false); + }); + + // 鏃堕棿閫夋嫨鍣� + function layDateRender() { + layDate.render({ + elem: '#updateTime\\$', + type: 'datetime' + }); + layDate.render({ + elem: '#createTime\\$', + type: 'datetime' + }); + + } + layDateRender(); + +}); + +// 鍏抽棴鍔ㄤ綔 +$(document).on('click','#data-detail-close', function () { + parent.layer.closeAll(); +}); + +function tableReload(child) { + var searchData = {}; + $.each($('#search-box [name]').serializeArray(), function() { + searchData[this.name] = this.value; + }); + tableIns.reload({ + where: searchData, + page: {curr: pageCurr} + }); +} diff --git a/src/main/webapp/views/item/item.html b/src/main/webapp/views/item/item.html index 4a6c989..9f01407 100644 --- a/src/main/webapp/views/item/item.html +++ b/src/main/webapp/views/item/item.html @@ -40,6 +40,7 @@ </script> <script type="text/html" id="operate"> +<!-- <a class="layui-btn layui-btn-normal layui-btn-xs btn-edit" lay-event="report">鐢熸垚鎬荤粨</a>--> <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a> <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="initPlan">鐢熸垚璁″垝鑺傜偣</a> <!-- <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">绂佺敤</a>--> @@ -52,6 +53,74 @@ <script type="text/javascript" src="../../static/js/item/item.js" charset="utf-8"></script> </body> <!-- 琛ㄥ崟寮圭獥 --> +<script type="text/html" id="initReport"> + <form id="reportDetail" lay-filter="reportDetail" class="layui-form admin-form"> + <input name="id" type="hidden"> + <div class="layui-row"> + <div class="layui-col-md12"> + <div class="layui-form-item"> + <label class="layui-form-label">浜や粯闂: </label> + <div class="layui-input-block"> + <input class="layui-input" name="deliverIssue" placeholder="璇疯緭鍏ユ槸鍚︽湁浜や粯闂"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">浜や粯鎻忚堪: </label> + <div class="layui-input-block"> + <input class="layui-input" name="deliverReason" placeholder="璇疯緭鍏ヤ氦浠橀棶棰樺師鍥�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">璐ㄩ噺闂: </label> + <div class="layui-input-block"> + <input class="layui-input" name="qualityIssue" placeholder="璇疯緭鍏ユ槸鍚︽湁璐ㄩ噺闂"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">璐ㄩ噺鎻忚堪: </label> + <div class="layui-input-block"> + <input class="layui-input" name="qualityReson" placeholder="璇疯緭鍏ヨ川閲忛棶棰樺師鍥�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">璁捐闂: </label> + <div class="layui-input-block"> + <input class="layui-input" name="designIssue" placeholder="璇疯緭鍏ユ槸鍚︽湁璁捐闂"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">璁捐鎻忚堪: </label> + <div class="layui-input-block"> + <input class="layui-input" name="designReason" placeholder="璇疯緭鍏ヨ璁¢棶棰樺師鍥�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">瀹夎闂: </label> + <div class="layui-input-block"> + <input class="layui-input" name="installIssue" placeholder="璇疯緭鍏ユ槸鍚︽湁瀹夎闂"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">瀹夎鎻忚堪: </label> + <div class="layui-input-block"> + <input class="layui-input" name="installReason" placeholder="璇疯緭鍏ュ畨瑁呴棶棰樺師鍥�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鎬荤粨: </label> + <div class="layui-input-block"> + <input class="layui-input" name="conclusion" placeholder="璇疯緭鍏ユ�荤粨"> + </div> + </div> + </div> + </div> + <hr class="layui-bg-gray"> + <div class="layui-form-item text-right"> + <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> <script type="text/html" id="editDialog"> <form id="detail" lay-filter="detail" class="layui-form admin-form"> <input name="id" type="hidden"> diff --git a/src/main/webapp/views/itemReport/itemReport.html b/src/main/webapp/views/itemReport/itemReport.html new file mode 100644 index 0000000..d782991 --- /dev/null +++ b/src/main/webapp/views/itemReport/itemReport.html @@ -0,0 +1,138 @@ +<!DOCTYPE html> +<html lang="en"> +<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/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../static/css/common.css" media="all"> +</head> +<body> + +<!-- 鎼滅储鏍� --> +<div id="search-box" class="layui-form layui-card-header"> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off"> + </div> + </div> + <!-- 寰呮坊鍔� --> + <div id="data-search-btn" class="layui-btn-container layui-form-item"> + <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button> + <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button> + </div> +</div> + +<!-- 琛ㄦ牸 --> +<div class="layui-form"> + <table class="layui-hide" id="itemReport" lay-filter="itemReport"></table> +</div> +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button> +<!-- <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>--> + <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button> + </div> +</script> + +<script type="text/html" id="operate"> +<!-- <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>--> +<!-- <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>--> + <a class="layui-btn layui-btn layui-btn-xs btn-edit" lay-event="makeReport">鐢熸垚鎶ュ憡</a> +</script> + +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/itemReport/itemReport.js" charset="utf-8"></script> +</body> +<!-- 琛ㄥ崟寮圭獥 --> +<script type="text/html" id="editDialog"> + <form id="detail" lay-filter="detail" class="layui-form admin-form"> + <input name="id" type="hidden"> + <div class="layui-row"> + <div class="layui-col-md12"> + <div class="layui-form-item"> + <label class="layui-form-label">閫夋嫨椤圭洰: </label> + <div class="layui-input-block cool-auto-complete"> + <input id="itemId" class="layui-input" name="itemId" placeholder="璇疯緭鍏ラ」鐩悕绉�" style="display: none" lay-vertype="tips" lay-verify="required"> + <input id="itemId$" name="itemId$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ラ」鐩悕绉�" onfocus=this.blur()> + <div class="cool-auto-complete-window"> + <input class="cool-auto-complete-window-input" data-key="itemIdByitemId" onkeyup="autoLoad(this.getAttribute('data-key'))"> + <select class="cool-auto-complete-window-select" data-key="itemIdByitemIdSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> + </select> + </div> + + </div> + </div> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">浜や粯闂: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="deliverIssue" placeholder="璇烽�夋嫨鏄惁鏈変氦浠橀棶棰�">--> +<!-- </div>--> +<!-- </div>--> + <div class="layui-form-item"> + <label class="layui-form-label">浜や粯闂鎻忚堪: </label> + <div class="layui-input-block"> + <input class="layui-input" name="deliverReason" placeholder="涓虹┖琛ㄧず鏃�"> + </div> + </div> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">璐ㄩ噺闂: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="qualityIssue" placeholder="璇烽�夋嫨鏄惁鏈夎川閲忛棶棰�">--> +<!-- </div>--> +<!-- </div>--> + <div class="layui-form-item"> + <label class="layui-form-label">璐ㄩ噺闂鎻忚堪: </label> + <div class="layui-input-block"> + <input class="layui-input" name="qualityReson" placeholder="涓虹┖琛ㄧず鏃�"> + </div> + </div> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">璁捐闂: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="designIssue" placeholder="璇烽�夋嫨鏄惁鏈夎璁¢棶棰�">--> +<!-- </div>--> +<!-- </div>--> + <div class="layui-form-item"> + <label class="layui-form-label">璁捐闂鎻忚堪: </label> + <div class="layui-input-block"> + <input class="layui-input" name="designReason" placeholder="涓虹┖琛ㄧず鏃�"> + </div> + </div> +<!-- <div class="layui-form-item">--> +<!-- <label class="layui-form-label">瀹夎闂: </label>--> +<!-- <div class="layui-input-block">--> +<!-- <input class="layui-input" name="installIssue" placeholder="璇烽�夋嫨鏄惁鏈夊畨瑁呴棶棰�">--> +<!-- </div>--> +<!-- </div>--> + <div class="layui-form-item"> + <label class="layui-form-label">瀹夎闂鎻忚堪: </label> + <div class="layui-input-block"> + <input class="layui-input" name="installReason" placeholder="涓虹┖琛ㄧず鏃�"> + </div> + </div> + <div class="layui-form-item"> + <label class="layui-form-label">鎬荤粨: </label> + <div class="layui-input-block"> + <input class="layui-input" name="conclusion" placeholder="璇疯緭鍏ユ�荤粨"> + </div> + </div> + + </div> + </div> + <hr class="layui-bg-gray"> + <div class="layui-form-item text-right"> + <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button> + <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button> + </div> + </form> +</script> +</html> + -- Gitblit v1.9.1