CRZ
7 天以前 38ffcc4a1c2adf5ff03b75dcdd2f7caef6dd69f9
pages/QC/THJ/List.vue
@@ -1,419 +1,423 @@
<template>
  <view>
    <!-- 刷新页面后的顶部提示框 -->
    <view class="tips" :class="{ 'tips-ani': tipShow }">刷新成功</view>
    <view class="newsTab">
      <uni-segmented-control
        :current="current"
        :values="items"
        @clickItem="onClickItem"
        style-type="button"
        active-color="#87cefa">
      </uni-segmented-control>
      <view class="content">
        <view v-show="current===0">
          <!-- 未完成检验单列表 -->
          <uni-list>
            <uni-list-item
              style="margin-top: 10px;background-color:#EFEFF4;border-radius: 5px;"
              class="list-item"
              direction="column"
              v-for="item in data"
              :key="item.id"
              :to="'./Add?id='+item.id+'&returnNo='+item.releaseNo">
              <!-- 通过header插槽定义列表的标题 -->
              <template v-slot:header>
                <view class="form-group uni-title" style="margin-bottom: 0;">
                  <label class="form-label">检验单号:</label>
                  <input class="form-input" disabled="true" type="text" v-model="item.releaseNo"/>
                </view>
              </template>
              <!-- 通过body插槽定义列表内容显示 -->
              <template v-slot:body>
                <view style="margin-top: 0;">
                  <view class="uni-content">
                    <view class="uni-title-sub uni-ellipsis-2">
                      <view class="form-group">
                        <label class="form-label lab">创建时间:</label>
                        <input class="form-input" disabled="true" type="text" v-model="item.createDate"/>
                      </view>
                    </view>
                    <view class="uni-note">
                      <view class="form-group">
                        <label class="form-label lab">创建人:</label>
                        <input class="form-input" disabled="true" type="text" v-model="item.createBy"/>
                      </view>
                    </view>
                    <view class="uni-title-sub uni-ellipsis-2">
                      <view class="form-group">
                        <label class="form-label lab">物料编码:</label>
                        <input class="form-input" disabled="true" type="text" v-model="item.itemNo"/>
                      </view>
                    </view>
                    <view class="uni-title-sub uni-ellipsis-2">
                      <view class="form-group">
                        <label class="form-label">产品名称:</label>
                        <input class="form-input" disabled="true" type="text" v-model="item.itemName"/>
                      </view>
                    </view>
                    <view class="uni-title-sub uni-ellipsis-2">
                      <view class="form-group">
                        <label class="form-label">规格型号:</label>
                        <input class="form-input" disabled="true" type="text" v-model="item.itemModel"/>
                      </view>
                    </view>
                    <view class="uni-title-sub uni-ellipsis-2">
                      <view class="form-group">
                        <label class="form-label">退货数量:</label>
                        <input class="form-input" disabled="true" type="text" v-model="item.workQty"/>
                      </view>
                    </view>
                    <!-- 退货单信息 -->
                    <view class="return-info">
                      <view class="uni-title-sub uni-ellipsis-2">
                        <view class="form-group">
                          <label class="form-label">退货单号:</label>
                          <input class="form-input" disabled="true" type="text" :value="(item.returnType && item.returnNo) ? item.returnType + '-' + item.returnNo : item.returnNo"/>
                        </view>
                      </view>
                      <view class="uni-title-sub uni-ellipsis-2">
                        <view class="form-group">
                          <label class="form-label">单据日期:</label>
                          <input class="form-input" disabled="true" type="text" v-model="item.billDate"/>
                        </view>
                      </view>
                    </view>
                    <!-- 客户信息 -->
                    <!-- <view class="customer-info">
                      <view class="uni-title-sub uni-ellipsis-2">
                        <view class="form-label">客户名称:</label>
                        <input class="form-input" disabled="true" type="text" v-model="item.customerName"/>
                      </view>
                    </view> -->
                    <view class="uni-note" style="color: red">
                      <view class="form-group">
                        <label class="form-label lab">检验人:</label>
                        <input class="form-input" disabled="true" type="text" v-model="item.statusUser"/>
                      </view>
                    </view>
                    <view class="uni-note" style="color: red">
                      <view class="form-group">
                        <label class="form-label lab">检测结果:</label>
                        <input class="form-input" disabled="true" type="text" v-model="item.result"/>
                      </view>
                    </view>
                  </view>
                </view>
              </template>
            </uni-list-item>
          </uni-list>
        </view>
    <view>
      <!-- 刷新页面后的顶部提示框 -->
      <view class="tips" :class="{ 'tips-ani': tipShow }">刷新成功</view>
      <view class="newsTab">
        <uni-segmented-control
          :current="current"
          :values="items"
          @clickItem="onClickItem"
          style-type="button"
          active-color="#87cefa">
        </uni-segmented-control>
        
        <view v-show="current===1">
          <!-- 已完成检验单列表 -->
          <uni-list>
            <uni-list-item
              style="margin-top: 10px;background-color:#EFEFF4;border-radius:5px;"
              class="list-item"
              direction="column"
              v-for="item in data"
              :key="item.id"
              :to="'./Add?id='+item.id+'&returnNo='+item.releaseNo">
              <!-- 通过header插槽定义列表的标题 -->
              <template v-slot:header>
                <view class="form-group uni-title" style="margin-bottom: 0;">
                  <label class="form-label">检验单号:</label>
                  <input class="form-input" disabled="true" type="text" v-model="item.releaseNo"/>
                </view>
              </template>
              <!-- 通过body插槽定义列表内容显示 -->
              <template v-slot:body>
                <view style="margin-top: 0;">
                  <view class="uni-content">
                    <view class="uni-title-sub uni-ellipsis-2">
                      <view class="form-group">
                        <label class="form-label lab">创建时间:</label>
                        <input class="form-input" disabled="true" type="text" v-model="item.createDate"/>
                      </view>
                    </view>
                    <view class="uni-note">
                      <view class="form-group">
                        <label class="form-label lab">创建人:</label>
                        <input class="form-input" disabled="true" type="text" v-model="item.createBy"/>
                      </view>
                    </view>
                    <view class="uni-title-sub uni-ellipsis-2">
                      <view class="form-group">
                        <label class="form-label lab">物料编码:</label>
                        <input class="form-input" disabled="true" type="text" v-model="item.itemNo"/>
                      </view>
                    </view>
                    <view class="uni-title-sub uni-ellipsis-2">
                      <view class="form-group">
                        <label class="form-label">产品名称:</label>
                        <input class="form-input" disabled="true" type="text" v-model="item.itemName"/>
                      </view>
                    </view>
                    <view class="uni-title-sub uni-ellipsis-2">
                      <view class="form-group">
                        <label class="form-label">规格型号:</label>
                        <input class="form-input" disabled="true" type="text" v-model="item.itemModel"/>
                      </view>
                    </view>
                    <view class="uni-title-sub uni-ellipsis-2">
                      <view class="form-group">
                        <label class="form-label">退货数量:</label>
                        <input class="form-input" disabled="true" type="text" v-model="item.workQty"/>
                      </view>
                    </view>
                    <!-- 退货单信息 -->
                    <view class="return-info">
        <view class="content">
          <view v-show="current===0">
            <!-- 未完成检验单列表 -->
            <uni-list>
              <uni-list-item
                style="margin-top: 10px;background-color:#EFEFF4;border-radius: 5px;"
                class="list-item"
                direction="column"
                v-for="item in data"
                :key="item.id"
                :to="'./Add?id='+item.id+'&returnNo='+item.releaseNo">
                <!-- 通过header插槽定义列表的标题 -->
                <template v-slot:header>
                  <view class="form-group uni-title" style="margin-bottom: 0;">
                    <label class="form-label">检验单号:</label>
                    <input class="form-input" disabled="true" type="text" v-model="item.releaseNo"/>
                  </view>
                </template>
                <!-- 通过body插槽定义列表内容显示 -->
                <template v-slot:body>
                  <view style="margin-top: 0;">
                    <view class="uni-content">
                      <view class="uni-title-sub uni-ellipsis-2">
                        <view class="form-group">
                          <label class="form-label">退货单号:</label>
                          <input class="form-input" disabled="true" type="text" :value="(item.returnType && item.returnNo) ? item.returnType + '-' + item.returnNo : item.returnNo"/>
                          <label class="form-label lab">创建时间:</label>
                          <input class="form-input" disabled="true" type="text" v-model="item.createDate"/>
                        </view>
                      </view>
                      
                      <view class="uni-title-sub uni-ellipsis-2">
                      <view class="uni-note">
                        <view class="form-group">
                          <label class="form-label">单据日期:</label>
                          <input class="form-input" disabled="true" type="text" v-model="item.billDate"/>
                          <label class="form-label lab">创建人:</label>
                          <input class="form-input" disabled="true" type="text" v-model="item.createBy"/>
                        </view>
                      </view>
                    </view>
                    <!-- 客户信息 -->
                    <!-- <view class="customer-info">
                      <view class="uni-title-sub uni-ellipsis-2">
                        <view class="form-group">
                          <label class="form-label lab">物料编码:</label>
                          <input class="form-input" disabled="true" type="text" v-model="item.itemNo"/>
                        </view>
                      </view>
                      <view class="uni-title-sub uni-ellipsis-2">
                        <view class="form-group">
                          <label class="form-label">产品名称:</label>
                          <input class="form-input" disabled="true" type="text" v-model="item.itemName"/>
                        </view>
                      </view>
                      <view class="uni-title-sub uni-ellipsis-2">
                        <view class="form-group">
                          <label class="form-label">规格型号:</label>
                          <input class="form-input" disabled="true" type="text" v-model="item.itemModel"/>
                        </view>
                      </view>
                      <view class="uni-title-sub uni-ellipsis-2">
                        <view class="form-group">
                          <label class="form-label">退货数量:</label>
                          <input class="form-input" disabled="true" type="text" v-model="item.workQty"/>
                        </view>
                      </view>
                      <!-- 退货单信息 -->
                      <view class="return-info">
                        <view class="uni-title-sub uni-ellipsis-2">
                          <view class="form-group">
                            <label class="form-label">退货单号:</label>
                            <input class="form-input" disabled="true" type="text" :value="(item.returnType && item.returnNo) ? item.returnType + '-' + item.returnNo : item.returnNo"/>
                          </view>
                        </view>
                        <view class="uni-title-sub uni-ellipsis-2">
                          <view class="form-group">
                            <label class="form-label">单据日期:</label>
                            <input class="form-input" disabled="true" type="text" v-model="item.billDate"/>
                          </view>
                        </view>
                      </view>
                      <!-- 客户信息 -->
                      <view class="customer-info">
                        <view class="uni-title-sub uni-ellipsis-2">
                        <view class="form-group">
                          <label class="form-label">客户名称:</label>
                          <input class="form-input" disabled="true" type="text" v-model="item.customerName"/>
                          <input class="form-input" disabled="true" type="text" :value="item.customerName || item.CUSTOMERNAME || ''"/>
                        </view>
                        </view>
                      </view>
                    </view> -->
                    <view class="uni-note" style="color: red">
                      <view class="form-group">
                        <label class="form-label lab">检验人:</label>
                        <input class="form-input" disabled="true" type="text" v-model="item.statusUser"/>
                      <view class="uni-note" style="color: red">
                        <view class="form-group">
                          <label class="form-label lab">检验人:</label>
                          <input class="form-input" disabled="true" type="text" v-model="item.statusUser"/>
                        </view>
                      </view>
                    </view>
                    <view class="uni-note" style="color: red">
                      <view class="form-group">
                        <label class="form-label lab">检测结果:</label>
                        <input class="form-input" disabled="true" type="text" v-model="item.result"/>
                      <view class="uni-note" style="color: red">
                        <view class="form-group">
                          <label class="form-label lab">检测结果:</label>
                          <input class="form-input" disabled="true" type="text" v-model="item.result"/>
                        </view>
                      </view>
                    </view>
                  </view>
                </view>
              </template>
            </uni-list-item>
          </uni-list>
                </template>
              </uni-list-item>
            </uni-list>
          </view>
          <view v-show="current===1">
            <!-- 已完成检验单列表 -->
            <uni-list>
              <uni-list-item
                style="margin-top: 10px;background-color:#EFEFF4;border-radius:5px;"
                class="list-item"
                direction="column"
                v-for="item in data"
                :key="item.id"
                :to="'./Add?id='+item.id+'&returnNo='+item.releaseNo">
                <!-- 通过header插槽定义列表的标题 -->
                <template v-slot:header>
                  <view class="form-group uni-title" style="margin-bottom: 0;">
                    <label class="form-label">检验单号:</label>
                    <input class="form-input" disabled="true" type="text" v-model="item.releaseNo"/>
                  </view>
                </template>
                <!-- 通过body插槽定义列表内容显示 -->
                <template v-slot:body>
                  <view style="margin-top: 0;">
                    <view class="uni-content">
                      <view class="uni-title-sub uni-ellipsis-2">
                        <view class="form-group">
                          <label class="form-label lab">创建时间:</label>
                          <input class="form-input" disabled="true" type="text" v-model="item.createDate"/>
                        </view>
                      </view>
                      <view class="uni-note">
                        <view class="form-group">
                          <label class="form-label lab">创建人:</label>
                          <input class="form-input" disabled="true" type="text" v-model="item.createBy"/>
                        </view>
                      </view>
                      <view class="uni-title-sub uni-ellipsis-2">
                        <view class="form-group">
                          <label class="form-label lab">物料编码:</label>
                          <input class="form-input" disabled="true" type="text" v-model="item.itemNo"/>
                        </view>
                      </view>
                      <view class="uni-title-sub uni-ellipsis-2">
                        <view class="form-group">
                          <label class="form-label">产品名称:</label>
                          <input class="form-input" disabled="true" type="text" v-model="item.itemName"/>
                        </view>
                      </view>
                      <view class="uni-title-sub uni-ellipsis-2">
                        <view class="form-group">
                          <label class="form-label">规格型号:</label>
                          <input class="form-input" disabled="true" type="text" v-model="item.itemModel"/>
                        </view>
                      </view>
                      <view class="uni-title-sub uni-ellipsis-2">
                        <view class="form-group">
                          <label class="form-label">退货数量:</label>
                          <input class="form-input" disabled="true" type="text" v-model="item.workQty"/>
                        </view>
                      </view>
                      <!-- 退货单信息 -->
                      <view class="return-info">
                        <view class="uni-title-sub uni-ellipsis-2">
                          <view class="form-group">
                            <label class="form-label">退货单号:</label>
                            <input class="form-input" disabled="true" type="text" :value="(item.returnType && item.returnNo) ? item.returnType + '-' + item.returnNo : item.returnNo"/>
                          </view>
                        </view>
                        <view class="uni-title-sub uni-ellipsis-2">
                          <view class="form-group">
                            <label class="form-label">单据日期:</label>
                            <input class="form-input" disabled="true" type="text" v-model="item.billDate"/>
                          </view>
                        </view>
                      </view>
                      <!-- 客户信息 -->
                      <view class="customer-info">
                        <view class="uni-title-sub uni-ellipsis-2">
                        <view class="form-group">
                          <label class="form-label">客户名称:</label>
                          <input class="form-input" disabled="true" type="text" :value="item.customerName || item.CUSTOMERNAME || ''"/>
                        </view>
                        </view>
                      </view>
                      <view class="uni-note" style="color: red">
                        <view class="form-group">
                          <label class="form-label lab">检验人:</label>
                          <input class="form-input" disabled="true" type="text" v-model="item.statusUser"/>
                        </view>
                      </view>
                      <view class="uni-note" style="color: red">
                        <view class="form-group">
                          <label class="form-label lab">检测结果:</label>
                          <input class="form-input" disabled="true" type="text" v-model="item.result"/>
                        </view>
                      </view>
                    </view>
                  </view>
                </template>
              </uni-list-item>
            </uni-list>
          </view>
        </view>
      </view>
    </view>
  </view>
</template>
<script>
export default {
  components: {},
  data() {
    return {
      items: ['未完成', '已完成'],
      current: 0,
      data: [],
      tipShow: false // 是否显示顶部提示框
    };
  },
  onLoad() {
    //页面加载时调用的事件
    this.init();
  },
  methods: {
    init() {
      let result = "";
      if (this.current === 0) {
        // 未完成:没有检验结果
        result = "未完成";
      } else if (this.current === 1) {
        // 已完成:有检验结果
        result = "已完成";
      }
  </template>
  <script>
  export default {
    components: {},
    data() {
      return {
        items: ['未完成', '已完成'],
        current: 0,
        data: [],
        tipShow: false // 是否显示顶部提示框
      };
    },
    onLoad() {
      //页面加载时调用的事件
      this.$post({
        url: "/THJ/getPage",
        data: {
          pageIndex: 1,
          limit: 20,
          statusUser: this.$loginInfo.account,
          result: result
      this.init();
    },
    methods: {
      init() {
        // 是否完成的判断:以 QS_QA_ITEM_THJ.TJ 是否等于 1 为准
        const tj = this.current === 1 ? 1 : 0; // 0=未完成,1=已完成
        //页面加载时调用的事件
        this.$post({
          url: "/THJ/getPage",
          data: {
            pageIndex: 1,
            limit: 20,
            statusUser: this.$loginInfo.account,
            tj: tj
          }
        }).then(res => {
          const list = (res && res.data && res.data.tbBillList) ? res.data.tbBillList : [];
          const showDone = this.current === 1;
          this.data = list.filter(it => {
            const tjRaw = it && (it.tj !== undefined ? it.tj : it.TJ);
            const tjVal = tjRaw === undefined || tjRaw === null ? '' : String(tjRaw).trim();
            const isDone = tjVal === '1' || tjVal === 1;
            return showDone ? isDone : !isDone;
          });
        })
      },
      onClickItem(index) {
        if (this.current !== index.currentIndex) {
          this.current = index.currentIndex;
          this.init();
        }
      }).then(res => {
        this.data = res.data.tbBillList;
      })
      },
    },
    onClickItem(index) {
      if (this.current !== index.currentIndex) {
        this.current = index.currentIndex;
        this.init();
      }
    /**
     * 下拉刷新回调函数
     */
    onPullDownRefresh() {
      //重新执行一遍查询
      this.init();
      this.tipShow = true;
      //关闭动画
      uni.stopPullDownRefresh();
      setTimeout(function () {
        this.tipShow = false;
      }, 3000);
    },
  },
  /**
   * 下拉刷新回调函数
   */
  onPullDownRefresh() {
    //重新执行一遍查询
    this.init();
    this.tipShow = true;
    //关闭动画
    uni.stopPullDownRefresh();
    setTimeout(function () {
      this.tipShow = false;
    }, 3000);
  },
  /**
   * 上拉加载回调函数
   */
  onReachBottom() {
    this.init();
  },
  onShow() {
    //每次进入页面都会执行的方法
    this.init();
    /**
     * 上拉加载回调函数
     */
    onReachBottom() {
      this.init();
    },
    onShow() {
      //每次进入页面都会执行的方法
      this.init();
    }
  };
  </script>
  <style lang="scss">
  @import '@/common/uni-ui.scss';
  .uni-note {
    margin-top: 0;
  }
};
</script>
<style lang="scss">
@import '@/common/uni-ui.scss';
.uni-note {
  margin-top: 0;
}
/* Set the input backgrounds to be gray */
.form-input {
  background-color: #f2f2f2; /* Or any other shade of gray you prefer */
}
/* Ensure automatic adaptation based on page size */
.form-group {
  display: flex;
  align-items: center;
}
.form-label {
  margin-bottom: 0;
  border-bottom: 1px solid #FFFFFF;
  padding: 5px;
  font-size: 12px;
  width: 60px;
  /* Adjust the font size as per your requirement */
}
.form-input {
  flex: 1;
  margin-bottom: 0;
  border-bottom: 1px solid #c7c7c7;
  padding: 5px;
  font-size: 12px;
  background-color: #FFFFFF;
  /* Adjust the font size as per your requirement */
}
page {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  background-color: #efeff4;
  min-height: 100%;
  height: auto;
}
.tips {
  color: #67c23a;
  font-size: 14px;
  line-height: 40px;
  text-align: center;
  background-color: #f0f9eb;
  height: 0;
  opacity: 0;
  transform: translateY(-100%);
  transition: all 0.3s;
}
.tips-ani {
  transform: translateY(0);
  height: 40px;
  opacity: 1;
}
.content {
  width: 100%;
}
.list-picture {
  width: 100%;
  height: 145px;
}
.thumb-image {
  width: 100%;
  height: 100%;
}
.ellipsis {
  display: flex;
  overflow: hidden;
}
.uni-ellipsis-1 {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.uni-ellipsis-2 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
</style>
  /* Set the input backgrounds to be gray */
  .form-input {
    background-color: #f2f2f2; /* Or any other shade of gray you prefer */
  }
  /* Ensure automatic adaptation based on page size */
  .form-group {
    display: flex;
    align-items: center;
  }
  .form-label {
    margin-bottom: 0;
    border-bottom: 1px solid #FFFFFF;
    padding: 5px;
    font-size: 12px;
    width: 60px;
    /* Adjust the font size as per your requirement */
  }
  .form-input {
    flex: 1;
    margin-bottom: 0;
    border-bottom: 1px solid #c7c7c7;
    padding: 5px;
    font-size: 12px;
    background-color: #FFFFFF;
    /* Adjust the font size as per your requirement */
  }
  page {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    background-color: #efeff4;
    min-height: 100%;
    height: auto;
  }
  .tips {
    color: #67c23a;
    font-size: 14px;
    line-height: 40px;
    text-align: center;
    background-color: #f0f9eb;
    height: 0;
    opacity: 0;
    transform: translateY(-100%);
    transition: all 0.3s;
  }
  .tips-ani {
    transform: translateY(0);
    height: 40px;
    opacity: 1;
  }
  .content {
    width: 100%;
  }
  .list-picture {
    width: 100%;
    height: 145px;
  }
  .thumb-image {
    width: 100%;
    height: 100%;
  }
  .ellipsis {
    display: flex;
    overflow: hidden;
  }
  .uni-ellipsis-1 {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .uni-ellipsis-2 {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  </style>