111
Administrator
2025-11-06 67fcba3d227790dfc9e3a50e35be0cde821c58e3
pages/index.vue
@@ -1,55 +1,46 @@
<template>
<template>
   <view class="page-container">
      <!-- 顶部操作条统一展示机台信息与快捷操作 -->
      <view class="top-bar">
         <view class="top-bar__title">浜х嚎鎵ц鎺у埗鍙?/view>
         <view class="top-bar__actions inline-gap">
            <view class="device-chip">
               <text class="device-chip__label">褰撳墠鏈哄彴</text>
               <text class="device-chip__value">{{ machineName || '鏈粦瀹? }}</text>
            </view>
            <button class="btn btn--secondary" @click="refresh">鍒锋柊</button>
         </view>
      </view>
      <!-- 横向标签导航,保持各业务页样式一致 -->
      <view class="tab-strip">
         <view class="tab-strip__item" :class="{ 'tab-strip__item--active': currentTab === 7 }" @click="changeTab(7)">
   <view>
      <view class="tab-bar">
         <view class="tab-item" :class="{ active: currentTab === 7 }" @click="changeTab(7)">
            工单选择
         </view>
         <view class="tab-strip__item" :class="{ 'tab-strip__item--active': currentTab === 0 }" @click="changeTab(0)">
         <view class="tab-item" :class="{ active: currentTab === 0 }" @click="changeTab(0)">
            主界面
         </view>
         <view class="tab-strip__item" :class="{ 'tab-strip__item--active': currentTab === 3 }" @click="changeTab(3)">
         <view class="tab-item" :class="{ active: currentTab === 3 }" @click="changeTab(3)">
            调机送检
         </view>
         <view class="tab-strip__item" :class="{ 'tab-strip__item--active': currentTab === 2 }" @click="changeTab(2)">
         <view class="tab-item" :class="{ active: currentTab === 2 }" @click="changeTab(2)">
            刀具管理
         </view>
         <view class="tab-strip__item" :class="{ 'tab-strip__item--active': currentTab === 4 }" @click="changeTab(4)">
         <view class="tab-item" :class="{ active: currentTab === 4 }" @click="changeTab(4)">
            生产报工
         </view>
         <!-- <view class="tab-strip__item" :class="{ 'tab-strip__item--active': currentTab === 1 }" @click="changeTab(1)">
         <!-- <view class="tab-item" :class="{ active: currentTab === 1 }" @click="changeTab(1)">
            开工完工
         </view> -->
         <view class="tab-strip__item" :class="{ 'tab-strip__item--active': currentTab === 5 }" @click="changeTab(5)">
         <view class="tab-item" :class="{ active: currentTab === 5 }" @click="changeTab(5)">
            e-SOP
         </view>
         <view class="tab-strip__item" :class="{ 'tab-strip__item--active': currentTab === 6 }" @click="changeTab(6)">
         <view class="tab-item" :class="{ active: currentTab === 6 }" @click="changeTab(6)">
            工艺参数
         </view>
         <view class="tab-strip__item" :class="{ 'tab-strip__item--active': currentTab === 9 }" @click="changeTab(9)">
         <view class="tab-item" :class="{ active: currentTab === 9 }" @click="changeTab(9)">
            设备点检
         </view>
         <!-- <view class="tab-strip__item" :class="{ 'tab-strip__item--active': currentTab === 8 }" @click="changeTab(8)">
         <!-- <view class="tab-item" :class="{ active: currentTab === 8 }" @click="changeTab(8)">
            打印机设置
         </view> -->
      </view>
      <view class="font"></view>
      <scroll-view class="page-scroll" scroll-y="true">
         <view v-if="currentTab === 7" class="tab-content content-panel">
      <scroll-view class="content">
         <view v-if="currentTab === 7" class="tab-content">
            <view class="content">
               <view class="top-right">
                  <button class="refresh-btn" @click="refresh">刷新</button>
               </view>
               <!--<view>
                  <h4>一台机台只能选择一条工单(多选默认为最后一条)</h4>
               </view>-->
@@ -66,61 +57,61 @@
                  <view class="form-row">
                     <view>
                        <label style="float: left;font-family: fantasy;font-size: 33px;margin-top: 20px;">第一步选择工单:</label>
                        <button class="btn btn--primary choose-order-btn" @click="isShowTab">选择工单</button>
                        <button class="print-btn" @click="isShowTab">选择工单</button>
                     </view>
                  </view>
               </view>
               <!--          &lt;!&ndash; 中部:运行状态-->
               <view class="section card">
                  <uni-table class="table" border stripe emptyText="暂无更多数据" @selection-change="selectionChange">
                     <uni-tr class="table__head">
                        <uni-th align="center" class="th table__cell" style="color: #FFFFFF">工序</uni-th>
                        <uni-th align="center" class="th table__cell" style="color: #FFFFFF">工单号/uni-th>
                        <uni-th align="center" class="th table__cell" style="color: #FFFFFF">产品编码</uni-th>
                        <uni-th align="center" class="th table__cell" style="color: #FFFFFF">产品名称</uni-th>
                        <uni-th align="center" class="th table__cell" style="color: #FFFFFF">规格</uni-th>
                        <uni-th align="center" class="th table__cell" style="color: #FFFFFF;width: 100px;">已生产数量</uni-th>
                        <uni-th align="center" class="th table__cell" style="color: #FFFFFF;width: 100px;">未生产数量</uni-th>
                        <uni-th align="center" class="th table__cell" style="color: #FFFFFF;width: 100px;">派工数量</uni-th>
                        <uni-th align="center" class="th table__cell" style="color: #FFFFFF;width: 100px;">工单数量</uni-th>
                        <uni-th align="center" class="th table__cell" style="color: #FFFFFF;width: 100px;">工单状态</uni-th>
                        <uni-th align="center" class="th table__cell" style="color: #FFFFFF;width: 100px;">报工人</uni-th>
                        <uni-th align="center" class="th table__cell" style="color: #FFFFFF">选择</uni-th>
                  <uni-table border stripe emptyText="暂无更多数据" @selection-change="selectionChange">
                     <uni-tr>
                        <uni-th align="center" class="th" style="color: #FFFFFF">工序</uni-th>
                        <uni-th align="center" class="th" style="color: #FFFFFF">工单号</uni-th>
                        <uni-th align="center" class="th" style="color: #FFFFFF">产品编码</uni-th>
                        <uni-th align="center" class="th" style="color: #FFFFFF">产品名称</uni-th>
                        <uni-th align="center" class="th" style="color: #FFFFFF">规格</uni-th>
                        <uni-th align="center" class="th" style="color: #FFFFFF;width: 100px;">已生产数量</uni-th>
                        <uni-th align="center" class="th" style="color: #FFFFFF;width: 100px;">未生产数量</uni-th>
                        <uni-th align="center" class="th" style="color: #FFFFFF;width: 100px;">派工数量</uni-th>
                        <uni-th align="center" class="th" style="color: #FFFFFF;width: 100px;">工单数量</uni-th>
                        <uni-th align="center" class="th" style="color: #FFFFFF;width: 100px;">工单状态</uni-th>
                        <uni-th align="center" class="th" style="color: #FFFFFF;width: 100px;">报工人</uni-th>
                        <uni-th align="center" class="th" style="color: #FFFFFF">选择</uni-th>
                     </uni-tr>
                     <uni-tr class="table__row" v-for="(item, index) in isShowTableData" :key="index">
                        <uni-td align="center" class="table__cell">
                     <uni-tr v-for="(item, index) in isShowTableData" :key="index">
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.procName" /><!--工序-->
                        </uni-td>
                        <uni-td align="center" class="table__cell">
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa001" />
                        </uni-td>
                        <uni-td align="center" class="table__cell">
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa002" />
                        </uni-td>
                        <uni-td align="center" class="table__cell">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa003" />
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa003" /><!--产品名称-->
                        </uni-td>
                        <uni-td align="center" class="table__cell">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa004" />
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa004" /><!--规格-->
                        </uni-td>
                        <uni-td align="center" class="table__cell">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa011" />
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa011" /><!--已生产数量-->
                        </uni-td>
                        <uni-td align="center" class="table__cell">
                           <input class="form-input" disabled="true" type="text" :value="(item.daa008 || 0) - (item.daa011 || 0)" />
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" :value="(item.daa008 || 0) - (item.daa011 || 0)" /><!--未生产数量-->
                        </uni-td>
                        <uni-td align="center" class="table__cell">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa008" />
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa008" /><!--派工数量-->
                        </uni-td>
                        <uni-td align="center" class="table__cell">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa008" />
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa008" /><!--工单数量-->
                        </uni-td>
                        <uni-td align="center" class="table__cell">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa018" />
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa018" /><!--工单状态-->
                        </uni-td>
                        <uni-td align="center" class="table__cell">
                           <input class="form-input" disabled="true" type="text" v-model="item.staffName" />
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.staffName" /><!--报工人-->
                        </uni-td>
                        <uni-td>
                           <view class="uni-group">
@@ -145,36 +136,44 @@
               </view>
            </view>
         </view>
         <view v-if="currentTab === 0" class="tab-content content-panel">
         <view v-if="currentTab === 0" class="tab-content">
            <WorkOrder :orderId="orderId" :orderNo="selectedOrder" :machineNo="machineNo"
                     :deviceNumber="machineName" />
         </view>
         <view v-if="currentTab === 1" class="tab-content content-panel">
         <view v-if="currentTab === 1" class="tab-content">
            <!--        &lt;!&ndash; 调用 WorkOrderStatus 组件 &ndash;&gt;-->
            <WorkOrderStatus :orderId="orderId" :orderNo="selectedOrder" :machineNo="machineNo" />
         </view>
         <view v-if="currentTab === 2" class="tab-content content-panel">
         <view v-if="currentTab === 2" class="tab-content">
            <!--        &lt;!&ndash; 调用 mold 组件 &ndash;&gt;-->
            <mold :orderId="orderId" :orderNo="selectedOrder" :machineNo="machineNo" />
         </view>
         <view v-if="currentTab === 3" class="tab-content content-panel">
         <view v-if="currentTab === 3" class="tab-content">
            <!--        &lt;!&ndash; 调用 mold 组件 &ndash;&gt;-->
            <machine :orderId="orderId" :orderNo="selectedOrder" :machineNo="machineNo" />
         </view>
         <view v-if="currentTab === 4" class="tab-content content-panel">
         <view v-if="currentTab === 4" class="tab-content">
            <!--  调用 mold 组件 -->
            <WorkOrderPrint :orderId="orderId" :orderNo="selectedOrder" :machineNo="machineNo" />
         </view>
         <view v-if="currentTab === 8" class="tab-content content-panel">
         <view v-if="currentTab === 8" class="tab-content">
            <!-- 调用 mold 组件 -->
            <PrintInit :orderId="orderId" :orderNo="selectedOrder" :machineNo="machineNo" />
         </view>
         <view v-if="currentTab === 5" class="tab-content content-panel">
         <view v-if="currentTab === 5" class="tab-content">
            <PDFShow :orderId="orderId" :orderNo="selectedOrder" :machineNo="machineNo" />
         </view>
         <view v-if="currentTab === 6" class="tab-content content-panel">
         <view v-if="currentTab === 6" class="tab-content">
            <Technology :orderId="orderId" :orderNo="selectedOrder" :machineNo="machineNo" />
         </view>
         <view v-if="currentTab === 9" class="tab-content content-panel">
         <view v-if="currentTab === 9" class="tab-content">
            <!-- 设备点检视图 -->
            <EquipmentInspection :machineNo="machineNo" />
         </view>
      </scroll-view>
      <!-- 弹窗下拉框只显示工单状态 -->
      <view v-if="isShow" class="overlay">
         <view class="popup">
            <view class="form-row">
@@ -192,52 +191,52 @@
                  <view class="section card">
                     <uni-table ref="table" type="selection" border stripe emptyText="暂无更多数据"
                              @selection-change="selectionChange">
                        <uni-tr class="table__head">
                           <uni-th align="center" class="th table__cell" style="color: #FFFFFF">工序</uni-th>
                           <uni-th align="center" class="th table__cell" style="color: #FFFFFF">工单号</uni-th>
                           <uni-th align="center" class="th table__cell" style="color: #FFFFFF">产品编码</uni-th>
                           <uni-th align="center" class="th table__cell" style="color: #FFFFFF">产品名称</uni-th>
                           <uni-th align="center" class="th table__cell" style="color: #FFFFFF">规格</uni-th>
                           <uni-th align="center" class="th table__cell" style="color: #FFFFFF;width: 100px;">已生产数量</uni-th>
                           <uni-th align="center" class="th table__cell" style="color: #FFFFFF;width: 100px;">未生产数量</uni-th>
                           <uni-th align="center" class="th table__cell" style="color: #FFFFFF;width: 100px;">派工数量</uni-th>
                           <uni-th align="center" class="th table__cell" style="color: #FFFFFF;width: 100px;">工单数量</uni-th>
                           <uni-th align="center" class="th table__cell" style="color: #FFFFFF;width: 100px;">工单状态</uni-th>
                           <uni-th align="center" class="th table__cell" style="color: #FFFFFF;width: 100px;">报工人</uni-th>
                        <uni-tr>
                           <uni-th align="center" class="th" style="color: #FFFFFF">工序</uni-th>
                           <uni-th align="center" class="th" style="color: #FFFFFF">工单号</uni-th>
                           <uni-th align="center" class="th" style="color: #FFFFFF">产品编码</uni-th>
                           <uni-th align="center" class="th" style="color: #FFFFFF">产品名称</uni-th>
                           <uni-th align="center" class="th" style="color: #FFFFFF">规格</uni-th>
                           <uni-th align="center" class="th" style="color: #FFFFFF;width: 100px;">已生产数量</uni-th>
                           <uni-th align="center" class="th" style="color: #FFFFFF;width: 100px;">未生产数量</uni-th>
                           <uni-th align="center" class="th" style="color: #FFFFFF;width: 100px;">派工数量</uni-th>
                           <uni-th align="center" class="th" style="color: #FFFFFF;width: 100px;">工单数量</uni-th>
                           <uni-th align="center" class="th" style="color: #FFFFFF;width: 100px;">工单状态</uni-th>
                           <uni-th align="center" class="th" style="color: #FFFFFF;width: 100px;">报工人</uni-th>
                        </uni-tr>
                        <uni-tr class="table__row" v-for="(item, index) in tableData" :key="index">
                           <uni-td align="center" class="table__cell">
                              <input class="form-input" disabled="true" type="text" v-model="item.procName" />
                        <uni-tr v-for="(item, index) in tableData" :key="index">
                           <uni-td align="center">
                              <input class="form-input" disabled="true" type="text" v-model="item.procName" /><!--工序-->
                           </uni-td>
                           <uni-td align="center" class="table__cell">
                           <uni-td align="center">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa001" />
                           </uni-td>
                           <uni-td align="center" class="table__cell">
                           <uni-td align="center">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa002" />
                           </uni-td>
                           <uni-td align="center" class="table__cell">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa003" />
                           <uni-td align="center">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa003" /><!--产品名称-->
                           </uni-td>
                           <uni-td align="center" class="table__cell">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa004" />
                           <uni-td align="center">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa004" /><!--规格-->
                           </uni-td>
                           <uni-td align="center" class="table__cell">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa011" />
                           <uni-td align="center">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa011" /><!--已生产数量-->
                           </uni-td>
                           <uni-td align="center" class="table__cell">
                              <input class="form-input" disabled="true" type="text" :value="(item.daa008 || 0) - (item.daa011 || 0)" />
                           <uni-td align="center">
                              <input class="form-input" disabled="true" type="text" :value="(item.daa008 || 0) - (item.daa011 || 0)" /><!--未生产数量-->
                           </uni-td>
                           <uni-td align="center" class="table__cell">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa008" />
                           <uni-td align="center">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa008" /><!--派工数量-->
                           </uni-td>
                           <uni-td align="center" class="table__cell">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa008" />
                           <uni-td align="center">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa008" /><!--工单数量-->
                           </uni-td>
                           <uni-td align="center" class="table__cell">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa018" />
                           <uni-td align="center">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa018" /><!--工单状态-->
                           </uni-td>
                           <uni-td align="center" class="table__cell">
                              <input class="form-input" disabled="true" type="text" v-model="item.staffName" />
                           <uni-td align="center">
                              <input class="form-input" disabled="true" type="text" v-model="item.staffName" /><!--报工人-->
                           </uni-td>
                        </uni-tr>
                     </uni-table>
@@ -256,7 +255,7 @@
</template>
<script>
import WorkOrderStatus from '../components/WorkOrderStatus.vue';
import WorkOrderStatus from '../components/WorkOrderStatus.vue'; // 确保路径正确
import UniTable from "../uni_modules/uni-table/components/uni-table/uni-table.vue";
import Mold from "../components/mold.vue";
import Machine from "../components/machine.vue";
@@ -406,7 +405,7 @@
            this.getWomdaaIsShow();
         },
         getPrintInfo() {
            var mac = "ac:f4:2c:20:0d:b4";
            var mac = "";
            
            mac = "74:24:ca:4f:b7:9b";
            this.$post({
@@ -426,6 +425,7 @@
               this.getWomdaaIsShow();
            });
            return;
            
            
             if (plus.os.name == "Android") {
@@ -834,67 +834,49 @@
      flex-direction: column;
   }
   /* 顶部机台信息胶囊 */
   .device-chip {
   .tab-bar {
      display: flex;
      flex-direction: column;
      justify-content: center;
      min-width: 180px;
      padding: 8px 16px;
      border-radius: 12px;
      background: rgba(30, 58, 95, 0.12);
      border: 1px solid rgba(30, 58, 95, 0.35);
      color: #1e3a5f;
      justify-content: space-around;
      background-color: #f5f5f5;
      padding: 1vh;
      padding-top: 30px;
      border-bottom: 1px solid #ccc;
   }
   .device-chip__label {
      font-size: 12px;
      letter-spacing: 0.08em;
      color: rgba(27, 36, 51, 0.65);
   .top-right {
      position: absolute;
      top: 10px;
      right: 50px;
      z-index: 1000;
   }
   .device-chip__value {
      font-size: 18px;
      font-weight: 600;
   .refresh-btn {
      padding: 10px;
      background-color: #00A2E9;
      color: white;
      border: none;
      font-size: 1.5vw;
      border-radius: 5px;
   }
   /* 顶部导航标签 */
   .tab-strip {
      display: flex;
      flex-wrap: wrap;
      gap: 16px;
      margin: 24px 0;
      padding: 16px;
      background: rgba(255, 255, 255, 0.9);
      border-radius: 16px;
      border: 1px solid rgba(30, 58, 95, 0.12);
      box-shadow: 0 20px 50px rgba(15, 34, 58, 0.12);
   }
   .tab-strip__item {
   .tab-item {
      flex: 1;
      min-width: 140px;
      text-align: center;
      padding: 16px 12px;
      border-radius: 12px;
      background: rgba(30, 58, 95, 0.05);
      color: #1e3a5f;
      margin-right: 0.5vw;
      padding: 1vh;
      border-radius: 0.5vw;
      background-color: #fff;
      color: #007aff;
      cursor: pointer;
      font-size: 18px;
      font-weight: 600;
      letter-spacing: 0.04em;
      transition: all 0.2s ease;
      font-size: 1.8vw;
      /* Increased font size */
      transition: background-color 0.3s, color 0.3s;
   }
   .tab-strip__item:hover {
      background: rgba(27, 127, 233, 0.1);
      box-shadow: inset 0 0 0 1px rgba(27, 127, 233, 0.4);
   }
   .tab-strip__item--active {
      background: linear-gradient(135deg, #1e3a5f 0%, #0f223a 100%);
   .tab-item.active {
      background-color: #007aff;
      color: #fff;
      box-shadow: 0 12px 35px rgba(15, 34, 58, 0.35);
      font-weight: bold;
   }
   .content {
@@ -972,12 +954,21 @@
      /* Increased font size within popups */
   }
   .choose-order-btn {
      margin-left: 12px;
   .print-btn {
      float: left;
      margin-top: 4px;
      margin-left: 10px;
      text-align: center;
      font-size: 100%;
      color: black;
      padding: 0px 90px;
      border: 2px solid #ccc;
      cursor: pointer;
      border-radius: 0.8vw;
   }
   @media screen and (max-width: 1920px) {
      .tab-strip__item {
      .tab-item {
         font-size: 1.6vw;
      }