This commit is contained in:
2025-07-28 17:19:51 +08:00
parent 2908620516
commit b97ab73e02
6 changed files with 235 additions and 119 deletions

View File

@@ -6,6 +6,7 @@
<script> <script>
export default { export default {
} }
</script> </script>
<style scoped> <style scoped>

View File

@@ -1,8 +1,8 @@
<script type="text/javascript"> <script type="text/javascript">
const baseUrl = "http://192.168.110.100:9200/pb"; //张川川后端 // const baseUrl = "http://192.168.110.100:9200/pb"; //张川川后端
// const baseUrl = 'http://59.110.212.44:9100/pb' // const baseUrl = 'http://59.110.212.44:9100/pb'
// const baseUrl = "https://testapi.nuttyreading.com"; // const baseUrl = "https://testapi.nuttyreading.com";
// const baseUrl = 'https://api.nuttyreading.com' const baseUrl = 'https://api.nuttyreading.com'
// function commonFun() { // function commonFun() {
// console.log("公共方法") // console.log("公共方法")
// } // }

View File

@@ -10,6 +10,7 @@
<el-button type="primary" size="mini">去处理</el-button> <el-button type="primary" size="mini">去处理</el-button>
</router-link> </router-link>
</el-card> </el-card>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-card shadow="hover"> <el-card shadow="hover">
@@ -20,6 +21,18 @@
</router-link> </router-link>
</el-card> </el-card>
</el-col> </el-col>
</el-row>
<el-row :gutter="12" style="margin-top: 30px;">
<el-col :span="12">
<el-card shadow="hover">
待审核医案
<span class="number">{{medicalNum}}</span>
<router-link :to="{ path: '/medicalrecords-medicalList', query: {} }">
<el-button type="primary" size="mini" v-if="medicalNum>0">去处理</el-button>
</router-link>
</el-card>
</el-col>
</el-row> </el-row>
</div> </div>
</template> </template>
@@ -28,6 +41,7 @@
export default { export default {
data(){ data(){
return{ return{
medicalNum:0,
orderNum:0, orderNum:0,
workOrderNum:0, workOrderNum:0,
// loadAll:true, // loadAll:true,
@@ -35,6 +49,7 @@
} }
}, },
created(){ created(){
this.getMedicalList()
this.getDataList() this.getDataList()
this.getWorkDataList() this.getWorkDataList()
}, },
@@ -89,6 +104,22 @@
this.$message.error("获取待处理工数量失败"); this.$message.error("获取待处理工数量失败");
// console.log("表单提交报错"); // console.log("表单提交报错");
}); });
},
// 获取工单列表
getMedicalList() {
this.$http({
url: this.$http.adornUrl(
"/master/medicalRecords/getMedicalRecordsListCheck"
),
method: "post",
data: this.$http.adornData({
current: 1,
limit: 999999,
state: 1
})
}).then(({ data }) => {
this.medicalNum = data.page.total
});
} }
}, },
computed:{ computed:{

View File

@@ -1,31 +1,48 @@
<template> <template>
<main class="site-content" :class="{ 'site-content--tabs': $route.meta.isTab }"> <main
class="site-content"
:class="{ 'site-content--tabs': $route.meta.isTab }"
>
<!-- 主入口标签页 s --> <!-- 主入口标签页 s -->
<el-tabs <el-tabs
v-if="$route.meta.isTab" v-if="$route.meta.isTab"
v-model="mainTabsActiveName" v-model="mainTabsActiveName"
:closable="true" :closable="true"
@tab-click="selectedTabHandle" @tab-click="selectedTabHandle"
@tab-remove="removeTabHandle"> @tab-remove="removeTabHandle"
>
<el-dropdown class="site-tabs__tools" :show-timeout="0"> <el-dropdown class="site-tabs__tools" :show-timeout="0">
<i class="el-icon-arrow-down el-icon--right"></i> <i class="el-icon-arrow-down el-icon--right"></i>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="tabsCloseCurrentHandle">关闭当前标签页</el-dropdown-item> <el-dropdown-item @click.native="tabsCloseCurrentHandle"
<el-dropdown-item @click.native="tabsCloseOtherHandle">关闭其它标签页</el-dropdown-item> >关闭当前标签页</el-dropdown-item
<el-dropdown-item @click.native="tabsCloseAllHandle">关闭全部标签页</el-dropdown-item> >
<el-dropdown-item @click.native="refresh()">刷新当前标签页</el-dropdown-item> <el-dropdown-item @click.native="tabsCloseOtherHandle"
>关闭其它标签页</el-dropdown-item
>
<el-dropdown-item @click.native="tabsCloseAllHandle"
>关闭全部标签页</el-dropdown-item
>
<el-dropdown-item @click.native="refresh()"
>刷新当前标签页</el-dropdown-item
>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
<el-tab-pane <el-tab-pane
v-for="item in mainTabs" v-for="item in mainTabs"
:key="item.name" :key="item.name"
:label="item.title" :label="item.title"
:name="item.name"> :name="item.name"
>
<el-card :body-style="siteContentViewHeight"> <el-card :body-style="siteContentViewHeight">
<iframe <iframe
v-if="item.type === 'iframe'" v-if="item.type === 'iframe'"
:src="item.iframeUrl" :src="item.iframeUrl"
width="100%" height="100%" frameborder="0" scrolling="yes"> width="100%"
height="100%"
frameborder="0"
scrolling="yes"
>
</iframe> </iframe>
<keep-alive v-else> <keep-alive v-else>
<router-view v-if="item.name === mainTabsActiveName" /> <router-view v-if="item.name === mainTabsActiveName" />
@@ -43,85 +60,139 @@
</template> </template>
<script> <script>
import { isURL } from '@/utils/validate' import { isURL } from "@/utils/validate";
export default { export default {
inject: ['refresh'], inject: ["refresh"],
data() { data() {
return { return {};
}
}, },
computed: { computed: {
documentClientHeight: { documentClientHeight: {
get () { return this.$store.state.common.documentClientHeight } get() {
return this.$store.state.common.documentClientHeight;
}
}, },
menuActiveName: { menuActiveName: {
get () { return this.$store.state.common.menuActiveName }, get() {
set (val) { this.$store.commit('common/updateMenuActiveName', val) } return this.$store.state.common.menuActiveName;
},
set(val) {
this.$store.commit("common/updateMenuActiveName", val);
}
}, },
mainTabs: { mainTabs: {
get () { return this.$store.state.common.mainTabs }, get() {
set (val) { this.$store.commit('common/updateMainTabs', val) } return this.$store.state.common.mainTabs;
},
set(val) {
this.$store.commit("common/updateMainTabs", val);
}
}, },
mainTabsActiveName: { mainTabsActiveName: {
get () { return this.$store.state.common.mainTabsActiveName }, get() {
set (val) { this.$store.commit('common/updateMainTabsActiveName', val) } return this.$store.state.common.mainTabsActiveName;
},
set(val) {
this.$store.commit("common/updateMainTabsActiveName", val);
}
}, },
siteContentViewHeight() { siteContentViewHeight() {
var height = this.documentClientHeight - 50 - 30 - 2 var height = this.documentClientHeight - 50 - 30 - 2;
if (this.$route.meta.isTab) { if (this.$route.meta.isTab) {
height -= 40 height -= 40;
return isURL(this.$route.meta.iframeUrl) ? { height: height + 'px' } : { minHeight: height + 'px' } return isURL(this.$route.meta.iframeUrl)
? { height: height + "px" }
: { minHeight: height + "px" };
} }
return { minHeight: height + 'px' } return { minHeight: height + "px" };
} }
}, },
methods: { methods: {
// tabs, 选中tab // tabs, 选中tab
selectedTabHandle(tab) { selectedTabHandle(tab) {
tab = this.mainTabs.filter(item => item.name === tab.name) tab = this.mainTabs.filter(item => item.name === tab.name);
if (tab.length >= 1) { if (tab.length >= 1) {
this.$router.push({ name: tab[0].name, query: tab[0].query, params: tab[0].params }) this.$router.push({
name: tab[0].name,
query: tab[0].query,
params: tab[0].params
});
} }
}, },
// tabs, 删除tab // tabs, 删除tab
removeTabHandle(tabName) { removeTabHandle(tabName) {
this.mainTabs = this.mainTabs.filter(item => item.name !== tabName) this.mainTabs = this.mainTabs.filter(item => item.name !== tabName);
if (this.mainTabs.length >= 1) { if (this.mainTabs.length >= 1) {
// 当前选中tab被删除 // 当前选中tab被删除
if (tabName === this.mainTabsActiveName) { if (tabName === this.mainTabsActiveName) {
var tab = this.mainTabs[this.mainTabs.length - 1] var tab = this.mainTabs[this.mainTabs.length - 1];
this.$router.push({ name: tab.name, query: tab.query, params: tab.params }, () => { this.$router.push(
this.mainTabsActiveName = this.$route.name { name: tab.name, query: tab.query, params: tab.params },
}) () => {
this.mainTabsActiveName = this.$route.name;
}
);
} }
} else { } else {
this.menuActiveName = '' this.menuActiveName = "";
this.$router.push({ name: 'home' }) this.$router.push({ name: "home" });
} }
}, },
// tabs, 关闭当前 // tabs, 关闭当前
tabsCloseCurrentHandle() { tabsCloseCurrentHandle() {
this.removeTabHandle(this.mainTabsActiveName) this.removeTabHandle(this.mainTabsActiveName);
}, },
// tabs, 关闭其它 // tabs, 关闭其它
tabsCloseOtherHandle() { tabsCloseOtherHandle() {
this.mainTabs = this.mainTabs.filter(item => item.name === this.mainTabsActiveName) this.mainTabs = this.mainTabs.filter(
item => item.name === this.mainTabsActiveName
);
}, },
// tabs, 关闭全部 // tabs, 关闭全部
tabsCloseAllHandle() { tabsCloseAllHandle() {
this.mainTabs = [] this.mainTabs = [];
this.menuActiveName = '' this.menuActiveName = "";
this.$router.push({ name: 'home' }) this.$router.push({ name: "home" });
}, },
// tabs, 刷新当前 // tabs, 刷新当前
tabsRefreshCurrentHandle() { tabsRefreshCurrentHandle() {
var tab = this.$route var tab = this.$route;
this.removeTabHandle(tab.name) this.removeTabHandle(tab.name);
this.$nextTick(() => { this.$nextTick(() => {
this.$router.push({ name: tab.name, query: tab.query, params: tab.params }) this.$router.push({
name: tab.name,
query: tab.query,
params: tab.params
});
});
}
},
created() {
this.$http({
url: this.$http.adornUrl(
"/master/medicalRecords/getMedicalRecordsListCheck"
),
method: "post",
data: this.$http.adornData({
current: 1,
limit: 999999,
state: 1
}) })
} }).then(({ data }) => {
} if (data.page.total > 0) {
} console.log("data at line 181:", data);
</script> const h = this.$createElement;
this.$notify({
title: "待审核医案处理通知",
message: h(
"i",
{ style: "color: teal" },
`待审核的共有 【${data.page.total}】 条,请及时处理!!!`
)
});
}
});
}
};
</script>

View File

@@ -14,8 +14,9 @@
" "
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
:close-on-click-modal="false" :close-on-click-modal="false"
:wrapperClosable="false"
custom-class="yianDrawer" custom-class="yianDrawer"
size="60%" size="1200px"
> >
<div <div
v-if="dialogVisible" v-if="dialogVisible"
@@ -25,7 +26,10 @@
" "
> >
<!-- 触发按钮 --> <!-- 触发按钮 -->
<p style="cursor: pointer;margin: 0;margin-bottom: 10px;" v-if="isShowWord"> <p
style="cursor: pointer;margin: 0;margin-bottom: 10px;"
v-if="isShowWord"
>
<span @click="triggerUpload">上传 Word</span> <span @click="triggerUpload">上传 Word</span>
<img <img
src="../../../assets/img/word-iocn.png" src="../../../assets/img/word-iocn.png"
@@ -38,7 +42,7 @@
@click="messageList = []" @click="messageList = []"
> >
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
清空 清空已识别的医案
</span> </span>
</p> </p>
<!-- 隐藏上传框 --> <!-- 隐藏上传框 -->
@@ -50,11 +54,13 @@
style="display: none" style="display: none"
/> />
<div <div
style="display: flex;align-items: center;justify-content: flex-start;flex-wrap: wrap;" v-if="isShowWord" style="display: flex;align-items: center;justify-content: flex-start;flex-wrap: wrap;"
v-if="isShowWord"
> >
<div <div
v-for="(v, i) in messageList" v-for="(v, i) in messageList"
class="wordItem" @click="insertMessage(v)" class="wordItem"
@click="insertMessage(v)"
style="width: 32%;margin-right: 15px;margin-bottom: 10px;cursor: pointer;" style="width: 32%;margin-right: 15px;margin-bottom: 10px;cursor: pointer;"
> >
<div <div
@@ -69,7 +75,6 @@
type="" type=""
plain plain
icon="el-icon-plus" icon="el-icon-plus"
style="margin-left: 10px; padding: 2px;float: right;" style="margin-left: 10px; padding: 2px;float: right;"
>快速填入</el-button >快速填入</el-button
> >
@@ -278,7 +283,6 @@
}" }"
:options="cateOptions" :options="cateOptions"
placeholder="医案分类" placeholder="医案分类"
></el-cascader></div ></el-cascader></div
></el-form-item> ></el-form-item>
</template> </template>
@@ -326,7 +330,7 @@
<el-form-item <el-form-item
label="医案详情:" label="医案详情:"
label-width="110px" label-width="110px"
prop="title"
class="form_item" class="form_item"
> >
<div style="padding-top: 15px;"> <div style="padding-top: 15px;">
@@ -370,23 +374,14 @@
> >
</quill-editor> --> </quill-editor> -->
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="上传图片:" label="上传图片:"
prop="title"
label-width="110px" label-width="110px"
class="form_item custom-upload-box" class="form_item custom-upload-box"
v-if="dialogVisible" v-if="dialogVisible"
> >
<el-image v-if="type == 'detail'&&fileList.length>0"
:key="index"
class="el-upload-list__item-thumbnail"
v-for="(item, index) in addCertificateForm.img.split(',')"
style="width: 60px;height: 60px;border-radius: 6px;margin: 0 8px 8px 0;"
:src="item"
:preview-src-list="addCertificateForm.img.split(',')"
>
</el-image>
<!-- <template v-for="(file, i) in fileList" v-if="type == 'detail'"> <!-- <template v-for="(file, i) in fileList" v-if="type == 'detail'">
<img <img
@@ -443,6 +438,24 @@
</div> </div>
</div> </div>
</el-upload> </el-upload>
<template v-if="addCertificateForm.img !== ''&&type == 'detail'">
<el-image
v-if="
fileList.length > 0
"
:key="index"
class="el-upload-list__item-thumbnail"
v-for="(item, index) in addCertificateForm.img.split(',')"
style="width: 60px;height: 60px;border-radius: 6px;margin: 0 8px 8px 0;"
:src="item"
:preview-src-list="addCertificateForm.img.split(',')"
>
</el-image>
</template>
<!-- <div class="flexBox" style="width:100%;justify-content: space-between;"> <!-- <div class="flexBox" style="width:100%;justify-content: space-between;">
<div class="" style="display:flex"> <div class="" style="display:flex">
@@ -736,7 +749,7 @@ export default {
}, },
// 点击按钮触发上传 // 点击按钮触发上传
triggerUpload() { triggerUpload() {
this.messageList=[] this.messageList = [];
this.$refs.uploadInput.value = null; this.$refs.uploadInput.value = null;
this.$refs.uploadInput.click(); this.$refs.uploadInput.click();
}, },
@@ -894,12 +907,12 @@ export default {
}; };
this.isEdit = type == "edit" || type == "add" ? true : false; this.isEdit = type == "edit" || type == "add" ? true : false;
if (type == "add") { if (type == "add") {
this.isShowWord=true this.isShowWord = true;
this.record = { this.record = {
...recordData ...recordData
}; };
} else { } else {
this.isShowWord=false this.isShowWord = false;
this.showMessages = true; this.showMessages = true;
} }
if (data) { if (data) {
@@ -983,9 +996,7 @@ export default {
// recordData[key] = titleHtml + this.editableMap[key]; // recordData[key] = titleHtml + this.editableMap[key];
// } // }
const label = this.addCertificateForm.labelId; const label = this.addCertificateForm.labelId;
const value = Array.isArray(label) const value = Array.isArray(label) ? label[label.length - 1] : label;
? label[label.length - 1]
: label;
var data = { var data = {
labelId: value, labelId: value,
@@ -1043,8 +1054,10 @@ const value = Array.isArray(label)
this.$message.error("请输入医案详情"); this.$message.error("请输入医案详情");
return; return;
} }
this.createChat()
//创建对话 获取sessionId //创建对话 获取sessionId
this.createChat();
}, },
//创建新对话 //创建新对话
createChat() { createChat() {
@@ -1052,7 +1065,7 @@ const value = Array.isArray(label)
url: this.$http.adornUrl("/common/medicalRecords/medicalRecordsSplit"), url: this.$http.adornUrl("/common/medicalRecords/medicalRecordsSplit"),
method: "post", method: "post",
data: this.$http.adornData({ data: this.$http.adornData({
userId: "13487", userId: "1",
message: this.message message: this.message
}) })
}).then(res => { }).then(res => {
@@ -1076,8 +1089,8 @@ const value = Array.isArray(label)
var that = this; var that = this;
//展示提示语 //展示提示语
this.tishi = true; this.tishi = true;
this.isShowWord=false this.isShowWord = false;
this.messageList=[] this.messageList = [];
const poll = () => { const poll = () => {
this.getMedicalDetail(() => { this.getMedicalDetail(() => {
// 停止轮询 // 停止轮询
@@ -1313,7 +1326,7 @@ const value = Array.isArray(label)
} }
.el-form-item { .el-form-item {
margin-bottom: 8px; margin-bottom: 15px;
} }
/deep/.el-upload-list--picture-card .el-upload-list__item { /deep/.el-upload-list--picture-card .el-upload-list__item {
width: 80px !important; width: 80px !important;

View File

@@ -5,8 +5,8 @@
window.SITE_CONFIG = {}; window.SITE_CONFIG = {};
// api接口请求地址 // api接口请求地址
// window.SITE_CONFIG['baseUrl'] = 'https://api.nuttyreading.com'; // 线上正式环境 window.SITE_CONFIG['baseUrl'] = 'https://api.nuttyreading.com'; // 线上正式环境
window.SITE_CONFIG['baseUrl'] = 'http://192.168.110.100:9200/pb'; //川 // window.SITE_CONFIG['baseUrl'] = 'http://192.168.110.100:9200/pb'; //川
// cdn地址 = 域名 + 版本号 // cdn地址 = 域名 + 版本号
window.SITE_CONFIG['domain'] = './'; // 域名 window.SITE_CONFIG['domain'] = './'; // 域名