|
|
@@ -3,269 +3,140 @@
|
|
|
*/
|
|
|
|
|
|
<template>
|
|
|
- <div class="container-fluid">
|
|
|
- <Navbar
|
|
|
- title="扫描入库打印"
|
|
|
- :is-go-back="false"
|
|
|
- />
|
|
|
- <div
|
|
|
- class="flex-container"
|
|
|
- style="margin-top: 10px;"
|
|
|
- >
|
|
|
- <div class="flex-header">
|
|
|
- <div>
|
|
|
- <div
|
|
|
- class="form-inline"
|
|
|
- role="form"
|
|
|
- >
|
|
|
- <PrintWidget
|
|
|
- ref="printWidget"
|
|
|
- :printer-localstorage-id="'#InventoryPrinterPrinter'"
|
|
|
- @selected-printer-name="getPrintName"
|
|
|
- />
|
|
|
-
|
|
|
- <div class="form-group">
|
|
|
- <input
|
|
|
- v-model="message"
|
|
|
- autocomplete="off"
|
|
|
- type="text"
|
|
|
- class="form-control"
|
|
|
- placeholder="请输入要打印存货的名称或编码"
|
|
|
- aria-describedby="basic-addon"
|
|
|
- style="width:350px;"
|
|
|
- @keyup.enter="queryInventory"
|
|
|
- />
|
|
|
- </div>
|
|
|
- <div class="form-group">
|
|
|
- <button
|
|
|
- class="btn btn-default"
|
|
|
- @click="queryInventory"
|
|
|
- >
|
|
|
- 查询
|
|
|
- </button>
|
|
|
- <button
|
|
|
- class="btn btn-default"
|
|
|
- @click="$refs.printEpc.show()"
|
|
|
- >
|
|
|
- 再次打印
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div
|
|
|
- class="flex-content"
|
|
|
- style="margin-top: 10px;"
|
|
|
+ <div class="container">
|
|
|
+ <Navbar title="扫描入库打印" :is-go-back="false" />
|
|
|
+ <a-card class="main-card">
|
|
|
+ <!-- 搜索区域 -->
|
|
|
+ <a-space :size="16" class="search-bar">
|
|
|
+ <PrintWidget
|
|
|
+ ref="printWidget"
|
|
|
+ :printer-localstorage-id="'#InventoryPrinterPrinter'"
|
|
|
+ @selected-printer-name="getPrintName"
|
|
|
+ />
|
|
|
+ <a-input
|
|
|
+ v-model:value="message"
|
|
|
+ placeholder="请输入要打印存货的名称或编码"
|
|
|
+ style="width: 300px"
|
|
|
+ @keyup.enter="queryInventory"
|
|
|
+ />
|
|
|
+ <a-space>
|
|
|
+ <a-button @click="queryInventory">查询</a-button>
|
|
|
+ <a-button @click="$refs.printEpc.show()">再次打印</a-button>
|
|
|
+ </a-space>
|
|
|
+ </a-space>
|
|
|
+
|
|
|
+ <!-- 数据表格 -->
|
|
|
+ <a-table
|
|
|
+ :columns="columns"
|
|
|
+ :data-source="inventoryInstanceDatas"
|
|
|
+ :pagination="false"
|
|
|
+ size="middle"
|
|
|
+ :scroll="{ x: 1500, y: '60vh' }"
|
|
|
+ :sticky="{ offsetHeader: 64 }"
|
|
|
>
|
|
|
- <table class="fixed-table table-striped table-bordered">
|
|
|
- <thead>
|
|
|
- <tr>
|
|
|
- <th style="width: 50px;">
|
|
|
- 序号
|
|
|
- </th>
|
|
|
- <th style="width: 50px;">
|
|
|
- 图片
|
|
|
- </th>
|
|
|
- <th style="width: 150px;">
|
|
|
- 存货名称
|
|
|
- </th>
|
|
|
- <th style="width: 150px;">
|
|
|
- 存货编号
|
|
|
- </th>
|
|
|
- <th style="width: 150px;">
|
|
|
- 规格型号
|
|
|
- </th>
|
|
|
- <th style="width: 60px;">
|
|
|
- 计量单位
|
|
|
- </th>
|
|
|
- <th style="width: 60px;">
|
|
|
- 采购订单编号
|
|
|
- </th>
|
|
|
- <th style="width: 100px;">
|
|
|
- 批号
|
|
|
- </th>
|
|
|
- <th style="width: 80px;">
|
|
|
- 标签个数
|
|
|
- </th>
|
|
|
- <th style="width: 80px;">
|
|
|
- 标签代表数量
|
|
|
- </th>
|
|
|
- <th style="width: 150px;">
|
|
|
- 供应商
|
|
|
- </th>
|
|
|
- <th style="width: 150px;">
|
|
|
- 放置货位
|
|
|
- </th>
|
|
|
- <th style="width: 60px;">
|
|
|
- <button
|
|
|
- type="button"
|
|
|
- class="btn btn-default"
|
|
|
- style="width: 100%"
|
|
|
- @click="generateAllPack()"
|
|
|
- >
|
|
|
- 打印
|
|
|
- </button>
|
|
|
- </th>
|
|
|
- <th style="width: 100px;">
|
|
|
- <button
|
|
|
- type="button"
|
|
|
- class="btn btn-default"
|
|
|
- style="width: 100%"
|
|
|
- @click="generateAllRepeatPack()"
|
|
|
- >
|
|
|
- 重复打印全部
|
|
|
- </button>
|
|
|
- </th>
|
|
|
- </tr>
|
|
|
- </thead>
|
|
|
- <tbody class="table1">
|
|
|
- <tr v-for="(inventoryInstance, index) in inventoryInstanceDatas" :key="inventoryInstance.id">
|
|
|
- <td>
|
|
|
- {{ index + 1 + (pagination.current_page-1) * pagination.per_page }}
|
|
|
- </td>
|
|
|
- <td @click="showBigImage(index)">
|
|
|
- <img
|
|
|
- :src="Common.getThumbnailImageSrc(className, inventoryInstance.imageNames)"
|
|
|
- class="image"
|
|
|
- @click="$refs.imagePreview.preview(className, inventoryInstance.imageNames)"
|
|
|
- />
|
|
|
- </td>
|
|
|
- <td>
|
|
|
- {{ inventoryInstance.inventoryName }}
|
|
|
- </td>
|
|
|
- <td>
|
|
|
- {{ inventoryInstance.inventoryCode }}
|
|
|
- </td>
|
|
|
- <td>
|
|
|
- {{ inventoryInstance.type }}
|
|
|
- </td>
|
|
|
- <td>
|
|
|
- {{ inventoryInstance.computationUnit }}
|
|
|
- </td>
|
|
|
- <td>
|
|
|
- <input
|
|
|
- v-model="inventoryInstance.purchaseOrderNo"
|
|
|
- autocomplete="off"
|
|
|
- type="text"
|
|
|
- class="form-control"
|
|
|
- style="width: 100%"
|
|
|
- />
|
|
|
- </td>
|
|
|
- <td>
|
|
|
- <input
|
|
|
- v-model="inventoryInstance.batchNo"
|
|
|
- autocomplete="off"
|
|
|
- type="text"
|
|
|
- class="form-control"
|
|
|
- style="width: 100%"
|
|
|
- />
|
|
|
- </td>
|
|
|
- <td>
|
|
|
- <input
|
|
|
- v-model="inventoryInstance.packageCount"
|
|
|
- autocomplete="off"
|
|
|
- type="number"
|
|
|
- class="form-control"
|
|
|
- style="width: 100%"
|
|
|
- />
|
|
|
- </td>
|
|
|
- <td>
|
|
|
- <input
|
|
|
- v-model="inventoryInstance.quantity"
|
|
|
- autocomplete="off"
|
|
|
- type="text"
|
|
|
- style="width: 100%"
|
|
|
- class="form-control"
|
|
|
- />
|
|
|
- </td>
|
|
|
- <td>
|
|
|
- <SearchWidget
|
|
|
- :info-window-no="infoWindowNo1"
|
|
|
- :field-value="getFieldValue1(inventoryInstance)"
|
|
|
- :display-name="'v.name'"
|
|
|
- :where-clause-source="whereClauseSource"
|
|
|
- @value-changed="valueChanged1($event,inventoryInstance)"
|
|
|
- />
|
|
|
- </td>
|
|
|
- <td>
|
|
|
- <SearchWidget
|
|
|
- :info-window-no="infoWindowNo2"
|
|
|
- :field-value="getFieldValue2(inventoryInstance)"
|
|
|
- :display-name="'p.barCode'"
|
|
|
- :where-clause-source="whereClauseSource"
|
|
|
- @value-changed="valueChanged2($event,inventoryInstance)"
|
|
|
- />
|
|
|
- </td>
|
|
|
- <td>
|
|
|
- <button
|
|
|
- type="button"
|
|
|
- class="btn btn-default"
|
|
|
- style="width: 100%"
|
|
|
- @click="generatePack(inventoryInstance)"
|
|
|
- >
|
|
|
- 打印
|
|
|
- </button>
|
|
|
- </td>
|
|
|
- <td>
|
|
|
- <button
|
|
|
- type="button"
|
|
|
- class="btn btn-default"
|
|
|
- style="width: 100%"
|
|
|
- @click="generateRepeatPack(inventoryInstance)"
|
|
|
- >
|
|
|
- 重复打印
|
|
|
- </button>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- </tbody>
|
|
|
- </table>
|
|
|
- </div>
|
|
|
- <div class="flex-footer">
|
|
|
- <div>
|
|
|
- <div class="form-group">
|
|
|
- <div class="pull-left">
|
|
|
- 共查询到<b>{{ pagination.total }}</b>条数据
|
|
|
- </div>
|
|
|
- <div class="pull-right">
|
|
|
- <VueBootstrapPagination
|
|
|
- v-if="pagination.last_page > 0"
|
|
|
- :pagination="pagination"
|
|
|
- :callback="queryInventory"
|
|
|
- />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <template #headerCell="{ column }">
|
|
|
+ <span v-if="column.dataIndex === 'operation'">
|
|
|
+ <a-button type="link" @click="generateAllPack">打印</a-button>
|
|
|
+ </span>
|
|
|
+ <span v-else>{{ column.title }}</span>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <template #bodyCell="{ column, record, index }">
|
|
|
+ <template v-if="column.dataIndex === 'index'">
|
|
|
+ {{ (pagination.current_page - 1) * pagination.per_page + index + 1 }}
|
|
|
+ </template>
|
|
|
+ <template v-else-if="column.dataIndex === 'imageNames'">
|
|
|
+ <a-image
|
|
|
+ :src="Common.getThumbnailImageSrc(className, record.imageNames)"
|
|
|
+ :preview="false"
|
|
|
+ width="40px"
|
|
|
+ @click="$refs.imagePreview.preview(className, record.imageNames)"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <template v-else-if="['purchaseOrderNo', 'batchNo', 'packageCount', 'quantity'].includes(column.dataIndex)">
|
|
|
+ <a-input v-model:value="record[column.dataIndex]" />
|
|
|
+ </template>
|
|
|
+ <template v-else-if="column.dataIndex === 'vendor'">
|
|
|
+ <SearchWidget
|
|
|
+ :info-window-no="infoWindowNo1"
|
|
|
+ :field-value="getFieldValue1(record)"
|
|
|
+ :display-name="'v.name'"
|
|
|
+ :where-clause-source="whereClauseSource"
|
|
|
+ @value-changed="valueChanged1($event,record)"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <template v-else-if="column.dataIndex === 'position'">
|
|
|
+ <SearchWidget
|
|
|
+ :info-window-no="infoWindowNo2"
|
|
|
+ :field-value="getFieldValue2(record)"
|
|
|
+ :display-name="'p.barCode'"
|
|
|
+ :where-clause-source="whereClauseSource"
|
|
|
+ @value-changed="valueChanged2($event,record)"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <template v-else-if="column.dataIndex === 'print'">
|
|
|
+ <a-button type="link" @click="generatePack(record)">打印</a-button>
|
|
|
+ </template>
|
|
|
+ <template v-else-if="column.dataIndex === 'repeatPrint'">
|
|
|
+ <a-button type="link" @click="generateRepeatPack(record)">重复打印</a-button>
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ </a-table>
|
|
|
+
|
|
|
+ <!-- 分页 -->
|
|
|
+ <div class="pagination">
|
|
|
+ <a-pagination
|
|
|
+ v-model:current="pagination.current_page"
|
|
|
+ :total="pagination.total"
|
|
|
+ :page-size="pagination.per_page"
|
|
|
+ show-less-items
|
|
|
+ @change="queryInventory"
|
|
|
+ />
|
|
|
+ <div class="total-text">共查询到 {{ pagination.total }} 条数据</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </a-card>
|
|
|
|
|
|
<PrintEpc ref="printEpc" :printer-name="printerName" />
|
|
|
<ImagePreview ref="imagePreview" />
|
|
|
- <Loading v-if="loading" />
|
|
|
+ <Loading v-if="loading" />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import Common from '../common/Common.js';
|
|
|
-
|
|
|
-
|
|
|
import InventoryResource from '../api/common/InventoryResource.js';
|
|
|
import InventoryInstancePrintResource from '../api/wms/InventoryInstancePrintResource.js';
|
|
|
-import { PrintUtil,PrintWidget } from 'pc-component-v3';
|
|
|
+import { PrintUtil, PrintWidget } from 'pc-component-v3';
|
|
|
+
|
|
|
+const columns = [
|
|
|
+ { title: '序号', dataIndex: 'index', width: 80, fixed: 'left' },
|
|
|
+ { title: '图片', dataIndex: 'imageNames', width: 100, fixed: 'left' },
|
|
|
+ { title: '存货名称', dataIndex: 'inventoryName', width: 150, fixed: 'left' },
|
|
|
+ { title: '存货编号', dataIndex: 'inventoryCode', width: 150 },
|
|
|
+ { title: '规格型号', dataIndex: 'type', width: 150 },
|
|
|
+ { title: '计量单位', dataIndex: 'computationUnit', width: 100 },
|
|
|
+ { title: '采购订单编号', dataIndex: 'purchaseOrderNo', width: 150 },
|
|
|
+ { title: '批号', dataIndex: 'batchNo', width: 100 },
|
|
|
+ { title: '标签个数', dataIndex: 'packageCount', width: 100 },
|
|
|
+ { title: '标签代表数量', dataIndex: 'quantity', width: 120 },
|
|
|
+ { title: '供应商', dataIndex: 'vendor', width: 150 },
|
|
|
+ { title: '放置货位', dataIndex: 'position', width: 150 },
|
|
|
+ { title: '操作', dataIndex: 'print', width: 100 },
|
|
|
+ { title: '重复打印', dataIndex: 'repeatPrint', width: 120 },
|
|
|
+];
|
|
|
|
|
|
export default {
|
|
|
- components: {
|
|
|
- PrintWidget,
|
|
|
- },
|
|
|
- data: function () {
|
|
|
- this.Common = Common;
|
|
|
+ components: { PrintWidget },
|
|
|
+ data() {
|
|
|
return {
|
|
|
+ Common,
|
|
|
message: '',
|
|
|
inventoryInstanceDatas: [],
|
|
|
recordIds: [],
|
|
|
infoWindowNo1: 283036,
|
|
|
infoWindowNo2: 283920,
|
|
|
whereClauseSource: {
|
|
|
- customerDataDimensions:[{
|
|
|
+ customerDataDimensions: [{
|
|
|
fieldName: 'organization.id',
|
|
|
dataDimensionTypeNo: '202201191700',
|
|
|
defaultDataDimensionTypeValueNo: '1',
|
|
|
@@ -273,67 +144,45 @@ export default {
|
|
|
},
|
|
|
pagination: {
|
|
|
total: 0,
|
|
|
- per_page: Common.pageSize, // required
|
|
|
- current_page: 1, // required
|
|
|
- last_page: 0, // required
|
|
|
+ per_page: Common.pageSize,
|
|
|
+ current_page: 1,
|
|
|
+ last_page: 0,
|
|
|
},
|
|
|
- isUpdatePage: true,
|
|
|
className: 'com.leanwo.prodog.model.common.Inventory',
|
|
|
- allRepeatPack: [], //重复打印全部的id
|
|
|
- printType: 1,//类型 0:采购入库打印/1:扫描入库打印
|
|
|
+ allRepeatPack: [],
|
|
|
+ printType: 1,
|
|
|
printerName: '',
|
|
|
loading: false,
|
|
|
- selectedPrinterTitle:'',
|
|
|
+ selectedPrinterTitle: '',
|
|
|
+ columns,
|
|
|
};
|
|
|
},
|
|
|
-
|
|
|
- mounted: function () {
|
|
|
- var _self = this;
|
|
|
- _self.queryInventory();
|
|
|
-
|
|
|
- $('.fixed-table').tableFixer({
|
|
|
- 'left': 3,
|
|
|
- 'head': true,
|
|
|
- });
|
|
|
-
|
|
|
- $('.fixed-table').colResizable({
|
|
|
- resizeMode: 'overflow',
|
|
|
- partialRefresh: true,
|
|
|
- });
|
|
|
+ mounted() {
|
|
|
+ this.queryInventory();
|
|
|
},
|
|
|
-
|
|
|
methods: {
|
|
|
-
|
|
|
- getPrintName:function(value){
|
|
|
+ getPrintName(value) {
|
|
|
this.selectedPrinterTitle = value;
|
|
|
},
|
|
|
-
|
|
|
- getFieldValue1: function (item) {
|
|
|
- var fieldValue1 = {
|
|
|
+ getFieldValue1(item) {
|
|
|
+ return {
|
|
|
id: item.vendorId,
|
|
|
displayValue: [item.vendorName],
|
|
|
fieldType: 'Key',
|
|
|
};
|
|
|
- return fieldValue1;
|
|
|
},
|
|
|
-
|
|
|
- getFieldValue2: function (item) {
|
|
|
- var fieldValue2 = {
|
|
|
+ getFieldValue2(item) {
|
|
|
+ return {
|
|
|
id: item.positionId,
|
|
|
displayValue: [item.savePositionName],
|
|
|
fieldType: 'Key',
|
|
|
};
|
|
|
- return fieldValue2;
|
|
|
},
|
|
|
-
|
|
|
- // 用户选择框change事件
|
|
|
- valueChanged1: function (newFieldValue, item) {
|
|
|
+ valueChanged1(newFieldValue, item) {
|
|
|
item.vendorId = newFieldValue.id;
|
|
|
item.vendorName = newFieldValue.displayValue[0];
|
|
|
},
|
|
|
-
|
|
|
- // 用户选择框change事件
|
|
|
- valueChanged2: function (newFieldValue, item) {
|
|
|
+ valueChanged2(newFieldValue, item) {
|
|
|
item.positionId = newFieldValue.id;
|
|
|
item.savePositionName = newFieldValue.displayValue[0];
|
|
|
},
|
|
|
@@ -505,58 +354,45 @@ export default {
|
|
|
/**
|
|
|
* 根据物料名称或者编号查询数据
|
|
|
*/
|
|
|
- queryInventory: function () {
|
|
|
- var _self = this;
|
|
|
- var message = $.trim(this.message);
|
|
|
- if (_self.message.length > 0 && !_self.isUpdatePage) {
|
|
|
- _self.pagination.current_page = 1;
|
|
|
- _self.isUpdatePage = true;
|
|
|
- } else if (_self.message.length <= 0) {
|
|
|
- _self.isUpdatePage = false;
|
|
|
- }
|
|
|
- _self.inventoryInstanceDatas.splice(0, _self.inventoryInstanceDatas.length);
|
|
|
-
|
|
|
- let inventoryQueryConditionRequest = {
|
|
|
- 'name': message,
|
|
|
- 'no': message,
|
|
|
- 'type': message,
|
|
|
- 'range': {
|
|
|
- 'start': (_self.pagination.current_page - 1) * _self.pagination.per_page,
|
|
|
- 'length': _self.pagination.per_page,
|
|
|
- },
|
|
|
- };
|
|
|
- _self.loading=true;
|
|
|
- InventoryResource.findByQueryCodition(inventoryQueryConditionRequest).then(baseRangeResponse => {
|
|
|
- _self.loading=false;
|
|
|
- if (baseRangeResponse.errorCode == 0) {
|
|
|
- baseRangeResponse.datas.forEach(function (item) {
|
|
|
- var newInventoryInstance = {
|
|
|
- 'inventoryName': item.name,
|
|
|
- 'inventoryCode': item.no,
|
|
|
- 'quantity': '',
|
|
|
- 'batchNo': '',
|
|
|
- 'savePositionName': item.savePositionName,
|
|
|
- 'computationUnit': item.computationUnit,
|
|
|
- 'type': item.type,
|
|
|
- 'inventoryId': item.id,
|
|
|
- 'vendorId': item.vendorId,
|
|
|
- 'positionId': item.positionId,
|
|
|
- 'vendorName': item.vendorName,
|
|
|
- 'imageNames': item.imageNames,
|
|
|
- 'purchaseOrderNo': item.purchaseOrderNo,
|
|
|
- };
|
|
|
- _self.inventoryInstanceDatas.push(newInventoryInstance);
|
|
|
- });
|
|
|
- _self.pagination.total = baseRangeResponse.total;
|
|
|
- _self.pagination.last_page = Math.ceil(_self.pagination.total / _self.pagination.per_page);
|
|
|
+ async queryInventory() {
|
|
|
+ try {
|
|
|
+ this.loading = true;
|
|
|
+ const response = await InventoryResource.findByQueryCodition({
|
|
|
+ name: this.message,
|
|
|
+ no: this.message,
|
|
|
+ type: this.message,
|
|
|
+ range: {
|
|
|
+ start: (this.pagination.current_page - 1) * this.pagination.per_page,
|
|
|
+ length: this.pagination.per_page,
|
|
|
+ },
|
|
|
+ });
|
|
|
+
|
|
|
+ if (response.errorCode === 0) {
|
|
|
+ this.inventoryInstanceDatas = response.datas.map(item => ({
|
|
|
+ ...item,
|
|
|
+ inventoryName: item.name,
|
|
|
+ inventoryCode: item.no,
|
|
|
+ type: item.type,
|
|
|
+ computationUnit: item.computationUnit,
|
|
|
+ vendorName: item.vendorName,
|
|
|
+ savePositionName: item.savePositionName,
|
|
|
+ inventoryId: item.id,
|
|
|
+ vendorId: item.vendorId,
|
|
|
+ positionId: item.positionId,
|
|
|
+ imageNames: item.imageNames,
|
|
|
+ quantity: '',
|
|
|
+ batchNo: '',
|
|
|
+ purchaseOrderNo: item.purchaseOrderNo,
|
|
|
+ }));
|
|
|
+ this.pagination.total = response.total;
|
|
|
+ this.pagination.last_page = Math.ceil(response.total / this.pagination.per_page);
|
|
|
}
|
|
|
- //查询清空上一次的打印数据
|
|
|
- _self.allRepeatPack = [];
|
|
|
- _self.fixedTableHeader();
|
|
|
- }, errorData => {
|
|
|
- _self.loading=false;
|
|
|
- Common.processException(errorData);
|
|
|
- });
|
|
|
+ this.allRepeatPack = [];
|
|
|
+ } catch (error) {
|
|
|
+ Common.processException(error);
|
|
|
+ } finally {
|
|
|
+ this.loading = false;
|
|
|
+ }
|
|
|
},
|
|
|
|
|
|
|
|
|
@@ -608,87 +444,37 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
|
|
|
- /**
|
|
|
- * 冻结表头
|
|
|
- */
|
|
|
- fixedTableHeader: function () {
|
|
|
- let _self = this;
|
|
|
-
|
|
|
- _self.$nextTick(function () {
|
|
|
- $('.fixed-table').tableFixer({
|
|
|
- 'left': 3,
|
|
|
- 'head': true,
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
|
-.flex-container {
|
|
|
- display: flex;
|
|
|
- /* 垂直*/
|
|
|
- flex-direction: column;
|
|
|
- width: 100%;
|
|
|
- /*视口被均分为100单位的vh 占据整个窗口,扣掉顶部topNav的距离后,计算得到container的高度*/
|
|
|
- height: calc(100vh - 140px);
|
|
|
-}
|
|
|
-
|
|
|
-.flex-header {
|
|
|
- /*放大缩小比例为0 */
|
|
|
- flex: 0 0 35px;
|
|
|
-}
|
|
|
-
|
|
|
-.flex-footer {
|
|
|
- height: 45px;
|
|
|
- /*放大缩小比例为0 */
|
|
|
- flex: 0 0 45px;
|
|
|
-}
|
|
|
-
|
|
|
-.flex-content {
|
|
|
- flex: 1;
|
|
|
- overflow: scroll;
|
|
|
- width: 100%;
|
|
|
-}
|
|
|
-
|
|
|
-.fixed-table {
|
|
|
- table-layout: fixed;
|
|
|
- word-wrap: break-word;
|
|
|
- word-break: break-all;
|
|
|
-}
|
|
|
-</style>
|
|
|
-
|
|
|
-<style scoped>
|
|
|
-.fixed-table {
|
|
|
- table-layout: fixed;
|
|
|
- width: 800px !important;
|
|
|
- min-width: 800px !important;
|
|
|
+.container {
|
|
|
+ padding: 16px;
|
|
|
+ height: 100vh;
|
|
|
}
|
|
|
|
|
|
-table.fixed-table tr {
|
|
|
- height: 40px;
|
|
|
+.main-card {
|
|
|
+ margin-top: 16px;
|
|
|
}
|
|
|
|
|
|
-table.fixed-table th,
|
|
|
-table.fixed-table td {
|
|
|
- overflow: hidden;
|
|
|
- white-space: nowrap;
|
|
|
- text-overflow: ellipsis;
|
|
|
+.search-bar {
|
|
|
+ margin-bottom: 16px;
|
|
|
}
|
|
|
|
|
|
-.image {
|
|
|
- width: 40px;
|
|
|
- height: 40px;
|
|
|
+.pagination {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ margin-top: 16px;
|
|
|
}
|
|
|
|
|
|
-.modal-img-box {
|
|
|
- width: 100%;
|
|
|
- text-align: center;
|
|
|
- overflow: auto;
|
|
|
+:deep(.ant-table-cell) {
|
|
|
+ white-space: nowrap;
|
|
|
+ text-overflow: ellipsis;
|
|
|
}
|
|
|
|
|
|
-.m-img {
|
|
|
- width: 100%;
|
|
|
+:deep(.ant-table-cell-fix-left) {
|
|
|
+ z-index: 2;
|
|
|
}
|
|
|
-</style>
|
|
|
+</style>
|