yyb
4 天以前 d33f290654ef65f537240ff4774cfd0eb66f0b4c
接收铜杆/核磅录入开发
已修改4个文件
已添加1个文件
438 ■■■■ 文件已修改
pages/product/cancelReport/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/product/receive/index.vue 173 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/sys/home/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/wareHouse/nuclearScale/createwriteoffform.vue 259 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/wareHouse/nuclearScale/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/product/cancelReport/index.vue
@@ -2,7 +2,7 @@
  <!-- å–消报工 -->
  <view class="page">
    <view class="packing-registration-bg" />
    <u-navbar title="核磅录入" :background="background" :border-bottom="false" :title-bold="true" title-color="#000"
    <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">
pages/product/receive/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,173 @@
<template>
  <!-- æŽ¥æ”¶ï¼ˆé“œæ†ï¼‰ -->
  <view 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="280" :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="物料和工序" prop="value7">
        <u-checkbox-group>
          <u-checkbox :name="item.name" v-for="(item, index) in checkboxList" :key="index" v-model="item.value"
            @change="changeCheckbox">
            {{ item.name }}
          </u-checkbox>
        </u-checkbox-group>
      </u-form-item>
      <u-form-item label="库存接收" :border-bottom="false" prop="value12"></u-form-item>
    </u-form>
    <scan></scan>
  </view>
</template>
<script>
import content_bg from '@/static/custom/packing/backBg.png'
import scan from "@/components/scan/scan.vue";
export default {
  components: {scan },
  data() {
    return {
      background: {
        backgroundImage: `url(${content_bg})`,
        backgroundAttachment: 'fixed',
        backgroundSize: '100% auto',
        backgroundRepeat: 'no-repeat',
      },
      form: {
        value1: '',
         value2: '',
        value3: '',
         value4: '',
         value5: '',
         value6: '',
      },
      rules: {},
            checkboxList: [
        {
          name: '倒冲',
          value: false
        },
        {
          name: '工序的自动报告',
          value: false
        },
        {
          name: '简化物料检查',
          value: false
        }
      ],
    };
  },
  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: {
    // é€‰æ‹©è®¢å•号
    openList() {
      // if (this.form.value1 === '') {
      //   uni.showToast({
      //     title: '请先扫描或输入报工单号',
      //     icon: 'none'
      //   })
      //   return
      // }
      uni.navigateTo({
        url: '/pages/product/report/orderList'
      })
    },
        // å­˜è®¢å•号
    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
    },
    setNo(val) {
      this.form.value3 = val
    },
    // å¤šé€‰å¤„理
    changeCheckbox(val) {
      if (val.name === '倒冲') {
        this.checkboxList[2].value = false
      }
      if (val.name === '简化物料检查') {
        this.checkboxList[0].value = false
      }
    },
  }
}
</script>
<style lang="scss" scoped>
.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;
}
::v-deep .u-input__input {
  text-align: right !important;
}
.u-form-item {
  padding: 0;
}
</style>
pages/sys/home/index.vue
@@ -39,7 +39,7 @@
                        },
                        {
                            name: '接收(铜杆)',
                            url: '/',
                            url: '/pages/product/receive/index',
                            icon: 'three'
                        },
                        {
pages/wareHouse/nuclearScale/createwriteoffform.vue
@@ -13,7 +13,7 @@
                </u-radio-group>
            </u-form-item>
            <u-form-item label="替换二维码" :border-bottom="false" prop="value1">
                <u-radio-group v-model="form.value0">
                <u-radio-group v-model="form.value1">
                    <u-radio name="1">是</u-radio>
                    <u-radio name="0">否</u-radio>
                </u-radio-group>
@@ -22,11 +22,13 @@
                <u-input v-model="form.value2" type="select" placeholder="请输入车牌号" @click="lpn" />
            </u-form-item>
            <u-form-item label="客户名称" :border-bottom="false" prop="value3">
                <picker class="item-one" style="width: 100%;text-align: right;"
                <picker class="item-one" style="width: 100%; text-align: right"
                    @change="locNoNumBindChange($event, locNoList)" :value="locNoNumIndex" :range="locNoList"
                    range-key="label">
                    <view>
                        <text>{{locNoNumIndex==null ? "请选择":locNoList[locNoNumIndex].label}}</text>
                        <text>{{
              locNoNumIndex == null ? "请选择" : locNoList[locNoNumIndex].label
            }}</text>
                    </view>
                </picker>
                <u-icon v-if="locNoNumIndex == null" name="arrow-right" color="#687792" size="28"></u-icon>
@@ -35,21 +37,25 @@
                <u-input v-model="form.value4" placeholder="" disabled />
            </u-form-item>
            <u-form-item label="生产车间" :border-bottom="false" prop="value5">
                <picker class="item-one" style="width: 100%;text-align: right;"
                <picker class="item-one" style="width: 100%; text-align: right"
                    @change="locNoNumBindChange($event, locNoList)" :value="locNoNumIndex" :range="locNoList"
                    range-key="label">
                    <view>
                        <text>{{locNoNumIndex==null ? "请选择":locNoList[locNoNumIndex].label}}</text>
                        <text>{{
              locNoNumIndex == null ? "请选择" : locNoList[locNoNumIndex].label
            }}</text>
                    </view>
                </picker>
                <u-icon v-if="locNoNumIndex == null" name="arrow-right" color="#687792" size="28"></u-icon>
            </u-form-item>
            <u-form-item label="司磅员" :border-bottom="false" prop="value6">
                <picker class="item-one" style="width: 100%;text-align: right;"
                <picker class="item-one" style="width: 100%; text-align: right"
                    @change="locNoNumBindChange($event, locNoList)" :value="locNoNumIndex" :range="locNoList"
                    range-key="label">
                    <view>
                        <text>{{locNoNumIndex==null ? "请选择":locNoList[locNoNumIndex].label}}</text>
                        <text>{{
              locNoNumIndex == null ? "请选择" : locNoList[locNoNumIndex].label
            }}</text>
                    </view>
                </picker>
                <u-icon v-if="locNoNumIndex == null" name="arrow-right" color="#687792" size="28"></u-icon>
@@ -58,21 +64,26 @@
                <u-input v-model="form.value7" type="select" placeholder="请选择" @click="openForkliftDriverList" />
            </u-form-item>
        </u-form>
        <u-button type="primary" class="bottom-button" @click="submit">提交</u-button>
        <u-button type="primary" class="bottom-button" @click="submit">创建</u-button>
        <!--车牌号 -->
        <modalBg ref="modalBg" :confirm="confirm">
            <u-field v-model="form.value2" label="车牌号:" placeholder="请输入" :border-bottom="false">
            </u-field>
        </modalBg>
        <u-modal v-model="showModal" title="" :show-cancel-button="true" :show-confirm-button="true" @confirm="confirm"
            @cancel="cancel">
            <!-- <u-checkbox-group> -->
                <!-- <u-checkbox :name="item.name" v-for="(item, index) in checkboxList" :key="index" v-model="item.value"
                    @change="changeCheckbox">
                    {{ item.name }}
                </u-checkbox> -->
            <!-- </u-checkbox-group> -->
    <!-- å‰è½¦å·¥ -->
        <u-modal v-model="showModal" title="" :show-cancel-button="true" :show-confirm-button="true"
            @confirm="confirmSelection" @cancel="cancel">
            <view class="popup-content">
                <view class="popup-header">
                    <checkbox-group @change="checkboxChange">
                        <label class="checkbox-item" v-for="(item, index) in options" :key="index">
                            <checkbox :value="item.value" :checked="item.checked" />
                            <text class="label">{{ item.label }}</text>
                        </label>
                    </checkbox-group>
                </view>
            </view>
        </u-modal>
    </div>
</template>
@@ -82,31 +93,31 @@
    import content_bg from "@/static/custom/packing/backBg.png";
    export default {
        components: {
            modalBg
            modalBg,
        },
        data() {
            return {
                // checkboxList: [{
                //         name: '工人1',
                //         value: '1'
                //     },
                //     {
                //         name: '工人2',
                //         value: '2'
                //     },
                //     {
                //         name: '工人3',
                //         value: '3'
                //     },
                //     {
                //         name: '工人4',
                //         value: '4'
                //     },
                //     {
                //         name: '工人5',
                //         value: '5'
                //     },
                // ],
                checkboxList: [{
                        name: "工人1",
                        value: "1",
                    },
                    {
                        name: "工人2",
                        value: "2",
                    },
                    {
                        name: "工人3",
                        value: "3",
                    },
                    {
                        name: "工人4",
                        value: "4",
                    },
                    {
                        name: "工人5",
                        value: "5",
                    },
                ],
                background: {
                    backgroundImage: `url(${content_bg})`,
                    backgroundAttachment: "fixed",
@@ -120,7 +131,7 @@
                    value1: "",
                    value2: "",
                    value3: "",
                    value4: "",
                    value4: "111",
                    value5: "",
                    value6: "",
                    value7: "",
@@ -129,86 +140,138 @@
                rules: {
                    value0: [{
                        required: true,
                        message: "请选择车间",
                        message: "请选择产品类型",
                        trigger: ["change"],
                    }, ],
                    value1: [{
                        required: true,
                        message: "请选择报工单号",
                        message: "请选择是否替换二维码",
                        trigger: ["change", "blur"],
                    }, ],
                    value2: [{
                        required: true,
                        message: "请选择工序",
                        message: "请输入车牌号",
                        trigger: ["change", "blur"],
                    }, ],
                    value3: [{
                    // value3: [
                    //   {
                    //     required: true,
                    //     message: "请选择客户名称",
                    //     trigger: ["change", "blur"],
                    //   },
                    // ],
                    value4: [{
                        required: true,
                        message: "请选择订单号",
                        trigger: ["change", "blur"],
                    }, ],
                    value9: [{
                        required: true,
                        message: "请选择报工类型",
                        message: "请输入发货通知单号",
                        trigger: ["change"],
                    }, ],
                    value10: [{
                    value5: [{
                        required: true,
                        message: "请选择接收零件类型",
                        message: "请选择生产车间",
                        trigger: ["change"],
                    }, ],
                    value11: [{
                    value6: [{
                        required: true,
                        message: "请选择司磅员",
                        trigger: ["change"],
                    }, ],
                    value7: [{
                        type: "array",
                        required: true,
                        message: "请至少选择一个物料和工序选项",
                        message: "请至少选择一个叉车工",
                        trigger: ["change"],
                    }, ],
                },
                locNoList: [{
                        value: "0",
                        label: "公司1"
                        label: "公司1",
                    },
                    {
                        value: "1",
                        label: "公司2"
                        label: "公司2",
                    },
                    {
                        value: "2",
                        label: "公司3"
                        label: "公司3",
                    },
                    {
                        value: "3",
                        label: "公司4"
                        label: "公司4",
                    },
                    {
                        value: "4",
                        label: "公司5"
                        label: "公司5",
                    },
                    {
                        value: "5",
                        label: "公司6"
                        label: "公司6",
                    },
                ],
        locNoNumIndex: 0,
        showModal:false
                locNoNumIndex: null,
                showModal: false,
                options: [{
                        label: "篮球",
                        value: "basketball",
                        checked: false
                    },
                    {
                        label: "游泳",
                        value: "swimming",
                        checked: false
                    },
                    {
                        label: "阅读",
                        value: "reading",
                        checked: false
                    },
                    {
                        label: "旅行",
                        value: "travel",
                        checked: false
                    },
                    {
                        label: "音乐",
                        value: "music",
                        checked: false
                    },
                ],
                selectedItems: [],
            };
        },
        onReady() {
            this.$refs.uForm.setRules(this.rules);
        },
        onShow() {},
  methods: {
    openForkliftDriverList() {
        this.showModal = true
      },
        methods: {
            // å¤é€‰æ¡†å˜åŒ–事件
            checkboxChange(e) {
                const values = e.detail.value;
                this.options = this.options.map((item) => {
                    return {
                        ...item,
                        checked: values.includes(item.value)
                    };
                });
            },
            // ç¡®è®¤é€‰æ‹©
      confirmSelection() {
                this.form.value7 = this.options
                    .filter((item) => item.checked)
                    .map((item) => item.label);
            },
            openForkliftDriverList() {
                this.showModal = true;
            },
            locNoNumBindChange(e, storage) {
                if (storage.length <= 0) {
                    this.locNoNumIndex = null
                    return
                    this.locNoNumIndex = null;
                    return;
                }
                this.locNoNumIndex = e.target.value
                this.registerInfo.locNo = storage[this.locNoNumIndex].label
                console.log('locNoNumIndex', this.registerInfo.locNo)
                this.locNoNumIndex = e.target.value;
                this.form.value3 = storage[this.locNoNumIndex].label;
            },
            // æ‰“开弹框--后面还需要监听扫码枪扫码结果,赋值给报工单号字段,然后打开弹框选择订单号等操作
            lpn() {
@@ -221,12 +284,64 @@
            },
            // æäº¤æŒ‰é’®
            submit() {
                this.show = true;
                if (!this.$refs.uForm.validate()) {
                    console.log("1111");
                    return;
                }
                if (this.form.value3 === "") {
                    uni.showToast({
                        title: "请先选择客户名称",
                        icon: "none",
                    });
                    return;
                }
            },
        },
    };
</script>
<style lang="scss">
<style lang="scss" scoped>
    @import "index.scss";
    /* å¼¹çª—样式 */
    .popup-content {
        padding: 30rpx;
        max-height: 70vh;
        overflow-y: auto;
    }
    .popup-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-bottom: 20rpx;
        border-bottom: 1rpx solid #eee;
        margin-bottom: 20rpx;
    }
    .title {
        font-size: 32rpx;
        font-weight: bold;
    }
    .confirm-btn {
        color: #007AFF;
        font-size: 28rpx;
    }
    /* å¤é€‰æ¡†æ ·å¼ */
    .checkbox-item {
        display: flex;
        align-items: center;
        padding: 20rpx 0;
        border-bottom: 1rpx solid #f5f5f5;
    }
    .checkbox-item:last-child {
        border-bottom: none;
    }
    .checkbox-item .label {
        margin-left: 20rpx;
    }
</style>
pages/wareHouse/nuclearScale/index.vue
@@ -33,7 +33,7 @@
        <!-- <u-input v-model="form.value4" placeholder="" disabled /> -->
      </u-form-item>
    </u-form>
    <u-button type="primary" class="bottom-button" @click="submit">创建</u-button>
    <u-button type="primary" class="bottom-button" @click="submit">提交</u-button>
        <u-modal v-model="show" @confirm="confirm" content="是否确认提交" show-cancel-button></u-modal>
    <scan></scan>
  </div>