diff --git a/src/api/checkCode/index.ts b/src/api/checkCode/index.ts
index c7e25da..152c693 100644
--- a/src/api/checkCode/index.ts
+++ b/src/api/checkCode/index.ts
@@ -115,4 +115,12 @@ export function printsetup(query?: Object) {
params: query,
});
}
+// 取消采样
+export function cancelExecSQD(query?: Object) {
+ return request({
+ url: '/zyreq/cancelExecSQD',
+ method: 'post',
+ data: query,
+ });
+}
diff --git a/src/api/liswork/work/LisWork.ts b/src/api/liswork/work/LisWork.ts
index b38b811..7a4b546 100644
--- a/src/api/liswork/work/LisWork.ts
+++ b/src/api/liswork/work/LisWork.ts
@@ -455,6 +455,14 @@ export function querybarcode(query?: Object) {
params: query
})
}
+// 手动保存签收条码
+export function saveBarcode(query?: Object) {
+ return request({
+ url: '/liswork/savebarcode',
+ method: 'post',
+ data: query
+ })
+}
// 拒收条码
export function refusedbarcode(query?: Object) {
return request({
diff --git a/src/components/elTable/index.vue b/src/components/elTable/index.vue
index 657fa0b..275a791 100644
--- a/src/components/elTable/index.vue
+++ b/src/components/elTable/index.vue
@@ -368,6 +368,10 @@ const toggleRowSelection = (row: Object, selected: boolean) => {
tableRef.value?.toggleRowSelection(row, selected);
};
+const getSelectionRows = () => {
+ return tableRef.value?.getSelectionRows() || [];
+};
+
const toggleAllSelection = () => {
tableRef.value?.toggleAllSelection();
};
@@ -400,6 +404,7 @@ const sort = (prop: string, order: any) => {
defineExpose({
clearSelection,
toggleRowSelection,
+ getSelectionRows,
toggleAllSelection,
setCurrentRow,
setScrollTo,
diff --git a/src/views/checkCode/index.vue b/src/views/checkCode/index.vue
index f9bbf53..6209a11 100644
--- a/src/views/checkCode/index.vue
+++ b/src/views/checkCode/index.vue
@@ -60,7 +60,7 @@
采样登记
- 取消登记
+ 取消采样
+
+
{{ formatDict(row.zt, 'ST') }}
+
+ 合计:{{ cyTableData.length }} 条
@@ -170,7 +174,7 @@ import { usePrintStore } from '@/store/modules/printStore'
import { checkPrintService, downloadPrintSetup } from '@/utils/printHelper'
// @ts-ignore
import { getUserName } from '@/api/system/user.js'
-import { fetchCodeList, addObj, fetchCodeDetail, fetchCodeExec, fetchCodeReqmain, printSendSample, printcheck, printsetup } from '@/api/checkCode/index'
+import { fetchCodeList, addObj, fetchCodeDetail, fetchCodeExec, fetchCodeReqmain, printSendSample, printcheck, printsetup, cancelExecSQD } from '@/api/checkCode/index'
const aotuSize = classCom.useAutoSize();
//@ts-ignore
import useUserStore from '@/store/modules/user'
@@ -187,6 +191,7 @@ const printStore = usePrintStore();
const printerList = computed(() => printStore.printerList);
//@ts-ignore
import { getDicts } from '@/api/system/dict/data'
+import { sum } from 'lodash';
//@ts-ignore
const { proxy } = getCurrentInstance();
const { lis_reqcx_type } = proxy.useDict("lis_reqcx_type"); //参数类别
@@ -501,6 +506,31 @@ const openBlock = (value: string) => {
const closeHadnle = () => {
const selections = tableRef.value.allSelection()
if (selections.length <= 0) return ElMessage.warning('请选择数据!')
+ ElMessageBox.confirm(`确定取消选中的数据吗?`, "提示", {
+ confirmButtonText: "确认",
+ cancelButtonText: "取消",
+ beforeClose: async (action, instance, done) => {
+ if (action === "confirm") {
+ const requests = selections.map((item: any) => {
+ return {
+ sqh: item.sqh,
+ status: 12,
+ userid: queryParams.userid,
+ yljg: queryParams.yljg
+ }
+ });
+ cancelExecSQD(requests).then((res: any) => {
+ if (res.code == 0) {
+ ElMessage.success(res.msg);
+ done();
+ getList()
+ }
+ })
+ } else {
+ done();
+ }
+ },
+ }).catch(() => { });
}
@@ -806,6 +836,13 @@ const printPdf = () => {
height: 75vh;
}
+.text_ts {
+ font-family: SourceHanSansCN, SourceHanSansCN;
+ font-size: 16px;
+ color: #409eff;
+ font-weight: 600;
+}
+
.tips {
font-family: SourceHanSansCN, SourceHanSansCN;
font-size: 16px;
diff --git a/src/views/liswork/receive/index.vue b/src/views/liswork/receive/index.vue
index 826a0ca..3762ce4 100644
--- a/src/views/liswork/receive/index.vue
+++ b/src/views/liswork/receive/index.vue
@@ -14,7 +14,7 @@
读取
- 保存
+ 保存
设置
@@ -25,8 +25,8 @@
-
+
急
无
@@ -41,7 +41,10 @@
{{ formatDict(row.brxb, 'SX') }}
- {{ formatYs(row.sqys) }}
+ {{ formatDict(row.sqys, 'SRD') }}
+
+
+ {{ formatDict(row.cyr, 'SRD') }}
@@ -68,51 +71,71 @@
+
+
diff --git a/src/views/liswork/visaRefusal/index.vue b/src/views/liswork/visaRefusal/index.vue
index 50db12b..2711e0d 100644
--- a/src/views/liswork/visaRefusal/index.vue
+++ b/src/views/liswork/visaRefusal/index.vue
@@ -22,8 +22,8 @@
-
+
@@ -47,13 +47,20 @@
{{ formatDict(row.brxb, 'SX') }}
- {{ formatYs(row.sqys) }}
+ {{ formatDict(row.sqys, 'SRD') }}
+
+
+ {{ formatDict(row.cyr, 'SRD') }}
+
+
+
+
@@ -63,43 +70,63 @@ import { formatDict, getDictData } from '@/hooks'
import { ElMessage } from 'element-plus'
import { listUser } from '@/api/system/user.js'
import CheckUser from "@/views/liswork/work/components/CheckUser.vue";
+import SelectUser from "./selectUser.vue";
+import { checkuser } from "@/api/liswork/work/LisWork";
+import { classCom } from '@/utils/classCom';
const { proxy } = getCurrentInstance();
const { reg_mode } = proxy.useDict("reg_mode"); //参数类别
const regModeList = reg_mode
const sqhRef = useTemplateRef('sqhRef');
const checkUserRef = useTemplateRef('checkUserRef');
+const tableRef = useTemplateRef('tableRef');
+const selectUserRef = useTemplateRef('selectUserRef');
const sqhText = ref('');
const tableData = ref([]);
const columns = ref([
{ type: 'selection', width: 30, visible: true, align: 'center' },
- { label: '登记模式', prop: 'mode', width: 120, visible: true, slot: 'mode' },
- { label: '不合格类别', prop: 'refuseText', width: 120, visible: true, slot: 'refuseText' },
- { label: '补充描述', prop: 'description', width: 120, visible: true, slot: 'description' },
- { label: '急诊', prop: 'jzbz', width: 50, visible: true, slot: 'jzbz' },
- { label: '类别', prop: 'bgdjc', visible: true, },
+ { label: '登记模式', prop: 'mode', width: 120, visible: true, slot: 'mode', align: 'center' },
+ { label: '不合格类别', prop: 'refuseText', width: 120, visible: true, slot: 'refuseText', align: 'center' },
+ { label: '补充描述', prop: 'description', width: 120, visible: true, slot: 'description', align: 'center' },
+ { label: '急诊', prop: 'jzbz', width: 50, align: 'center', visible: true, slot: 'jzbz' },
+ { label: '类别', prop: 'bgdjc', visible: true, align: 'center' },
{ label: '标本', prop: 'yblx', visible: true, width: 60, align: 'center' },
{ label: '申请科室', prop: 'ksdh', visible: true, slot: 'ksdh' },
{ label: '床号', prop: 'ch', visible: true, width: 50, align: 'center' },
- { label: '病历号', prop: 'brdh', visible: true, },
- { label: '病历号', prop: 'brdh', visible: true, },
+ { label: '病历号', prop: 'brdh', visible: true, align: 'center' },
{ label: '姓名', prop: 'brxm', visible: true, width: 40, align: 'center' },
{ label: '性别', prop: 'brxb', visible: true, slot: 'brxb', width: 40, align: 'center' },
{ label: '申请号/条码', prop: 'sqh', visible: true, width: 100, align: 'center' },
- { label: '申请项目', prop: 'cp_item', visible: true, width: 200, align: 'center' },
- { label: '签收状态', prop: 'zt', visible: true, slot: 'zt' },
- { label: '申请医生', prop: 'sqys', visible: true, slot: 'sqys' },
- { label: '采样人', prop: 'cyr', visible: true, },
- { label: '标本送出人', prop: 'bbsjrname', visible: true, },
- { label: '申请时间', prop: 'sqsj', visible: true, },
- { label: '采样时间', prop: 'cyblsj', visible: true, },
- { label: '标本送出时间', prop: 'sjsj', visible: true, width: 100, },
- { label: '诊断', prop: 'zd', visible: true, },
+ { label: '申请项目', prop: 'item', visible: true, width: 200, align: 'center' },
+ { label: '签收状态', prop: 'zt', visible: true, slot: 'zt', align: 'center' },
+ { label: '申请医生', prop: 'sqys', visible: true, slot: 'sqys', align: 'center' },
+ { label: '采样人', prop: 'cyr', visible: true, slot: 'cyr', align: 'center' },
+ { label: '标本送出人', prop: 'bbsjr', visible: true, align: 'center' },
+ { label: '申请时间', prop: 'sqsj', visible: true, align: 'center', width: 140, },
+ { label: '采样时间', prop: 'cysj', visible: true, align: 'center', width: 140, },
+ { label: '标本送出时间', prop: 'bbsjsj', visible: true, width: 140, align: 'center' },
+ { label: '诊断', prop: 'zd', visible: true, align: 'center', width: 200, },
])
+
+// 单元格样式
+const cellStyleHd = ({ row, column, rowIndex, columnIndex }) => {
+ if (column.label == "类别") {
+ const bgColor = classCom.decimalToHexColor(row.bkcolor);
+ const textColor = classCom.getContrastTextColor(bgColor);
+ return {
+ backgroundColor: `${bgColor} !important`,
+ color: textColor,
+ };
+ }
+
+};
+
const tableConfig = {
border: true,
highlightCurrentRow: true,
height: '100%',
+ key: 'sqh',
+ cellStyle: cellStyleHd,
};
const handleColumnDragEnd = (data) => {
@@ -111,8 +138,11 @@ const sqdQuery = () => {
if (index !== -1) return ElMessage.warning('该申请单数据已存在!')
refusedbarcode({ sqh: sqhText.value }).then((res) => {
- if (res.code == 0 && res.data) {
- tableData.value = tableData.value.concat(res.data)
+ if (res.code == 0 && res.data && res.data.length) {
+ tableData.value.push(res.data[0])
+ nextTick(() => {
+ tableRef.value.toggleRowSelection(res.data[0], true);
+ })
}
}).finally(() => {
sqhText.value = ''
@@ -127,33 +157,41 @@ const handleSelectionChange = (selection) => {
}
const saveData = () => {
- const flag = tableData.value.every(item => item.mode && item.refuseText && item.description)
+ const arr = tableRef.value.getSelectionRows()
+ if (!arr.length) return ElMessage.warning('请选择要保存的申请单!')
+
+ const flag = arr.every(item => item.mode && item.refuseText && item.description)
if (!flag) return ElMessage.warning('请填写完整拒收信息!')
checkUserRef.value.open()
}
-
+// 校验用户
const handleCheckUserConfirm = (info) => {
- tableData.value = tableData.value.map(item => ({
- ...item,
- tzr: info.yhdh,
- }))
- refusedSaveData(tableData.value).then((res) => {
- ElMessage.success(res.msg)
+ checkuser({ yhdh: info.yhdh, mm: info.mm }).then(response => {
+ if (response.code == 0) {
+ selectUserRef.value.open()
+ }
})
}
-const formatYs = (v) => {
- return userList.value.find(item => item.userId == v)?.nickName || v
+// 指定护士
+const handleSelectUserConfirm = (info) => {
+ const arr = tableRef.value.getSelectionRows()
+ if (!arr.length) return ElMessage.warning('请选择要保存的申请单!')
+ arr = arr.map(item => ({
+ ...item,
+ tzr: info.yhdh,
+ }))
+ refusedSaveData(arr).then((res) => {
+ ElMessage.success(res.msg)
+ if (res.code == 0) {
+ tableRef.value.clearSelection()
+ }
+ })
}
-const userList = ref([])
-onMounted(() => {
- getDictData('ST', 'SX', 'DP')
- const data = { status: 0, del_flag: 0, pageSize: 1000, pageNum: 1 }
- listUser(data).then((res) => {
- userList.value = res.rows;
- });
+onMounted(() => {
+ getDictData('ST', 'SX', 'DP', 'SRD')
})
diff --git a/src/views/liswork/visaRefusal/selectUser.vue b/src/views/liswork/visaRefusal/selectUser.vue
new file mode 100644
index 0000000..874f0e9
--- /dev/null
+++ b/src/views/liswork/visaRefusal/selectUser.vue
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认
+ 取消
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/liswork/work/components/CheckUser.vue b/src/views/liswork/work/components/CheckUser.vue
index d1c1280..3a32453 100644
--- a/src/views/liswork/work/components/CheckUser.vue
+++ b/src/views/liswork/work/components/CheckUser.vue
@@ -23,8 +23,6 @@