spring
5 天以前 7b634da281a7ae621605c273b199e4ff14820c45
核磅录入10%
已修改4个文件
已添加3个文件
546 ■■■■■ 文件已修改
pages.json 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/product/cancelReport/index.vue 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/sys/home/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/wareHouse/inventory/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/wareHouse/nuclearScale/index.scss 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/wareHouse/nuclearScale/index.vue 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/wareHouse/nuclearScale/nuclearScaleList.vue 298 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json
@@ -565,6 +565,26 @@
        "enablePullDownRefresh": false
      }
    },
    // æ ¸ç£…录入
    {
      "path": "pages/wareHouse/nuclearScale/index",
      "style": {
        "navigationStyle": "custom",
        "navigationBarTitleText": "",
        // "navigationBarBackgroundColor": "#CEE3FE",
        "enablePullDownRefresh": false
      }
    },
    // æ ¸ç£…单号
    {
      "path": "pages/wareHouse/nuclearScale/nuclearScaleList",
      "style": {
        "navigationStyle": "custom",
        "navigationBarTitleText": "",
        // "navigationBarBackgroundColor": "#CEE3FE",
        "enablePullDownRefresh": false
      }
    },
    {
      "path": "pages/product/tailHandle/index",
      "style": {
@@ -714,8 +734,10 @@
    {
      "path": "pages/product/cancelReport/index",
      "style": {
        "navigationBarTitleText": "取消报工",
        "navigationBarBackgroundColor": "#0052d9"
        "navigationStyle": "custom",
        "navigationBarTitleText": "",
        // "navigationBarBackgroundColor": "#3281FF"
        "enablePullDownRefresh": false
      }
    },
        // ç›˜ç‚¹æŠ¥å‘Šå·
pages/product/cancelReport/index.vue
@@ -1,7 +1,10 @@
<template>
  <!-- å–消报工 -->
  <view class="page">
    <u-form :model="form" ref="uForm" :label-width="280" :rules="rules" :error-type="['toast']">
    <view class="packing-registration-bg" />
    <u-navbar title="核磅录入" :background="background" :border-bottom="false" :title-bold="true" title-color="#000"
      back-icon-color="#000" />
    <u-form :model="form" ref="uForm" :label-width="280" :rules="rules" :error-type="['toast']" class="uForm">
      <u-form-item label="订单号" :border-bottom="false" prop="value3">
        <u-input v-model="form.value3" type="select" placeholder="点击选择" @click="openList" />
      </u-form-item>
@@ -11,9 +14,16 @@
</template>
<script>
import content_bg from '@/static/custom/packing/backBg.png'
export default {
  data() {
    return {
      background: {
        backgroundImage: `url(${content_bg})`,
        backgroundAttachment: 'fixed',
        backgroundSize: '100% auto',
        backgroundRepeat: 'no-repeat',
      },
      form: {
        value3: ''
      },
@@ -37,7 +47,27 @@
<style lang="scss" scoped>
.page {
  box-sizing: border-box;
  padding: 30rpx;
}
.packing-registration-bg {
  background-color: #f6f9ff;
  background-image: url("~@/static/custom/packing/backBg.png");
  padding: 0 20rpx;
  background-attachment: fixed;
  background-size: 100% auto;
  background-repeat: no-repeat;
  position: fixed;
  top: 0;
  bottom: 0;
  width: 100%;
  z-index: -1;
}
.uForm {
  background: #fff;
  margin: 40rpx 30rpx;
  padding: 20rpx 30rpx;
  border-radius: 16rpx;
}
::v-deep .u-input__input {
pages/sys/home/index.vue
@@ -69,7 +69,7 @@
                        },
                        {
                            name: '核磅录入',
                            url: '/pages/wareHouse/packing/registration',
                            url: '/pages/wareHouse/nuclearScale/index',
                            icon: 'eight'
                        },
                        {
pages/wareHouse/inventory/index.vue
@@ -10,8 +10,8 @@
                        <text class="item-one">盘点报告号</text>
                    </view>
                    <view class="packing-registration-param-item-right">
                        <text class="item-one item-two"
                            @click="seachPersonnelNo()">{{registerInfo.value1=='' ? "点击选择":registerInfo.value1}}</text>
                        <text class="item-one item-two" @click="seachPersonnelNo()">{{ registerInfo.value1 == '' ?
                            "点击选择" : registerInfo.value1}}</text>
                        <u-icon name="arrow-right" color="#687792" size="28" @click="seachPersonnelNo()"
                            v-show="registerInfo.value1 ==''"></u-icon>
                    </view>
pages/wareHouse/nuclearScale/index.scss
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
.page {
  box-sizing: border-box;
}
.packing-registration-bg {
  background-color: #f6f9ff;
  background-image: url("~@/static/custom/packing/backBg.png");
  padding: 0 20rpx;
  background-attachment: fixed;
  background-size: 100% auto;
  background-repeat: no-repeat;
  position: fixed;
  top: 0;
  bottom: 0;
  width: 100%;
  z-index: -1;
}
.uForm {
  background: #fff;
  margin: 40rpx 30rpx;
  padding: 20rpx 30rpx;
  border-radius: 16rpx;
}
.u-checkbox-group {
  display: flex;
  flex-direction: column;
}
.u-form-item {
  padding: 0;
}
.packer-popup {
  ::v-deep .u-mode-center-box {
    border-radius: 30rpx;
  }
  .popup-row {
    background-image: url("~@/static/custom/packing/row_bg.png");
    background-size: 100% auto;
    background-repeat: no-repeat;
    height: 89rpx;
    width: 520rpx;
    display: flex;
    justify-content: space-between;
    padding-top: 12rpx;
    padding-left: 14rpx;
    padding-right: 20rpx;
  }
}
::v-deep .u-input__input {
  text-align: right !important;
}
.bottom-button {
  position: fixed;
  bottom: 40rpx;
  left: 50%;
  width: calc(100% - 80rpx);
  transform: translateX(-50%);
}
pages/wareHouse/nuclearScale/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,124 @@
<template>
  <!-- æ ¸ç£…录入 -->
  <div class="page">
    <view class="packing-registration-bg" />
    <u-navbar title="核磅录入" :background="background" :border-bottom="false" :title-bold="true" title-color="#000"
      back-icon-color="#000" />
    <u-form :model="form" ref="uForm" :label-width="200" :rules="rules" :error-type="['toast']" class="uForm">
      <u-form-item label="核磅单号" :border-bottom="false" prop="value1">
        <u-input v-model="form.value1" type="select" placeholder="请选择核磅单号" @click="openList" />
      </u-form-item>
      <u-form-item label="产品类型" :border-bottom="false" prop="value2">
        <u-input v-model="form.value2" placeholder="" disabled />
      </u-form-item>
      <u-form-item label="车牌号" :border-bottom="false" prop="value3">
        <u-input v-model="form.value3" placeholder="" disabled />
      </u-form-item>
      <u-form-item label="发货通知单" :border-bottom="false" prop="value4">
        <u-input v-model="form.value4" placeholder="" disabled />
      </u-form-item>
      <u-form-item label="客户名称" :border-bottom="false" prop="value5">
        <u-input v-model="form.value5" placeholder="" disabled />
      </u-form-item>
      <u-form-item label="司磅员" :border-bottom="false" prop="value6">
        <u-input v-model="form.value6" placeholder="" disabled />
      </u-form-item>
      <u-form-item label="叉车司机" :border-bottom="false" prop="value7">
        <u-input v-model="form.value7" placeholder="" disabled />
      </u-form-item>
      <u-form-item label="核磅记录" :border-bottom="false" prop="value8">
        <u-input v-model="form.value8" type="select" placeholder="" @click="open" />
      </u-form-item>
      <u-form-item label="扫码记录(0条):" :border-bottom="false" prop="value4" :label-width="260">
        <!-- <u-input v-model="form.value4" placeholder="" disabled /> -->
      </u-form-item>
    </u-form>
    <u-button type="primary" class="bottom-button">提交</u-button>
    <scan></scan>
  </div>
</template>
<script>
import scan from "@/components/scan/scan.vue";
import content_bg from '@/static/custom/packing/backBg.png'
export default {
  components: { scan },
  data() {
    return {
      background: {
        backgroundImage: `url(${content_bg})`,
        backgroundAttachment: 'fixed',
        backgroundSize: '100% auto',
        backgroundRepeat: 'no-repeat',
      },
      form: {
        value0: '',
        value1: '',
        value2: '',
        value3: '',
        value4: '',
        value5: '',
        value6: '',
        value7: '',
        value8: ''
      },
      rules: {
        value1: [
          {
            required: true,
            message: '请选择核磅单号',
            trigger: ['change', 'blur'],
          },
        ],
      },
    }
  },
  onReady() {
    this.$refs.uForm.setRules(this.rules);
  },
  onShow() {
    let that = this
    uni.$off('scan') // æ¯æ¬¡è¿›æ¥å…ˆ ç§»é™¤å…¨å±€è‡ªå®šä¹‰äº‹ä»¶ç›‘听器
    uni.$on('scan', function (data) {
      console.log('onscan');
      //扫码成功后的回调,你可以写自己的逻辑代码在这里
      console.log('页面扫码结果:', data.code);
      if (data.code) {
        let codeInfo = JSON.parse(data.code)
        if (codeInfo.WorkNo) {
          // æ‰«ææŠ¥å·¥å•二维码
          that.saveForm(codeInfo);
        }
      }
    })
  },
  methods: {
    // å¼¹æ¡†ä¿å­˜
    confirm() {
      console.log('保存', this.form.value1);
      // è¯·æ±‚接口,根据工单号查询其他信息并赋值
    },
    // é€‰æ‹©è®¢å•号
    openList() {
      uni.navigateTo({
        url: '/pages/wareHouse/nuclearScale/nuclearScaleList'
      })
    },
    // å­˜è®¢å•号
    setNo(val) {
      this.form.value3 = val
    },
    // å›žæ˜¾æ‰«ç çš„信息-报工单
    saveForm(val) {
      let { WorkNo, ProcessName, ORDER_NO } = val
      this.form.value1 = WorkNo
      this.form.value2 = ProcessName
      this.form.value3 = ORDER_NO
    }
  }
}
</script>
<style lang="scss">
@import 'index.scss';
</style>
pages/wareHouse/nuclearScale/nuclearScaleList.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,298 @@
<template>
  <view class="page">
    <view class="finishProductIn-locno-bg" />
    <u-navbar title="核磅单号" :background="background" :border-bottom="false" :title-bold="true" title-color="#000"
      back-icon-color="#000" />
    <view class="finishProductIn-locno-search">
      <u-search v-model="keywords" shape="square" bg-color="rgba(250,252,255,0.36)" :show-action="false"
        placeholder="请输入核磅单号" @clear="search" @custom="search" @search="search">
      </u-search>
    </view>
    <view class="wrap">
      <scroll-view class="finishProductIn-locno-scroll-list" scroll-y="true" @scrolltolower="loadMore">
        <u-cell-group class="finishProductIn-locno-scroll-list-group" :border="false">
          <view class="content" v-for="(item, index) in list" :key="item.locNo" :index="index"
            @click="selectNo(item.index)">
            <view class="row-list">
              <view class="_label">
                <view class="_label-icon-1">
                </view>
                <view class="_label-name">订单号:</view>
              </view>
              <view class="_content">
                {{ item.value0 }}
              </view>
            </view>
            <view class="row-list">
              <view class="_label">
                <view class="_label-icon-2">
                </view>
                <view class="_label-name">零件号:</view>
              </view>
              <view class="_content">
                {{ item.value1 }}
              </view>
            </view>
            <view class="row-list">
              <view class="_label">
                <view class="_label-icon-3">
                </view>
                <view class="_label-name">零件描述:</view>
              </view>
              <view class="_content">
                {{ item.value2 }}
              </view>
            </view>
            <view class="row-list">
              <view class="_label">
                <view class="_label-icon-1">
                </view>
                <view class="_label-name">批量大小:</view>
              </view>
              <view class="_content">
                {{ item.value3 }}
              </view>
            </view>
            <view class="row-list">
              <view class="_label">
                <view class="_label-icon-2">
                </view>
                <view class="_label-name">开始日期:</view>
              </view>
              <view class="_content">
                {{ item.value4 }}
              </view>
            </view>
            <view class="row-list">
              <view class="_label">
                <view class="_label-icon-3">
                </view>
                <view class="_label-name">结束日期:</view>
              </view>
              <view class="_content">
                {{ item.value5 }}
              </view>
            </view>
          </view>
        </u-cell-group>
        <view class="loadmore" @click="loadMore">
          <u-loadmore :status="loadStatus"></u-loadmore>
        </view>
      </scroll-view>
    </view>
  </view>
</template>
<script>
import content_bg from '@/static/custom/finishProductIn/locNoBg.png'
export default {
  data() {
    return {
      background: {
        backgroundImage: `url(${content_bg})`,
        backgroundAttachment: 'fixed',
        backgroundSize: '100% auto',
        backgroundRepeat: 'no-repeat',
      },
      keywords: '',
      alllist: [],
      originList: [],
      query: {
        current: 1,
        size: 10
      },
      list: [
        {
          index: 1,
          value0: '123456789',
          value1: '123456789',
          value2: '123456789',
          value3: '123456789',
          value4: '123456789',
          value5: '123456789'
        }
      ],
      count: 0,
      loadStatus: 'loading'
    };
  },
  onLoad() {
    this.$u.api.finishProductIn.fetchList().then(res => {
      this.alllist = res.data
      this.originList = res.data
      this.loadList()
    })
  },
  methods: {
    loadMore() {
      if (this.loadStatus == "nomore" || this.loadStatus == "loading") {
        return
      }
      this.loadStatus = "loading";
      setTimeout(() => {
        this.query.current += 1;
        this.loadList();
      }, 100);
    },
    loadList() {
      const data = this.originList.slice((this.query.current - 1) * this.query.size, this.query.current * this.query.size)
      this.list = this.list.concat(data);
      this.loadStatus = "loadmore";
      if (!data || data.length < this.query.size) {
        this.loadStatus = "nomore";
      }
    },
    search(value) {
      this.list = [];
      this.query.current = 1;
      if (value) {
        this.originList = this.alllist.filter(item => item.locNo.includes(value))
      } else {
        this.originList = this.alllist
      }
      this.loadList()
    },
    selectNo(no) {
      this.refreshLastPage(no)
    },
    //刷新上一个页面
    refreshLastPage(no) {
      // å‘ŠçŸ¥ A.vue æ›´æ–°æ•°æ®
      // èŽ·å–é¡µé¢æ ˆ
      let pages = getCurrentPages()
      // èŽ·å–ä¸Šä¸€é¡µæ ˆ
      let prevPage = pages[pages.length - 2]
      // è§¦å‘上一页 upData å‡½æ•°(并携带参数)
      prevPage.$vm.setNo(no)
      // è¿”回上一页
      uni.navigateBack({
        delta: 1
      })
    },
  }
};
</script>
<style lang="scss">
.finishProductIn-locno-bg {
  background-color: #F6F9FF;
  background-image: url('~@/static/custom/finishProductIn/locNoBg.png');
  // background: linear-gradient(180deg,rgba(206,227,254,1),rgba(206,227,254,1) 20%,rgba(206,227,254,0.5) 40%,rgba(206,227,254,0.25) 60%,rgba(206,227,254,0.08) 80%,rgba(206,227,254,0));
  padding: 0 20rpx;
  background-attachment: fixed;
  background-size: 100% auto;
  background-repeat: no-repeat;
  position: fixed;
  top: 0;
  bottom: 0;
  width: 100%;
  z-index: -1;
}
.finishProductIn-locno-search {
  padding: 40rpx 30rpx 20rpx 30rpx;
}
.wrap .finishProductIn-locno-scroll-list {
  height: calc(100vh - var(--window-top) - var(--window-bottom) - 242rpx);
  width: 100%;
}
.finishProductIn-locno-scroll-list-group {
  ::v-deep .u-cell-item-box {
    background-color: rgba(250, 252, 255, 0.36) !important;
    padding: 0rpx 30rpx;
  }
  .content {
    font-size: 12px;
    background-color: #FFFFFF;
    box-sizing: border-box;
    border-radius: 10rpx;
    margin: 0rpx 0rpx 16rpx;
    padding: 20rpx;
    box-shadow: none;
    .content-header {
      width: 40rpx;
      height: 90rpx;
      display: flex;
      align-items: center;
      .content-header-icon {
        background-image: url('~@/static/custom/moveWareHouse/header_icon.png');
        background-size: 100% auto;
        background-repeat: no-repeat;
        height: 28rpx;
        width: 28rpx;
      }
      .content-header-title {
        margin-left: 11rpx;
        font-size: 26rpx;
        font-weight: bold;
        color: #333333;
      }
    }
    .row-list {
      height: 60rpx;
      display: flex;
      flex-direction: row;
      padding: 0px;
      align-items: center;
    }
    .row-list ._label {
      display: flex;
      flex: 0.8;
      color: #909399;
      align-items: center;
      ._label-icon-1 {
        background-image: url('~@/static/custom/moveWareHouse/label-icon-1.png');
        background-size: 100% auto;
        background-repeat: no-repeat;
        height: 26rpx;
        width: 26rpx;
      }
      ._label-icon-2 {
        background-image: url('~@/static/custom/moveWareHouse/label-icon-2.png');
        background-size: 100% auto;
        background-repeat: no-repeat;
        height: 26rpx;
        width: 26rpx;
      }
      ._label-icon-3 {
        background-image: url('~@/static/custom/moveWareHouse/label-icon-3.png');
        background-size: 100% auto;
        background-repeat: no-repeat;
        height: 26rpx;
        width: 26rpx;
      }
      ._label-name {
        margin-left: 11rpx;
        font-size: 26rpx;
        font-weight: 500;
        color: #666666;
      }
    }
    .row-list ._content {
      flex: 1.5;
      text-align: right;
      color: #909399;
      font-size: 24rpx;
    }
    .row-list .s1 {
      color: #D35651;
    }
  }
}
</style>