From 2585c6bc76068014c05feb407f7a3783c24c88b6 Mon Sep 17 00:00:00 2001 From: wyuu Date: Wed, 12 Nov 2025 18:17:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=87=E6=9C=AC=E6=B5=81=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/regional/index.ts | 24 + src/views/mzcx/cydj/components/OutPatList.vue | 2 +- src/views/regional/circulation/bbcx/index.vue | 98 +- src/views/regional/circulation/bbqs/index.vue | 212 ++-- src/views/regional/circulation/bbth/index.vue | 176 ++- src/views/regional/circulation/cydj/index.vue | 139 --- src/views/regional/circulation/mzcy/index.vue | 543 +++++++++ src/views/regional/circulation/sjdj/index.vue | 167 ++- src/views/regional/circulation/zycy/index.vue | 744 ++++++++++++ .../inspectionReport/report/index.vue | 1011 +++++++++++++++++ vite.config.js | 3 +- 11 files changed, 2779 insertions(+), 340 deletions(-) delete mode 100644 src/views/regional/circulation/cydj/index.vue create mode 100644 src/views/regional/circulation/mzcy/index.vue create mode 100644 src/views/regional/circulation/zycy/index.vue create mode 100644 src/views/regional/inspectionReport/report/index.vue diff --git a/src/api/regional/index.ts b/src/api/regional/index.ts index 4ac99f0..2514fd8 100644 --- a/src/api/regional/index.ts +++ b/src/api/regional/index.ts @@ -8,4 +8,28 @@ export function querySample(query?: Object) { method: 'get', params: query }) +} +// 获取未签收的标本 +export function querySampleSign(query?: Object) { + return request({ + url: '/transit/querySampleSign', + method: 'get', + params: query + }) +} +// 签收标本 +export function sampleSign(query?: Object) { + return request({ + url: '/transit/sampleSign', + method: 'post', + data: query + }) +} +// 退回的标本 +export function querySampleSignBack(query?: Object) { + return request({ + url: '/transit/querySampleSignBack', + method: 'get', + params: query + }) } \ No newline at end of file diff --git a/src/views/mzcx/cydj/components/OutPatList.vue b/src/views/mzcx/cydj/components/OutPatList.vue index 643eb3c..41f18f8 100644 --- a/src/views/mzcx/cydj/components/OutPatList.vue +++ b/src/views/mzcx/cydj/components/OutPatList.vue @@ -34,7 +34,7 @@ import { getFirstLetter } from '@/utils/pinyin.js'; // 引入拼音处理工具 // 组件参数 const props = defineProps({ pidValue: { type: [String, Number], default: '' }, - PatType: { type: String, required: true }, + PatType: { type: String }, placeholder: { type: String, default: '请输入或双击选择' }, clearable: { type: Boolean, default: true }, disabled: { type: Boolean, default: false }, diff --git a/src/views/regional/circulation/bbcx/index.vue b/src/views/regional/circulation/bbcx/index.vue index c7847fe..c7e6ce7 100644 --- a/src/views/regional/circulation/bbcx/index.vue +++ b/src/views/regional/circulation/bbcx/index.vue @@ -4,49 +4,53 @@ - + + label="label" :size="aotuSize" value="label" objKey="label" :border="true" placeholder="请选择委托机构" /> + + + + + - - + + - - + + - - + + - - + + - + - + - + @@ -69,10 +73,16 @@ + @size-change="sizeChange" @page-change="currentChange" @row-click="rowHandle"> + + @@ -101,6 +111,8 @@ import { classCom } from '@/utils/classCom'; const aotuSize = classCom.useAutoSize(); // @ts-ignore import { listhospital } from "@/api/regional/dict/hospital.js"; +// @ts-ignore +import { listregdict } from "@/api/regional/dict/regdict.js"; const queryParams: any = ref({ pageSize: 50, @@ -108,20 +120,21 @@ const queryParams: any = ref({ }) const tableData: any = ref([]) const columns: any = ref([ - { prop: 'barcode', label: '条码', align: 'center', visible: true, }, - { prop: 'srcHospName', label: '委托机构', align: 'center', visible: true, }, - { prop: 'patName', label: '姓名', align: 'center', visible: true, }, - { prop: 'patSex', label: '性别', align: 'center', visible: true, }, - { prop: 'patAge', label: '年龄', align: 'center', visible: true, slot: "patAge" }, - // { prop: 'ageUnit', label: '龄', align: 'center', visible: true, }, - { prop: 'checkPUR', label: '项目名称', align: 'center', visible: true, }, - { prop: 'sampleTypeName', label: '标本类型名称', align: 'center', visible: true, }, - { prop: 'Status', label: '状态', align: 'center', visible: true, }, + { prop: 'barcode', label: '条码号', align: 'center', visible: true, width: 150 }, + { prop: 'srcHospName', label: '委托机构', align: 'center', visible: true, width: 200 }, + { prop: 'patName', label: '姓名', align: 'center', visible: true, width: 70 }, + { prop: 'patSex', label: '性别', align: 'center', visible: true, width: 60, slot: "patSex" }, + { prop: 'patAge', label: '年龄', align: 'center', visible: true, slot: "patAge", width: 60 }, + { prop: 'checkPUR', label: '申请项目', align: 'center', visible: true, width: 200 }, + { prop: 'sampleTypeName', label: '标本类型', align: 'center', visible: true, }, + { prop: 'tubeName', label: '采集容器', align: 'center', visible: true, }, + { prop: 'status', label: '标本状态', align: 'center', visible: true, slot: "status" }, + { prop: 'moveStateName', label: '流转状态', align: 'center', visible: true, }, { prop: 'affirmUserName', label: '采样人', align: 'center', visible: true, }, - { prop: 'affirmTime', label: '采样时间', align: 'center', visible: true, }, + { prop: 'affirmTime', label: '采样时间', align: 'center', visible: true, width: 150 }, { prop: 'signInUserName', label: '签收人', align: 'center', visible: true, }, - { prop: 'signInTime', label: '签收时间', align: 'center', visible: true, }, - { prop: 'dstHospName', label: '检测机构名称', align: 'center', visible: true, }, + { prop: 'signInTime', label: '签收时间', align: 'center', visible: true, width: 150 }, + { prop: 'dstHospName', label: '检测机构名称', align: 'center', visible: true, width: 150 }, ]) const tableConfig = ref({ border: true, // 边框 @@ -188,7 +201,6 @@ const resetHandle = () => { handleQuery() } const currentChange = (page: { currentPage: number, pageSize: number }) => { - console.log('page==>', page); queryParams.value.pageNum = page.currentPage handleQuery() } @@ -196,13 +208,32 @@ const sizeChange = (page: { currentPage: number, pageSize: number }) => { queryParams.value.pageSize = page.pageSize handleQuery() } + +const rowHandle = (row: any) => { + timelineItems.value = + [ + { title: '检验申请', time: row.orderTime }, + { title: '标本采集', time: row.affirmTime }, + { title: '标本送检', time: row.signInDate }, + { title: '标本外送', time: row.sendPackTime }, + { title: '标本签收', time: row.signInTime }, + { title: '上机检测', time: row.testDate }, + { title: '结果审核', time: row.auditTime }, + { title: '报告发布', time: row.reportTime }, + ] +} + +const tableRefs = ref() const getList = () => { querySample(queryParams.value).then((res: any) => { tableData.value = res.rows pagination.value.total = res.total + tableRefs.value.setCurrentRow(res.rows[0]) + rowHandle(res.rows[0]) }) } const hosList = ref([]) +const regdictList: any = ref([]) onMounted(() => { getList() listhospital().then((res: any) => { @@ -213,7 +244,16 @@ onMounted(() => { } }) }) + + listregdict({ pageSize: 100, pageNum: 1, dictType: 'ZT' }).then((res: any) => { + regdictList.value = res.rows; + }) }) + + +const formatDict = (v: string, arr: Array) => { + return arr.find((item: any) => item.dictCode == v)?.dictName || v; +}; \ No newline at end of file diff --git a/src/views/regional/circulation/mzcy/index.vue b/src/views/regional/circulation/mzcy/index.vue new file mode 100644 index 0000000..92ab8ad --- /dev/null +++ b/src/views/regional/circulation/mzcy/index.vue @@ -0,0 +1,543 @@ + + + + + diff --git a/src/views/regional/circulation/sjdj/index.vue b/src/views/regional/circulation/sjdj/index.vue index 86f4381..fba6a2c 100644 --- a/src/views/regional/circulation/sjdj/index.vue +++ b/src/views/regional/circulation/sjdj/index.vue @@ -4,41 +4,45 @@ - - + + + + + + + + - + - + - - + + + - - - + + + + + + - - - - - @@ -47,31 +51,35 @@ - 查询 - 重置 + 查询 + 重置 -
- 标本签收 - 标本拒签 - - -
- 标本退回 - 更换条码 - 取消签收 -
-
+
+ + 送检医院: + + + + 标本送检 + 取消送检 +
+ + +
@@ -80,30 +88,38 @@ \ No newline at end of file diff --git a/src/views/regional/circulation/zycy/index.vue b/src/views/regional/circulation/zycy/index.vue new file mode 100644 index 0000000..95105b4 --- /dev/null +++ b/src/views/regional/circulation/zycy/index.vue @@ -0,0 +1,744 @@ + + + + + \ No newline at end of file diff --git a/src/views/regional/inspectionReport/report/index.vue b/src/views/regional/inspectionReport/report/index.vue new file mode 100644 index 0000000..598371e --- /dev/null +++ b/src/views/regional/inspectionReport/report/index.vue @@ -0,0 +1,1011 @@ + + + + + \ No newline at end of file diff --git a/vite.config.js b/vite.config.js index 77c7c49..af69548 100644 --- a/vite.config.js +++ b/vite.config.js @@ -40,9 +40,8 @@ export default defineConfig(({ proxy: { // https://cn.vitejs.dev/config/#server-proxy '/dev-api': { - // target: 'http://localhost:9801', target: 'http://47.97.125.165:8904', - // target: 'http://192.168.1.114:9801', + // target: 'http://192.168.1.151:9801', changeOrigin: true, rewrite: (p) => p.replace(/^\/dev-api/, '') },