| | |
| | | flex-wrap: nowrap; |
| | | align-content: flex-start; |
| | | justify-content: flex-start;"> |
| | | <!--主界面--> |
| | | <!-- 上部:工单选择和机台信息 --> |
| | | <view class="top-order" style=" display:inline-block;"> |
| | | <view class="form-row4"> |
| | |
| | | justify-content: flex-start; |
| | | align-items: center;"> |
| | | <view class="form-item"> |
| | | <label>工单单号:</label> |
| | | <label>工单编号:</label> |
| | | <input class="inp" type="text" v-model="order.daa001" disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>产品名称:</label> |
| | | <!-- <input class="inp" type="text" v-model="order.daa003" disabled="true" />--> |
| | | <superwei-combox :candidates="DAA003List" v-model="order.daa003" @select="onDaa003Change" |
| | | class="inp" style="font-size: 20px;"></superwei-combox> |
| | | <label>刀具名称:</label> |
| | | <input class="inp" type="text" v-model="order.cutterName" disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>生产料号:</label> |
| | | <label>工单数量:</label> |
| | | <input class="inp" type="text" v-model="order.daa008" disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>开工数采:</label><!--开工数采--> |
| | | <input class="inp" type="text" v-model="order.startCjNum" disabled="true" /><!-- 修改为 startCjNum --> |
| | | </view> |
| | | </view> |
| | | <view class="form-row3"> |
| | | <view class="form-item"> |
| | | <label>产品名称:</label> |
| | | <!--<input class="inp" type="text" v-model="order.daa003" disabled="true" />--> |
| | | <superwei-combox :candidates="DAA003List" v-model="order.daa003" @select="onDaa003Change" |
| | | class="inp" style="font-size: 20px;"></superwei-combox> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>刀具编号:</label><!--刀具编号???--> |
| | | <input class="inp" type="text" v-model="order.cutterId" disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>刀具规格:</label><!--刀具规格???--> |
| | | <input class="inp" type="text" v-model="order.cutterModel" disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>当前数采:</label><!--当前数采--> |
| | | <input class="inp" type="text" v-model="order.currentCjNum" disabled="true" /><!-- 修改为 currentCjNum --> |
| | | </view> |
| | | </view> |
| | | <view class="form-row3"> |
| | | <view class="form-item"> |
| | | <label>产品编码:</label> |
| | | <input class="inp" type="text" v-model="order.daa002" disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>产品规格:</label> |
| | | <input class="inp" type="text" v-model="order.daa004" disabled="true" /> |
| | | <input class="inp" type="text" v-model="order.daa004" disabled="true" /><!-- 保留原绑定与注释,未改 --> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>成型期(s):</label> |
| | | <input class="inp" type="text" v-model="order.moldingCyc" disabled="true" /> |
| | | <label>报工数量:</label> |
| | | <input class="inp" type="text" v-model="order.daa011" disabled="true" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-row3"> |
| | | <view class="form-item"> |
| | | <label>图 号:</label> |
| | | <input class="inp" type="text" v-model="order.engineeringNo" disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>模具编号:</label> |
| | | <input class="inp" type="text" v-model="order.moldId" disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>颜 色:</label> |
| | | <input class="inp" type="text" v-model="order.colorName" disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>材 质:</label> |
| | | <input class="inp" type="text" v-model="order.material" disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>出穴数:</label> |
| | | <input class="inp" type="text" v-model="order.outItemNum" disabled="true" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-row3"> |
| | | <view class="form-item"> |
| | | <label>工单数量:</label> |
| | | <input class="inp" style="background-color: deepskyblue;" type="text" v-model="order.daa008" |
| | | disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>面板数量:</label> |
| | | <input class="inp" style="background-color: orange;" type="text" v-model="collectedAmount" |
| | | disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>已报数量:</label> |
| | | <input class="inp" style="background-color: yellow;" type="text" v-model="order.daa011" |
| | | disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>未报检数:</label> |
| | | <input class="inp" type="text" style="background-color: seagreen;" v-model="order.wjQty" |
| | | disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>设备点检:</label> |
| | | <input class="inp" type="text" v-model="order.finalResult" |
| | | disabled="true" /> |
| | | </view> |
| | | |
| | | <!-- <view class="form-item"> |
| | | <label>不良数量:</label> |
| | | <input class="inp" style="background-color: crimson;" type="text" v-model="order.blQty" |
| | | disabled="true" /> |
| | | </view> --> |
| | | </view> |
| | | <!-- <view class="form-row"> |
| | | |
| | | <view class="form-item"> |
| | | <label>未报工数量:</label> |
| | | <input class="inp" type="text" v-model="order.wjQty" |
| | | disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>工单状态:</label> |
| | | <input class="inp" type="text" v-model="order.daa018" |
| | | disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>机台编号:</label> |
| | | <input class="inp" type="text" v-model="order.machineNo" |
| | | disabled="true" /> |
| | | </view> --> |
| | | </view> |
| | | </view> |
| | | <view class="form-row1"> |
| | |
| | | <view class="section card"> |
| | | <view class="form-row"> |
| | | <view class="form-item"> |
| | | <label>最近首检时间:</label> |
| | | <input class="inp" type="text" v-model="lastInitialCheck" disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>首检结论:</label> |
| | | <input class="inp" type="text" v-model="initialConclusion" disabled="true" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-row"> |
| | | <view class="form-item"> |
| | | <label>最近巡检时间:</label> |
| | | <input class="inp" type="text" v-model="lastPatrolCheck" disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>巡检结论:</label> |
| | | <input class="inp" type="text" v-model="patrolConclusion" disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>巡检次数:</label> |
| | | <input class="inp" type="number" v-model="patrolCount" disabled="true" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 下部:品质检验 --> |
| | | <view class="section card"> |
| | | <view class="form-row"> |
| | | <view class="form-item"> |
| | | <label style="color: red;">日停机次数(时长超5分钟):</label> |
| | | <input class="inp" style="width: 40%;" type="number" v-model="todayFaultNum" disabled="true" /> |
| | | </view> |
| | |
| | | </view> |
| | | <view class="form-row"> |
| | | <view class="form-item"> |
| | | <label>生产时间开始:</label> |
| | | <label>生产开始时间:</label> |
| | | <input class="inp" type="text" v-model="startTime" disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>生产时间结束:</label> |
| | | <label>生产结束时间:</label> |
| | | <input class="inp" type="text" v-model="endTime" disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>生产时长(mi):</label> |
| | | <input class="inp" type="text" v-model="productionDuration" disabled="true" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 下部:品质检验 --> |
| | | <view class="section card"> |
| | | <view class="form-row"> |
| | | <view class="form-item"> |
| | | <label>最近首检时间:</label> |
| | | <input class="inp" type="text" v-model="lastInitialCheck" disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>首检结论:</label> |
| | | <input class="inp" type="text" v-model="initialConclusion" disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>巡检次数:</label><!--首检次数???--> |
| | | <input class="inp" type="number" v-model="patrolCount" disabled="true" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-row"> |
| | | <view class="form-item"> |
| | | <label>最近巡检时间:</label> |
| | | <input class="inp" type="text" v-model="lastPatrolCheck" disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>巡检结论:</label> |
| | | <input class="inp" type="text" v-model="patrolConclusion" disabled="true" /> |
| | | </view> |
| | | <view class="form-item"> |
| | | <label>巡检次数:</label> |
| | | <input class="inp" type="number" v-model="patrolCount" disabled="true" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | }; |
| | | }, |
| | | created() { |
| | | |
| | | this.fetchData(true); |
| | | |
| | | this.sumbit(); |
| | | |
| | | this.init(); |
| | | |
| | | }, |
| | | mounted() { |
| | | this.fetchData(false); // Initial fetch |
| | |
| | | clearInterval(this.timer); // Clear the timer on component destruction |
| | | }, |
| | | methods: { |
| | | |
| | | init() { |
| | | this.$post({ |
| | | url: "/MesOrderSta/init", |
| | |
| | | }); |
| | | }, |
| | | |
| | | |
| | | onDaa003Change(event) { |
| | | |
| | | let orde = this.lineList[this.DAA003List.indexOf(event)]; |
| | | |
| | | this.orderId = orde.id; |
| | | this.orderNo = orde.daa001; |
| | | |
| | | //切换为新的id |
| | | uni.setStorageSync('machine', this.machineNo); |
| | | uni.setStorageSync('orderId', this.orderId); |
| | | uni.setStorageSync('orderNo', this.orderNo); |
| | | |
| | | this.fetchData(false); |
| | | |
| | | this.sumbit(); |
| | | }, |
| | | sumbit() { |
| | | |
| | | this.$post({ |
| | | url: "/MesOrderSta/FindByOrderNo", |
| | | data: { |
| | |
| | | } |
| | | }).then(res => { |
| | | let statusForm = res.data.tbBillList; |
| | | |
| | | this.startTime = res.data.tbBillList.startTime; |
| | | this.endTime = res.data.tbBillList.endTime; |
| | | |
| | | this.productionDuration = "0m"; |
| | | |
| | | if (this.startTime) { |
| | | |
| | | let date1 = new Date(this.startTime); |
| | | let date2 = new Date(); |
| | | if (this.endTime) { |
| | | date2 = new Date(this.endTime); |
| | | } |
| | | |
| | | // 计算两个日期之间的差异(以毫秒为单位) |
| | | let differenceInMilliseconds = date2 - date1; |
| | | |
| | | this.productionDuration = (differenceInMilliseconds / 60000).toFixed(2); |
| | | } |
| | | |
| | | |
| | | // this.$post({ |
| | | // url: "/MesOrderSta/Binding", |
| | |
| | | // } |
| | | // } |
| | | |
| | | |
| | | if (!this.orderId && !this.orderNo) { |
| | | return; |
| | | } |
| | | |
| | | this.getOrderById(); |
| | | this.getSJByOrder(); |
| | | this.getXJByOrder(); |
| | | |
| | | if (flag) { |
| | | this.$post({ |
| | | url: "/Womdaa/GetWomdaasByShow", |
| | |
| | | orderNo: this.orderNo |
| | | } |
| | | }).then(res => { |
| | | |
| | | if (res.data.tbBillList == null) { |
| | | this.$showMessage("工单不存在或者未开工,请检查"); |
| | | // 保证order为对象,避免模板报错 |
| | | this.order = { |
| | | daa001: '', |
| | | moldId: '', |
| | | daa008: '', |
| | | daa004: '', |
| | | daa003: '', |
| | | daa002: '', |
| | | daa005: '', |
| | | daa011: '', |
| | | daa018: '', |
| | | machineNo: '', |
| | | engineeringNo: '', |
| | | todayOutput: 0, |
| | | todayRunTime: '', |
| | | todayFaultNum: 0, |
| | | cutterId, //刀具代码 |
| | | cutterName, //刀具名称 |
| | | cutterModel, //刀具规格 |
| | | jdl: '', |
| | | startCjNum: 0, // 新增兜底字段 保留其它注释 |
| | | currentCjNum: 0 // 新增兜底字段 |
| | | }; |
| | | return; |
| | | } |
| | | |
| | | this.order = res.data.tbBillList; |
| | | // 兼容后端大小写(如果后端返回 StartCjNum/CurrentCjNum) |
| | | this.order.startCjNum = this.order.startCjNum ?? this.order.StartCjNum ?? 0; // 不删除原有注释行 |
| | | this.order.currentCjNum = this.order.currentCjNum ?? this.order.CurrentCjNum ?? 0; // 不删除原有注释行 |
| | | |
| | | uni.setStorageSync('engineeringNo', this.order.engineeringNo); |
| | | |
| | | this.orderStatus = this.order.daa018; |
| | | this.collectedAmount = this.order.todayOutput; |
| | | |
| | | if (!this.order.todayOutput) { |
| | | this.collectedAmount = 0; |
| | | } |
| | | |
| | | this.todayRunTime = this.order.todayRunTime; |
| | | if (!this.order.todayRunTime) { |
| | | this.todayRunTime = "0"; |
| | | } |
| | | |
| | | //this.productionDuration = (this.order.todayOnlineTime / 3600).toFixed(2) + "h"; |
| | | this.todayFaultNum = this.order.todayFaultNum; |
| | | this.utilizationRate = this.order.jdl + '%'; |
| | | // this.startTime = this.order.workStartDate; |
| | | // this.endTime = this.order.workEndDate; |
| | | let title = this.machineNo + '号机台 工单号' + this.order.daa001 + ',已采集' + this.collectedAmount; |
| | | let title = this.machineNo + '号机台 工单号' + this.order.daa001 + ',当前数采' + this.order.currentCjNum; // 标题中使用 currentCjNum |
| | | this.setTitle(title); |
| | | }) |
| | | }, |
| | |
| | | margin-bottom: 20px; |
| | | } |
| | | |
| | | .refresh-btn:hover { |
| | | background-color: #00A2E9; |
| | | } |
| | | .refresh-btn:hover { |
| | | background-color: #00A2E9; |
| | | } |
| | | |
| | | .form-row { |
| | | display: flex; |
| | |
| | | margin-top: -13px; |
| | | line-height: 48px; |
| | | align-content: flex-start; |
| | | |
| | | } |
| | | |
| | | .form-row3 { |