zouyu
2023-12-13 f9e420517e261d7a59be912c866987154ea3b8f6
src/views/equipment/metering/index.vue
@@ -19,6 +19,36 @@
          @refreshDataList="getData"
        ></table-form>
      </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="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="printFun">打 印</el-button>
        </span>
      </el-dialog>
    </div>
  </template>
  
@@ -29,6 +59,8 @@
  import { mapGetters } from 'vuex'
  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 {
@@ -53,7 +85,7 @@
          isRefresh: true, // 是否显示刷新按钮
          isShowHide: true, // 是否显示显影按钮
          isSearch: false, // 高级查询按钮
          defaultOrderBy: { column: 'manufactureDate', direction: 'desc' }
          defaultOrderBy: { column: 'id', direction: 'desc' }
        },
        table: {
          total: 0,
@@ -234,6 +266,11 @@
              type: 'primary',
              fun: this.addOrUpdateHandle
            },
            {
              text: '标签打印',
              type: 'primary',
              fun: this.labelPrint
            },
            // {
            //   text: '同步',
            //   type: 'primary',
@@ -265,12 +302,14 @@
          }
        },
        addOrUpdateVisible: false,
        workshopList: []
        workshopList: [],
        diaPrintTab: false
      }
    },
    components: {
      ttable,
      TableForm
      TableForm,
      vueQr
    },
    computed: {
      ...mapGetters(['permissions'])
@@ -285,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=>{
@@ -337,6 +402,13 @@
            this.$message.success('删除成功')
            this.getData()
          })
      },
      labelPrint(){
        if(this.multipleSelection.length==0){
          this.$message.warning('请选择一条数据')
          return
        }
        this.diaPrintTab = true
      }
    }
  }