From 42f41be3e0bf953d5b5fc9ec9c882801cb8c4494 Mon Sep 17 00:00:00 2001
From: caill <815519168@qq.com>
Date: Tue, 1 Sep 2026 16:11:22 +0800
Subject: [PATCH] =?UTF-8?q?=E5=91=BC=E5=8F=AB=E5=A5=97=E8=BD=B4=E3=80=81?=
=?UTF-8?q?=E5=88=86=E5=88=87=E4=B8=8A=E6=96=992=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
common/style/layout.styl | 113 ++++++++++++++++++
common/style/reset.css | 5 +
manifest.json | 4 +-
pages/SecondPhase/slitting/CallPaperShaft.vue | 101 ++++++++++++++--
.../SecondPhase/slitting/SlittingCutting2.vue | 21 +---
utils/mork2.js | 5 +-
6 files changed, 217 insertions(+), 32 deletions(-)
diff --git a/common/style/layout.styl b/common/style/layout.styl
index 3864121..7064fe0 100644
--- a/common/style/layout.styl
+++ b/common/style/layout.styl
@@ -979,4 +979,117 @@ uni-button[disabled]:not([type]) {
to {
transform: rotate(360deg);
}
+}
+.confirm-modal-mask {
+ position: fixed;
+ left: 0;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ background-color: rgba(0,0,0,0.7);
+ z-index: 999;
+}
+.confirm-modal {
+ width: 86%;
+ background: #fff;
+ border-radius: 20rpx;
+ padding-top: 40rpx;
+ animation: modalSlideIn 0.3s ease-out;
+}
+.icon_right {
+ text-align: center;
+ font-size: 40rpx;
+ line-height: 40rpx;
+ color: #f36b2a;
+ border-radius: 50%;
+ padding: 18rpx;
+ margin-bottom: 16rpx;
+ background-color: #fff3eb;
+}
+.confirm-modal .modal-title {
+ font-size: 30rpx;
+ text-align: center;
+ font-weight: 700;
+ color: #23272f;
+ padding: 0 18rpx;
+ margin-bottom: 12rpx;
+}
+.confirm-modal .modal-desc {
+ font-size: 24rpx;
+ color: #323232;
+ text-align: center;
+ padding: 0 18rpx;
+ margin-bottom: 32rpx;
+}
+.confirm-modal .info-block {
+ width: 90%;
+ background-color: #f5f5f5;
+ border-radius: 12rpx;
+ padding: 16rpx;
+ margin: 0 auto 36rpx;
+}
+.confirm-modal .info-row {
+ display: flex;
+ padding-bottom: 20rpx;
+ margin-bottom: 16rpx;
+ border-bottom: 1px solid #e5e5e5;
+}
+.confirm-modal .info-row:last-child {
+ margin-bottom: 0;
+ border-bottom: 0;
+}
+.confirm-modal .info-row .info-label {
+ width: 140rpx;
+ font-size: 28rpx;
+ color: #7b8491;
+}
+.confirm-modal .info-row .info-val {
+ flex: 1;
+ font-size: 28rpx;
+ font-weight: 700;
+ color: #23272f;
+ text-align: right;
+}
+.confirm-modal .info-row .info-val-q {
+ font-size: 34rpx;
+ color: #f36b2a;
+}
+.confirm-modal .modal-buttons {
+ display: flex;
+ width: 100%;
+}
+.confirm-modal .modal-buttons button {
+ flex: 1;
+ width: 50%;
+ height: 88rpx;
+ line-height: 88rpx;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ font-size: 30rpx;
+ margin: 0;
+}
+/* 取消按钮 */
+.confirm-modal .btn-cancel {
+ background: #fff;
+ color: #333;
+ border: 1px solid #e5e5e5;
+ border-bottom-left-radius: 20rpx;
+}
+/* 确认按钮 */
+.confirm-modal .btn-confirm {
+ background: #ff791a;
+ border: 1px solid #ff791a;
+ color: #fff;
+ border-bottom-right-radius: 20rpx;
+}
+/* 滑入动画 */
+@keyframes modalSlideIn {
+ 0% {
+ transform: translateY(100vh);
+ opacity: 0;
+ }
+ 100% {
+ transform: translateY(0);
+ opacity: 1;
+ }
}
\ No newline at end of file
diff --git a/common/style/reset.css b/common/style/reset.css
index 39d2c45..421a400 100644
--- a/common/style/reset.css
+++ b/common/style/reset.css
@@ -53,6 +53,11 @@ input[type="button"], input[type="submit"], input[type="search"], input[type="re
.jccenter {
justify-content: center !important;
}
+.flex-column {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
.zd-row {
display: flex;
justify-content: space-between;
diff --git a/manifest.json b/manifest.json
index d0194b4..2a23808 100644
--- a/manifest.json
+++ b/manifest.json
@@ -2,8 +2,8 @@
"name" : "海亮铜箔",
"appid" : "__UNI__3A002CD",
"description" : "海亮铜箔二期手持系统",
- "versionName" : "1.4.8",
- "versionCode" : 148,
+ "versionName" : "1.4.9",
+ "versionCode" : 149,
"transformPx" : false,
/* 5+App特有相关 */
"app-plus" : {
diff --git a/pages/SecondPhase/slitting/CallPaperShaft.vue b/pages/SecondPhase/slitting/CallPaperShaft.vue
index 10d5f88..7d8f5b3 100644
--- a/pages/SecondPhase/slitting/CallPaperShaft.vue
+++ b/pages/SecondPhase/slitting/CallPaperShaft.vue
@@ -71,17 +71,17 @@
-
- {{statTotal}}
+
+ {{planSize}}
呼叫总数
-
- {{statFitted}}
- 已套轴
+
+ {{canUsePointCount}}
+ 可用点位数
-
- {{statWaiting}}
- 待套轴
+
+ {{remainingCount}}
+ 可用空闲位数
@@ -118,6 +118,7 @@
呼叫时间:{{ item.call_time }}
管芯重量:{{ item.paper_weight }}
是否套轴完成:{{ item.is_child_tz_ok === 1 ? '是' : '否' }}
+ 呼叫人:{{item.material_type}}
@@ -129,8 +130,38 @@
-
+
+
+
+
+ 确认呼叫套轴
+ 请核对本次呼叫信息,确认后将提交
+
+
+ 位置
+ {{ index2Label || '-' }}
+
+
+ 管芯规格
+ {{ getAxisLabel() || '-' }}
+
+
+ 尺寸
+ {{ index3Label || '-' }}
+
+
+ 数量
+ {{ qty || 0 }}
+
+
+
+
+
+
+
+
+
@@ -168,7 +199,13 @@
qty: null,
disabled: false,
disabled1: false,
- planList: []
+ planList: [],
+ planSize: 0,
+ remainingCount: 0,
+ canUsePointCount: 0,
+ confirmModalShow: false,
+ index2Label: '',
+ index3Label: '',
};
},
computed: {
@@ -236,13 +273,22 @@
try {
let res = await getBindXnPlan(e)
if (res && res.status === 200) {
+ this.planSize = res.planSize || 0
+ this.canUsePointCount = res.canUsePointCount || 0
+ this.remainingCount = res.remainingCount || 0
this.planList = res.plans.map(p=>{
return { ...p, _expand:false }
})
} else {
+ this.planSize = 0
+ this.canUsePointCount = 0
+ this.remainingCount = 0
this.planList = []
}
} catch (e) {
+ this.planSize = 0
+ this.canUsePointCount = 0
+ this.remainingCount = 0
this.planList = []
}
},
@@ -259,6 +305,9 @@
if (e) {
this._getBindXnPlan(e)
} else {
+ this.planSize = 0
+ this.canUsePointCount = 0
+ this.remainingCount = 0
this.planList = []
}
},
@@ -284,14 +333,44 @@
this.disabled1 = false
this.state = 'all',
this.refreshing = false
+ this.planSize = 0
+ this.canUsePointCount = 0
+ this.remainingCount = 0
this.planList = []
},
- async _slitXnplan () {
+ openConfirmModal () {
this.disabled = true
if (!this.index1 || !this.index2 || (!this.upL && !this.upR) || !this.index3 || !this.index4 || !this.qty) {
this.disabled = false
return
}
+ const opt2 = this.options2.find(o=>o.value === this.index2)
+ this.index2Label = opt2 ? opt2.text : ''
+ const opt3 = this.options3.find(o=>o.value === this.index3)
+ this.index3Label = opt3 ? opt3.text : ''
+ this.confirmModalShow = true
+ },
+ closeConfirmModal(){
+ this.confirmModalShow = false
+ this.disabled = false
+ },
+ getAxisLabel(){
+ let arr = []
+ if(this.upL) {
+ const l = this.newaxis1.find(x=>x.value === this.upL)
+ l && arr.push(l.text + '(左)')
+ }
+ if(this.upR) {
+ const r = this.newaxis2.find(x=>x.value === this.upR)
+ r && arr.push(r.text + '(右)')
+ }
+ return arr.join(' / ')
+ },
+ handleConfirmCall(){
+ this.confirmModalShow = false
+ this._slitXnplan()
+ },
+ async _slitXnplan () {
let upLT = ''
let upRT = ''
this.axis.map(el => {
diff --git a/pages/SecondPhase/slitting/SlittingCutting2.vue b/pages/SecondPhase/slitting/SlittingCutting2.vue
index 0e42dc8..0512021 100644
--- a/pages/SecondPhase/slitting/SlittingCutting2.vue
+++ b/pages/SecondPhase/slitting/SlittingCutting2.vue
@@ -97,20 +97,12 @@
上轴信息
- 缓存架编码
-
-
-
绑定计划
下轴信息
- 缓存架编码
-
-
-
绑定计划
@@ -118,8 +110,7 @@
-
-
+
@@ -156,9 +147,7 @@
htmlContent1: [],
htmlContent2: [],
modalShow1: false,
- upShelf: '',
upPlanCode: '',
- downShelf: '',
downPlanCode: '',
PlanOptions: [],
PlanOptions1: [],
@@ -358,16 +347,12 @@
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) {
+ if (!(this.upPlanCode || this.downPlanCode)) {
uni.showToast({
title: '请至少完整填写上轴或下轴一组信息',
icon: 'none'
@@ -376,7 +361,7 @@
return
}
try {
- let res = await dBindPlanDevice(this.upShelf, this.upPlanCode, this.downShelf, this.downPlanCode, type, this.index)
+ let res = await dBindPlanDevice(null, this.upPlanCode, null, this.downPlanCode, type, this.index)
if (res) {
uni.showToast({
title: res.message,
diff --git a/utils/mork2.js b/utils/mork2.js
index 19d23f6..fe10f2e 100644
--- a/utils/mork2.js
+++ b/utils/mork2.js
@@ -360,7 +360,10 @@ export const getUnbindPlan = () => {
}
export const getBindXnPlan = () => {
let res = {
- "status" : 200,
+ "status" : 200,
+ "planSize": 10,
+ "canUsePointCount": 8,
+ "remainingCount": 2,
"plans" : [
{
"paper_tube_description": 'JH-20260824-018',