修改显示字段,增加信息弹窗,保存账号,增加websocket定时刷新,增加校验功能

This commit is contained in:
2024-04-29 16:46:44 +08:00
parent 3bbea6fcae
commit 243ef444c7
11 changed files with 567 additions and 83 deletions

View File

@@ -3,13 +3,17 @@
<nav-bar :title="crType === 'IN' ? '入库' : '出库'"></nav-bar>
<view class="search-confirm-wrap">
<view class="zd-row">
<view class="zd-col-11 zd-row">
<search-box
v-model="val1"
/>
<view class="zd-col-18 zd-row">
<view class="zd-col-10"><search-box v-model="val1" /></view>
<view class="zd-col-10 select_wraper">
<uni-data-select
v-model="value"
:localdata="range"
></uni-data-select>
</view>
<button class="confirm-button" @tap="toSearch">查询</button>
</view>
<view class="zd-col-11 zd-row jcflexend">
<view class="zd-col-6 zd-row jcflexend">
<!-- <button class="confirm-button" :class="{'confirm-button_disabled': checkArr1.length === 0 || btnActive1}" :disabled="disabled1" @tap="toSure">单据审核</button> -->
<button class="confirm-button" :class="{'confirm-button_disabled': checkArr1.length === 0}" :disabled="disabled1" @tap="toSure">单据审核</button>
</view>
@@ -24,13 +28,14 @@
<view class="zd-col-3 zd-th"><text>{{crType === 'IN'? '入库单号':'出库单号'}}</text></view>
<view class="zd-col-2 zd-th"><text>发起部门</text></view>
<view class="zd-col-3 zd-th"><text>去向</text></view>
<view class="zd-col-2 zd-th"><text>状态</text></view>
<view class="zd-col-2 zd-th"><text>仓库名称</text></view>
<view class="zd-col-2 zd-th"><text>制单日期</text></view>
<view class="zd-col-2 zd-th"><text>制单</text></view>
<view class="zd-col-2 zd-th"><text>业务日期</text></view>
<view class="zd-col-2 zd-th"><text>操作日期</text></view>
<view class="zd-col-2 zd-th"><text>状态</text></view>
<view class="zd-col-2 zd-th nowrap"><text>制单日期</text></view>
<view class="zd-col-1 zd-th nowrap"><text>制单人</text></view>
<view class="zd-col-2 zd-th nowrap"><text>业务日期</text></view>
<view class="zd-col-2 zd-th nowrap"><text>操作日期</text></view>
<view class="zd-col-2 zd-th"><text>操作人</text></view>
<view class="zd-col-1 zd-th">更多</view>
</view>
<view class="zd-td-wraper" v-for="(e, i) in dataList1" :key="e.id">
<view class="zd-row" :class="{'zd-td-checked': pkId === e.id}">
@@ -39,15 +44,16 @@
<view class="zd-checkbox" :class="{'zd-checkbox_active': e.checked}"></view>
</view>
<view class="zd-col-3 zd-td fontcol1" @tap.stop="toCollapse(e)"><text>{{e.djbh}}</text></view>
<view class="zd-col-2 zd-td fontcol1" @tap.stop="toCollapse(e)"><text>{{e.fqmc}}</text></view>
<view class="zd-col-2 zd-td fontcol1" @tap.stop="toCollapse(e)"><text>{{e.bmmc}}</text></view>
<view class="zd-col-3 zd-td" @tap.stop="toCollapse(e)"><text>{{e.zzmc}}</text></view>
<view class="zd-col-2 zd-td" @tap.stop="toCollapse(e)"><text class="fontbg1">{{e.djzt}}</text></view>
<view class="zd-col-2 zd-td" @tap.stop="toCollapse(e)"><text>{{e.ckmc}}</text></view>
<view class="zd-col-2 zd-td" @tap.stop="toCollapse(e)"><text>{{e.cjsj.substring(0, 10)}}</text></view>
<view class="zd-col-2 zd-td" @tap.stop="toCollapse(e)"><text>{{e.cjr}}</text></view>
<view class="zd-col-2 zd-td" @tap.stop="toCollapse(e)"><text>{{e.ywrq.substring(0, 10)}}</text></view>
<view class="zd-col-2 zd-td" @tap.stop="toCollapse(e)"><text>{{e.update_time}}</text></view>
<view class="zd-col-2 zd-td" @tap.stop="toCollapse(e)"><text class="fontbg1">{{e.djzt}}</text></view>
<view class="zd-col-2 zd-td nowrap" @tap.stop="toCollapse(e)"><text>{{e.cjsj}}</text></view>
<view class="zd-col-1 zd-td nowrap" @tap.stop="toCollapse(e)"><text>{{e.cjr}}</text></view>
<view class="zd-col-2 zd-td nowrap" @tap.stop="toCollapse(e)"><text>{{e.ywrq}}</text></view>
<view class="zd-col-2 zd-td nowrap" @tap.stop="toCollapse(e)"><text>{{e.update_time}}</text></view>
<view class="zd-col-2 zd-td" @tap.stop="toCollapse(e)"><text>{{e.update_name}}</text></view>
<view class="zd-col-1 zd-td" @tap.stop="getDetails(1,e)"><uni-icons type="more-filled" size="14" color="#fff"></uni-icons></view>
</view>
<!-- 二级表格start -->
<view v-show="pkId === e.djid" class="zd-sec-wraper">
@@ -56,7 +62,7 @@
<view class="zd-col-1 zd-sec-th"><text>选择</text></view>
<view class="zd-col-2 zd-sec-th"><text>仓库名称</text></view>
<view class="zd-col-2 zd-sec-th"><text>物料编号</text></view>
<view class="zd-col-3 zd-sec-th"><text>物料名称</text></view>
<view class="zd-col-2 zd-sec-th"><text>物料名称</text></view>
<view class="zd-col-1 zd-sec-th"><text>单位</text></view>
<view class="zd-col-2 zd-sec-th"><text>库位</text></view>
<view class="zd-col-2 zd-sec-th"><text>数量</text></view>
@@ -65,13 +71,14 @@
<view class="zd-col-2 zd-sec-th"><text>库存</text></view>
<view class="zd-col-2 zd-th"><text>操作日期</text></view>
<view class="zd-col-2 zd-th"><text>操作人</text></view>
<view class="zd-col-1 zd-th"><text>更多</text></view>
</view>
<view class="zd-row zd-td-wraper" v-for="(el, j) in dataList2" :key="el.id" @tap.stop="toCheck2(el)">
<view class="zd-col-1 zd-sec-td"><text>{{j+1}}</text></view>
<view class="zd-col-1 zd-sec-td"><view class="zd-checkbox" :class="{'zd-checkbox_active': el.checked}"></view></view>
<view class="zd-col-2 zd-sec-td"><text>{{el.ckmc}}</text></view>
<view class="zd-col-2 zd-sec-td"><text>{{el.wlbm}}</text></view>
<view class="zd-col-3 zd-sec-td"><text>{{el.wlmc}}</text></view>
<view class="zd-col-2 zd-sec-td"><text>{{el.wlmc}}</text></view>
<view class="zd-col-1 zd-sec-td nowrap"><text>{{el.jldw}}</text></view>
<view class="zd-col-2 zd-sec-td"><text>{{el.kwbm}}</text></view>
<view class="zd-col-2 zd-sec-td"><text>{{el.sl}}</text></view>
@@ -80,10 +87,11 @@
<view class="zd-col-2 zd-sec-td"><text>{{el.kcsl}}</text></view>
<view class="zd-col-2 zd-sec-td"><text>{{el.update_time}}</text></view>
<view class="zd-col-2 zd-sec-td"><text>{{el.update_name}}</text></view>
<view class="zd-col-1 zd-sec-td"><uni-icons type="more-filled" size="14" color="#fff" @tap="getDetails(2,el)"></uni-icons></view>
</view>
<view class="zd-row mgt10">
<view class="zd-col-12 zd-row jcflexstart">
<button class="confirm-button" :class="{'confirm-button_disabled': checkArr2.length === 0}" @tap="kuwConfirm">库位修改</button>
<button class="confirm-button" :class="{'confirm-button_disabled': checkArr2.length === 0}" @tap="kuwConfirm">{{crType === 'IN' ? '入库' : '出库'}}</button>
</view>
<view class="zd-col-12 zd-row jcflexend">
<pagination :total="totalCount2" :page-size="queryParams2.pageSize" :current-page="currentPage2" @page-change="handlePageChange2" />
@@ -95,22 +103,23 @@
</view>
<pagination v-show="dataList1.length > 0" :total="totalCount1" :page-size="queryParams1.pageSize" :current-page="currentPage1" @page-change="handlePageChange1" />
</view>
<view class="footer"></view>
<grid-detail :show="delShow" :data="detailObj" :crType="crType" @closeDetail="delShow=false"></grid-detail>
<view class="pop-wraper" :class="{'popshow': show, 'pophide': !show}">
<view class="allwidth pop-title">{{type === '1' ?'库位修改' : '库位确认'}}</view>
<view class="allwidth pop-title">{{crType === 'IN' ? '库' : '库'}}</view>
<view v-if="type === '1'" class="pop-grid-wraper">
<view class="zd-row sticky zd-sec-th-wraper zd-pop-th-wraper">
<view class="zd-col-2 zd-sec-th"><text>序号</text></view>
<view class="zd-col-4 zd-sec-th"><text>物料编号</text></view>
<view class="zd-col-5 zd-sec-th"><text>物料名称</text></view>
<view class="zd-col-4 zd-sec-th"><text>推荐库位</text></view>
<view class="zd-col-5 zd-sec-th"><text>实际库位</text></view>
<view class="zd-col-5 zd-sec-th"><text>选择库位</text></view>
<view class="zd-col-4 zd-sec-th"><text>数量</text></view>
<view class="zd-col-4 zd-sec-th"><text>库存数量</text></view>
</view>
<view class="zd-row zd-td-wraper" v-for="(ele, t) in dataList3" :key="ele.id">
<view class="zd-col-2 zd-sec-td zd-pop-td"><text>{{t+1}}</text></view>
<view class="zd-col-4 zd-sec-td zd-pop-td"><text>{{ele.wlbm}}</text></view>
<view class="zd-col-5 zd-sec-td zd-pop-td"><text>{{ele.wlmc}}</text></view>
<view class="zd-col-4 zd-sec-td zd-pop-td"><text>{{ele.tjkw}}</text></view>
<view class="zd-col-5 zd-sec-td zd-pop-td">
<scan-input
v-model="ele.kwbm"
@@ -120,6 +129,7 @@
<input v-show="!ele.checked" type="number" class="pop-input" v-model="ele.sysl" @blur="handleBlur(ele)">
<text v-show="ele.checked">{{ele.sysl}}</text>
</view>
<view class="zd-col-4 zd-sec-td zd-pop-td"><text>{{ele.kcsl}}</text></view>
</view>
</view>
<view v-else class="zd-row jcenter kwcode_wraper">
@@ -150,13 +160,15 @@
import SearchBox from '@/components/SearchBox.vue'
import ScanInput from '@/components/ScanInput.vue'
import Pagination from '@/components/Pagination.vue'
import GridDetail from '@/components/GridDetail.vue'
import {easOutInBillPage, easOutInBillDetailPage, easOutInBillUpdate, easOutInBillDetailUpdate, queryInventoryInfo} from '@/utils/getData2.js'
export default {
components: {
NavBar,
SearchBox,
ScanInput,
Pagination
Pagination,
GridDetail
},
data() {
return {
@@ -189,7 +201,11 @@
show: false,
type: '',
kwCode: '',
checkArr3: []
checkArr3: [],
delShow: false,
detailObj: {},
value: '',
range:[{value: 1, text: '提交'}, {value: 2, text: '审核'}]
};
},
onShow() {
@@ -220,7 +236,7 @@
this._easOutInBillPage()
},
async _easOutInBillPage () {
let res = await easOutInBillPage(this.val1, this.id, this.queryParams1.pageNum + '', this.queryParams1.pageSize + '')
let res = await easOutInBillPage(this.val1, this.id, this.value, this.queryParams1.pageNum + '', this.queryParams1.pageSize + '')
if (res.code === 1) {
this.checkArr1 = []
res.result.map(el => {
@@ -328,12 +344,34 @@
if (this.checkArr2.length === 0) {
return
} else if (this.checkArr2.length === 1) {
this.type = '1'
this._queryInventoryInfo()
} else {
this.type = '2'
this.show = true
this.kwCode = ''
if (Number(this.checkArr2[0].sl) > Number(this.checkArr2[0].kcsl)) {
uni.showToast({
title: '库存不足',
icon: 'none'
})
return
} else {
this.type = '1'
this._queryInventoryInfo()
}
} else if (this.checkArr2.length >= 2) {
let flag = false
this.checkArr2.map(el => {
if (Number(el.sl) > Number(el.kcsl)) {
flag = true
}
})
if (flag) {
uni.showToast({
title: '库存不足',
icon: 'none'
})
return
} else {
this.type = '2'
this.show = true
this.kwCode = ''
}
}
},
async _queryInventoryInfo () {
@@ -423,6 +461,10 @@
} catch (e) {
this.disabled2 = false
}
},
getDetails (type,e) {
this.delShow = !this.delShow
this.detailObj = {type: type, data:e}
}
}
}
@@ -430,4 +472,25 @@
<style lang="stylus" scoped>
@import '../../common/style/mixin.styl';
.select_wraper
/deep/ .uni-select__selector
z-index 11
/deep/ .uni-select
height: 30px;
padding: 0 2px 0 12px;
border: 1px solid #4980bd;
background-color: rgba(45,88,184,0.1);
border-radius: 6px;
/deep/ .uni-select__input-placeholder, /deep/ .uni-select__input-text
font-size 13px
color #fff
/deep/ .uni-select__selector
background-color #071F3E
border-color #0c3162
/deep/ .uni-popper__arrow
border-bottom-color #0c3162
&:after
border-bottom-color #071F3E
/deep/ .uni-select__selector-item
color #fff
</style>