zjh
2025-11-10 6ec5099ef65c0e0dc4b1fae5f69eb70dc54dd2b0
首检代码提交
已修改3个文件
已添加2个文件
697 ■■■■ 文件已修改
pages.json 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/QC/SJ/Add.vue 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/QC/SJ/List.vue 229 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/QC/SJ/ScanCode.vue 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/QC/SJ/UpdateCheckBy.vue 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json
@@ -195,6 +195,12 @@
                "enablePullDownRefresh": false
            }
        },{
            "path": "pages/QC/SJ/UpdateCheckBy",
            "style": {
                "navigationBarTitleText": "变更负责人",
                "enablePullDownRefresh": false
            }
        },{
            "path": "pages/QC/LLJ/ScanCode",
            "style": {
                "navigationBarTitleText": "",
@@ -202,6 +208,13 @@
            }
        },
        {
            "path": "pages/QC/SJ/ScanCode",
            "style": {
                "navigationBarTitleText": "",
                "enablePullDownRefresh": false
            }
        },
        {
            "path": "pages/QC/XJ/List",
            "style": {
                "enablePullDownRefresh": true,
pages/QC/SJ/Add.vue
@@ -11,7 +11,7 @@
      <view class="info-row">
        <span class="info-label">创建时间:</span>
        <span class="info-value">{{ formData.createTime }}</span>
        <span class="info-label">负责人:</span>
        <span class="info-label">检验人:</span>
        <span class="info-value">{{ formData.statusUser }}</span>
      </view>
    </view>
@@ -33,7 +33,7 @@
                         @select="onItemChange"></superwei-combox>
      </view>
      <view class="info-block">
        <view class="info-label">计划编号:</view>
        <view class="info-label">工单编号:</view>
        <view v-if="!isUpdate" class="info-value">{{ formData.daa001 }}</view>
        <picker v-else :range="DAA001List" class="picker info-value-input" name="selector"
                @change="onDaa001Change">
@@ -49,9 +49,13 @@
        <view class="info-value">{{ formData.daa004 }}</view>
      </view>
      <view class="info-block">
        <view class="info-label">工单数量:</view>
        <view class="info-value highlight">{{ formData.daa008 }}</view>
        <view class="info-label">项目:</view>
        <view class="info-value">{{ formData.projecT_CODE }}</view>
      </view>
      <view class="info-block">
        <view class="info-label">工单数量:</view>
        <view class="info-value highlight">{{ formData.daa008 }}</view>
      </view>
      <view v-if="formData.remarks" class="info-block">
        <view class="info-label">备注:</view>
        <view class="info-value">{{ formData.remarks }}</view>
@@ -59,8 +63,10 @@
    </view>
    <!-- æ“ä½œæŒ‰é’®åŒº -->
    <view v-if="isUpdate" class="action-buttons">
      <button class="secondary-btn" @click="getTable">获取检验项目</button>
    <view v-if="this.current" class="action-buttons">
                <button v-if="!isUpdate && !isShowTable" class="secondary-btn" @click="toSNScanCode(formData.releaseNo)">SN确认</button>
        <button v-if="!isUpdate && !isShowTable" class="secondary-btn" @click="toYzxSubmitFrom(formData.releaseNo)">一致性核对</button>
        <button class="secondary-btn" @click="getTable">获取检验项目</button>
    </view>
    <!-- æ£€éªŒé¡¹ç›®è¡¨æ ¼ -->
@@ -130,14 +136,13 @@
    <view class="action-buttons">
      <button v-if="isUpdate && !isShowTable" class="secondary-btn" @click="save">创建检验单并生成部分默认值</button>
      <button v-if="!isUpdate && !isShowTable" class="secondary-btn" @click="toImage">上传/查看图片</button>
        <button v-if="!isUpdate && !isShowTable" class="secondary-btn" @click="toYzxSubmitFrom(formData.releaseNo)">一致性核对</button>
      <button v-if="!isUpdate && !formData.statusUser && !isShowTable" class="secondary-btn" @click="removeXJ">
    <!--  <button v-if="!isUpdate && !formData.statusUser && !isShowTable" class="secondary-btn" @click="removeXJ">
        åˆ é™¤å•据
      </button>
      </button> -->
      <button v-if="!isUpdate && !isShowTable" class="secondary-btn" @click="saveRemarks">添加备注</button>
      <button v-if="!isUpdate && !isShowTable && formData.fSubmit != 1" class="primary-btn" @click="submit">审核单据</button>
      <button v-if="isShowTable" class="secondary-btn" @click="getTable">获取检验项目</button>
      <button v-if="isShowTable && isUpdate" class="primary-btn" @click="saveTable">生成检验项目</button>
      <button v-if="!isUpdate && !isShowTable && formData.fSubmit != 1" class="primary-btn" @click="submit">检验提交</button>
   <!--   <button  class="secondary-btn" @click="getTable">获取检验项目</button> -->
<!--      <button v-if="isShowTable && isUpdate" class="primary-btn" @click="saveTable">生成检验项目</button> -->
    </view>
    <!-- å¼¹çª— -->
@@ -460,9 +465,28 @@
        }
      }).then(res => {
        if (res.data.tbBillList.length > 0) {
          this.tableData = res.data.tbBillList; // åœ¨ç®­å¤´å‡½æ•°ä¸­ï¼Œthis æŒ‡å‘外层作用域的 this
          this.isShowTable = true;
          this.isUpdate = true;
          //生成检验项目
          if (this.tableData.length === 0) {
            return;
          }
          this.$post({
            url: "/SJ/SaveItem",
            data: {
              gid: this.formData.id,
              items: this.tableData,
              statusUser: this.$loginInfo.account,
              ItemNo:this.formData.itemNo
            }
          }).then(res => {
            this.tableData = res.data.tbBillList.items;
            this.isShowTable = false;
            this.isUpdate = false;
          })
        } else {
          this.$showMessage("此物料没有启用的检验项目,请维护!");
          this.isShowTable = true;
@@ -494,6 +518,11 @@
                url: 'yzxFrom?id=' +this.formData.id+'&current='+this.current
            });
        },
        toSNScanCode(releaseNo){
            uni.navigateTo({
                url: 'ScanCode?id=' +this.formData.id+'&current='+this.current
            });
        },
    save() {
      // if (this.tableData.length === 0) {
pages/QC/SJ/List.vue
@@ -57,31 +57,53 @@
          <view class="info-row">
            <view class="info-item">
              <view class="info-label">项目</view>
              <view class="info-content">{{ item.projecT_CODE }}</view>
            </view>
            <view class="info-item">
              <view class="info-label">开工状态</view>
              <view class="info-content">{{ item.daa018 }}</view>
            </view>
            <view class="info-item">
              <view class="info-label">齐套状态</view>
              <view class="info-content">{{ item.daA019 }}</view>
            </view>
          </view>
        <view class="info-row">
            <view class="info-item">
              <view class="info-label">产线</view>
              <view class="info-content">{{ item.line }}</view>
            </view>
            <view class="info-item">
              <view class="info-label">工单数量</view>
              <view class="info-content highlight">{{ item.daa008 }}</view>
              <view class="info-label">工单号</view>
              <view class="info-content">{{ item.daa001 }}</view>
            </view>
            <view class="info-item">
              <view class="info-label">工单数</view>
              <view class="info-content highlight">{{ item.daa008 }}</view>
            </view>
          </view>
          <view class="info-row">
            <view class="info-item">
              <view class="info-label">创建人</view>
            <!-- <view class="info-item">
              <view class="info-label">创建人1</view>
              <view class="info-content">{{ item.fName }}</view>
            </view>
            <view v-if="item.statusUser" class="info-item">
            </view> -->
           <!-- <view v-if="item.statusUser" class="info-item">
              <view class="info-label">检验人</view>
              <view class="info-content">{{ item.statusUser }}</view>
            </view>
            </view> -->
          </view>
          <!-- åœ¨æœªå®ŒæˆçŠ¶æ€ä¸‹æ˜¾ç¤ºåˆ›å»ºæ—¶é—´ï¼Œå·²å®ŒæˆçŠ¶æ€ä¸‹æ˜¾ç¤ºæ£€æµ‹ç»“æžœ -->
          <view v-if="current === 0" class="meta-info">
            <view class="meta-item">{{ item.statusDate }}</view>
            <view class="meta-item">创建人: {{ item.fName }}</view>
            <view class="meta-item">检验人: {{ item.statusUser }}</view>
          </view>
          <view v-if="current === 0" class="meta-info">
              <view class="meta-item">创建时间: {{ item.createTime }}</view>
          </view>
          <view v-if="current === 1" class="meta-info">
            <view class="meta-item">{{ item.statusDate }}</view>
@@ -90,7 +112,9 @@
        </view>
        <view class="card-actions">
          <button class="primary">{{ current === 0 ? '继续检验' : '查看详情' }}</button>
            <button v-if="current === 0 && IQCJL==1"
                @click.stop="assignTask(item)">{{item.statusUser == null ? '分配' : '重新分配'}}</button>
          <button class="primary">{{ current === 0 ? '开始检验' : '查看详情' }}</button>
        </view>
      </view>
    </view>
@@ -104,7 +128,6 @@
<script>
export default {
  components: {},
  data() {
    return {
      items: ['未完成', '已完成'],
@@ -114,73 +137,96 @@
      limit: 20,
      totalPage: 0,
      totalCount: 0,
      noData: false, // æ²¡æœ‰æ›´å¤šæ•°æ®äº†
      isLoading: false, // æ˜¯å¦æ­£åœ¨åŠ è½½
      tipShow: false, // æ˜¯å¦æ˜¾ç¤ºé¡¶éƒ¨æç¤ºæ¡†
      noData: false,
      isLoading: false,
      tipShow: false,
      searchValue: '',
      uncheckedCount: 0,
      checkedCount: '已完成'
      checkedCount: '已完成',
      IQCJL: 0, // IQC æ£€éªŒå‘˜æ ‡è¯†
      userId:""
    };
  },
  onLoad() {
    //页面加载时调用的事件
    this.init();
  },
  methods: {
    init() {
      let result = "未完成";
      if (this.current === 1) {
        result = "已完成";
      }
      if (this.isLoading) return; // å¦‚果正在加载则不继续执行
  // é¡µé¢åŠ è½½æ—¶åªæ‰§è¡Œä¸€æ¬¡
  async onLoad() {
    // åˆ¤æ–­å½“前登录人是否为IQC检验员或特定账号
    const user = this.$loginInfo;
    this.userId=user.account;
    if (user.roleid && user.roleid.indexOf("90134") !== -1 || user.account === "PL017") {
      this.IQCJL = 1;
    } else {
      this.IQCJL = 0;
    }
    console.log("IQC检验员标识 IQCJL =", this.IQCJL);
    // åˆå§‹åŒ–加载数据
    await this.init();
  },
  // æ¯æ¬¡é¡µé¢é‡æ–°æ˜¾ç¤ºæ—¶è§¦å‘(返回页面也会触发)
  onShow() {
    console.log("onShow è§¦å‘,IQCJL =", this.IQCJL);
    // é¿å…é‡å¤åŠ è½½ï¼šåªåœ¨ç¬¬ä¸€æ¬¡æˆ–æ•°æ®ä¸ºç©ºæ—¶é‡æ–°åŠ è½½
    if (this.data.length === 0) {
      this.pageIndex = 1;
      this.init();
    }
  },
  methods: {
    async init() {
      let result = this.current === 1 ? "已完成" : "未完成";
      if (this.isLoading) return;
      this.isLoading = true;
      const userName = this.$loginInfo.account;
      //获取当前登录的用户
      let userName = this.$loginInfo.account;
      //页面加载时调用的事件
      this.$post({
        url: "/SJ/GetPage",
        data: {
          pageIndex: this.pageIndex,
          limit: this.limit,
          statusUser: userName,
          result: result,
          searchValue: this.searchValue
        }
      }).then(res => {
        if (this.pageIndex === 1) {
          // å¦‚果是第一页,直接覆盖原数据
          this.data = res.data.tbBillList;
        } else {
          if (res.data.tbBillList.length > 0) {
            // å¦‚果是下一页,追加新数据
            this.data = [...this.data, ...res.data.tbBillList];
      try {
        const res = await this.$post({
          url: "/SJ/GetPage",
          data: {
            pageIndex: this.pageIndex,
            limit: this.limit,
            statusUser: userName,
            result: result,
            searchValue: this.searchValue
          }
        });
        const list = res.data.tbBillList || [];
        if (this.pageIndex === 1) {
          this.data = list;
        } else {
          this.data.push(...list);
        }
        this.totalCount = res.totalCount;
        this.totalPage = Math.ceil(this.totalCount / this.limit);
        this.noData = this.pageIndex >= this.totalPage;
        this.isLoading = false; // ç»“束加载
        // æ›´æ–°è®¡æ•°
        if (this.current === 1) {
          this.checkedCount = '已完成(' + this.totalCount + ')';
        } else {
          this.uncheckedCount = this.totalCount;
        }
      }).catch(() => {
        this.isLoading = false; // å‡ºçŽ°é”™è¯¯æ—¶ç»“æŸåŠ è½½
      });
      } catch (e) {
        console.error("加载检验单数据失败:", e);
      } finally {
        this.isLoading = false;
      }
    },
    handleFabClick() {
      uni.navigateTo({
        url: 'Add?id'
      });
    // æœç´¢
    handleSearch() {
      this.pageIndex = 1;
      this.data = [];
      this.init();
    },
    // Tab åˆ‡æ¢
    onClickItem(index) {
      if (this.current !== index.currentIndex) {
        this.current = index.currentIndex;
@@ -189,59 +235,50 @@
        this.init();
      }
    },
    handleSearch() {
      this.pageIndex = 1;
      this.data = [];
      this.init();
    },
    // è·³è½¬è¯¦æƒ…
    navigateToDetail(item) {
        if (this.current === 1) {
         uni.navigateTo({
           url: 'Add?id=' + item.id + '&billNo=' + item.billNo+
                            '&current=B'
         });
        }else{
            uni.navigateTo({
              url: 'Add?id=' + item.id + '&billNo=' + item.billNo+
                                        '&current=A'
            });
        }
      const type = this.current === 1 ? "B" : "A";
      uni.navigateTo({
        url: `Add?id=${item.id}&billNo=${item.billNo}&current=${type}`
      });
    },
    assignTask(item) {
            console.log(item);
                // è¿™é‡Œå¯ä»¥æ·»åŠ åˆ†é…ä»»åŠ¡çš„é€»è¾‘
                uni.navigateTo({
                    url: 'UpdateCheckBy?releaseNo=' + item.billNo + '&userID=' + this.userId +
                        '&staffName=' + item.statusUser
                });
            },
    // æ·»åŠ æŒ‰é’®
    handleFabClick() {
      uni.navigateTo({
        url: 'Add?id'
      });
    }
  },
  /**
   * ä¸‹æ‹‰åˆ·æ–°å›žè°ƒå‡½æ•°
   */
  // ä¸‹æ‹‰åˆ·æ–°
  onPullDownRefresh() {
    this.pageIndex = 1;
    //重新执行一遍查询
    this.init();
    this.tipShow = true;
    //关闭动画
    uni.stopPullDownRefresh();
    setTimeout(() => {
      this.tipShow = false;
    }, 3000);
    this.init().then(() => {
      this.tipShow = true;
      uni.stopPullDownRefresh();
      setTimeout(() => (this.tipShow = false), 3000);
    });
  },
  /**
   * ä¸Šæ‹‰åŠ è½½å›žè°ƒå‡½æ•°
   */
  // ä¸Šæ‹‰åŠ è½½æ›´å¤š
  onReachBottom() {
    if (this.noData || this.isLoading) return;
    this.pageIndex++;
    this.init(); // åŠ è½½æ›´å¤šæ•°æ®
  },
  onShow() {
    //每次进入页面都会执行的方法
    this.pageIndex = 1;
    this.data = [];
    //this.current = 0
    this.init();
  }
};
</script>
<style scoped>
/* åŸºç¡€æ ·å¼é‡ç½® */
.inspection-app {
pages/QC/SJ/ScanCode.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,242 @@
<template>
  <view class="sn-scan-page">
    <view class="title">SN æ‰«ç é¡µé¢</view>
    <view class="remark">
      å¤‡æ³¨ï¼šç‚¹å‡»"扫码"按钮扫描SN码,再次点击可覆盖上次记录
    </view>
    <view class="scan-table">
      <view class="table-header">
        <text class="col name">项目名称</text>
        <text class="col sn">SN码</text>
        <text class="col action">操作</text>
      </view>
      <view class="table-row" v-for="(item, index) in scanItems" :key="item.id">
        <text class="col name">{{ item.scanItem }}</text>
        <input
          class="col sn-input"
          type="text"
          v-model="item.snNo"
          placeholder="请输入或扫码"
        />
        <button
          class="col scan-btn"
          type="primary"
          @click="onScan(index)"
        >扫码</button>
      </view>
    </view>
    <view class="action-bar">
      <button type="success" @click="submit">保存</button>
    </view>
  </view>
</template>
<script>
export default {
  data() {
    return {
      mid: null, // MES主表ID
      scanItems: [], // ä»Ž MES_SJ_SCAN_ITEM_CK èŽ·å–
    };
  },
  onLoad(options) {
    // å‡è®¾ä»Žä¸Šä¸€é¡µä¼ å…¥ mid
    this.mid = options.id || null;
    this.getScanItems();
  },
  methods: {
    // ä»Ž MES_SJ_SCAN_ITEM_CK èŽ·å–æ•°æ®
    getScanItems() {
      if (!this.mid) return;
      uni.showLoading({ title: "加载中..." });
      this.$post({
        url: "/SJ/GetList",
        data: { mid: this.mid }
      }).then(res => {
        if (res.status === 0) {
          this.scanItems = res.data.map(x => ({
            id: x.id,
            scanItem: x.scanItem,
            snNo: x.snNo || "",
          }));
        } else {
          uni.showToast({
            title: res.message || "加载失败",
            icon: "none"
          });
        }
      }).catch(err => {
        console.error("加载扫码项目出错:", err);
        uni.showToast({
          title: "加载异常",
          icon: "none"
        });
      }).finally(() => {
        uni.hideLoading();
      });
    },
    // æ‰«ç åŠŸèƒ½
    onScan(index) {
      const self = this;
      // #ifdef MP-WEIXIN
      uni.scanCode({
        success(res) {
          self.scanItems[index].snNo = res.result;
        },
        fail(err) {
          console.log("扫码失败", err);
        },
      });
      // #endif
      // #ifdef H5
      uni.showToast({
        title: "请使用扫码枪输入到SN输入框",
        icon: "none",
      });
      // #endif
      // #ifdef APP-PLUS
      uni.scanCode({
        success(res) {
          self.scanItems[index].snNo = res.result;
        },
      });
      // #endif
    },
    // ä¿å­˜ SN æ•°æ®åˆ° MES_SJ_SCAN_ITEM_CK
    submit() {
      this.$post({
        url: "/SJ/SaveSn",
        data: {
          mid: this.mid,
          items: this.scanItems.map(x => ({
            id: x.id,
            snNo: x.snNo,
          })),
        }
      }).then(res => {
        if (res.status === 0) {
          uni.showToast({
            title: "保存成功",
            icon: "success"
          });
        } else {
          uni.showToast({
            title: res.message || "保存失败",
            icon: "none"
          });
        }
      }).catch(err => {
        console.error("保存出错:", err);
        uni.showToast({
          title: "保存异常",
          icon: "none"
        });
      });
    },
  },
};
</script>
<style lang="scss" scoped>
.sn-scan-page {
  padding: 20rpx;
  font-size: 28rpx;
  font-family: "Microsoft YaHei";
}
.title {
  font-size: 36rpx;
  font-weight: bold;
  margin-bottom: 20rpx;
  text-align: center;
}
.remark {
  color: #666;
  font-size: 22rpx;
  margin-bottom: 30rpx;
  background-color: #f9f9f9;
  border-left: 6rpx solid #007aff;
  padding: 16rpx 20rpx;
  border-radius: 8rpx;
  line-height: 1.6;
}
.scan-table {
  border: 1rpx solid #ccc;
  border-radius: 10rpx;
  overflow: hidden;
}
.table-header {
  display: flex;
  background-color: #f5f5f5;
  font-weight: bold;
  padding: 20rpx 10rpx;
}
.table-row {
  display: flex;
  align-items: center;
  border-top: 1rpx solid #eee;
  padding: 20rpx 10rpx;
}
.col {
  flex: 1;
  text-align: center;
}
.name {
  flex: 1;
}
.sn {
  flex: 2;
}
.action {
  flex: 1;
}
.sn-input {
  flex: 2;
  border: 1rpx solid #ccc;
  border-radius: 6rpx;
  padding: 10rpx;
}
.scan-btn {
  flex: 1;
  font-size: 26rpx;
  background-color: #007aff;
  color: #fff;
  border-radius: 6rpx;
  line-height: 60rpx;
  height: 60rpx;
}
.scan-btn:active {
  background-color: #005bb5;
}
.action-bar {
  margin-top: 40rpx;
  text-align: center;
}
</style>
pages/QC/SJ/UpdateCheckBy.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,160 @@
<template>
    <view class="form-container">
        <u--form :model="formData" ref="uForm">
            <u-form-item label="检验单号" label-width="150rpx">
                <u-input v-model="formData.PI_BILLNO" placeholder="请输入检验单号" disabled />
            </u-form-item>
            <u-form-item label="负责人" label-width="150rpx">
                <u-input v-model="formData.PI_staffName" placeholder="此单据暂无负责人" disabled />
            </u-form-item>
            <u-form-item label="新负责人" label-width="150rpx" prop="PI_NEW_staffName"
                @click.native="show_PI_NEW_staffName = true" :required="true">
                <u-input class="input_Form" v-model="formData.PI_NEW_staffName" disabled placeholder="请选择新负责人"
                    disabled-color="#ffffff" />
                <u-icon slot="right" name="arrow-down" />
            </u-form-item>
            <!-- æ–°è´Ÿè´£äººé€‰æ‹©å™¨ -->
            <u-picker :show="show_PI_NEW_staffName" :columns="[PI_NEW_staffName_Options]" keyName="label"
                @confirm="confirm_PI_NEW_staffName" @cancel="show_PI_NEW_staffName = false" />
            <!-- æäº¤æŒ‰é’® -->
            <u-button type="primary" @click="submitForm" class="submit-btn">
                æäº¤
            </u-button>
        </u--form>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                show_PI_NEW_staffName: false,
                formData: {
                    PI_BILLNO: '', //检验单号
                    PI_USER: '', //委托人
                    PI_NEW_staffName: '', //新负责人
                    PI_NEW_staffUserID: '', //新负责人ID
                    PI_Roleids:"",
                    IQCJL:false
                },
                PI_NEW_staffName_Options: [] ,
                // æ·»åŠ æ ¡éªŒè§„åˆ™
                rules: {
                    PI_NEW_staffName: [{
                        required: true,
                        message: '请选择新负责人',
                        trigger: ['change']
                    }]
                }
            };
        },
        mounted() {
            this.loadInspectorsList();
        },
        methods: {
            confirm_PI_NEW_staffName(e) {
                const selected = e.value[0];
                this.formData.PI_NEW_staffName = selected.label;
                this.formData.PI_NEW_staffUserID=selected.value;
                this.show_PI_NEW_staffName = false;
            },
            onReady() {
                this.$refs.uForm.setRules(this.rules);
            },
            onLoad(options) {
                //options中包含了url附带的参数
                let params = options;
                this.formData.PI_BILLNO = params["releaseNo"];
                this.formData.PI_USER = params["userID"];
                this.formData.PI_staffName = params["staffName"];
                this.formData.PI_Roleids=params["roleids"];
                if(this.formData.PI_staffName=='null')
                {
                    this.formData.PI_staffName='';
                }
            },
             loadInspectorsList() {
                  // ä»ŽAPI获取检验员列表
                  this.$post({
                      url: "/sj/getAllInspectors",
                      data: {
                      }
                  }).then(res => {
                   this.PI_NEW_staffName_Options = res.data;
                  });
                },
            //提交
            async submitForm() {
                try {
                    const valid = await this.$refs.uForm.validate()
                    if (valid) {
                        uni.showToast({
                            title: '提交成功',
                            icon: 'success'
                        })
                        // è¿™é‡Œæ·»åŠ åŽç»­ä¸šåŠ¡é€»è¾‘
                        this.$post({
                            url: "/SJ/SaveCheckBy",
                            data: {
                                releaseNo:this.formData.PI_BILLNO,
                                userID:this.formData.PI_USER,
                                NewStaffName:this.formData.PI_NEW_staffName,
                                NewStaffUserID:this.formData.PI_NEW_staffUserID
                            }
                        }).then(res => {
                            if (res.status == 0) {
                                uni.showToast({
                                    title: res.message,
                                    icon: 'success'
                                })
                                //关闭当前页面,返回上一页面或多级页面
                                setTimeout(() => {
                                    uni.navigateBack();
                                }, 2000);
                            } else {
                                uni.showToast({
                                    title: res.message,
                                    icon: 'error'
                                })
                            }
                        });
                    }
                } catch (error) {
                    console.error('验证失败:', error)
                    uni.showToast({
                        title: '请填写必填项',
                        icon: 'error',
                        duration: 2000
                    })
                }
            }
        }
    };
</script>
<style>
    .form-container {
        padding: 30rpx;
    }
    .submit-btn {
        margin-top: 60rpx;
    }
    .input_Form {
        pointer-events: none;
    }
</style>