Fixiaobai
2023-12-06 c48169d93608ee7f9e7bc41f21d8d470bd5fb44d
Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before
已修改6个文件
272 ■■■■■ 文件已修改
src/views/plan/manufacturingorder/index.vue 90 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/batchproductout-form-new.vue 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/feed-pane.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/productInDialog.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/product/workbench/workReportCard.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/Packaging_ledger/index.vue 117 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/plan/manufacturingorder/index.vue
@@ -109,7 +109,7 @@
            @click="labelPrint"
            type="primary"
            style="margin-left:10px;"
            >打印标签
            >标签打印
          </el-button>
          <!-- <el-button
            v-if="permissions.manufacturingorder_update_orderno"
@@ -195,36 +195,32 @@
          </div>
        </span>
      </el-dialog>
      <!-- 标签打印 -->
      <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="(tem, i) in orderDatalist" :key="i" style="margin-bottom: 15px;">
            <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;">{{ tem.customerOrderNo }}</el-col>
            </el-row>
            <el-row>
              <el-col :span="10" :offset="3">零件名称:</el-col>
              <el-col :span="10" style="font-weight: bold;">{{ tem.partName }}</el-col>
            </el-row>
            <el-row>
              <el-col :span="10" :offset="3">订单二维码:</el-col>
              <el-col :span="10">
                <vueQr :text="JSON.stringify(tem)" :size="200" :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>
    </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>
@@ -257,6 +253,8 @@
export default {
  data() {
    return {
      checkList: [],
      qrData: [],
      orderDatalist:[],
      diaPrintTab:false,
      showCustomerorder: false,
@@ -1044,7 +1042,6 @@
      }
    })
  },
  computed: {
    ...mapGetters(['permissions'])
  },
@@ -1403,26 +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,
            workShop:el.workShop,
            operationNames:el.operationNames,
            customerOrderNo:el.customerOrderNo,
            customerName:el.customerName,
            mpsNo:el.mpsNo,
            remark:el.remark,
            partNo:el.partNo,
            partName:el.partName,
            unit:el.unit,
            requiredDate:el.requiredDate,
            qtyRequired: el.qtyRequired,
            scrapQty: el.scrapQty
         }
      })
     this.orderDatalist = orderData
      console.log(orderData,"多行选中");
     this.initQrData(orderData[0])
      // 根据状态,禁用表头按钮
      // 筛选出选中记录的状态
      var stateArr = val.map(function(value, index) {
src/views/product/workbench/batchproductout-form-new.vue
@@ -57,9 +57,9 @@
        ><el-col :span="2" class="batch-product-out-form-header-col"
          ><span>零件名称</span></el-col
        >
        <el-col :span="4" class="batch-product-out-form-header-col"
        <!-- <el-col :span="4" class="batch-product-out-form-header-col"
          ><span>序列号</span></el-col
        >
        > -->
        <!-- <el-col :span="2" class="batch-product-out-form-header-col"
          ><span>载具编号</span></el-col
        >
@@ -78,9 +78,9 @@
        <el-col :span="1" class="batch-product-out-form-header-col"
          ><span>单位</span></el-col
        >
        <el-col :span="2" class="batch-product-out-form-header-col"
        <!-- <el-col :span="2" class="batch-product-out-form-header-col"
          ><span>WDR号</span></el-col
        >
        > -->
        <!-- <el-col :span="1" class="batch-product-out-form-header-col"
          ><span>分段描述</span></el-col
        > -->
@@ -133,11 +133,11 @@
              <span class="inline-el-hidden">{{ item.partName }}</span>
            </el-tooltip>
          </el-col>
          <el-col :span="4" class="batch-product-out-form-body-col l-mes">
          <!-- <el-col :span="4" class="batch-product-out-form-body-col l-mes"> -->
            <!-- <span>{{ item.outBatchNo }}</span> -->
            <el-input v-model="item.outBatchNo">
            <!-- <el-input v-model="item.outBatchNo">
            </el-input>
          </el-col>
          </el-col> -->
          <!-- <el-col :span="2" class="batch-product-out-form-body-col l-mes">
            <el-input v-model="item.reelNumber"></el-input>
          </el-col>
@@ -156,17 +156,22 @@
          <el-col :span="1" class="batch-product-out-form-body-col">
            <span>{{ item.unit }}</span>
          </el-col>
          <el-col :span="2" class="batch-product-out-form-body-col l-mes">
          <!-- <el-col :span="2" class="batch-product-out-form-body-col l-mes">
            <el-input v-model="item.wdr"></el-input>
          </el-col>
          </el-col> -->
          <!-- <el-col :span="1" class="batch-product-out-form-body-col l-mes">
            <el-input v-model="item.segmentDesc"></el-input>
          </el-col> -->
                    <el-col :span="2" class="batch-product-out-form-body-col l-mes">
                      <el-input v-model="item.outNum"></el-input>
                      <span v-text="item.outNum"></span>
                    </el-col>
          <el-col :span="2" class="batch-product-out-form-body-col l-mes">
            <el-input v-model="item.scrapQty"></el-input>
            <el-select v-model="item.scrapQty">
              <el-option label="0" value="0">
              </el-option>
              <el-option label="1" value="1">
              </el-option>
            </el-select>
          </el-col>
          <!-- <el-col :span="1" class="batch-product-out-form-body-col l-mes">
            <el-input v-model="item.reelWeight"></el-input>
@@ -392,6 +397,7 @@
          this.products = this.productList
          this.products.forEach(item=>{
            item.staffName = staffName
            item.outNum=1
          })
        }else{
          this.products = []
@@ -478,7 +484,8 @@
          newProduct.partNo = this.parentInfo.partNo
          newProduct.partName = this.parentInfo.partName
          newProduct.outBatchNo = oriOutBatchNo
          newProduct.productQty = 0
          newProduct.productQty = 1
          newProduct.outNum = 1
          newProduct.unit = this.parentInfo.unit
          newProduct.productStaffs = productStaffs
          newProduct.productStaffIds = productStaffIds
src/views/product/workbench/feed-pane.vue
@@ -250,9 +250,9 @@
              <span>{{ scope.row.partName }}</span>
            </template>
          </el-table-column>
          <el-table-column label="IFS批次号" prop="ifsBatchNo" align="center">
          <el-table-column label="批次号" prop="ifsBatchNo" align="center">
            <template slot="header">
              <div style="line-height: 14px;">IFS批次号</div>
              <div style="line-height: 14px;">批次号</div>
              <div class="th" @click.stop>
                <el-input
                  type="text"
@@ -268,7 +268,7 @@
              <span>{{ scope.row.ifsBatchNo }}</span>
            </template>
          </el-table-column>
                    <el-table-column label="WDR号" prop="ifsWdr" align="center">
                    <!-- <el-table-column label="WDR号" prop="ifsWdr" align="center">
                      <template slot="header">
                        <div style="line-height: 14px;">WDR号</div>
                        <div class="th" @click.stop>
@@ -285,7 +285,7 @@
                      <template slot-scope="scope">
                        <span>{{ scope.row.ifsWdr }}</span>
                      </template>
                    </el-table-column>
                    </el-table-column> -->
          <!-- <el-table-column label="SN号" prop="partBatchNo" align="center">
            <template slot="header">
              <div style="line-height: 14px;">SN号</div>
@@ -1242,9 +1242,9 @@
          <span>{{ scope.row.partName }}</span>
        </template>
      </el-table-column>
      <el-table-column label="IFS批次号" prop="ifsBatchNo" align="center">
      <el-table-column label="批次号" prop="ifsBatchNo" align="center">
        <template slot="header" slot-scope="scope">
          <div style="line-height: 14px;">IFS批次号</div>
          <div style="line-height: 14px;">批次号</div>
          <div class="th" @click.stop>
            <el-input
              type="text"
@@ -1260,7 +1260,7 @@
          <span>{{ scope.row.ifsBatchNo }}</span>
        </template>
      </el-table-column>
            <el-table-column label="WDR号" prop="ifsWdr" align="center">
            <!-- <el-table-column label="WDR号" prop="ifsWdr" align="center">
              <template slot="header" slot-scope="scope">
                <div style="line-height: 14px;">WDR号</div>
                <div class="th" @click.stop>
@@ -1277,7 +1277,7 @@
              <template slot-scope="scope">
                <span>{{ scope.row.ifsWdr }}</span>
              </template>
            </el-table-column>
            </el-table-column> -->
      <!-- <el-table-column label="SN号" prop="partBatchNo" align="center">
        <template slot="header" slot-scope="scope">
          <div style="line-height: 14px;">SN号</div>
src/views/product/workbench/productInDialog.vue
@@ -25,7 +25,7 @@
      >
      </el-table-column>
      <el-table-column
        label="IFS批次号"
        label="批次号"
        prop="ifsBatchNo"
        align="center"
        :show-overflow-tooltip="true"
@@ -46,6 +46,10 @@
      <el-table-column label="单位" prop="unit" align="center">
      </el-table-column>
      <el-table-column label="是否工序库存" prop="operationStockStatus" align="center">
        <template slot-scope="scope">
              <span v-if="scope.row.operationStockStatus">是</span>
              <span v-else>否</span>
            </template>
      </el-table-column>
      <el-table-column label="所属工序" prop="name" align="center">
      </el-table-column>
src/views/product/workbench/workReportCard.vue
@@ -256,7 +256,7 @@
            }}</template>
          </template>
        </el-table-column>
        <el-table-column label="WDR号" prop="wdr" align="center" width="100">
        <!-- <el-table-column label="WDR号" prop="wdr" align="center" width="100">
          <template slot-scope="scope">
            <el-input :id="'idReport_' + +scope.$index" :ref="'reference_' + scope.$index" v-if="scope.row.isEdit"
              v-model="scope.row.wdr" placeholder="WDR号"></el-input>
@@ -264,7 +264,7 @@
              scope.row.wdr
            }}</template>
          </template>
        </el-table-column>
        </el-table-column> -->
        <!-- <el-table-column label="分段描述" prop="segmentDesc" align="center">
          <template slot-scope="scope">
            <el-input
@@ -288,8 +288,8 @@
            }}</template>
          </template>
        </el-table-column>
        <el-table-column label="IFS批次号" prop="ifsBatchNo" align="center" width="120">
          <!-- <template slot="header" slot-scope="scope">
        <!-- <el-table-column label="IFS批次号" prop="ifsBatchNo" align="center" width="120">
          <template slot="header" slot-scope="scope">
            <div style="line-height: 14px;">IFS批次号</div>
            <div class="th" @click.stop>
              <template>
@@ -305,8 +305,8 @@
            <template v-if="!scope.row.isIfsBatchNoEdit">{{
              scope.row.ifsBatchNo
            }}</template>
          </template> -->
        </el-table-column>
          </template>
        </el-table-column> -->
        <el-table-column label="备注" prop="remark" align="center">
          <template slot-scope="scope">
            <el-input :id="'idReport_' + +scope.$index" :ref="'reference_' + scope.$index" v-if="scope.row.isEdit"
src/views/quality/Packaging_ledger/index.vue
@@ -9,10 +9,10 @@
            :prelang="prelang"
            :ajaxFun="ajaxFun"
            :options="options" 
            @currentChange="handleCurrentChange"
            @handleSelectionChange="handleSelectionChange"
            ref="processconfiguration"
            >
        <template #toolbar></template>
              <template #toolbar></template>
            </ttable>
            </el-col>
            <el-col :span="13" style="padding-left: 10px">
@@ -101,7 +101,6 @@
                  <el-input v-model="scope.row.number"></el-input>
                </template>
              </el-table-column>
              <el-table-column label="单位" prop="unit" align="center" />
              <el-table-column
                fixed="right"
                label="操作"
@@ -127,7 +126,31 @@
        @handleSelectionChange = "preserve"
        >
        </packfromadd>
        </basic-container>
      </basic-container>
      <el-dialog title="标签列表" top="5vh" :visible.sync="diaPrintTab" width="500px">
        <div id="qrCard" 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;">
            <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.packageNo }}</el-col>
            </el-row>
            <el-row>
              <el-col :span="10" :offset="3">二维码:</el-col>
              <el-col :span="10">
                <vueQr :text="JSON.stringify(item)" :size="120" :margin="1"></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="printFun">打 印</el-button>
        </span>
      </el-dialog>
    </div>
</template>
@@ -136,9 +159,14 @@
import ttable from '@/views/common/ztt-table.vue'
import packfrom from './pack-from.vue'
import packfromadd from './pack-fromadd.vue'
import vueQr from 'vue-qr'
import PrintJS from 'print-js'
export default {
    data(){
        return {
          qrData:[],
          diaPrintTab: false,
          multipleSelection: [],
          isCheck: false,
          dataway:{},
          goid:'',
@@ -156,7 +184,7 @@
                border: true, // 是否有纵向边框
                lazy: false, // 是否需要懒加载
                fit: true, // 列的宽度是否自撑开
                multiSelect: false, //
                multiSelect: true, //
                isEdit:false,
                seqNo: true,
                isShowHide: true, // 是否显示显影按钮
@@ -237,6 +265,11 @@
                      type: 'primary',
                      fun: this.addOrUpdateHandle
                    },
                    {
                      text: '标签打印',
                      type: 'primary',
                      fun: this.printLabel
                    },
                ],
                operator: [
                    {
@@ -263,14 +296,71 @@
       }
    },
    components: {
        ttable,
        packfrom,
        packfromadd
        },
        watch: {
      },
      ttable,
      packfrom,
      packfromadd,
      vueQr
    },
    watch: {
      diaPrintTab(newVal){
        if(!newVal){
          this.qrData = []
        }
      }
    },
    methods: {
      //打印按钮
      printFun() {
          this.diaPrintTab = false;
          PrintJS({
              printable: "qrCard",
              type: "html",
              // header: "原材料检测报告",
              targetStyles: ["*"],
              style: `@page {margin: 0mm 5mm;}
                      html {zoom:100%;}
                      @media print {
                        html,body{
                          width:60mm;
                          height:40mm;
                        }
                      }`,
              ignoreElements: ["no-ignore"],
              orientation: 'portrait'
          });
      },
      handleSelectionChange(val){
        this.multipleSelection = val
        let lastRow = val[val.length - 1]
        this.handleCurrentChange(lastRow)
      },
      printLabel(){
        if(this.multipleSelection.length==0){
          this.$message.warning('请选择一条数据')
          return
        }
        this.diaPrintTab = true
        console.log(this.multipleSelection);
        this.multipleSelection.forEach(item=>{
          let obj = {
            packageNo: item.packageNo,
            contractNo: item.contractNo,
            boxInfo: []
          }
          list({packageBoxId:item.id}).then((res) =>{
            res.data.data.forEach(ele=>{
              obj.boxInfo.push({
                product: ele.product,
                productNo: ele.productNo,
                specs: ele.specs,
                unit: ele.unit,
                number: ele.number
              })
            })
          })
          this.qrData.push(obj)
        })
      },
       // 获取数据列表
      getData() {
        this.$refs.processconfiguration.refreshData()
@@ -315,7 +405,6 @@
      },
      preserve(datalist){
        this.testStandardParams = datalist
      },
      //右边保存
      addpreserve(){
@@ -348,7 +437,5 @@
        })
      },
    },
    computed: {
  },
}
</script>