患者处方下载,使用耗材解析等

zyy_db
anthonywj 1 year ago
parent 1e7a037a41
commit bc9b29329f

@ -5,7 +5,7 @@ VUE_APP_TITLE = UDI管理系统
ENV = 'development'
# 开发环境
VUE_APP_BASE_API = 'http://192.168.0.166:9991'
VUE_APP_BASE_API = 'http://127.0.0.1:9991'
VUE_APP_SYNC_API ="http://127.0.0.1:10001"

@ -8,7 +8,7 @@ ENV = 'production'
#林纪裕cd
VUE_APP_BASE_API = 'http://www.linjiyu.lol:81/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://www.linjiyu.lol:81/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://www.linjiyu.lol:83/UDI_WMS_MC/'
@ -16,6 +16,11 @@ VUE_APP_BASE_API = 'http://www.linjiyu.lol:81/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://192.168.0.127:9150/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://192.168.0.127:9160/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://192.168.0.127:9170/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://dm.xmglxp.com:8082/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://192.168.8.58:9150/UDI_WMS_MC/'
# 平潭正式
# VUE_APP_BASE_API = 'http://55.55.0.62:9150/UDI_WMS_MC/'
@ -34,6 +39,13 @@ VUE_APP_BASE_API = 'http://www.linjiyu.lol:81/UDI_WMS_MC/'
# 长泰医院
# VUE_APP_BASE_API = 'http://192.168.6.189:9150/UDI_WMS_MC/'
# 三明大田医院
# VUE_APP_BASE_API = 'http://170.20.124.4:9150/UDI_WMS_MC/'
VUE_APP_BASE_API = 'http://192.168.0.207:9150/UDI_WMS_MC/'
# 应用访问路径 例如使用前缀 /admin/
VUE_APP_CONTEXT_PATH = '/UDI_WMS_NEW/'

@ -51,6 +51,7 @@
"js-cookie": "3.0.1",
"js-sha256": "^0.10.1",
"jsencrypt": "3.0.0-rc.1",
"loadsh": "^0.0.4",
"lodash": "^4.17.21",
"nprogress": "0.2.0",
"pinyin": "^2.10.2",

@ -27,3 +27,5 @@ export function downloadPrescribe(query) {

@ -18,4 +18,17 @@ export function downloadSick(query) {
}
/**
* 处方使用耗材明细
*/
export function skPrescribeDi(query) {
return axios({
url: "/udiwms/basic/sk/prescribe/di/filter",
method: "get",
params: query
});
}

@ -268,6 +268,7 @@ export default {
secCheckReview: null,
thrCheckReview: null,
inPreInBack: 1,
deptNoInvType: 0,
},
enableMap: {
true: '是',
@ -555,6 +556,7 @@ export default {
backPreinType: 1,
sortNum: 999,
inPreInBack: 1,
deptNoInvType: 0,
}
this.addDialogVisible = true
},

@ -458,6 +458,29 @@
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">科室库存出库模式</span>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="5">
<el-select v-model="inputQuery.deptNoInvType" style="width: 65%"
:disabled="inputQuery.mainAction!= 'WareHouseOut' || !inputQuery.vailInv"
>
<el-option label="当前仓库库存出库" :value="0"></el-option>
<el-option label="上级仓库库存出库" :value="1"></el-option>
<el-option label="总库库存出库" :value="2"></el-option>
</el-select>
</el-col>
<el-divider direction="vertical"></el-divider>
<el-col span="13">
<span class="sptext">科室库存出库模式</span>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row>
<el-col span="5">
<span class="sptext">预验收剩余库存自动退库</span>

@ -276,7 +276,6 @@
show-overflow-tooltip
v-if="$auth.hasPermi('basic:spmc')"
></el-table-column>
<el-table-column
label="商品条码"
prop="sptm"
@ -298,7 +297,6 @@
show-overflow-tooltip
v-if="$auth.hasPermi('basic:measname')"
></el-table-column>
<el-table-column
label="注册/备案号"
prop="zczbhhzbapzbh"
@ -411,7 +409,19 @@
</el-tag>
</template>
</el-table-column>
<el-table-column
label="上传状态"
prop="uploadFlag"
width="120"
v-if="vueRouteSource==2"
show-overflow-tooltip
>
<template slot-scope="scope">
<el-tag :type="scope.row.uploadFlag | uploadFilterType">
{{ uploadMap[scope.row.uploadFlag] }}
</el-tag>
</template>
</el-table-column>
<el-table-column :width="isChoose?50:180" label="操作" fixed="right">
<template slot-scope="scope" v-if="isChoose">
<el-button
@ -436,6 +446,7 @@
>详情
</el-button>
<el-button
type="text"
size="small" v-if="vueRouteSource==1"
@ -455,6 +466,14 @@
@click.native.stop="uploadThird(scope.row)"
>上传
</el-button>
<el-button
type="text"
size="small"
v-if="vueRouteSource==2"
@click.native.stop="uploadMsg(scope.row)"
>上传日志
</el-button>
</template>
</el-table-column>
</el-table>
@ -1672,6 +1691,13 @@ export default {
true: "可配送",
false: "不可配送",
},
uploadMap: {
null: "未上传",
1: "已上传",
2: "上传失败",
},
pId: 0,
productRemarkSet: {
remarkTitle1: "备注字段1",
@ -1751,6 +1777,16 @@ export default {
};
return statusMap[status];
},
uploadFilterType(status) {
const statusMap = {
null: "warning",
0: "warning",
1: "success",
2: "danger",
};
return statusMap[status];
},
},
methods: {
@ -2066,6 +2102,19 @@ export default {
},
uploadMsg(row) {
this.$alert(row.uploadMsg, '上传', {
confirmButtonText: '确定',
callback: action => {
this.$message({
type: 'info',
message: `action: ${action}`
});
}
});
},
uploadThird(row) {
this.$confirm('确定上传至第三方系统?', '提示', {
confirmButtonText: '确定',

@ -253,7 +253,6 @@
<selectDiDetail :editQuery="diDetails"
></selectDiDetail>
</el-dialog>
-
</div>
</template>

@ -1,6 +1,8 @@
import {downloadSick, page} from "@/api/basic/sicker/skPersonApi";
import {detail, downloadPrescribe, page as prescribePage} from "@/api/basic/sicker/prescribeApi";
import skPrescribeDi from "./skPrescribeDi.vue";
let query = {
name: "",
code: "",
@ -33,6 +35,8 @@ export default {
// =============患者=================
showSickerDialog: false,
sicker: null,
sickDiDialog: false,
// =============患者end================
// ============处方=============
sickerInfo: null,
@ -51,6 +55,10 @@ export default {
created() {
this.getList()
},
components: {
skPrescribeDi
},
methods: {
onReset() {
this.filterQuery = {...query}
@ -78,6 +86,10 @@ export default {
this.prescribeQuery = {...prescribeQuery}
this.prescribeQuery.sickerCode = row.code
this.prescribeLoading = true
this.getPrescribeList()
},
getPrescribeList() {
prescribePage(this.prescribeQuery).then(res => {
this.prescribeLoading = false
this.prescribeList = res.data.list || []
@ -88,10 +100,20 @@ export default {
this.prescribeTotal = 0
})
},
showSickerInfo(row) {
this.sicker = {...row}
this.showSickerDialog = true
},
showPrescribeDiInfo(row) {
this.sicker = {...row}
this.sickDiDialog = true
},
showPrescribeDetail(row) {
this.fullscreenLoading = true
detail({prescribeCode: row.code}).then(res => {

@ -40,9 +40,10 @@
<el-table-column label="住院号" prop="adNum" width="120"></el-table-column>
<el-table-column label="职业" prop="gender" width="120"></el-table-column>
<el-table-column label="最后更新时间" prop="createTime" width="120"></el-table-column>
<el-table-column label="操作" width="120" fixed="right">
<el-table-column label="操作" width="160" fixed="right">
<template slot-scope="scope">
<el-button type="text" @click="showSickerInfo(scope.row)"></el-button>
<el-button type="text" @click="showPrescribeDiInfo(scope.row)">使</el-button>
</template>
</el-table-column>
</el-table>
@ -89,9 +90,9 @@
<pagination
v-show="prescribeTotal>0"
:total="prescribeTotal"
:limit.sync="filterQuery.limit"
:page.sync="filterQuery.page"
@pagination="getList"
:limit.sync="prescribeQuery.limit"
:page.sync="prescribeQuery.page"
@pagination="getPrescribeList"
></pagination>
</el-card>
@ -176,6 +177,20 @@
</el-row>
</el-dialog>
<el-dialog
:title="`患者使用耗材(${sicker.name})`"
:close-on-click-modal="false"
:close-on-press-escape="false"
:visible.sync="sickDiDialog"
width="75%"
append-to-body
v-if="sickDiDialog"
>
<skPrescribeDi :perscribeData="sicker"
></skPrescribeDi>
</el-dialog>
</div>
</template>

@ -0,0 +1,127 @@
<template>
<div>
<el-card style="margin-top: -15px">
<el-form :model="filterQuery" label-width="90px" v-if="showSearch">
<el-row>
<el-col :span="6">
<el-form-item label="产品编码:">
<el-input v-model="filterQuery.unionCode" style="width: 100%" placeholder="请输入DI/医保编码/商品条码"
clearable="true"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="产品通用名:">
<el-input v-model="filterQuery.cpmctymc" style="width: 100%" placeholder="请输入产品通用名"
clearable="true"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="规格型号:">
<el-input v-model="filterQuery.ggxh" style="width: 100%" placeholder="请输入规格型号"
clearable="true"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="top-right-btn">
<el-button-group style="display:flex;">
<el-button icon="el-icon-view" type="primary" @click="hideSearch">/</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="getList"></el-button>
</el-button-group>
</div>
<el-table v-loading="loading" :data="list" style="width: 100%" border
highlight-current-row>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="处方编码" prop="prescribeCode" width="140" show-overflow-tooltip></el-table-column>
<el-table-column label="DI标识" prop="nameCode" show-overflow-tooltip></el-table-column>
<el-table-column label="生产企业" prop="ylqxzcrbarmc" show-overflow-tooltip></el-table-column>
<el-table-column label="产品通用名" prop="cpmctymc" show-overflow-tooltip></el-table-column>
<el-table-column label="规格型号" prop="ggxh" show-overflow-tooltip></el-table-column>
<el-table-column label="注册/备案凭证" prop="zczbhhzbapzbh" show-overflow-tooltip></el-table-column>
<el-table-column label="计量单位" prop="measureUnit" show-overflow-tooltip></el-table-column>
<el-table-column label="价格" prop="price" show-overflow-tooltip></el-table-column>
<el-table-column label="数量" prop="count" show-overflow-tooltip></el-table-column>
<el-table-column width="60" label="操作">
<template slot-scope="scope">
<el-button type="text" @click.native.stop="handleModifyClick(scope.row)">详情</el-button>
</template>
</el-table-column>
</el-table>
</el-card>
</div>
</template>
<script>
import {skPrescribeDi} from "@/api/basic/sicker/skPersonApi";
export default {
name: "skPrescribeDi",
props: {
perscribeData: {
type: Object,
required: true,
},
},
data() {
return {
filterQuery: {
adNum: null,
page: 1,
limit: 10,
},
total: 0,
loading: false,
list: [],
showSearch: true,
}
},
methods: {
getList() {
this.loading = true;
this.filterQuery.adNum = this.perscribeData.adNum;
skPrescribeDi(this.filterQuery)
.then((response) => {
this.loading = false;
this.list = response.data.list || [];
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
hideSearch() {
this.showSearch = !this.showSearch;
},
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
page: 1,
limit: 10,
};
this.getList();
},
},
created() {
this.getList();
},
}
</script>
<style scoped>
</style>
Loading…
Cancel
Save