Merge remote-tracking branch 'origin/master'
| | |
| | | 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.common.*; |
| | | import org.apache.poi.ss.formula.functions.Now; |
| | | import zy.cloud.wms.manager.entity.Quality; |
| | | import zy.cloud.wms.manager.entity.QualityDetl; |
| | | import zy.cloud.wms.manager.entity.Receive; |
| | | import zy.cloud.wms.manager.entity.ReceiveDetl; |
| | | import zy.cloud.wms.manager.service.QualityDetlService; |
| | | import zy.cloud.wms.manager.service.QualityService; |
| | | 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.ReceiveDetlService; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | |
| | | @RestController |
| | |
| | | |
| | | @Autowired |
| | | private QualityService qualityService; |
| | | @Autowired |
| | | private ReceiveDetlService receiveDetlService; |
| | | @Autowired |
| | | private QualityDetlService qualityDetlService; |
| | | @Autowired |
| | | private SnowflakeIdWorker snowflakeIdWorker; |
| | | |
| | | @RequestMapping(value = "/quality/{id}/auth") |
| | | @ManagerAuth |
| | |
| | | @ManagerAuth |
| | | public R add(Quality quality) { |
| | | qualityService.insert(quality); |
| | | Wrapper<ReceiveDetl> wrapper = new EntityWrapper<ReceiveDetl>(); |
| | | List<ReceiveDetl> list = receiveDetlService.selectList(wrapper.eq("order_no",quality.getUuid() )); |
| | | if(list.size()>0){ |
| | | for(ReceiveDetl detl:list){ |
| | | QualityDetl qualityDetl = new QualityDetl(); |
| | | qualityDetl.setAnfme(detl.getAnfme()); |
| | | qualityDetl.setBillNo(quality.getBillNo()); |
| | | qualityDetl.setOrderNo(detl.getOrderNo()); |
| | | qualityDetl.setMatnr(detl.getMatnr()); |
| | | qualityDetl.setMaktx(detl.getMaktx()); |
| | | qualityDetl.setProdDate(new Date()); |
| | | qualityDetlService.insert(qualityDetl); |
| | | } |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | @RequestMapping("/quality/orderNo/init1") |
| | | @ManagerAuth(memo = "生成单据编号") |
| | | public R initOrderNo() { |
| | | SimpleDateFormat dateformat = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | | String orderNo = " QC-" + String.valueOf(dateformat.format(new Date())); |
| | | return R.ok().add(orderNo); |
| | | } |
| | | |
| | | @RequestMapping(value = "/quality/update/auth") |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | // @RequestMapping("/orderNo/init1") |
| | | // @ManagerAuth(memo = "生成单据编号") |
| | | // public R initOrderNo() { |
| | | // long nextId = snowflakeIdWorker.nextId(); |
| | | // String orderNo = "QC-" + String.valueOf(nextId).substring(0, 15); |
| | | // if (qualityService.selectByOrderNo(orderNo, getHostId()) != null) { |
| | | // return R.error("抱歉,单据编号已存在"); |
| | | // } |
| | | // return R.ok().add(orderNo); |
| | | // } |
| | | |
| | | @RequestMapping(value = "/quality/export/auth") |
| | | @ManagerAuth |
| | | public R export(@RequestBody JSONObject param){ |
| | |
| | | import com.baomidou.mybatisplus.mapper.Wrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.core.common.DateUtils; |
| | | import zy.cloud.wms.manager.entity.Quality; |
| | | import zy.cloud.wms.manager.entity.QualityDetl; |
| | | import zy.cloud.wms.manager.service.QualityDetlService; |
| | | import com.core.annotations.ManagerAuth; |
| | |
| | | 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.QualityService; |
| | | |
| | | import java.util.*; |
| | | |
| | |
| | | |
| | | @Autowired |
| | | private QualityDetlService qualityDetlService; |
| | | |
| | | @Autowired |
| | | private QualityService qualityService; |
| | | @RequestMapping(value = "/qualityDetl/{id}/auth") |
| | | @ManagerAuth |
| | | public R get(@PathVariable("id") String id) { |
| | |
| | | wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); |
| | | wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); |
| | | } else { |
| | | wrapper.like(entry.getKey(), val); |
| | | wrapper.eq(entry.getKey(), val); |
| | | } |
| | | } |
| | | } |
| | |
| | | if (Cools.isEmpty(qualityDetl) || null==qualityDetl.getId()){ |
| | | return R.error(); |
| | | } |
| | | if(!Cools.isEmpty(qualityDetl.getQuaStatus())){ |
| | | Quality quality= qualityService.selectOne(new EntityWrapper<Quality>().eq("bill_no",qualityDetl.getBillNo())); |
| | | quality.setAuditStatus(Short.valueOf("1")); |
| | | qualityService.updateById(quality); |
| | | } |
| | | qualityDetlService.updateById(qualityDetl); |
| | | return R.ok(); |
| | | } |
| | |
| | | return R.ok(receiveDetlService.selectById(String.valueOf(id))); |
| | | } |
| | | |
| | | @RequestMapping(value = "/receiveDetl/list/auth") |
| | | @RequestMapping(value ="/receiveDetl/list/auth") |
| | | @ManagerAuth |
| | | public R list(@RequestParam(defaultValue = "1")Integer curr, |
| | | @RequestParam(defaultValue = "10")Integer limit, |
| | |
| | | @RequestParam(required = false)String orderByType, |
| | | @RequestParam Map<String, Object> param){ |
| | | EntityWrapper<ReceiveDetl> wrapper = new EntityWrapper<>(); |
| | | param.values(); |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} |
| | | return R.ok(receiveDetlService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | return R.ok(receiveDetlService.selectPage(new Page<>(curr, limit), wrapper.orderBy("id",false))); |
| | | } |
| | | |
| | | private void convert(Map<String, Object> map, EntityWrapper wrapper){ |
| | |
| | | } |
| | | Node targetLoc = nodeService.selectOne(new EntityWrapper<Node>() |
| | | .eq("id", putShelfDTO.getSelect())); |
| | | |
| | | |
| | | /** |
| | | * 更新库存 |
| | | */ |
| | |
| | | |
| | | ReceiveDetl targetRece = receiveDetlService.selectOne(new EntityWrapper<ReceiveDetl>() |
| | | .eq("id", putShelfDTO.getId())); |
| | | targetRece.setInQty((int) (targetRece.getInQty() + remain)); |
| | | targetRece.setInQty((targetRece.getInQty() + remain)); |
| | | receiveDetlService.update(targetRece,new EntityWrapper<ReceiveDetl>() |
| | | .eq("id",targetRece.getId())); |
| | | /** |
| | | * 反写订单状态 |
| | | */ |
| | | if(!Cools.isEmpty(putShelfDTO.getOrderNo())){ |
| | | List<ReceiveDetl> list = receiveDetlService.selectList(new EntityWrapper<ReceiveDetl>().eq("order_no",putShelfDTO.getOrderNo())); |
| | | boolean flag = true; |
| | | |
| | | if(list.size()>0){ |
| | | for (ReceiveDetl receiveDetl : list){ |
| | | if(receiveDetl.getInQty() < receiveDetl.getCount()){ |
| | | flag = false; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | if(flag){ |
| | | Receive receive = receiveService.selectOne(new EntityWrapper<Receive>().eq("order_no",putShelfDTO.getOrderNo())); |
| | | receive.setSettle(Long.valueOf(4)); |
| | | receiveService.updateById(receive); |
| | | } |
| | | // ReceiveDetl receiveDetl = receiveDetlService.selectOne(new EntityWrapper<ReceiveDetl>().eq("order_no",putShelfDTO.getOrderNo()).eq("matnr",putShelfDTO.getMatnr())); |
| | | // for(int i=0;i<list.size();i++){ |
| | | // if(list.get(i).getMatnr().equals(receiveDetl.getMatnr())){ |
| | | // if(list.get(i).getInQty()>=list.get(i).getCount()){ |
| | | // Receive receive = receiveService.selectOne(new EntityWrapper<Receive>().eq("order_no",putShelfDTO.getOrderNo())); |
| | | // receive.setSettle(Long.valueOf(4)); |
| | | // receiveService.updateById(receive); |
| | | // break; |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | } |
| | | /** |
| | | * 上架完成之后,存放数据至上架统计表 man_receive_log |
| | | */ |
| | |
| | | /** |
| | | * 反写回入库档 |
| | | */ |
| | | receiveDetl.setInQty(0); |
| | | receiveDetl.setInQty(0.0); |
| | | receiveDetl.setUpdateTime(new Date()); |
| | | receiveDetl.setUpdateBy(getUserId()); |
| | | receiveDetlService.update(receiveDetl,new EntityWrapper<ReceiveDetl>() |
| | |
| | | import zy.cloud.wms.manager.entity.result.KeyValueVo; |
| | | import zy.cloud.wms.manager.service.*; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @ManagerAuth(memo = "生成单据编号") |
| | | public R initOrderNo() { |
| | | long nextId = snowflakeIdWorker.nextId(); |
| | | String orderNo = "AT-" + String.valueOf(nextId).substring(0, 15); |
| | | SimpleDateFormat dateformat = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | | String orderNo = "AT-" + String.valueOf(dateformat.format(new Date())); |
| | | //String orderNo = "AT-" + String.valueOf(nextId).substring(0, 15); |
| | | if (orderService.selectByOrderNo(orderNo, getHostId()) != null) { |
| | | return R.error("抱歉,单据编号已存在"); |
| | | } |
| | | return R.ok().add(orderNo); |
| | | } |
| | | |
| | | // @RequestMapping("/orderNo/init1") |
| | | // @ManagerAuth(memo = "生成单据编号") |
| | | // public R initOrderNo1() { |
| | | // long nextId = snowflakeIdWorker.nextId(); |
| | | // SimpleDateFormat dateformat = new SimpleDateFormat("yyyyMMddHHmmss"); |
| | | // String orderNo = "AT-" + String.valueOf(dateformat.format(new Date())); |
| | | // //String orderNo = "AT-" + String.valueOf(nextId).substring(0, 15); |
| | | // if (orderService.selectByOrderNo(orderNo, getHostId()) != null) { |
| | | // return R.error("抱歉,单据编号已存在"); |
| | | // } |
| | | // return R.ok().add(orderNo); |
| | | // } |
| | | |
| | | @RequestMapping("/receive/init") |
| | | @ManagerAuth(memo = "生成销售订单") |
| | | public R initReceive(@RequestBody InitOrderParam param) { |
| | |
| | | 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 io.swagger.annotations.ApiModelProperty; |
| | | import com.baomidou.mybatisplus.annotations.TableField; |
| | |
| | | /** |
| | | * ID |
| | | */ |
| | | @ApiModelProperty(value= "ID") |
| | | @ApiModelProperty(value= "ID") |
| | | @TableId(value = "id",type = IdType.AUTO) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value= "") |
| | |
| | | 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 io.swagger.annotations.ApiModelProperty; |
| | | import com.baomidou.mybatisplus.annotations.TableField; |
| | |
| | | * ID |
| | | */ |
| | | @ApiModelProperty(value= "ID") |
| | | @TableId(value = "id",type = IdType.AUTO) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value= "") |
| | |
| | | private String memo; |
| | | |
| | | @TableField("in_qty") |
| | | private int inQty; |
| | | private Double inQty; |
| | | |
| | | @TableField("qua_status") |
| | | private int quaStatus; |
| | |
| | | ReceiveDetl receiveDetl = new ReceiveDetl(); |
| | | receiveDetl.setHostId(hostId); |
| | | receiveDetl.setOrderId(order_no.getId()); |
| | | receiveDetl.setOrderNo(param.getOrderNo()); |
| | | receiveDetl.setAnfme(dto.getCount()); |
| | | receiveDetl.setCreateTime(now); |
| | | receiveDetl.setCreateBy(userId); |
| | |
| | | var pageCurr; |
| | | var billNO; |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).use(['table','laydate', 'form', 'admin'], function(){ |
| | |
| | | cellMinWidth: 50, |
| | | cols: [[ |
| | | {type: 'checkbox'} |
| | | ,{field: 'id', align: 'center',title: 'ID'} |
| | | //,{field: 'id', align: 'center',title: 'ID'} |
| | | ,{field: 'billNo', align: 'center',title: '检验编号'} |
| | | ,{align: 'center', title: '明细', toolbar: '#tbLook', minWidth: 140, width: 140} |
| | | ,{field: 'auditStatus$', align: 'center',title: '审核状态', width: 100} |
| | | ,{field: 'auditStatus$', align: 'center',title: '审核状态'} |
| | | ,{field: 'memo', align: 'center',title: '备注', hide:true} |
| | | ,{field: 'modiUser$', align: 'center',title: '修改人员', width: 100} |
| | | ,{field: 'modiTime$', align: 'center',title: '修改时间', width: 200} |
| | | ,{field: 'appeUser$', align: 'center',title: '创建者', hide:true} |
| | | ,{field: 'appeTime$', align: 'center',title: '添加时间', hide:true} |
| | | ,{align: 'center', title: '明细', toolbar: '#tbLook'} |
| | | ,{field: 'updateBy$', align: 'center',title: '修改人员'} |
| | | ,{field: 'updateTime$', align: 'center',title: '修改时间'} |
| | | ,{field: 'createBy$', align: 'center',title: '创建者', hide:true} |
| | | ,{field: 'createTime$', align: 'center',title: '添加时间', hide:true} |
| | | |
| | | ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:150} |
| | | ]], |
| | |
| | | // 监听行工具事件 |
| | | table.on('tool(quality)', function(obj){ |
| | | var data = obj.data; |
| | | billNO=data; |
| | | switch (obj.event) { |
| | | case 'edit': |
| | | showEditModel(data); |
| | |
| | | layer.open({ |
| | | type: 1, |
| | | title: false, |
| | | area: '2000px', |
| | | area: '1000px', |
| | | offset: [offset.top + 'px', (offset.left - 530 + $a.outerWidth()) + 'px'], |
| | | shade: .01, |
| | | shadeClose: true, |
| | |
| | | headers: {token: localStorage.getItem('token')}, |
| | | url: baseUrl+'/qualityDetl/list/auth', |
| | | where: { |
| | | quality_id: data.id |
| | | bill_no: data.billNo |
| | | }, |
| | | limit: 5, |
| | | page: true, |
| | |
| | | cols: [[ |
| | | // {type: 'numbers'}, |
| | | // {field: 'billNo', title: '检验编号', align: 'center'}, |
| | | {field: 'seqNo', title: '单据行号', align: 'center',width: 100}, |
| | | {field: 'orderNo', title: '入库单号', align: 'center',width: 150}, |
| | | {field: 'anfme', title: '待入库数量', align: 'center',width: 100}, |
| | | {field: 'matnr', title: '产品ID', align: 'center',width: 150}, |
| | | {field: 'maktx', title: '产品名称', align: 'center',width: 150}, |
| | | {field: 'seqNo', title: '单据行号', align: 'center'}, |
| | | {field: 'orderNo', title: '入库单号', align: 'center'}, |
| | | {field: 'anfme', title: '待入库数量', align: 'center'}, |
| | | {field: 'matnr', title: '产品ID', align: 'center'}, |
| | | {field: 'maktx', title: '产品名称', align: 'center'}, |
| | | // {field: 'maktx', title: '产品名称', align: 'center'}, |
| | | {field: 'prodDate$', title: '生产日期', align: 'center',width: 150}, |
| | | {field: 'quaStatus$', title: '检验状态', align: 'center',width: 100}, |
| | | {field: 'rejectQty', title: '不合格数量', align: 'center',width: 100}, |
| | | {field: 'rejectReason', title: '不合格原因', align: 'center',width: 150}, |
| | | {field: 'prodDate$', title: '生产日期', align: 'center'}, |
| | | {field: 'quaStatus$', title: '检验状态', align: 'center'}, |
| | | {field: 'rejectQty', title: '不合格数量', align: 'center'}, |
| | | {field: 'rejectReason', title: '不合格原因', align: 'center'}, |
| | | |
| | | ]], |
| | | request: { |
| | |
| | | title: (mData ? '修改' : '添加') + '订单状态', |
| | | content: $('#editDialog').html(), |
| | | success: function (layero, dIndex) { |
| | | layDateRender(); |
| | | layDateRender(mData); |
| | | form.val('detail', mData); |
| | | form.on('submit(editSubmit)', function (data) { |
| | | var loadIndex = layer.load(2); |
| | |
| | | }else { |
| | | layer.msg(res.msg, {icon: 2}); |
| | | } |
| | | location.reload(); |
| | | } |
| | | }) |
| | | return false; |
| | |
| | | // 时间选择器 |
| | | function layDateRender() { |
| | | layDate.render({ |
| | | elem: '#modiTime\\$', |
| | | type: 'datetime' |
| | | elem: '#updateTime\\$', |
| | | type: 'datetime', |
| | | value: new Date() |
| | | }); |
| | | layDate.render({ |
| | | elem: '#appeTime\\$', |
| | |
| | | // 提取产品 |
| | | var locDetlLayerIdx; |
| | | function getLocDetl() { |
| | | |
| | | locDetlLayerIdx = layer.open({ |
| | | type: 2, |
| | | title: '质检明细', |
| | |
| | | success: function(layero, index){ |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function getbillData(){ |
| | | return billNO; |
| | | } |
| | | |
| | | function initOrderNo1() { |
| | | $.ajax({ |
| | | url: baseUrl+"/quality/orderNo/init1", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | async: false, |
| | | method: 'GET', |
| | | success: function (res) { |
| | | if (res.code === 200){ |
| | | $('#billNo').val(res.data) |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | } else { |
| | | notice.error({ |
| | | title: '消息通知', |
| | | message: res.msg |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | |
| | | }); |
| | | success = false; |
| | | return false; |
| | | }else { |
| | | var nowTime = new Date(); |
| | | var now = formatDate(nowTime); |
| | | form.val('inDate',{ |
| | | "orderTime": now |
| | | }); |
| | | } |
| | | } |
| | | var index = layer.load(1, {shade: [0.1,'#000']}); |
| | |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | function formatDate(date) { |
| | | var y = date.getFullYear(); |
| | | var m = date.getMonth() + 1; |
| | | m = m < 10 ? '0' + m : m; |
| | | var d = date.getDate(); |
| | | d = d < 10 ? ('0' + d) : d; |
| | | return y + '-' + m + '-' + d; |
| | | }; |
| | |
| | | {type: 'checkbox'} |
| | | ,{field: 'id', align: 'center',title: 'ID', hide:true} |
| | | ,{field: 'hostId', align: 'center',title: '', hide:true} |
| | | ,{field: 'orderId$', align: 'center',title: '订单', width: 185} |
| | | ,{field: 'orderNo', align: 'center',title: '单据编号', width: 185} |
| | | ,{field: 'anfme', align: 'center',title: '应入库量', width: 100} |
| | | ,{field: 'inQty', align: 'center',title: '已入库量', width: 100} |
| | | ,{field: 'matnr', align: 'center',title: '商品编码'} |
| | |
| | | form.val('inDetail',{ |
| | | "remain": remain |
| | | }); |
| | | |
| | | form.val('inDetail',data); |
| | | |
| | | form.on('submit(inLoc)',function (data) { |
| | | |
| | | var loc = insXmSel.getValue('valueStr'); |
| | | var storeQty =data.field.remain; |
| | | |
| | | if(storeQty> data.field.anfme - data.field.inQty || storeQty<=0){ |
| | | layer.msg("数量不对"); |
| | | return; |
| | | } |
| | | if(loc===""){ |
| | | layer.msg("库位号为空"); |
| | | return; |
| | | } |
| | | |
| | | $.ajax({ |
| | | url: baseUrl+"/receiveDetl/addIn" |
| | | ,headers: {'token':localStorage.getItem('token')} |
| | |
| | | layer.closeAll(); |
| | | if(res.code === 200){ |
| | | layer.msg(res.msg); |
| | | tableReload(); |
| | | } |
| | | if (res.code === 500){ |
| | | layer.msg(res.msg); |
| | |
| | | <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"> |
| | | <input class="layui-input" type="text" name="bill_no" placeholder="检验编号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <!-- 待添加 --> |
| | |
| | | </body> |
| | | <!-- 表单弹窗 --> |
| | | <script type="text/html" id="editDialog"> |
| | | <form id="detail" lay-filter="detail" class="layui-form admin-form"> |
| | | <div 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 layui-form-required">ID: </label> |
| | | <div class="layui-input-block"> |
| | | <input class="layui-input" name="id" placeholder="请输入ID" lay-vertype="tips" lay-verify="required"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">: </label> |
| | | <div class="layui-input-block"> |
| | | <input class="layui-input" name="hostId" placeholder="请输入"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label layui-form-required">编号: </label> |
| | | <div class="layui-input-block"> |
| | |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">检验单号: </label> |
| | | <div class="layui-input-block"> |
| | | <input class="layui-input" name="billNo" placeholder="请输入检验单号"> |
| | | <input class="layui-input" name="billNo" id="billNo" placeholder="请输入检验单号" lay-verify="required"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">修改人员: </label> |
| | | <div class="layui-input-block cool-auto-complete"> |
| | | <input class="layui-input" name="modiUser" placeholder="请输入修改人员" style="display: none"> |
| | | <input class="layui-input" name="updateBy" placeholder="请输入修改人员" style="display: none"> |
| | | <input id="modiUser$" 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="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))"> |
| | |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">修改时间: </label> |
| | | <div class="layui-input-block"> |
| | | <input class="layui-input" name="modiTime" id="modiTime$" placeholder="请输入修改时间"> |
| | | <input class="layui-input" name="updateTime" id="updateTime$" placeholder="请输入修改时间"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">创建者: </label> |
| | | <div class="layui-input-block cool-auto-complete"> |
| | | <input class="layui-input" name="appeUser" placeholder="请输入创建者" style="display: none"> |
| | | <input id="appeUser$" 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="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))"> |
| | | <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" 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="appeTime" id="appeTime$" placeholder="请输入添加时间"> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="layui-form-item">--> |
| | | <!-- <label class="layui-form-label">创建者: </label>--> |
| | | <!-- <div class="layui-input-block cool-auto-complete">--> |
| | | <!-- <input class="layui-input" name="appeUser" placeholder="请输入创建者" style="display: none">--> |
| | | <!-- <input id="appeUser$" 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="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))">--> |
| | | <!-- <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" 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="appeTime" id="appeTime$" placeholder="请输入添加时间">--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | |
| | | </div> |
| | | </div> |
| | | <hr class="layui-bg-gray"> |
| | | <div class="layui-form-item text-right"> |
| | | <button class="layui-btn layui-btn-primary" id="autoNo" onclick="initOrderNo1()">编号自动生成</button> |
| | | <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> |
| | | </div> |
| | | </script> |
| | | </html> |
| | | |
| | |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="checkQuality">检验</a> |
| | | </script> |
| | | <script> |
| | | |
| | | var pageCurr; |
| | | var billNo=parent.getbillData().billNo; |
| | | function getCol() { |
| | | var cols = [ |
| | | // {type: 'checkbox', fixed: 'left'}, |
| | |
| | | elem: '#stockOut', |
| | | headers: {token: localStorage.getItem('token')}, |
| | | url: baseUrl+'/qualityDetl/list/auth', |
| | | where:{ |
| | | bill_no:billNo |
| | | }, |
| | | page: true, |
| | | limit: 10, |
| | | even: true, |
| | |
| | | statusCode: 200 |
| | | }, |
| | | done: function(res, curr, count) { |
| | | console.log(res.data) |
| | | if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } |
| | |
| | | <script type="text/html" id="toolbar"> |
| | | <div class="layui-form"> |
| | | <div class="layui-btn-container"> |
| | | <!-- 2.启动出库 --> |
| | | <!-- 2.入库出库 --> |
| | | <button class="layui-btn layui-btn-lg" id="btn-outbound" lay-event="createDoc">开始生成</button> |
| | | </div> |
| | | </div> |
| | |
| | | <div id="getOrderNo" style="display: none"> |
| | | <!-- 订单编号、单据日期、单据类型、项目编号、客户编号、 --> |
| | | <div class="layui-form"> |
| | | <div class="layui-form-item"> |
| | | <div id="inDate" class="layui-form-item"> |
| | | <label class="layui-form-label layui-form-required">单据类型:</label> |
| | | <div class="layui-input-block"> |
| | | <select id="docType" name="docType" lay-verType="tips" lay-verify="required" required> |
| | |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label layui-form-required">单据日期:</label> |
| | | <div class="layui-input-block"> |
| | | <input id="orderTime" name="orderTime" placeholder="请输入单据日期" class="layui-input icon-date" lay-verType="tips" lay-verify="required" autocomplete="off"> |
| | | <input id="orderTime" value="2022" name="orderTime" placeholder="请输入单据日期" class="layui-input icon-date" lay-verType="tips" lay-verify="required" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">入库单编号:</label> |
| | | <div class="layui-input-inline"> |
| | | <input name="order_no" class="layui-input" placeholder="输入入库单编号"/> |
| | | <input name="order_no" class="layui-input" placeholder="单据编号"/> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline">  |
| | |
| | | <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"> |
| | | <input class="layui-input" type="text" name="order_no" placeholder="单据编号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <!-- 待添加 --> |