品规盘点增加个数和品规盘点

bozhou-古井贡酒
LAPTOP-S9HJSOEB\昊天 2 years ago
parent f15e5c6f2b
commit 3b3d1fdf88

@ -40,7 +40,7 @@ html {--antd-wave-shadow-color: @primary-color;}
.ant-alert-success .ant-alert-icon {color: #52c41a;} .ant-alert-success .ant-alert-icon {color: #52c41a;}
.ant-alert-info {background-color: #e6f7ff;border: 1px solid #91d5ff;} .ant-alert-info {background-color: #e6f7ff;border: 1px solid #91d5ff;}
.ant-alert-info .ant-alert-icon {color: #1890ff;} .ant-alert-info .ant-alert-icon {color: #1890ff;}
.ant-alert-warning {background-color: #fffbe6;border: 1px solid #ffe58f;} .ant-alert-warning {background-color: color(~`colorPalette("@{heading-color}", 1)`);border: 1px solid #ffe58f;}
.ant-alert-warning .ant-alert-icon {color: #faad14;} .ant-alert-warning .ant-alert-icon {color: #faad14;}
.ant-alert-error {background-color: #fff1f0;border: 1px solid #ffa39e;} .ant-alert-error {background-color: #fff1f0;border: 1px solid #ffa39e;}
.ant-alert-error .ant-alert-icon {color: #f5222d;} .ant-alert-error .ant-alert-icon {color: #f5222d;}
@ -1385,7 +1385,7 @@ tr.ant-table-expanded-row:hover {background: #fbfbfb;}
.ant-tag-orange-inverse {color: #fff;background: #fa8c16;border-color: #fa8c16;} .ant-tag-orange-inverse {color: #fff;background: #fa8c16;border-color: #fa8c16;}
.ant-tag-yellow {color: #fadb14;background: #feffe6;border-color: #fffb8f;} .ant-tag-yellow {color: #fadb14;background: #feffe6;border-color: #fffb8f;}
.ant-tag-yellow-inverse {color: #fff;background: #fadb14;border-color: #fadb14;} .ant-tag-yellow-inverse {color: #fff;background: #fadb14;border-color: #fadb14;}
.ant-tag-gold {color: #faad14;background: #fffbe6;border-color: #ffe58f;} .ant-tag-gold {color: #faad14;background: color(~`colorPalette("@{heading-color}", 1)`);border-color: #ffe58f;}
.ant-tag-gold-inverse {color: #fff;background: #faad14;border-color: #faad14;} .ant-tag-gold-inverse {color: #fff;background: #faad14;border-color: #faad14;}
.ant-tag-cyan {color: #13c2c2;background: #e6fffb;border-color: #87e8de;} .ant-tag-cyan {color: #13c2c2;background: #e6fffb;border-color: #87e8de;}
.ant-tag-cyan-inverse {color: #fff;background: #13c2c2;border-color: #13c2c2;} .ant-tag-cyan-inverse {color: #fff;background: #13c2c2;border-color: #13c2c2;}

@ -183,6 +183,11 @@ export default {
name: '复核页面的核对信息', name: '复核页面的核对信息',
method: 'POST' method: 'POST'
}, },
getCategoryList: {
url: '/stock/getCategoryList',
name: '品规信息',
method: 'POST'
},
getStockPage: { getStockPage: {
url: '/stockLog', url: '/stockLog',
name: '获取随性历史', name: '获取随性历史',
@ -215,7 +220,7 @@ export default {
}, },
stockCheckCorrect: { stockCheckCorrect: {
url: '/stock/checkCorrect', url: '/stock/checkCorrect',
name: '人工复核正确', name: '人工复核',
method: 'POST' method: 'POST'
}, },
stockCheckByMan: { stockCheckByMan: {

@ -11,7 +11,7 @@ const store = {
"primary-color":"rgba(184, 68, 13, 1)" "primary-color":"rgba(184, 68, 13, 1)"
}, },
"title":{ "title":{
"text":"北起智能视觉系统", "text":"北起智能视觉系统",
"style":{ "style":{
"color":"rgba(255, 255, 255, 1)", "color":"rgba(255, 255, 255, 1)",
"background-color":"rgba(163, 60, 12, 1)", "background-color":"rgba(163, 60, 12, 1)",

@ -232,11 +232,14 @@ export default {
}, },
getStatusBg(row,column,status) { getStatusBg(row,column,status) {
var dom = document.getElementById(this.direction+"-"+this.side+"-"+row+'-'+column); var dom = document.getElementById(this.direction+"-"+this.side+"-"+row+'-'+column);
var color; var color;
if(status == -1){ if(status == -1){
color = '#f2ed48' color = '#f2ed48'
}else if(status == 2|| status == 3){ }else if(status == 2|| status == 3){
console.log(111);
console.log(dom);
color = '#1afa29' color = '#1afa29'
}else if(status == 1){ }else if(status == 1){
color = '#d81e06' color = '#d81e06'
@ -244,6 +247,7 @@ export default {
color = '#bfbfbf' color = '#bfbfbf'
} }
dom.style.background = color dom.style.background = color
}, },
getStatus(){ getStatus(){
@ -275,7 +279,7 @@ export default {
if(res.code == 200){ if(res.code == 200){
if(res.data.stocks){ if(res.data.stocks){
for(let a of res.data.stocks){ for(let a of res.data.stocks){
this.getStatusBg(a.row,a.column,a.viewStatus) this.getStatusBg(a.row,a.column,a.status)
} }
} }

@ -7,7 +7,7 @@
<div class="img-box"> <div class="img-box">
<ul> <ul>
<li> <li>
<span class="img-box-title"> <span class="img-box-title">
位置: 位置:
</span> </span>
<span class="img-box-value"> <span class="img-box-value">
@ -22,7 +22,45 @@
{{ statusMap[checkObj.status] }} {{ statusMap[checkObj.status] }}
</span> </span>
</li> </li>
<li v-for="item in params" :key="item.label"> <li>
<span class="img-box-title">
品规:
</span>
<span class="img-box-value">
<a-select
ref="select"
style="width: 100%"
:defaultValue="checkObj.category"
placeholder="请选择"
@change="handleChangeVlue"
>
<a-select-option v-for="i in categorys" :key="i">
{{ i}}
</a-select-option>
</a-select>
</span>
</li>
<li>
<span class="img-box-title">
个数:
</span>
<span class="img-box-value">
<a-input-number
id="inputNumber"
style="width: 100%"
v-model="checkObj.count"
:min="0"
:max="50"
/>
</span>
</li>
<li
v-for="item in params"
:key="item.label"
>
<span class="img-box-title"> <span class="img-box-title">
{{ item.label }}: {{ item.label }}:
@ -34,76 +72,44 @@
</ul> </ul>
</div> </div>
<div class="img-box"> <div class="img-box">
<viewer v-if="checkObj.checkPic" style="height: 300px"> <viewer
<img :src="imgUrl+checkObj.checkPic"/> v-if="checkObj.checkPic"
</viewer> style="height: 300px"
>
<img :src="imgUrl+checkObj.checkPic" />
</viewer>
<div <div
v-else v-else
style="display: flex;align-items: center;justify-content: center;width:100px;height:300px;"> style="display: flex;align-items: center;justify-content: center;width:100px;height:300px;"
>
暂无图片 暂无图片
</div> </div>
<p>盘点图1</p> <p>盘点图1</p>
</div> </div>
<div class="img-box">
<viewer v-if="checkObj.checkPic" style="height: 300px">
<img :src="imgUrl+checkObj.checkPic2"/>
</viewer>
<div
v-else
style="display: flex;align-items: center;justify-content: center;width:100px;height:300px;">
暂无图片
</div>
<p>盘点图2</p>
</div>
<!-- <div class="img-box">
<viewer v-if="checkObj.preoperationPic" style="height:300px;">
<img :src="imgUrl+checkObj.preoperationPic"/>
</viewer>
<div v-else style="display: flex;align-items: center;justify-content: center;width:100px;height:300px;">
暂无图片
</div>
<p>操作前照片</p>
</div>
<div class="img-box">
<viewer v-if="checkObj.overoperationPic" style="width:100%;height:300px;">
<img :src="imgUrl+checkObj.overoperationPic"/>
</viewer>
<div
v-else
style="display: flex;align-items: center;justify-content: center;width:100px;height:300px;">
暂无图片
</div>
<p>操作后照片</p>
</div> -->
</div> </div>
</div> </div>
<div class="bottom-btn" > <div class="bottom-btn">
<a-button class="btn" <a-button
type="primary" class="btn"
style="background:#29c12b;border-color:#29c12b;" type="primary"
@click="checkSure(checkObj.row,checkObj.column,checkObj.shelveId,index)" style="background:#29c12b;border-color:#29c12b;"
>核对正确 @click="checkSure(checkObj.row,checkObj.column,checkObj.shelveId,index)"
</a-button> >核对品规
<a-button class="btn"
type="primary"
style="background:#ff0000;border-color:#ff0000;"
@click="checkfalse(checkObj.row,checkObj.column,checkObj.shelveId,index)"
>核对错误
</a-button> </a-button>
<a-button class="btn"
type="primary" <a-button
style="background:#29c12b;border-color:#29c12b;" class="btn"
@click="nextOne(checkObj.id)"> type="primary"
下一个盘点 style="background:#29c12b;border-color:#29c12b;"
@click="nextOne(checkObj.id)"
>
下一个盘点
</a-button> </a-button>
</div> </div>
</div> </div>
<Model <Model
:visible.sync="visible" :visible.sync="visible"
:modelData.sync="modelData" :modelData.sync="modelData"
@ -114,325 +120,352 @@
</div> </div>
</template> </template>
<script> <script>
import Model from "./model.vue" import Model from "./model.vue";
import {imgUrl} from "@/api/importExcel"; import { imgUrl } from "@/api/importExcel";
import { message } from 'ant-design-vue'; import { message } from "ant-design-vue";
export default { export default {
data() { data() {
return { return {
checkObj: {}, checkObj: {},
row: 1, row: 1,
column: 1, column: 1,
streetName: '', streetName: "",
visible: false, visible: false,
category: '', category: "",
count: 0,
modelData: {}, modelData: {},
index: 0, index: 0,
imgUrl: '', imgUrl: "",
params:[ categorys: ["2"],
params: [
// { // {
// label:'', // label:'',
// key: 'lotnum' // key: 'lotnum'
// }, // },
{ {
label:'盘点任务号', label: "托盘码",
key: 'checkNum' key: "wmsCode",
}, },
{ {
label:'托盘码', label: "盘点任务号",
key: 'wmsCode' key: "checkNum",
}, },
{ {
label:'托盘码描述', label: "盘点时间",
key: 'wmsCategory' key: "exportTime",
}, },
{
label:'盘点时间',
key: 'exportTime'
},
], ],
statusMap: {0:"未盘点",1:"盘点异常",2:"核对正确",3:"人工核对正确"} statusMap: {
0: "未盘点",
} 1: "盘点异常",
2: "核对正确",
3: "人工核对正确",
},
};
}, },
beforeRouteLeave(to ,form, next) { beforeRouteLeave(to, form, next) {
// created // created
this.$destroy(); this.$destroy();
if (to.name == 'checkManage') { if (to.name == "checkManage") {
to.meta.isUseCache = true; to.meta.isUseCache = true;
}else{ } else {
to.meta.isUseCache = false; to.meta.isUseCache = false;
} }
next(); next();
}, },
created() { created() {
this.imgUrl = imgUrl this.imgUrl = imgUrl;
//this.getStreetList(); //this.getStreetList();
if (this.$route.query.row && this.$route.query.column && this.$route.query.direction && this.$route.query.side && this.$route.query.streetId) { if (
this.id = this.$route.query.id this.$route.query.row &&
this.row = this.$route.query.row this.$route.query.column &&
this.column = this.$route.query.column this.$route.query.direction &&
this.direction = this.$route.query.direction this.$route.query.side &&
this.side = this.$route.query.side this.$route.query.streetId
this.streetId = this.$route.query.streetId ) {
this.streetName = this.$route.query.name this.id = this.$route.query.id;
this.row = this.$route.query.row;
this.column = this.$route.query.column;
this.direction = this.$route.query.direction;
this.side = this.$route.query.side;
this.streetId = this.$route.query.streetId;
this.streetName = this.$route.query.name;
this.getStockInfo(this.row, this.column); this.getStockInfo(this.row, this.column);
this.getCategoryList();
} }
}, },
mounted() { mounted() {},
destroyed() {},
},
destroyed () {
},
components: { components: {
Model Model,
}, },
methods: { methods: {
handleChangeVlue(value){
this.checkObj.category = value
},
// //
getStockInfo(row, column) { getStockInfo(row, column) {
this.$api.httpApi.getStockInfo({ this.$api.httpApi
data: { .getStockInfo({
row: Number(row), data: {
column: Number(column), row: Number(row),
direction: this.direction, column: Number(column),
side: this.side, direction: this.direction,
streetId: this.streetId, side: this.side,
} streetId: this.streetId,
}).then(res => { },
if (res.data) { })
this.checkObj = res.data; .then((res) => {
this.checkObj.checkPic2 = this.checkObj.checkPic + ".jpg" if (res.data) {
//this.shelveId = res.data.shelveId; this.checkObj = res.data;
//this.getScanAndCheck(); this.checkObj.checkPic2 =
} this.checkObj.checkPic + ".jpg";
}).catch(err => { //this.shelveId = res.data.shelveId;
console.log(err) //this.getScanAndCheck();
}); }
})
.catch((err) => {
console.log(err);
});
},
//
getCategoryList() {
this.$api.httpApi
.getCategoryList({
data: {},
})
.then((res) => {
if (res.data) {
this.categorys = res.data;
console.log(this.categorys);
//this.shelveId = res.data.shelveId;
//this.getScanAndCheck();
}
})
.catch((err) => {
console.log(err);
});
}, },
handleChange(value) { handleChange(value) {
this.select = value;
this.select = value this.id = value;
this.id = value this.row = 1;
this.row = 1 this.column = 1;
this.column = 1 this.getStockInfo(1, 1);
this.getStockInfo(1, 1)
}, },
checkSure(row, column, shelveId, index) { checkSure(row, column, shelveId, index) {
this.$api.httpApi.stockCheckCorrect({ this.$api.httpApi
data: { .stockCheckCorrect({
row: Number(row), data: {
column: Number(column), row: Number(row),
side: Number(this.side), column: Number(column),
streetId: Number(this.streetId), side: Number(this.side),
direction: Number(this.direction), streetId: Number(this.streetId),
ok: 1 direction: Number(this.direction),
} conut: this.checkObj.count,
}).then(res => { category: this.checkObj.category,
if (res.code == 200) {
this.$message.success('操作成功'); ok: 1,
this.getStockInfo(this.row,this.column) },
} })
.then((res) => {
}).catch(err => { if (res.code == 200) {
this.$message.success("操作成功");
}); this.getStockInfo(this.row, this.column);
}
})
.catch((err) => {});
}, },
checkfalse(row, column, shelveId, index) { checkfalse(row, column, shelveId, index) {
this.$api.httpApi.stockCheckCorrect({ this.$api.httpApi
data: { .stockCheckCorrect({
row: Number(row), data: {
column: Number(column), row: Number(row),
side: Number(this.side), column: Number(column),
streetId: Number(this.streetId), side: Number(this.side),
direction: Number(this.direction), streetId: Number(this.streetId),
ok: 0 direction: Number(this.direction),
} ok: 0,
}).then(res => { },
if (res.code == 200) { })
this.$message.success('操作成功'); .then((res) => {
this.getStockInfo(this.row,this.column) if (res.code == 200) {
} this.$message.success("操作成功");
this.getStockInfo(this.row, this.column);
}).catch(err => { }
})
}); .catch((err) => {});
}, },
showModel(checkObj, index) { showModel(checkObj, index) {
this.visible = true this.visible = true;
this.modelData = checkObj this.modelData = checkObj;
this.index = index; this.index = index;
}, },
submit(visible, index) { submit(visible, index) {
this.visible = visible;
this.visible = visible console.log(index);
console.log(index)
// this.next(index); // this.next(index);
this.checkObj.status = 1; this.checkObj.status = 1;
}, },
closeModel(visible, data) { closeModel(visible, data) {
this.visible = visible this.visible = visible;
this.modelData = data this.modelData = data;
}, },
nextOne(id){ nextOne(id) {
this.$api.httpApi.nextOne({ this.$api.httpApi
data: { .nextOne({
id:Number(id) data: {
} id: Number(id),
}).then(res => { },
if (res.data && res.data != null) { })
console.log(res.data) .then((res) => {
this.checkObj = res.data; if (res.data && res.data != null) {
this.id = res.data.id console.log(res.data);
this.row = res.data.row this.checkObj = res.data;
this.column = res.data.column this.id = res.data.id;
this.direction = res.data.direction this.row = res.data.row;
this.side = res.data.side this.column = res.data.column;
this.streetId = res.data.streetId this.direction = res.data.direction;
this.streetName = res.data.streetName this.side = res.data.side;
this.checkObj.checkPic2 = this.checkObj.checkPic + ".jpg" this.streetId = res.data.streetId;
this.streetName = res.data.streetName;
}else{ this.checkObj.checkPic2 =
message.info('全部盘点已完成') this.checkObj.checkPic + ".jpg";
} } else {
}).catch(err => { message.info("全部盘点已完成");
console.log(err) }
}); })
} .catch((err) => {
console.log(err);
} });
} },
},
};
</script> </script>
<style lang="scss"> <style lang="scss">
.ant-carousel .slick-slide { .ant-carousel .slick-slide {
color: #000000; color: #000000;
} }
.checkOperation {
.carousel-page {
width: 100%;
/*border: solid 1px blue;*/
&-title {
color: #009FE3;
font-size: 16px;
margin: 0;
padding: 15px 0 10px 25px;
}
&-content { .checkOperation {
display: flex; .carousel-page {
align-items: center; width: 100%;
justify-content: space-between; /*border: solid 1px blue;*/
padding-left: 25px; &-title {
color: #009fe3;
font-size: 16px;
margin: 0;
padding: 15px 0 10px 25px;
}
.img-box { &-content {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: space-between;
flex-direction: column; padding-left: 25px;
font-size: 17px;
height: 400px; .img-box {
margin-right: 10px; display: flex;
img { align-items: center;
height: 100% justify-content: center;
} flex-direction: column;
font-size: 17px;
height: 400px;
margin-right: 10px;
img {
height: 100%;
}
p { p {
height: 25px; height: 25px;
}
ul {
width: 100% / 4;
height: 100%;
margin-bottom: 0;
padding-inline-start: 0;
li {
background-color: #ffaf11;
margin: 10px 0;
padding: 5px;
font-size: 16px;
font-weight: 600;
color: #494e52;
.img-box-title {
width: 130px;
display: inline-block;
} }
ul { .img-box-value {
width: 100% / 4; display: inline-block;
height: 100%; width: calc(100% - 130px);
margin-bottom: 0; overflow: hidden;
padding-inline-start: 0; position: relative;
li { top: 5px;
background-color: #ffaf11;
margin: 10px 0;
padding: 5px;
font-size: 16px;
font-weight: 600;
color: #494e52;
.img-box-title {
width: 130px;
display: inline-block;
}
.img-box-value {
display: inline-block;
width: calc(100% - 130px);
overflow: hidden;
position: relative;
top: 5px;
}
}
} }
} }
} }
}
}
&-footer { &-footer {
width: calc(100% - 380px); width: calc(100% - 380px);
.info-box { .info-box {
color: #000000; color: #000000;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
p { p {
padding: 0 20px; padding: 0 20px;
font-size: 18px; font-size: 18px;
} }
} }
.status { .status {
text-align: center; text-align: center;
font-size: 21px; font-size: 21px;
} }
.status-btn { .status-btn {
display: flex; display: flex;
align-items: flex-start; align-items: flex-start;
justify-content: flex-start; justify-content: flex-start;
.btn { .btn {
padding: 50px; padding: 50px;
font-size: 20px; font-size: 20px;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
line-height: 0; line-height: 0;
margin: 15px 45px; margin: 15px 45px;
}
}
} }
} }
}
}
.bottom-btn { .bottom-btn {
width: 100%; width: 100%;
display: flex; display: flex;
align-items: right; align-items: right;
justify-content: center; justify-content: center;
p { p {
font-size: 18px; font-size: 18px;
padding: 0; padding: 0;
margin: 0; margin: 0;
} }
.btn { .btn {
margin: 25px; margin: 25px;
}
} }
} }
.historyImg { }
width: 180px; .historyImg {
height:auto; width: 180px;
} height: auto;
}
</style> </style>

@ -108,7 +108,6 @@
<happy-scroll color="rgba(100,100,100,0.5)" size="8" class="scroll-box" style="width:320px;height:90px;"> <happy-scroll color="rgba(100,100,100,0.5)" size="8" class="scroll-box" style="width:320px;height:90px;">
<viewer> <viewer>
<img class="historyImg" :src="imgUrl+text.pic"/> <img class="historyImg" :src="imgUrl+text.pic"/>
<img class="historyImg" :src="imgUrl+text.pic+'.jpg'"/>
</viewer> </viewer>
</happy-scroll> </happy-scroll>
</span> </span>

Loading…
Cancel
Save