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>
export default {
}
</script>
<style scoped>

View File

@@ -1,8 +1,8 @@
<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 = "https://testapi.nuttyreading.com";
// const baseUrl = 'https://api.nuttyreading.com'
const baseUrl = 'https://api.nuttyreading.com'
// function commonFun() {
// console.log("公共方法")
// }

View File

@@ -10,6 +10,7 @@
<el-button type="primary" size="mini">去处理</el-button>
</router-link>
</el-card>
</el-col>
<el-col :span="12">
<el-card shadow="hover">
@@ -20,6 +21,18 @@
</router-link>
</el-card>
</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>
</div>
</template>
@@ -28,6 +41,7 @@
export default {
data(){
return{
medicalNum:0,
orderNum:0,
workOrderNum:0,
// loadAll:true,
@@ -35,6 +49,7 @@
}
},
created(){
this.getMedicalList()
this.getDataList()
this.getWorkDataList()
},
@@ -89,6 +104,22 @@
this.$message.error("获取待处理工数量失败");
// 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:{

View File

@@ -1,31 +1,48 @@
<template>
<main class="site-content" :class="{ 'site-content--tabs': $route.meta.isTab }">
<main
class="site-content"
:class="{ 'site-content--tabs': $route.meta.isTab }"
>
<!-- 主入口标签页 s -->
<el-tabs
v-if="$route.meta.isTab"
v-model="mainTabsActiveName"
:closable="true"
@tab-click="selectedTabHandle"
@tab-remove="removeTabHandle">
@tab-remove="removeTabHandle"
>
<el-dropdown class="site-tabs__tools" :show-timeout="0">
<i class="el-icon-arrow-down el-icon--right"></i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="tabsCloseCurrentHandle">关闭当前标签页</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-item @click.native="tabsCloseCurrentHandle"
>关闭当前标签页</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>
<el-tab-pane
v-for="item in mainTabs"
:key="item.name"
:label="item.title"
:name="item.name">
:name="item.name"
>
<el-card :body-style="siteContentViewHeight">
<iframe
v-if="item.type === 'iframe'"
:src="item.iframeUrl"
width="100%" height="100%" frameborder="0" scrolling="yes">
width="100%"
height="100%"
frameborder="0"
scrolling="yes"
>
</iframe>
<keep-alive v-else>
<router-view v-if="item.name === mainTabsActiveName" />
@@ -43,85 +60,139 @@
</template>
<script>
import { isURL } from '@/utils/validate'
export default {
inject: ['refresh'],
data () {
return {
}
import { isURL } from "@/utils/validate";
export default {
inject: ["refresh"],
data() {
return {};
},
computed: {
documentClientHeight: {
get () { return this.$store.state.common.documentClientHeight }
get() {
return this.$store.state.common.documentClientHeight;
}
},
menuActiveName: {
get () { return this.$store.state.common.menuActiveName },
set (val) { this.$store.commit('common/updateMenuActiveName', val) }
get() {
return this.$store.state.common.menuActiveName;
},
set(val) {
this.$store.commit("common/updateMenuActiveName", val);
}
},
mainTabs: {
get () { return this.$store.state.common.mainTabs },
set (val) { this.$store.commit('common/updateMainTabs', val) }
get() {
return this.$store.state.common.mainTabs;
},
set(val) {
this.$store.commit("common/updateMainTabs", val);
}
},
mainTabsActiveName: {
get () { return this.$store.state.common.mainTabsActiveName },
set (val) { this.$store.commit('common/updateMainTabsActiveName', val) }
get() {
return this.$store.state.common.mainTabsActiveName;
},
siteContentViewHeight () {
var height = this.documentClientHeight - 50 - 30 - 2
if (this.$route.meta.isTab) {
height -= 40
return isURL(this.$route.meta.iframeUrl) ? { height: height + 'px' } : { minHeight: height + 'px' }
set(val) {
this.$store.commit("common/updateMainTabsActiveName", val);
}
return { minHeight: height + 'px' }
},
siteContentViewHeight() {
var height = this.documentClientHeight - 50 - 30 - 2;
if (this.$route.meta.isTab) {
height -= 40;
return isURL(this.$route.meta.iframeUrl)
? { height: height + "px" }
: { minHeight: height + "px" };
}
return { minHeight: height + "px" };
}
},
methods: {
// tabs, 选中tab
selectedTabHandle (tab) {
tab = this.mainTabs.filter(item => item.name === tab.name)
selectedTabHandle(tab) {
tab = this.mainTabs.filter(item => item.name === tab.name);
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
removeTabHandle (tabName) {
this.mainTabs = this.mainTabs.filter(item => item.name !== tabName)
removeTabHandle(tabName) {
this.mainTabs = this.mainTabs.filter(item => item.name !== tabName);
if (this.mainTabs.length >= 1) {
// 当前选中tab被删除
if (tabName === this.mainTabsActiveName) {
var tab = this.mainTabs[this.mainTabs.length - 1]
this.$router.push({ name: tab.name, query: tab.query, params: tab.params }, () => {
this.mainTabsActiveName = this.$route.name
})
var tab = this.mainTabs[this.mainTabs.length - 1];
this.$router.push(
{ name: tab.name, query: tab.query, params: tab.params },
() => {
this.mainTabsActiveName = this.$route.name;
}
);
}
} else {
this.menuActiveName = ''
this.$router.push({ name: 'home' })
this.menuActiveName = "";
this.$router.push({ name: "home" });
}
},
// tabs, 关闭当前
tabsCloseCurrentHandle () {
this.removeTabHandle(this.mainTabsActiveName)
tabsCloseCurrentHandle() {
this.removeTabHandle(this.mainTabsActiveName);
},
// tabs, 关闭其它
tabsCloseOtherHandle () {
this.mainTabs = this.mainTabs.filter(item => item.name === this.mainTabsActiveName)
tabsCloseOtherHandle() {
this.mainTabs = this.mainTabs.filter(
item => item.name === this.mainTabsActiveName
);
},
// tabs, 关闭全部
tabsCloseAllHandle () {
this.mainTabs = []
this.menuActiveName = ''
this.$router.push({ name: 'home' })
tabsCloseAllHandle() {
this.mainTabs = [];
this.menuActiveName = "";
this.$router.push({ name: "home" });
},
// tabs, 刷新当前
tabsRefreshCurrentHandle () {
var tab = this.$route
this.removeTabHandle(tab.name)
tabsRefreshCurrentHandle() {
var tab = this.$route;
this.removeTabHandle(tab.name);
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
})
}
}
}
</script>
}).then(({ data }) => {
if (data.page.total > 0) {
console.log("data at line 181:", data);
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"
:close-on-click-modal="false"
:wrapperClosable="false"
custom-class="yianDrawer"
size="60%"
size="1200px"
>
<div
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>
<img
src="../../../assets/img/word-iocn.png"
@@ -38,7 +42,7 @@
@click="messageList = []"
>
<i class="el-icon-delete"></i>
清空
清空已识别的医案
</span>
</p>
<!-- 隐藏上传框 -->
@@ -50,11 +54,13 @@
style="display: none"
/>
<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
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;"
>
<div
@@ -69,7 +75,6 @@
type=""
plain
icon="el-icon-plus"
style="margin-left: 10px; padding: 2px;float: right;"
>快速填入</el-button
>
@@ -238,7 +243,7 @@
>
</div>
<template
v-if="type == 'detail'&&currentNode.data.id=='wait'"
v-if="type == 'detail' && currentNode.data.id == 'wait'"
style="display:flex;align-items:center;justify-content:space-between"
>
<!-- <el-form-item
@@ -278,7 +283,6 @@
}"
:options="cateOptions"
placeholder="医案分类"
></el-cascader></div
></el-form-item>
</template>
@@ -326,7 +330,7 @@
<el-form-item
label="医案详情:"
label-width="110px"
prop="title"
class="form_item"
>
<div style="padding-top: 15px;">
@@ -370,23 +374,14 @@
>
</quill-editor> -->
</el-form-item>
<el-form-item
label="上传图片:"
prop="title"
label-width="110px"
class="form_item custom-upload-box"
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'">
<img
@@ -443,6 +438,24 @@
</div>
</div>
</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="" style="display:flex">
@@ -599,7 +612,7 @@ export default {
props: ["data", "pageType", "dataInfo", "labelId", "currentNode"],
data() {
return {
isShowWord:false,
isShowWord: false,
record: {},
loading: false,
tishi: false,
@@ -736,7 +749,7 @@ export default {
},
// 点击按钮触发上传
triggerUpload() {
this.messageList=[]
this.messageList = [];
this.$refs.uploadInput.value = null;
this.$refs.uploadInput.click();
},
@@ -894,12 +907,12 @@ export default {
};
this.isEdit = type == "edit" || type == "add" ? true : false;
if (type == "add") {
this.isShowWord=true
this.isShowWord = true;
this.record = {
...recordData
};
}else{
this.isShowWord=false
} else {
this.isShowWord = false;
this.showMessages = true;
}
if (data) {
@@ -983,9 +996,7 @@ export default {
// recordData[key] = titleHtml + this.editableMap[key];
// }
const label = this.addCertificateForm.labelId;
const value = Array.isArray(label)
? label[label.length - 1]
: label;
const value = Array.isArray(label) ? label[label.length - 1] : label;
var data = {
labelId: value,
@@ -1043,8 +1054,10 @@ const value = Array.isArray(label)
this.$message.error("请输入医案详情");
return;
}
this.createChat()
//创建对话 获取sessionId
this.createChat();
},
//创建新对话
createChat() {
@@ -1052,7 +1065,7 @@ const value = Array.isArray(label)
url: this.$http.adornUrl("/common/medicalRecords/medicalRecordsSplit"),
method: "post",
data: this.$http.adornData({
userId: "13487",
userId: "1",
message: this.message
})
}).then(res => {
@@ -1076,8 +1089,8 @@ const value = Array.isArray(label)
var that = this;
//展示提示语
this.tishi = true;
this.isShowWord=false
this.messageList=[]
this.isShowWord = false;
this.messageList = [];
const poll = () => {
this.getMedicalDetail(() => {
// 停止轮询
@@ -1313,7 +1326,7 @@ const value = Array.isArray(label)
}
.el-form-item {
margin-bottom: 8px;
margin-bottom: 15px;
}
/deep/.el-upload-list--picture-card .el-upload-list__item {
width: 80px !important;

View File

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