产品计量单位完成

This commit is contained in:
weizhiqiang 2019-09-22 22:13:49 +08:00
parent 99de677eb8
commit 8a9f270ca1
13 changed files with 1098 additions and 0 deletions

View file

@ -0,0 +1,78 @@
package com.skyeye.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.skyeye.common.object.InputObject;
import com.skyeye.common.object.OutputObject;
import com.skyeye.service.MaterialUnitService;
@Controller
public class MaterialUnitController {
@Autowired
private MaterialUnitService materialUnitService;
/**
* 获取计量单位列表
* @param inputObject
* @param outputObject
* @throws Exception
*/
@RequestMapping("/post/MaterialUnitController/queryMaterialUnitList")
@ResponseBody
public void queryMaterialUnitList(InputObject inputObject, OutputObject outputObject) throws Exception{
materialUnitService.queryMaterialUnitList(inputObject, outputObject);
}
/**
* 新增计量单位
* @param inputObject
* @param outputObject
* @throws Exception
*/
@RequestMapping("/post/MaterialUnitController/insertMaterialUnitMation")
@ResponseBody
public void insertMaterialUnitMation(InputObject inputObject, OutputObject outputObject) throws Exception{
materialUnitService.insertMaterialUnitMation(inputObject, outputObject);
}
/**
* 删除计量单位
* @param inputObject
* @param outputObject
* @throws Exception
*/
@RequestMapping("/post/MaterialUnitController/deleteMaterialUnitMationById")
@ResponseBody
public void deleteMaterialUnitMationById(InputObject inputObject, OutputObject outputObject) throws Exception{
materialUnitService.deleteMaterialUnitMationById(inputObject, outputObject);
}
/**
* 编辑计量单位时进行回显
* @param inputObject
* @param outputObject
* @throws Exception
*/
@RequestMapping("/post/MaterialUnitController/queryMaterialUnitMationToEditById")
@ResponseBody
public void queryMaterialUnitMationToEditById(InputObject inputObject, OutputObject outputObject) throws Exception{
materialUnitService.queryMaterialUnitMationToEditById(inputObject, outputObject);
}
/**
* 编辑计量单位
* @param inputObject
* @param outputObject
* @throws Exception
*/
@RequestMapping("/post/MaterialUnitController/editMaterialUnitMationById")
@ResponseBody
public void editMaterialUnitMationById(InputObject inputObject, OutputObject outputObject) throws Exception{
materialUnitService.editMaterialUnitMationById(inputObject, outputObject);
}
}

View file

@ -0,0 +1,36 @@
package com.skyeye.dao;
import java.util.List;
import java.util.Map;
import com.github.miemiedev.mybatis.paginator.domain.PageBounds;
public interface MaterialUnitDao {
public List<Map<String, Object>> queryMaterialUnitList(Map<String, Object> params, PageBounds pageBounds) throws Exception;
public Map<String, Object> queryUnitGroupMationByName(Map<String, Object> map) throws Exception;
public int insertMaterialUnitGroupMation(Map<String, Object> map) throws Exception;
public int insertMaterialUnitMation(List<Map<String, Object>> entitys) throws Exception;
public int deleteMaterialUnitGroupMationById(Map<String, Object> map) throws Exception;
public int deleteMaterialUnitMationByGroupId(Map<String, Object> map) throws Exception;
public Map<String, Object> queryMaterialUnitGroupMationToEditById(Map<String, Object> map) throws Exception;
public List<Map<String, Object>> queryMaterialUnitMationToEditById(Map<String, Object> map) throws Exception;
public Map<String, Object> queryUnitGroupMationByNameAndId(Map<String, Object> map) throws Exception;
public int editMaterialUnitGroupMationById(Map<String, Object> bean) throws Exception;
public int editUnitMationById(Map<String, Object> map) throws Exception;
public int insertUnitMation(Map<String, Object> map) throws Exception;
public int deleteUnitMationById(Map<String, Object> en) throws Exception;
}

View file

@ -0,0 +1,18 @@
package com.skyeye.service;
import com.skyeye.common.object.InputObject;
import com.skyeye.common.object.OutputObject;
public interface MaterialUnitService {
public void queryMaterialUnitList(InputObject inputObject, OutputObject outputObject) throws Exception;
public void insertMaterialUnitMation(InputObject inputObject, OutputObject outputObject) throws Exception;
public void deleteMaterialUnitMationById(InputObject inputObject, OutputObject outputObject) throws Exception;
public void queryMaterialUnitMationToEditById(InputObject inputObject, OutputObject outputObject) throws Exception;
public void editMaterialUnitMationById(InputObject inputObject, OutputObject outputObject) throws Exception;
}

View file

@ -0,0 +1,228 @@
package com.skyeye.service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.github.miemiedev.mybatis.paginator.domain.PageBounds;
import com.github.miemiedev.mybatis.paginator.domain.PageList;
import com.skyeye.common.object.InputObject;
import com.skyeye.common.object.OutputObject;
import com.skyeye.common.util.ToolUtil;
import com.skyeye.dao.MaterialUnitDao;
import com.skyeye.service.MaterialUnitService;
import net.sf.json.JSONArray;
@Service
public class MaterialUnitServiceImpl implements MaterialUnitService{
@Autowired
private MaterialUnitDao materialUnitDao;
/**
* 获取计量单位列表
* @param inputObject
* @param outputObject
* @throws Exception
*/
@Override
public void queryMaterialUnitList(InputObject inputObject, OutputObject outputObject) throws Exception {
Map<String, Object> params = inputObject.getParams();
params.put("userId", inputObject.getLogParams().get("id"));
List<Map<String, Object>> beans = materialUnitDao.queryMaterialUnitList(params,
new PageBounds(Integer.parseInt(params.get("page").toString()), Integer.parseInt(params.get("limit").toString())));
PageList<Map<String, Object>> beansPageList = (PageList<Map<String, Object>>)beans;
int total = beansPageList.getPaginator().getTotalCount();
outputObject.setBeans(beans);
outputObject.settotal(total);
}
/**
* 新增计量单位
* @param inputObject
* @param outputObject
* @throws Exception
*/
@SuppressWarnings("unchecked")
@Override
@Transactional(value="transactionManager")
public void insertMaterialUnitMation(InputObject inputObject, OutputObject outputObject) throws Exception {
Map<String, Object> map = inputObject.getParams();
map.put("userId", inputObject.getLogParams().get("id"));
Map<String, Object> nameBean = materialUnitDao.queryUnitGroupMationByName(map);
if(nameBean == null || nameBean.isEmpty()){
String userId = inputObject.getLogParams().get("id").toString();
String groupId = ToolUtil.getSurFaceId();//计量单位组id
String unitNameStr = map.get("unitNameStr").toString();
//处理数据
JSONArray jArray = JSONArray.fromObject(unitNameStr);
Map<String, Object> entity;//计量单位信息
List<Map<String, Object>> entitys = new ArrayList<>();//计量单位集合信息
for(int i = 0; i < jArray.size(); i++){
entity = jArray.getJSONObject(i);
entity.put("id", ToolUtil.getSurFaceId());
entity.put("groupId", groupId);
entity.put("unitName", entity.containsKey("unitName") ? entity.get("unitName") : "未知");
entity.put("unitNum", entity.containsKey("unitNum") ? entity.get("unitNum") : "1");
entity.put("userId", userId);
entity.put("baseUnit", 2);//默认不是基础单位
entity.put("deleteFlag", 0);//默认未删除
entitys.add(entity);
}
//加入基础单位
entity = new HashMap<>();
entity.put("id", ToolUtil.getSurFaceId());
entity.put("groupId", groupId);
entity.put("unitName", map.get("unitName"));
entity.put("unitNum", 1);
entity.put("userId", userId);
entity.put("baseUnit", 1);//默认基础单位
entity.put("deleteFlag", 0);//默认未删除
entitys.add(entity);
//组信息
Map<String, Object> bean = new HashMap<>();
bean.put("id", groupId);
bean.put("userId", userId);
bean.put("name", map.get("groupName"));
bean.put("deleteFlag", 0);//默认未删除
materialUnitDao.insertMaterialUnitGroupMation(bean);
materialUnitDao.insertMaterialUnitMation(entitys);
}else{
outputObject.setreturnMessage("该组名已存在,请更换");
}
}
/**
* 删除计量单位
* @param inputObject
* @param outputObject
* @throws Exception
*/
@Override
public void deleteMaterialUnitMationById(InputObject inputObject, OutputObject outputObject) throws Exception {
Map<String, Object> map = inputObject.getParams();
map.put("userId", inputObject.getLogParams().get("id"));
materialUnitDao.deleteMaterialUnitGroupMationById(map);
materialUnitDao.deleteMaterialUnitMationByGroupId(map);
}
/**
* 编辑计量单位时进行回显
* @param inputObject
* @param outputObject
* @throws Exception
*/
@Override
public void queryMaterialUnitMationToEditById(InputObject inputObject, OutputObject outputObject) throws Exception {
Map<String, Object> map = inputObject.getParams();
map.put("userId", inputObject.getLogParams().get("id"));
Map<String, Object> bean = materialUnitDao.queryMaterialUnitGroupMationToEditById(map);
if(bean == null || bean.isEmpty()){
outputObject.setreturnMessage("该数据不存在");
return;
}
bean.put("unitList", materialUnitDao.queryMaterialUnitMationToEditById(map));
outputObject.setBean(bean);
outputObject.settotal(1);
}
/**
* 编辑计量单位
* @param inputObject
* @param outputObject
* @throws Exception
*/
@SuppressWarnings("unchecked")
@Override
public void editMaterialUnitMationById(InputObject inputObject, OutputObject outputObject) throws Exception {
Map<String, Object> map = inputObject.getParams();
map.put("userId", inputObject.getLogParams().get("id"));
Map<String, Object> nameBean = materialUnitDao.queryUnitGroupMationByNameAndId(map);
if(nameBean == null || nameBean.isEmpty()){
String userId = inputObject.getLogParams().get("id").toString();
String groupId = map.get("id").toString();//计量单位组id
String unitNameStr = map.get("unitNameStr").toString();
//处理数据
JSONArray jArray = JSONArray.fromObject(unitNameStr);
Map<String, Object> entity;//计量单位信息
List<Map<String, Object>> entitys = materialUnitDao.queryMaterialUnitMationToEditById(map);//计量单位集合信息
//判断前端传来的副单位是否在数据库中存在
int inSqlData = -1;
for(Map<String, Object> en : entitys){
if("1".equals(en.get("baseUnit").toString())){//如果计量单位是基础类型
//如果即将修改的名称和数据库的名称一样则不做修改反之做修改
if(!en.get("unitNameValue").toString().equals(map.get("unitName").toString())){
map.put("unitNameValue", map.get("unitName"));
materialUnitDao.editUnitMationById(map);
}
} else {//计量单位不是基础类型
inSqlData = -1;
for(int i = 0; i < jArray.size(); i++){
entity = jArray.getJSONObject(i);
//如果unitId为空则新增
if(ToolUtil.isBlank(entity.get("unitId").toString())){
entity.put("id", ToolUtil.getSurFaceId());
entity.put("groupId", groupId);
entity.put("unitName", entity.containsKey("unitName") ? entity.get("unitName") : "未知");
entity.put("unitNum", entity.containsKey("unitNum") ? entity.get("unitNum") : "1");
entity.put("userId", userId);
entity.put("baseUnit", 2);//默认不是基础单位
entity.put("deleteFlag", 0);//默认未删除
materialUnitDao.insertUnitMation(entity);
jArray.remove(i);
}else{
//如果unitId不为空判断是否在数据库中的集合内存在不存在则删除存在则修改
if(entity.get("unitId").toString().equals(en.get("unitIdValue").toString())){
inSqlData = i;
break;
}
}
}
//inSqlData!=-1说明在数据库中存在该数据直接修改
if(inSqlData != -1){
entity = jArray.getJSONObject(inSqlData);
en.put("unitNameValue", entity.containsKey("unitName") ? entity.get("unitName") : "未知");
en.put("unitNum", entity.containsKey("unitNum") ? entity.get("unitNum") : "1");
materialUnitDao.editUnitMationById(en);
jArray.remove(inSqlData);
}else{
materialUnitDao.deleteUnitMationById(en);
}
}
}
//添加剩余副单位
for(int i = 0; i < jArray.size(); i++){
entity = jArray.getJSONObject(i);
//如果unitId为空则新增
if(!entity.containsKey("unitId")){
entity.put("id", ToolUtil.getSurFaceId());
entity.put("groupId", groupId);
entity.put("unitName", entity.containsKey("unitName") ? entity.get("unitName") : "未知");
entity.put("unitNum", entity.containsKey("unitNum") ? entity.get("unitNum") : "1");
entity.put("userId", userId);
entity.put("baseUnit", 2);//默认不是基础单位
entity.put("deleteFlag", 0);//默认未删除
materialUnitDao.insertUnitMation(entity);
jArray.remove(i);
}
}
//组信息
Map<String, Object> bean = new HashMap<>();
bean.put("id", groupId);
bean.put("name", map.get("groupName"));
bean.put("userId", userId);
materialUnitDao.editMaterialUnitGroupMationById(bean);
}else{
outputObject.setreturnMessage("该组名已存在,请更换");
}
}
}

View file

@ -0,0 +1,142 @@
<?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="com.skyeye.dao.MaterialUnitDao">
<select id="queryMaterialUnitList" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
a.id,
a.`name` groupName,
CONCAT(GROUP_CONCAT(b.`name` ORDER BY b.number ASC), '(', GROUP_CONCAT(b.number ORDER BY b.number ASC separator ':') ,')') unitName
FROM
erp_unit_group a
LEFT JOIN erp_unit b ON b.group_id = a.id AND b.delete_flag = '0'
WHERE a.tenant_id = #{userId}
<if test="groupName != '' and groupName != null">
AND a.`name` LIKE '%${groupName}%'
</if>
AND a.delete_flag = '0'
GROUP BY a.id
</select>
<select id="queryUnitGroupMationByName" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
a.id
FROM
erp_unit_group a
WHERE
a.`name` = #{groupName}
AND a.tenant_id = #{userId}
</select>
<insert id="insertMaterialUnitGroupMation" parameterType="java.util.Map">
INSERT into erp_unit_group
(id, `name`, tenant_id, delete_flag)
VALUES(#{id}, #{name}, #{userId}, #{deleteFlag})
</insert>
<insert id="insertMaterialUnitMation" parameterType="java.util.Map">
INSERT INTO erp_unit
(id, `name`, number, group_id, tenant_id, base_unit, delete_flag)
values
<foreach collection="list" item="item" index="index" separator="," >
(#{item.id}, #{item.unitName}, #{item.unitNum}, #{item.groupId}, #{item.userId}, #{item.baseUnit}, #{item.deleteFlag})
</foreach>
</insert>
<update id="deleteMaterialUnitGroupMationById" parameterType="java.util.Map">
UPDATE erp_unit_group
<set>
delete_flag = '1'
</set>
WHERE
tenant_id = #{userId}
AND id = #{id}
</update>
<update id="deleteMaterialUnitMationByGroupId" parameterType="java.util.Map">
UPDATE erp_unit
<set>
delete_flag = '1'
</set>
WHERE
tenant_id = #{userId}
AND group_id = #{id}
</update>
<select id="queryMaterialUnitGroupMationToEditById" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
a.id,
a.`name` groupName
FROM
erp_unit_group a
WHERE a.tenant_id = #{userId}
AND a.id = #{id}
AND a.delete_flag = '0'
</select>
<select id="queryMaterialUnitMationToEditById" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
a.id unitIdValue,
a.`name` unitNameValue,
a.number unitNumValue,
a.base_unit baseUnit
FROM
erp_unit a
WHERE a.tenant_id = #{userId}
AND a.group_id = #{id}
AND a.delete_flag = '0'
ORDER BY a.number ASC
</select>
<select id="queryUnitGroupMationByNameAndId" parameterType="java.util.Map" resultType="java.util.Map">
SELECT
a.id
FROM
erp_unit_group a
WHERE
a.`name` = #{groupName}
AND a.id != #{id}
AND a.tenant_id = #{userId}
</select>
<update id="editMaterialUnitGroupMationById" parameterType="java.util.Map">
UPDATE erp_unit_group
<set>
<if test="name != '' and name != null">
`name` = #{name}
</if>
</set>
WHERE
tenant_id = #{userId}
AND id = #{id}
AND delete_flag = '0'
</update>
<update id="editUnitMationById" parameterType="java.util.Map">
UPDATE erp_unit
<set>
<if test="unitNameValue != '' and unitNameValue != null">
`name` = #{unitNameValue},
</if>
<if test="unitNumValue != '' and unitNumValue != null">
number = #{unitNumValue},
</if>
</set>
WHERE id = #{unitIdValue}
</update>
<insert id="insertUnitMation" parameterType="java.util.Map">
INSERT INTO erp_unit
(id, `name`, number, group_id, tenant_id, base_unit, delete_flag)
VALUES(#{id}, #{unitName}, #{unitNum}, #{groupId}, #{userId}, #{baseUnit}, #{deleteFlag})
</insert>
<update id="deleteUnitMationById" parameterType="java.util.Map">
UPDATE erp_unit
<set>
delete_flag = '1'
</set>
WHERE id = #{unitIdValue}
</update>
</mapper>

View file

@ -47,4 +47,30 @@
<property id="parentId" name="parentId" ref="required" var="类型id" />
</url>
<!-- 产品类型结束 -->
<!-- 产品计量单位开始 -->
<url id="materialunit001" path="/post/MaterialUnitController/queryMaterialUnitList" val="获取计量单位列表" allUse="1">
<property id="groupName" name="groupName" ref="" var="计量单位组名" />
<property id="limit" name="limit" ref="required,num" var="分页参数,每页多少条数据" />
<property id="page" name="page" ref="required,num" var="分页参数,第几页"/>
</url>
<url id="materialunit002" path="/post/MaterialUnitController/insertMaterialUnitMation" val="新增计量单位" allUse="1">
<property id="groupName" name="groupName" ref="required" var="计量单位组名" />
<property id="unitName" name="unitName" ref="required" var="基础单位名称" />
<property id="unitNameStr" name="unitNameStr" ref="required" var="副单位集合串"/>
</url>
<url id="materialunit003" path="/post/MaterialUnitController/deleteMaterialUnitMationById" val="删除计量单位" allUse="1">
<property id="rowId" name="id" ref="required" var="计量单位组id" />
</url>
<url id="materialunit004" path="/post/MaterialUnitController/queryMaterialUnitMationToEditById" val="编辑计量单位时进行回显" allUse="2">
<property id="rowId" name="id" ref="required" var="计量单位组id" />
</url>
<url id="materialunit005" path="/post/MaterialUnitController/editMaterialUnitMationById" val="编辑计量单位" allUse="1">
<property id="groupName" name="groupName" ref="required" var="计量单位组名" />
<property id="unitName" name="unitName" ref="required" var="基础单位名称" />
<property id="unitNameStr" name="unitNameStr" ref="required" var="副单位集合串"/>
<property id="rowId" name="id" ref="required" var="计量单位组id" />
</url>
<!-- 产品计量单位结束 -->
</controller>

View file

@ -0,0 +1,98 @@
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({ //指定js别名
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui'], function (exports) {
winui.renderColor();
layui.use(['form'], function (form) {
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
var $ = layui.$;
//副单位数量计数器
var unitIndex = 1;
//副单位模板
var beanTemplate = $("#beanTemplate").html();
//初始化副单位
addRow();
form.render();
form.on('submit(formAddBean)', function (data) {
//表单验证
if (winui.verifyForm(data.elem)) {
//获取填写副单位
var rowTr = $("#useTable tr");
var tableData = new Array();
var noError = false; //循环遍历表格数据时,是否有其他错误信息
$.each(rowTr, function(i, item) {
var rowNum = $(item).attr("trcusid").replace("tr", "");
var row = {
unitName: $("#unitName" + rowNum).val(),
unitNum: $("#unitNum" + rowNum).val()
};
tableData.push(row);
});
var params = {
groupName: $("#groupName").val(),
unitName: $("#unitName").val(),
unitNameStr: JSON.stringify(tableData)
};
AjaxPostUtil.request({url:reqBasePath + "materialunit002", params: params, type:'json', callback:function(json){
if(json.returnCode == 0){
parent.layer.close(index);
parent.refreshCode = '0';
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
}
return false;
});
//基本单位变化事件
$("body").on("keyup", "#unitName", function() {
$(".baseNameShow").html($(this).val());
});
//新增行
$("body").on("click", "#addRow", function() {
addRow();
});
//删除行
$("body").on("click", "#deleteRow", function() {
deleteRow();
});
//添加副单位模板
function addRow(){
var j = {
trId: "tr" + unitIndex.toString(), //行的id
id: "row" + unitIndex.toString(), //checkbox的id
unitName: "unitName" + unitIndex.toString(), //单位名称
unitNum: "unitNum" + unitIndex.toString(), //数量
baseName: $("#unitName").val() //基础单位名称
};
$("#useTable").append(getDataUseHandlebars(beanTemplate, j));
form.render('checkbox');
unitIndex++;
}
//删除行
function deleteRow() {
var checkRow = $("#useTable input[type='checkbox'][name='tableCheckRow']:checked");
if(checkRow.length > 0) {
$.each(checkRow, function(i, item) {
$(item).parent().parent().remove();
});
} else {
winui.window.msg('请选择要删除的行', {icon: 2, time: 2000});
}
}
$("body").on("click", "#cancle", function(){
parent.layer.close(index);
});
});
});

View file

@ -0,0 +1,134 @@
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({ //指定js别名
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui'], function (exports) {
winui.renderColor();
layui.use(['form'], function (form) {
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
var $ = layui.$;
//副单位数量计数器
var unitIndex = 1;
//副单位模板
var beanTemplate = $("#beanTemplate").html();
var beanDataTemplate = $("#beanDataTemplate").html();
showGrid({
id: "showForm",
url: reqBasePath + "materialunit004",
params: {rowId: parent.rowId},
pagination: false,
template: getFileContent('tpl/materialunit/materialuniteditTemplate.tpl'),
ajaxSendAfter:function(json){
$.each(json.bean.unitList, function(i, item){
if(item.baseUnit.toString() === "1"){//基础数据
$("#unitName").val(item.unitNameValue);
}else{
addDataRow(item);
}
});
form.render();
form.on('submit(formEditBean)', function (data) {
//表单验证
if (winui.verifyForm(data.elem)) {
//获取填写副单位
var rowTr = $("#useTable tr");
var tableData = new Array();
var noError = false; //循环遍历表格数据时,是否有其他错误信息
$.each(rowTr, function(i, item) {
var rowNum = $(item).attr("trcusid").replace("tr", "");
var row = {
unitName: $("#unitName" + rowNum).val(),
unitNum: $("#unitNum" + rowNum).val(),
unitId: $("#unitName" + rowNum).parent().parent().attr("id")
};
tableData.push(row);
});
var params = {
groupName: $("#groupName").val(),
unitName: $("#unitName").val(),
unitNameStr: JSON.stringify(tableData),
rowId: parent.rowId
};
AjaxPostUtil.request({url:reqBasePath + "materialunit005", params: params, type:'json', callback:function(json){
if(json.returnCode == 0){
parent.layer.close(index);
parent.refreshCode = '0';
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
}
return false;
});
}
});
//基本单位变化事件
$("body").on("keyup", "#unitName", function() {
$(".baseNameShow").html($(this).val());
});
//新增行
$("body").on("click", "#addRow", function() {
addRow();
});
//删除行
$("body").on("click", "#deleteRow", function() {
deleteRow();
});
//添加副单位模板
function addRow(){
var j = {
trId: "tr" + unitIndex.toString(), //行的id
id: "row" + unitIndex.toString(), //checkbox的id
unitName: "unitName" + unitIndex.toString(), //单位名称
unitNum: "unitNum" + unitIndex.toString(), //数量
baseName: $("#unitName").val() //基础单位名称
};
$("#useTable").append(getDataUseHandlebars(beanTemplate, j));
form.render('checkbox');
unitIndex++;
}
//添加副单位数据回显
function addDataRow(item){
var j = {
trId: "tr" + unitIndex.toString(), //行的id
id: "row" + unitIndex.toString(), //checkbox的id
unitName: "unitName" + unitIndex.toString(), //单位名称
unitNum: "unitNum" + unitIndex.toString(), //数量
baseName: $("#unitName").val(), //基础单位名称
unitIdValue: item.unitIdValue, //数据
unitNameValue: item.unitNameValue, //数据
unitNumValue: item.unitNumValue //数据
};
$("#useTable").append(getDataUseHandlebars(beanDataTemplate, j));
form.render('checkbox');
unitIndex++;
}
//删除行
function deleteRow() {
var checkRow = $("#useTable input[type='checkbox'][name='tableCheckRow']:checked");
if(checkRow.length > 0) {
$.each(checkRow, function(i, item) {
$(item).parent().parent().remove();
});
} else {
winui.window.msg('请选择要删除的行', {icon: 2, time: 2000});
}
}
$("body").on("click", "#cancle", function(){
parent.layer.close(index);
});
});
});

View file

@ -0,0 +1,128 @@
var rowId = "";
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({ //指定js别名
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var $ = layui.$,
form = layui.form,
table = layui.table;
authBtn('1569160351079');
//表格渲染
table.render({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
url: reqBasePath + 'materialunit001',
where: {groupName: $("#groupName").val()},
even: true, //隔行变色
page: true,
limits: [8, 16, 24, 32, 40, 48, 56],
limit: 8,
cols: [[
{ title: '序号', type: 'numbers'},
{ field: 'groupName', title: '组名', align: 'left', width: 120 },
{ field: 'unitName', title: '计量单位', align: 'left', width: 300 },
{ title: '操作', fixed: 'right', align: 'center', width: 257, toolbar: '#tableBar'}
]],
done: function(){
}
});
table.on('tool(messageTable)', function (obj) { //注tool是工具条事件名test是table原始容器的属性 lay-filter="对应的值"
var data = obj.data; //获得当前行数据
var layEvent = obj.event; //获得 lay-event 对应的值
if (layEvent === 'edit') { //编辑
edit(data);
}else if (layEvent === 'delet') { //删除
delet(data);
}
});
form.render();
//搜索表单
form.on('submit(formSearch)', function (data) {
//表单验证
if (winui.verifyForm(data.elem)) {
refreshloadTable();
}
return false;
});
//添加
$("body").on("click", "#addBean", function(){
_openNewWindows({
url: "../../tpl/materialunit/materialunitadd.html",
title: "新增",
pageId: "materialunitadd",
area: ['70vw', '70vh'],
callBack: function(refreshCode){
if (refreshCode == '0') {
winui.window.msg("操作成功", {icon: 1,time: 2000});
loadTable();
} else if (refreshCode == '-9999') {
winui.window.msg("操作失败", {icon: 2,time: 2000});
}
}});
});
//删除
function delet(data){
var msg = '确认删除选中数据吗?';
layer.confirm(msg, { icon: 3, title: '删除计量单位' }, function (index) {
layer.close(index);
//向服务端发送删除指令
AjaxPostUtil.request({url:reqBasePath + "materialunit003", params:{rowId: data.id}, type:'json', callback:function(json){
if(json.returnCode == 0){
winui.window.msg("删除成功", {icon: 1,time: 2000});
loadTable();
}else{
winui.window.msg(json.returnMessage, {icon: 2,time: 2000});
}
}});
});
}
//编辑
function edit(data){
rowId = data.id;
_openNewWindows({
url: "../../tpl/materialunit/materialunitedit.html",
title: "编辑",
pageId: "materialunitedit",
area: ['70vw', '70vh'],
callBack: function(refreshCode){
if (refreshCode == '0') {
winui.window.msg("操作成功", {icon: 1,time: 2000});
loadTable();
} else if (refreshCode == '-9999') {
winui.window.msg("操作失败", {icon: 2,time: 2000});
}
}
});
}
//刷新数据
$("body").on("click", "#reloadTable", function(){
loadTable();
});
function loadTable(){
table.reload("messageTable", {where:{groupName: $("#groupName").val()}});
}
function refreshloadTable(){
table.reload("messageTable", {page: {curr: 1}, where:{groupName: $("#groupName").val()}});
}
exports('materialunitlist', {});
});

View file

@ -0,0 +1,74 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/font-awesome-4.7.0/css/font-awesome.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="margin:0 auto;padding:20px;">
<form class="layui-form" action="" id="showForm" autocomplete="off">
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">组名<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="groupName" name="groupName" win-verify="required" placeholder="请输入组名" class="layui-input"/>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">基本单位<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="unitName" name="unitName" win-verify="required" placeholder="请输入基本单位" class="layui-input"/>
<div class="layui-form-mid layui-word-aux">基本单位应为最小度量单位</div>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">副单位<i class="red">*</i></label>
<div class="layui-input-block">
<div class="winui-toolbar">
<div class="winui-tool" style="text-align: left;">
<button id="addRow" class="winui-toolbtn" type="button"><i class="fa fa-plus" aria-hidden="true"></i>新增行</button>
<button id="deleteRow" class="winui-toolbtn" type="button"><i class="fa fa-plus" aria-hidden="true"></i>删除行</button>
</div>
</div>
<div class="layui-form-mid layui-word-aux">副单位与基础单位的转换例如:一箱=12瓶如果没有副单位可将下面表格行全部删掉即可。</div>
<table class="layui-table">
<thead>
<tr>
<th></th>
<th>单位名称</th>
<th>数量</th>
<th>基础单位</th>
</tr>
</thead>
<tbody id="useTable" class="insurance-table">
</tbody>
</table>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<div class="layui-input-block">
<button class="winui-btn" id="cancle">取消</button>
<button class="winui-btn" lay-submit lay-filter="formAddBean">保存</button>
</div>
</div>
</form>
</div>
<script type="text/x-handlebars-template" id="beanTemplate">
<tr trcusid="{{trId}}">
<td><input type="checkbox" rowId="{{id}}" lay-filter="checkboxProperty" name="tableCheckRow"/></td>
<td><input type="text" class="layui-input" id="{{unitName}}" win-verify="required" placeholder="请输入副单位"/></td>
<td><input type="text" class="layui-input" id="{{unitNum}}" win-verify="required" placeholder="请输入数量"/></td>
<td><span class="baseNameShow">{{baseName}}</span></td>
</tr>
</script>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/materialunit/'}).use('materialunitadd');
</script>
</body>
</html>

View file

@ -0,0 +1,41 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/font-awesome-4.7.0/css/font-awesome.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="padding:20px; margin:0 auto;">
<form class="layui-form" action="" id="showForm" autocomplete="off">
</form>
</div>
<script type="text/x-handlebars-template" id="beanTemplate">
<tr trcusid="{{trId}}">
<td><input type="checkbox" rowId="{{id}}" lay-filter="checkboxProperty" name="tableCheckRow"/></td>
<td><input type="text" class="layui-input" id="{{unitName}}" win-verify="required" placeholder="请输入副单位"/></td>
<td><input type="text" class="layui-input" id="{{unitNum}}" win-verify="required" placeholder="请输入数量"/></td>
<td><span class="baseNameShow">{{baseName}}</span></td>
</tr>
</script>
<script type="text/x-handlebars-template" id="beanDataTemplate">
<tr trcusid="{{trId}}" id="{{unitIdValue}}">
<td><input type="checkbox" rowId="{{id}}" lay-filter="checkboxProperty" name="tableCheckRow"/></td>
<td><input type="text" class="layui-input" id="{{unitName}}" win-verify="required" placeholder="请输入副单位" value="{{unitNameValue}}"/></td>
<td><input type="text" class="layui-input" id="{{unitNum}}" win-verify="required" placeholder="请输入数量" value="{{unitNumValue}}"/></td>
<td><span class="baseNameShow">{{baseName}}</span></td>
</tr>
</script>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/materialunit/'}).use('materialunitedit');
</script>
</body>
</html>

View file

@ -0,0 +1,47 @@
{{#bean}}
<form class="layui-form" action="" id="showForm" autocomplete="off">
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">组名<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="groupName" name="groupName" win-verify="required" placeholder="请输入组名" class="layui-input" value="{{groupName}}"/>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">基本单位<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="unitName" name="unitName" win-verify="required" placeholder="请输入基本单位" class="layui-input"/>
<div class="layui-form-mid layui-word-aux">基本单位应为最小度量单位</div>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">副单位<i class="red">*</i></label>
<div class="layui-input-block">
<div class="winui-toolbar">
<div class="winui-tool" style="text-align: left;">
<button id="addRow" class="winui-toolbtn" type="button"><i class="fa fa-plus" aria-hidden="true"></i>新增行</button>
<button id="deleteRow" class="winui-toolbtn" type="button"><i class="fa fa-plus" aria-hidden="true"></i>删除行</button>
</div>
</div>
<div class="layui-form-mid layui-word-aux">副单位与基础单位的转换例如:一箱=12瓶如果没有副单位可将下面表格行全部删掉即可。</div>
<table class="layui-table">
<thead>
<tr>
<th></th>
<th>单位名称</th>
<th>数量</th>
<th>基础单位</th>
</tr>
</thead>
<tbody id="useTable" class="insurance-table">
</tbody>
</table>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<div class="layui-input-block">
<button class="winui-btn" id="cancle">取消</button>
<button class="winui-btn" lay-submit lay-filter="formEditBean">保存</button>
</div>
</div>
</form>
{{/bean}}

View file

@ -0,0 +1,48 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/font-awesome-4.7.0/css/font-awesome.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div class="txtcenter" style="margin:0 auto;padding-top:10px;">
<form class="layui-form layui-form-pane" action="" autocomplete="off">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">组名</label>
<div class="layui-input-inline">
<input type="text" id="groupName" name="groupName" placeholder="请输入组名" class="layui-input" />
</div>
<button type="reset" class="layui-btn layui-btn-primary list-form-search">重置</button>
<button class="layui-btn list-form-search" lay-submit lay-filter="formSearch">搜索</button>
</div>
</div>
</form>
</div>
<div class="winui-toolbar">
<div class="winui-tool">
<button id="reloadTable" class="winui-toolbtn"><i class="fa fa-refresh" aria-hidden="true"></i>刷新数据</button>
<button id="addBean" class="winui-toolbtn" auth="1569160351079"><i class="fa fa-plus" aria-hidden="true"></i>新增</button>
</div>
</div>
<div style="margin:auto 10px;">
<table id="messageTable" lay-filter="messageTable"></table>
<script type="text/html" id="tableBar">
{{# if(auth('1569160369889')){ }}
<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="edit">编辑</a>
{{# } }}
{{# if(auth('1569160358971')){ }}
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delet">删除</a>
{{# } }}
</script>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/materialunit/'}).use('materialunitlist');
</script>
</body>
</html>