<template>
|
<view class="example">
|
<u-tabs :list="list" :is-Scroll="false" :current="current2"></u-tabs>
|
<view v-show="current2 === 0">
|
<uni-section title="一楼库存查看" type="line" padding style="height: calc(100vh - 100px);">
|
<uni-list>
|
<!-- to 属性携带参数跳转详情页面,当前只为参考 -->
|
<uni-list-item direction="column" v-for="(item, index) in listData" :key="index"
|
@click="handleClick(item.orderNo, item.productCode, item.number)" link>
|
<!-- 通过header插槽定义列表的标题 -->
|
<template v-slot:header>
|
<view class="uni-title">工单:{{item.orderNo}}
|
<!-- <uni-icons type="trash" size="22" style="position: absolute;right: 5%;"
|
@click="deleteList(item.container_barcode)">
|
</uni-icons> -->
|
</view>
|
</template>
|
<!-- 通过body插槽定义列表内容显示 -->
|
<template v-slot:body>
|
<view class="uni-list-box">
|
<view class="uni-content">
|
<view class="uni-title-sub uni-ellipsis-2">型号:{{item.productCode}}</view>
|
<view class="uni-title-sub uni-ellipsis-2">可叫任务数量:{{item.number}}</view>
|
</view>
|
</view>
|
</template>
|
</uni-list-item>
|
</uni-list>
|
<uni-load-more iconType="circle" :status="status" @clickLoadMore="clickLoadMore" />
|
</uni-section>
|
</view>
|
<view>
|
<u-modal v-model="Modalshow" @confirm="confirmInput" :mask-close-able="true" :show-cancel-button="true">
|
<view class="slot-content">
|
<text>{{content}}</text>
|
<u-gap height="10"></u-gap>
|
<!-- 输入框,使用 v-model 绑定输入值 -->
|
<uni-easyinput v-model="inputValue" placeholder="请输入叫料的烘烤设备" />
|
<u-gap height="10"></u-gap>
|
<uni-easyinput type="number" v-model="numberValue" placeholder="请输入叫料数量" />
|
</view>
|
</u-modal>
|
<!-- 使用 uni-popup 组件,设置为对话框类型 -->
|
<uni-popup ref="popup" type="dialog" background-color="#fff" class="popup-main">
|
<!-- 使用插槽自定义弹出框内容 -->
|
<!-- <template #content> -->
|
<view class="popup-container">
|
<!-- 显示对话框内容 -->
|
<view class="popup-content">{{ content }}</view>
|
<!-- 输入框,使用 v-model 绑定输入值 -->
|
<uni-easyinput v-model="inputValue" placeholder="请输入内容" />
|
<u-gap height="10"></u-gap>
|
<uni-easyinput type="number" v-model="numberValue" placeholder="请输入叫料数量" />
|
<!-- 按钮组 -->
|
<view class="button-group">
|
<!-- 关闭按钮 -->
|
<u-button class="custom-button cancel-button" @click="closePopup" type="default" shape="square"
|
size="medium">关闭</u-button>
|
<!-- 同意按钮 -->
|
<u-button class="custom-button confirm-button" @click="confirmInput" type="primary"
|
shape="square" size="medium">同意</u-button>
|
</view>
|
</view>
|
<!-- </template> -->
|
</uni-popup>
|
</view>
|
</view>
|
</template>
|
<script>
|
export default {
|
data() {
|
return {
|
listData: [],
|
list: [{
|
name: '库存查看'
|
}],
|
current2: 0,
|
current: 1,
|
size: 10,
|
status: 'more',
|
Modalshow: false,
|
title: "提示",
|
content: '欢迎使用 uni-popup!',
|
msgType: 'success',
|
value: '',
|
inputValue: '',
|
numberValue: '',
|
currentAvailableQuantity: 0
|
};
|
},
|
onLoad() {
|
this.submit();
|
},
|
methods: {
|
onClickItem(e) {
|
if (this.current != e.currentIndex) {
|
this.current = e.currentIndex;
|
}
|
},
|
submit(cb) {
|
this.$t.message.loading();
|
let formDataParam = {
|
current: this.current,
|
size: this.size
|
};
|
uni.getStorage({
|
key: 'storage_key_ipAddress',
|
success: (res) => {
|
this.$t.message.loading();
|
let formDataParam = {
|
current: this.current,
|
size: this.size
|
};
|
// 使用创智完整接口
|
// this.$u.post('http://192.168.31.240:9090/makerwit/selectKHWareType', null).then(res => {
|
this.$u.post(res.data.CZFJiP + '/makerwit/selectKHWareType', null).then(res => {
|
console.log(res);
|
this.$t.message.closeLoading();
|
cb && cb();
|
if (cb != null) this.listData = [];
|
this.listData = [...this.listData, ...res.data];
|
console.log(this.listData);
|
}).catch((err) => {
|
this.$t.message.toast(err.message);
|
});
|
},
|
fail: (err) => {
|
this.$t.message.toast('请先设置IP地址');
|
uni.navigateTo({
|
url: '/pages/SetAddress/SetAddress',
|
});
|
},
|
});
|
|
},
|
clickLoadMore(e) {
|
this.status = 'loading';
|
this.current += 1;
|
this.size += 10;
|
this.submit();
|
},
|
handleClick(orderNo, productCode, number) {
|
console.log(this.$refs);
|
// this.$refs.popup.open();
|
this.Modalshow = true;
|
this.content = `工单:${orderNo}\n型号:${productCode}\n可叫数量:${number}\n请确认是否叫任务`;
|
this.currentAvailableQuantity = number;
|
// this.numberValue = number > 4 ? 4 : number; // 设置默认值为4或可用数量
|
},
|
confirmInput() {
|
this.$t.message.loading();
|
|
// 提取输入框的值
|
const inputValue = this.inputValue;
|
const numberValue = parseInt(this.numberValue);
|
// 提取工单编号
|
const orderNo = this.content.match(/工单:(.*)\n/)[1];
|
// 提取型号
|
const productCode = this.content.match(/型号:(.*)\n/)[1];
|
|
if (inputValue == "") {
|
this.$t.message.toast('请输入烘烤设备');
|
return;
|
}
|
if (numberValue <= 0) {
|
this.$t.message.toast('叫料数量必须大于0');
|
return;
|
}
|
if (numberValue > this.currentAvailableQuantity) {
|
this.$t.message.toast('叫料数量不能超过可叫数量');
|
return;
|
}
|
|
let formDataParam = {
|
dTaskId: this.generateUUID(),
|
productCode: productCode,
|
orderNo: orderNo,
|
taskNo:2,
|
number: numberValue,
|
inputValue: inputValue,
|
DTaskId: this.generateUUID(),
|
ProductCode: productCode,
|
OrderNo: orderNo,
|
Number: numberValue,
|
InputValue: inputValue,
|
TaskType: "负极"
|
// ...其他需要传递的参数
|
};
|
|
this.$u.post('/api/PDA/AddCZTask', formDataParam).then(res => {
|
if (res.status) {
|
const value = uni.getStorageSync('storage_key_ipAddress');
|
// 使用创智完整接口
|
this.$u.post(value.CZFJiP + '/makerwit/insertTask', formDataParam).then(res => {
|
this.$t.message.closeLoading();
|
console.log(formDataParam);
|
if (res.code == 200) {
|
this.$t.message.toast('呼叫成功');
|
this.$refs.popup.close();
|
// this.submit();
|
} else {
|
this.$t.message.toast(res.msg);
|
}
|
});
|
// this.submit();
|
} else {
|
this.$t.message.toast(res.msg);
|
}
|
}).catch((err) => {
|
this.$t.message.toast(err.message);
|
});
|
},
|
closePopup() {
|
this.$refs.popup.close();
|
},
|
generateUUID() {
|
var d = new Date().getTime();
|
var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
|
var r = (d + Math.random() * 16) % 16 | 0;
|
d = Math.floor(d / 16);
|
return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);
|
});
|
return uuid;
|
},
|
},
|
onPullDownRefresh() {
|
this.current = 1;
|
this.size = 10;
|
this.submit(() => uni.stopPullDownRefresh());
|
},
|
};
|
</script>
|
|
<style lang="scss" scoped>
|
@import '@/common/uni-ui.scss';
|
|
.example {
|
padding: 15px;
|
background-color: #fff;
|
}
|
|
page {
|
display: flex;
|
flex-direction: column;
|
box-sizing: border-box;
|
background-color: #efeff4;
|
min-height: 100%;
|
height: auto;
|
}
|
|
.tips {
|
color: #67c23a;
|
font-size: 14px;
|
line-height: 40px;
|
text-align: center;
|
background-color: #f0f9eb;
|
height: 0;
|
opacity: 0;
|
transform: translateY(-100%);
|
transition: all 0.3s;
|
}
|
|
.tips-ani {
|
transform: translateY(0);
|
height: 40px;
|
opacity: 1;
|
}
|
|
.content {
|
width: 100%;
|
display: flex;
|
}
|
|
.list-picture {
|
width: 100%;
|
height: 145px;
|
}
|
|
.thumb-image {
|
width: 100%;
|
height: 100%;
|
}
|
|
.ellipsis {
|
display: flex;
|
overflow: hidden;
|
}
|
|
.uni-ellipsis-1 {
|
overflow: hidden;
|
white-space
|