王震
2023-12-07 75e035a10a0faeff6b2ec4b9fcbf98d1536274f2
src/views/plan/manufacturingorder/index.vue
@@ -48,7 +48,7 @@
            </el-dropdown-menu>
          </el-dropdown>
          <el-dropdown
          <!-- <el-dropdown
            v-if="permissions.manufacturingorder_issue_material"
            @command="issueMaterialHandleCommand"
            style="margin-left:10px;"
@@ -64,8 +64,8 @@
                >{{ item.label }}</el-dropdown-item
              >
            </el-dropdown-menu>
          </el-dropdown>
          <el-button
          </el-dropdown> -->
          <!-- <el-button
            v-if="permissions.manufacturingorder_orderto_ifs"
            @click="commitOrderIfs()"
            type="primary"
@@ -88,15 +88,15 @@
            style="margin-left:10px;"
            :loading="loadingStructIfs"
            >物料同步ERP
          </el-button>
          <el-button
          </el-button> -->
          <!-- <el-button
            v-if="permissions.manufacturingorder_refresh_ifsorder"
            @click="refreshIfsorder()"
            type="primary"
            style="margin-left:10px;"
            :loading="refreshIfsorderLoading"
            >刷新ifs车间订单号
          </el-button>
          </el-button> -->
          <el-button
            @click="exportExcel"
@@ -106,12 +106,18 @@
            >导出
          </el-button>
          <el-button
            @click="labelPrint"
            type="primary"
            style="margin-left:10px;"
            >标签打印
          </el-button>
          <!-- <el-button
            v-if="permissions.manufacturingorder_update_orderno"
            @click="updateOrderNo"
            type="primary"
            style="margin-left:10px;"
            >更新订单号
          </el-button>
          </el-button>-->
        </template>
      </ttable>
      <customerorder
@@ -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,
@@ -324,7 +360,7 @@
            sort: true,
            isTrue: true,
            formatter: this.formatState,
            propVal: '01planned',
            propVal: '',
            isSearch: true,
            searchInfoType: 'select',
            optList: () => {
@@ -426,10 +462,19 @@
            isSearch: true,
            searchInfoType: 'text'
          },
           {
            minWidth: '120',
            prop: 'scrapQty',
            label: '报废数量',
            sort: true,
            isTrue: true,
            isSearch: true,
            searchInfoType: 'text'
          },
          {
            minWidth: '120',
            prop: 'orderRemark',
            label: '销售订单备注',
            prop: 'remark',
            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()
@@ -934,12 +973,12 @@
        fun: this.getOperationTaskByCustomer
      })
    }
    if (this.permissions.manufacturingorder_order_merge) {
      this.table.toolbar.push({
        text: '订单合并',
        fun: this.openOrderMerge
      })
    }
    // if (this.permissions.manufacturingorder_order_merge) {
    //   this.table.toolbar.push({
    //     text: '订单合并',
    //     fun: this.openOrderMerge
    //   })
    // }
    /**
     * {
@@ -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,36 @@
        }
      }
    },
    //初始化二维码标签数据
    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) {
      console.log(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,7 +1721,19 @@
      } else {
        this.$message.error('上传失败')
      }
    },
    labelPrint(){
      if(this.multipleSelection.length==0){
          this.$message.warning('请选择一条数据')
          return
        }
      this.diaPrintTab = true
    }
  }
}
</script>
<style lang="scss">
.gantt-info {
  display: none !important;
}
</style>