|
|
@@ -1,9 +1,6 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <Navbar
|
|
|
- :title="$t('lang.ConsolidatedAssetInventory.consolidatedAssetInventory')"
|
|
|
- :is-go-back="false"
|
|
|
- />
|
|
|
+ <Navbar :title="$t('lang.ConsolidatedAssetInventory.consolidatedAssetInventory')" :is-go-back="false" />
|
|
|
<div class="grid-container">
|
|
|
<div class="grid-item-1">
|
|
|
<div style="margin-top: 10px">
|
|
|
@@ -11,14 +8,10 @@
|
|
|
<div class="form-inline">
|
|
|
<div class="form-group">
|
|
|
<label for="name">{{
|
|
|
- $t("lang.ConsolidatedAssetInventory.inventoryName")
|
|
|
+ $t("lang.ConsolidatedAssetInventory.inventoryName")
|
|
|
}}</label>
|
|
|
<input
|
|
|
- id="name"
|
|
|
- v-model="name"
|
|
|
- autocomplete="off"
|
|
|
- type="text"
|
|
|
- class="form-control"
|
|
|
+ id="name" v-model="name" autocomplete="off" type="text" class="form-control"
|
|
|
@keydown.enter="resetQuery"
|
|
|
/>
|
|
|
</div>
|
|
|
@@ -27,40 +20,21 @@
|
|
|
$t("lang.ConsolidatedAssetInventory.inventoryNo")
|
|
|
}}</label>
|
|
|
<input
|
|
|
- id="documentNo"
|
|
|
- v-model="documentNo"
|
|
|
- autocomplete="off"
|
|
|
- type="text"
|
|
|
- class="form-control"
|
|
|
- @keydown.enter="resetQuery"
|
|
|
+ id="documentNo" v-model="documentNo" autocomplete="off" type="text"
|
|
|
+ class="form-control" @keydown.enter="resetQuery"
|
|
|
/>
|
|
|
</div>
|
|
|
<div class="form-group">
|
|
|
<button class="btn btn-primary" @click="resetQuery">
|
|
|
{{ $t("lang.ConsolidatedAssetInventory.query") }}
|
|
|
</button>
|
|
|
- <button
|
|
|
- class="btn btn-success"
|
|
|
- >
|
|
|
+ <button class="btn btn-success">
|
|
|
{{
|
|
|
$t(
|
|
|
- "lang.ConsolidatedAssetInventory.combinedInventory"
|
|
|
- )
|
|
|
- }}
|
|
|
- <span class="badge">{{ combinedInventoryIds.length }}</span>
|
|
|
- </button>
|
|
|
- <button class="btn btn-success" @click="openModel">
|
|
|
- {{
|
|
|
- $t("lang.ConsolidatedAssetInventory.selectMergeInventory")
|
|
|
- }}
|
|
|
- <span class="badge">{{ mergeIntoInventoryIds.length }}</span>
|
|
|
- </button>
|
|
|
- <button class="btn btn-info" @click="confirmCombinedInventory">
|
|
|
- {{
|
|
|
- $t(
|
|
|
- "lang.ConsolidatedAssetInventory.confirmCombinedInventory"
|
|
|
+ "lang.ConsolidatedAssetInventory.mergeInventorySheet"
|
|
|
)
|
|
|
}}
|
|
|
+ <span class="badge">{{ mergeInventorySheetId == null?0:1 }}</span>
|
|
|
</button>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -69,20 +43,10 @@
|
|
|
</div>
|
|
|
|
|
|
<div class="grid-item-2">
|
|
|
- <table
|
|
|
- class="fixed-table table-striped table-bordered"
|
|
|
- style="margin-top: 10px"
|
|
|
- >
|
|
|
+ <table class="fixed-table table-striped table-bordered" style="margin-top: 10px">
|
|
|
<thead>
|
|
|
<tr>
|
|
|
- <th class="col-md-1">
|
|
|
- <input
|
|
|
- autocomplete="off"
|
|
|
- type="checkbox"
|
|
|
- :checked="allChecked"
|
|
|
- @change="selectAll()"
|
|
|
- />
|
|
|
- </th>
|
|
|
+ <th class="col-md-1" />
|
|
|
<th class="col-md-2">
|
|
|
{{ $t("lang.ConsolidatedAssetInventory.departmentName") }}
|
|
|
</th>
|
|
|
@@ -107,16 +71,10 @@
|
|
|
</tr>
|
|
|
</thead>
|
|
|
<tbody v-if="inventoryDtos.length > 0">
|
|
|
- <tr
|
|
|
- v-for="item in inventoryDtos"
|
|
|
- :key="item.id"
|
|
|
- >
|
|
|
+ <tr v-for="item in inventoryDtos" :key="item.id">
|
|
|
<td class="col-md-1">
|
|
|
<input
|
|
|
- id="item.id"
|
|
|
- v-model="combinedInventoryIds"
|
|
|
- autocomplete="off"
|
|
|
- type="checkbox"
|
|
|
+ id="item.id" v-model="mergeInventorySheetId" autocomplete="off" type="radio"
|
|
|
:value="item.id"
|
|
|
/>
|
|
|
</td>
|
|
|
@@ -148,99 +106,16 @@
|
|
|
</div>
|
|
|
<div class="pull-right">
|
|
|
<VueBootstrapPagination
|
|
|
- v-if="pagination.last_page > 0"
|
|
|
- :pagination="pagination"
|
|
|
- :callback="getDatas"
|
|
|
- :show-head-and-tail="true"
|
|
|
+ v-if="pagination.last_page > 0" :pagination="pagination"
|
|
|
+ :callback="getDatas" :show-head-and-tail="true"
|
|
|
/>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <a-button type="primary" @click="previous">上一步</a-button>
|
|
|
- <Modal
|
|
|
- v-model:show="modal"
|
|
|
- title="选择加入至合并盘点单"
|
|
|
- large="true"
|
|
|
- @ok="selectMergeIntoInventory"
|
|
|
- >
|
|
|
- <div class="form-inline">
|
|
|
- <div class="form-group">
|
|
|
- <label for="name">{{
|
|
|
- $t("lang.ConsolidatedAssetInventory.inventoryName")
|
|
|
- }}</label>
|
|
|
- <input
|
|
|
- id="name1"
|
|
|
- v-model="name1"
|
|
|
- autocomplete="off"
|
|
|
- type="text"
|
|
|
- class="form-control"
|
|
|
- @keydown.enter="resetQuery1"
|
|
|
- />
|
|
|
- </div>
|
|
|
- <div class="form-group">
|
|
|
- <label for="documentNo">{{
|
|
|
- $t("lang.ConsolidatedAssetInventory.inventoryNo")
|
|
|
- }}</label>
|
|
|
- <input
|
|
|
- id="documentNo1"
|
|
|
- v-model="documentNo1"
|
|
|
- autocomplete="off"
|
|
|
- type="text"
|
|
|
- class="form-control"
|
|
|
- @keydown.enter="resetQuery1"
|
|
|
- />
|
|
|
- </div>
|
|
|
- <div class="form-group">
|
|
|
- <button class="btn btn-primary" @click="resetQuery1">
|
|
|
- {{ $t("lang.ConsolidatedAssetInventory.query") }}
|
|
|
- </button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div style="overflow:auto; height: calc(100vh - 280px); margin-top: 10px">
|
|
|
- <table
|
|
|
- class="fixed-table table-striped table-bordered"
|
|
|
- style="margin-top: 10px"
|
|
|
- >
|
|
|
- <thead>
|
|
|
- <tr>
|
|
|
- <th class="col-md-1">选择</th>
|
|
|
- <th class="col-md-2">
|
|
|
- {{ $t("lang.ConsolidatedAssetInventory.inventoryName") }}
|
|
|
- </th>
|
|
|
- <th class="col-md-3">
|
|
|
- {{ $t("lang.ConsolidatedAssetInventory.inventoryNo") }}
|
|
|
- </th>
|
|
|
- </tr>
|
|
|
- </thead>
|
|
|
- <tbody v-if="inventoryDtos1.length > 0">
|
|
|
- <tr
|
|
|
- v-for="item in inventoryDtos1"
|
|
|
- :key="item.id"
|
|
|
- >
|
|
|
- <td>
|
|
|
- <input
|
|
|
- id="item.id"
|
|
|
- v-model="mergeIntoInventoryIds"
|
|
|
- autocomplete="off"
|
|
|
- type="checkbox"
|
|
|
- :value="item.id"
|
|
|
- />
|
|
|
- </td>
|
|
|
- <td>{{ item.name }}</td>
|
|
|
- <td>{{ item.documentNo }}</td>
|
|
|
- </tr>
|
|
|
- </tbody>
|
|
|
- </table>
|
|
|
- </div>
|
|
|
- <div class="grid-item-3">
|
|
|
- <VueBootstrapPagination
|
|
|
- v-if="pagination1.last_page > 0"
|
|
|
- :pagination="pagination1"
|
|
|
- :callback="getDatas1"
|
|
|
- :show-head-and-tail="true"
|
|
|
- />
|
|
|
- </div>
|
|
|
- </Modal>
|
|
|
+ <div class="grid-item-4">
|
|
|
+ <a-button type="primary" @click="previous">上一步</a-button>
|
|
|
+ <a-button style="float: right;" type="primary" @click="next">下一步</a-button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<Loading v-if="loading" />
|
|
|
</div>
|
|
|
@@ -249,31 +124,24 @@
|
|
|
<script>
|
|
|
import AssetInventoryResource from '../../api/asset/AssetInventoryResource.js';
|
|
|
import Common from '../../common/Common.js';
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+import { Notify} from 'pc-component-v3';
|
|
|
export default {
|
|
|
components: {
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
},
|
|
|
- emits: ['previous'],
|
|
|
- data: function () {
|
|
|
+ props: {
|
|
|
+ currentStep: {
|
|
|
+ type: Object,
|
|
|
+ default () {
|
|
|
+ return {};
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
+ emits: ['next', 'previous'],
|
|
|
+ data: function() {
|
|
|
return {
|
|
|
inventoryDtos: [],
|
|
|
- inventoryDtos1: [],
|
|
|
- combinedInventoryIds: [], //被合并的盘点单
|
|
|
- mergeIntoInventoryIds: [], //合并至的盘点单
|
|
|
+ mergeInventorySheetId: null, //合并盘点单
|
|
|
pagination: {
|
|
|
total: 0,
|
|
|
per_page: Common.pageSize, // required
|
|
|
@@ -288,34 +156,19 @@ export default {
|
|
|
},
|
|
|
name: null,
|
|
|
documentNo: null,
|
|
|
- name1: null,
|
|
|
- documentNo1: null,
|
|
|
checked: false,
|
|
|
loading: false,
|
|
|
modal: false,
|
|
|
};
|
|
|
},
|
|
|
- computed: {
|
|
|
- allChecked: function () {
|
|
|
- for (
|
|
|
- let index = 0, size = this.inventoryDtos.length;
|
|
|
- index < size;
|
|
|
- index++
|
|
|
- ) {
|
|
|
- if (this.combinedInventoryIds.indexOf(this.inventoryDtos[index].id) < 0) {
|
|
|
- return false;
|
|
|
- }
|
|
|
- }
|
|
|
- return true;
|
|
|
- },
|
|
|
- },
|
|
|
+ computed: {},
|
|
|
|
|
|
watch: {
|
|
|
// 如果路由有变化,会再次执行该方法
|
|
|
$route: 'init',
|
|
|
},
|
|
|
|
|
|
- mounted: function () {
|
|
|
+ mounted: function() {
|
|
|
this.init();
|
|
|
},
|
|
|
|
|
|
@@ -327,62 +180,46 @@ export default {
|
|
|
};
|
|
|
this.$emit('previous', data);
|
|
|
},
|
|
|
- /**
|
|
|
- * 全选和反选
|
|
|
- */
|
|
|
- selectAll: function () {
|
|
|
- let _self = this;
|
|
|
- if (_self.checked == false) {
|
|
|
- _self.checked = true;
|
|
|
- _self.inventoryDtos.forEach(function (item) {
|
|
|
- _self.combinedInventoryIds.push(item.id);
|
|
|
- });
|
|
|
- } else {
|
|
|
- _self.inventoryDtos.forEach(function (item) {
|
|
|
- _self.checked = false;
|
|
|
- let index = _self.combinedInventoryIds.indexOf(item.id);
|
|
|
- _self.combinedInventoryIds.splice(index, 1);
|
|
|
- });
|
|
|
+ next: function() {
|
|
|
+ var _self = this;
|
|
|
+ if (_self.mergeInventorySheetId == undefined || _self.mergeInventorySheetId == null) {
|
|
|
+ Notify.error('错误', '未选择合并盘点单', 1000);
|
|
|
+ return;
|
|
|
}
|
|
|
+ var data = {
|
|
|
+ currentStep: 1,
|
|
|
+ showPage: 7,
|
|
|
+ mergeInventorySheetId: _self.mergeInventorySheetId,
|
|
|
+ };
|
|
|
+ _self.$emit('next', data);
|
|
|
},
|
|
|
-
|
|
|
/**
|
|
|
- * 重置分页,然后查询
|
|
|
- */
|
|
|
- resetQuery: function () {
|
|
|
+ * 重置分页,然后查询
|
|
|
+ */
|
|
|
+ resetQuery: function() {
|
|
|
var _self = this;
|
|
|
_self.pagination.current_page = 1;
|
|
|
_self.getDatas();
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
- * 重置分页,然后查询
|
|
|
- */
|
|
|
- resetQuery1: function () {
|
|
|
- var _self = this;
|
|
|
- _self.pagination1.current_page = 1;
|
|
|
- _self.getDatas1();
|
|
|
- },
|
|
|
-
|
|
|
- /**
|
|
|
- * 表格显示行数发生改变
|
|
|
- */
|
|
|
- pageSizeChanged: function (newPageSize) {
|
|
|
+ * 表格显示行数发生改变
|
|
|
+ */
|
|
|
+ pageSizeChanged: function(newPageSize) {
|
|
|
this.pagination.per_page = newPageSize;
|
|
|
this.pagination.current_page = 1;
|
|
|
this.getDatas();
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
- * 查询数据
|
|
|
- */
|
|
|
- getDatas: function () {
|
|
|
+ * 查询数据
|
|
|
+ */
|
|
|
+ getDatas: function() {
|
|
|
var _self = this;
|
|
|
- _self.loading=true;
|
|
|
+ _self.loading = true;
|
|
|
var param = {
|
|
|
range: {
|
|
|
- start:
|
|
|
- (_self.pagination.current_page - 1) * _self.pagination.per_page,
|
|
|
+ start: (_self.pagination.current_page - 1) * _self.pagination.per_page,
|
|
|
length: _self.pagination.per_page,
|
|
|
},
|
|
|
name: _self.name,
|
|
|
@@ -397,10 +234,10 @@ export default {
|
|
|
});
|
|
|
}
|
|
|
_self.inventoryDtos = successData.dataList;
|
|
|
- _self.loading=false;
|
|
|
+ _self.loading = false;
|
|
|
if (
|
|
|
successData.dataList == undefined ||
|
|
|
- successData.dataList.length == 0
|
|
|
+ successData.dataList.length == 0
|
|
|
) {
|
|
|
return;
|
|
|
}
|
|
|
@@ -413,151 +250,30 @@ export default {
|
|
|
_self.fixedTableHeader();
|
|
|
},
|
|
|
errorData => {
|
|
|
- _self.loading=false;
|
|
|
- Common.processException(errorData);
|
|
|
- },
|
|
|
- );
|
|
|
- },
|
|
|
-
|
|
|
- /**
|
|
|
- * 查询数据
|
|
|
- */
|
|
|
- getDatas1: function () {
|
|
|
- var _self = this;
|
|
|
- _self.loading=true;
|
|
|
- var param = {
|
|
|
- range: {
|
|
|
- start:
|
|
|
- (_self.pagination1.current_page - 1) * _self.pagination1.per_page,
|
|
|
- length: _self.pagination1.per_page,
|
|
|
- },
|
|
|
- name: _self.name1,
|
|
|
- documentNo: _self.documentNo1,
|
|
|
- };
|
|
|
- AssetInventoryResource.findByAssetInventoryRequest(param).then(
|
|
|
- successData => {
|
|
|
- _self.pagination.total = successData.totalSize;
|
|
|
- if (successData.dataList) {
|
|
|
- successData.dataList.forEach(item => {
|
|
|
- item.checked = false;
|
|
|
- });
|
|
|
- }
|
|
|
- _self.inventoryDtos1 = successData.dataList;
|
|
|
- _self.loading=false;
|
|
|
- if (
|
|
|
- successData.dataList == undefined ||
|
|
|
- successData.dataList.length == 0
|
|
|
- ) {
|
|
|
- return;
|
|
|
- }
|
|
|
- _self.pagination1.last_page = Math.ceil(
|
|
|
- successData.totalSize / successData.range.length,
|
|
|
- );
|
|
|
- _self.fixedTableHeader();
|
|
|
- },
|
|
|
- errorData => {
|
|
|
- _self.loading=false;
|
|
|
+ _self.loading = false;
|
|
|
Common.processException(errorData);
|
|
|
},
|
|
|
);
|
|
|
},
|
|
|
|
|
|
-
|
|
|
- /**
|
|
|
- * 打开合并至的盘点单模态框
|
|
|
- * @author XiongLiuJie 20210929
|
|
|
- */
|
|
|
- openModel: function () {
|
|
|
- var _self = this;
|
|
|
- _self.modal = true;
|
|
|
- },
|
|
|
-
|
|
|
- /**
|
|
|
- * 加入至生成盘点单中
|
|
|
- */
|
|
|
- selectMergeIntoInventory: function () {
|
|
|
- var _self = this;
|
|
|
- _self.loading = true;
|
|
|
-
|
|
|
- if (_self.mergeIntoInventoryIds.length > 1) {
|
|
|
- _self.loading = false;
|
|
|
- _self.modal = true;
|
|
|
- _self.mergeIntoInventoryIds.splice(0,_self.mergeIntoInventoryIds.length);
|
|
|
- Common.showDialog('提示', '只能选择一条盘点单', 'error');
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- if (_self.mergeIntoInventoryIds.length == 1) {
|
|
|
- _self.modal = false;
|
|
|
- Common.showDialog('提示', '加入成功', 'success');
|
|
|
- _self.loading = false;
|
|
|
- } else {
|
|
|
- _self.modal = true;
|
|
|
- Common.showDialog('提示', '请选择要提交的内容', 'error');
|
|
|
- _self.loading=false;
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- /**
|
|
|
- * 确定合并盘点
|
|
|
- *
|
|
|
- */
|
|
|
- confirmCombinedInventory: function () {
|
|
|
- const _self = this;
|
|
|
- if (_self.mergeIntoInventoryIds.length == 0) {
|
|
|
- Common.showDialog('提示', '请先选择加入到至合并盘点单', 'error');
|
|
|
- return;
|
|
|
- }
|
|
|
- if (_self.combinedInventoryIds.length == 0) {
|
|
|
- Common.showDialog('提示', '请先选择加入到被合并盘点单', 'error');
|
|
|
- return;
|
|
|
- }
|
|
|
- _self.loading=true;
|
|
|
- var param = {
|
|
|
- combinedInventoryIds: _self.combinedInventoryIds,
|
|
|
- mergeIntoInventoryIds: _self.mergeIntoInventoryIds,
|
|
|
- };
|
|
|
- AssetInventoryResource.consolidatedAssetInventory(param).then(
|
|
|
- successData => {
|
|
|
- if (successData.errorCode == 0) {
|
|
|
- Common.showDialog('提示', successData.errorMessage, 'success');
|
|
|
- _self.selectCombinedInventoryCount = 0;
|
|
|
- _self.selectMergeIntoInventoryCount = 0;
|
|
|
- } else {
|
|
|
- Common.showDialog('提示', successData.errorMessage, 'error');
|
|
|
- }
|
|
|
- console.log(successData);
|
|
|
- _self.loading=false;
|
|
|
- },
|
|
|
- errorData => {
|
|
|
- _self.loading=false;
|
|
|
- },
|
|
|
- );
|
|
|
- },
|
|
|
-
|
|
|
/**
|
|
|
- * 冻结表头
|
|
|
- */
|
|
|
- fixedTableHeader: function () {
|
|
|
+ * 冻结表头
|
|
|
+ */
|
|
|
+ fixedTableHeader: function() {
|
|
|
let _self = this;
|
|
|
- _self.$nextTick(function () {
|
|
|
+ _self.$nextTick(function() {
|
|
|
$('.fixed-table').tableFixer({
|
|
|
head: true,
|
|
|
});
|
|
|
});
|
|
|
},
|
|
|
|
|
|
- init: function () {
|
|
|
+ init: function() {
|
|
|
var _self = this;
|
|
|
-
|
|
|
_self.getDatas();
|
|
|
-
|
|
|
- _self.getDatas1();
|
|
|
-
|
|
|
this.fixedTableHeader();
|
|
|
-
|
|
|
// 可调整表格列宽
|
|
|
- _self.$nextTick(function () {
|
|
|
+ _self.$nextTick(function() {
|
|
|
$('.fixed-table').resizableColumns();
|
|
|
});
|
|
|
},
|
|
|
@@ -567,52 +283,59 @@ export default {
|
|
|
|
|
|
|
|
|
<style scoped>
|
|
|
-.grid-container {
|
|
|
- margin-top: 10px;
|
|
|
- display: grid;
|
|
|
- grid-template-columns: 300px auto;
|
|
|
- grid-template-rows: 35px 1fr 40px 40px;
|
|
|
- gap: 10px;
|
|
|
- justify-items: stretch;
|
|
|
- align-items: stretch;
|
|
|
- height: calc(100vh - 170px);
|
|
|
- overflow: auto;
|
|
|
-}
|
|
|
-
|
|
|
-.grid-item-1 {
|
|
|
- grid-row-start: 1;
|
|
|
- grid-row-end: 3;
|
|
|
- grid-column-start: 1;
|
|
|
- grid-column-end: 3;
|
|
|
-}
|
|
|
-
|
|
|
-.grid-item-2 {
|
|
|
- grid-row-start: 2;
|
|
|
- grid-row-end: 3;
|
|
|
- grid-column-start: 1;
|
|
|
- grid-column-end: 3;
|
|
|
- overflow: auto;
|
|
|
-}
|
|
|
-
|
|
|
-.grid-item-3 {
|
|
|
- grid-row-start: 3;
|
|
|
- grid-row-end: 4;
|
|
|
- grid-column-start: 1;
|
|
|
- grid-column-end: 3;
|
|
|
-}
|
|
|
-
|
|
|
-.fixed-table {
|
|
|
- table-layout: fixed;
|
|
|
-}
|
|
|
-
|
|
|
-table.fixed-table tr {
|
|
|
- height: 40px;
|
|
|
-}
|
|
|
-
|
|
|
-table.fixed-table th,
|
|
|
-table.fixed-table td {
|
|
|
- overflow: hidden;
|
|
|
- white-space: nowrap;
|
|
|
- text-overflow: ellipsis;
|
|
|
-}
|
|
|
+ .grid-container {
|
|
|
+ margin-top: 10px;
|
|
|
+ display: grid;
|
|
|
+ grid-template-columns: 300px auto;
|
|
|
+ grid-template-rows: 35px 1fr 40px 40px;
|
|
|
+ gap: 10px;
|
|
|
+ justify-items: stretch;
|
|
|
+ align-items: stretch;
|
|
|
+ height: calc(100vh - 170px);
|
|
|
+ overflow: auto;
|
|
|
+ }
|
|
|
+
|
|
|
+ .grid-item-1 {
|
|
|
+ grid-row-start: 1;
|
|
|
+ grid-row-end: 3;
|
|
|
+ grid-column-start: 1;
|
|
|
+ grid-column-end: 3;
|
|
|
+ }
|
|
|
+
|
|
|
+ .grid-item-2 {
|
|
|
+ grid-row-start: 2;
|
|
|
+ grid-row-end: 3;
|
|
|
+ grid-column-start: 1;
|
|
|
+ grid-column-end: 3;
|
|
|
+ overflow: auto;
|
|
|
+ }
|
|
|
+
|
|
|
+ .grid-item-3 {
|
|
|
+ grid-row-start: 3;
|
|
|
+ grid-row-end: 4;
|
|
|
+ grid-column-start: 1;
|
|
|
+ grid-column-end: 3;
|
|
|
+ }
|
|
|
+
|
|
|
+ .grid-item-4 {
|
|
|
+ grid-row-start: 4;
|
|
|
+ grid-row-end: 5;
|
|
|
+ grid-column-start: 1;
|
|
|
+ grid-column-end: 3;
|
|
|
+ }
|
|
|
+
|
|
|
+ .fixed-table {
|
|
|
+ table-layout: fixed;
|
|
|
+ }
|
|
|
+
|
|
|
+ table.fixed-table tr {
|
|
|
+ height: 40px;
|
|
|
+ }
|
|
|
+
|
|
|
+ table.fixed-table th,
|
|
|
+ table.fixed-table td {
|
|
|
+ overflow: hidden;
|
|
|
+ white-space: nowrap;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ }
|
|
|
</style>
|