Crunchy
2023-12-07 6d213775d14a63d18d9eb17b44ba14bd3bb220da
src/views/plan/manufacturingorder/index.vue
@@ -105,6 +105,12 @@
            :loading="loadingExcel"
            >导出
          </el-button>
          <el-button
            @click="labelPrint"
            type="primary"
            style="margin-left:10px;"
            >标签打印
          </el-button>
          <!-- <el-button
            v-if="permissions.manufacturingorder_update_orderno"
            @click="updateOrderNo"
@@ -190,6 +196,31 @@
        </span>
      </el-dialog>
    </basic-container>
    <!-- 标签打印 -->
    <el-dialog title="标签列表" :visible.sync="diaPrintTab" width="500px">
      <div class="dia_body" style="height: 400px;overflow-y: auto;padding: 0 10px;">
        <el-card class="box-card" v-for="(item, i) in qrData" :key="i" style="margin-bottom: 15px;width:100%">
              <el-row>
                <el-col :span="10" :offset="3">序号:</el-col>
                <el-col :span="10" style="font-weight: bold;">{{ i + 1 }}</el-col>
              </el-row>
              <el-row>
                <el-col :span="10" :offset="3">车间订单号:</el-col>
                <el-col :span="10" style="font-weight: bold;">{{ item.moNo2 }}</el-col>
              </el-row>
              <el-row>
                <el-col :span="10" :offset="3">订单二维码:</el-col>
                <el-col :span="10">
                  <vueQr :text="JSON.stringify(item)" :size="80" :margin="2"></vueQr>
                </el-col>
              </el-row>
          </el-card>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="diaPrintTab = false">取 消</el-button>
        <el-button type="primary" @click="diaPrintTab = false">打 印</el-button>
      </span>
    </el-dialog>
  </div>
</template>
@@ -218,9 +249,14 @@
import DelMatUnIssueVue from './DelMatUnIssue.vue'
import { getStore } from '@/util/store.js'
import { getObj as getSysParam } from '@/api/admin/sys-public-param'
import vueQr from 'vue-qr'
export default {
  data() {
    return {
      checkList: [],
      qrData: [],
      orderDatalist:[],
      diaPrintTab:false,
      showCustomerorder: false,
      paramObj: { customerList: null },
      customerOrder: null,
@@ -421,6 +457,15 @@
            minWidth: '120',
            prop: 'lengthRequirement',
            label: '盘长要求',
            sort: true,
            isTrue: true,
            isSearch: true,
            searchInfoType: 'text'
          },
           {
            minWidth: '120',
            prop: 'scrapQty',
            label: '报废数量',
            sort: true,
            isTrue: true,
            isSearch: true,
@@ -823,14 +868,7 @@
          }
        ],
        toolbar: [],
        operator: [
          // {
          //   text: '查看库存',
          //   type: 'text',
          //   size: 'small',
          //   fun: this.searchStock
          // }
        ],
        operator: null,
        operatorConfig: {
          fixed: 'right',
          label: '操作',
@@ -902,7 +940,8 @@
    AutoOperationtask,
    IssueMaterialForm,
    OrderMergeForm,
    DelMatUnIssueVue
    DelMatUnIssueVue,
    vueQr
  },
  created() {
    this.getManufactureAttrs()
@@ -1003,7 +1042,6 @@
      }
    })
  },
  computed: {
    ...mapGetters(['permissions'])
  },
@@ -1130,6 +1168,7 @@
                getByMoIds([this.orderPlan.id]).then((repsonse) => {
                  const resData = repsonse.data.data
                  const resCode = repsonse.data.code
                  console.log("resData-----",repsonse);
                  if (resCode === 0) {
                    const _that = this
                    for (const key in resData) {
@@ -1361,8 +1400,35 @@
        }
      }
    },
    //初始化二维码标签数据
    initQrData(data){
      if(data){
        let index = Number(data.qtyRequired) + Number(data.scrapQty)
        if(index>0){
          for(var i=1;i<= index;i++){
            let obj = {
              moNo: data.moNo,
              moNo2: null,
            }
            let no = (i+"").padStart(3,'0')
            obj.moNo2 = data.moNo + no
            this.qrData.push(obj)
          }
        }
      }
    },
    // table自带事件
    handleSelectionChange(val) {
      let orderData = []
      orderData =val.map( el =>{
         return{
            moNo:el.moNo,
            qtyRequired: el.qtyRequired,
            scrapQty: el.scrapQty
         }
      })
     this.orderDatalist = orderData
     this.initQrData(orderData[0])
      // 根据状态,禁用表头按钮
      // 筛选出选中记录的状态
      var stateArr = val.map(function(value, index) {
@@ -1654,6 +1720,13 @@
      } else {
        this.$message.error('上传失败')
      }
    },
    labelPrint(){
      if(this.multipleSelection.length==0){
          this.$message.warning('请选择一条数据')
          return
        }
      this.diaPrintTab = true
    }
  }
}