盘点
This commit is contained in:
@@ -305,3 +305,17 @@ uni-button:after {
|
|||||||
.uni-select__input-placeholder,.uni-select__selector-empty, .uni-select__selector-item {
|
.uni-select__input-placeholder,.uni-select__selector-empty, .uni-select__selector-item {
|
||||||
font-size: 28rpx !important
|
font-size: 28rpx !important
|
||||||
}
|
}
|
||||||
|
.sin_input {
|
||||||
|
width: 150rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
line-height: 150rpx;
|
||||||
|
height: 68rpx;
|
||||||
|
color: #323232;
|
||||||
|
padding: 0 .1rem;
|
||||||
|
border: 1px solid #a1a1a1;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
.layout-t tr.checked td .sin_input {
|
||||||
|
color: #8a8a8a;
|
||||||
|
border: 1px solid #ffffff;
|
||||||
|
}
|
||||||
23
main.js
23
main.js
@@ -4,10 +4,33 @@ import Vue from 'vue'
|
|||||||
Vue.config.productionTip = false
|
Vue.config.productionTip = false
|
||||||
App.mpType = 'app'
|
App.mpType = 'app'
|
||||||
|
|
||||||
|
Vue.directive('enterNumber', {
|
||||||
|
inserted: function (el) {
|
||||||
|
el.addEventListener("keypress",function(e){
|
||||||
|
e = e || window.event;
|
||||||
|
let charcode = typeof e.charCode == 'number' ? e.charCode : e.keyCode;
|
||||||
|
// if (parseInt(e.target.value) == 0) {
|
||||||
|
// e.preventDefault();
|
||||||
|
// }
|
||||||
|
parseInt(e.target.value) == 0 && e.preventDefault();
|
||||||
|
let re = /\d/;
|
||||||
|
if(!re.test(String.fromCharCode(charcode)) && charcode > 9 && !e.ctrlKey){
|
||||||
|
if(e.preventDefault){
|
||||||
|
e.preventDefault();
|
||||||
|
}else{
|
||||||
|
e.returnValue = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
import store from '@/vuex/store.js'
|
import store from '@/vuex/store.js'
|
||||||
|
|
||||||
const app = new Vue({
|
const app = new Vue({
|
||||||
...App,
|
...App,
|
||||||
store
|
store
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
app.$mount()
|
app.$mount()
|
||||||
117
pages/WarehouseManage/CheckDtl.vue
Normal file
117
pages/WarehouseManage/CheckDtl.vue
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
<template>
|
||||||
|
<view class="zd_container">
|
||||||
|
<nav-bar :inner2="true" @goIn="goIn" title="盘点明细"></nav-bar>
|
||||||
|
<view class="zd_content">
|
||||||
|
<view class="zd_wrapper grid-wraper">
|
||||||
|
<view class="slide_new">
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>单据号</th>
|
||||||
|
<th>状态</th>
|
||||||
|
<th>盘点库区</th>
|
||||||
|
<th>盘点货位</th>
|
||||||
|
<th>数量</th>
|
||||||
|
<th>盘点数量</th>
|
||||||
|
<th>确认人</th>
|
||||||
|
<th>确认时间</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr v-for="(e, i) in dataList" :key="i">
|
||||||
|
<td>{{e.check_code}}</td>
|
||||||
|
<td>{{e.status}}</td>
|
||||||
|
<td>{{e.sect_name}}</td>
|
||||||
|
<td>{{e.struct_name}}</td>
|
||||||
|
<td>{{e.base_qty}}</td>
|
||||||
|
<td><input type="number" class="sin_input" :min="0" v-model="value" @blur="e => {if (e.target.value === '') {value=0}}" v-enter-number></td>
|
||||||
|
<td>{{e.check_optname}}</td>
|
||||||
|
<td>{{e.check_time}}</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="submit-bar">
|
||||||
|
<button class="submit-button" :class="{'btn-disabled': !dataList.length}" :disabled="disabled1" @tap="_saveCheck">保存</button>
|
||||||
|
<button class="submit-button" :class="{'btn-disabled': !dataList.length}" :disabled="disabled1" @tap="_confirmCheck">确认</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import NavBar from '@/components/NavBar.vue'
|
||||||
|
import {checkQueryDtl, saveCheck, confirmCheck} from '@/utils/getData1.js'
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
NavBar,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
value: '1',
|
||||||
|
checkCode: '',
|
||||||
|
dataList: [],
|
||||||
|
disabled1: false
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created () {
|
||||||
|
},
|
||||||
|
onLoad (option) {
|
||||||
|
this.checkCode = option.check_code
|
||||||
|
this._checkQueryDtl()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
goIn () {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/WarehouseManage/CheckList`
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleChange (e) {
|
||||||
|
// console.log(e)
|
||||||
|
},
|
||||||
|
/** 初始化查询 */
|
||||||
|
async _checkQueryDtl () {
|
||||||
|
let res = await checkQueryDtl(this.checkCode)
|
||||||
|
this.dataList = [...res.data]
|
||||||
|
},
|
||||||
|
async _saveCheck () {
|
||||||
|
this.disabled1 = true
|
||||||
|
try {
|
||||||
|
let res = await saveCheck(this.dataList, this.checkCode)
|
||||||
|
this.disabled1 = false
|
||||||
|
this._checkQueryDtl()
|
||||||
|
uni.showToast({
|
||||||
|
title: res.message,
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
} catch (e) {
|
||||||
|
this.disabled1 = false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async _confirmCheck () {
|
||||||
|
this.disabled1 = true
|
||||||
|
try {
|
||||||
|
let res = await confirmCheck(this.dataList, this.checkCode)
|
||||||
|
this.disabled1 = false
|
||||||
|
this._checkQueryDtl()
|
||||||
|
uni.showToast({
|
||||||
|
title: res.message,
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
} catch (e) {
|
||||||
|
this.disabled1 = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="stylus">
|
||||||
|
.zd_content
|
||||||
|
padding-bottom 77rpx
|
||||||
|
.slide_new table td:nth-child(1), .slide_new table th:nth-child(1)
|
||||||
|
box-shadow 1px 0 2px rgba(0,0,0,.12)
|
||||||
|
.bgyellow td
|
||||||
|
background-color #E9B451
|
||||||
|
</style>
|
||||||
99
pages/WarehouseManage/CheckList.vue
Normal file
99
pages/WarehouseManage/CheckList.vue
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
<template>
|
||||||
|
<view class="zd_container">
|
||||||
|
<nav-bar title="盘点单"></nav-bar>
|
||||||
|
<view class="zd_content">
|
||||||
|
<view class="zd_wrapper">
|
||||||
|
<view class="filter_item">
|
||||||
|
<view class="filter_label">单据编码</view>
|
||||||
|
<view class="filter_input_wraper">
|
||||||
|
<input type="text" class="filter_input" v-model="val1">
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd_wrapper grid-wraper">
|
||||||
|
<view class="slide_new">
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>单据号</th>
|
||||||
|
<th>单据类型</th>
|
||||||
|
<th>仓库名称</th>
|
||||||
|
<th>明细数</th>
|
||||||
|
<th>状态</th>
|
||||||
|
<th>创建人</th>
|
||||||
|
<th>创建时间</th>
|
||||||
|
<th>确认人</th>
|
||||||
|
<th>确认时间</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr v-for="(e, i) in dataList" :key="i" @click="toCheck(e)" :class="{'checked': e.bill_code === pkId}">
|
||||||
|
<td>{{e.check_code}}</td>
|
||||||
|
<td>{{e.check_type}}</td>
|
||||||
|
<td>{{e.stor_name}}</td>
|
||||||
|
<td>{{e.dtl_num}}</td>
|
||||||
|
<td>{{e.status}}</td>
|
||||||
|
<td>{{e.input_optname}}</td>
|
||||||
|
<td>{{e.input_time}}</td>
|
||||||
|
<td>{{e.confirm_optname}}</td>
|
||||||
|
<td>{{e.confirm_time}}</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="submit-bar">
|
||||||
|
<button class="submit-button" :class="{'btn-disabled': !pkId}" :disabled="disabled1" @tap="toPandian">盘点</button>
|
||||||
|
<button class="submit-button" @tap="_checkQuery">查询</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import NavBar from '@/components/NavBar.vue'
|
||||||
|
import {checkQuery} from '@/utils/getData1.js'
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
NavBar,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
val1: '',
|
||||||
|
dataList: [],
|
||||||
|
pkId: '',
|
||||||
|
pkObj: {},
|
||||||
|
disabled1: false
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created () {
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 初始化查询 */
|
||||||
|
async _checkQuery () {
|
||||||
|
let res = await checkQuery(this.val1)
|
||||||
|
this.dataList = [...res.data]
|
||||||
|
},
|
||||||
|
toPandian () {
|
||||||
|
if (this.pkId) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/WarehouseManage/CheckDtl?billcode=' + this.pkObj.check_code
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
toCheck (e) {
|
||||||
|
this.pkId = this.pkId === e.check_code ? '' : e.check_code
|
||||||
|
this.pkObj = this.pkId === e.check_code ? e : {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="stylus">
|
||||||
|
.zd_content
|
||||||
|
padding-bottom 77rpx
|
||||||
|
.slide_new table td:nth-child(1), .slide_new table th:nth-child(1)
|
||||||
|
box-shadow 1px 0 2px rgba(0,0,0,.12)
|
||||||
|
.bgyellow td
|
||||||
|
background-color #E9B451
|
||||||
|
</style>
|
||||||
Reference in New Issue
Block a user