zss
2023-12-07 95cafbee8f05dc6fbc6256c5cd84bcfe3621107f
Merge remote-tracking branch 'origin/master'
已修改6个文件
367 ■■■■■ 文件已修改
src/page/index/logo.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/equipment/equipment/index.vue 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/equipment/metering/index.vue 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/plan/customerorder/sample-customerorder-form.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/plan/manufacturingorder/index.vue 187 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/Packaging_ledger/index.vue 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/page/index/logo.vue
@@ -120,7 +120,7 @@
  width: 220px;
  height: 64px;
  line-height: 64px;
  background-color: #006eff;
  background-color: #875a7b;
  font-size: 20px;
  overflow: hidden;
  box-sizing: border-box;
@@ -151,7 +151,7 @@
    width: 220px;
    height: 64px;
    line-height: 64px;
    background-color: #006eff;
    background-color: #875a7b;
    font-size: 20px;
    overflow: hidden;
    box-sizing: border-box;
src/views/equipment/equipment/index.vue
@@ -18,9 +18,11 @@
        ref="addOrUpdate"
        @refreshDataList="getData"
      ></table-form>
      <el-dialog title="标签列表" :visible.sync="diaPrintTab" width="500px">
    </basic-container>
    <el-dialog title="标签列表" :visible.sync="diaPrintTab" width="500px" top="5vh">
      <div style="width:100%;height:400px;overflow-y: auto;">
        <div class="dia_body" id="printRaw">
          <el-card class="box-card" v-for="(tem, i) in multipleSelection" :key="i" style="margin-bottom: 30px; font-size: 16px !important;">
          <el-card class="box-card" v-for="(tem, i) in multipleSelection" :key="i" style="margin-bottom: 10px; font-size: 16px !important;">
            <el-row>
              <el-col :span="8" :offset="1">序号:</el-col>
              <el-col :span="7" style="font-weight: bold;">{{ tem.id }}</el-col>
@@ -41,12 +43,12 @@
            </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>
    </basic-container>
      </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>
@@ -296,15 +298,17 @@
                  targetStyles:['*'],                 
                  style: `@page {
                    margin:0;
                    size: 360px 175px;
                    padding: 0;
                    size: 360px 170px;
                  }
                  hrml{
                  html{
                    zoom:100%;
                  }
                  @media print{
                    width: 360px;
                    height: 175px;
                    height: 170px;
                    margin:0;
                    padding: 0;
                  }`,
                  onPrintDialogClose: this.erexcel=false,
                  targetStyles: ["*"], // 使用dom的所有样式,很重要
@@ -339,7 +343,6 @@
    },
    handleSelectionChange(val) {
      this.multipleSelection = val
      console.log(this.multipleSelection);
    },
    // 新增 / 修改
    addOrUpdateHandle(row) {
src/views/equipment/metering/index.vue
@@ -19,32 +19,34 @@
          @refreshDataList="getData"
        ></table-form>
      </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="(tem, i) in multipleSelection" :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.code }}</el-col>
            </el-row>
            <el-row>
              <el-col :span="10" :offset="3">设备名称:</el-col>
              <el-col :span="10" style="font-weight: bold;">{{ tem.name }}</el-col>
            </el-row>
            <el-row>
              <el-col :span="10" :offset="3">设备二维码:</el-col>
              <el-col :span="10">
                <vueQr :text="tem.code" :size="80" :margin="2"></vueQr>
              </el-col>
            </el-row>
          </el-card>
      <el-dialog title="标签列表" :visible.sync="diaPrintTab" width="500px" top="5vh">
        <div style="width:100%;height:400px;overflow-y: auto;">
          <div class="dia_body" id="printMetering">
            <el-card class="box-card" v-for="(tem, i) in multipleSelection" :key="i" style="margin-bottom: 10px; font-size: 16px !important;">
              <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.code }}</el-col>
              </el-row>
              <el-row>
                <el-col :span="10" :offset="3">设备名称:</el-col>
                <el-col :span="10" style="font-weight: bold;">{{ tem.name }}</el-col>
              </el-row>
              <el-row>
                <el-col :span="10" :offset="3">设备二维码:</el-col>
                <el-col :span="10">
                  <vueQr :text="tem.code" :size="80" :margin="2"></vueQr>
                </el-col>
              </el-row>
            </el-card>
          </div>
        </div>
        <span slot="footer" class="dialog-footer">
          <el-button @click="diaPrintTab = false">取 消</el-button>
          <el-button type="primary" @click="diaPrintTab = false">打 印</el-button>
          <el-button type="primary" @click="printFun">打 印</el-button>
        </span>
      </el-dialog>
    </div>
@@ -58,6 +60,7 @@
  import * as fecha from 'element-ui/lib/utils/date'
  import { remote } from '../../../api/admin/dict'
  import vueQr from 'vue-qr'
  import PrintJS from 'print-js'
  export default {
    data() {
      return {
@@ -321,6 +324,32 @@
      })
    },
    methods: {
      printFun() {
          this.diaPrintTab = false;
          PrintJS({
              printable: 'printMetering',//页面
              type: "html",//文档类型
                maxWidth:450,
                targetStyles:['*'],
                style: `@page {
                  margin:0;
                  padding: 0;
                  size: 360px 170px;
                }
                html{
                  zoom:100%;
                }
                @media print{
                  width: 360px;
                  height: 170px;
                  margin:0;
                  padding: 0;
                }`,
                onPrintDialogClose: this.erexcel=false,
                targetStyles: ["*"], // 使用dom的所有样式,很重要
                font_size: '',
          });
      },
      pullEquipFun(){
        this.table.toolbar.find((e) => e.text === '同步').loading = true
        pullEquip().then(res=>{
src/views/plan/customerorder/sample-customerorder-form.vue
@@ -68,7 +68,7 @@
        <el-row>
          <el-col :span="6">
            <el-form-item label="业务员" prop="salesMan">
              <el-select @change="selsctionSales" filterable v-model="salesSelectData" style="width:100%">
              <el-select @change="selsctionSales" clearable filterable v-model="salesSelectData" style="width:100%">
                <el-option v-for="(item,index) in staffOptions" :key="index" :value="item.staffNo+','+item.staffName" :label="item.staffName"/>
              </el-select>
            </el-form-item>
src/views/plan/manufacturingorder/index.vue
@@ -22,8 +22,9 @@
            </el-button>
            <el-dropdown-menu slot="dropdown">
              <el-dropdown-item
                :key="index"
                :command="item.command"
                v-for="item in taskTypeArr"
                v-for="(item,index) in taskTypeArr"
                :disabled="canCreateTask"
                >{{ item.label }}</el-dropdown-item
              >
@@ -40,8 +41,9 @@
            </el-button>
            <el-dropdown-menu slot="dropdown">
              <el-dropdown-item
                :key="i"
                :command="item.command"
                v-for="item in stateTagArr"
                v-for="(item,i) in stateTagArr"
                :disabled="item.disabled"
                >{{ item.label }}</el-dropdown-item
              >
@@ -197,9 +199,43 @@
      </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-dialog title="标签列表" :visible.sync="diaPrintTab" width="500px" top="5vh">
      <div style="width:100%;height: 400px;overflow-y: auto;">
        <div class="dia_body">
          <el-checkbox
          style="margin: 10px 5px;"
          :indeterminate="isIndeterminate"
          v-model="checkAll"
          @change="handleCheckAllChange">全选</el-checkbox>
          <el-checkbox-group @change="changePrintCode()" v-model="checkIndexList">
            <el-card class="box-card" v-for="(item, i) in qrData" :key="i" style="margin-bottom: 15px; font-size: 16px !important;">
                  <el-checkbox :label="i" :key="i" style="position: relative;top:-20px;left:5px"><br></el-checkbox>
                  <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>
          </el-checkbox-group>
        </div>
      </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 class="el-dialog__body" style="width:448.8px;overflow-y: auto;position: absolute;top:9999px;padding: 0;">
        <div id="printMOrder">
          <el-card class="box-card" v-for="(item, i) in checkDataList" :key="i" style="margin-bottom:10px;font-size: 16px !important;">
              <el-row>
                <el-col :span="10" :offset="3">序号:</el-col>
                <el-col :span="10" style="font-weight: bold;">{{ i + 1 }}</el-col>
@@ -211,16 +247,12 @@
              <el-row>
                <el-col :span="10" :offset="3">订单二维码:</el-col>
                <el-col :span="10">
                  <vueQr :text="JSON.stringify(item)" :size="80" :margin="2"></vueQr>
                  <vueQr :text="JSON.stringify(item)" :size="110" :margin="2"></vueQr>
                </el-col>
              </el-row>
          </el-card>
        </div>
      </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>
@@ -250,12 +282,15 @@
import { getStore } from '@/util/store.js'
import { getObj as getSysParam } from '@/api/admin/sys-public-param'
import vueQr from 'vue-qr'
import PrintJS from 'print-js'
export default {
  data() {
    return {
      checkList: [],
      checkAll: false,
      isIndeterminate: true,
      checkDataList: [],
      checkIndexList: [],
      qrData: [],
      orderDatalist:[],
      diaPrintTab:false,
      showCustomerorder: false,
      paramObj: { customerList: null },
@@ -1051,7 +1086,97 @@
  mounted() {
    // this.initQueryParams()
  },
  watch:{
    diaPrintTab(newVal){
      if(!newVal){
        this.qrData = []
        this.checkIndexList = []
        this.checkDataList = []
        this.isIndeterminate = true;
      }
    }
  },
  methods: {
    //全选
    handleCheckAllChange(val) {
      if(val){
        for(var i=0;i<this.qrData.length;i++){
          this.checkIndexList.push(i)
        }
        this.checkDataList = this.qrData
      }else{
        this.checkIndexList = []
        this.checkDataList = []
      }
      this.isIndeterminate = false;
    },
    //选择要打印的二维码
    changePrintCode(){
      let indexList = this.checkIndexList
      let arr = []
      indexList.forEach(i=>{
        arr.push(this.qrData[i])
      })
      this.checkDataList = arr
    },
    //打印方法
    printFun() {
        if(this.checkDataList.length < 1){
          this.$message.warning("请选择要打印的二维码")
          return
        }
        this.diaPrintTab = false;
        PrintJS({
            printable: 'printMOrder',//页面
            type: "html",//文档类型
              maxWidth:450,
              targetStyles:['*'],
              style: `@page {
                margin:0;
                size: 360px 175px;
              }
              html{
                zoom:100%;
              }
              @media print{
                width: 360px;
                height: 175px;
                margin:0;
              }`,
              onPrintDialogClose: this.erexcel=false,
              targetStyles: ["*"], // 使用dom的所有样式,很重要
              font_size: '',
        });
    },
    //初始化二维码标签数据
    initQrData(data){
      this.qrData = []
      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)
          }
        }
      }
    },
    //标签打印按钮
    labelPrint(){
      if(this.multipleSelection.length==0){
          this.$message.warning('请选择一条数据')
          return
      }
      let selection = this.multipleSelection
      let lastRow = selection[ selection.length - 1 ]
      this.initQrData(lastRow)
      this.diaPrintTab = true
    },
    getManufactureAttr(row, column, cellValue) {
      this.manufactureAttrs.forEach((obj) => {
        if (obj.value === cellValue) {
@@ -1168,7 +1293,6 @@
                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) {
@@ -1400,36 +1524,8 @@
        }
      }
    },
    //初始化二维码标签数据
    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) {
@@ -1722,13 +1818,6 @@
        this.$message.error('上传失败')
      }
    },
    labelPrint(){
      if(this.multipleSelection.length==0){
          this.$message.warning('请选择一条数据')
          return
        }
      this.diaPrintTab = true
    }
  }
}
</script>
src/views/quality/Packaging_ledger/index.vue
@@ -128,23 +128,25 @@
        </packfromadd>
      </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 style="width:100%;height: 400px;overflow-y: auto;">
          <div id="qrCard" class="dia_body">
            <el-card class="box-card" v-for="(item, i) in qrData" :key="i" style="margin-bottom: 10px;">
              <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="110" :margin="1"></vueQr>
                </el-col>
              </el-row>
            </el-card>
          </div>
        </div>
        <span slot="footer" class="dialog-footer">
          <el-button @click="diaPrintTab = false">取 消</el-button>
@@ -313,20 +315,27 @@
      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'
              printable: 'qrCard',//页面
              type: "html",//文档类型
                maxWidth:450,
                targetStyles:['*'],
                style: `@page {
                  margin:0;
                  padding: 0;
                  size: 360px 170px;
                }
                html{
                  zoom:100%;
                }
                @media print{
                  width: 360px;
                  height: 170px;
                  margin:0;
                  padding: 0;
                }`,
                onPrintDialogClose: this.erexcel=false,
                targetStyles: ["*"], // 使用dom的所有样式,很重要
                font_size: '',
          });
      },
      handleSelectionChange(val){
@@ -340,7 +349,6 @@
          return
        }
        this.diaPrintTab = true
        console.log(this.multipleSelection);
        this.multipleSelection.forEach(item=>{
          let obj = {
            packageNo: item.packageNo,