You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

474 lines
26 KiB

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no"/>
<link rel="stylesheet" href="/css/reset.css"/>
<link rel="stylesheet" href="/mint-ui/mint-ui.min.css"/>
<link rel="stylesheet" href="/css/mobile.css"/>
</head>
<body>
<div id="app">
<#if currentUser??>
<div class="main-container" style="display: none;" v-show="!rendering">
<mt-header fixed>
<div slot="left" class="header-title">
<img class="logo" height="30" src="/img/ccl-logo.png"/>
</div>
<img src="/img/logout.svg" height="22" @click="logout" slot="right"/>
</mt-header>
<mt-tab-container v-model="selectedTab">
<#if currentUser.isAdmin || currentUser.authorities?contains("receiving")>
<script>var selectedTab = selectedTab || "receive";</script>
<mt-tab-container-item id="receive">
<div v-show="receive.screen === 'default'">
<div class="input-group">
<div class="input-left" style="width: calc(100% - 120px)">
<mt-field label="" placeholder="Receiving No" ref="receiveNoRef" v-model="receive.search.receiveNo"></mt-field>
</div>
<div class="input-right">
<mt-button @click="searchReceiveNo">Query</mt-button>
<mt-button @click="scanReceive">Scanning</mt-button>
</div>
<div class="clear"></div>
</div>
<div class="receive-summary" v-show="receive.summary.receiveNo != ''">
<div class="form">
<span class="form-title">入库单号: </span>
<span class="form-value">{{ receive.summary.receiveNo }}</span>
</div>
<div class="form">
<span class="form-title">生产单号: </span>
<span class="form-value">{{ receive.summary.orderNo }}</span>
</div>
<div class="form">
<span class="form-title">创建日期: </span>
<span class="form-value">{{ receive.summary.receivedDate | datetime}}</span>
</div>
<div class="form">
<span class="form-title">创建人: </span>
<span class="form-value">{{ receive.summary.receivedBy }}</span>
</div>
<div class="form">
<span class="form-title">类型: </span>
<span class="form-value">{{ receive.summary.receivedType | receivedType }}</span>
</div>
</div>
<div style="text-align: right;margin-top:20px;">
<mt-button type="primary" @click="enterAddReceiveScreen">新增良品入库</mt-button>
</div>
</div>
<div v-show="receive.screen === 'scan'">
<h1 class="title">入库扫描 - {{receive.summary.receiveNo}} ({{receive.summary.receivedType | receivedType}})</h1>
<hr/>
<a class="mint-cell mint-field is-nolabel">
<div class="mint-cell-left"></div>
<div class="mint-cell-wrapper">
<div class="mint-cell-value">
<input placeholder="请扫描小卷卷号" type="text" v-model="receive.scan.finalRollNo" class="mint-field-core" ref="receiveScanFinalRollNoRef" @keydown.enter.prevent="confirmScanFinalRollNo">
<div class="mint-field-clear"><i class="mintui mintui-field-error"></i></div>
<span class="mint-field-state is-default"><i class="mintui mintui-field-default"></i></span>
<div class="mint-field-other"></div>
</div>
</div>
</a>
<br/><br/><br/>
<h1 class="title">已扫描记录 {{receive.scan.rolls.length}}</h1>
<hr/>
<table class="table receive-scan-rolls">
<thead>
<tr>
<th>
Roll No
</th>
<th width="65">
Created By
</th>
<th width="155">
Created Time
</th>
</tr>
</thead>
<tbody>
<tr v-for="(roll,i) in receive.scan.rolls" :style="{'color' : (i + 1) % 12 === 0 ? 'red':'inherit'}">
<td> {{roll.finalRollNo}}</td>
<td> {{roll.receivedBy}}</td>
<td> {{roll.receivedDate | datetime}}</td>
</tr>
</tbody>
</table>
<div style="text-align: right;margin-top:20px;">
<mt-button type="danger" @click="receive.screen = 'default'">返回</mt-button>
</div>
</div>
<div v-show="receive.screen === 'add'">
<div class="input-group">
<div class="input-left">
<mt-field label="" placeholder="请输入生产订单单号" ref="receiveAddOrderNoRef" v-model="receive.add.orderNo"></mt-field>
</div>
<div class="input-right">
<mt-button @click="confirmAddReceive">Ok</mt-button>
</div>
<div class="clear"></div>
</div>
<div style="text-align: right;margin-top:20px;">
<mt-button type="danger" @click="receive.screen = 'default'">返回</mt-button>
</div>
</div>
</mt-tab-container-item>
</#if>
<#if currentUser.isAdmin || currentUser.authorities?contains("dispatch")>
<script>var selectedTab = selectedTab || "shipment";</script>
<mt-tab-container-item id="shipment">
<div v-show="shipment.screen === 'default'">
<div class="input-group">
<div class="input-left" style="width: calc(100% - 120px)">
<mt-field label="" ref="shipNoRef" placeholder="Delivery No" v-model="shipment.search.shipNo"></mt-field>
</div>
<div class="input-right">
<mt-button @click="searchShipment">Query</mt-button>
<mt-button @click="enterShipmentBoxes">箱子</mt-button>
</div>
<div class="clear"></div>
</div>
<div class="receive-summary" v-show="shipment.summary.shipNo != ''">
<div class="form">
<span class="form-title">出库单号: </span>
<span class="form-value">{{ shipment.summary.shipNo }}</span>
</div>
<div class="form">
<span class="form-title">创建日期: </span>
<span class="form-value">{{ shipment.summary.shippedDate | datetime}}</span>
</div>
<div class="form">
<span class="form-title">创建人: </span>
<span class="form-value">{{ shipment.summary.shippedBy }}</span>
</div>
<div class="form">
<span class="form-title">总箱数: </span>
<span class="form-value">{{ shipment.summary.totalBoxes }}</span>
</div>
</div>
<div style="text-align: right;margin-top:20px;">
<mt-button type="primary" @click="confirmAddShipment">New Shipment</mt-button>
</div>
</div>
<div v-show="shipment.screen === 'box'">
<div class="shipment-boxes-title">
<h1 class="title">
{{ shipment.summary.shipNo }}中的箱子
</h1>
<mt-button type="primary" @click="newShipmentBox" size="small">New Box</mt-button>
</div>
<hr/>
<table class="table receive-scan-rolls">
<thead>
<tr>
<th>
Box No
</th>
<th>
Status
</th>
<th width="100">
Actions
</th>
</tr>
</thead>
<tbody>
<tr v-for="box in shipment.boxes">
<td> {{box.boxNo}}</td>
<td> {{box.status}}</td>
<td>
<mt-button type="default" v-if="box.status === 'Packed'" size="small" @click="gotoPrintBox(box.boxNo)">打印</mt-button>
<mt-button type="default" v-else size="small" @click="scanShipmentBox(box.boxNo,box.id)">Scan and delivery</mt-button>
</td>
</tr>
</tbody>
</table>
<div style="text-align: right;margin-top:20px;">
<mt-button type="danger" @click="shipment.screen = 'default'">返回</mt-button>
</div>
</div>
<div v-show="shipment.screen === 'scanBox'">
<div class="shipment-boxes-title">
<h1 class="title">
出库扫描 - {{shipment.summary.shipNo}} / {{shipment.summary.boxNo}}
</h1>
<mt-button type="primary" @click="finishScanShipmentBoxRoll" size="small">结束扫描</mt-button>
</div>
<hr/>
<a class="mint-cell mint-field is-nolabel">
<div class="mint-cell-left"></div>
<div class="mint-cell-wrapper">
<div class="mint-cell-value">
<input placeholder="请扫描小卷卷号" type="text" v-model="shipment.scan.finalRollNo" class="mint-field-core" ref="shipmentScanFinalRollNoRef" @keydown.enter.prevent="confirmScanBoxFinalRollNo">
<div class="mint-field-clear"><i class="mintui mintui-field-error"></i></div>
<span class="mint-field-state is-default"><i class="mintui mintui-field-default"></i></span>
<div class="mint-field-other"></div>
</div>
</div>
</a>
<br/><br/><br/>
<h1 class="title">已扫描记录</h1>
<hr/>
<table class="table receive-scan-rolls">
<thead>
<tr>
<th>
Roll No
</th>
<th width="65">
Created By
</th>
<th width="155">
Created Time
</th>
</tr>
</thead>
<tbody>
<tr v-for="roll in shipment.scan.rolls">
<td> {{roll.finalRollNo}}</td>
<td> {{roll.shippedBy}}</td>
<td> {{roll.shippedDate | datetime}}</td>
</tr>
</tbody>
</table>
<div style="text-align: right;margin-top:20px;">
<mt-button type="danger" @click="shipment.screen = 'box'">返回</mt-button>
</div>
</div>
<div v-show="shipment.screen === 'print'">
<div class="print-qr">
<div class="box-summary">
<qr :width="100" v-model="shipment.summary.boxNo"></qr>
<div class="box-detail">
<table>
<tr>
<td>Box ID:</td>
<td>{{shipment.print.box.boxNo}}</td>
</tr>
<tr>
<td>Box Qty:</td>
<td>{{shipment.print.count}}</td>
</tr>
<tr>
<td>IFS PN:</td>
<td>{{shipment.print.partNo}}</td>
</tr>
<tr>
<td>Customer PN:</td>
<td>{{shipment.print.customerPartNo}}</td>
</tr>
</table>
</div>
</div>
<div class="box-list">
<table>
<tr>
<td>
<div v-if="shipment.print.boxRoll0">
<div class="r-title">R01</div>
<qr :width="50" v-model="shipment.print.boxRoll0.finalRollNo"></qr>
</div>
</td>
<td>
<div v-if="shipment.print.boxRoll1">
<div class="r-title">R02</div>
<qr :width="50" v-model="shipment.print.boxRoll1.finalRollNo"></qr>
</div>
</td>
<td>
<div v-if="shipment.print.boxRoll2">
<div class="r-title">R03</div>
<qr :width="50" v-model="shipment.print.boxRoll2.finalRollNo"></qr>
</div>
</td>
<td>
<div v-if="shipment.print.boxRoll3">
<div class="r-title">R04</div>
<qr :width="50" v-model="shipment.print.boxRoll3.finalRollNo"></qr>
</div>
</td>
<td>
<div v-if="shipment.print.boxRoll4">
<div class="r-title">R05</div>
<qr :width="50" v-model="shipment.print.boxRoll4.finalRollNo"></qr>
</div>
</td>
<td>
<div v-if="shipment.print.boxRoll5">
<div class="r-title">R06</div>
<qr :width="50" v-model="shipment.print.boxRoll5.finalRollNo"></qr>
</div>
</td>
</tr>
<tr>
<td>
<div v-if="shipment.print.boxRoll6">
<div class="r-title">R07</div>
<qr :width="50" v-model="shipment.print.boxRoll6.finalRollNo"></qr>
</div>
</td>
<td>
<div v-if="shipment.print.boxRoll7">
<div class="r-title">R08</div>
<qr :width="50" v-model="shipment.print.boxRoll7.finalRollNo"></qr>
</div>
</td>
<td>
<div v-if="shipment.print.boxRoll8">
<div class="r-title">R09</div>
<qr :width="50" v-model="shipment.print.boxRoll8.finalRollNo"></qr>
</div>
</td>
<td>
<div v-if="shipment.print.boxRoll9">
<div class="r-title">R10</div>
<qr :width="50" v-model="shipment.print.boxRoll9.finalRollNo"></qr>
</div>
</td>
<td>
<div v-if="shipment.print.boxRoll10">
<div class="r-title">R11</div>
<qr :width="50" v-model="shipment.print.boxRoll10.finalRollNo"></qr>
</div>
</td>
<td>
<div v-if="shipment.print.boxRoll11">
<div class="r-title">R12</div>
<qr :width="50" v-model="shipment.print.boxRoll11.finalRollNo"></qr>
</div>
</td>
</tr>
</table>
</div>
</div>
<div class="print-buttons">
<mt-button type="primary" @click="printBox()">打印</mt-button>
<mt-button type="danger" @click="shipment.screen = 'default'">返回</mt-button>
</div>
</div>
</mt-tab-container-item>
</#if>
<#if currentUser.isAdmin || currentUser.authorities?contains("counting")>
<script>var selectedTab = selectedTab || "counting";</script>
<mt-tab-container-item id="counting">
<div v-show="counting.screen === 'default'">
<div class="input-group">
<div class="input-left" style="width: calc(100% - 120px)">
<mt-field label="" placeholder="盘点单号" v-model="counting.search.countingNo"></mt-field>
</div>
<div class="input-right">
<mt-button @click="searchCountingNo">Query</mt-button>
<mt-button @click="scanCounting">Scanning</mt-button>
</div>
<div class="clear"></div>
</div>
<div class="receive-summary" v-show="counting.summary.countingNo != ''">
<div class="form">
<span class="form-title">盘点单号: </span>
<span class="form-value">{{ counting.summary.countingNo }}</span>
</div>
<div class="form">
<span class="form-title">创建日期: </span>
<span class="form-value">{{ counting.summary.createdDate | datetime}}</span>
</div>
<div class="form">
<span class="form-title">创建人: </span>
<span class="form-value">{{ counting.summary.createdBy }}</span>
</div>
<div class="form">
<span class="form-title">Status: </span>
<span class="form-value">{{ counting.summary.status }}</span>
</div>
</div>
</div>
<div v-show="counting.screen === 'scan'">
<h1 class="title">盘点扫描 - {{counting.summary.countingNo}}</h1>
<hr/>
<a class="mint-cell mint-field is-nolabel">
<div class="mint-cell-left"></div>
<div class="mint-cell-wrapper">
<div class="mint-cell-value">
<input placeholder="请扫描盘点信息" type="text" v-model="counting.scan.info" class="mint-field-core" ref="countingScanRef" @keydown.enter.prevent="confirmCountingScan">
<div class="mint-field-clear"><i class="mintui mintui-field-error"></i></div>
<span class="mint-field-state is-default"><i class="mintui mintui-field-default"></i></span>
<div class="mint-field-other"></div>
</div>
</div>
</a>
<br/><br/><br/>
<h1 class="title">已扫描记录</h1>
<hr/>
<table class="table counting-act-table receive-scan-rolls">
<thead>
<tr>
<th>
Part
</th>
<th>
Location
</th>
<th>
LotBatch
</th>
<th>
Counted
</th>
</tr>
</thead>
<tbody>
<tr v-for="act in counting.scan.actData">
<td> {{act.partNo}}</td>
<td> {{act.locationNo}}</td>
<td> {{act.lotBatchNo}}</td>
<td> {{act.countedQty}}</td>
</tr>
</tbody>
</table>
<div style="text-align: right;margin-top:20px;">
<mt-button type="danger" @click="counting.screen = 'default'">返回</mt-button>
</div>
</div>
</mt-tab-container-item>
</#if>
</mt-tab-container>
<mt-tabbar v-model="selectedTab">
<#if currentUser.isAdmin || currentUser.authorities?contains("receiving")>
<mt-tab-item id="receive">
<img slot="icon" src="/img/in.svg"/>
Receive
</mt-tab-item>
</#if>
<#if currentUser.isAdmin || currentUser.authorities?contains("dispatch")>
<mt-tab-item id="shipment">
<img slot="icon" src="/img/out.svg"/>
发货
</mt-tab-item>
</#if>
<#if currentUser.isAdmin || currentUser.authorities?contains("counting")>
<mt-tab-item id="counting">
<img slot="icon" src="/img/check.svg"/>
Counting
</mt-tab-item>
</#if>
</mt-tabbar>
</div>
</#if>
</div>
<form id="frmLogout" action="/logout" method="post"></form>
</body>
<script src="/qrcode/qrcode.min.js"></script>
<script src="/vue/vue.js"></script>
<script src="/vue/vue-resource.min.js"></script>
<script src="/mint-ui/mint-ui.min.js"></script>
<script src="/js/vue-qr.js"></script>
<script src="/js/mobile.js"></script>
</html>