Compare commits
No commits in common. "df426d2fa796941cb05e22cd0719de54342525ef" and "e4a14da940559115a2fe880b86648719d72c7bb8" have entirely different histories.
df426d2fa7
...
e4a14da940
@ -54,9 +54,9 @@ export function fetchCodeReqmain(query?: Object) {
|
|||||||
// 查询报告单列表
|
// 查询报告单列表
|
||||||
export function reportList(query?: Object) {
|
export function reportList(query?: Object) {
|
||||||
return request({
|
return request({
|
||||||
url: '/transitLisReport/lisReportList',
|
url: '/report/ReportList',
|
||||||
method: 'get',
|
method: 'post',
|
||||||
params: query,
|
data: query,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// 查询报告Pdf预览
|
// 查询报告Pdf预览
|
||||||
@ -70,25 +70,25 @@ export function reportViewPdf(query?: Object) {
|
|||||||
// 查询报告Pdf打印
|
// 查询报告Pdf打印
|
||||||
export function reportPrintPdf(query?: Object) {
|
export function reportPrintPdf(query?: Object) {
|
||||||
return request({
|
return request({
|
||||||
url: '/transitLisReport/printLisReport',
|
url: '/report/print',
|
||||||
method: 'get',
|
method: 'post',
|
||||||
params: query,
|
data: query,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// 查询项目报告
|
// 查询项目报告
|
||||||
export function reportResult(query?: Object) {
|
export function reportResult(query?: Object) {
|
||||||
return request({
|
return request({
|
||||||
url: '/transitLisReport/reportDetail',
|
url: '/report/result',
|
||||||
method: 'get',
|
method: 'post',
|
||||||
params: query,
|
data: query,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// 查询微生物报告
|
// 查询微生物报告
|
||||||
export function reportMedList(query?: Object) {
|
export function reportMedList(query?: Object) {
|
||||||
return request({
|
return request({
|
||||||
url: '/transitLisReport/reportDetailMed',
|
url: '/report/MedList',
|
||||||
method: 'get',
|
method: 'post',
|
||||||
params: query,
|
data: query,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// 查询微生物报告
|
// 查询微生物报告
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 79 KiB |
@ -32,7 +32,7 @@
|
|||||||
<el-tab-pane v-for="item in xmdlList" :key="item.dictCode" :label="item.dictName" :name="item.dictCode">
|
<el-tab-pane v-for="item in xmdlList" :key="item.dictCode" :label="item.dictName" :name="item.dictCode">
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
<div style="height: calc(60% - 50px)" class="mb5">
|
<div style="height: calc(60% - 1.875rem)" class="mb5">
|
||||||
<CustomVxeTable :table-data="filterData" :columns="xmColumns" @cell-dblclick="dbRowclick"
|
<CustomVxeTable :table-data="filterData" :columns="xmColumns" @cell-dblclick="dbRowclick"
|
||||||
:cell-style="xmcellStyle" keyField='applyid'
|
:cell-style="xmcellStyle" keyField='applyid'
|
||||||
:scrollYConfig="{ enabled: true, rSize: 30, height: '100%', }" class="mytable-style">
|
:scrollYConfig="{ enabled: true, rSize: 30, height: '100%', }" class="mytable-style">
|
||||||
@ -48,9 +48,9 @@
|
|||||||
<template #newitemclass="{ row }">
|
<template #newitemclass="{ row }">
|
||||||
{{itemclassList.find((item) => item.itemclassCode == row.newitemclass)?.itemclassName}}
|
{{itemclassList.find((item) => item.itemclassCode == row.newitemclass)?.itemclassName}}
|
||||||
</template>
|
</template>
|
||||||
<!-- <template #newbarcode="{ row }">
|
<template #newbarcode="{ row }">
|
||||||
条码号({{ barcodes }}条)
|
条码号({{ barcodes }}条)
|
||||||
</template> -->
|
</template>
|
||||||
<template #itemclass_yblx="{ row }">
|
<template #itemclass_yblx="{ row }">
|
||||||
<SelectTable v-model:data="row.itemclass_yblx" :tableData="dictData.BT" placeholder="请选择"
|
<SelectTable v-model:data="row.itemclass_yblx" :tableData="dictData.BT" placeholder="请选择"
|
||||||
:clearable="false" v-if="labpat.status < 20 || !labpat.status" value="label"
|
:clearable="false" v-if="labpat.status < 20 || !labpat.status" value="label"
|
||||||
@ -65,7 +65,6 @@
|
|||||||
</template>
|
</template>
|
||||||
</CustomVxeTable>
|
</CustomVxeTable>
|
||||||
</div>
|
</div>
|
||||||
<div class="yblxtext">共有{{ barcodes }}个样本类型</div>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
@ -271,12 +270,14 @@ const handleQuery = () => {
|
|||||||
)
|
)
|
||||||
|
|
||||||
labPatList.value = tableData.value
|
labPatList.value = tableData.value
|
||||||
|
if (!labpat.value.status) {
|
||||||
const item = res.data.find(item => item.patId == labpat.value.patId)
|
const item = res.data.find(item => item.patId == labpat.value.patId)
|
||||||
|
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
tableRef.value.setCurrentRow(item)
|
tableRef.value.setCurrentRow(item)
|
||||||
handleRowClick({ row: item })
|
handleRowClick({ row: item })
|
||||||
})
|
})
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 获取病人代号查询信息
|
// 获取病人代号查询信息
|
||||||
@ -452,7 +453,7 @@ const sqXmColumns = ref([
|
|||||||
{ field: 'newitemclass', title: '类别', align: 'center', width: 100, slotName: 'newitemclass', resizable: true },
|
{ field: 'newitemclass', title: '类别', align: 'center', width: 100, slotName: 'newitemclass', resizable: true },
|
||||||
{ field: 'newitemclass_tips', title: '采样提示', align: 'center', width: 80, resizable: true },
|
{ field: 'newitemclass_tips', title: '采样提示', align: 'center', width: 80, resizable: true },
|
||||||
{ field: 'itemname', title: '简称', align: 'center', resizable: true },
|
{ field: 'itemname', title: '简称', align: 'center', resizable: true },
|
||||||
{ field: 'newbarcode', title: '条码号', align: 'center', width: 120, resizable: true, },
|
{ field: 'newbarcode', title: '条码号', align: 'center', width: 120, resizable: true, headerSlot: 'newbarcode' },
|
||||||
{ field: 'amount', title: '单价', align: 'center', width: 60, resizable: true },
|
{ field: 'amount', title: '单价', align: 'center', width: 60, resizable: true },
|
||||||
{ field: 'itemclass_yblx', title: '样本', align: 'center', width: 80, slotName: 'itemclass_yblx', resizable: true },
|
{ field: 'itemclass_yblx', title: '样本', align: 'center', width: 80, slotName: 'itemclass_yblx', resizable: true },
|
||||||
{ field: 'status', title: '状态', align: 'center', resizable: true, width: 80, slotName: 'status' },
|
{ field: 'status', title: '状态', align: 'center', resizable: true, width: 80, slotName: 'status' },
|
||||||
@ -483,11 +484,12 @@ const sqxmCzList = computed(() => {
|
|||||||
// 数据分组
|
// 数据分组
|
||||||
const { tableData } = useGroupTableData(
|
const { tableData } = useGroupTableData(
|
||||||
sqXmList.value,
|
sqXmList.value,
|
||||||
'barcode',
|
'itemclass',
|
||||||
['newitemclass', 'newbarcode', 'newitemclass_tips'],
|
['newitemclass', 'newbarcode', 'newitemclass_tips'],
|
||||||
'orderDate',
|
'orderDate',
|
||||||
['itemclass', 'barcode', 'itemclass_tips'],
|
['itemclass', 'barcode', 'itemclass_tips'],
|
||||||
)
|
)
|
||||||
|
|
||||||
return tableData.value
|
return tableData.value
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -560,12 +562,6 @@ const getXmList = () => {
|
|||||||
getXmItemInfo().then(res => {
|
getXmItemInfo().then(res => {
|
||||||
processedTableData.value = processTableData(res.data);
|
processedTableData.value = processTableData(res.data);
|
||||||
filterData.value = [...processedTableData.value]
|
filterData.value = [...processedTableData.value]
|
||||||
|
|
||||||
listregdict({ dictType: 'CLASS' }).then(response => {
|
|
||||||
xmdlList.value = response.rows;
|
|
||||||
activeName.value = xmdlList.value.length > 0 ? xmdlList.value[0].dictCode : '';
|
|
||||||
handleTabClick({ paneName: activeName.value });
|
|
||||||
});
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -573,10 +569,14 @@ const itemclassList = ref([]) // 容器类别
|
|||||||
|
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getXmList()
|
|
||||||
changeDays(3)
|
changeDays(3)
|
||||||
|
getXmList()
|
||||||
getDictData('PT', 'SX', 'AU', 'ZT', 'ZJLX', 'DEPT', 'DOCTOR', 'SLZQ', 'BT', 'SQDZT')
|
getDictData('PT', 'SX', 'AU', 'ZT', 'ZJLX', 'DEPT', 'DOCTOR', 'SLZQ', 'BT', 'SQDZT')
|
||||||
|
listregdict({ dictType: 'CLASS' }).then(response => {
|
||||||
|
xmdlList.value = response.rows;
|
||||||
|
activeName.value = xmdlList.value.length > 0 ? xmdlList.value[0].dictCode : '';
|
||||||
|
handleTabClick({ paneName: activeName.value });
|
||||||
|
});
|
||||||
listitemclass({ pageSize: 9999, pageNum: 1 }).then(response => {
|
listitemclass({ pageSize: 9999, pageNum: 1 }).then(response => {
|
||||||
itemclassList.value = response.rows;
|
itemclassList.value = response.rows;
|
||||||
})
|
})
|
||||||
@ -643,13 +643,6 @@ onMounted(() => {
|
|||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
.yblxtext {
|
|
||||||
font-style: 15px;
|
|
||||||
color: #123d64;
|
|
||||||
font-weight: 600;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #000;
|
color: #000;
|
||||||
|
|||||||
@ -28,7 +28,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="用户工号:" prop="username">
|
<el-form-item label="用户代号:" prop="username">
|
||||||
<el-input v-model="loginForm.username" type="text" size="large" auto-complete="off" placeholder="账号">
|
<el-input v-model="loginForm.username" type="text" size="large" auto-complete="off" placeholder="账号">
|
||||||
<template #prefix>
|
<template #prefix>
|
||||||
<svg-icon icon-class="user" class="el-input__icon input-icon" />
|
<svg-icon icon-class="user" class="el-input__icon input-icon" />
|
||||||
|
|||||||
@ -96,6 +96,7 @@ const queryParams = ref({
|
|||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
srcHospName: userStore.sysLoginParam.loginYLJGName,
|
srcHospName: userStore.sysLoginParam.loginYLJGName,
|
||||||
times: [],
|
times: [],
|
||||||
|
status: 50
|
||||||
})
|
})
|
||||||
const tableData = ref([])
|
const tableData = ref([])
|
||||||
const columns = ref([
|
const columns = ref([
|
||||||
|
|||||||
@ -40,11 +40,7 @@
|
|||||||
:cell-style="tableCellStyle" height="calc(100vh - 250px)">
|
:cell-style="tableCellStyle" height="calc(100vh - 250px)">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
<el-table-column label="序号" align="center" prop="itemclassId" />
|
<el-table-column label="序号" align="center" prop="itemclassId" />
|
||||||
<el-table-column label="项目大类" align="center" prop="classid">
|
<el-table-column label="项目大类" align="center" prop="classid" />
|
||||||
<template #default="scope">
|
|
||||||
{{xmdlList.find(item => item.dictCode == scope.row.classid)?.dictName}}
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="项目类别编码" align="center" prop="itemclassCode" />
|
<el-table-column label="项目类别编码" align="center" prop="itemclassCode" />
|
||||||
<el-table-column label="项目类别名称" align="center" prop="itemclassName" show-overflow-tooltip />
|
<el-table-column label="项目类别名称" align="center" prop="itemclassName" show-overflow-tooltip />
|
||||||
<el-table-column label="试管名称" align="center" prop="itemclassTips" show-overflow-tooltip />
|
<el-table-column label="试管名称" align="center" prop="itemclassTips" show-overflow-tooltip />
|
||||||
@ -53,7 +49,7 @@
|
|||||||
<el-table-column label="打印次数" align="center" prop="itemclassPrintcnt" />
|
<el-table-column label="打印次数" align="center" prop="itemclassPrintcnt" />
|
||||||
<el-table-column label="抗凝样本" width="80" align="center" prop="itemclassKn">
|
<el-table-column label="抗凝样本" width="80" align="center" prop="itemclassKn">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-checkbox :model-value="scope.row.itemclassKn == 1" />
|
<el-checkbox :checked="scope.row.itemclassKn === 1 || scope.row.itemclassKn === '1'" disabled />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="排序" align="center" prop="itemclassSort" />
|
<el-table-column label="排序" align="center" prop="itemclassSort" />
|
||||||
@ -80,7 +76,7 @@
|
|||||||
|
|
||||||
<!-- 添加或修改项目类别对话框 -->
|
<!-- 添加或修改项目类别对话框 -->
|
||||||
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
|
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
|
||||||
<el-form ref="postRef" :model="form" :rules="rules" label-width="120px">
|
<el-form ref="postRef" :model="form" :rules="rules" label-width="80px">
|
||||||
<el-form-item label="项目大类" prop="classid">
|
<el-form-item label="项目大类" prop="classid">
|
||||||
<el-select v-model="form.classid" placeholder="请选择项目大类" clearable style="width: 100%">
|
<el-select v-model="form.classid" placeholder="请选择项目大类" clearable style="width: 100%">
|
||||||
<el-option v-for="dict in xmdlList" :key="dict.dictCode" :label="dict.dictName" :value="dict.dictCode" />
|
<el-option v-for="dict in xmdlList" :key="dict.dictCode" :label="dict.dictName" :value="dict.dictCode" />
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
<div class="left_box">
|
<div class="left_box">
|
||||||
<el-input v-model="leftSearchValue" placeholder="请输入类别名称或代号" class="mb10" />
|
<el-input v-model="leftSearchValue" placeholder="请输入类别名称或代号" class="mb10" />
|
||||||
<el-table :data="filteredLeftTableData" @row-click="handleLeftRowClick" highlight-current-row border
|
<el-table :data="filteredLeftTableData" @row-click="handleLeftRowClick" highlight-current-row border
|
||||||
showOverflowTooltip :cell-style="cellStyle" height="80vh" style="width: 100%;">
|
:cell-style="cellStyle" height="80vh" style="width: 100%;">
|
||||||
<el-table-column prop="itemclassCode" label="分单类别代号" width="110" />
|
<el-table-column prop="itemclassCode" label="分单类别代号" width="110" />
|
||||||
<el-table-column prop="itemclassName" label="类别名称" />
|
<el-table-column prop="itemclassName" label="类别名称" />
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -14,7 +14,7 @@
|
|||||||
<div class="m_box">
|
<div class="m_box">
|
||||||
<el-input v-model="middleSearchValue" placeholder="请输入项目名称或代号" class="mb10" />
|
<el-input v-model="middleSearchValue" placeholder="请输入项目名称或代号" class="mb10" />
|
||||||
<el-table :data="filteredMiddleTableData" @row-dblclick="handleMiddleRowDblClick" highlight-current-row
|
<el-table :data="filteredMiddleTableData" @row-dblclick="handleMiddleRowDblClick" highlight-current-row
|
||||||
showOverflowTooltip style="width: 100%;" height="80vh" border>
|
style="width: 100%;" height="80vh" border>
|
||||||
<el-table-column prop="itemcode" label="项目代号" width="100" />
|
<el-table-column prop="itemcode" label="项目代号" width="100" />
|
||||||
<el-table-column prop="itemname" label="当前类别包含门诊项目" />
|
<el-table-column prop="itemname" label="当前类别包含门诊项目" />
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -36,7 +36,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<el-table :data="filteredRightTableData" @row-dblclick="handleRightRowDblClick" highlight-current-row
|
<el-table :data="filteredRightTableData" @row-dblclick="handleRightRowDblClick" highlight-current-row
|
||||||
showOverflowTooltip height="80vh" border style="width: 100%;">
|
height="80vh" border style="width: 100%;">
|
||||||
<el-table-column prop="itemclass" label="类别" width="100">
|
<el-table-column prop="itemclass" label="类别" width="100">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{leftTableData.find(item => item.itemclassCode === row.itemclass)?.itemclassName}}
|
{{leftTableData.find(item => item.itemclassCode === row.itemclass)?.itemclassName}}
|
||||||
|
|||||||
@ -30,7 +30,7 @@
|
|||||||
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="postList" @selection-change="handleSelectionChange" showOverflowTooltip
|
<el-table v-loading="loading" :data="postList" @selection-change="handleSelectionChange"
|
||||||
:cell-style="tableCellStyle" height="calc(100vh - 250px)">
|
:cell-style="tableCellStyle" height="calc(100vh - 250px)">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
<el-table-column label="类别" align="center" prop="hospital_type" width="100">
|
<el-table-column label="类别" align="center" prop="hospital_type" width="100">
|
||||||
@ -168,9 +168,7 @@ function cancel() {
|
|||||||
}
|
}
|
||||||
/** 表单重置 */
|
/** 表单重置 */
|
||||||
function reset() {
|
function reset() {
|
||||||
form.value = {
|
form.value = {};
|
||||||
status: "0"
|
|
||||||
};
|
|
||||||
proxy.resetForm("postRef");
|
proxy.resetForm("postRef");
|
||||||
}
|
}
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
|
|||||||
@ -72,26 +72,31 @@
|
|||||||
</el-form>
|
</el-form>
|
||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
<el-row :gutter="10">
|
<el-row :gutter="20">
|
||||||
<el-col :span="16">
|
<el-col :span="16" class="right-table">
|
||||||
<el-row :gutter="10" class="mb8 mt10">
|
<el-row :gutter="10" class="mb8 mt10">
|
||||||
<!-- <el-col :span="1.5">
|
|
||||||
<el-button type="primary" plain icon="Edit" :size="aotuSize" @click="selectStatusRows">勾选所有未打印</el-button>
|
|
||||||
</el-col> -->
|
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button type="primary" plain icon="Upload" :loading="printLoading" :size="aotuSize"
|
<el-button type="primary" plain icon="Edit" :size="aotuSize" @click="selectStatusRows">勾选所有未打印</el-button>
|
||||||
@click="printPdf">打印报告</el-button>
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button type="primary" plain icon="Upload" :size="aotuSize" @click="printPdf">打印报告</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<!-- <right-toolbar v-model:showSearch="showSearch" @updateColumns="updateColumns" @queryTable="handleQuery"
|
<!-- <right-toolbar v-model:showSearch="showSearch" @updateColumns="updateColumns" @queryTable="handleQuery"
|
||||||
:columns="columns"></right-toolbar> -->
|
:columns="columns"></right-toolbar> -->
|
||||||
</el-row>
|
</el-row>
|
||||||
<div>
|
|
||||||
<CustomTable ref="tableRefs" :data="tableData" :columns="columns" :config="tableConfig" :loading="loading"
|
<CustomTable ref="tableRefs" :data="tableData" :columns="columns" :config="tableConfig" :loading="loading"
|
||||||
@row-click="rowHandle" :enableColumnDrag="true" @column-drag-end="handleColumnDragEnd">
|
@selection-change="selectionChange" @row-click="rowHandle" :enableColumnDrag="true"
|
||||||
|
@column-drag-end="handleColumnDragEnd">
|
||||||
<template #dybz="{ row }">
|
<template #dybz="{ row }">
|
||||||
<svg-icon v-if="row.dybz == 1" icon-class="lvgou" />
|
<svg-icon v-if="row.dybz == 1" icon-class="lvgou" />
|
||||||
</template>
|
</template>
|
||||||
|
<template #srcHospName="{ row }">
|
||||||
|
武汉市汉阳区江堤街社区卫生服务中心
|
||||||
|
</template>
|
||||||
<template #alarmflag="{ row }">
|
<template #alarmflag="{ row }">
|
||||||
{{ row.alarmflag == 1 ? '危' : '' }}
|
{{ row.alarmflag == 1 ? '危' : '' }}
|
||||||
</template>
|
</template>
|
||||||
@ -99,37 +104,30 @@
|
|||||||
{{ row.jzbz == 1 ? '急' : '' }}
|
{{ row.jzbz == 1 ? '急' : '' }}
|
||||||
</template>
|
</template>
|
||||||
</CustomTable>
|
</CustomTable>
|
||||||
</div>
|
|
||||||
<div class="mt5 mb5">
|
|
||||||
<el-pagination v-model:current-page="queryParams.pageNum" v-model:page-size="queryParams.pageSize"
|
|
||||||
:size="aotuSize" :page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper"
|
|
||||||
:total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8" class="right-table">
|
<el-col :span="8" class="right-table">
|
||||||
<!-- <div class="title">检验结果</div> -->
|
<!-- <div class="title">检验结果</div> -->
|
||||||
<div class="mb8 mt10">
|
<div class="mb8 mt10">
|
||||||
<!-- <el-button type="primary" plain :size="aotuSize" @click="openDB">对比历史</el-button> -->
|
<el-button type="primary" plain :size="aotuSize" @click="openDB">对比历史</el-button>
|
||||||
<el-select class="ml10" placeholder="请选择复制" style="width: 140px" @change="copyData" :size="aotuSize">
|
<el-select class="ml10" placeholder="请选择复制" style="width: 140px" @change="copyData" :size="aotuSize">
|
||||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
|
||||||
</el-select>
|
</el-select>
|
||||||
<!-- <el-button type="primary">知识库</el-button> -->
|
<!-- <el-button type="primary">知识库</el-button> -->
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<CustomTable :data="rightTableData" :columns="rightColumns" :config="rightTableConfig"
|
<CustomTable :data="rightTableData" :columns="rightColumns" :config="rightTableConfig" @row-click="xmrowHandle"
|
||||||
@row-click="xmrowHandle" ref="rightTableRef">
|
ref="rightTableRef">
|
||||||
<template #jgbz="{ row }">
|
<template #jgbz="{ row }">
|
||||||
{{ formatJgbz(row.jgbz) }}
|
{{ formatJgbz(row.jgbz) }}
|
||||||
</template>
|
</template>
|
||||||
</CustomTable>
|
</CustomTable>
|
||||||
</div>
|
|
||||||
<div class="mt10" v-if="bottomTableData.length > 0"></div>
|
<div class="mt10" v-if="bottomTableData.length > 0"></div>
|
||||||
<div>
|
|
||||||
<CustomTable v-if="bottomTableData.length > 0" :data="bottomTableData" :columns="bottomColumns"
|
<CustomTable v-if="bottomTableData.length > 0" :data="bottomTableData" :columns="bottomColumns"
|
||||||
@row-click="xmrowBottomHandle" :config="bottomTableConfig">
|
:config="bottomTableConfig">
|
||||||
</CustomTable>
|
</CustomTable>
|
||||||
</div>
|
|
||||||
<div v-if="bottomTableData.length > 0" class="expert-comment" :title="expertComment">
|
<div v-if="bottomTableData.length > 0" class="expert-comment" :title="expertComment">
|
||||||
专家评语:{{ expertComment }}
|
专家评语:{{ expertComment }}
|
||||||
</div>
|
</div>
|
||||||
@ -172,15 +170,24 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import CustomTable from '@/components/elTable/index.vue'
|
import CustomTable from '@/components/elTable/index.vue'
|
||||||
|
import { useRouter } from 'vue-router'
|
||||||
import { reportList, reportPrintPdf, reportResult, reportMedList, reportFsresult } from '@/api/checkCode/index'
|
import { reportList, reportPrintPdf, reportResult, reportMedList, reportFsresult } from '@/api/checkCode/index'
|
||||||
import dayjs from 'dayjs';
|
import dayjs from 'dayjs';
|
||||||
import SelectTable from '@/components/SelectTable/index.vue';
|
import SelectTable from '@/components/SelectTable/index.vue';
|
||||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||||
import { classCom } from '@/utils/classCom'
|
import { classCom } from '@/utils/classCom'
|
||||||
import * as echarts from 'echarts';
|
import * as echarts from 'echarts';
|
||||||
|
//@ts-ignore
|
||||||
import { comDict } from '@/utils/dict'
|
import { comDict } from '@/utils/dict'
|
||||||
|
import { usePrintStore } from '@/store/modules/printStore'
|
||||||
|
//@ts-ignore
|
||||||
|
import useUserStore from '@/store/modules/user'
|
||||||
|
import { useRoute } from 'vue-router'
|
||||||
|
|
||||||
const aotuSize = classCom.useAutoSize();
|
const aotuSize = classCom.useAutoSize();
|
||||||
|
const route = useRoute()
|
||||||
|
|
||||||
|
const userStore = useUserStore()
|
||||||
const compactForm = ref<HTMLElement | null>(null);
|
const compactForm = ref<HTMLElement | null>(null);
|
||||||
const heightForm = ref(90);
|
const heightForm = ref(90);
|
||||||
const dialogVisible = ref(false)
|
const dialogVisible = ref(false)
|
||||||
@ -203,15 +210,14 @@ interface QueryParams {
|
|||||||
ch: string,
|
ch: string,
|
||||||
dybz: string,
|
dybz: string,
|
||||||
sqh: string,
|
sqh: string,
|
||||||
pageNum: number,
|
userid: string
|
||||||
pageSize: number
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 提交表单数据
|
// 提交表单数据
|
||||||
const queryParams = reactive<QueryParams>({
|
const queryParams = reactive<QueryParams>({
|
||||||
times: ['2025-08-19', '2025-08-19'],
|
times: ['2025-08-19', '2025-08-19'],
|
||||||
// ksdh: '0203',
|
// ksdh: '0203',
|
||||||
ksdh: '',
|
ksdh: '0210',
|
||||||
brlyname: '',
|
brlyname: '',
|
||||||
sqh: '25080109476',
|
sqh: '25080109476',
|
||||||
alarmflag: false,
|
alarmflag: false,
|
||||||
@ -220,13 +226,24 @@ const queryParams = reactive<QueryParams>({
|
|||||||
brdh: '',
|
brdh: '',
|
||||||
ch: '',
|
ch: '',
|
||||||
dybz: '',
|
dybz: '',
|
||||||
pageNum: 1,
|
userid: ''
|
||||||
pageSize: 20
|
|
||||||
});
|
});
|
||||||
|
// 获取当前日期(当天)
|
||||||
|
const today = dayjs();
|
||||||
|
|
||||||
|
// 计算前6天的日期(当天 + 前6天 = 7天)
|
||||||
|
const startOfWeek = today.subtract(6, 'day');
|
||||||
|
|
||||||
|
const startDate = route.query.startdate ? String(route.query.startdate) : startOfWeek.format('YYYY-MM-DD');
|
||||||
|
const endDate = route.query.endate ? String(route.query.endate) : today.format('YYYY-MM-DD');
|
||||||
|
|
||||||
|
// queryParams.times = [startDate, endDate];2025-08-19&endate=2025-08-19
|
||||||
|
queryParams.times = ['2025-08-19', '2025-08-19'];
|
||||||
|
queryParams.ksdh = (route.query.deptcode as string) || '0210';
|
||||||
|
queryParams.userid = (route.query.userid as string) || '00910';
|
||||||
|
queryParams.brdh = (route.query.brdh as string) || '';
|
||||||
|
|
||||||
const total = ref(0);
|
|
||||||
|
|
||||||
const printLoading = ref(false);
|
|
||||||
const single = ref(true);
|
const single = ref(true);
|
||||||
const multiple = ref(true);
|
const multiple = ref(true);
|
||||||
const alarmflag = ref()
|
const alarmflag = ref()
|
||||||
@ -276,15 +293,6 @@ const handleQuery = async () => {
|
|||||||
if (!valid) return false;
|
if (!valid) return false;
|
||||||
getList()
|
getList()
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleSizeChange = (val: number) => {
|
|
||||||
queryParams.pageSize = val
|
|
||||||
handleQuery()
|
|
||||||
}
|
|
||||||
const handleCurrentChange = (val: number) => {
|
|
||||||
queryParams.pageNum = val
|
|
||||||
handleQuery()
|
|
||||||
}
|
|
||||||
// 重置
|
// 重置
|
||||||
const resetQuery = () => {
|
const resetQuery = () => {
|
||||||
queryRef.value?.resetFields();
|
queryRef.value?.resetFields();
|
||||||
@ -299,7 +307,7 @@ const tableData = ref([])
|
|||||||
// 配置项
|
// 配置项
|
||||||
const columns = ref([
|
const columns = ref([
|
||||||
{ type: 'selection', visible: true, align: 'center', width: 30, label: '多选框' },
|
{ type: 'selection', visible: true, align: 'center', width: 30, label: '多选框' },
|
||||||
{ prop: 'yljg', label: '委托机构', align: 'center', visible: true, width: 200 },
|
{ prop: 'srcHospName', label: '委托机构', align: 'center', visible: true, slot: 'srcHospName', width: 200 },
|
||||||
{ prop: 'dybz', label: '印', align: 'center', visible: true, slot: 'dybz', width: 40 },
|
{ prop: 'dybz', label: '印', align: 'center', visible: true, slot: 'dybz', width: 40 },
|
||||||
{ prop: 'jzbz', label: '急', align: 'center', visible: true, slot: 'jzbz', width: 40 },
|
{ prop: 'jzbz', label: '急', align: 'center', visible: true, slot: 'jzbz', width: 40 },
|
||||||
{ prop: 'alarmflag', label: '危', align: 'center', visible: true, slot: 'alarmflag', width: 40 },
|
{ prop: 'alarmflag', label: '危', align: 'center', visible: true, slot: 'alarmflag', width: 40 },
|
||||||
@ -313,11 +321,12 @@ const columns = ref([
|
|||||||
{ prop: 'confirmtime', label: '报告时间', align: 'center', visible: true, sortable: true, width: 150 },
|
{ prop: 'confirmtime', label: '报告时间', align: 'center', visible: true, sortable: true, width: 150 },
|
||||||
{ prop: 'sjysname', label: '送检医生', align: 'center', visible: true, width: 80 },
|
{ prop: 'sjysname', label: '送检医生', align: 'center', visible: true, width: 80 },
|
||||||
{ prop: 'brlyname', label: '病人类型', align: 'center', visible: true, width: 80 },
|
{ prop: 'brlyname', label: '病人类型', align: 'center', visible: true, width: 80 },
|
||||||
{ prop: 'jyrq', label: '检验日期', align: 'center', visible: true, width: 100 },
|
{ prop: 'yljg', label: '医疗机构', align: 'center', visible: true, width: 150 },
|
||||||
|
{ prop: 'jyrqname', label: '检验日期', align: 'center', visible: true, width: 100 },
|
||||||
{ prop: 'ybh', label: '样本号', align: 'center', visible: true, width: 60 },
|
{ prop: 'ybh', label: '样本号', align: 'center', visible: true, width: 60 },
|
||||||
{ prop: 'yqmc', label: '仪器名称', align: 'center', visible: true, width: 150 },
|
{ prop: 'yqmc', label: '仪器名称', align: 'center', visible: true, width: 150 },
|
||||||
// { prop: 'yqdl', label: '仪器', align: 'center', visible: true, width: 100 },
|
{ prop: 'yqdl', label: '仪器', align: 'center', visible: true, width: 100 },
|
||||||
// { prop: 'yljg', label: '检验机构', align: 'center', visible: true, width: 150 },
|
{ prop: 'yljg', label: '检验机构', align: 'center', visible: true, width: 150 },
|
||||||
])
|
])
|
||||||
|
|
||||||
const selectionChange = (selection: any) => {
|
const selectionChange = (selection: any) => {
|
||||||
@ -329,7 +338,7 @@ const selectionChange = (selection: any) => {
|
|||||||
const rightTableRef = ref()
|
const rightTableRef = ref()
|
||||||
const rowHandle = (row: any) => {
|
const rowHandle = (row: any) => {
|
||||||
console.log('row==>', row);
|
console.log('row==>', row);
|
||||||
if (row.yqdl == 2) {
|
if (row.yqdl == '细菌仪') {
|
||||||
rightColumns.value[1].visible = false
|
rightColumns.value[1].visible = false
|
||||||
rightColumns.value[2].visible = true
|
rightColumns.value[2].visible = true
|
||||||
rightColumns.value[4].visible = false
|
rightColumns.value[4].visible = false
|
||||||
@ -353,8 +362,12 @@ const rowHandle = (row: any) => {
|
|||||||
]
|
]
|
||||||
|
|
||||||
Info.value = row
|
Info.value = row
|
||||||
|
const data = {
|
||||||
reportResult({ bgdh: row.bgdh }).then((res) => {
|
jyrq: row.jyrq,
|
||||||
|
yq: row.yq,
|
||||||
|
ybh: row.ybh,
|
||||||
|
}
|
||||||
|
reportResult(data).then((res: any) => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
rightTableData.value = res.data
|
rightTableData.value = res.data
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
@ -371,14 +384,23 @@ const handleColumnDragEnd = (newColumns: any) => {
|
|||||||
|
|
||||||
// 打印单张Pdf
|
// 打印单张Pdf
|
||||||
const printPdf = () => {
|
const printPdf = () => {
|
||||||
printLoading.value = true
|
const printStore = usePrintStore();
|
||||||
reportPrintPdf({ bgdh: Info.value.bgdh }).then((res) => {
|
const merge = rows.value.map((item: any) => { return `${item.jyrqname.replace(/-/g, '')}_${item.yq.trim()}_${item.ybh}` })
|
||||||
|
// const merge = [
|
||||||
|
// "20250819_11_1",
|
||||||
|
// "20250819_11_10",
|
||||||
|
// "20250819_11_11"
|
||||||
|
// ]
|
||||||
|
reportPrintPdf(merge).then((res: any) => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
if (!res.data.report) return ElMessage.warning('未找到打印文件')
|
if (!res.data) return ElMessage.warning('未找到打印文件')
|
||||||
classCom.printBase64PDF(res.data.report)
|
classCom.printBase64PDF(res.data)
|
||||||
|
// if (printStore.isConnected) {
|
||||||
|
// HiprintPrinter.silentPrint([res.data])
|
||||||
|
// } else {
|
||||||
|
// classCom.printBase64PDF(res.data)
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
|
||||||
printLoading.value = false
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -511,7 +533,7 @@ const rightTableConfig = ref(
|
|||||||
{
|
{
|
||||||
// stripe: true, // 斑马纹
|
// stripe: true, // 斑马纹
|
||||||
border: true, // 边框
|
border: true, // 边框
|
||||||
height: '60vh', // 高度
|
height: '25vh', // 高度
|
||||||
highlightCurrentRow: true, // 高亮当前行
|
highlightCurrentRow: true, // 高亮当前行
|
||||||
cellStyle: rightCellStyleHd
|
cellStyle: rightCellStyleHd
|
||||||
}
|
}
|
||||||
@ -534,23 +556,24 @@ const xmRow = ref<any>({})
|
|||||||
// 查询抗生素
|
// 查询抗生素
|
||||||
const xmrowHandle = (row: any) => {
|
const xmrowHandle = (row: any) => {
|
||||||
xmRow.value = row
|
xmRow.value = row
|
||||||
|
expertComment.value = row.textresult
|
||||||
const data = {
|
const data = {
|
||||||
bgdh: row.bgdh,
|
jyrq: Info.value.jyrq,
|
||||||
|
yq: Info.value.yq,
|
||||||
|
ybh: Info.value.ybh,
|
||||||
xmdh: row.xmdh
|
xmdh: row.xmdh
|
||||||
}
|
}
|
||||||
reportMedList(data).then((res: any) => {
|
reportMedList(data).then((res: any) => {
|
||||||
if (res.code == 0) {
|
if (res.code == 200) {
|
||||||
bottomTableData.value = res.data
|
bottomTableData.value = res.rows
|
||||||
expertComment.value = res.data[0]?.txtresult;
|
if (res.rows.length > 0) {
|
||||||
if (res.data.length > 0) {
|
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
rightTableConfig.value.height = `calc(32vh - ${heightForm.value}px)`
|
rightTableConfig.value.height = `calc(32vh - ${heightForm.value}px)`
|
||||||
rightTableRef.value?.doLayout && rightTableRef.value.doLayout();
|
rightTableRef.value?.doLayout && rightTableRef.value.doLayout();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
rightTableConfig.value.height = '60vh'
|
rightTableConfig.value.height = `calc(74vh - ${heightForm.value}px)`
|
||||||
rightTableRef.value?.doLayout && rightTableRef.value.doLayout();
|
rightTableRef.value?.doLayout && rightTableRef.value.doLayout();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -675,7 +698,7 @@ const getEcharts = (data: any) => {
|
|||||||
);
|
);
|
||||||
const Intance = echarts.init(myEcharts.value);
|
const Intance = echarts.init(myEcharts.value);
|
||||||
const xData = dateKeys;
|
const xData = dateKeys;
|
||||||
let seriesData: string[] = []
|
let seriesData = []
|
||||||
seriesData = dateKeys.map(item => data[item]);
|
seriesData = dateKeys.map(item => data[item]);
|
||||||
|
|
||||||
const option = {
|
const option = {
|
||||||
@ -811,10 +834,12 @@ const dictData = ref<DictData>({});
|
|||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
// 初始化3天区间(今天-前两天)
|
// 初始化3天区间(今天-前两天)
|
||||||
const end = dayjs().format('YYYY-MM-DD');
|
// const end = dayjs().format('YYYY-MM-DD HH:mm:ss');
|
||||||
const start = dayjs().subtract(2, 'day').format('YYYY-MM-DD'); //add 时间往后
|
// const start = dayjs().subtract(1, 'day').format('YYYY-MM-DD HH:mm:ss'); //add 时间往后
|
||||||
queryParams.times = [start, end];
|
// queryParams.times = [start, end];
|
||||||
// console.log(queryParams.times);
|
// console.log(queryParams.times);
|
||||||
|
// 进入页面单点登录
|
||||||
|
userStore.loginAnonymous({ name: 'admin' })
|
||||||
getList()
|
getList()
|
||||||
adjustTableHeight();
|
adjustTableHeight();
|
||||||
|
|
||||||
@ -830,6 +855,8 @@ onMounted(async () => {
|
|||||||
|
|
||||||
|
|
||||||
const getList = () => {
|
const getList = () => {
|
||||||
|
if (!queryParams.ksdh) return ElMessage.error('科室代号不能为空');
|
||||||
|
if (!queryParams.userid) return ElMessage.error('用户userid不能为空');
|
||||||
const data = {
|
const data = {
|
||||||
alarmflag: alarmflag.value,
|
alarmflag: alarmflag.value,
|
||||||
jzbz: jzbz.value,
|
jzbz: jzbz.value,
|
||||||
@ -839,10 +866,11 @@ const getList = () => {
|
|||||||
brxm: queryParams.brxm,
|
brxm: queryParams.brxm,
|
||||||
brdh: queryParams.brdh,
|
brdh: queryParams.brdh,
|
||||||
ch: queryParams.ch,
|
ch: queryParams.ch,
|
||||||
|
userid: queryParams.userid,
|
||||||
st: '',
|
st: '',
|
||||||
et: '',
|
et: '',
|
||||||
pageSize: queryParams.pageSize || 10,
|
yljg: 1,
|
||||||
pageNum: queryParams.pageNum || 1
|
|
||||||
}
|
}
|
||||||
if (queryParams.times && queryParams.times.length) {
|
if (queryParams.times && queryParams.times.length) {
|
||||||
data.st = queryParams.times[0]
|
data.st = queryParams.times[0]
|
||||||
@ -851,14 +879,13 @@ const getList = () => {
|
|||||||
return ElMessage.error('日期时间段不能为空');
|
return ElMessage.error('日期时间段不能为空');
|
||||||
}
|
}
|
||||||
loading.value = true
|
loading.value = true
|
||||||
reportList(data).then((res) => {
|
reportList(data).then((res: any) => {
|
||||||
if (res.code == 200) {
|
if (res.code == 0) {
|
||||||
loading.value = false
|
loading.value = false
|
||||||
tableData.value = res.rows
|
tableData.value = res.data
|
||||||
total.value = res.total
|
if (res.data.length > 0) {
|
||||||
if (res.rows.length > 0) {
|
tableRefs.value.setCurrentRow(res.data[0])
|
||||||
tableRefs.value.setCurrentRow(res.rows[0])
|
rowHandle(res.data[0])
|
||||||
rowHandle(res.rows[0])
|
|
||||||
} else {
|
} else {
|
||||||
rightTableData.value = []
|
rightTableData.value = []
|
||||||
bottomTableData.value = []
|
bottomTableData.value = []
|
||||||
@ -879,7 +906,7 @@ function adjustTableHeight() {
|
|||||||
heightForm.value = compactForm.value.offsetHeight;
|
heightForm.value = compactForm.value.offsetHeight;
|
||||||
|
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
tableConfig.value.height = `calc(74vh - ${heightForm.value + 50}px)`
|
tableConfig.value.height = `calc(74vh - ${heightForm.value}px)`
|
||||||
tableRefs.value?.doLayout && tableRefs.value.doLayout();
|
tableRefs.value?.doLayout && tableRefs.value.doLayout();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -20,8 +20,8 @@
|
|||||||
<pane size="84">
|
<pane size="84">
|
||||||
<el-col>
|
<el-col>
|
||||||
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
|
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
<el-form-item label="用户工号" prop="userName">
|
<el-form-item label="用户代号" prop="userName">
|
||||||
<el-input v-model="queryParams.userName" placeholder="请输入用户工号" clearable style="width: 240px"
|
<el-input v-model="queryParams.userName" placeholder="请输入用户代号" clearable style="width: 240px"
|
||||||
@keyup.enter="handleQuery" />
|
@keyup.enter="handleQuery" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="手机号码" prop="phonenumber">
|
<el-form-item label="手机号码" prop="phonenumber">
|
||||||
@ -72,9 +72,9 @@
|
|||||||
height="calc(100vh - 350px)">
|
height="calc(100vh - 350px)">
|
||||||
<el-table-column type="selection" width="50" align="center" />
|
<el-table-column type="selection" width="50" align="center" />
|
||||||
<el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns.userId.visible" />
|
<el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns.userId.visible" />
|
||||||
<el-table-column label="用户工号" align="center" key="userName" prop="userName"
|
<el-table-column label="用户代号" align="center" key="userName" prop="userName"
|
||||||
v-if="columns.userName.visible" :show-overflow-tooltip="true" />
|
v-if="columns.userName.visible" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="用户姓名" align="center" key="nickName" prop="nickName"
|
<el-table-column label="用户昵称" align="center" key="nickName" prop="nickName"
|
||||||
v-if="columns.nickName.visible" :show-overflow-tooltip="true" />
|
v-if="columns.nickName.visible" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="部门" align="center" key="deptName" prop="dept.deptName"
|
<el-table-column label="部门" align="center" key="deptName" prop="dept.deptName"
|
||||||
v-if="columns.deptName.visible" :show-overflow-tooltip="true" />
|
v-if="columns.deptName.visible" :show-overflow-tooltip="true" />
|
||||||
@ -125,8 +125,8 @@
|
|||||||
<el-form :model="form" :rules="rules" ref="userRef" label-width="80px">
|
<el-form :model="form" :rules="rules" ref="userRef" label-width="80px">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="用户姓名" prop="nickName">
|
<el-form-item label="用户昵称" prop="nickName">
|
||||||
<el-input v-model="form.nickName" placeholder="请输入用户姓名" maxlength="30" />
|
<el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
@ -151,8 +151,8 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item v-if="form.userId == undefined" label="用户工号" prop="userName">
|
<el-form-item v-if="form.userId == undefined" label="用户代号" prop="userName">
|
||||||
<el-input v-model="form.userName" placeholder="请输入用户工号" maxlength="30" />
|
<el-input v-model="form.userName" placeholder="请输入用户代号" maxlength="30" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
@ -292,8 +292,8 @@ const upload = reactive({
|
|||||||
// 列显隐信息
|
// 列显隐信息
|
||||||
const columns = ref<Record<string, TableShowColumns>>({
|
const columns = ref<Record<string, TableShowColumns>>({
|
||||||
userId: { label: '用户编号', visible: true },
|
userId: { label: '用户编号', visible: true },
|
||||||
userName: { label: '用户工号', visible: true },
|
userName: { label: '用户代号', visible: true },
|
||||||
nickName: { label: '用户姓名', visible: true },
|
nickName: { label: '用户昵称', visible: true },
|
||||||
deptName: { label: '部门', visible: true },
|
deptName: { label: '部门', visible: true },
|
||||||
phonenumber: { label: '手机号码', visible: true },
|
phonenumber: { label: '手机号码', visible: true },
|
||||||
status: { label: '状态', visible: true },
|
status: { label: '状态', visible: true },
|
||||||
@ -311,11 +311,11 @@ const data = reactive({
|
|||||||
deptId: undefined
|
deptId: undefined
|
||||||
} as UserQueryParams,
|
} as UserQueryParams,
|
||||||
rules: {
|
rules: {
|
||||||
userName: [{ required: true, message: "用户工号不能为空", trigger: "blur" },
|
userName: [{ required: true, message: "用户代号不能为空", trigger: "blur" },
|
||||||
{ min: 2, max: 20, message: "用户工号长度必须介于 2 和 20 之间", trigger: "blur" },
|
{ min: 2, max: 20, message: "用户代号长度必须介于 2 和 20 之间", trigger: "blur" },
|
||||||
{ pattern: /^[A-Za-z0-9]+$/, message: '用户工号只能输入字母和数字', trigger: ['blur', 'change'] }
|
{ pattern: /^[A-Za-z0-9]+$/, message: '用户代号只能输入字母和数字', trigger: ['blur', 'change'] }
|
||||||
],
|
],
|
||||||
nickName: [{ required: true, message: "用户姓名不能为空", trigger: "blur" }],
|
nickName: [{ required: true, message: "用户昵称不能为空", trigger: "blur" }],
|
||||||
password: [{ required: true, message: "用户密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }, { pattern: /^[^<>"'|\\]+$/, message: "不能包含非法字符:< > \" ' \\\ |", trigger: "blur" }],
|
password: [{ required: true, message: "用户密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }, { pattern: /^[^<>"'|\\]+$/, message: "不能包含非法字符:< > \" ' \\\ |", trigger: "blur" }],
|
||||||
email: [{ type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }],
|
email: [{ type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }],
|
||||||
phonenumber: [{ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }]
|
phonenumber: [{ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user