Compare commits

..

No commits in common. "c09b7dc5f8629c16262d7bc102fdea03cd1ac857" and "a91d2cda9c9dfdf467aad06c127ccf8ddadfb999" have entirely different histories.

4 changed files with 18 additions and 99 deletions

View File

@ -227,11 +227,3 @@ export function querySample(data?: Object) {
params: data params: data
}) })
} }
//计算靶值
export function qcCalc(data?: Object) {
return request({
url: '/qcgraph/calc',
method: 'get',
params: data
})
}

View File

@ -368,19 +368,4 @@ aside {
.el-tree-node__children { .el-tree-node__children {
padding-left: 15px !important; padding-left: 15px !important;
}
/* 禁止文本选中 */
.no-select {
user-select: none;
/* 兼容旧版浏览器 */
-webkit-user-select: none;
/* Safari/Chrome */
-moz-user-select: none;
/* Firefox */
-ms-user-select: none;
/* IE/Edge */
cursor: pointer;
} }

View File

@ -89,9 +89,7 @@
<div v-for="item in resultData" class="item"> <div v-for="item in resultData" class="item">
<div class="time">{{ item.zkrqMonth }}</div> <div class="time">{{ item.zkrqMonth }}</div>
<div v-for="v in zkKeys"> <div v-for="v in zkKeys">
<div :class="[item['zkphFlag' + v] ? 'red_title' : '', 'no-select']" @dblclick="dbSKHandle(v, item)"> <div :class="[item.flag == v ? 'red_title' : '']">{{ item['zkjg' + v] }}</div>
{{ item['zkjg' + v] }}
</div>
</div> </div>
<div>{{ item.yhdh }}</div> <div>{{ item.yhdh }}</div>
</div> </div>
@ -104,15 +102,13 @@
<!-- 质控值、SD计算 --> <!-- 质控值、SD计算 -->
<el-dialog v-model="dialogVisible" title="质控靶值、SD计算" draggable :close-on-click-modal="false" width="600px"> <el-dialog v-model="dialogVisible" title="质控靶值、SD计算" draggable :close-on-click-modal="false" width="500px">
<el-form :model="form" ref="queryRef" label-width="90px"> <el-form :model="form" ref="queryRef" label-width="90px">
<el-form-item label="计算时间:" prop="xmdh"> <el-form-item label="计算时间:" prop="xmdh">
<el-date-picker v-model="form.zkrq1" type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD" <el-date-picker v-model="form.sqsj1" type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD"
style="width: 40%;" @change="handletime" />&nbsp;-&nbsp; style="width: 47%;" @change="handletime" />&nbsp;-&nbsp;
<el-date-picker v-model="form.zkrq2" type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD" <el-date-picker v-model="form.sqsj2" type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD"
@change="handletime" style="width: 40%;" /> @change="handletime" style="width: 47%;" />
<el-button type="primary" class="ml5" @click="jsTime">计算</el-button>
</el-form-item> </el-form-item>
<el-form-item label="质控项目:" prop="xmdh"> <el-form-item label="质控项目:" prop="xmdh">
<el-input v-model="form.xmdh" readonly /> <el-input v-model="form.xmdh" readonly />
@ -158,7 +154,7 @@
<script setup> <script setup>
import { getComDicts } from "@/api/liswork/dict/ComDict"; import { getComDicts } from "@/api/liswork/dict/ComDict";
import { getGroupInstrdList } from "@/api/liswork/work/LisWork"; import { getGroupInstrdList } from "@/api/liswork/work/LisWork";
import { qcgraphList, querySample, qcCalc, saveBtQcSample } from "@/api/liswork/qualityControl/index"; import { qcgraphList, querySample } from "@/api/liswork/qualityControl/index";
import { classCom } from "@/utils/classCom"; import { classCom } from "@/utils/classCom";
import { useCommonStore } from '@/store/modules/commonStore'; import { useCommonStore } from '@/store/modules/commonStore';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
@ -178,8 +174,8 @@ const pjForm = ref({
const dialogVisible = ref(false) const dialogVisible = ref(false)
const form = ref({ const form = ref({
xmdh: '', xmdh: '',
zkrq1: '', sqsj1: '',
zkrq2: '', sqsj2: '',
zkph: '', zkph: '',
zkbz: '', zkbz: '',
sd: '', sd: '',
@ -187,7 +183,8 @@ const form = ref({
const queryParams = ref({ const queryParams = ref({
// instrGroup: mbStore.defaultConfig.lisgroupid || 'ALL', // instrGroup: mbStore.defaultConfig.lisgroupid || 'ALL',
instrGroup: 'ALL', instrGroup: 'ALL',
yq: mbStore.defaultConfig.defaultinstr || '1', // yq: mbStore.defaultConfig.defaultinstr || '1',
yq: '46',
zkrq1: '', zkrq1: '',
zkrq2: '', zkrq2: '',
cs: '0', cs: '0',
@ -209,8 +206,6 @@ const columns = ref([
{ label: '试剂', prop: 'sjph', visible: true, align: 'center' }, { label: '试剂', prop: 'sjph', visible: true, align: 'center' },
{ label: '波长', prop: 'bc', visible: true, align: 'center' }, { label: '波长', prop: 'bc', visible: true, align: 'center' },
{ label: '方法', prop: 'ff', visible: true, align: 'center' }, { label: '方法', prop: 'ff', visible: true, align: 'center' },
{ label: 'cv(%)', prop: 'cv', visible: true, align: 'center' },
{ label: 'sd', prop: 'sd', visible: true, align: 'center' },
{ label: '备注', prop: 'bz1', visible: true, align: 'center' }, { label: '备注', prop: 'bz1', visible: true, align: 'center' },
]) ])
@ -268,84 +263,30 @@ const getYqConfig = () => {
}) })
} }
// 获取上个月的第一天和最后一天
const getLastMonthRange = (format = 'YYYY-MM-DD') => {
const lastMonth = dayjs().subtract(1, 'month');
return {
firstDay: lastMonth.startOf('month').format(format),
lastDay: lastMonth.endOf('month').format(format)
};
};
const info = ref({})
const handleEdit = (row, event) => { const handleEdit = (row, event) => {
const { firstDay, lastDay } = getLastMonthRange();
info.value = row
event.stopPropagation(); event.stopPropagation();
form.value.zkrq1 = firstDay
form.value.zkrq2 = lastDay
form.value.xmdh = row.xmdh form.value.xmdh = row.xmdh
form.value.zkbz = row.zkbz
form.value.zkph = row.zkph form.value.zkph = row.zkph
// row.cv = form.value.sd * 100 / form.value.zkph form.value.sd = row.sd
dialogVisible.value = true dialogVisible.value = true
} }
const jsTime = () => {
qcCalc({ ...form.value, yq: queryParams.value.yq, cs: queryParams.value.cs }).then((res) => {
form.value.zkbz = res.data[0].avg1
form.value.sd = res.data[0].sd1
})
}
const handlePj = (row, event) => { const handlePj = (row, event) => {
event.stopPropagation(); event.stopPropagation();
pjForm.value = { pjForm.value = {
zkph: row.zkph, zkph: row.zkph,
bz1: row.bz1, bz1: row.bz1,
} }
info.value = row
pjShow.value = true pjShow.value = true
} }
const dbSKHandle = (val, item) => {
console.log('val==>', val, item);
}
const pjHandle = () => { const pjHandle = () => {
info.value.bz1 = pjForm.value.bz1 pjShow.value = false
saveBtQcSample([info.value]).then((res) => {
if (res.code == 0) {
pjShow.value = false
tableData.value = tableData.value.map((item, i) => item.zkph == info.value.zkph ? { ...info.value } : item);
nextTick(() => {
tableRef.value.toggleAllSelection()
})
}
})
} }
const subHandle = () => { const subHandle = () => {
if (!form.value.zkbz && !form.value.sd) return ElMessage.warning('请先计算!')
info.value.cv = (form.value.sd * 100 / form.value.zkbz).toFixed(3)
info.value.zkbz = form.value.zkbz
info.value.sd = form.value.sd
saveBtQcSample([info.value]).then((res) => {
if (res.code == 0) {
dialogVisible.value = false
tableData.value = tableData.value.map((item, i) => item.zkph == info.value.zkph ? { ...info.value } : item);
nextTick(() => {
tableRef.value.toggleAllSelection()
})
}
})
} }
const rowClick = (row) => { const rowClick = (row) => {
@ -498,7 +439,7 @@ const initChart = () => {
return res; return res;
} }
}, },
grid: { left: '1%', right: '2%', bottom: '10%', top: '10%', containLabel: true }, grid: { left: '2%', right: '2%', bottom: '10%', top: '15%', containLabel: true },
dataZoom: [ dataZoom: [
{ {
type: "slider", type: "slider",
@ -597,7 +538,7 @@ const getList = () => {
if (item.zkrqMonth == v.zkrqMonth) { if (item.zkrqMonth == v.zkrqMonth) {
item.yhdh = v.yhdh; item.yhdh = v.yhdh;
// 判断是否为失控 // 判断是否为失控
item['zkphFlag' + v.zkph] = Math.abs((v.zkbz - v.zkjg) / v.sd) > 3 ? true : false; item.flag = Math.abs((v.zkbz - v.zkjg) / v.sd) > 3 ? v.zkph : '';
} }
}); });
}); });

View File

@ -65,7 +65,8 @@ export default defineConfig(({
proxy: { proxy: {
// https://cn.vitejs.dev/config/#server-proxy // https://cn.vitejs.dev/config/#server-proxy
'/dev-api': { '/dev-api': {
target: 'http://47.97.125.165:8904', //target: 'http://47.97.125.165:8904',
target: 'http://localhost:9801',
changeOrigin: true, changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-api/, '') rewrite: (p) => p.replace(/^\/dev-api/, '')
}, },