From 36f5d4afd42eebba9439101db5b27ce976e71e2e Mon Sep 17 00:00:00 2001 From: caill <815519168@qq.com> Date: Thu, 6 Aug 2026 16:49:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=8C=E6=9C=9F=E5=91=BC?= =?UTF-8?q?=E5=8F=AB=E5=A5=97=E8=BD=B4=EF=BC=8C=E5=88=86=E5=88=87=E4=B8=8A?= =?UTF-8?q?=E6=96=992=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 +- common/style/layout.styl | 107 ++++++++- manifest.json | 4 +- pages.json | 7 + pages/SecondPhase/slitting/CallPaperShaft.vue | 222 ++++++++++++++++++ .../SecondPhase/slitting/SlittingCutting2.vue | 147 +++++++++++- utils/getData3.js | 40 ++++ utils/mork2.js | 57 ++++- 8 files changed, 578 insertions(+), 9 deletions(-) create mode 100644 pages/SecondPhase/slitting/CallPaperShaft.vue diff --git a/README.md b/README.md index 4d803de..5c43233 100644 --- a/README.md +++ b/README.md @@ -7,4 +7,5 @@ + 当前应用版本号100 + 线上菜单接口地址:(https://apifox.com/apidoc/shared-cb4996b0-0426-44a6-82a5-0cefe2540fb9/api-152616802) + 生产入库、退货入库、报废入库、拆分入库这几个页面的木箱输入框只能扫码,不能输入;盘点明细页面木箱输入框只能扫码,不能输入,点击确定按钮后再次获取焦点;虚拟区发货确认、生产区发货确认两个页面点击确认后会再次获取焦点 -+ 一期二期菜单会公用一个页面 \ No newline at end of file ++ 一期二期菜单会公用一个页面 ++ 插件uni-data-select不能升级,会影响模糊搜索 \ No newline at end of file diff --git a/common/style/layout.styl b/common/style/layout.styl index 30ddead..5ecaf88 100644 --- a/common/style/layout.styl +++ b/common/style/layout.styl @@ -113,6 +113,19 @@ uni-button:after { background-color: #E9B451; } +.icon_close::before { + content: "\e6dc"; +} + +.icon_close { + width: 48rpx; + height: 48rpx; + font-size: 40rpx; + font-weight: 700; + color: #323232; + line-height: 48rpx; +} + /** 内容 */ .zd_container { width: 100%; @@ -170,6 +183,11 @@ uni-button:after { .filter_label_1 { line-height: 30rpx; } +.filter_label_2 { + line-height: 56rpx; + text-align: left; + text-align-last: auto; +} .filter_search { width: 100rpx; height: 70rpx; @@ -202,6 +220,12 @@ uni-button:after { height: 30rpx; margin-top: 20rpx; } +.filter_input_wraper_2 { + width: 100%; + height: 80rpx; + line-height: 80rpx; + margin-bottom: 10rpx; +} .filter_input_wraper_inn_text { line-height: 30rpx; font-size: 28rpx; @@ -446,6 +470,9 @@ uni-button[disabled]:not([type]) { top: 100%; transform: translateY(0%); } +.pophide2 { + transform: translateY(140%); +} .msg_wrapper { position: fixed; top: auto; @@ -615,4 +642,82 @@ uni-button[disabled]:not([type]) { } .down_icon { text-align: center; -} \ No newline at end of file +} +.msg_wrapper_2 { + position: fixed; + top: auto; + bottom: calc(7% - var(--status-bar-height)); + left: 7%; + width: 86%; + height: 86%; + background-color: #ffffff; + box-shadow: 0 -8px 16px 0 rgba(28,31,33,.1); + border-top-left-radius: 20rpx; + border-top-right-radius: 20rpx; + z-index: 301; + transition: all .3s; +} +.pop-title_wraper_2 { + padding: 20rpx 24rpx; + border-bottom: 1rpx solid #dcdfe6; + margin-bottom: 20rpx; + flex-shrink: 0; +} +.pop-title_2 { + font-size: 34rpx; + line-height: 34rpx; + font-weight: 700; + color: #333; +} +.msg_content_2 { + height: calc(100% - 220rpx); + padding: 0 24rpx; + overflow-y: auto; + position: relative; + z-index: 10000; +} +.msg_filter { + width: 100%; + min-height: 100%; +} +.msg_tip_2 { + font-size: 32rpx; + line-height: 32rpx; + font-weight: 700; + color: #333; + margin-bottom: 20rpx; + text-align: left; + padding-left: 20rpx; +} +.msg_tip_2:before { + position: absolute; + left: 0; + content: ''; + width: 8rpx; + height: 30rpx; + background-color: #007aff; + border-radius: 4rpx; +} +.msg_tip_2_blue:before { + background-color: #007aff; +} +.msg_tip_2_yellow:before { + background-color: #ff791a; +} + +.msg_fgx { + width: 100%; + height: 1rpx; + background: #dcdfe6; + margin: 40rpx 0; +} +.filter_input_wraper_2-bottom { + margin-bottom: 40rpx; +} +.submitbar-popup { + width: 100%; + flex-shrink:0; + background-color: #fff; + padding: 20rpx 0 19rpx 0; + box-shadow: 0 0 20rpx 0 rgba(160,160,160,0.7); +} diff --git a/manifest.json b/manifest.json index b0fa3ae..d71fd47 100644 --- a/manifest.json +++ b/manifest.json @@ -2,8 +2,8 @@ "name" : "海亮铜箔", "appid" : "__UNI__3A002CD", "description" : "海亮铜箔二期手持系统", - "versionName" : "1.4.4", - "versionCode" : 144, + "versionName" : "1.4.5", + "versionCode" : 145, "transformPx" : false, /* 5+App特有相关 */ "app-plus" : { diff --git a/pages.json b/pages.json index 1d1baa3..72a79ec 100644 --- a/pages.json +++ b/pages.json @@ -770,6 +770,13 @@ { "navigationStyle": "custom" } + }, + { + "path" : "pages/SecondPhase/slitting/CallPaperShaft", + "style" : + { + "navigationStyle": "custom" + } } ], "globalStyle": { diff --git a/pages/SecondPhase/slitting/CallPaperShaft.vue b/pages/SecondPhase/slitting/CallPaperShaft.vue new file mode 100644 index 0000000..b82505e --- /dev/null +++ b/pages/SecondPhase/slitting/CallPaperShaft.vue @@ -0,0 +1,222 @@ + + + \ No newline at end of file diff --git a/pages/SecondPhase/slitting/SlittingCutting2.vue b/pages/SecondPhase/slitting/SlittingCutting2.vue index 6e367f8..0e42dc8 100644 --- a/pages/SecondPhase/slitting/SlittingCutting2.vue +++ b/pages/SecondPhase/slitting/SlittingCutting2.vue @@ -73,8 +73,9 @@ - - + + + 提示 @@ -88,6 +89,40 @@ + + + 绑定轴信息 + + + + + 上轴信息 + 缓存架编码 + + + + 绑定计划 + + + + + 下轴信息 + 缓存架编码 + + + + 绑定计划 + + + + + + + + + + + @@ -95,7 +130,9 @@ import NavBar from '@/components/NavBar.vue' import SearchBox from '@/components/SearchBox.vue' import {queryProductArea} from '@/utils/getData2.js' - import {getTubeLength, slitterDevices, downRolls2} from '@/utils/getData3.js' + import {getTubeLength, slitterDevices, downRolls2, getUnbindPlan, dBindPlanDevice} from '@/utils/getData3.js' + // import {getTubeLength, slitterDevices, queryProductArea, getUnbindPlan} from '@/utils/mork2.js' + // import {downRolls2, dBindPlanDevice} from '@/utils/getData3.js' export default { components: { NavBar, @@ -117,7 +154,15 @@ disabled1: false, modalShow: false, htmlContent1: [], - htmlContent2: [] + htmlContent2: [], + modalShow1: false, + upShelf: '', + upPlanCode: '', + downShelf: '', + downPlanCode: '', + PlanOptions: [], + PlanOptions1: [], + PlanOptions2: [] }; }, onLoad (options) { @@ -144,8 +189,29 @@ let res = await slitterDevices(e) this.options = [...res] }, + async _getUnbindPlan (e) { + try { + let res = await getUnbindPlan(e) + if (res) { + const list = res.map(el => { + return { + text: el.label, + value: el.value + } + }) + this.PlanOptions = list + } + } catch (e) { + this.PlanOptions = [] + } + }, selectChange (e) { this.index = e + if (e) { + this._getUnbindPlan(e) + } else { + this.PlanOptions = [] + } }, radioChange (e) { this.index1 = e.detail.value @@ -250,6 +316,79 @@ this.dataList = [] this.disabled = false this.disabled1 = false + }, + /** 模糊匹配 */ + selectMatchItem (lists, keyWord) { + let resArr = [] + lists.filter((item) => { + if (item.text.indexOf(keyWord) > -1) { + resArr.push(item) + } + }) + return resArr + }, + handleChange1 (e) { + if (e){ + this.upPlanCode = '' + this.PlanOptions1 = this.selectMatchItem(this.PlanOptions, e) + } else { + this.PlanOptions1 = this.PlanOptions + } + }, + showSelector1 () { + this.PlanOptions1 = this.PlanOptions + }, + handleChange2 (e) { + if (e){ + this.downPlanCode = '' + this.PlanOptions2 = this.selectMatchItem(this.PlanOptions, e) + } else { + this.PlanOptions2 = this.PlanOptions + } + }, + showSelector2 () { + this.PlanOptions2 = this.PlanOptions + }, + bindPlanDeviceConfirm () { + if (!this.index) { + uni.showToast({ + title: '请先选择设备', + icon: 'none' + }) + return + } + this.modalShow1 = true + this.upShelf = '' + this.upPlanCode = '' + this.downShelf = '' + this.downPlanCode = '' + }, + async bindSure (type) { + this.disabled = true + const upValid = this.upShelf && this.upPlanCode + const downValid = this.downShelf && this.downPlanCode + if (!upValid && !downValid) { + uni.showToast({ + title: '请至少完整填写上轴或下轴一组信息', + icon: 'none' + }) + this.disabled = false + return + } + try { + let res = await dBindPlanDevice(this.upShelf, this.upPlanCode, this.downShelf, this.downPlanCode, type, this.index) + if (res) { + uni.showToast({ + title: res.message, + icon: 'none' + }) + } + this.disabled = false + this.modalShow1 = false + } catch (e) { + this.disabled = false + this.modalShow1 = false + } } } } diff --git a/utils/getData3.js b/utils/getData3.js index b74070d..536a5e0 100644 --- a/utils/getData3.js +++ b/utils/getData3.js @@ -506,6 +506,23 @@ export const downRolls2 = (device, code) => request({ container: code } }) +export const getUnbindPlan = (device) => request({ + url:'api/pda/slitter/get-unbind-plan', + data: { + deviceCode: device + } +}) +export const dBindPlanDevice = (upShelf, upPlanCode, downShelf, downPlanCode, force, device) => request({ + url:'api/pda/slitter/do-bind-plan-device', + data: { + upShelf: upShelf, + upPlanCode: upPlanCode, + downShelf: downShelf, + downPlanCode: downPlanCode, + force: force, + device: device + } +}) /** * 母卷暂存管理(分切管理二期) */ @@ -681,4 +698,27 @@ export const checkCode = (ncode, gcode, bcode, ccode) => request({ export const changePointMove = (code, move) => request({ url:'api/pda/raw/changePointMove', data: {deviceCode: code, move: move} +}) +/** + * 呼叫套轴(二期) + */ +// 获取位置下拉框 +export const slitXnarea = (area) => request({ + url:'api/pda/slitter/list-xn-area', + data: {area: area} +}) +// 呼叫套轴 +export const slitXnplan = (area, location, ulk, ulv, urk, urv, size, qzz, num) => request({ + url:'api/pda/slitter/bind-xn-plan', + data: { + area: area, + location: location, + up_left_size_k: ulk, + up_left_size_v: ulv, + up_right_size_k: urk, + up_right_size_v: urv, + qzz_size: size, + qzz_generation: qzz, + qqz_num: num + } }) \ No newline at end of file diff --git a/utils/mork2.js b/utils/mork2.js index 2a4e86f..87a4022 100644 --- a/utils/mork2.js +++ b/utils/mork2.js @@ -114,7 +114,8 @@ export const allAuthority = () => { {menu_id: '8', title: '子卷拼单', path: '/pages/SecondPhase/slitting/Zjpindan'}, {menu_id: '8', title: '人工呼叫空轴', path: '/pages/SecondPhase/slitting/ManEmptyAxle'}, {menu_id: '11', title: '备货出入库', path: '/pages/SecondPhase/slitting/GdsPrepInOut'}, - {menu_id: '11', title: '任务管理', path: '/pages/SecondPhase/slitting/Task'} + {menu_id: '11', title: '任务管理', path: '/pages/SecondPhase/slitting/Task'}, + {menu_id: '8', title: '呼叫套轴', path: '/pages/SecondPhase/slitting/CallPaperShaft'} ]}, {menu_id: '10', path: 'RF15', title: '打包间管理', sonTree: [ {menu_id: '1', title: '子卷包装解绑', path: '/pages/SecondPhase/SubRollPackUnbind'}, @@ -183,6 +184,19 @@ export const queryProductArea = () => { } return res } +export const slitXnarea = () => { + let res = [ + { + "label": "B1分切合单1区", + "value": "1" + }, + { + "label": "B1分切合单2区", + "value": "2" + } + ] + return res +} export const slitterDevices = (area) => { let res = [{text: '物料一', value: '001'}, {text: '物料a', value: '002'}, {text: '物料b', value: '003'}] return res @@ -301,4 +315,45 @@ export const doCallTubeShaftShow = () => { export const getTubeLength = (code) => { let res = {"data":{"bh":"15","length":"1500"},"message":"获取信息成功!","status":200} return res +} +export const getUnbindPlan = () => { + let res = [ + { + "label": "1", + "value": "1" + }, + { + "label": "2", + "value": "2" + }, + { + "label": "3", + "value": "3" + }, + { + "label": "1", + "value": "1" + }, + { + "label": "2", + "value": "2" + }, + { + "label": "3", + "value": "3" + }, + { + "label": "1", + "value": "1" + }, + { + "label": "2", + "value": "2" + }, + { + "label": "3", + "value": "3" + } + ] + return res } \ No newline at end of file