503 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Vue
		
	
	
	
			
		
		
	
	
			503 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Vue
		
	
	
	
<template>
 | 
						|
  <div>
 | 
						|
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
 | 
						|
      <el-form-item label="申请时间" prop="time">
 | 
						|
        <el-date-picker
 | 
						|
          v-model="queryParams.time"
 | 
						|
          type="daterange"
 | 
						|
          value-format="yyyy-MM-dd"
 | 
						|
          range-separator="至"
 | 
						|
          start-placeholder="开始日期"
 | 
						|
          end-placeholder="结束日期"
 | 
						|
          style="width: 240px"
 | 
						|
        ></el-date-picker>
 | 
						|
      </el-form-item>
 | 
						|
 | 
						|
      <el-form-item label="关键字" prop="keyWord">
 | 
						|
        <el-input
 | 
						|
          v-model="queryParams.keyWord"
 | 
						|
          placeholder="请输入关键字"
 | 
						|
          clearable
 | 
						|
          maxlength="50"
 | 
						|
          style="width: 240px"
 | 
						|
          @keyup.enter.native="handleQuery"
 | 
						|
        />
 | 
						|
      </el-form-item>
 | 
						|
 | 
						|
      <el-form-item label="状态" prop="taskStatus">
 | 
						|
        <el-select v-model="queryParams.taskStatus" placeholder="请选择状态" clearable filterable style="width: 240px">
 | 
						|
          <el-option
 | 
						|
            v-for="dict in dict.type.clz_lease_apply_task_status"
 | 
						|
            :key="dict.value"
 | 
						|
            :label="dict.label"
 | 
						|
            :value="dict.value"
 | 
						|
          ></el-option>
 | 
						|
        </el-select>
 | 
						|
      </el-form-item>
 | 
						|
 | 
						|
      <el-form-item>
 | 
						|
        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
 | 
						|
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
 | 
						|
      </el-form-item>
 | 
						|
    </el-form>
 | 
						|
 | 
						|
    <el-row :gutter="10" class="mb8">
 | 
						|
      <el-col :span="1.5">
 | 
						|
        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">领料申请</el-button>
 | 
						|
      </el-col>
 | 
						|
      <el-col :span="1.5">
 | 
						|
        <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
 | 
						|
      </el-col>
 | 
						|
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
 | 
						|
    </el-row>
 | 
						|
 | 
						|
    <el-table v-loading="loading" :data="typeList">
 | 
						|
      <el-table-column width="60" align="center" label="序号" type="index">
 | 
						|
        <template slot-scope="scope">
 | 
						|
          <span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
 | 
						|
        </template>
 | 
						|
      </el-table-column>
 | 
						|
      <el-table-column label="申请时间" align="center" prop="createTime" width="100" />
 | 
						|
      <el-table-column label="申请人" align="center" prop="createBy" width="90" :show-overflow-tooltip="true" />
 | 
						|
      <el-table-column label="领料班组" align="center" prop="teamName" width="200" />
 | 
						|
      <el-table-column label="租赁工程" align="center" prop="projectName" width="200" />
 | 
						|
      <el-table-column
 | 
						|
        label="领料工器具类型"
 | 
						|
        align="center"
 | 
						|
        prop="maTypeNames"
 | 
						|
        :show-overflow-tooltip="true"
 | 
						|
      ></el-table-column>
 | 
						|
      <el-table-column label="班组长" align="center" prop="leasePerson" :show-overflow-tooltip="true" />
 | 
						|
      <el-table-column label="状态" align="center" prop="taskStatus" :show-overflow-tooltip="true" width="150">
 | 
						|
        <template slot-scope="scope">
 | 
						|
          <dict-tag :options="dict.type.clz_lease_apply_task_status" :value="scope.row.taskStatus" />
 | 
						|
        </template>
 | 
						|
      </el-table-column>
 | 
						|
      <el-table-column label="备注" align="center" width="100" prop="remark" :show-overflow-tooltip="true" />
 | 
						|
      <el-table-column label="操作" align="center" width="300" fixed="right">
 | 
						|
        <template slot-scope="scope">
 | 
						|
          <el-button size="mini" style="margin-bottom: 10px" type="normal" @click="handleView(scope.row)">
 | 
						|
            查看
 | 
						|
          </el-button>
 | 
						|
          <el-button
 | 
						|
            size="mini"
 | 
						|
            style="margin-bottom: 10px"
 | 
						|
            type="primary"
 | 
						|
            @click="handleUpdate(scope.row)"
 | 
						|
            v-if="scope.row.taskStatus == 1"
 | 
						|
          >
 | 
						|
            出库
 | 
						|
          </el-button>
 | 
						|
          <el-button size="mini" type="warning" v-if="scope.row.taskStatus != 1" @click="handleLld(scope.row)">
 | 
						|
            领料单
 | 
						|
          </el-button>
 | 
						|
          <el-button
 | 
						|
            size="mini"
 | 
						|
            type="danger"
 | 
						|
            @click="handleDeletePurchase(scope.row)"
 | 
						|
            v-if="scope.row.taskStatus == 1"
 | 
						|
          >
 | 
						|
            删除
 | 
						|
          </el-button>
 | 
						|
        </template>
 | 
						|
      </el-table-column>
 | 
						|
    </el-table>
 | 
						|
 | 
						|
    <pagination
 | 
						|
      v-show="total > 0"
 | 
						|
      :total="total"
 | 
						|
      :page.sync="queryParams.pageNum"
 | 
						|
      :limit.sync="queryParams.pageSize"
 | 
						|
      @pagination="getList"
 | 
						|
    />
 | 
						|
 | 
						|
    <!-- 领料单弹窗 -->
 | 
						|
    <el-dialog :visible.sync="open" width="800px" :title="title" append-to-body>
 | 
						|
      <div style="height: 500px; overflow-y: scroll; padding: 0 20px">
 | 
						|
        <vue-easy-print tableShow ref="remarksPrintRef">
 | 
						|
          <div id="checkIdTwo" class="print-table">
 | 
						|
            <div class="title" style="text-align: center; font-weight: 600; font-size: 16px">领料单</div>
 | 
						|
            <div class="info" style="margin-top: 10px; display: flex; flex-wrap: wrap">
 | 
						|
              <div class="item" style="width: 50%; flex-shrink: 0; margin-bottom: 5px; font-size: 14px">
 | 
						|
                <span>领料班组:</span>
 | 
						|
                {{ leaseApplyData.teamName }}
 | 
						|
              </div>
 | 
						|
              <div class="item" style="width: 50%; flex-shrink: 0; margin-bottom: 5px; font-size: 14px">
 | 
						|
                <span>工程名称:</span>
 | 
						|
                {{ leaseApplyData.projectName }}
 | 
						|
              </div>
 | 
						|
              <div class="item" style="width: 50%; flex-shrink: 0; margin-bottom: 5px; font-size: 14px">
 | 
						|
                <span>时间:</span>
 | 
						|
                <span v-if="leaseApplyData.createTime">{{ leaseApplyData.createTime.split(' ')[0] }}</span>
 | 
						|
              </div>
 | 
						|
              <div class="item" style="width: 50%; flex-shrink: 0; margin-bottom: 5px; font-size: 14px">
 | 
						|
                <span>编号:</span>
 | 
						|
                {{ leaseApplyData.code }}
 | 
						|
              </div>
 | 
						|
            </div>
 | 
						|
 | 
						|
            <!-- <el-table :data="leaseApplyDetails" class="table" border style="width: 100%">
 | 
						|
            <el-table-column label="序号" align="center" type="index" width="60px" />
 | 
						|
            <el-table-column label="类型名称" align="center" prop="maTypeName" />
 | 
						|
            <el-table-column label="规格型号" align="center" prop="typeName" />
 | 
						|
            <el-table-column label="计量单位" align="center" prop="unitName" />
 | 
						|
            <el-table-column label="预领数量" align="center" prop="preNum" />
 | 
						|
            <el-table-column label="备注" align="center" prop="remark" />
 | 
						|
            <el-table-column label="出库方式" align="center" prop="manageType">
 | 
						|
              <template slot-scope="scope">
 | 
						|
                <span v-if="scope.row.manageType == 0" style="color: blue" @click="codeInfo(scope.row)">编码出库</span>
 | 
						|
                <span v-if="scope.row.manageType == 1">数量出库</span>
 | 
						|
              </template>
 | 
						|
            </el-table-column>
 | 
						|
          </el-table> -->
 | 
						|
            <table border="1" style="width: 100%; border-collapse: collapse">
 | 
						|
              <thead>
 | 
						|
                <tr align="center">
 | 
						|
                  <th style="width: 60px">序号</th>
 | 
						|
                  <th>类型名称</th>
 | 
						|
                  <th>规格型号</th>
 | 
						|
                  <th>计量单位</th>
 | 
						|
                  <th>领料数量</th>
 | 
						|
                  <th>备注</th>
 | 
						|
                  <th>出库方式</th>
 | 
						|
                </tr>
 | 
						|
              </thead>
 | 
						|
              <tbody>
 | 
						|
                <tr v-for="(row, index) in leaseApplyDetails" :key="index" align="center">
 | 
						|
                  <td>{{ index + 1 }}</td>
 | 
						|
                  <td>{{ row.maTypeName }}</td>
 | 
						|
                  <td>{{ row.typeName }}</td>
 | 
						|
                  <td>{{ row.unitName }}</td>
 | 
						|
                  <td>{{ row.preNum }}</td>
 | 
						|
                  <td>{{ row.remark }}</td>
 | 
						|
                  <td>
 | 
						|
                    <span v-if="row.manageType == 0" style="color: blue; cursor: pointer" @click="codeInfo(row)">
 | 
						|
                      编码出库
 | 
						|
                    </span>
 | 
						|
                    <span v-else-if="row.manageType == 1">数量出库</span>
 | 
						|
                  </td>
 | 
						|
                </tr>
 | 
						|
              </tbody>
 | 
						|
            </table>
 | 
						|
 | 
						|
            <div class="fillIn" style="margin-top: 30px; display: flex; justify-content: space-between">
 | 
						|
              <div class="item" style="width: 24%; display: flex; align-items: center; flex-wrap: wrap">
 | 
						|
                <div style="width: 50%">发料:</div>
 | 
						|
                <img
 | 
						|
                  v-if="leaseApplyOutData.outSignUrl"
 | 
						|
                  :src="leaseApplyOutData.outSignUrl"
 | 
						|
                  style="width: 40px; height: 90px"
 | 
						|
                  :style="{ transform: leaseApplyOutData.outSignType == 0 ? 'rotate(-90deg)' : '' }"
 | 
						|
                  alt=""
 | 
						|
                />
 | 
						|
              </div>
 | 
						|
              <div class="item" style="width: 50%; display: flex; align-items: center; flex-wrap: wrap">
 | 
						|
                <div style="display: flex; align-items: center">
 | 
						|
                  <div style="width: 50px; margin-right: 18px">领料:</div>
 | 
						|
                  <img
 | 
						|
                    v-if="leaseApplyData.leaseSignUrl"
 | 
						|
                    :src="leaseApplyData.leaseSignUrl"
 | 
						|
                    style="width: 40px; height: 90px"
 | 
						|
                    :style="{ transform: leaseApplyData.leaseSignType == 0 ? 'rotate(-90deg)' : '' }"
 | 
						|
                    alt=""
 | 
						|
                  />
 | 
						|
                </div>
 | 
						|
              </div>
 | 
						|
            </div>
 | 
						|
          </div>
 | 
						|
        </vue-easy-print>
 | 
						|
      </div>
 | 
						|
      <div slot="footer" class="dialog-footer" style="text-align: center">
 | 
						|
        <el-button type="primary" @click="print">打 印</el-button>
 | 
						|
        <el-button @click="open = false">关 闭</el-button>
 | 
						|
      </div>
 | 
						|
    </el-dialog>
 | 
						|
 | 
						|
    <!-- 编码管理查看弹窗 -->
 | 
						|
    <el-dialog :title="titleView" :visible.sync="showView" width="800px" append-to-body>
 | 
						|
      <div style="overflow-y: scroll">
 | 
						|
        <vue-easy-print tableShow ref="remarksPrintRefView" class="print-table">
 | 
						|
          <div class="title" style="text-align: center; font-weight: 600; font-size: 16px; margin-bottom: 20px">
 | 
						|
            领料单编号明细
 | 
						|
          </div>
 | 
						|
          <!-- <el-table :data="getListViewInfo" style="padding: 1px">
 | 
						|
            <el-table-column align="center" label="序号" type="index" width="55" />
 | 
						|
            <el-table-column label="类型名称" align="center" prop="materialName" :show-overflow-tooltip="true" />
 | 
						|
            <el-table-column label="规格型号" align="center" prop="materialModel" :show-overflow-tooltip="true" />
 | 
						|
            <el-table-column label="设备编码" align="center" prop="maCode" :show-overflow-tooltip="true" />
 | 
						|
          </el-table> -->
 | 
						|
          <table border="1" style="width: 100%; border-collapse: collapse">
 | 
						|
            <thead>
 | 
						|
              <tr align="center">
 | 
						|
                <th>序号</th>
 | 
						|
                <th>类型名称</th>
 | 
						|
                <th>规格型号</th>
 | 
						|
                <th>设备编码</th>
 | 
						|
              </tr>
 | 
						|
            </thead>
 | 
						|
            <tbody>
 | 
						|
              <tr v-for="(row, index) in getListViewInfo" :key="index" align="center">
 | 
						|
                <td>{{ index + 1 }}</td>
 | 
						|
                <td :title="row.materialName">{{ row.materialName }}</td>
 | 
						|
                <td :title="row.typeName">{{ row.typeName }}</td>
 | 
						|
                <td :title="row.maCode">{{ row.maCode }}</td>
 | 
						|
              </tr>
 | 
						|
            </tbody>
 | 
						|
          </table>
 | 
						|
        </vue-easy-print>
 | 
						|
      </div>
 | 
						|
      <div slot="footer" class="dialog-footer" style="text-align: center">
 | 
						|
        <el-button type="primary" @click="printView">打 印</el-button>
 | 
						|
        <el-button @click="showView = false">关 闭</el-button>
 | 
						|
      </div>
 | 
						|
    </el-dialog>
 | 
						|
  </div>
 | 
						|
</template>
 | 
						|
 | 
						|
<script>
 | 
						|
import { getListLeaseApply, getPickListApi, applyRemove } from '@/api/materialsStation'
 | 
						|
import vueEasyPrint from 'vue-easy-print'
 | 
						|
import printJS from 'print-js'
 | 
						|
 | 
						|
export default {
 | 
						|
  name: 'Home',
 | 
						|
  dicts: ['clz_lease_apply_task_status', 'ma_type_manage_type'],
 | 
						|
  components: { vueEasyPrint },
 | 
						|
  data() {
 | 
						|
    return {
 | 
						|
      // 遮罩层
 | 
						|
      loading: true,
 | 
						|
      // 选中数组
 | 
						|
      ids: [],
 | 
						|
      // 显示搜索条件
 | 
						|
      showSearch: true,
 | 
						|
      // 总条数
 | 
						|
      total: 0,
 | 
						|
      // 字典表格数据
 | 
						|
      typeList: [],
 | 
						|
      // 弹出层标题
 | 
						|
      title: '',
 | 
						|
      // 日期范围
 | 
						|
      dateRange: [],
 | 
						|
      // 查询参数
 | 
						|
      queryParams: {
 | 
						|
        pageNum: 1,
 | 
						|
        pageSize: 10,
 | 
						|
        time: null, //申请时间
 | 
						|
        keyWord: '',
 | 
						|
        taskStatus: null //申请时间
 | 
						|
      },
 | 
						|
      openPrint: false,
 | 
						|
      open: false,
 | 
						|
      printTableData: [],
 | 
						|
      checkDataInfo: {},
 | 
						|
      //领料单
 | 
						|
      leaseApplyDetails: [],
 | 
						|
      // 领料任务详情数据
 | 
						|
      leaseApplyData: {},
 | 
						|
      leaseApplyOutData: {},
 | 
						|
      // 编码管理查看弹窗
 | 
						|
      showView: false,
 | 
						|
      titleView: '',
 | 
						|
      getListViewInfo: []
 | 
						|
    }
 | 
						|
  },
 | 
						|
  created() {
 | 
						|
    const end = new Date()
 | 
						|
    let start = new Date()
 | 
						|
    start.setMonth(start.getMonth() - 1)
 | 
						|
    this.queryParams.time = [this.format(start), this.format(end)]
 | 
						|
    this.getList()
 | 
						|
  },
 | 
						|
  methods: {
 | 
						|
    format(date) {
 | 
						|
      const y = date.getFullYear()
 | 
						|
      const m = String(date.getMonth() + 1).padStart(2, '0')
 | 
						|
      const day = String(date.getDate()).padStart(2, '0')
 | 
						|
      return `${y}-${m}-${day}`
 | 
						|
    },
 | 
						|
    getList() {
 | 
						|
      this.loading = true
 | 
						|
      const params = {
 | 
						|
        keyWord: this.queryParams.keyWord,
 | 
						|
        taskStatus: this.queryParams.taskStatus,
 | 
						|
        startTime: this.queryParams.time && this.queryParams.time[0],
 | 
						|
        endTime: this.queryParams.time && this.queryParams.time[1],
 | 
						|
        pageSize: this.queryParams.pageSize,
 | 
						|
        pageNum: this.queryParams.pageNum
 | 
						|
        // statusList: this.queryParams.taskStatus ? [this.queryParams.taskStatus]:[1,2,3,4]
 | 
						|
      }
 | 
						|
      getListLeaseApply(params)
 | 
						|
        .then(response => {
 | 
						|
          this.typeList = response.data.rows
 | 
						|
          this.total = response.data.total
 | 
						|
          this.loading = false
 | 
						|
        })
 | 
						|
        .catch(error => {
 | 
						|
          console.log('🚀 ~ getList ~ error:', error)
 | 
						|
          this.loading = false
 | 
						|
        })
 | 
						|
    },
 | 
						|
    /** 搜索按钮操作 */
 | 
						|
    handleQuery() {
 | 
						|
      this.queryParams.pageNum = 1
 | 
						|
      this.getList()
 | 
						|
    },
 | 
						|
    /** 重置按钮操作 */
 | 
						|
    resetQuery() {
 | 
						|
      const end = new Date()
 | 
						|
      let start = new Date()
 | 
						|
      start.setMonth(start.getMonth() - 1)
 | 
						|
      this.queryParams.time = [this.format(start), this.format(end)]
 | 
						|
      this.resetForm('queryForm')
 | 
						|
      this.queryParams.keyWord = ''
 | 
						|
      this.handleQuery()
 | 
						|
    },
 | 
						|
    /** 新增按钮操作 */
 | 
						|
    handleAdd() {
 | 
						|
      this.$emit('addTools')
 | 
						|
    },
 | 
						|
    /** 查看按钮操作 */
 | 
						|
    handleView(row) {
 | 
						|
      this.$emit('queryTools', row.taskId, row.id)
 | 
						|
    },
 | 
						|
    /** 修改按钮操作 */
 | 
						|
    handleUpdate(row) {
 | 
						|
      this.$emit('editTools', row.taskId, row.id)
 | 
						|
    },
 | 
						|
 | 
						|
    /** 导出按钮操作 */
 | 
						|
    handleExportCheck() {
 | 
						|
      this.download(
 | 
						|
        '/material/material_lease_apply_info/exportInfo',
 | 
						|
        { id: this.idTemp },
 | 
						|
        `出库检验单_${new Date().getTime()}.xlsx`
 | 
						|
      )
 | 
						|
    },
 | 
						|
 | 
						|
    //打开领料单
 | 
						|
    async handleLld(row) {
 | 
						|
      this.leaseApplyDetails = []
 | 
						|
      this.leaseApplyData = {}
 | 
						|
      this.title = '领料单'
 | 
						|
      this.open = true
 | 
						|
      const res = await getPickListApi({ id: row.id })
 | 
						|
      this.leaseApplyDetails = res.data.leaseApplyDetailsList
 | 
						|
      this.leaseApplyData = res.data.leaseApplyInfo
 | 
						|
      this.leaseApplyOutData = res.data.leaseOutSign
 | 
						|
    },
 | 
						|
 | 
						|
    //出库检验单打印
 | 
						|
    printCheck() {
 | 
						|
      printJS({
 | 
						|
        printable: 'checkId',
 | 
						|
        type: 'html',
 | 
						|
        targetStyles: ['*'],
 | 
						|
        maxWidth: '1400'
 | 
						|
        // 其他配置选项
 | 
						|
      })
 | 
						|
    },
 | 
						|
 | 
						|
    // 关闭弹窗并刷新页面
 | 
						|
    closeDialogAndRefresh() {
 | 
						|
      this.openPrint = false
 | 
						|
    },
 | 
						|
 | 
						|
    codeInfo(row) {
 | 
						|
      console.log('🚀 ~ codeInfo ~ row:', row)
 | 
						|
      this.showView = true
 | 
						|
      this.titleView = '查看'
 | 
						|
      this.getListViewInfo = row.maCodeVoList
 | 
						|
    },
 | 
						|
 | 
						|
    //打印
 | 
						|
    printView() {
 | 
						|
      this.$refs.remarksPrintRefView.print()
 | 
						|
    },
 | 
						|
 | 
						|
    //打印
 | 
						|
    print() {
 | 
						|
      this.$refs.remarksPrintRef.print()
 | 
						|
      // printJS({
 | 
						|
      //   printable: 'checkIdTwo',
 | 
						|
      //   type: 'html',
 | 
						|
      //   targetStyles: ['*'],
 | 
						|
      //   maxWidth: '1400'
 | 
						|
      //   // 其他配置选项
 | 
						|
      // })
 | 
						|
    },
 | 
						|
 | 
						|
    /** 删除按钮操作 */
 | 
						|
    handleDeletePurchase(row) {
 | 
						|
      // console.log(row)
 | 
						|
      let ids = []
 | 
						|
      ids.push(row.id)
 | 
						|
      console.log('ids', ids)
 | 
						|
      this.$modal
 | 
						|
        .confirm('是否确认删除所选择的数据项?')
 | 
						|
        .then(function () {
 | 
						|
          return applyRemove(ids)
 | 
						|
        })
 | 
						|
        .then(() => {
 | 
						|
          this.getList()
 | 
						|
          this.$modal.msgSuccess('删除成功')
 | 
						|
        })
 | 
						|
        .catch(() => {})
 | 
						|
    },
 | 
						|
 | 
						|
    /** 导出按钮操作 */
 | 
						|
    handleExport() {
 | 
						|
      const params = {
 | 
						|
        keyWord: this.queryParams.keyWord,
 | 
						|
        taskStatus: this.queryParams.taskStatus,
 | 
						|
        startTime: this.queryParams.time && this.queryParams.time[0],
 | 
						|
        endTime: this.queryParams.time && this.queryParams.time[1],
 | 
						|
        pageSize: this.queryParams.pageSize,
 | 
						|
        pageNum: this.queryParams.pageNum,
 | 
						|
        statusList: this.queryParams.taskStatus ? [this.queryParams.taskStatus] : [1, 2, 3, 4]
 | 
						|
      }
 | 
						|
      this.download(
 | 
						|
        '/material/material_lease_apply_info/export',
 | 
						|
        { ...params },
 | 
						|
        `领料申请_${new Date().getTime()}.xlsx`
 | 
						|
      )
 | 
						|
    }
 | 
						|
  },
 | 
						|
 | 
						|
  watch: {
 | 
						|
    $route: {
 | 
						|
      handler(to) {
 | 
						|
        if (to.query.keyWord) {
 | 
						|
          this.queryParams.keyWord = to.query.keyWord
 | 
						|
        }
 | 
						|
      },
 | 
						|
      deep: true,
 | 
						|
      immediate: true
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
</script>
 | 
						|
<style lang="scss" scoped>
 | 
						|
.image-type {
 | 
						|
  /* 旋转图片 */
 | 
						|
  transform: rotate(-90deg);
 | 
						|
  /* 确保旋转后的图片不会超出容器 */
 | 
						|
  max-width: 100%;
 | 
						|
  /* 保持图片的宽高比 */
 | 
						|
  width: 40px;
 | 
						|
  height: 100px;
 | 
						|
}
 | 
						|
.sign-type {
 | 
						|
  width: 100px;
 | 
						|
  height: 40px;
 | 
						|
}
 | 
						|
.print-table {
 | 
						|
  table,
 | 
						|
  th,
 | 
						|
  td {
 | 
						|
    border: 1.5px solid black;
 | 
						|
    border-collapse: collapse;
 | 
						|
  }
 | 
						|
}
 | 
						|
</style>
 |