pages/product/WorkshopOrderIssued/WorkOrderList.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
pages/product/WorkshopOrderIssued/comp.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
pages/product/WorkshopOrderIssued/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
pages/product/WorkshopOrderIssued/WorkOrderList.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,305 @@ <template> <view class="page"> <view class="finishProductIn-locno-bg" /> <u-navbar title="å·¥åå表" :background="background" :border-bottom="false" :title-bold="true" title-color="#000" back-icon-color="#000" /> <view class="finishProductIn-locno-search"> <u-search v-model="keywords" shape="square" bg-color="rgba(250,252,255,0.36)" :show-action="false" placeholder="请è¾å ¥å·¥åå·" @clear="search" @custom="search" @search="search" @input="search"> </u-search> </view> <view class="wrap"> <scroll-view class="finishProductIn-locno-scroll-list" scroll-y="true" @scrolltolower="getmoreList()"> <u-cell-group class="finishProductIn-locno-scroll-list-group" :border="false"> <view class="content" v-for="(item, index) in list" :key="item.locNo" :index="index" @click="selectNo(item)"> <view class="content-header"> <view class="content-header-title">{{ item.index }}</view> </view> <view class="content-body"> <view class="row-list"> <view class="_label"> <view class="_label-icon-1"> </view> <view class="_label-name">å·¥åå·ï¼</view> </view> <view class="_content"> {{ item.optaskNo }} </view> </view> <view class="row-list"> <view class="_label"> <view class="_label-icon-2"> </view> <view class="_label-name">æ°éï¼</view> </view> <view class="_content"> {{ item.plannedQuantity }} </view> </view> <view class="row-list"> <view class="_label"> <view class="_label-icon-2"> </view> <view class="_label-name">å¼å§æ¥æï¼</view> </view> <view class="_content"> {{ item.plannedStartDate }} </view> </view> <view class="row-list"> <view class="_label"> <view class="_label-icon-3"> </view> <view class="_label-name">ç»ææ¥æï¼</view> </view> <view class="_content"> {{ item.plannedFinishDate }} </view> </view> </view> </view> </u-cell-group> <view class="loadmore" @click="getmoreList()"> <u-loadmore :status="status" :load-text="loadText" @loadmore="getmoreList()" /> </view> </scroll-view> </view> </view> </template> <script> import content_bg from "@/static/custom/finishProductIn/locNoBg.png"; export default { data() { return { background: { backgroundImage: `url(${content_bg})`, backgroundAttachment: "fixed", backgroundSize: "100% auto", backgroundRepeat: "no-repeat", }, keywords: "", list: [], total: 0, pageNum: 1, pageSize: 10, status: "loading", loadText: { loadmore: "å è½½æ´å¤...", loading: "åªåå è½½ä¸...", nomore: "æ²¡ææ´å¤äº", }, id: '' }; }, onLoad(options) { console.log('22@@', options); this.id = Number(JSON.parse(decodeURIComponent(options.id))) this.getlist(); }, methods: { getmoreList() { if (this.pageSize >= this.total) { this.status = "nomore"; return; } this.status = "loading"; setTimeout(() => { this.pageSize += this.pageSize; this.getlist(); }, 1000); }, getlist() { this.$u.api.WorkshopOrderIssued.getOperationTaskLisByMoId({ current: this.pageNum, size: this.pageSize, moId: this.id }).then((res) => { console.log("res", res); this.list = res.data.records; this.total = res.data.total; if (this.pageSize >= this.total) { this.status = "nomore"; } else { this.status = "loadmore"; } }); }, search(value) { console.log("111", value); if (value) { this.list = []; this.pageSize = 10; this.$u.api.WorkshopOrderIssued .getOperationTaskLisByMoId({ current: this.pageNum, size: this.pageSize, optaskNo: value, moId: this.id }) .then((res) => { console.log("res", res); this.list = res.data.records; this.total = res.data.total; if (this.pageSize >= this.total) { this.status = "nomore"; } else { this.status = "loadmore"; } }); } else { this.getlist(); } }, selectNo(no) { this.refreshLastPage(no); }, //å·æ°ä¸ä¸ä¸ªé¡µé¢ refreshLastPage(no) { // åç¥ A.vue æ´æ°æ°æ® // è·å页颿 let pages = getCurrentPages(); // è·åä¸ä¸é¡µæ let prevPage = pages[pages.length - 2]; // 触åä¸ä¸é¡µ upData 彿°(å¹¶æºå¸¦åæ°) prevPage.$vm.workNo(no); // è¿åä¸ä¸é¡µ uni.navigateBack({ delta: 1, }); }, }, }; </script> <style lang="scss" scoped> .finishProductIn-locno-bg { background-color: #f6f9ff; background-image: url("~@/static/custom/finishProductIn/locNoBg.png"); // background: linear-gradient(180deg,rgba(206,227,254,1),rgba(206,227,254,1) 20%,rgba(206,227,254,0.5) 40%,rgba(206,227,254,0.25) 60%,rgba(206,227,254,0.08) 80%,rgba(206,227,254,0)); padding: 0 20rpx; background-attachment: fixed; background-size: 100% auto; background-repeat: no-repeat; position: fixed; top: 0; bottom: 0; width: 100%; z-index: -1; } .finishProductIn-locno-search { padding: 40rpx 30rpx 20rpx 30rpx; } .wrap .finishProductIn-locno-scroll-list { height: calc(100vh - var(--window-top) - var(--window-bottom) - 242rpx); width: 100%; } .finishProductIn-locno-scroll-list-group { ::v-deep .u-cell-item-box { background-color: rgba(250, 252, 255, 0.36) !important; padding: 0rpx 30rpx; } .content { font-size: 12px; background-color: #ffffff; box-sizing: border-box; border-radius: 10rpx; margin: 0rpx 0rpx 16rpx; padding: 20rpx 8rpx; box-shadow: none; display: flex; align-items: center; .content-header { width: 40rpx; height: 90rpx; display: flex; align-items: center; .content-header-icon { background-image: url("~@/static/custom/moveWareHouse/header_icon.png"); background-size: 100% auto; background-repeat: no-repeat; height: 28rpx; width: 28rpx; } .content-header-title { margin-left: 11rpx; font-size: 26rpx; font-weight: bold; color: #333333; } } .content-body { flex: 1; background: #f5f9ff; border-radius: 10rpx; padding: 0rpx 23rpx; .row-list { height: 60rpx; display: flex; flex-direction: row; padding: 0px; align-items: center; } .row-list ._label { display: flex; flex: 0.8; color: #909399; align-items: center; ._label-icon-1 { background-image: url("~@/static/custom/moveWareHouse/label-icon-1.png"); background-size: 100% auto; background-repeat: no-repeat; height: 26rpx; width: 26rpx; } ._label-icon-2 { background-image: url("~@/static/custom/moveWareHouse/label-icon-2.png"); background-size: 100% auto; background-repeat: no-repeat; height: 26rpx; width: 26rpx; } ._label-icon-3 { background-image: url("~@/static/custom/moveWareHouse/label-icon-3.png"); background-size: 100% auto; background-repeat: no-repeat; height: 26rpx; width: 26rpx; } ._label-name { width: 80px; margin-left: 11rpx; font-size: 26rpx; font-weight: 500; color: #666666; } } .row-list ._content { flex: 1.5; text-align: right; color: #909399; font-size: 24rpx; } .row-list .s1 { color: #d35651; } } } } </style> pages/product/WorkshopOrderIssued/comp.vue
@@ -1,351 +1,321 @@ <template> <view class="page"> <view class="finishProductIn-locno-bg" /> <u-navbar title="车é´è®¢åç©æ" :background="background" :border-bottom="false" :title-bold="true" title-color="#000" back-icon-color="#000" /> <view class="finishProductIn-locno-search"> <u-search v-model="keywords" shape="square" bg-color="rgba(250,252,255,0.36)" :show-action="false" placeholder="请è¾å ¥é¶ä»¶å·" @clear="search" @custom="search" @search="search" > </u-search> </view> <view class="wrap"> <scroll-view class="finishProductIn-locno-scroll-list" scroll-y="true" @scrolltolower="getmoreList()" > <u-cell-group class="finishProductIn-locno-scroll-list-group" :border="false" > <view class="content" v-for="(item, index) in list" :key="item.locNo" :index="index" @click="selectNo(item)" > <view class="content-header"> <view class="content-header-title">{{ item.index }}</view> </view> <view class="content-body"> <view class="row-list"> <view class="_label"> <view class="_label-icon-1"> </view> <view class="_label-name">è¡å·ï¼</view> </view> <view class="_content"> {{ item.value0 }} </view> </view> <view class="row-list"> <view class="_label"> <view class="_label-icon-2"> </view> <view class="_label-name">ä¸åè³åºä½ï¼</view> </view> <view class="_content"> {{ item.value1 }} </view> </view> <view class="row-list"> <view class="_label"> <view class="_label-icon-1"> </view> <view class="_label-name">é¶ä»¶å·ï¼</view> </view> <view class="_content"> {{ item.partNo }} </view> </view> <view class="row-list"> <view class="_label"> <view class="_label-icon-3"> </view> <view class="_label-name">é¶ä»¶æè¿°ï¼</view> </view> <view class="_content"> {{ item.partName }} </view> </view> <view class="row-list"> <view class="_label"> <view class="_label-icon-2"> </view> <view class="_label-name">é¶ä»¶ä¸åæ°éï¼</view> </view> <view class="_content"> {{ item.qpa }} </view> </view> <view class="row-list"> <view class="_label"> <view class="_label-icon-3"> </view> <view class="_label-name">ç©æè¡ç¶æï¼</view> </view> <view class="_content"> {{ item.value5 }} </view> </view> </view> </view> </u-cell-group> <view class="loadmore" @click="getmoreList()"> <u-loadmore :status="status" :load-text="loadText" @loadmore="getmoreList()" /> </view> </scroll-view> </view> </view> <view class="page"> <view class="finishProductIn-locno-bg" /> <u-navbar title="车é´è®¢åç©æ" :background="background" :border-bottom="false" :title-bold="true" title-color="#000" back-icon-color="#000" /> <view class="finishProductIn-locno-search"> <u-search v-model="keywords" shape="square" bg-color="rgba(250,252,255,0.36)" :show-action="false" placeholder="请è¾å ¥é¶ä»¶å·" @clear="search" @custom="search" @search="search" @input="search"> </u-search> </view> <view class="wrap"> <scroll-view class="finishProductIn-locno-scroll-list" scroll-y="true" @scrolltolower="getmoreList()"> <u-cell-group class="finishProductIn-locno-scroll-list-group" :border="false"> <view class="content" v-for="(item, index) in list" :key="item.locNo" :index="index" @click="selectNo(item)"> <view class="content-header"> <view class="content-header-title">{{ item.index }}</view> </view> <view class="content-body"> <view class="row-list"> <view class="_label"> <view class="_label-icon-1"> </view> <view class="_label-name">è¡å·ï¼</view> </view> <view class="_content"> {{ item.value0 }} </view> </view> <view class="row-list"> <view class="_label"> <view class="_label-icon-2"> </view> <view class="_label-name">ä¸åè³åºä½ï¼</view> </view> <view class="_content"> {{ item.value1 }} </view> </view> <view class="row-list"> <view class="_label"> <view class="_label-icon-1"> </view> <view class="_label-name">é¶ä»¶å·ï¼</view> </view> <view class="_content"> {{ item.partNo }} </view> </view> <view class="row-list"> <view class="_label"> <view class="_label-icon-3"> </view> <view class="_label-name">é¶ä»¶æè¿°ï¼</view> </view> <view class="_content"> {{ item.partName }} </view> </view> <view class="row-list"> <view class="_label"> <view class="_label-icon-2"> </view> <view class="_label-name">é¶ä»¶ä¸åæ°éï¼</view> </view> <view class="_content"> {{ item.qpa }} </view> </view> <view class="row-list"> <view class="_label"> <view class="_label-icon-3"> </view> <view class="_label-name">ç©æè¡ç¶æï¼</view> </view> <view class="_content"> {{ item.value5 }} </view> </view> </view> </view> </u-cell-group> <view class="loadmore" @click="getmoreList()"> <u-loadmore :status="status" :load-text="loadText" @loadmore="getmoreList()" /> </view> </scroll-view> </view> </view> </template> <script> import content_bg from "@/static/custom/finishProductIn/locNoBg.png"; export default { data() { return { background: { backgroundImage: `url(${content_bg})`, backgroundAttachment: "fixed", backgroundSize: "100% auto", backgroundRepeat: "no-repeat", }, keywords: "", list: [], total: 0, pageNum: 1, pageSize: 10, status: "loading", loadText: { loadmore: "å è½½æ´å¤...", loading: "åªåå è½½ä¸...", nomore: "æ²¡ææ´å¤äº", import content_bg from "@/static/custom/finishProductIn/locNoBg.png"; export default { data() { return { background: { backgroundImage: `url(${content_bg})`, backgroundAttachment: "fixed", backgroundSize: "100% auto", backgroundRepeat: "no-repeat", }, keywords: "", list: [], total: 0, pageNum: 1, pageSize: 10, status: "loading", loadText: { loadmore: "å è½½æ´å¤...", loading: "åªåå è½½ä¸...", nomore: "æ²¡ææ´å¤äº", }, operationTaskId: '' }; }, id:'' }; }, onLoad(options) { console.log('22@@', options); this.id = JSON.parse(decodeURIComponent(options.id)) this.getlist(); }, methods: { getmoreList() { if (this.pageSize >= this.total) { this.status = "nomore"; return; } this.status = "loading"; setTimeout(() => { this.pageSize += this.pageSize; this.getlist(); }, 1000); }, getlist() { this.$u.api.WorkshopOrderIssued.manufacturingOrder({ current: this.pageNum, size: this.pageSize, id:this.id }).then((res) => { console.log("res", res); this.list = res.data.bomRoot.children; this.total = res.data.bomRoot.children.length + 1; if (this.pageSize >= this.total) { this.status = "nomore"; } else { this.status = "loadmore"; } }); }, search(value) { console.log("111", value); if (value) { this.list = []; this.pageSize = 10; this.$u.api.workReporting ._({ current: this.pageNum, size: this.pageSize, moNo: value, }) .then((res) => { console.log("res", res); this.list = res.data.records; this.total = res.data.total; if (this.pageSize >= this.total) { this.status = "nomore"; } else { this.status = "loadmore"; } }); } else { this.getlist(); } }, selectNo(no) { this.refreshLastPage(no); }, onLoad(options) { this.operationTaskId = JSON.parse(decodeURIComponent(options.operationTaskId)) this.getlist(); }, methods: { getmoreList() { if (this.pageSize >= this.total) { this.status = "nomore"; return; } this.status = "loading"; setTimeout(() => { this.pageSize += this.pageSize; this.getlist(); }, 1000); }, getlist() { this.$u.api.WorkshopOrderIssued.getMoMaterial({ current: this.pageNum, size: this.pageSize, operationTaskId: this.operationTaskId }).then((res) => { console.log("res", res); this.list = res.data; this.total = res.data.length + 1; if (this.pageSize >= this.total) { this.status = "nomore"; } else { this.status = "loadmore"; } }); }, search(value) { console.log("111", value); if (value) { this.list = []; this.pageSize = 10; this.$u.api.WorkshopOrderIssued .getMoMaterial({ current: this.pageNum, size: this.pageSize, partNo: value, operationTaskId: this.operationTaskId }) .then((res) => { console.log("res", res); this.list = res.data; this.total = res.data.total; if (this.pageSize >= this.total) { this.status = "nomore"; } else { this.status = "loadmore"; } }); } else { this.getlist(); } }, selectNo(no) { this.refreshLastPage(no); }, //å·æ°ä¸ä¸ä¸ªé¡µé¢ refreshLastPage(no) { // åç¥ A.vue æ´æ°æ°æ® // è·å页颿 let pages = getCurrentPages(); //å·æ°ä¸ä¸ä¸ªé¡µé¢ refreshLastPage(no) { // åç¥ A.vue æ´æ°æ°æ® // è·å页颿 let pages = getCurrentPages(); // è·åä¸ä¸é¡µæ let prevPage = pages[pages.length - 2]; // è·åä¸ä¸é¡µæ let prevPage = pages[pages.length - 2]; // 触åä¸ä¸é¡µ upData 彿°(å¹¶æºå¸¦åæ°) prevPage.$vm.compNo(no); // 触åä¸ä¸é¡µ upData 彿°(å¹¶æºå¸¦åæ°) prevPage.$vm.compNo(no); // è¿åä¸ä¸é¡µ uni.navigateBack({ delta: 1, }); }, }, }; // è¿åä¸ä¸é¡µ uni.navigateBack({ delta: 1, }); }, }, }; </script> <style lang="scss" scoped> .finishProductIn-locno-bg { background-color: #f6f9ff; background-image: url("~@/static/custom/finishProductIn/locNoBg.png"); // background: linear-gradient(180deg,rgba(206,227,254,1),rgba(206,227,254,1) 20%,rgba(206,227,254,0.5) 40%,rgba(206,227,254,0.25) 60%,rgba(206,227,254,0.08) 80%,rgba(206,227,254,0)); padding: 0 20rpx; background-attachment: fixed; background-size: 100% auto; background-repeat: no-repeat; position: fixed; top: 0; bottom: 0; width: 100%; z-index: -1; } .finishProductIn-locno-bg { background-color: #f6f9ff; background-image: url("~@/static/custom/finishProductIn/locNoBg.png"); // background: linear-gradient(180deg,rgba(206,227,254,1),rgba(206,227,254,1) 20%,rgba(206,227,254,0.5) 40%,rgba(206,227,254,0.25) 60%,rgba(206,227,254,0.08) 80%,rgba(206,227,254,0)); padding: 0 20rpx; background-attachment: fixed; background-size: 100% auto; background-repeat: no-repeat; position: fixed; top: 0; bottom: 0; width: 100%; z-index: -1; } .finishProductIn-locno-search { padding: 40rpx 30rpx 20rpx 30rpx; } .finishProductIn-locno-search { padding: 40rpx 30rpx 20rpx 30rpx; } .wrap .finishProductIn-locno-scroll-list { height: calc(100vh - var(--window-top) - var(--window-bottom) - 242rpx); width: 100%; } .wrap .finishProductIn-locno-scroll-list { height: calc(100vh - var(--window-top) - var(--window-bottom) - 242rpx); width: 100%; } .finishProductIn-locno-scroll-list-group { ::v-deep .u-cell-item-box { background-color: rgba(250, 252, 255, 0.36) !important; padding: 0rpx 30rpx; } .finishProductIn-locno-scroll-list-group { ::v-deep .u-cell-item-box { background-color: rgba(250, 252, 255, 0.36) !important; padding: 0rpx 30rpx; } .content { font-size: 12px; background-color: #ffffff; box-sizing: border-box; border-radius: 10rpx; margin: 0rpx 0rpx 16rpx; padding: 20rpx 8rpx; box-shadow: none; display: flex; align-items: center; .content { font-size: 12px; background-color: #ffffff; box-sizing: border-box; border-radius: 10rpx; margin: 0rpx 0rpx 16rpx; padding: 20rpx 8rpx; box-shadow: none; display: flex; align-items: center; .content-header { width: 40rpx; height: 90rpx; display: flex; align-items: center; .content-header { width: 40rpx; height: 90rpx; display: flex; align-items: center; .content-header-icon { background-image: url("~@/static/custom/moveWareHouse/header_icon.png"); background-size: 100% auto; background-repeat: no-repeat; height: 28rpx; width: 28rpx; } .content-header-icon { background-image: url("~@/static/custom/moveWareHouse/header_icon.png"); background-size: 100% auto; background-repeat: no-repeat; height: 28rpx; width: 28rpx; } .content-header-title { margin-left: 11rpx; font-size: 26rpx; font-weight: bold; color: #333333; } } .content-header-title { margin-left: 11rpx; font-size: 26rpx; font-weight: bold; color: #333333; } } .content-body { flex: 1; background: #f5f9ff; border-radius: 10rpx; padding: 0rpx 23rpx; .content-body { flex: 1; background: #f5f9ff; border-radius: 10rpx; padding: 0rpx 23rpx; .row-list { height: 60rpx; display: flex; flex-direction: row; padding: 0px; align-items: center; } .row-list { height: 60rpx; display: flex; flex-direction: row; padding: 0px; align-items: center; } .row-list ._label { display: flex; flex: 0.8; color: #909399; align-items: center; .row-list ._label { display: flex; flex: 0.8; color: #909399; align-items: center; ._label-icon-1 { background-image: url("~@/static/custom/moveWareHouse/label-icon-1.png"); background-size: 100% auto; background-repeat: no-repeat; height: 26rpx; width: 26rpx; } ._label-icon-1 { background-image: url("~@/static/custom/moveWareHouse/label-icon-1.png"); background-size: 100% auto; background-repeat: no-repeat; height: 26rpx; width: 26rpx; } ._label-icon-2 { background-image: url("~@/static/custom/moveWareHouse/label-icon-2.png"); background-size: 100% auto; background-repeat: no-repeat; height: 26rpx; width: 26rpx; } ._label-icon-2 { background-image: url("~@/static/custom/moveWareHouse/label-icon-2.png"); background-size: 100% auto; background-repeat: no-repeat; height: 26rpx; width: 26rpx; } ._label-icon-3 { background-image: url("~@/static/custom/moveWareHouse/label-icon-3.png"); background-size: 100% auto; background-repeat: no-repeat; height: 26rpx; width: 26rpx; } ._label-icon-3 { background-image: url("~@/static/custom/moveWareHouse/label-icon-3.png"); background-size: 100% auto; background-repeat: no-repeat; height: 26rpx; width: 26rpx; } ._label-name { width: 80px; margin-left: 11rpx; font-size: 26rpx; font-weight: 500; color: #666666; } } ._label-name { width: 80px; margin-left: 11rpx; font-size: 26rpx; font-weight: 500; color: #666666; } } .row-list ._content { flex: 1.5; text-align: right; color: #909399; font-size: 24rpx; } .row-list ._content { flex: 1.5; text-align: right; color: #909399; font-size: 24rpx; } .row-list .s1 { color: #d35651; } } } } .row-list .s1 { color: #d35651; } } } } </style> pages/product/WorkshopOrderIssued/index.vue
@@ -1,350 +1,450 @@ // 车é´è®¢åä¸å <template> <view class="page"> <view class="packing-registration-bg" /> <u-navbar title="订åä¸å" :background="background" :border-bottom="false" :title-bold="true" title-color="#000" back-icon-color="#000" /> <view class="packing-registration-param"> <view class="packing-registration-param-view"> <view class="packing-registration-param-item param-extra"> <view class="packing-registration-param-item-left"> <text class="item-one">订åå·</text> </view> <view class="packing-registration-param-item-right"> <text class="item-one item-two" @click="seachPersonnelNo()">{{ <view class="page"> <view class="packing-registration-bg" /> <u-navbar title="订åä¸å" :background="background" :border-bottom="false" :title-bold="true" title-color="#000" back-icon-color="#000" /> <view class="packing-registration-param"> <view class="packing-registration-param-view"> <view class="packing-registration-param-item param-extra"> <view class="packing-registration-param-item-left"> <text class="item-one">订åå·</text> </view> <view class="packing-registration-param-item-right"> <text class="item-one item-two" @click="seachPersonnelNo()">{{ registerInfo.moNo == "" ? "ç¹å»éæ©" : registerInfo.moNo }}</text> <u-icon name="arrow-right" color="#687792" size="28" @click="seachPersonnelNo()" v-show="registerInfo.moNo == ''" ></u-icon> </view> </view> <view class="packing-registration-param-item param-extra"> <view class="packing-registration-param-item-left"> <text class="item-one">åä»¶</text> </view> <view class="packing-registration-param-item-right"> <text class="item-one item-two" @click="seachComp()">{{ <u-icon name="arrow-right" color="#687792" size="28" @click="seachPersonnelNo()" v-show="registerInfo.moNo == ''"></u-icon> </view> </view> <view class="packing-registration-param-item param-extra"> <view class="packing-registration-param-item-left"> <text class="item-one">å·¥å</text> </view> <view class="packing-registration-param-item-right"> <text class="item-one item-two" @click="seachWork()">{{ registerInfo.optaskNo == "" ? "ç¹å»éæ©" : registerInfo.optaskNo }}</text> <u-icon name="arrow-right" color="#687792" size="28" @click="seachWork()" v-show="registerInfo.optaskNo == ''"></u-icon> </view> </view> <view class="packing-registration-param-item param-extra"> <view class="packing-registration-param-item-left"> <text class="item-one">æºå°</text> </view> <view class="packing-registration-param-item-right"> <picker class="item-one item-two" style="width: 100%; text-align: right" @change="machineChange($event, machineList)" :value="machineIndex" :range="machineList" range-key="label"> <view> <text :style="{ color: machineIndex == null ? '#a5abb4' : '#a5abb4' }">{{ machineIndex == null ? "ç¹å»éæ©" : machineList[machineIndex].label }}</text> </view> </picker> <u-icon v-if="machineIndex == null" name="arrow-right" color="#687792" size="28"></u-icon> </view> </view> <view class="packing-registration-param-item param-extra"> <view class="packing-registration-param-item-left"> <text class="item-one">åä»¶</text> </view> <view class="packing-registration-param-item-right"> <text class="item-one item-two" @click="seachComp()">{{ registerInfo.partNo == "" ? "ç¹å»éæ©" : registerInfo.partNo }}</text> <u-icon name="arrow-right" color="#687792" size="28" @click="seachComp()" v-show="registerInfo.partNo == ''" ></u-icon> </view> </view> <view class="packing-registration-param-item param-extra"> <view class="packing-registration-param-item-left"> <text class="item-one">é¶ä»¶æè¿°</text> </view> <view class="packing-registration-param-item-right"> <text class="item-one item-two">{{ registerInfo.partName }}</text> </view> </view> <view class="packing-registration-param-item param-extra"> <view class="packing-registration-param-item-left"> <text class="item-one">ä¸åè®°å½ï¼</text> </view> </view> </view> </view> <view class="wrap"> <scroll-view class="packing-registration-scroll-list" scroll-y="true"> <u-cell-group class="packing-registration-scroll-list-group" :border="false" > <!-- <div class="tip" style="text-align: center;" v-if="hasScanSnList.length==0">-请æ«ç -</div> --> <view class="content" v-for="(item, index) in hasScanSnList" :key="index" :index="index" > <view class="content-header"> <view class="content-header-title">{{ index + 1 }}</view> </view> <view class="content-body"> <view class="row-list"> <view class="_label"> <view class="_label-name">æ¹å·ï¼</view> </view> <view class="_content"> {{ item.outBatchNo }} </view> </view> <view class="row-list"> <view class="_label"> <view class="_label-name">ä¸åæ°éï¼</view> </view> <view class="_content"> {{ item.qpa }} </view> </view> </view> </view> </u-cell-group> </scroll-view> <scan></scan> </view> <u-modal v-model="showModal" title="" :show-cancel-button="true" :show-confirm-button="true" @confirm="confirm" @cancel="cancel" > <view class="popup-content"> <view class="packing-registration-param"> <view class="packing-registration-param-view"> <view class="packing-registration-param-item param-extra"> <view class="packing-registration-param-item-left"> <text class="item-one">æ¹å·</text> </view> <view class="packing-registration-param-item-right"> <text class="item-one item-two">{{ <u-icon name="arrow-right" color="#687792" size="28" @click="seachComp()" v-show="registerInfo.partNo == ''"></u-icon> </view> </view> <view class="packing-registration-param-item param-extra"> <view class="packing-registration-param-item-left"> <text class="item-one">é¶ä»¶æè¿°</text> </view> <view class="packing-registration-param-item-right"> <text class="item-one item-two">{{ registerInfo.partName }}</text> </view> </view> <view class="packing-registration-param-item param-extra"> <view class="packing-registration-param-item-left"> <text class="item-one">ä¸åè®°å½ï¼</text> </view> </view> </view> </view> <view class="wrap"> <scroll-view class="packing-registration-scroll-list" scroll-y="true"> <u-cell-group class="packing-registration-scroll-list-group" :border="false"> <!-- <div class="tip" style="text-align: center;" v-if="hasScanSnList.length==0">-请æ«ç -</div> --> <view class="content" v-for="(item, index) in hasScanSnList" :key="index" :index="index"> <view class="content-header"> <view class="content-header-title">{{ index + 1 }}</view> </view> <view class="content-body"> <view class="row-list"> <view class="_label"> <view class="_label-name">æ¹å·ï¼</view> </view> <view class="_content"> {{ item.outBatchNo }} </view> </view> <view class="row-list"> <view class="_label"> <view class="_label-name">ä¸åæ°éï¼</view> </view> <view class="_content"> {{ item.suppliedQuantity }} </view> </view> </view> </view> </u-cell-group> </scroll-view> <scan></scan> </view> <u-modal v-model="showModal" title="" :show-cancel-button="true" :show-confirm-button="true" @confirm="confirm" @cancel="cancel"> <view class="popup-content"> <view class="packing-registration-param"> <view class="packing-registration-param-view"> <view class="packing-registration-param-item param-extra"> <view class="packing-registration-param-item-left"> <text class="item-one">æ¹å·</text> </view> <view class="packing-registration-param-item-right"> <text class="item-one item-two">{{ modalList.outBatchNo }}</text> </view> </view> <view class="packing-registration-param-item param-extra"> <view class="packing-registration-param-item-left"> <text class="item-one">ä¸åæ°é</text> </view> <view class="packing-registration-param-item-right"> <u-input class="item-one item-two" v-model="modalList.suppliedQuantity" /> </view> </view> </view> </view> </view> </u-modal> </view> </view> </view> <view class="packing-registration-param-item param-extra"> <view class="packing-registration-param-item-left"> <text class="item-one">åºä½</text> </view> <view class="packing-registration-param-item-right"> <text class="item-one item-two">{{ modalList.locationNo }}</text> </view> </view> <view class="packing-registration-param-item param-extra"> <view class="packing-registration-param-item-left"> <text class="item-one">ä¸åæ°é</text> </view> <view class="packing-registration-param-item-right"> <u-input class="item-one item-two" v-model="modalList.suppliedQuantity" /> </view> </view> </view> </view> </view> </u-modal> </view> </template> <script> import scan from "@/components/scan/scan.vue"; import content_bg from "@/static/custom/packing/backBg.png"; export default { components: { scan, }, import scan from "@/components/scan/scan.vue"; import content_bg from "@/static/custom/packing/backBg.png"; export default { components: { scan, }, data() { return { background: { backgroundImage: `url(${content_bg})`, backgroundAttachment: "fixed", backgroundSize: "100% auto", backgroundRepeat: "no-repeat", }, labelStyle: { fontSize: "32rpx", whiteSpace: "nowrap", }, // å¼¹çªå表 modalList: { operationTaskId: "", partNo: "", moNo: "", }, // 主页é¢å表 registerInfo: { id: "", moNo: "", partNo: "", partName: "", }, // ä¸åè®°å½å表 hasScanSnList: [], codeInfoId: "", showModal: false, }; }, onShow() { let that = this; uni.$off("scan"); // æ¯æ¬¡è¿æ¥å ç§»é¤å ¨å±èªå®ä¹äºä»¶çå¬å¨ uni.$on("scan", function (data) { console.log("onscan"); if (that.registerInfo.partNo == "") { uni.showToast({ icon: "none", title: "请å éæ©åä»¶ï¼", duration: 2 * 1000, }); return; } if (data.code) { //æ«ç æååçåè°ï¼ä½ å¯ä»¥åèªå·±çé»è¾ä»£ç å¨è¿é console.log("æ«ç ç»æï¼", data.code); let codeInfo = JSON.parse(data.code); that.codeInfoId = codeInfo.id; if (codeInfo.partNo) { // æ«ææ¥å·¥åäºç»´ç that.scanHandle(data.code); that.$forceUpdate(); that.getHandelList(); } } }); }, methods: { getHandelList() { this.$u.api.workReporting .getProductMainV1({ current: 1, size: -1, id: this.codeInfoId, }) .then((res) => { this.hasScanSnList = res.data.productOutputList; }); }, // ç¹å»ç¡®è®¤åè·åä¸åè®°å½ confirm() { // å¤ç确认é»è¾ this.$u.api.WorkshopOrderIssued.checkRawPart(this.modalList).then( (res) => { console.log("res", res); if (res.data.code === 0) { this.confirmList(); } } ); }, // 订åä¸å confirmList() { this.$u.api.WorkshopOrderIssued.checkRawPart(this.modalList).then( (res) => { console.log("res", res); if (res.data.code === 0) { this.showModal = false; } } ); }, // æ¨¡ææ¡åæ¶ cancel() { this.showModal = false; // å ³éå¼¹çª }, // åä»¶åæ¾ compNo(val) { this.registerInfo.partNo = val.partNo; this.registerInfo.partName = val.partName; }, // 订åå·åæ¾ setNo(val) { console.log("11111", val); this.registerInfo.moNo = val.moNo; // this.registerInfo.value2 = val.value2; this.registerInfo.id = val.id; }, //订åå· seachPersonnelNo() { console.log("车é´è®¢åå·"); uni.navigateTo({ url: "/pages/product/report/orderList", }); }, //åä»¶ seachComp() { if (this.registerInfo.moNo == "") { this.$u.toast("è¯·éæ©è®¢åå·"); return; } console.log("åä»¶"); // 使ç¨uni.navigateToæ¹æ³è·³è½¬ï¼å¹¶éè¿queryParamsä¼ éåæ° uni.navigateTo({ url: "/pages/product/WorkshopOrderIssued/comp?id=" + encodeURIComponent(JSON.stringify(this.registerInfo.id)), }); }, // æ«ç åæ°æ®åæ¾ scanHandle(val) { this.modalList = val; this.showModal = true; }, }, }; data() { return { background: { backgroundImage: `url(${content_bg})`, backgroundAttachment: "fixed", backgroundSize: "100% auto", backgroundRepeat: "no-repeat", }, labelStyle: { fontSize: "32rpx", whiteSpace: "nowrap", }, // å¼¹çªå表 modalList: {}, // 主页é¢å表 registerInfo: { operationTaskId: '', id: "", moNo: "", partNo: "", partName: "", optaskNo: "", workstationId: '' }, // ä¸åè®°å½å表 hasScanSnList: [], codeInfoId: "", showModal: false, machineIndex: null, machineList: [], }; }, onShow() { let that = this; uni.$off("scan"); // æ¯æ¬¡è¿æ¥å ç§»é¤å ¨å±èªå®ä¹äºä»¶çå¬å¨ uni.$on("scan", function(data) { console.log("onscan"); if (that.registerInfo.partNo == "") { uni.showToast({ icon: "none", title: "请å éæ©åä»¶ï¼", duration: 2 * 1000, }); return; } if (that.registerInfo.workstationId == "") { uni.showToast({ icon: "none", title: "请å éæ©æºå°ï¼", duration: 2 * 1000, }); return; } if (data.code) { //æ«ç æååçåè°ï¼ä½ å¯ä»¥åèªå·±çé»è¾ä»£ç å¨è¿é console.log("æ«ç ç»æï¼", data.code); let codeInfo = JSON.parse(data.code); that.codeInfoId = codeInfo.id; if (codeInfo.partNo) { if (that.registerInfo.partNo != codeInfo.partNo) { this.$u.toast("å½ååä»¶åæ«ç åä»¶ä¸ä¸è´ï¼"); return; } // æ«ææ¥å·¥åäºç»´ç that.scanHandle(codeInfo); that.$forceUpdate(); // that.getHandelList(); } } }); }, methods: { //æºå° machineChange(e, storage, code) { this.hasScanSnList = [] if (storage.length <= 0) { this.machineIndex = null; return; } this.machineIndex = e.target.value; this.registerInfo.workstationId = storage[this.machineIndex].value; }, // getHandelList() { // this.$u.api.workReporting // .getProductMainV1({ // current: 1, // size: -1, // id: this.codeInfoId, // }) // .then((res) => { // this.hasScanSnList = res.data.productOutputList; // }); // }, // ç¹å»ç¡®è®¤åè·åä¸åè®°å½ confirm() { // å¤ç确认é»è¾ this.$u.api.WorkshopOrderIssued.feeding({ feedingFrom: "stocker", operationTaskId: this.registerInfo.operationTaskId, feeds: [{ ...this.modalList }] }).then( (res) => { console.log("res", res); if (res.code === 0) { this.$u.toast("æäº¤æå"); this.showModal = false; const obj = { suppliedQuantity: this.modalList.suppliedQuantity, outBatchNo: this.modalList.outBatchNo, } this.hasScanSnList.push(obj) } } ); }, // æ¨¡ææ¡åæ¶ cancel() { this.showModal = false; // å ³éå¼¹çª }, // å·¥ååæ¾ workNo(val) { this.machineList = [] this.machineIndex = null this.registerInfo.workstationId = '' this.registerInfo.partName = '' this.registerInfo.partNo = '' this.$u.api.WorkshopOrderIssued .selWorkStation(val) .then((res) => { console.log('111', res) if (res.code === 0 && res.data.length > 0) { res.data.forEach(i => { const obj = Object.assign({ label: i.name, value: i.id, }) this.machineList.push(obj) }) } }); this.registerInfo.optaskNo = val.optaskNo; this.registerInfo.operationTaskId = val.id; this.hasScanSnList = [] }, // åä»¶åæ¾ compNo(val) { this.registerInfo.partNo = val.partNo; this.registerInfo.partName = val.partName; }, // 订åå·åæ¾ setNo(val) { console.log("11111", val); this.registerInfo = { operationTaskId: '', id: val.id, moNo: val.moNo, partNo: "", partName: "", optaskNo: "", workstationId: '' }, this.machineList = [] this.machineIndex = null this.hasScanSnList = [] }, //订åå· seachPersonnelNo() { console.log("车é´è®¢åå·"); uni.navigateTo({ url: "/pages/product/report/orderList", }); }, //åä»¶ seachComp() { if (this.registerInfo.optaskNo == "") { this.$u.toast("è¯·éæ©å·¥åå·"); return; } console.log("åä»¶"); // 使ç¨uni.navigateToæ¹æ³è·³è½¬ï¼å¹¶éè¿queryParamsä¼ éåæ° uni.navigateTo({ url: "/pages/product/WorkshopOrderIssued/comp?operationTaskId=" + encodeURIComponent(JSON.stringify(this.registerInfo.operationTaskId)), }); }, //å·¥å seachWork() { if (this.registerInfo.moNo == "") { this.$u.toast("è¯·éæ©è®¢åå·"); return; } console.log("åä»¶"); // 使ç¨uni.navigateToæ¹æ³è·³è½¬ï¼å¹¶éè¿queryParamsä¼ éåæ° uni.navigateTo({ url: "/pages/product/WorkshopOrderIssued/WorkOrderList?id=" + encodeURIComponent(JSON.stringify(this.registerInfo.id)), }); }, // æ«ç åæ°æ®åæ¾ scanHandle(val) { const { outBatchNo } = val const { workstationId, operationTaskId } = this.registerInfo const obj = { outBatchNo: outBatchNo, workstationId: workstationId, operationTaskId: operationTaskId, } this.$u.api.WorkshopOrderIssued.checkRawPartPDA(obj).then( (res) => { console.log("res", res); if (res.code === 0) { res.data.workstationId = workstationId, this.modalList = res.data; this.showModal = true; } } ); }, }, }; </script> <style lang="scss" scoped> .popup-content { width: 600rpx; height: 250rpx; background-color: #fff; border-radius: 8px; z-index: 10; /* ç¡®ä¿å 容å¨èçä¹ä¸ */ } .packing-registration-bg { background-color: #f6f9ff; background-image: url("~@/static/custom/packing/backBg.png"); padding: 0 20rpx; background-attachment: fixed; background-size: 100% auto; background-repeat: no-repeat; position: fixed; top: 0; bottom: 0; width: 100%; z-index: -1; } .popup-content { width: 600rpx; height: 350rpx; background-color: #fff; border-radius: 8px; z-index: 10; /* ç¡®ä¿å 容å¨èçä¹ä¸ */ } .packing-registration-param { padding: 40rpx 30rpx 10rpx 30rpx; .packing-registration-bg { background-color: #f6f9ff; background-image: url("~@/static/custom/packing/backBg.png"); padding: 0 20rpx; background-attachment: fixed; background-size: 100% auto; background-repeat: no-repeat; position: fixed; top: 0; bottom: 0; width: 100%; z-index: -1; } .packing-registration-param-title { display: flex; flex-direction: row; align-items: center; margin-bottom: 30rpx; .packing-registration-param { padding: 40rpx 30rpx 10rpx 30rpx; .title-label { margin-left: 14rpx; font-size: 34rpx; font-weight: bold; color: #283e65; } } .packing-registration-param-title { display: flex; flex-direction: row; align-items: center; margin-bottom: 30rpx; .packing-registration-param-view { height: 345rpx; background-color: #fff; border-radius: 10rpx; padding: 0rpx 23rpx; margin-bottom: 30rpx; .title-label { margin-left: 14rpx; font-size: 34rpx; font-weight: bold; color: #283E65; } } .packing-registration-param-item { height: 90rpx; border: 1px solid #adc8e4; line-height: 90rpx; display: flex; justify-content: space-between; border: none; .packing-registration-param-view { height: 550rpx; background-color: #fff; border-radius: 10rpx; padding: 0rpx 23rpx; margin-bottom: 30rpx; .packing-registration-param-item-left { .item-one { font-size: 30rpx; color: #666666; } } .packing-registration-param-item { height: 90rpx; border: 1px solid #ADC8E4; line-height: 90rpx; display: flex; justify-content: space-between; border: none; .packing-registration-param-item-left { .item-one { font-size: 30rpx; color: #666666; } } .packing-registration-param-item-right { display: flex; @@ -352,7 +452,7 @@ .item-one { font-size: 30rpx; color: #333333; color: #060505; margin-right: 6rpx; } @@ -370,95 +470,95 @@ } } .param-extra { border-bottom: 1px solid #ededed; } } } .param-extra { border-bottom: 1px solid #EDEDED; } } } .wrap .packing-registration-scroll-list { height: calc(100vh - var(--window-top) - var(--window-bottom) - 550rpx); width: 100%; } .wrap .packing-registration-scroll-list { height: calc(100vh - var(--window-top) - var(--window-bottom) - 550rpx); width: 100%; } .packing-registration-scroll-list-group { ::v-deep .u-cell-item-box { background-color: rgba(250, 252, 255, 0.36) !important; padding: 0rpx 30rpx; } .packing-registration-scroll-list-group { ::v-deep .u-cell-item-box { background-color: rgba(250, 252, 255, 0.36) !important; padding: 0rpx 30rpx; } .content { font-size: 12px; background-color: #ffffff; box-sizing: border-box; border-radius: 10rpx; margin: 0rpx 0rpx 16rpx; padding: 20rpx 8rpx; box-shadow: none; display: flex; align-items: center; .content { font-size: 12px; background-color: #ffffff; box-sizing: border-box; border-radius: 10rpx; margin: 0rpx 0rpx 16rpx; padding: 20rpx 8rpx; box-shadow: none; display: flex; align-items: center; .content-header { width: 40rpx; height: 90rpx; display: flex; align-items: center; .content-header { width: 40rpx; height: 90rpx; display: flex; align-items: center; .content-header-icon { background-image: url("~@/static/custom/moveWareHouse/header_icon.png"); background-size: 100% auto; background-repeat: no-repeat; height: 28rpx; width: 28rpx; } .content-header-icon { background-image: url("~@/static/custom/moveWareHouse/header_icon.png"); background-size: 100% auto; background-repeat: no-repeat; height: 28rpx; width: 28rpx; } .content-header-title { margin-left: 11rpx; font-size: 26rpx; font-weight: bold; color: #626369; } } .content-header-title { margin-left: 11rpx; font-size: 26rpx; font-weight: bold; color: #626369; } } .content-body { flex: 1; background-color: #ffffff; border-radius: 10rpx; padding: 0rpx 23rpx; .content-body { flex: 1; background-color: #ffffff; border-radius: 10rpx; padding: 0rpx 23rpx; .row-list { height: 60rpx; display: flex; flex-direction: row; padding: 0px; align-items: center; } .row-list { height: 60rpx; display: flex; flex-direction: row; padding: 0px; align-items: center; } .row-list ._label { display: flex; flex: 0.8; color: #909399; align-items: center; .row-list ._label { display: flex; flex: 0.8; color: #909399; align-items: center; ._label-name { margin-left: 11rpx; font-size: 26rpx; font-weight: 500; color: #666666; } } ._label-name { margin-left: 11rpx; font-size: 26rpx; font-weight: 500; color: #666666; } } .row-list ._content { flex: 1.5; text-align: right; color: #909399; font-size: 24rpx; } .row-list ._content { flex: 1.5; text-align: right; color: #909399; font-size: 24rpx; } .row-list .s1 { color: #d35651; } } } } .row-list .s1 { color: #d35651; } } } } </style>