diff --git a/package.json b/package.json
index 5389ba5..b36be6b 100644
--- a/package.json
+++ b/package.json
@@ -32,6 +32,7 @@
"pinyin-pro": "^3.26.0",
"select2": "^4.1.0-rc.0",
"socket.io-client": "^4.8.1",
+ "sortablejs": "^1.15.6",
"vue": "3.4.0",
"vue-cropper": "1.1.1",
"vue-plugin-hiprint": "^0.0.60",
diff --git a/src/api/liswork/work/LisWork.ts b/src/api/liswork/work/LisWork.ts
index 260b0d5..cde3523 100644
--- a/src/api/liswork/work/LisWork.ts
+++ b/src/api/liswork/work/LisWork.ts
@@ -150,4 +150,13 @@ export function printsample(query?: Object) {
method: 'get',
params: query
})
+}
+
+// 打印报告单
+export function printListwork(query?: Object) {
+ return request({
+ url: '/liswork/print',
+ method: 'get',
+ params: query
+ })
}
\ No newline at end of file
diff --git a/src/assets/styles/ruoyi.scss b/src/assets/styles/ruoyi.scss
index 6997462..6a00c0f 100644
--- a/src/assets/styles/ruoyi.scss
+++ b/src/assets/styles/ruoyi.scss
@@ -177,11 +177,7 @@
border-right: 1px solid #1F6DD3 !important;
}
- /* 在你的全局样式文件中 */
- .el-input__wrapper {
- border-color: #96B8D9 !important;
- // background-color: #f00;
- }
+
.vxe-table {
border: 1px solid #96B8D9 !important;
@@ -189,11 +185,45 @@
border-radius: 8px;
/* 可选:添加边框圆角 */
overflow: hidden;
-
-
-
}
+
+
+
+ :deep(.el-input__wrapper) {
+ // border-color: #96B8D9 !important;
+ // border-color: #f00 !important;
+ }
+
+ .el-input__wrapper,
+ .el-select__wrapper {
+ box-shadow: 0 0 0 1px #96B8D9 inset;
+
+ .is-focus {
+ box-shadow: 0 0 0 1px #1f6dd3 inset !important;
+ }
+
+ &:hover {
+ box-shadow: 0 0 0 1px #1f6dd3 inset !important;
+ }
+ }
+
+
+ .el-date-editor.el-input__wrapper {
+ box-shadow: 0 0 0 1px #96B8D9 inset;
+
+ .is-focus {
+ box-shadow: 0 0 0 1px #1f6dd3 inset !important;
+ }
+
+ &:hover {
+ box-shadow: 0 0 0 1px #1f6dd3 inset !important;
+ }
+ }
+
+
+
+
.mytable-style {
.vxe-header--column {
word-break: break-word;
diff --git a/src/components/SelectTable/index.vue b/src/components/SelectTable/index.vue
index 309078a..179a9f6 100644
--- a/src/components/SelectTable/index.vue
+++ b/src/components/SelectTable/index.vue
@@ -1,7 +1,7 @@
-
+
\ No newline at end of file
diff --git a/src/components/iFrame/index.vue b/src/components/iFrame/index.vue
index 091b1a2..f39a795 100644
--- a/src/components/iFrame/index.vue
+++ b/src/components/iFrame/index.vue
@@ -1,10 +1,6 @@
-
+
diff --git a/src/components/tableCom/index.vue b/src/components/tableCom/index.vue
index a654215..73f4028 100644
--- a/src/components/tableCom/index.vue
+++ b/src/components/tableCom/index.vue
@@ -7,30 +7,34 @@
:header-cell-style="config.headerCellStyle" :cell-style="config.cellStyle" :max-height="config.maxHeight"
:height="config.height" :size="config.size || 'default'" :empty-text="config.emptyText || '暂无数据'"
@selection-change="handleSelectionChange" @current-change="handleCurrentChange" @row-click="handleRowClick"
- @row-dblclick="handleRowDblclick" @sort-change="handleSortChange" v-bind="$attrs">
-
-
+ header-cell-class-name="el-table-header-cell" @row-dblclick="handleRowDblclick" @sort-change="handleSortChange"
+ v-bind="$attrs">
-
-
-
+
+
+
+
+
+
-
+
-
+
@@ -65,10 +69,13 @@
@@ -264,6 +345,17 @@ defineExpose({
width: 100%;
}
+// 拖拽相关样式
+:deep(.sortable-ghost) {
+ opacity: 0.5;
+ background-color: #e5e7eb;
+}
+
+:deep(.el-table-header-cell) {
+ cursor: move;
+ user-select: none;
+}
+
.pagination-wrapper {
display: flex;
align-items: center;
diff --git a/src/views/checkCode/index.vue b/src/views/checkCode/index.vue
index a5c00bd..008b2e5 100644
--- a/src/views/checkCode/index.vue
+++ b/src/views/checkCode/index.vue
@@ -76,7 +76,8 @@
+ @row-click="rowHandle" @selection-change="selectionChange" :enable-column-drag="true"
+ @column-drag-end="handleColumnDragEnd">
{{ row.zt != 1 ? '✅' : '❌' }}
@@ -234,26 +235,28 @@ const loading = ref(true);
const tableData = ref([])
// 配置项
const columns = ref([
- { prop: 'zt', label: '打印', visible: true, key: 0, sortable: true, slot: 'dy', },
- { prop: 'ch', label: '床号', visible: true, key: 0, sortable: true, },
- { prop: 'brxm', label: '姓名', visible: true, key: 1, },
- { prop: 'brxbname', label: '性别', align: 'center', visible: true, key: 2, },
- { prop: 'jymd', label: '项目名称', align: 'center', visible: true, key: 3, width: '140px' },
- { prop: 'bgddhname', label: '类别', align: 'center', visible: true, key: 4, width: '120px' },
- { prop: 'sampletips', label: '采样提示', align: 'center', visible: true, key: 5, width: '110px' },
- { prop: 'jzbz', label: '急诊', align: 'center', visible: true, slot: 'jzbz', key: 6, width: '110px' },
- { prop: 'yblx', label: '样本类型', align: 'center', visible: true, key: 7, width: '110px' },
- { prop: 'brdh', label: '病人号', align: 'center', visible: true, key: 8, width: '110px' },
- { prop: 'ksname', label: '科室名称', align: 'center', visible: true, key: 9, width: '110px' },
- { prop: 'sqh', label: '申请号/条码', align: 'center', visible: true, key: 10, width: '110px' },
- { prop: 'zt', label: '状态', align: 'center', visible: true, key: 11, slot: 'zt', width: '110px' },
- { prop: 'brly', label: '病人来源', align: 'center', visible: true, key: 12, slot: 'brly', width: '110px' },
- { prop: 'sqysname', label: '申请医生', align: 'center', visible: true, key: 13, width: '110px' },
- { prop: 'sqsj', label: '申请时间', align: 'center', visible: true, key: 14, width: '170px' },
- { prop: 'jjzt', label: '计价标志', align: 'center', visible: true, key: 15, slot: 'jjzt', },
- { prop: 'zxysname', label: '执行医生', align: 'center', visible: true, key: 16, },
- { prop: 'bbsjrname', label: '送检人', align: 'center', visible: true, key: 17, },
- { prop: 'yljg', label: '医疗机构', align: 'center', visible: true, slot: 'yljg', key: 18, width: '170px' },
+ { type: 'selection', visible: true, align: 'center', width: 55, label: '多选框' },
+ // { type: 'index', visible: true, align: 'center', width: 60, label: '序号' },
+ { prop: 'zt', label: '打印', visible: true, align: 'center', slot: 'dy', },
+ { prop: 'ch', label: '床号', visible: true, align: 'center', sortable: true, },
+ { prop: 'brxm', label: '姓名', align: 'center', visible: true, },
+ { prop: 'brxbname', label: '性别', align: 'center', visible: true, },
+ { prop: 'jymd', label: '项目名称', align: 'center', visible: true, width: '140px' },
+ { prop: 'bgddhname', label: '类别', align: 'center', visible: true, width: '120px' },
+ { prop: 'sampletips', label: '采样提示', align: 'center', visible: true, width: '110px' },
+ { prop: 'jzbz', label: '急诊', align: 'center', visible: true, slot: 'jzbz', width: '110px' },
+ { prop: 'yblx', label: '样本类型', align: 'center', visible: true, width: '110px' },
+ { prop: 'brdh', label: '病人号', align: 'center', visible: true, width: '110px' },
+ { prop: 'ksname', label: '科室名称', align: 'center', visible: true, width: '110px' },
+ { prop: 'sqh', label: '申请号/条码', align: 'center', visible: true, width: '110px' },
+ { prop: 'zt', label: '状态', align: 'center', visible: true, slot: 'zt', width: '110px' },
+ { prop: 'brly', label: '病人来源', align: 'center', visible: true, slot: 'brly', width: '110px' },
+ { prop: 'sqysname', label: '申请医生', align: 'center', visible: true, width: '110px' },
+ { prop: 'sqsj', label: '申请时间', align: 'center', visible: true, width: '170px' },
+ { prop: 'jjzt', label: '计价标志', align: 'center', visible: true, slot: 'jjzt', },
+ { prop: 'zxysname', label: '执行医生', align: 'center', visible: true, },
+ { prop: 'bbsjrname', label: '送检人', align: 'center', visible: true, },
+ { prop: 'yljg', label: '医疗机构', align: 'center', visible: true, slot: 'yljg', width: '170px' },
])
const single = ref(true);
@@ -299,12 +302,19 @@ const selectionChange = (selection: any) => {
multiple.value = !selection.length;
}
+const handleColumnDragEnd = (data: any) => {
+ // 更新列配置
+ columns.value = data.columns;
+ // 可以在这里保存列顺序到本地存储等
+ // localStorage.setItem('tableColumnOrder', JSON.stringify(data.columns));
+};
+
// 左侧表格配置
const tableConfig = ref({
// stripe: true, // 斑马纹
- border: false, // 边框
- selection: true, // 多选框
- index: false, // 序号
+ border: true, // 边框
+
+ index: true, // 序号
height: '', // 高度
highlightCurrentRow: true, // 高亮当前行
cellStyle: cellStyleHd,
@@ -315,20 +325,20 @@ const tableConfig = ref({
const rightTableData = ref([])
// 配置项
const rightColumns = ref([
- { prop: 'sqxmdh', label: '项目代号', visible: true, key: 0, sortable: true, width: '110px' },
- { prop: 'sqxmmc', label: '项目名称', visible: true, key: 1, width: '120px' },
- { prop: 'dj', label: '单价', align: 'center', visible: true, key: 2 },
- { prop: 'sl', label: '数量', align: 'center', visible: true, key: 3 },
- { prop: 'zt', label: '状态', align: 'center', visible: true, slot: 'zt', key: 4 },
- { prop: 'jjzt', label: '计价标志', align: 'center', visible: true, slot: 'jjzt', key: 5 },
+ { prop: 'sqxmdh', label: '项目代号', visible: true, sortable: true, width: '110px' },
+ { prop: 'sqxmmc', label: '项目名称', visible: true, width: '120px' },
+ { prop: 'dj', label: '单价', align: 'center', visible: true, },
+ { prop: 'sl', label: '数量', align: 'center', visible: true, },
+ { prop: 'zt', label: '状态', align: 'center', visible: true, slot: 'zt', },
+ { prop: 'jjzt', label: '计价标志', align: 'center', visible: true, slot: 'jjzt', },
])
// 表格配置
const rightTableConfig = ref({
// stripe: true, // 斑马纹
border: false, // 边框
- // selection: true, // 多选框
- index: false, // 序号
+ //
+
height: '', // 高度
highlightCurrentRow: true, // 高亮当前行
})
@@ -337,26 +347,24 @@ const rightTableConfig = ref({
const cyTableData = ref([])
// 配置项
const cyColumns = ref([
- { prop: 'sqh', label: '申请号/条形码', visible: true, key: 0, sortable: true, width: '140px' },
- { prop: 'ksdh', label: '科室病区', visible: true, key: 1, width: '120px' },
- { prop: 'ch', label: '床号', visible: true, key: 2, sortable: true, },
- { prop: 'brxm', label: '姓名', visible: true, key: 3, },
- { prop: 'brdh', label: '病人号', visible: true, key: 4, },
- { prop: 'brxb', label: '性别', align: 'center', visible: true, key: 5, },
- { prop: 'yblx', label: '样本类型', align: 'center', visible: true, key: 6 },
- { prop: 'zt', label: '状态', align: 'center', visible: true, slot: 'zt', key: 7 },
- { prop: 'jzbz', label: '急诊', align: 'center', visible: true, key: 8 },
- { prop: 'jjzt', label: '采样人', align: 'center', visible: true, key: 8 },
- { prop: 'cysj', label: '采样时间', align: 'center', visible: true, key: 8 },
- { prop: 'zxysname', label: '执行医生', align: 'center', visible: true, key: 8 },
- { prop: 'zxsj', label: '执行时间', align: 'center', visible: true, key: 8 },
+ { prop: 'sqh', label: '申请号/条形码', align: 'center', visible: true, sortable: true, width: 140 },
+ { prop: 'ksdh', label: '科室病区', align: 'center', visible: true, width: 120 },
+ { prop: 'ch', label: '床号', align: 'center', visible: true, sortable: true, },
+ { prop: 'brxm', label: '姓名', align: 'center', visible: true, },
+ { prop: 'brdh', label: '病人号', align: 'center', visible: true, },
+ { prop: 'brxb', label: '性别', align: 'center', visible: true, },
+ { prop: 'yblx', label: '样本类型', align: 'center', visible: true, },
+ { prop: 'zt', label: '状态', align: 'center', visible: true, slot: 'zt', },
+ { prop: 'jzbz', label: '急诊', align: 'center', visible: true, },
+ { prop: 'jjzt', label: '采样人', align: 'center', visible: true, },
+ { prop: 'cysj', label: '采样时间', align: 'center', visible: true, },
+ { prop: 'zxysname', label: '执行医生', align: 'center', visible: true, },
+ { prop: 'zxsj', label: '执行时间', align: 'center', visible: true, },
])
// 表格配置
const cyTableConfig = ref({
// stripe: true, // 斑马纹
border: false, // 边框
- selection: true, // 多选框
- index: false, // 序号
height: '100%', // 高度
highlightCurrentRow: true, // 高亮当前行
})
diff --git a/src/views/checkCode/report/index.vue b/src/views/checkCode/report/index.vue
index 8b8dcac..d8831d8 100644
--- a/src/views/checkCode/report/index.vue
+++ b/src/views/checkCode/report/index.vue
@@ -320,8 +320,8 @@ const tableConfig = ref(
{
// stripe: true, // 斑马纹
border: true, // 边框
- selection: true, // 多选框
- index: false, // 序号
+
+
height: '', // 高度
highlightCurrentRow: true, // 高亮当前行
fit: true,
@@ -392,7 +392,7 @@ const rightTableConfig = ref(
// stripe: true, // 斑马纹
border: true, // 边框
selection: false, // 多选框
- index: false, // 序号
+
height: '40vh', // 高度
highlightCurrentRow: true, // 高亮当前行
}
@@ -647,7 +647,7 @@ const bottomTableConfig = ref(
// stripe: true, // 斑马纹
border: true, // 边框
selection: false, // 多选框
- index: false, // 序号
+
height: '37vh', // 高度
highlightCurrentRow: true, // 高亮当前行
}
diff --git a/src/views/index.vue b/src/views/index.vue
index 2bec0e6..c90a42e 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -1,24 +1,37 @@
-
+