快乐的昕的电脑
13 小时以前 2c7a7d3eaf692fdfd04a30b42da2d94848cdc89a
pages/index.vue
@@ -14,6 +14,9 @@
         <view class="tab-item" :class="{ active: currentTab === 3 }" @click="changeTab(3)">
            调机送检
         </view>
         <view class="tab-item" :class="{ active: currentTab === 10 }" @click="changeTab(10)">
            上下刀/首检单记录
         </view>
         <view class="tab-item" :class="{ active: currentTab === 4 }" @click="changeTab(4)">
            生产报工
         </view>
@@ -38,102 +41,96 @@
      <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>
               <!--<view>
                  <h4>一台机台只能选择一条工单(多选默认为最后一条)</h4>
               </view>
               </view>-->
               <view class="section top-section">
                  <!--显示当前机台-->
                  <view class="form-row">
                     <view>
                        <input v-model="machineName"
                              disabled="true"
                              type="text"
                              class="machine-name-box" />
                  <view class="form-row align-row">
                     <input v-model="machineName"
                           disabled="true"
                           type="text"
                           class="machine-name-box" />
                     <view class="form-group">
                        <label style="float: left;margin-top: 18px;font-size: 22px;">点击按钮筛选工单状态:</label>
                        <superwei-combox :candidates="engineeringNoMapList" placeholder="请选择" v-model="engineeringNo"
                                     @select="onEngineeringNoChange" class="picker"
                                     style="padding: 7px 46px;width: 650px;margin-right: 20px;"></superwei-combox>
                     </view>
                  </view>
                  <view class="form-row">
                     <view>
                        <label style="float: left;font-family: fantasy;font-size: 33px;margin-top: 20px;">第一步选择工单:</label>
                        <button class="print-btn" @click="isShowTab">选择工单</button>
                     <view class="top-right">
                        <button class="refresh-btn" @click="refresh">刷新</button>
                     </view>
                  </view>
               </view>
               <!--          &lt;!&ndash; 中部:运行状态-->
               <!-- 工单选择表格 -->
               <view class="section card">
                  <uni-table border stripe emptyText="暂无更多数据" @selection-change="selectionChange">
                  <uni-table border stripe emptyText="暂无更多数据">
                     <uni-tr>
                        <uni-th align="center" class="th" style="color: #FFFFFF; width: 100px;">工序</uni-th>
                        <uni-th align="center" class="th" style="color: #FFFFFF; width: 200px;">工单号</uni-th>
                        <uni-th align="center" class="th" style="color: #FFFFFF; width: 150px;">产品编码</uni-th>
                        <uni-th align="center" class="th" style="color: #FFFFFF; width: 260px;">产品名称</uni-th>
                        <uni-th align="center" class="th" style="color: #FFFFFF; width: 200px;">规格</uni-th>
                        <uni-th align="center" class="th" style="color: #FFFFFF; width: 75px;">已生产数量</uni-th>
                        <uni-th align="center" class="th" style="color: #FFFFFF; width: 75px;">未生产数量</uni-th>
                        <uni-th align="center" class="th" style="color: #FFFFFF; width: 75px;">派工数量</uni-th>
                        <!--<uni-th align="center" class="th" style="color: #FFFFFF; width: 70px;">工单数量</uni-th>-->
                        <uni-th align="center" class="th" style="color: #FFFFFF; width: 90px;">工单状态</uni-th>
                        <uni-th align="center" class="th" style="color: #FFFFFF; width: 90px;">报工人</uni-th>
                        <uni-th align="center" class="th" style="color: #FFFFFF; width: 90px;">选择</uni-th>
                        <uni-th align="center" class="th" style="width: 220px;">操作</uni-th>
                        <uni-th align="center" class="th" style="width: 100px;">工序</uni-th>
                        <uni-th align="center" class="th" style="width: 200px;">工单号</uni-th>
                        <uni-th align="center" class="th" style="width: 150px;">产品编码</uni-th>
                        <uni-th align="center" class="th" style="width: 240px;">产品名称</uni-th>
                        <uni-th align="center" class="th" style="width: 200px;">规格</uni-th>
                        <uni-th align="center" class="th" style="width: 150px;">已生产数量</uni-th>
                        <uni-th align="center" class="th" style="width: 150px;">未生产数量</uni-th>
                        <uni-th align="center" class="th" style="width: 150px;">派工数量</uni-th>
                        <uni-th align="center" class="th" style="width: 150px;">工单数量</uni-th>
                        <uni-th align="center" class="th" style="width: 90px;">工单状态</uni-th>
                        <uni-th align="center" class="th" style="width: 90px;">报工人</uni-th>
                     </uni-tr>
                     <uni-tr v-for="(item, index) in isShowTableData" :key="index">
                     <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">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa001" /><!--工单号-->
                        </uni-td>
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa002" /><!--产品编码-->
                        </uni-td>
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa003" /><!--产品名称-->
                        </uni-td>
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa004" /><!--规格-->
                        </uni-td>
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa011" /><!--已生产数量-->
                        </uni-td>
                        <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">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa008" /><!--派工数量-->
                        </uni-td>
                        <!--<uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa008" />--><!--工单数量-->
                        <!--</uni-td>-->
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa018" /><!--工单状态-->
                        </uni-td>
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.staffName" /><!--报工人-->
                        </uni-td>
                        <uni-td>
                           <view class="uni-group">
                              <button class="select-btn" type="default" @click="toDetail(item)">
                                 选择
                           <view class="operation-btns">
                              <button
                                 :class="getStartBtnClass(item)"
                                 :disabled="isStartBtnDisabled(item)"
                                 @click="handleStartWork(item)">
                                 {{ getStartBtnText(item) }}
                              </button>
                              <button
                                 class="pause-btn"
                                 :disabled="isPauseBtnDisabled(item)"
                                 @click="handlePauseWork(item)">
                                 暂停
                              </button>
                           </view>
                        </uni-td>
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.procName" />
                        </uni-td>
                        <uni-td align="center">
                           <div class="form-input">{{ item.daa001 }}</div>
                        </uni-td>
                        <uni-td align="center">
                           <div class="form-input">{{ item.daa002 }}</div>
                        </uni-td>
                        <uni-td align="center">
                           <div class="form-input">{{ item.daa003 }}</div>
                        </uni-td>
                        <uni-td align="center">
                           <div class="form-input">{{ item.daa004 }}</div>
                        </uni-td>
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa011" />
                        </uni-td>
                        <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">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa008" />
                        </uni-td>
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa008" />
                        </uni-td>
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.daa018" />
                        </uni-td>
                        <uni-td align="center">
                           <input class="form-input" disabled="true" type="text" v-model="item.staffName" />
                        </uni-td>
                     </uni-tr>
                  </uni-table>
               </view>
               <view class="bottom-section">
                  <button class="cancel-btn" @click="cancel">清空重选</button>
               </view>
               <view>
                  <!--<text style="color: red;">
                  说明:只能同时开工一个工单。选择完成,点击保存选择。系统保留选中的工单。
                  如果要重选,点击清空重选功能。
               </text>-->
               </view>
            </view>
         </view>
@@ -152,6 +149,10 @@
         <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 === 10" class="tab-content">
            <!-- 调用 moldRecord 组件 -->
            <MoldRecord :orderId="orderId" :orderNo="selectedOrder" :machineNo="machineNo" />
         </view>
         <view v-if="currentTab === 4" class="tab-content">
            <!--  调用 mold 组件 -->
@@ -179,7 +180,7 @@
         <view class="popup">
            <view class="form-row">
               <view style="display: flex; align-items: center;">
                  <label style="float: left;margin-top: 18px;">点击按钮筛选工单状态:</label>
                  <label style="float: left;margin-top: 18px;font-size: 22px;">点击按钮筛选工单状态:</label>
                  <superwei-combox :candidates="engineeringNoMapList" placeholder="请选择" v-model="engineeringNo"
                               @select="onEngineeringNoChange" class="picker"
                               style="padding: 7px 46px;width: 650px;"></superwei-combox>
@@ -187,25 +188,25 @@
               </view>
            </view>
            <div style="height: 400px; overflow: auto;">
            <div style="height: 450px; overflow: auto;"> <!-- 调整高度为380px,为底部按钮留出更多空间 -->
               <table>
                  <view class="section card">
                     <uni-table ref="table" type="selection" border stripe emptyText="暂无更多数据"
                              class="large-selection-table" @selection-change="selectionChange">
                        <uni-tr>
                           <uni-th align="center" class="th" style="color: #FFFFFF; width: 100px;">工序</uni-th>
                           <uni-th align="center" class="th" style="color: #FFFFFF; width: 120px;">工单号</uni-th>
                           <uni-th align="center" class="th" style="color: #FFFFFF; width: 120px;">产品编码</uni-th>
                           <uni-th align="center" class="th" style="color: #FFFFFF; width: 260px;">产品名称</uni-th>
                           <uni-th align="center" class="th" style="color: #FFFFFF; width: 260px;">规格</uni-th>
                           <uni-th align="center" class="th" style="color: #FFFFFF; width: 80px;">已生产数量</uni-th>
                           <uni-th align="center" class="th" style="color: #FFFFFF; width: 80px;">未生产数量</uni-th>
                           <uni-th align="center" class="th" style="color: #FFFFFF; width: 80px;">派工数量</uni-th>
                           <uni-th align="center" class="th" style="color: #FFFFFF; width: 80px;">工单数量</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="width: 100px;">工序</uni-th>
                           <uni-th align="center" class="th" style="width: 200px;">工单号</uni-th>
                           <uni-th align="center" class="th" style="width: 150px;">产品编码</uni-th>
                           <uni-th align="center" class="th" style="width: 240px;">产品名称</uni-th>
                           <uni-th align="center" class="th" style="width: 200px;">规格</uni-th>
                           <uni-th align="center" class="th" style="width: 150px;">已生产数量</uni-th>
                           <uni-th align="center" class="th" style="width: 150px;">未生产数量</uni-th>
                           <uni-th align="center" class="th" style="width: 150px;">派工数量</uni-th>
                           <uni-th align="center" class="th" style="width: 150px;">工单数量</uni-th>
                           <uni-th align="center" class="th" style="width: 90px;">工单状态</uni-th>
                           <uni-th align="center" class="th" style="width: 90px;">报工人</uni-th>
<!--                            <uni-th align="center" class="th" style="width: 126px;">选择</uni-th> -->
                        </uni-tr>
                        <uni-tr v-for="(item, index) in tableData"
                              :key="index"
@@ -216,16 +217,16 @@
                              <input class="form-input" disabled="true" type="text" v-model="item.procName" /><!--工序-->
                           </uni-td>
                           <uni-td align="center">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa001" />
                              <div class="form-input">{{ item.daa001 }}</div>
                           </uni-td>
                           <uni-td align="center">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa002" />
                              <div class="form-input">{{ item.daa002 }}</div>
                           </uni-td>
                           <uni-td align="center">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa003" /><!--产品名称-->
                              <div class="form-input">{{ item.daa003 }}</div>
                           </uni-td>
                           <uni-td align="center">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa004" /><!--规格-->
                              <div class="form-input">{{ item.daa004 }}</div><!--规格-->
                           </uni-td>
                           <uni-td align="center">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa011" /><!--已生产数量-->
@@ -237,13 +238,20 @@
                              <input class="form-input" disabled="true" type="text" v-model="item.daa008" /><!--派工数量-->
                           </uni-td>
                           <uni-td align="center">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa008" /><!--工单数量-->
                                  <input class="form-input" disabled="true" type="text" v-model="item.daa008" /><!--工单数量-->
                           </uni-td>
                           <uni-td align="center">
                              <input class="form-input" disabled="true" type="text" v-model="item.daa018" /><!--工单状态-->
                           </uni-td>
                           <uni-td align="center">
                              <input class="form-input" disabled="true" type="text" v-model="item.staffName" /><!--报工人-->
                           </uni-td>
                           <uni-td>
<!--                               <view class="uni-group">
                                 <button class="select-btn" type="default" @click="toDetail(item)">
                                    转到主界面
                                 </button>
                              </view> -->
                           </uni-td>
                        </uni-tr>
                     </uni-table>
@@ -273,6 +281,7 @@
import PrintInit from "../components/PrintInit.vue";
import PrintTest from "../components/PrintTest.vue";
import EquipmentInspection from "../components/EquipmentInspection.vue";
import MoldRecord from "../pages/moldRecord.vue";
   export default {
      components: {
@@ -286,7 +295,8 @@
         PDFShow,
         PrintInit,
         PrintTest,
         EquipmentInspection
         EquipmentInspection,
         MoldRecord
      },
      data() {
         return {
@@ -317,6 +327,14 @@
            selectedIndexs: [],
            isShow: false,
            // 自动跳转相关
            autoRedirectTimer: null,
            autoRedirectTime: 5 * 60 * 1000, // 5分钟
            // 工单选择页面定时刷新
            autoRefreshTimer: null,
            autoRefreshInterval: 60 * 1000, // 1分钟
         };
      },
      created() {
@@ -342,12 +360,55 @@
      },
      onShow() {
         this.refresh();
         this.resetAutoRedirectTimer();
         // 页面显示时加载工单列表
         if (this.currentTab === 7) {
            // 默认选中“待开工、未开工、暂停”
            this.engineeringNo = '待开工、未开工、暂停';
            this.engineeringNoMapList = [
               '待开工、未开工、暂停',
               '开工',
               '完工'
            ];
            this.getWomdaaByStatus();
            // 启动定时刷新
            this.startAutoRefresh();
         }
      },
      onHide() {
         // 页面隐藏时清除定时器
         this.stopAutoRefresh();
      },
      methods: {
            onRowClick(index) {
                this.selectedIndexs = [index]; // 单选
                // 手动触发 selectionChange 以同步复选框
                this.selectionChange({ detail: { index } });
                // 重置自动跳转计时器
                this.resetAutoRedirectTimer();
            },
            // 重置自动跳转计时器
            resetAutoRedirectTimer() {
                // 清除现有的定时器
                if (this.autoRedirectTimer) {
                    clearTimeout(this.autoRedirectTimer);
                    this.autoRedirectTimer = null;
                }
                // 除了主页(0)、工单选择页(7)、生产报工页(4)之外的页面才设置自动跳转
                if (this.currentTab !== 0 && this.currentTab !== 7 && this.currentTab !== 4) {
                    this.autoRedirectTimer = setTimeout(() => {
                        // 跳转回主页
                        this.currentTab = 0;
                        // 显示提示信息
                        uni.showToast({
                            title: '页面超时,自动返回主页',
                            icon: 'none',
                            duration: 2000
                        });
                    }, this.autoRedirectTime);
                }
            },
         checkForUpdate() {
            this.$post({
@@ -415,11 +476,22 @@
            this.getMachineList();
            this.getPrintInfo();
            this.getWomdaaIsShow();
            // 如果当前在工单选择页面,默认加载工单列表
            if (this.currentTab === 7) {
               // 默认选中“待开工、未开工、暂停”
               this.engineeringNo = '待开工、未开工、暂停';
               this.engineeringNoMapList = [
                  '待开工、未开工、暂停',
                  '开工',
                  '完工'
               ];
               this.getWomdaaByStatus();
            }
         },
         getPrintInfo() {
            var mac = "";
            
            mac = "74:24:ca:4f:b7:9b";
            mac = "74:24:ca:4f:b7:4d";
            this.$post({
               url: "/DevMachine/GetDevMachineByPdaMac",
               data: {
@@ -440,43 +512,43 @@
            return;
            
            
             if (plus.os.name == "Android") {
                //获取手机MAC地址
                var Context = plus.android.importClass("android.content.Context");
                var WifiManager = plus.android.importClass("android.net.wifi.WifiManager");
                var wifiManager = plus.android.runtimeMainActivity().getSystemService(Context.WIFI_SERVICE);
                var WifiInfo = plus.android.importClass("android.net.wifi.WifiInfo");
                var wifiInfo = wifiManager.getConnectionInfo();
                mac = wifiInfo.getMacAddress();
   //           if (plus.os.name == "Android") {
   //              //获取手机MAC地址
   //              var Context = plus.android.importClass("android.content.Context");
   //              var WifiManager = plus.android.importClass("android.net.wifi.WifiManager");
   //              var wifiManager = plus.android.runtimeMainActivity().getSystemService(Context.WIFI_SERVICE);
   //              var WifiInfo = plus.android.importClass("android.net.wifi.WifiInfo");
   //              var wifiInfo = wifiManager.getConnectionInfo();
   //              mac = wifiInfo.getMacAddress();
               
                //如果mac为“02:00:00:00:00:00”,则可能是安卓6.0以上版本,则使用另一种方法获取mac地址
                if (mac == "02:00:00:00:00:00") {
                   mac = this.getMacNew();
                }
                //如果mac使用新方法依然是“02:00:00:00:00:00”则不进行保存
                if (mac == "02:00:00:00:00:00") {
                   return;
                }
                uni.setStorageSync('pdaMac', mac);
   //              //如果mac为“02:00:00:00:00:00”,则可能是安卓6.0以上版本,则使用另一种方法获取mac地址
   //              if (mac == "02:00:00:00:00:00") {
   //                 mac = this.getMacNew();
   //              }
   //              //如果mac使用新方法依然是“02:00:00:00:00:00”则不进行保存
   //              if (mac == "02:00:00:00:00:00") {
   //                 return;
   //              }
   //              uni.setStorageSync('pdaMac', mac);
                this.$post({
                   url: "/DevMachine/GetDevMachineByPdaMac",
                   data: {
                      pdaMac: mac,
                   }
                }).then(res => {
                   let devMachine = res.data.tbBillList;
                   this.machineNo = devMachine.machineNo;
                   this.machineName = "当前机台:" + this.machineNo + "号齿轮机";
   //              this.$post({
   //                 url: "/DevMachine/GetDevMachineByPdaMac",
   //                 data: {
   //                    pdaMac: mac,
   //                 }
   //              }).then(res => {
   //                 let devMachine = res.data.tbBillList;
   //                 this.machineNo = devMachine.machineNo;
   //                 this.machineName = "当前机台:" + this.machineNo + "号齿轮机";
                   uni.setStorageSync('machineNo', this.machineNo);
                   uni.setStorageSync('printMac', devMachine.printMac);
   //                 uni.setStorageSync('machineNo', this.machineNo);
   //                 uni.setStorageSync('printMac', devMachine.printMac);
 
                   this.getWomdaaIsShow();
   //                 this.getWomdaaIsShow();
                });
             }
   //              });
   //           }
         },
         save() {
            let data = this.selectedItems();
@@ -616,7 +688,14 @@
            // 当切换到工单选择页面(index === 7)时自动刷新
            if (index === 7) {
               this.refresh();
               // 启动定时刷新
               this.startAutoRefresh();
            } else {
               // 离开工单选择页面时停止定时刷新
               this.stopAutoRefresh();
            }
            // 重置自动跳转计时器
            this.resetAutoRedirectTimer();
            console.log(index);
         },
         onMachineChange(event) {
@@ -746,6 +825,120 @@
                this.productCode = item.daa002; // 产品编码
                this.productSpec = item.daa004; // 产品规格
            this.currentTab = 0;
         },
         // 获取开工按钮的class
         getStartBtnClass(item) {
            const isSelected = this.isShowTableData.length > 0 && this.isShowTableData[0].daa001 === item.daa001;
            if (isSelected) {
               return 'start-btn start-btn-selected'; // 当前选中的工单,绿色
            }
            return 'start-btn';
         },
         // 判断开工按钮是否禁用
         isStartBtnDisabled(item) {
            // 如果已经有选中的工单,且当前项不是选中的工单,则禁用
            if (this.isShowTableData.length > 0 && this.isShowTableData[0].daa001 !== item.daa001) {
               return true;
            }
            return false;
         },
         // 判断暂停按钮是否禁用
         isPauseBtnDisabled(item) {
            // 如果已经有选中的工单,且当前项不是选中的工单,则禁用
            if (this.isShowTableData.length > 0 && this.isShowTableData[0].daa001 !== item.daa001) {
               return true;
            }
            // 如果还没有选中任何工单,也禁用暂停按钮
            if (this.isShowTableData.length === 0) {
               return true;
            }
            return false;
         },
         // 获取开工按钮文本
         getStartBtnText(item) {
            const isSelected = this.isShowTableData.length > 0 && this.isShowTableData[0].daa001 === item.daa001;
            if (isSelected) {
               return '转跳到主界面';
            }
            return '开工';
         },
         // 处理开工
         async handleStartWork(item) {
            // 判断当前工单是否已选中
            const isSelected = this.isShowTableData.length > 0 && this.isShowTableData[0].daa001 === item.daa001;
            if (isSelected) {
               // 如果已选中,则跳转到主界面
               this.toDetail(item);
            } else {
               // 如果未选中,则执行开工逻辑
               let orderSelect = [{
                  orderId: item.id,
                  orderNo: item.daa001
               }];
               let editDate = this.formatDate(new Date());
               this.$post({
                  url: "/MesOrderSelect/Add",
                  data: {
                     machineNo: this.machineNo,
                     editDate: editDate,
                     item: orderSelect
                  }
               }).then(res => {
                  if (res.data.tbBillList) {
                     this.getWomdaaIsShow();
                     uni.showToast({
                        title: '开工成功',
                        icon: 'success',
                        duration: 2000
                     });
                  }
               });
            }
         },
         // 处理暂停(使用清空重选的逻辑)
         async handlePauseWork(item) {
            if (!this.machineNo) {
               return;
            }
            // 直接用 flag 判断
            if (this.hasBindedCutterFlag) {
               uni.showToast({
                  title: '当前工单已绑定刀具,不能暂停',
                  icon: 'error',
                  duration: 2000
               });
               return;
            }
            let editDate = this.formatDate(new Date());
            this.selectedIndexs = [];
            this.$post({
               url: "/MesOrderSelect/Remove",
               data: {
                  machineNo: this.machineNo,
                  editDate: editDate
               },
            }).then(res => {
               if (res.data.tbBillList > 0) {
                  this.isShowTableData = [];
                  uni.showToast({
                     title: '工单已暂停',
                     icon: 'success',
                     duration: 2000
                  });
               }
            });
         }
      },
      computed: {}
@@ -764,8 +957,9 @@
        margin-right: 20px !important;
    }
    .popup .large-selection-table .uni-tr:hover {
        background: #d0ebff !important;
    .popup .large-selection-table {
        width: 100% !important;
        table-layout: auto !important; // 让表格自动分配宽度
    }
    .row-selected {
@@ -916,7 +1110,7 @@
   .top-right {
      position: absolute;
      top: 10px;
      top: -15px;
      right: 50px;
      z-index: 1000;
   }
@@ -926,7 +1120,7 @@
      background-color: #00A2E9;
      color: white;
      border: none;
      font-size: 1.5vw;
      font-size: 22px;
      border-radius: 5px;
   }
@@ -939,23 +1133,24 @@
      background-color: #fff;
      color: #007aff;
      cursor: pointer;
      font-size: 1.8vw;
      /* Increased font size */
      font-size: 22px;
      font-weight: 500;
      transition: background-color 0.3s, color 0.3s;
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
   }
   .tab-item.active {
      background-color: #007aff;
      color: #fff;
      font-weight: bold;
      font-weight: 600;
      box-shadow: 0 4px 8px rgba(0, 122, 255, 0.3);
   }
   .content {
      flex: 1;
      padding: 1vh 1vw;
      background-color: white;
      font-size: 1.5vw;
      /* Increased font size for content */
      font-size: 16px;
   }
    .picker {
@@ -975,17 +1170,43 @@
    }
    .th {
        background-color: lightskyblue;
        background-color: white;
        color: black;
        height: 6vh;
        font-size: 2vw;
        font-size: 2.6vw; /* 字体更大 */
        /* Increased font size for table headers */
        font-size: 22px;
        font-weight: 600;
        border: 1px solid #555;
        padding: 6px 8px;
        text-align: center;
        white-space: normal;
        word-break: break-all;
    }
    /* 主表格边框样式 */
    uni-table {
        border: 2px solid #d00 !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
    }
    .uni-th, .uni-td {
        border: 1px solid #555 !important;
        position: relative !important;
        z-index: 1 !important;
    }
   .form-input {
      font-size: 1.8vw;
      /* Increased input font size */
   }
    .form-input {
        word-break: break-all;
        white-space: normal;
        line-height: 1.4;
        text-align: center;
        vertical-align: middle;
        max-width: 180px;
        overflow-wrap: break-word;
        font-size: 22px;
        padding: 6px 8px;
        background-color: transparent; /* 设置背景为透明 */
    }
   /* 底部保存和取消按钮 */
    .bottom-section {
@@ -993,7 +1214,7 @@
        justify-content: space-around;
        margin-bottom: 2vh;
        padding: 2vh 1vw;
        margin-top: 40px; // 新增:让按钮整体下移
        margin-top: 20px; // 减小顶部边距,确保按钮在弹窗内正确显示
    }
   .save-btn,
@@ -1002,33 +1223,112 @@
      padding: 1.5vh;
      background-color: #00a2e9;
      color: white;
      font-size: 1.8vw;
      /* Increased button font size */
      font-size: 22px;
      font-weight: 500;
      border: none;
      text-align: center;
      cursor: pointer;
      border-radius: 4px;
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
      transition: all 0.3s;
   }
   .overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.5);
   .cancel-btn {
      background-color: #00A2E9;
      color: white;
   }
   /* 操作按钮区域 */
   .operation-btns {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 10px;
   }
   /* 开工按钮 */
   .start-btn {
      padding: 8px 20px;
      background-color: #00A2E9;
      color: white;
      font-size: 18px;
      font-weight: 500;
      border: none;
      border-radius: 4px;
      cursor: pointer;
      transition: all 0.3s;
      box-shadow: 0 2px 4px rgba(0, 162, 233, 0.2);
   }
   .start-btn:hover:not(:disabled) {
      background-color: #0092d6;
      box-shadow: 0 4px 8px rgba(0, 162, 233, 0.3);
      transform: translateY(-1px);
   }
   /* 开工按钮 - 选中状态(绿色) */
   .start-btn-selected {
      background-color: #52c41a !important;
      box-shadow: 0 2px 4px rgba(82, 196, 26, 0.3) !important;
   }
   .start-btn-selected:hover:not(:disabled) {
      background-color: #49b015 !important;
      box-shadow: 0 4px 8px rgba(82, 196, 26, 0.4) !important;
   }
   /* 暂停按钮 */
   .pause-btn {
      padding: 8px 20px;
      background-color: #ff4d4f;
      color: white;
      font-size: 18px;
      font-weight: 500;
      border: none;
      border-radius: 4px;
      cursor: pointer;
      transition: all 0.3s;
      box-shadow: 0 2px 4px rgba(255, 77, 79, 0.2);
   }
   .pause-btn:hover:not(:disabled) {
      background-color: #ff3336;
      box-shadow: 0 4px 8px rgba(255, 77, 79, 0.3);
      transform: translateY(-1px);
   }
   /* 按钮禁用状态 */
   .start-btn:disabled,
   .pause-btn:disabled {
      background-color: #d9d9d9 !important;
      color: #999 !important;
      cursor: not-allowed !important;
      box-shadow: none !important;
      opacity: 0.6;
   }
    .overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 2000; // 增加z-index,确保弹窗在刷新按钮之上
    }
    .popup {
        background-color: #fff;
        padding: 2vh;
        padding: 2vh 2vh 8vh 2vh; // 增加底部内边距,为按钮留出空间
        border: 1px solid #ccc;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        width: 90vw;
        height: 85vh; /* 原70vh,调高 */
        width: 90.16vw; // 原来的98vw缩小8% (98vw * 0.92)
        height: 68vh; // 原来的85vh缩小20% (85vh * 0.8)
        font-size: 1.6vw;
        box-sizing: border-box; // 确保内边距不影响总尺寸
    }
   .print-btn {
@@ -1036,22 +1336,23 @@
      margin-top: 4px;
      margin-left: 10px;
      text-align: center;
      font-size: 100%;
      color: black;
      font-size: 22px;
      color: white;
      background-color: #00A2E9;
      padding: 0px 90px;
      border: 2px solid #ccc;
      border: 2px solid #00A2E9;
      cursor: pointer;
      border-radius: 0.8vw;
   }
    .machine-name-box {
        border: 2px solid #e53935; /* 红色边框 */
        border: 2px solid #007aff; /* 蓝色边框 */
        border-radius: 8px;
        font-family: fantasy;
        font-size: 33px;
        margin-top: 20px;
        padding: 15px 48px; /* 上下20px,左右48px,增加内边距 */
        width: 500px; /* 更宽,保证内容完整显示 */
        padding: 15px 28px; /* 上下20px,左右48px,增加内边距 */
        width: 300px; /* 更宽,保证内容完整显示 */
        height: 70px; /* 增加高度 */
        box-sizing: border-box;
        background: #fff;
@@ -1073,18 +1374,22 @@
    //    font-size: 14px;
    //}*/
    .popup .card {
        margin-bottom: 40px !important; // 原来250px,改为40px,空白明显减少
    }
   @media screen and (max-width: 1920px) {
      .tab-item {
         font-size: 1.6vw;
         font-size: 22px;
      }
      .content {
         padding: 1vw;
         font-size: 1.5vw;
         font-size: 22px;
      }
      .form-input {
         font-size: 1.6vw;
         font-size: 22px;
      }
   }
@@ -1097,35 +1402,112 @@
        vertical-align: middle; // 垂直居中
        max-width: 180px; // 保持单元格最大宽度
        overflow-wrap: break-word; // 兼容性更好
        background-color: transparent; /* 设置背景为透明 */
    }
    // 放大弹窗内表格字体(表头和内容)
    .popup .large-selection-table,
    // 弹窗内表格样式与生产报工页面历史报工记录表格一致
    .popup .large-selection-table .uni-th,
    .popup .large-selection-table .uni-td,
    .popup .large-selection-table input.form-input {
        font-size: 2.2vw !important; // 可根据实际需求调整
    .popup .large-selection-table .uni-td {
        padding: 6px 8px;
        text-align: center;
        white-space: normal;
        word-break: break-all;
        font-size: 22px;
        background-color: transparent; /* 设置背景为透明 */
        border: 1px solid #555 !important;
    }
    .popup .large-selection-table .uni-th {
        background-color: white;
        color: black;
        font-weight: 600;
        font-size: 22px;
    }
    /* 弹窗表格外框线 */
    .popup .large-selection-table {
        border: 2px solid #d00 !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
    }
    .select-btn {
        width: 180px; // 更宽
        height: 80px; // 更高
        font-size: 1.8vw; // 字体也略大
        width: 150px; // 原来的70% (180px * 0.7)
        height: 75px; // 原来的65% (80px * 0.65)
        font-size: 22px; // 字体也略大
        //font-weight: 200;
        border-radius: 10px;
        background-color: #f5f5f5;
        color: #007aff;
        border: 2px solid #007aff;
        background-color: #00A2E9;
        color: white;
        border: 2px solid #00A2E9;
        margin: 0 auto;
        display: block;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        transition: all 0.3s;
    }
    .top-section {
        position: relative;
        display: flex;
        flex-direction: column;
        margin-bottom: 20px;
        padding: 20px 10px;
    }
    .form-row.align-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: relative;
        width: 100%;
    }
    .machine-name-box {
        flex: 1 1 45%;
        margin-right: 20px;
    }
    .form-group {
        display: flex;
        align-items: center;
        flex: 1 1 45%;
        justify-content: flex-start;
    }
    .order-label {
        font-family: fantasy;
        font-size: 22px;
        margin-top: 20px;
        margin-right: 10px;
        float: none;
    }
    .print-btn {
        margin-top: 20px;
    }
    .top-right {
        position: absolute;
        top: -30px; // 往上移
        right: 0;
        z-index: 1000;
    }
/* 放大表头和表格内容字体 */
    .th,
    .uni-th,
    th {
        font-size: 1.7vw !important;
        font-weight: bold;
        letter-spacing: 2px;
        font-size: 22px !important;
        color: black !important;
        font-weight: 600;
        letter-spacing: 1px;
    }
    .popup .large-selection-table .th,
    .popup .large-selection-table .uni-th,
    .popup .large-selection-table th {
        font-size: 22px !important;
        color: black !important;
    }
   /* 针对1280x800的平板使用媒体查询进行适配 */
@@ -1136,21 +1518,21 @@
      .save-btn,
      .cancel-btn {
         font-size: 1.6vw;
         font-size: 16px;
      }
      .inp {
         width: 85%;
         font-size: 20px;
         font-size: 16px;
      }
      .status-block p {
         font-size: 20px;
         font-size: 16px;
      }
      .uni-tr,
      .uni-td {
         font-size: 20px;
         font-size: 22px;
      }
   }