1、修改测试问题

jinan_by_release_3.0.0
卢会旭 6 months ago
parent dea9bfe22a
commit 09968731b2

@ -8,4 +8,4 @@ VITE_PUBLIC_PATH = ./
VITE_ROUTER_HISTORY = "hash" VITE_ROUTER_HISTORY = "hash"
# 开发环境后端地址 # 开发环境后端地址
VITE_APP_BASE_URL = 'http://192.168.10.13:8000' VITE_APP_BASE_URL = 'http://192.168.1.113:8891'

3
.gitignore vendored

@ -1,6 +1,7 @@
node_modules npm cache clean --forcenode_modules
.DS_Store .DS_Store
dist dist
dist.*
dist-ssr dist-ssr
*.local *.local
.eslintcache .eslintcache

@ -1,6 +0,0 @@
#!/bin/sh
# shellcheck source=./_/husky.sh
. "$(dirname "$0")/_/husky.sh"
npx --no-install commitlint --edit "$1"

@ -1,9 +0,0 @@
#!/bin/sh
command_exists () {
command -v "$1" >/dev/null 2>&1
}
# Workaround for Windows 10, Git Bash and Pnpm
if command_exists winpty && test -t 1; then
exec < /dev/tty
fi

@ -1,8 +0,0 @@
module.exports = {
"*.{js,jsx,ts,tsx}": ["eslint --fix", "prettier --write"],
"{!(package)*.json}": ["prettier --write--parser json"],
"package.json": ["prettier --write"],
"*.vue": ["eslint --fix", "prettier --write", "stylelint --fix"],
"*.{vue,css,scss,postcss,less}": ["stylelint --fix", "prettier --write"],
"*.md": ["prettier --write"]
};

@ -1,10 +0,0 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
. "$(dirname "$0")/common.sh"
[ -n "$CI" ] && exit 0
# Format and submit code according to lintstagedrc.js configuration
npm run lint:lint-staged
npm run lint:pretty

@ -1,18 +0,0 @@
{
"recommendations": [
"christian-kohler.path-intellisense",
"vscode-icons-team.vscode-icons",
"davidanson.vscode-markdownlint",
"ms-azuretools.vscode-docker",
"stylelint.vscode-stylelint",
"bradlc.vscode-tailwindcss",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"redhat.vscode-yaml",
"csstools.postcss",
"mikestead.dotenv",
"eamodio.gitlens",
"antfu.iconify",
"Vue.volar"
]
}

@ -1,31 +0,0 @@
{
"editor.formatOnType": true,
"editor.formatOnSave": true,
"[vue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"editor.tabSize": 2,
"editor.formatOnPaste": true,
"editor.guides.bracketPairs": "active",
"files.autoSave": "off",
"git.confirmSync": false,
"workbench.startupEditor": "newUntitledFile",
"editor.suggestSelection": "first",
"editor.acceptSuggestionOnCommitCharacter": false,
"css.lint.propertyIgnoredDueToDisplay": "ignore",
"editor.quickSuggestions": {
"other": true,
"comments": true,
"strings": true
},
"files.associations": {
"editor.snippetSuggestions": "top"
},
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"iconify.excludes": ["el"]
}

@ -1,22 +0,0 @@
{
"Vue3.0快速生成模板": {
"scope": "vue",
"prefix": "Vue3.0",
"body": [
"<template>",
"\t<div>test</div>",
"</template>\n",
"<script lang='ts'>",
"export default {",
"\tsetup() {",
"\t\treturn {}",
"\t}",
"}",
"</script>\n",
"<style lang='scss' scoped>\n",
"</style>",
"$2"
],
"description": "Vue3.0"
}
}

@ -1,17 +0,0 @@
{
"Vue3.2+快速生成模板": {
"scope": "vue",
"prefix": "Vue3.2+",
"body": [
"<script setup lang='ts'>",
"</script>\n",
"<template>",
"\t<div>test</div>",
"</template>\n",
"<style lang='scss' scoped>\n",
"</style>",
"$2"
],
"description": "Vue3.2+"
}
}

@ -1,20 +0,0 @@
{
"Vue3.3+defineOptions快速生成模板": {
"scope": "vue",
"prefix": "Vue3.3+",
"body": [
"<script setup lang='ts'>",
"defineOptions({",
"\tname: ''",
"})",
"</script>\n",
"<template>",
"\t<div>test</div>",
"</template>\n",
"<style lang='scss' scoped>\n",
"</style>",
"$2"
],
"description": "Vue3.3+defineOptions快速生成模板"
}
}

@ -8,7 +8,7 @@ import { configCompressPlugin } from "./compress";
// import ElementPlus from "unplugin-element-plus/vite"; // import ElementPlus from "unplugin-element-plus/vite";
import { visualizer } from "rollup-plugin-visualizer"; import { visualizer } from "rollup-plugin-visualizer";
import removeConsole from "vite-plugin-remove-console"; import removeConsole from "vite-plugin-remove-console";
import themePreprocessorPlugin from "@pureadmin/theme"; import { themePreprocessorPlugin } from "@pureadmin/theme";
import { genScssMultipleScopeVars } from "../src/layout/theme"; import { genScssMultipleScopeVars } from "../src/layout/theme";
export function getPluginsList( export function getPluginsList(

Binary file not shown.

@ -141,5 +141,6 @@
"stable": "*" "stable": "*"
} }
}, },
"license": "MIT" "license": "MIT",
"packageManager": "pnpm@9.9.0+sha512.60c18acd138bff695d339be6ad13f7e936eea6745660d4cc4a776d5247c540d0edee1a563695c183a66eb917ef88f2b4feb1fc25f32a7adcadc7aaf3438e99c1"
} }

File diff suppressed because it is too large Load Diff

@ -10,6 +10,16 @@ export const queryDiseaseListByDropList = (data?: object) => {
} }
); );
}; };
/** 下载病历导入模板 */
export const downloadMedicalTemplate = (data?: object) => {
return http.request(
"get",
"/virtual-patient-manage/medicalRecManage/downloadMedicalTemplate",
{
params: data
}
);
};
/** 病历管理分页查询 */ /** 病历管理分页查询 */
export const queryMedicalRecPage = (data?: object) => { export const queryMedicalRecPage = (data?: object) => {
return http.request( return http.request(

@ -33,6 +33,10 @@ const columns: TableColumnList = [
return requireCheckFlag === 0 ? "否" : "是"; return requireCheckFlag === 0 ? "否" : "是";
} }
}, },
{
label: "诊断依据",
prop: "diagnosticCriteria"
},
{ {
label: "预期诊断结果", label: "预期诊断结果",
prop: "expectedDiagnosisResult", prop: "expectedDiagnosisResult",

@ -1,6 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import router from "@/router"; import router from "@/router";
import { PaginationProps } from "@pureadmin/table"; import { PaginationProps, PureTable } from "@pureadmin/table";
import AddEdit from "./compontents/addEdit.vue"; import AddEdit from "./compontents/addEdit.vue";
import ProblemBase from "./compontents/problemBase.vue"; import ProblemBase from "./compontents/problemBase.vue";
import { reactive, ref } from "vue"; import { reactive, ref } from "vue";
@ -18,6 +18,19 @@ const loading = ref(false);
const addEditRef = ref(null); const addEditRef = ref(null);
const AddComplexDiseasesRef = ref(); const AddComplexDiseasesRef = ref();
const problemBaseRef = ref(null); const problemBaseRef = ref(null);
const errorTableGrid = reactive({
columns: [
{ label: "序号", type: "seq" },
{ label: "类目编码", prop: "code" },
{ label: "疾病分类名称", prop: "diseaseName" },
{ label: "错误信息", prop: "errorMsg" }
],
data: []
});
const errorDialog = reactive({
show: false,
title: "错误信息提示"
});
const seachForm = reactive({ const seachForm = reactive({
diseaseName: "", diseaseName: "",
diseaseType: "" diseaseType: ""
@ -207,8 +220,8 @@ onMounted(() => {
><template #operation="{ row }"> ><template #operation="{ row }">
<el-button link type="primary" @click="edit(row)"> </el-button> <el-button link type="primary" @click="edit(row)"> </el-button>
<!-- <el-button link type="primary" @click="inspect(row)"> <!-- <el-button link type="primary" @click="inspect(row)">
问诊 问诊
</el-button> --> </el-button> -->
<el-button link type="primary" @click="openBodyInspect(row)"> <el-button link type="primary" @click="openBodyInspect(row)">
体格检查 体格检查
</el-button> </el-button>
@ -224,7 +237,20 @@ onMounted(() => {
</template> </template>
</pure-table> </pure-table>
</div> </div>
<!-- 导入错误 -->
<el-dialog v-model="errorDialog.show" :title="errorDialog.title">
<template #default>
<pure-table
:columns="errorTableGrid.columns"
:data="errorTableGrid.data"
:height="500"
:header-cell-style="{
background: 'var(--el-table-row-hover-bg-color)',
color: 'var(--el-text-color-primary)'
}"
/>
</template>
</el-dialog>
<AddEdit @update="getData" ref="addEditRef" /> <AddEdit @update="getData" ref="addEditRef" />
<ProblemBase ref="problemBaseRef" /> <ProblemBase ref="problemBaseRef" />
<AddComplexDiseases @update="getData" ref="AddComplexDiseasesRef" /> <AddComplexDiseases @update="getData" ref="AddComplexDiseasesRef" />

@ -27,6 +27,10 @@ const columns: TableColumnList = [
return requireCheckFlag === 0 ? "否" : "是"; return requireCheckFlag === 0 ? "否" : "是";
} }
}, },
{
label: "诊断依据",
prop: "diagnosticCriteriaName"
},
{ {
label: "预期诊断结果", label: "预期诊断结果",
prop: "expectedDiagnosisResult", prop: "expectedDiagnosisResult",

@ -16,7 +16,7 @@ defineOptions({
const dataList = ref([]); const dataList = ref([]);
const loading = ref(false); const loading = ref(false);
// const upload = ref(null);
const seachForm = reactive({ const seachForm = reactive({
gender: "", gender: "",
diseaseId: "", diseaseId: "",
@ -145,6 +145,47 @@ onMounted(() => {
getData(); getData();
useCaseStoreHooks().changeActivedStep(0); useCaseStoreHooks().changeActivedStep(0);
}); });
// const downloadFile = (url, fileName) => {
// const link = document.createElement("a");
// link.href = url;
// link.download = fileName;
// link.click();
// };
// //
// const handleDownload = () => {
// downloadFile(
// "/virtual-patient-manage/medicalRecManage/downloadMedicalTemplate",
// ""
// );
// };
// //
// const handleImport = () => {
// upload.value.value = null;
// upload.value.click();
// };
// //
// const handleFileChange = e => {
// const files = e.target.files;
// const rawFile = files[0];
// if (!rawFile) return;
// const formData = new FormData();
// formData.append("file", rawFile);
// errorDialog.show = true;
// // uploadAdminExcel(formData).then((res) => {
// // if (res.data.errorList.length > 0) {
// // this.pageData.page = 1
// // this.gridOptions.data = res.data.errorList
// // this.errorDialogOption.show = true
// // this.findByPage()
// // } else if (res.data.finalSuccess === 0) {
// // this.$message.warning(`0`)
// // } else {
// // this.$message.success(`${res.data.finalSuccess}`)
// // this.pageData.page = 1
// // this.findByPage()
// // }
// // })
// };
</script> </script>
<template> <template>
@ -198,6 +239,20 @@ onMounted(() => {
</div> </div>
<el-row class="mb-6"> <el-row class="mb-6">
<el-button size="large" @click="add" type="primary">新增</el-button> <el-button size="large" @click="add" type="primary">新增</el-button>
<!-- <el-button size="large" type="warning" @click="handleDownload">-->
<!-- 模板下载-->
<!-- </el-button>-->
<!-- <el-button size="large" type="success" @click="handleImport">-->
<!-- 模板导入-->
<!-- </el-button>-->
<!-- &lt;!&ndash;文件导入&ndash;&gt;-->
<!-- <input-->
<!-- ref="upload"-->
<!-- hidden-->
<!-- type="file"-->
<!-- accept=".xls"-->
<!-- @change="handleFileChange"-->
<!-- />-->
</el-row> </el-row>
</div> </div>
<pure-table <pure-table
@ -223,8 +278,8 @@ onMounted(() => {
编辑 编辑
</el-button> </el-button>
<!-- <el-button link type="danger" @click="handleDelete(row)"> <!-- <el-button link type="danger" @click="handleDelete(row)">
删除 删除
</el-button> --> </el-button> -->
</template> </template>
</pure-table> </pure-table>
</div> </div>

@ -17,7 +17,8 @@ const formData = reactive({
dictId: "", dictId: "",
dicIdPath: [], dicIdPath: [],
description: "", description: "",
defaultAnswer: "" defaultAnswer: "",
question: ""
}); });
const dictList = ref([]); const dictList = ref([]);
const ruleFormRef = ref<FormInstance>(); const ruleFormRef = ref<FormInstance>();
@ -174,13 +175,21 @@ const submit = (formEl: FormInstance | undefined) => {
:fetch-suggestions="querySearchAsync" :fetch-suggestions="querySearchAsync"
/> />
</el-form-item> </el-form-item>
<el-form-item label="回答 " prop="defaultAnswer"> <el-form-item v-if="isEditFlag" label="相似问题" prop="question">
<el-input <el-input
size="large" v-model="formData.question"
v-model="formData.defaultAnswer" type="textarea"
placeholder="请输入" :rows="5"
disabled
/> />
</el-form-item> </el-form-item>
<!-- <el-form-item label="回答 " prop="defaultAnswer">-->
<!-- <el-input-->
<!-- size="large"-->
<!-- v-model="formData.defaultAnswer"-->
<!-- placeholder="请输入"-->
<!-- />-->
<!-- </el-form-item>-->
</el-form> </el-form>
</div> </div>
<template #footer> <template #footer>

@ -16,7 +16,8 @@ const dataList = ref([{}]);
const loading = ref(false); const loading = ref(false);
const AddEditRef = ref(null); const AddEditRef = ref(null);
const seachForm = reactive({ const seachForm = reactive({
description: "" description: "",
similarityDescription: ""
}); });
const pagination = reactive<PaginationProps>({ const pagination = reactive<PaginationProps>({
total: 0, total: 0,
@ -34,12 +35,13 @@ const columns: TableColumnList = [
{ {
label: "问题", label: "问题",
prop: "description", prop: "description",
minWidth: 240 minWidth: 240,
}, slot: "question"
{
label: "回复",
prop: "defaultAnswer"
}, },
// {
// label: "",
// prop: "defaultAnswer"
// },
{ {
label: "操作", label: "操作",
fixed: "right", fixed: "right",
@ -50,7 +52,7 @@ const getData = async () => {
const params = { const params = {
pageNum: pagination.currentPage, pageNum: pagination.currentPage,
pageSize: pagination.pageSize, pageSize: pagination.pageSize,
description: seachForm.description ...seachForm
}; };
const res: any = await queryPageList(params); const res: any = await queryPageList(params);
dataList.value = res.data.records; dataList.value = res.data.records;
@ -73,6 +75,7 @@ const search = () => {
const reset = () => { const reset = () => {
seachForm.description = ""; seachForm.description = "";
seachForm.similarityDescription = "";
search(); search();
}; };
const add = () => { const add = () => {
@ -103,6 +106,9 @@ onMounted(() => {
<el-form-item label="问题:"> <el-form-item label="问题:">
<el-input size="large" v-model="seachForm.description" /> <el-input size="large" v-model="seachForm.description" />
</el-form-item> </el-form-item>
<el-form-item label="相似问题:" style="margin-left: 10px">
<el-input size="large" v-model="seachForm.similarityDescription" />
</el-form-item>
<el-button class="ml-8" size="large" @click="search" type="primary" <el-button class="ml-8" size="large" @click="search" type="primary"
>搜索</el-button >搜索</el-button
@ -129,7 +135,7 @@ onMounted(() => {
</div> </div>
<pure-table <pure-table
align-whole="center" align-whole="center"
showOverflowTooltip show-overflow-tooltip
table-layout="auto" table-layout="auto"
:loading="loading" :loading="loading"
adaptive adaptive
@ -142,7 +148,23 @@ onMounted(() => {
}" }"
@page-size-change="handleSizeChange" @page-size-change="handleSizeChange"
@page-current-change="handleCurrentChange" @page-current-change="handleCurrentChange"
><template #operation="{ row }"> >
<template #question="{ row }">
<div>{{ row["description"] }}</div>
<el-tooltip>
<el-button link type="primary">[相似问题]</el-button>
<template #content>
<div class="tooltip-content">
{{
row.question && row.question.length > 0
? row.question.join(",")
: "无"
}}
</div>
</template>
</el-tooltip>
</template>
<template #operation="{ row }">
<el-button link type="primary" @click="edit(row)"></el-button> <el-button link type="primary" @click="edit(row)"></el-button>
</template> </template>
</pure-table> </pure-table>
@ -151,3 +173,10 @@ onMounted(() => {
<UploadFile @update="getData" ref="UploadFileref" /> <UploadFile @update="getData" ref="UploadFileref" />
</div> </div>
</template> </template>
<style lang="scss" scoped>
.tooltip-content {
max-width: 400px;
max-height: 500px;
overflow: hidden auto;
}
</style>

@ -46,28 +46,28 @@ export default ({ command, mode }: ConfigEnv): UserConfigExport => {
proxy: { proxy: {
// 类型: Record<string, string | ProxyOp 为开发服务器配置自定义代理规则 // 类型: Record<string, string | ProxyOp 为开发服务器配置自定义代理规则
"/virtual-patient-manage/": { "/virtual-patient-manage/": {
target: "http://192.168.10.137:8891/", target: "http://192.168.1.113:8891/",
changeOrigin: true, changeOrigin: true,
secure: false secure: false
// eslint-disable-next-line no-shadow // eslint-disable-next-line no-shadow
// rewrite: path => path.replace("/ask", "") // rewrite: path => path.replace("/ask", "")
}, },
"/virtual-patient/": { "/virtual-patient/": {
target: "http://192.168.10.137:8899/", target: "http://192.168.1.113:8899/",
changeOrigin: true, changeOrigin: true,
secure: false secure: false
// eslint-disable-next-line no-shadow // eslint-disable-next-line no-shadow
// rewrite: path => path.replace("/ask", "") // rewrite: path => path.replace("/ask", "")
}, },
"/virtual-patient-rasa/": { "/virtual-patient-rasa/": {
target: "http://192.168.10.137:8890/", target: "http://192.168.10.113:8890/",
changeOrigin: true, changeOrigin: true,
secure: false secure: false
// eslint-disable-next-line no-shadow // eslint-disable-next-line no-shadow
// rewrite: path => path.replace("/ask", "") // rewrite: path => path.replace("/ask", "")
}, },
"/virtual-patient-graph/": { "/virtual-patient-graph/": {
target: "http://192.168.10.137:8892/", target: "http://192.168.10.113:8892/",
changeOrigin: true, changeOrigin: true,
secure: false secure: false
// eslint-disable-next-line no-shadow // eslint-disable-next-line no-shadow

Loading…
Cancel
Save