|
@@ -11,8 +11,8 @@
|
|
|
</layout-header>
|
|
</layout-header>
|
|
|
|
|
|
|
|
<layout>
|
|
<layout>
|
|
|
- <layout-sider :resize-directions="['right']" :width="190" style="margin-right: 10px;">
|
|
|
|
|
- <div class="JKWTree-tree" style="height: 200px">
|
|
|
|
|
|
|
+ <layout-sider :resize-directions="['right']" :width="150" class="monthly-sample-sider">
|
|
|
|
|
+ <div class="JKWTree-tree">
|
|
|
<h3>样衣生产月份</h3>
|
|
<h3>样衣生产月份</h3>
|
|
|
<el-tree
|
|
<el-tree
|
|
|
ref="menuTreeRef"
|
|
ref="menuTreeRef"
|
|
@@ -32,10 +32,11 @@
|
|
|
<el-main>
|
|
<el-main>
|
|
|
<div class="gva-table-box">
|
|
<div class="gva-table-box">
|
|
|
<el-table ref="multipleTable" style="width: 100%;height: 70vh" tooltip-effect="dark"
|
|
<el-table ref="multipleTable" style="width: 100%;height: 70vh" tooltip-effect="dark"
|
|
|
- :row-style="{ height: '25px' }" :header-cell-style="{ padding: '0px' }"
|
|
|
|
|
- :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
|
|
|
|
|
|
|
+ :row-style="{ height: '32px' }" :header-cell-style="{ padding: '0px' }"
|
|
|
|
|
+ :cell-style="{ padding: '0px' }" :header-row-style="{ height: '32px' }"
|
|
|
:data="tableData" border :row-key="rowKeyOf"
|
|
:data="tableData" border :row-key="rowKeyOf"
|
|
|
size="small"
|
|
size="small"
|
|
|
|
|
+ class="monthly-sample-table"
|
|
|
:cell-class-name="gxbgCellClass"
|
|
:cell-class-name="gxbgCellClass"
|
|
|
highlight-current-row="true"
|
|
highlight-current-row="true"
|
|
|
@row-click="tableRowClick" :show-overflow-tooltip="true"
|
|
@row-click="tableRowClick" :show-overflow-tooltip="true"
|
|
@@ -52,7 +53,7 @@
|
|
|
<div v-else class="cell-span">{{ row.客户编号 || '\u00A0' }}</div>
|
|
<div v-else class="cell-span">{{ row.客户编号 || '\u00A0' }}</div>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column sortable align="center" label="款号" prop="款号" width="120">
|
|
|
|
|
|
|
+ <el-table-column sortable align="left" label="款号" prop="款号" width="140">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
<el-input v-if="isEditing(row, '款号')"
|
|
<el-input v-if="isEditing(row, '款号')"
|
|
|
v-model="row.款号"
|
|
v-model="row.款号"
|
|
@@ -62,7 +63,7 @@
|
|
|
<div v-else class="cell-span">{{ row.款号 || '\u00A0' }}</div>
|
|
<div v-else class="cell-span">{{ row.款号 || '\u00A0' }}</div>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column sortable align="center" label="款式" prop="款式" width="90">
|
|
|
|
|
|
|
+ <el-table-column sortable align="left" label="款式" prop="款式" width="160">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
<el-input v-if="isEditing(row, '款式')"
|
|
<el-input v-if="isEditing(row, '款式')"
|
|
|
v-model="row.款式"
|
|
v-model="row.款式"
|
|
@@ -177,8 +178,9 @@
|
|
|
<div v-else class="cell-span">{{ row.实际交办日期 || '\u00A0' }}</div>
|
|
<div v-else class="cell-span">{{ row.实际交办日期 || '\u00A0' }}</div>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column sortable align="center" label="备注" prop="备注" width="150">
|
|
|
|
|
|
|
+ <el-table-column sortable align="center" label="备注" prop="备注" width="200">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
|
|
+
|
|
|
<el-input v-if="isEditing(row, '备注')"
|
|
<el-input v-if="isEditing(row, '备注')"
|
|
|
v-model="row.备注"
|
|
v-model="row.备注"
|
|
|
@blur="handleCellBlur(row, '备注')"
|
|
@blur="handleCellBlur(row, '备注')"
|
|
@@ -197,18 +199,33 @@
|
|
|
</el-table>
|
|
</el-table>
|
|
|
|
|
|
|
|
<div class="gva-pagination">
|
|
<div class="gva-pagination">
|
|
|
- <el-pagination layout="total" :current-page="page" :page-size="pageSize"
|
|
|
|
|
- :total="total" @current-change="handleCurrentChange" @size-change="handleSizeChange" />
|
|
|
|
|
|
|
+ <el-pagination
|
|
|
|
|
+ v-model:current-page="page"
|
|
|
|
|
+ :page-size="pageSize"
|
|
|
|
|
+ :total="total"
|
|
|
|
|
+ layout="total, prev, pager, next, jumper"
|
|
|
|
|
+ background
|
|
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
|
|
+ />
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
- <el-dialog title="修改记录" v-model="logDialogVisible" width="800px">
|
|
|
|
|
- <el-table :data="logTableData" border size="small">
|
|
|
|
|
- <el-table-column prop="ModifyField" label="修改字段" width="120" />
|
|
|
|
|
- <el-table-column prop="OriginalValue" label="原值" width="150" />
|
|
|
|
|
- <el-table-column prop="Modified" label="新值" width="150" />
|
|
|
|
|
- <el-table-column prop="修改人" label="修改人" width="100" />
|
|
|
|
|
- <el-table-column prop="修改日期" label="修改日期" width="180" />
|
|
|
|
|
- </el-table>
|
|
|
|
|
|
|
+ <el-dialog
|
|
|
|
|
+ title="修改记录"
|
|
|
|
|
+ v-model="logDialogVisible"
|
|
|
|
|
+ width="800px"
|
|
|
|
|
+ class="monthly-sample-log-dialog"
|
|
|
|
|
+ align-center
|
|
|
|
|
+ destroy-on-close
|
|
|
|
|
+ >
|
|
|
|
|
+ <div class="monthly-sample-log-body">
|
|
|
|
|
+ <el-table :data="logTableData" border size="small" height="100%">
|
|
|
|
|
+ <el-table-column prop="ModifyField" label="修改字段" width="120" align="center" header-align="center" />
|
|
|
|
|
+ <el-table-column prop="OriginalValue" label="原值" width="150" align="center" header-align="center" />
|
|
|
|
|
+ <el-table-column prop="Modified" label="新值" width="150" align="center" header-align="center" />
|
|
|
|
|
+ <el-table-column prop="修改人" label="修改人" width="100" align="center" header-align="center" />
|
|
|
|
|
+ <el-table-column prop="修改日期" label="修改日期" min-width="180" align="center" header-align="center" />
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+ </div>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
</div>
|
|
</div>
|
|
|
</el-main>
|
|
</el-main>
|
|
@@ -245,7 +262,7 @@ const multipleTable = ref(null)
|
|
|
const _noderq = ref('')
|
|
const _noderq = ref('')
|
|
|
const _nodecode = ref('')
|
|
const _nodecode = ref('')
|
|
|
const page = ref(1)
|
|
const page = ref(1)
|
|
|
-const pageSize = ref(20)
|
|
|
|
|
|
|
+const pageSize = ref(30)
|
|
|
const total = ref(0)
|
|
const total = ref(0)
|
|
|
const editingCell = reactive({ rowId: null, prop: null })
|
|
const editingCell = reactive({ rowId: null, prop: null })
|
|
|
const editingOriginalValue = ref('')
|
|
const editingOriginalValue = ref('')
|
|
@@ -292,20 +309,32 @@ const rowKeyOf = (row) => row.UniqId || row.tempId
|
|
|
const isEditing = (row, prop) =>
|
|
const isEditing = (row, prop) =>
|
|
|
editingCell.rowId === rowKeyOf(row) && editingCell.prop === prop
|
|
editingCell.rowId === rowKeyOf(row) && editingCell.prop === prop
|
|
|
|
|
|
|
|
-const loadListByMonth = async (sys_rq, customer = '') => {
|
|
|
|
|
|
|
+/** 列表查询参数:带分页 page / pageSize(limit 兼容部分接口) */
|
|
|
|
|
+const buildListParams = (extra = {}) => {
|
|
|
|
|
+ const params = {
|
|
|
|
|
+ page: page.value,
|
|
|
|
|
+ pageSize: pageSize.value,
|
|
|
|
|
+ limit: pageSize.value,
|
|
|
|
|
+ ...extra,
|
|
|
|
|
+ }
|
|
|
|
|
+ return params
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+const loadListByMonth = async (sys_rq, customer = '', { resetPage = true } = {}) => {
|
|
|
_noderq.value = sys_rq || ''
|
|
_noderq.value = sys_rq || ''
|
|
|
_nodecode.value = customer || ''
|
|
_nodecode.value = customer || ''
|
|
|
|
|
+ if (resetPage) page.value = 1
|
|
|
if (!sys_rq) {
|
|
if (!sys_rq) {
|
|
|
tableData.value = [createEmptyRow()]
|
|
tableData.value = [createEmptyRow()]
|
|
|
total.value = 0
|
|
total.value = 0
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
- const params = { sys_rq }
|
|
|
|
|
|
|
+ const params = buildListParams({ sys_rq })
|
|
|
if (customer) params.customer = customer
|
|
if (customer) params.customer = customer
|
|
|
const res = await getMonthlyGarmentsList(params)
|
|
const res = await getMonthlyGarmentsList(params)
|
|
|
if (res.code === 0) {
|
|
if (res.code === 0) {
|
|
|
tableData.value = res.data.result || []
|
|
tableData.value = res.data.result || []
|
|
|
- total.value = res.data.total ?? tableData.value.length
|
|
|
|
|
|
|
+ total.value = Number(res.data.total ?? tableData.value.length) || 0
|
|
|
} else {
|
|
} else {
|
|
|
tableData.value = []
|
|
tableData.value = []
|
|
|
total.value = 0
|
|
total.value = 0
|
|
@@ -314,18 +343,22 @@ const loadListByMonth = async (sys_rq, customer = '') => {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const highlightTreeNode = (node) => {
|
|
const highlightTreeNode = (node) => {
|
|
|
- const allNodes = document.querySelectorAll('.treecolor .el-tree-node')
|
|
|
|
|
- allNodes.forEach((el) => {
|
|
|
|
|
- const label = el.querySelector('.el-tree-node__label')
|
|
|
|
|
- if (label) label.style.color = ''
|
|
|
|
|
- })
|
|
|
|
|
- const clickedNodeId = node?.['$treeNodeId']
|
|
|
|
|
- if (!clickedNodeId) return
|
|
|
|
|
- const clickedNode = document.querySelector(`.treecolor .el-tree-node[data-key="${clickedNodeId}"]`)
|
|
|
|
|
- if (clickedNode) {
|
|
|
|
|
- const label = clickedNode.querySelector('.el-tree-node__label')
|
|
|
|
|
- if (label) label.style.color = 'red'
|
|
|
|
|
|
|
+ const key = node?.id || node?.['$treeNodeId']
|
|
|
|
|
+ if (key) {
|
|
|
|
|
+ currentTreeKey.value = key
|
|
|
|
|
+ menuTreeRef.value?.setCurrentKey?.(key)
|
|
|
}
|
|
}
|
|
|
|
|
+ // 兼容旧逻辑:直接把当前节点文字标红(覆盖默认蓝色)
|
|
|
|
|
+ nextTick(() => {
|
|
|
|
|
+ document.querySelectorAll('.treecolor .el-tree-node__label').forEach((el) => {
|
|
|
|
|
+ el.style.color = ''
|
|
|
|
|
+ })
|
|
|
|
|
+ const clickedNode = key
|
|
|
|
|
+ ? document.querySelector(`.treecolor .el-tree-node[data-key="${key}"]`)
|
|
|
|
|
+ : null
|
|
|
|
|
+ const label = clickedNode?.querySelector?.('.el-tree-node__label')
|
|
|
|
|
+ if (label) label.style.color = 'red'
|
|
|
|
|
+ })
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const buildTreeData = (data) => {
|
|
const buildTreeData = (data) => {
|
|
@@ -367,11 +400,15 @@ const getTree = async () => {
|
|
|
await nextTick()
|
|
await nextTick()
|
|
|
menuTreeRef.value?.setCurrentKey?.(monthNode.id)
|
|
menuTreeRef.value?.setCurrentKey?.(monthNode.id)
|
|
|
} else {
|
|
} else {
|
|
|
|
|
+ tableData.value = []
|
|
|
|
|
+ total.value = 0
|
|
|
ensureEditableRows()
|
|
ensureEditableRows()
|
|
|
}
|
|
}
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
|
ElMessage.error('获取数据失败')
|
|
ElMessage.error('获取数据失败')
|
|
|
console.error('获取树形数据失败:', error)
|
|
console.error('获取树形数据失败:', error)
|
|
|
|
|
+ tableData.value = []
|
|
|
|
|
+ total.value = 0
|
|
|
ensureEditableRows()
|
|
ensureEditableRows()
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -379,7 +416,6 @@ getTree()
|
|
|
|
|
|
|
|
const handleNodeClick = async (node) => {
|
|
const handleNodeClick = async (node) => {
|
|
|
highlightTreeNode(node)
|
|
highlightTreeNode(node)
|
|
|
- currentTreeKey.value = node.id || ''
|
|
|
|
|
// 月份节点:查当月全部;客户节点:按客户过滤
|
|
// 月份节点:查当月全部;客户节点:按客户过滤
|
|
|
if (node.children) {
|
|
if (node.children) {
|
|
|
await loadListByMonth(node.yearMonth || node.label)
|
|
await loadListByMonth(node.yearMonth || node.label)
|
|
@@ -397,18 +433,31 @@ const onSubmit = async () => {
|
|
|
ElMessage.warning('请输入搜索内容')
|
|
ElMessage.warning('请输入搜索内容')
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
- const res = await getMonthlyGarmentsList({ search: searchInfo.value })
|
|
|
|
|
|
|
+ page.value = 1
|
|
|
|
|
+ const res = await getMonthlyGarmentsList(buildListParams({ search: searchInfo.value }))
|
|
|
if (res.code === 0) {
|
|
if (res.code === 0) {
|
|
|
- tableData.value = res.data.result
|
|
|
|
|
- total.value = res.data.total || res.data.result.length
|
|
|
|
|
|
|
+ tableData.value = res.data.result || []
|
|
|
|
|
+ total.value = Number(res.data.total ?? tableData.value.length) || 0
|
|
|
ensureEditableRows()
|
|
ensureEditableRows()
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const tableRowClick = () => {}
|
|
const tableRowClick = () => {}
|
|
|
const handleSelectionChange = () => {}
|
|
const handleSelectionChange = () => {}
|
|
|
-const handleCurrentChange = (val) => { page.value = val }
|
|
|
|
|
-const handleSizeChange = (val) => { pageSize.value = val }
|
|
|
|
|
|
|
+const handleCurrentChange = async (val) => {
|
|
|
|
|
+ page.value = val
|
|
|
|
|
+ if (searchInfo.value) {
|
|
|
|
|
+ const res = await getMonthlyGarmentsList(buildListParams({ search: searchInfo.value }))
|
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
|
+ tableData.value = res.data.result || []
|
|
|
|
|
+ total.value = Number(res.data.total ?? tableData.value.length) || 0
|
|
|
|
|
+ ensureEditableRows()
|
|
|
|
|
+ }
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!_noderq.value) return
|
|
|
|
|
+ await loadListByMonth(_noderq.value, _nodecode.value, { resetPage: false })
|
|
|
|
|
+}
|
|
|
const gxbgCellClass = () => ''
|
|
const gxbgCellClass = () => ''
|
|
|
|
|
|
|
|
const addRow = (index) => {
|
|
const addRow = (index) => {
|
|
@@ -440,10 +489,15 @@ const deleteRow = async (row, index) => {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
tableData.value.splice(index, 1)
|
|
tableData.value.splice(index, 1)
|
|
|
- total.value = countSavedRows()
|
|
|
|
|
|
|
+ if (row.UniqId && total.value > 0) total.value -= 1
|
|
|
ensureEditableRows()
|
|
ensureEditableRows()
|
|
|
ElMessage.success('删除成功')
|
|
ElMessage.success('删除成功')
|
|
|
await refreshTreePreserveSelection()
|
|
await refreshTreePreserveSelection()
|
|
|
|
|
+ // 当前页删空且不是第一页时,回退一页并重新拉接口
|
|
|
|
|
+ if (!tableData.value.some((r) => r.UniqId) && page.value > 1 && total.value > 0) {
|
|
|
|
|
+ page.value -= 1
|
|
|
|
|
+ await loadListByMonth(_noderq.value, _nodecode.value, { resetPage: false })
|
|
|
|
|
+ }
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
|
ElMessage.error('删除失败')
|
|
ElMessage.error('删除失败')
|
|
|
console.error('删除失败:', error)
|
|
console.error('删除失败:', error)
|
|
@@ -607,7 +661,7 @@ const handleCellBlur = async (row, prop) => {
|
|
|
// 就地转成已保存行,不整表重载,避免接口暂时查不到时只剩最新一条 + 自动空白行
|
|
// 就地转成已保存行,不整表重载,避免接口暂时查不到时只剩最新一条 + 自动空白行
|
|
|
row.UniqId = newId
|
|
row.UniqId = newId
|
|
|
delete row.tempId
|
|
delete row.tempId
|
|
|
- total.value = countSavedRows()
|
|
|
|
|
|
|
+ total.value = countSavedRows() > total.value ? countSavedRows() : total.value + 1
|
|
|
await refreshTreePreserveSelection()
|
|
await refreshTreePreserveSelection()
|
|
|
await restoreEditedRow(newId)
|
|
await restoreEditedRow(newId)
|
|
|
} else {
|
|
} else {
|
|
@@ -645,40 +699,92 @@ const exportToExcel = (data, filename = '导出数据.xlsx', sheetName = 'Sheet1
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-const hzToExcel = () => {
|
|
|
|
|
- if (tableData.value.length === 0) {
|
|
|
|
|
|
|
+const hzToExcel = async () => {
|
|
|
|
|
+ const rows = await fetchAllForExport()
|
|
|
|
|
+ if (!rows.length) {
|
|
|
ElMessage.warning('暂无数据可导出')
|
|
ElMessage.warning('暂无数据可导出')
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
- exportToExcel(tableData.value, '月份样衣生产进度表.xlsx', '月份样衣生产进度表')
|
|
|
|
|
|
|
+ exportToExcel(rows, '月份样衣生产进度表.xlsx', '月份样衣生产进度表')
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-const mxToExcel = () => {
|
|
|
|
|
- if (tableData.value.length === 0) {
|
|
|
|
|
|
|
+const mxToExcel = async () => {
|
|
|
|
|
+ const rows = await fetchAllForExport()
|
|
|
|
|
+ if (!rows.length) {
|
|
|
ElMessage.warning('暂无数据可导出')
|
|
ElMessage.warning('暂无数据可导出')
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
- exportToExcel(tableData.value, '月份样衣生产进度明细表.xlsx', '月份样衣生产进度明细表')
|
|
|
|
|
|
|
+ exportToExcel(rows, '月份样衣生产进度明细表.xlsx', '月份样衣生产进度明细表')
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/** 导出时按当前筛选条件拉全量(大 pageSize) */
|
|
|
|
|
+const fetchAllForExport = async () => {
|
|
|
|
|
+ const params = {
|
|
|
|
|
+ page: 1,
|
|
|
|
|
+ pageSize: Math.max(total.value, 9999),
|
|
|
|
|
+ limit: Math.max(total.value, 9999),
|
|
|
|
|
+ }
|
|
|
|
|
+ if (searchInfo.value) {
|
|
|
|
|
+ params.search = searchInfo.value
|
|
|
|
|
+ } else if (_noderq.value) {
|
|
|
|
|
+ params.sys_rq = _noderq.value
|
|
|
|
|
+ if (_nodecode.value) params.customer = _nodecode.value
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return tableData.value.filter((r) => r.UniqId)
|
|
|
|
|
+ }
|
|
|
|
|
+ const res = await getMonthlyGarmentsList(params)
|
|
|
|
|
+ if (res.code === 0) return res.data.result || []
|
|
|
|
|
+ return []
|
|
|
}
|
|
}
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped>
|
|
<style scoped>
|
|
|
|
|
+.monthly-sample-sider {
|
|
|
|
|
+ margin-right: 0 !important;
|
|
|
|
|
+ padding: 0 !important;
|
|
|
|
|
+}
|
|
|
|
|
+.monthly-sample-sider :deep(.arco-layout-sider-children) {
|
|
|
|
|
+ padding: 0 !important;
|
|
|
|
|
+ overflow: hidden;
|
|
|
|
|
+}
|
|
|
.JKWTree-tree {
|
|
.JKWTree-tree {
|
|
|
background-color: #fff;
|
|
background-color: #fff;
|
|
|
- padding: 10px;
|
|
|
|
|
- margin-right: 20px;
|
|
|
|
|
|
|
+ padding: 8px 6px;
|
|
|
|
|
+ margin-right: 0;
|
|
|
|
|
+ height: 100%;
|
|
|
|
|
+ box-sizing: border-box;
|
|
|
}
|
|
}
|
|
|
.JKWTree-tree h3 {
|
|
.JKWTree-tree h3 {
|
|
|
- font-size: 15px;
|
|
|
|
|
|
|
+ font-size: 14px;
|
|
|
font-weight: 700;
|
|
font-weight: 700;
|
|
|
- margin: 10px 0;
|
|
|
|
|
|
|
+ margin: 6px 0 8px;
|
|
|
|
|
+}
|
|
|
|
|
+/* 左侧树:选中节点文字红色 */
|
|
|
|
|
+:deep(.treecolor .el-tree-node__content) {
|
|
|
|
|
+ color: var(--el-text-color-regular);
|
|
|
|
|
+}
|
|
|
|
|
+:deep(.treecolor .el-tree-node.is-current > .el-tree-node__content) {
|
|
|
|
|
+ color: red !important;
|
|
|
|
|
+ font-weight: 600;
|
|
|
|
|
+ background-color: var(--el-color-primary-light-9, #ecf5ff) !important;
|
|
|
|
|
+}
|
|
|
|
|
+:deep(.treecolor .el-tree-node.is-current > .el-tree-node__content .el-tree-node__label) {
|
|
|
|
|
+ color: red !important;
|
|
|
|
|
+}
|
|
|
|
|
+:deep(.el-main) {
|
|
|
|
|
+ padding: 0 0 0 8px !important;
|
|
|
}
|
|
}
|
|
|
:deep(.el-table__body tr.current-row) > td {
|
|
:deep(.el-table__body tr.current-row) > td {
|
|
|
background: #ff80ff !important;
|
|
background: #ff80ff !important;
|
|
|
}
|
|
}
|
|
|
:deep(.el-table td .cell) {
|
|
:deep(.el-table td .cell) {
|
|
|
- line-height: 20px !important;
|
|
|
|
|
- min-height: 24px;
|
|
|
|
|
|
|
+ line-height: 32px !important;
|
|
|
|
|
+ min-height: 32px;
|
|
|
|
|
+ height: 32px;
|
|
|
|
|
+ padding: 0 4px !important;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: center;
|
|
|
}
|
|
}
|
|
|
.gva-table-box {
|
|
.gva-table-box {
|
|
|
padding: 0px !important;
|
|
padding: 0px !important;
|
|
@@ -686,13 +792,59 @@ const mxToExcel = () => {
|
|
|
.cell-span {
|
|
.cell-span {
|
|
|
display: block;
|
|
display: block;
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
- min-height: 24px;
|
|
|
|
|
- line-height: 24px;
|
|
|
|
|
|
|
+ height: 32px;
|
|
|
|
|
+ min-height: 32px;
|
|
|
|
|
+ line-height: 32px;
|
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
|
box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
|
padding: 0 4px;
|
|
padding: 0 4px;
|
|
|
|
|
+ overflow: hidden;
|
|
|
|
|
+ text-overflow: ellipsis;
|
|
|
|
|
+ white-space: nowrap;
|
|
|
}
|
|
}
|
|
|
:deep(.el-table td.el-table__cell) {
|
|
:deep(.el-table td.el-table__cell) {
|
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
|
|
|
+ height: 32px !important;
|
|
|
|
|
+ padding: 0 !important;
|
|
|
|
|
+}
|
|
|
|
|
+:deep(.el-table__body tr) {
|
|
|
|
|
+ height: 32px !important;
|
|
|
|
|
+}
|
|
|
|
|
+:deep(.el-table__header tr) {
|
|
|
|
|
+ height: 32px !important;
|
|
|
|
|
+}
|
|
|
|
|
+/* 编辑态输入/日期与普通行同高,避免点击后行被撑高 */
|
|
|
|
|
+.monthly-sample-table :deep(.el-input),
|
|
|
|
|
+.monthly-sample-table :deep(.el-date-editor) {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ height: 28px !important;
|
|
|
|
|
+}
|
|
|
|
|
+.monthly-sample-table :deep(.el-input__wrapper),
|
|
|
|
|
+.monthly-sample-table :deep(.el-date-editor .el-input__wrapper) {
|
|
|
|
|
+ height: 28px !important;
|
|
|
|
|
+ min-height: 28px !important;
|
|
|
|
|
+ padding: 0 8px !important;
|
|
|
|
|
+ box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
|
|
|
|
|
+}
|
|
|
|
|
+.monthly-sample-table :deep(.el-input__inner) {
|
|
|
|
|
+ height: 28px !important;
|
|
|
|
|
+ line-height: 28px !important;
|
|
|
|
|
+}
|
|
|
|
|
+</style>
|
|
|
|
|
+
|
|
|
|
|
+<style>
|
|
|
|
|
+.monthly-sample-log-dialog.el-dialog {
|
|
|
|
|
+ margin-top: 8vh !important;
|
|
|
|
|
+}
|
|
|
|
|
+.monthly-sample-log-dialog .el-dialog__body {
|
|
|
|
|
+ padding: 10px 16px 16px;
|
|
|
|
|
+ height: 60vh;
|
|
|
|
|
+ max-height: 60vh;
|
|
|
|
|
+ overflow: hidden;
|
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
|
+}
|
|
|
|
|
+.monthly-sample-log-dialog .monthly-sample-log-body {
|
|
|
|
|
+ height: 100%;
|
|
|
|
|
+ overflow: hidden;
|
|
|
}
|
|
}
|
|
|
</style>
|
|
</style>
|