yyb
2 天以前 d33f290654ef65f537240ff4774cfd0eb66f0b4c
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>