dev
This commit is contained in:
parent
38d8aa9090
commit
bbba5a165d
|
|
@ -53,7 +53,7 @@ export const medTypeJson ={
|
||||||
"510102": "产前检查",
|
"510102": "产前检查",
|
||||||
"108": "辅助生殖门诊"
|
"108": "辅助生殖门诊"
|
||||||
}
|
}
|
||||||
export const tempList = [
|
export const mainAppealList = [
|
||||||
["咳嗽", "干咳", "咳痰", "夜咳", "晨咳", "咽干", "咽痒", "咽痛", "痰中带血", "声音嘶哑", "咽部异物感", "反复感冒", "发热", "喷嚏", "流涕", "鼻塞", "头痛", "头晕", "耳鸣", "汗多", "盗汗", "自汗", "出汗", "易汗出"],
|
["咳嗽", "干咳", "咳痰", "夜咳", "晨咳", "咽干", "咽痒", "咽痛", "痰中带血", "声音嘶哑", "咽部异物感", "反复感冒", "发热", "喷嚏", "流涕", "鼻塞", "头痛", "头晕", "耳鸣", "汗多", "盗汗", "自汗", "出汗", "易汗出"],
|
||||||
["胃胀", "胃痛", "胃不适", "腹胀", "腹痛", "腹泻", "恶心", "呕吐", "反酸", "嗳气", "烧心", "纳差", "便秘", "便溏", "便血", "黑便", "大便干", "大便黏", "五更泻", "腹痛欲便", "里急后重", "排便不爽", "溏结不调"],
|
["胃胀", "胃痛", "胃不适", "腹胀", "腹痛", "腹泻", "恶心", "呕吐", "反酸", "嗳气", "烧心", "纳差", "便秘", "便溏", "便血", "黑便", "大便干", "大便黏", "五更泻", "腹痛欲便", "里急后重", "排便不爽", "溏结不调"],
|
||||||
["胸闷", "胸痛", "心悸", "气短", "气喘", "气促", "眠差", "眠浅", "多梦", "易醒", "早醒", "入睡困难", "嗜睡", "尿频", "尿急", "尿痛", "尿不尽", "尿灼热", "尿分叉", "夜尿多", "尿浊", "尿血", "水肿", "阳痿", "早泄"],
|
["胸闷", "胸痛", "心悸", "气短", "气喘", "气促", "眠差", "眠浅", "多梦", "易醒", "早醒", "入睡困难", "嗜睡", "尿频", "尿急", "尿痛", "尿不尽", "尿灼热", "尿分叉", "夜尿多", "尿浊", "尿血", "水肿", "阳痿", "早泄"],
|
||||||
|
|
@ -62,3 +62,124 @@ export const tempList = [
|
||||||
["偶尔1天", "2天", "3天", "4天", "5天", "1个月", "2个月", "3个月", "半年", "1年", "1周", "2周", "3周"]
|
["偶尔1天", "2天", "3天", "4天", "5天", "1个月", "2个月", "3个月", "半年", "1年", "1周", "2周", "3周"]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
export const nowMedicalHistoryList = [
|
||||||
|
["恶风", "恶寒", "怕冷", "发热", "潮热", "低热", "手心热", "脚心热", "夜间发热", "寒热往来"],
|
||||||
|
["自汗", "盗汗", "汗多", "汗黏", "冷汗", "头汗", "背汗", "手汗", "脚汗"],
|
||||||
|
["眠可", "眠差", "眠浅", "多梦", "易醒", "早醒", "入睡困难", "啫睡", "情绪正常", "压力大", "眠浅", "易怒", "易躁", "焦虑", "抑郁", "心烦"],
|
||||||
|
["纳可", "纳差", "厌食", "易饿", "饥不欲食", "口干", "口苦", "口淡", "口黏", "口干欲饮", "渴不欲饮", "喜冷饮", "喜热饮"],
|
||||||
|
["小便正常", "小便黄", "小便清长", "尿频", "尿急", "尿痛", "大便正常", "便溏", "大便黏", "大便干", "完谷不化", "溏结不调"]
|
||||||
|
]
|
||||||
|
|
||||||
|
export const beforeMedicalHistoryList = [
|
||||||
|
["既往体健", "未见明显异常", "无呛咳史", "否认药物过敏史", "否认慢性病史", "否认传染病史", "否认遗传病史", "否认备孕", "否认怀孕"],
|
||||||
|
["高血压", "高血脂", "心脏病", "糖尿病", "痛风", "精神疾病", "脑梗史", "肝炎", "胃炎", "肺结核", "哮喘", "鼻炎", "甲亢", "血液病"],
|
||||||
|
["吸烟", "偶尔吸烟", "长期吸烟", "不饮酒", "偶尔饮酒", "长期饮酒", "未婚", "已婚", "未孕", "备孕", "怀孕", "闭经", "有早产史", "有流产史", "有痛经史"]
|
||||||
|
]
|
||||||
|
export const chinaAdjunctCheckList = [
|
||||||
|
|
||||||
|
["面色淡白", "面色姜黄", "面色晦暗", "面色少华", "面色黑", "面色青", "面色红", "目光乏神", "精神不振",],
|
||||||
|
["舌淡红", "舌淡白", "舌色暗", "香红", "舌尖红", "舌边红", "舌青紫", "舌淡紫", "舌绛",],
|
||||||
|
["舌有齿痕", "舌有裂纹", "舌体胖大", "舌体瘦小", "舌有点刺", "舌尖点刺", "舌边点刺", "舌老", "舌嫩",],
|
||||||
|
["络脉短", "络脉细", "络脉粗", "络脉曲张", "络脉暗红", "络脉青紫", "络脉分叉",],
|
||||||
|
["苔薄", "苔厚", "苔滑", "苔润", "苔燥", "苔腻", "苔腐", "苔剥落", "少苔", "无苔",],
|
||||||
|
["苔白", "苔黑", "苔黄", "苔灰",],
|
||||||
|
["脉浮", "脉沉", "脉弦", "脉細", "脉数", "脉滑", "脉迟", "脉涩", "脉弱", "脉虚", "脉濡", "脉缓", "脉紧",],
|
||||||
|
["脉沉細", "脉沉迟", "脉沉弱", "脉細", "脈細弱", "脉弦", "脉弦細", "脉弦数", "脉数", "脉浮数"],
|
||||||
|
];
|
||||||
|
|
||||||
|
export const allergyHistoryList = [
|
||||||
|
["否认药物过敏史", "否认食物过敏史"],
|
||||||
|
["过敏史", "青霉素", "链霉素", "卡那霉素", "林可霉素", "左氧氟沙星", "溴芬酸钠", "阿托品", "头孢类", "磺胺类", "酒精", "碘伏", "去痛片", "扑热息痛", "安痛定",
|
||||||
|
"安定", "鲁米那", "阿司匹林", "普鲁卡因", "毛发皮屑", "牛奶", "鸡蛋", "大豆", "小麦", "花生", "鱼虾", "坚果", "花粉", "毒菌", "尘螨"],
|
||||||
|
];
|
||||||
|
export const physiqueExamList = [
|
||||||
|
{
|
||||||
|
name: "体征",
|
||||||
|
array: ['生命体征平稳', "神志清除", "精神反应尚可", "未见皮疹", "浅表淋巴结未扪及肿大", "双肺呼吸音清晰", "双肺叩诊呈清音",
|
||||||
|
"未闻及异常呼吸音及干湿啰音", "心前区无异常搏动", "心音有力心律齐", "各瓣膜区未闻及明显杂音",
|
||||||
|
"未闻及心包摩擦音", "腹部柔软", "无腹肌紧张", "全腹部无压痛", "肠鸣音活跃", "双肾区无叩痛"],
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
prefix: "体温",
|
||||||
|
name: "体温",
|
||||||
|
array: [
|
||||||
|
"36.0", "36.5", "37.0", "37.3", "37.4", "37.5", "37.6", "37.7", "37.8", "37.9",
|
||||||
|
"38.0", "38.1", "38.2", "38.3", "38.4", "38.5", "38.6", "38.7", "38.8", "38.9",
|
||||||
|
"39.0", "39.1", "39.2", "39.3", "39.4", "39.5", "39.6", "39.7", "39.8", "39.9",
|
||||||
|
"40.0", "40.1", "40.2", "40.3", "40.4", "40.5", "40.6", "40.7", "40.8", "40.9",
|
||||||
|
"41.0", "41.1", "41.2", "41.3", "41.4", "41.5", "41.6", "41.7", "41.8", "41.9"
|
||||||
|
],
|
||||||
|
suffix: "℃"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prefix: "脉搏",
|
||||||
|
name: "脉搏",
|
||||||
|
array: ['30', '35', '40', '45', '50', '55', '60', '65', "70",
|
||||||
|
"75", "80", "85", "90", "95", "100", "105", "110", "115", "120",
|
||||||
|
"125", "130", "135", "140", "145", "150", "155", "160", "165", "170", "175", "180"],
|
||||||
|
suffix: "bpm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prefix: "呼吸",
|
||||||
|
name: "呼吸",
|
||||||
|
array: ['10', '11', '12', '13', '14', '15', '16', '17', "18",
|
||||||
|
"19", "20", "21", "22", "23", "24", "25", "26", "27", "28",
|
||||||
|
"29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40"],
|
||||||
|
suffix: "分/每次"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prefix: "收缩压",
|
||||||
|
name: "收缩压",
|
||||||
|
array: ['52', '54', '56', '58', '60', '62', '64', '66', "68",
|
||||||
|
"70", "72", "74", "76", "78", "80", "82", "84", "86", "88",
|
||||||
|
"90", "92", "94", "96", "98", "100", "102", "104", "106", "108", "110", "112"],
|
||||||
|
suffix: "mmHg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prefix: "舒张压",
|
||||||
|
name: "舒张压",
|
||||||
|
array: ['82', '84', '86', '88', '90', '92', '94', '96', "98",
|
||||||
|
"100", "102", "104", "106", "108", "110", "112", "114", "116", "118",
|
||||||
|
"120", "122", "124", "126", "128", "130", "132", "134", "136", "138", "140", "142"],
|
||||||
|
suffix: "mmHg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prefix: "体重",
|
||||||
|
name: "体重",
|
||||||
|
array: ['2.0', '2.5', '3.0', '3.5', '4.0', '4.5', '5.0', '5.5', "6.0",
|
||||||
|
"6.5", "7.0", "7.5", "8.0", "8.5", "9.0", "9.5", "10.0", "10.5", "11.0",
|
||||||
|
"11.5", "12.0", "12.5", "13.0", "13.5", "14.0", "14.5", "15.0", "15.5", "16.0", "16.5", "17.0"],
|
||||||
|
suffix: "kg"
|
||||||
|
},
|
||||||
|
{ prefix: "身高",
|
||||||
|
name: "身高",
|
||||||
|
array: ['45', '46', '47', '48', '49', '50', '51', '52', "53",
|
||||||
|
"54", "55", "56", "57", "58", "59", "60", "61", "62", "63",
|
||||||
|
"64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75"],
|
||||||
|
suffix: "cm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prefix: "血氧",
|
||||||
|
name: "血氧",
|
||||||
|
array: ['70', '71', '72', '73', '74', '75', '76', '77', "78",
|
||||||
|
"79", "80", "81", "82", "83", "84", "85", "86", "87", "88",
|
||||||
|
"89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99"],
|
||||||
|
suffix: "%"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prefix: "血糖",
|
||||||
|
name: "血糖",
|
||||||
|
array: ['4.0', '4.1', '4.2', '4.3', '4.4', '4.5', '4.6', '4.7', "4.8",
|
||||||
|
"4.9", "5.0", "5.1", "5.2", "5.3", "5.4", "5.5", "5.6", "5.7", "5.8",
|
||||||
|
"5.9", "6.0", "6.1", "6.2", "6.3", "6.4", "6.5", "6.6", "6.7", "6.8", "6.9",
|
||||||
|
"7.0", "7.1", "7.2", "7.3", "7.4", "7.5", "7.6", "7.7", "7.8", "7.9", "8.0",
|
||||||
|
"8.1", "8.2", "8.3", "8.4", "8.5", "8.6", "8.7", "8.8", "8.9", "9.0",
|
||||||
|
"9.1", "9.2", "9.3", "9.4", "9.5", "9.6", "9.7",
|
||||||
|
],
|
||||||
|
suffix: "mmol/L"
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ const inputStr = (str: string) => {
|
||||||
padding: 5px 0;
|
padding: 5px 0;
|
||||||
border-bottom: 1px solid #fffeee;
|
border-bottom: 1px solid #fffeee;
|
||||||
.code-item-name{
|
.code-item-name{
|
||||||
flex: 0 0 calc(100% / 12);
|
float: left;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
|
|
@ -53,6 +53,9 @@ const inputStr = (str: string) => {
|
||||||
&:hover{
|
&:hover{
|
||||||
color: #000;
|
color: #000;
|
||||||
}
|
}
|
||||||
|
&:after{
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
<router-link to="/statistics" class="menu-item" active-class="active active8">统计</router-link>
|
<router-link to="/statistics" class="menu-item" active-class="active active8">统计</router-link>
|
||||||
<router-link to="/settings" class="menu-item" active-class="active active9">设置</router-link>
|
<router-link to="/settings" class="menu-item" active-class="active active9">设置</router-link>
|
||||||
<div class="btn">
|
<div class="btn">
|
||||||
<el-button :icon="Right" style="float: right;color: #fff" @click="logout" type="text">退出登录</el-button>
|
<el-button :icon="Right" style="float: right;color: #fff" @click="logout">退出登录</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,6 @@ _width.value = width == null ? 1200 : width;
|
||||||
_height.value = height == null ? 800 : height;
|
_height.value = height == null ? 800 : height;
|
||||||
_close.value = close == null ? true : close;
|
_close.value = close == null ? true : close;
|
||||||
|
|
||||||
console.log(_width, _height, _isShow);
|
|
||||||
|
|
||||||
watch(() => isShow, (newVal) => {
|
watch(() => isShow, (newVal) => {
|
||||||
_isShow.value = newVal == null ? false : newVal;
|
_isShow.value = newVal == null ? false : newVal;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template xmlns="http://www.w3.org/1999/html">
|
<template xmlns="http://www.w3.org/1999/html">
|
||||||
<Mask :width="1100" :height="600" :is-show="show" :top="100" title="过期商品详情" @close="show=false">
|
<Mask :width="1100" :height="600" :is-show="show" title="过期商品详情" @close="show=false">
|
||||||
<el-table :data="tableData" style="width: 100%" class="table" max-height="1000px">
|
<el-table :data="tableData" style="width: 100%" class="table" max-height="1000px">
|
||||||
<el-table-column label="名称" prop="name"></el-table-column>
|
<el-table-column label="名称" prop="name"></el-table-column>
|
||||||
<el-table-column label="剩余天数">
|
<el-table-column label="剩余天数">
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<Mask :width="1100" :height="600" :is-show="show" :top="100" title="库存预警详情" @close="close">
|
<Mask :width="1100" :height="600" :is-show="show" title="库存预警详情" @close="close">
|
||||||
<el-table :data="tableData" style="width: 100%" class="table" max-height="1000px">
|
<el-table :data="tableData" style="width: 100%" class="table" max-height="1000px">
|
||||||
<el-table-column label="名称" prop="name"></el-table-column>
|
<el-table-column label="名称" prop="name"></el-table-column>
|
||||||
<el-table-column label="剩余库存">
|
<el-table-column label="剩余库存">
|
||||||
|
|
|
||||||
|
|
@ -348,7 +348,7 @@
|
||||||
|
|
||||||
<Search ref="createSearchRef" @confirm="createConfirm"/>
|
<Search ref="createSearchRef" @confirm="createConfirm"/>
|
||||||
<Search ref="contrastCodeSearch" @confirm="contrastCodeConfirm"/>
|
<Search ref="contrastCodeSearch" @confirm="contrastCodeConfirm"/>
|
||||||
<Mask :width="400" :height="600" :top="100" :is-show="show_cate">
|
<Mask :width="400" :height="600" :is-show="show_cate">
|
||||||
<Cate :type="_type" @close="cateCloseCallBack"/>
|
<Cate :type="_type" @close="cateCloseCallBack"/>
|
||||||
</Mask>
|
</Mask>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -117,10 +117,10 @@
|
||||||
<el-button @click="save" type="primary">保存</el-button>
|
<el-button @click="save" type="primary">保存</el-button>
|
||||||
<el-button @click="exit" type="primary">关闭</el-button>
|
<el-button @click="exit" type="primary">关闭</el-button>
|
||||||
</div>
|
</div>
|
||||||
<Mask :width="800" :height="600" :is-show="show_search" :top="100" >
|
<Mask :width="800" :height="600" :is-show="show_search" >
|
||||||
<Search ref="searchRef" v-model="edit_data" @close="show_search = false"/>
|
<Search ref="searchRef" v-model="edit_data" @close="show_search = false"/>
|
||||||
</Mask>
|
</Mask>
|
||||||
<Mask :width="400" :height="600" :top="100" :is-show="show_cate">
|
<Mask :width="400" :height="600" :is-show="show_cate">
|
||||||
<Cate :type="_type" @close="cateCloseCallBack"/>
|
<Cate :type="_type" @close="cateCloseCallBack"/>
|
||||||
</Mask>
|
</Mask>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<Mask :width="800" :height="600" :is-show="show" :top="100">
|
<Mask :width="800" :height="600" :is-show="show">
|
||||||
<div class="search_content_wrapper">
|
<div class="search_content_wrapper">
|
||||||
<div class="search_wrapper">
|
<div class="search_wrapper">
|
||||||
<span>药品名称:</span>
|
<span>药品名称:</span>
|
||||||
|
|
@ -32,7 +32,7 @@
|
||||||
<el-table-column prop="enddate" label="有效期至" width="180" show-overflow-tooltip/>
|
<el-table-column prop="enddate" label="有效期至" width="180" show-overflow-tooltip/>
|
||||||
</el-table>
|
</el-table>
|
||||||
<div class="page_btn_list">
|
<div class="page_btn_list">
|
||||||
<el-pagination background layout="prev, pager, next" :page-count="search_result.total_page"
|
<el-pagination background layout="prev, pager, next" :page-count="search_result.totalPage"
|
||||||
v-model:current-page="current_page" @current-change="change_page"/>
|
v-model:current-page="current_page" @current-change="change_page"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -60,9 +60,9 @@ const show = ref(false);
|
||||||
const emit = defineEmits(["confirm"])
|
const emit = defineEmits(["confirm"])
|
||||||
|
|
||||||
let search_result = ref({
|
let search_result = ref({
|
||||||
total_page: 0,
|
totalPage: 0,
|
||||||
list: [],
|
list: [],
|
||||||
page: 1,
|
pageNum: 1,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -96,9 +96,9 @@ function init_search_data() {
|
||||||
current_search_data = null;
|
current_search_data = null;
|
||||||
// proos.changeData(null)
|
// proos.changeData(null)
|
||||||
search_result.value = {
|
search_result.value = {
|
||||||
total_page: 0,
|
totalPage: 0,
|
||||||
list: [],
|
list: [],
|
||||||
page: 1,
|
pageNum: 1,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -154,9 +154,9 @@ let search_social = () => {
|
||||||
|
|
||||||
}
|
}
|
||||||
search_result.value = {
|
search_result.value = {
|
||||||
total_page: res.total_page,
|
totalPage: res.total_page,
|
||||||
list: list,
|
list: list,
|
||||||
page: 1,
|
pageNum: 1,
|
||||||
}
|
}
|
||||||
}).catch(()=>{
|
}).catch(()=>{
|
||||||
isloading.value=false;
|
isloading.value=false;
|
||||||
|
|
|
||||||
|
|
@ -150,7 +150,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Mask :is-show="is_add" :top="100">
|
<Mask :is-show="is_add">
|
||||||
<Edit ref="editRef" @close="is_add = false;"/>
|
<Edit ref="editRef" @close="is_add = false;"/>
|
||||||
</Mask>
|
</Mask>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -187,7 +187,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Mask :is-show="is_add" :top="100">
|
<Mask :is-show="is_add" >
|
||||||
<Edit ref="editRef" @close="is_add = false;"/>
|
<Edit ref="editRef" @close="is_add = false;"/>
|
||||||
</Mask>
|
</Mask>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<el-form :model="formDate" label-width="auto" ref="formRef">
|
<el-form :model="formDate" label-width="auto" ref="formRef">
|
||||||
<el-form-item label="主诉">
|
<el-form-item label="主诉">
|
||||||
<PopoverInput v-model="formDate.mainAppeal" :list="tempList"/>
|
<PopoverInput v-model="formDate.mainAppeal" :list="mainAppealList"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="诊断">
|
<el-form-item label="诊断">
|
||||||
<DiagnosisSearchInput
|
<DiagnosisSearchInput
|
||||||
|
|
@ -26,31 +26,31 @@
|
||||||
</DiagnosisSearchInput>
|
</DiagnosisSearchInput>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="现病史">
|
<el-form-item label="现病史">
|
||||||
<PopoverInput v-model="formDate.nowMedicalHistory" :list="tempList"/>
|
<PopoverInput v-model="formDate.nowMedicalHistory" :list="nowMedicalHistoryList"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="既往史">
|
<el-form-item label="既往史">
|
||||||
<PopoverInput v-model="formDate.beforeMedicalHistory" :list="tempList"/>
|
<PopoverInput v-model="formDate.beforeMedicalHistory" :list="beforeMedicalHistoryList"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="过敏史">
|
<el-form-item label="过敏史">
|
||||||
<PopoverInput v-model="formDate.allergyHistory" :list="tempList"/>
|
<PopoverInput v-model="formDate.allergyHistory" :list="allergyHistoryList"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="体格检查">
|
<el-form-item label="体格检查">
|
||||||
<PopoverInput v-model="formDate.exam" :list="tempList"/>
|
<PhysiqueExamInuput v-model="formDate.exam" :list="physiqueExamList"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="望闻问切" v-if="modelType==1">
|
<el-form-item label="望闻问切" v-if="modelType==1">
|
||||||
<PopoverInput v-model="formDate.chinaAdjunctCheck" :list="tempList"/>
|
<PopoverInput v-model="formDate.chinaAdjunctCheck" :list="chinaAdjunctCheckList"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="法制" v-if="modelType==1">
|
<el-form-item label="治法" v-if="modelType==1">
|
||||||
<PopoverInput v-model="formDate.chinaDeal" :list="tempList"/>
|
<el-input v-model="formDate.chinaDeal"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="口腔检查" v-if="modelType==2">
|
<el-form-item label="口腔检查" v-if="modelType==2">
|
||||||
<el-input v-model="formDate.mouthCheck"></el-input>
|
<el-input v-model="formDate.mouthCheck"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="辅助检查" v-if="modelType==2 || modelType ==0">
|
<el-form-item label="辅助检查" v-if="modelType==2 || modelType ==0">
|
||||||
<PopoverInput v-model="formDate.adjunctCheck" :list="tempList"/>
|
<el-input v-model="formDate.adjunctCheck"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="处置" v-if="modelType==0 || modelType ==2">
|
<el-form-item label="处置" v-if="modelType==0 || modelType ==2">
|
||||||
<PopoverInput v-model="formDate.deal" :list="tempList"/>
|
<el-input v-model="formDate.deal"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -59,10 +59,17 @@
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import {ref} from "vue";
|
import {ref} from "vue";
|
||||||
import {tempList} from "@/assets/config/constants.ts";
|
import {
|
||||||
|
mainAppealList,
|
||||||
|
nowMedicalHistoryList,
|
||||||
|
beforeMedicalHistoryList,
|
||||||
|
chinaAdjunctCheckList,
|
||||||
|
allergyHistoryList, physiqueExamList
|
||||||
|
} from "@/assets/config/constants.ts";
|
||||||
import Panel from "@/components/common/Panel.vue";
|
import Panel from "@/components/common/Panel.vue";
|
||||||
import PopoverInput from "@/components/PopoverInput.vue";
|
import PopoverInput from "@/components/PopoverInput.vue";
|
||||||
import DiagnosisSearchInput from "@/components/outpatient/DiagnosisSearchInput.vue";
|
import DiagnosisSearchInput from "@/components/outpatient/DiagnosisSearchInput.vue";
|
||||||
|
import PhysiqueExamInuput from "@/components/outpatient/PhysiqueExamInuput.vue";
|
||||||
|
|
||||||
const formDate = defineModel<any>();
|
const formDate = defineModel<any>();
|
||||||
const modelType = ref(0)
|
const modelType = ref(0)
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
</span>
|
</span>
|
||||||
<span class="price">¥{{item.selectedPrice || '0' }}元</span>
|
<span class="price">¥{{item.selectedPrice || '0' }}元</span>
|
||||||
<span class="delete">
|
<span class="delete">
|
||||||
<el-button type="text" @click="deleteItem(item.id)">
|
<el-button @click="deleteItem(item.id)">
|
||||||
<el-icon><CircleClose/></el-icon>
|
<el-icon><CircleClose/></el-icon>
|
||||||
</el-button>
|
</el-button>
|
||||||
</span>
|
</span>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,96 @@
|
||||||
|
<template>
|
||||||
|
<el-popover placement="bottom-start" trigger="click" :width="props.width">
|
||||||
|
<template #reference>
|
||||||
|
<el-input v-model="input" :style="{'width': props.width+'px'}" clearable></el-input>
|
||||||
|
</template>
|
||||||
|
<el-tabs v-model="tabName" class="demo-tabs">
|
||||||
|
<el-tab-pane v-for="item in props.list" :label="item.name" :name="item.name">
|
||||||
|
<div class="list">
|
||||||
|
<div class="code-item">
|
||||||
|
<div class="code-item-name" v-for="subItem in item.array" @click="inputStr(item,subItem)">
|
||||||
|
{{subItem}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="suffix">
|
||||||
|
{{item.suffix}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
|
</el-popover>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
<script setup lang="ts">
|
||||||
|
import {onMounted, ref} from "vue";
|
||||||
|
|
||||||
|
const input = defineModel<string | null>();
|
||||||
|
|
||||||
|
interface listItem {
|
||||||
|
prefix?:string;
|
||||||
|
name: string;
|
||||||
|
array: Array<string>;
|
||||||
|
suffix?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
list: {
|
||||||
|
type: Array<listItem>,
|
||||||
|
default: []
|
||||||
|
},
|
||||||
|
width: {
|
||||||
|
type: Number,
|
||||||
|
default: 1000
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
const inputStr = (item:listItem,str: string) => {
|
||||||
|
let strList = input.value ? input.value.split(",") : [];
|
||||||
|
let prefix = item.prefix ? item.prefix : '';
|
||||||
|
let suffix = item.suffix ? item.suffix : '';
|
||||||
|
strList.push(prefix+str+suffix);
|
||||||
|
input.value = strList.join(",");
|
||||||
|
}
|
||||||
|
const tabName = ref()
|
||||||
|
onMounted(()=>{
|
||||||
|
tabName.value = props.list[0].name
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.list{
|
||||||
|
display: flex;
|
||||||
|
.code-item {
|
||||||
|
width: 50%;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
padding: 5px 0;
|
||||||
|
border-bottom: 1px solid #fffeee;
|
||||||
|
|
||||||
|
.code-item-name {
|
||||||
|
float: left;
|
||||||
|
font-size: 16px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 5px;
|
||||||
|
text-align: center;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
&:after{
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.suffix{
|
||||||
|
width: 50%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
line-height: 45px;
|
||||||
|
font-size: 45px;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
<span class="code">{{ item.itemSocialCode }}</span>
|
<span class="code">{{ item.itemSocialCode }}</span>
|
||||||
<span class="price">¥{{ item.unitPrice }}元</span>
|
<span class="price">¥{{ item.unitPrice }}元</span>
|
||||||
<span class="delete">
|
<span class="delete">
|
||||||
<el-button type="text" @click="deleteItem(item.id)">
|
<el-button @click="deleteItem(item.id)">
|
||||||
<el-icon><CircleClose/></el-icon>
|
<el-icon><CircleClose/></el-icon>
|
||||||
</el-button>
|
</el-button>
|
||||||
</span>
|
</span>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<Mask :top="50" :height="600" :width="700" :is-show="show">
|
<Mask :height="600" :width="700" :is-show="show">
|
||||||
<CloseBtn @click="show = false"></CloseBtn>
|
<CloseBtn @click="show = false"></CloseBtn>
|
||||||
<el-card>
|
<el-card>
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<Mask :top="50" :height="600" :width="900" :is-show="show">
|
<Mask :height="600" :width="900" :is-show="show">
|
||||||
<CloseBtn @click="show = false"></CloseBtn>
|
<CloseBtn @click="show = false"></CloseBtn>
|
||||||
<el-card>
|
<el-card>
|
||||||
<template #header>
|
<template #header>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<Mask :top="50" :height="650" :width="900" :is-show="show">
|
<Mask :height="650" :width="900" :is-show="show">
|
||||||
<CloseBtn @click="show = false"></CloseBtn>
|
<CloseBtn @click="show = false"></CloseBtn>
|
||||||
<el-card>
|
<el-card>
|
||||||
<template #header>
|
<template #header>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<Mask :is-show="show" :width=800 :height="800" :top="100">
|
<Mask :is-show="show" :width=800 :height="800" >
|
||||||
<div class="container-wrapper">
|
<div class="container-wrapper">
|
||||||
<CloseBtn @click="close"></CloseBtn>
|
<CloseBtn @click="close"></CloseBtn>
|
||||||
<el-table :data="tableData" style="width: 100%" class="list" highlight-current-row @current-change="handleCurrentChange">
|
<el-table :data="tableData" style="width: 100%" class="list" highlight-current-row @current-change="handleCurrentChange">
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
|
|
||||||
<Mask :width="400" :height="400" :top="100" :is-show="show">
|
<Mask :width="400" :height="400" :is-show="show">
|
||||||
<CloseBtn @click="show = false"></CloseBtn>
|
<CloseBtn @click="show = false"></CloseBtn>
|
||||||
<el-card style="width: 360px;height: 360px">
|
<el-card style="width: 360px;height: 360px">
|
||||||
<template #header>
|
<template #header>
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input v-model="form.purchaseUnitPrice">
|
<el-input v-model="form.purchaseUnitPrice">
|
||||||
<template #append>
|
<template #append>
|
||||||
<el-button type="text" @click="imageURL">¥</el-button>
|
<el-button @click="imageURL">¥</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input v-model="form.unitPrice">
|
<el-input v-model="form.unitPrice">
|
||||||
<template #append>
|
<template #append>
|
||||||
<el-button type="text" @click="imageURL">¥</el-button>
|
<el-button @click="imageURL">¥</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -56,12 +56,12 @@
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<Search ref="createSearchRef" @confirm="createConfirm"/>
|
<ItemSearch ref="createSearchRef" @confirm="selectedCallBack"/>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import {defineProps, defineEmits, ref, nextTick, onMounted} from 'vue'
|
import {defineProps, defineEmits, ref, nextTick, onMounted} from 'vue'
|
||||||
import {post} from "@/utils/request.ts";
|
import {post} from "@/utils/request.ts";
|
||||||
import Search from "./Search.vue";
|
import ItemSearch from "./ItemSearch.vue";
|
||||||
import {ElMessage} from "element-plus";
|
import {ElMessage} from "element-plus";
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
|
@ -130,11 +130,11 @@ const openCreateSearch = () => {
|
||||||
createSearchRef.value?.init(form.value.itemName);
|
createSearchRef.value?.init(form.value.itemName);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
const createConfirm = (data: any) => {
|
const selectedCallBack = (searchResult: any) => {
|
||||||
console.log(data, 'data')
|
console.log(searchResult, 'data')
|
||||||
form.value = data
|
form.value.itemName = searchResult.name;
|
||||||
form.value.itemName = data.name
|
form.value.itemSocialCode = searchResult.code;
|
||||||
form.value.itemSocialCode = data.hilistCode
|
form.value.unit = searchResult.unit;
|
||||||
}
|
}
|
||||||
const deleteDetail = () => {
|
const deleteDetail = () => {
|
||||||
post("item/delete", {id: props.id}).then((res: any) => {
|
post("item/delete", {id: props.id}).then((res: any) => {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,169 @@
|
||||||
|
<template>
|
||||||
|
<Mask :width="800" :height="600" :is-show="show" >
|
||||||
|
<div class="search_content_wrapper">
|
||||||
|
<div class="search_wrapper">
|
||||||
|
<span>项目名称:</span>
|
||||||
|
<el-input
|
||||||
|
class="input"
|
||||||
|
v-model="keyword"
|
||||||
|
placeholder="请输入药品名称或者编号"
|
||||||
|
@keydown.enter="searchSocialItem"
|
||||||
|
clearable/>
|
||||||
|
<button @click="searchSocialItem">搜索</button>
|
||||||
|
</div>
|
||||||
|
<div class="search_result">
|
||||||
|
|
||||||
|
<div class="result_table" style="width: 100%; height: 100%;overflow: hidden">
|
||||||
|
<el-table v-loading="isloading" :data="searchResult.list" style="width: 100%;height: 350px"
|
||||||
|
highlight-current-row
|
||||||
|
@row-click = "changeCurRow"
|
||||||
|
:row-class-name="tableRowClassName">
|
||||||
|
<el-table-column prop="name" label="名称" fixed width="180" show-overflow-tooltip/>
|
||||||
|
<el-table-column prop="code" fixed label="医疗目录编码" width="180" show-overflow-tooltip/>
|
||||||
|
<el-table-column prop="unit" label="计价单位" width="180" show-overflow-tooltip/>
|
||||||
|
</el-table>
|
||||||
|
<div class="page_btn_list">
|
||||||
|
<el-pagination background layout="prev, pager, next" :page-count="searchResult.totalPage"
|
||||||
|
v-model:current-page="searchResult.pageNum" @current-change="changePage"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="search_bottom">
|
||||||
|
<el-button type="primary" @click="confirm">确认</el-button>
|
||||||
|
<el-button type="primary" @click="close">关闭</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Mask>
|
||||||
|
</template>
|
||||||
|
<script setup lang="ts">
|
||||||
|
import {onMounted, ref, defineProps} from "vue";
|
||||||
|
import {post} from '@/utils/request.ts'
|
||||||
|
import Mask from "@/components/common/Mask.vue";
|
||||||
|
|
||||||
|
let curItem: any = null;
|
||||||
|
let keyword = ref('');
|
||||||
|
const show = ref(false);
|
||||||
|
|
||||||
|
const emit = defineEmits(["confirm"])
|
||||||
|
|
||||||
|
let searchResult = ref({
|
||||||
|
totalPage: 0,
|
||||||
|
list: [],
|
||||||
|
pageNum: 1,
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
let tableRowClassName = (res: any) => {
|
||||||
|
if (curItem != null && curItem.id == res.row.id) {
|
||||||
|
return 'invalid';
|
||||||
|
}
|
||||||
|
return 'valid'
|
||||||
|
}
|
||||||
|
|
||||||
|
let changePage = (page: number) => {
|
||||||
|
searchSocialItem()
|
||||||
|
}
|
||||||
|
const changeCurRow = (row: any) => {
|
||||||
|
curItem = row;
|
||||||
|
}
|
||||||
|
|
||||||
|
const init = (_name: string) => {
|
||||||
|
keyword.value = _name;
|
||||||
|
show.value = true;
|
||||||
|
initSearchData()
|
||||||
|
if (keyword.value&&keyword.value!=""){
|
||||||
|
searchSocialItem()
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
defineExpose({init});
|
||||||
|
|
||||||
|
function initSearchData() {
|
||||||
|
isloading.value = false;
|
||||||
|
curItem = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
let confirm = () => {
|
||||||
|
emit('confirm', curItem)
|
||||||
|
close()
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
let isloading = ref(false);
|
||||||
|
let searchSocialItem = () => {
|
||||||
|
isloading.value = true;
|
||||||
|
post("social/directory/itemSearch", {
|
||||||
|
keyword: keyword.value,pageSize:20,pageNum:searchResult.value.pageNum
|
||||||
|
}, {catch_error: true}).then((res: any) => {
|
||||||
|
searchResult.value.totalPage = res.total_page;
|
||||||
|
searchResult.value.list = res.list;
|
||||||
|
initSearchData()
|
||||||
|
}).catch(() => {
|
||||||
|
isloading.value = false;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const close = () => {
|
||||||
|
show.value = false;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.search_bottom {
|
||||||
|
display: block;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search_content_wrapper {
|
||||||
|
background-color: #FFF;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
margin: auto;
|
||||||
|
margin-top: 20px;
|
||||||
|
border-radius: 10px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search_wrapper {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
margin: 0 auto;
|
||||||
|
height: 60px;
|
||||||
|
|
||||||
|
span {
|
||||||
|
position: relative;
|
||||||
|
display: block;
|
||||||
|
width: 100px;
|
||||||
|
text-align: right;
|
||||||
|
line-height: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input {
|
||||||
|
display: block;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
button {
|
||||||
|
width: 80px;
|
||||||
|
line-height: 40px;
|
||||||
|
color: #FFF;
|
||||||
|
margin-left: 10px;
|
||||||
|
height: 40px;
|
||||||
|
background-color: #409EFF;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.invalid) {
|
||||||
|
color: #409EFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search_result {
|
||||||
|
width: 100%;
|
||||||
|
height: 400px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -1,230 +0,0 @@
|
||||||
<template>
|
|
||||||
<Mask :width="800" :height="600" :is-show="show" :top="100">
|
|
||||||
<div class="search_content_wrapper">
|
|
||||||
<div class="search_wrapper">
|
|
||||||
<span>项目名称:</span>
|
|
||||||
<el-input
|
|
||||||
class="input"
|
|
||||||
v-model="keyword"
|
|
||||||
placeholder="请输入药品名称或者编号"
|
|
||||||
@keydown.enter="search_social"
|
|
||||||
clearable/>
|
|
||||||
<button @click="search_social">搜索</button>
|
|
||||||
</div>
|
|
||||||
<div class="search_result">
|
|
||||||
|
|
||||||
<div class="result_table" style="width: 100%; height: 100%;overflow: hidden">
|
|
||||||
<el-table v-loading="isloading" :data="search_result.list" style="width: 100%;height: 350px"
|
|
||||||
highlight-current-row @current-change="change_current_search_data_index"
|
|
||||||
:row-class-name="tableRowClassName">
|
|
||||||
<el-table-column prop="name" label="名称" fixed width="180" show-overflow-tooltip/>
|
|
||||||
<el-table-column prop="json.approval_number" fixed label="国药准字" width="180" show-overflow-tooltip/>
|
|
||||||
<el-table-column prop="producer" label="生产企业" width="180" show-overflow-tooltip/>
|
|
||||||
<el-table-column v-if="type==1301" prop="json.reg_specifications" label="注册规格" width="80"
|
|
||||||
show-overflow-tooltip/>
|
|
||||||
<el-table-column v-if="type==1301" prop="json.min_packaging_unit" label="包装单位" width="80"
|
|
||||||
show-overflow-tooltip/>
|
|
||||||
<el-table-column v-if="type==1301" prop="json.min_packaging_number" label="包装数量" width="80"
|
|
||||||
show-overflow-tooltip/>
|
|
||||||
<el-table-column v-if="type==1301" prop="json.min_preparation_unit" label="制剂单位" width="80"
|
|
||||||
show-overflow-tooltip/>
|
|
||||||
<el-table-column prop="code" label="医保编码" width="180" show-overflow-tooltip/>
|
|
||||||
<el-table-column prop="enddate" label="有效期至" width="180" show-overflow-tooltip/>
|
|
||||||
</el-table>
|
|
||||||
<div class="page_btn_list">
|
|
||||||
<el-pagination background layout="prev, pager, next" :page-count="search_result.total_page"
|
|
||||||
v-model:current-page="current_page" @current-change="change_page"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="search_bottom">
|
|
||||||
<el-button type="primary" @click="confirm">确认</el-button>
|
|
||||||
<el-button type="primary" @click="close">关闭</el-button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</Mask>
|
|
||||||
</template>
|
|
||||||
<script setup lang="ts">
|
|
||||||
import {onMounted, ref, defineProps} from "vue";
|
|
||||||
import {post} from '@/utils/request.ts'
|
|
||||||
import Mask from "@/components/common/Mask.vue";
|
|
||||||
|
|
||||||
let current_search_data: any = null;
|
|
||||||
let keyword = ref('');
|
|
||||||
let produce = ref("");
|
|
||||||
let type = ref(0);
|
|
||||||
let current_page = ref(1)
|
|
||||||
const show = ref(false);
|
|
||||||
|
|
||||||
const emit = defineEmits(["confirm"])
|
|
||||||
|
|
||||||
let search_result = ref({
|
|
||||||
total_page: 0,
|
|
||||||
list: [],
|
|
||||||
page: 1,
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
let tableRowClassName = (res: any) => {
|
|
||||||
if (current_search_data != null && current_search_data.id == res.row.id) {
|
|
||||||
return 'invalid';
|
|
||||||
}
|
|
||||||
return 'valid'
|
|
||||||
}
|
|
||||||
|
|
||||||
let change_page = (page: number) => {
|
|
||||||
search_social()
|
|
||||||
}
|
|
||||||
// onMounted(() => {
|
|
||||||
// search_social()
|
|
||||||
// })
|
|
||||||
const change_current_search_data_index = (val: any) => {
|
|
||||||
current_search_data = JSON.parse(JSON.stringify(val));
|
|
||||||
console.log(current_search_data.id)
|
|
||||||
// proos.changeData(current_search_data)
|
|
||||||
}
|
|
||||||
const init = (_name: string) => {
|
|
||||||
keyword.value = _name;
|
|
||||||
show.value = true;
|
|
||||||
init_search_data()
|
|
||||||
search_social()
|
|
||||||
};
|
|
||||||
defineExpose({init});
|
|
||||||
|
|
||||||
function init_search_data() {
|
|
||||||
isloading.value = false;
|
|
||||||
current_search_data = null;
|
|
||||||
search_result.value = {
|
|
||||||
total_page: 0,
|
|
||||||
list: [],
|
|
||||||
page: 1,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let confirm = () => {
|
|
||||||
let jsondata = current_search_data.json;
|
|
||||||
let data = {
|
|
||||||
id: null,
|
|
||||||
type: null,
|
|
||||||
name: jsondata.name,
|
|
||||||
commonName: jsondata.common_name,
|
|
||||||
hilistCode: jsondata.code,
|
|
||||||
unitPrice: null,
|
|
||||||
purchaseUnitPrice: null,
|
|
||||||
producer: jsondata.producer,
|
|
||||||
barcode: null,
|
|
||||||
minPackagingNumber: jsondata.min_packaging_number,
|
|
||||||
packagingUnit: jsondata.min_packaging_unit,
|
|
||||||
minPackagingUnit: jsondata.min_preparation_unit,
|
|
||||||
expiryTime: 10,
|
|
||||||
approvalCode: jsondata.approval_number || jsondata.reg_number || '',
|
|
||||||
medicineDosageUnit: jsondata.min_measure_unit,
|
|
||||||
medicineDosageNum: jsondata.specification,
|
|
||||||
extra: {
|
|
||||||
regType: jsondata.reg_type,
|
|
||||||
approvalNumber: jsondata.approval_number,
|
|
||||||
category: jsondata.category
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
console.log("data", data)
|
|
||||||
emit('confirm', data)
|
|
||||||
show.value = false;
|
|
||||||
|
|
||||||
}
|
|
||||||
let isloading = ref(false);
|
|
||||||
let search_social = () => {
|
|
||||||
isloading.value = true;
|
|
||||||
post("social/directory/search", {
|
|
||||||
keyword: keyword.value,
|
|
||||||
}, {catch_error: true}).then((res: any) => {
|
|
||||||
init_search_data()
|
|
||||||
let list = res.list;
|
|
||||||
for (let i = 0; i < list.length; i++) {
|
|
||||||
let end_datetime = list[i].enddate;
|
|
||||||
//和当前时间比较
|
|
||||||
if (new Date().getTime() < new Date(end_datetime).getTime() || end_datetime == "" || end_datetime == null) {
|
|
||||||
let time_diff = new Date(end_datetime).getTime() - new Date().getTime();
|
|
||||||
// list[i].data.is_valid = true
|
|
||||||
} else {
|
|
||||||
// list[i].data.is_valid = false
|
|
||||||
}
|
|
||||||
if (end_datetime == "" || end_datetime == null) {
|
|
||||||
list[i].enddate = "长期有效";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
search_result.value = {
|
|
||||||
total_page: res.total_page,
|
|
||||||
list: list,
|
|
||||||
page: 1,
|
|
||||||
}
|
|
||||||
}).catch(() => {
|
|
||||||
isloading.value = false;
|
|
||||||
})
|
|
||||||
}
|
|
||||||
const close = () => {
|
|
||||||
show.value = false;
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<style scoped lang="scss">
|
|
||||||
.search_bottom {
|
|
||||||
display: block;
|
|
||||||
margin-top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search_content_wrapper {
|
|
||||||
background-color: #FFF;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
overflow: hidden;
|
|
||||||
margin: auto;
|
|
||||||
margin-top: 20px;
|
|
||||||
border-radius: 10px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search_wrapper {
|
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
display: flex;
|
|
||||||
margin: 0 auto;
|
|
||||||
height: 60px;
|
|
||||||
|
|
||||||
span {
|
|
||||||
position: relative;
|
|
||||||
display: block;
|
|
||||||
width: 100px;
|
|
||||||
text-align: right;
|
|
||||||
line-height: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.input {
|
|
||||||
display: block;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
button {
|
|
||||||
width: 80px;
|
|
||||||
line-height: 40px;
|
|
||||||
color: #FFF;
|
|
||||||
margin-left: 10px;
|
|
||||||
height: 40px;
|
|
||||||
background-color: #409EFF;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
:deep(.invalid) {
|
|
||||||
color: #409EFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search_result {
|
|
||||||
width: 100%;
|
|
||||||
height: 400px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
@ -51,7 +51,7 @@
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="简介">
|
<el-descriptions-item label="简介">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input v-model="form.info" type="text" :show-word-limit="true" :clearable="true" :size="'large'"/>
|
<el-input v-model="form.info" :show-word-limit="true" :clearable="true" :size="'large'"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="负责人姓名">
|
<el-descriptions-item label="负责人姓名">
|
||||||
|
|
@ -101,7 +101,7 @@
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="备注">
|
<el-descriptions-item label="备注">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input v-model="form.memo" type="text" :show-word-limit="true" :clearable="true" />
|
<el-input v-model="form.memo" :show-word-limit="true" :clearable="true" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<Mask :width="800" :height="600" :is-show="show" :top="100" @close="show=false" title="项目列表">
|
<Mask :width="800" :height="600" :is-show="show" @close="show=false" title="项目列表">
|
||||||
<div class="search_content_wrapper">
|
<div class="search_content_wrapper">
|
||||||
<div class="search_wrapper">
|
<div class="search_wrapper">
|
||||||
<span>药品名称:</span>
|
<span>药品名称:</span>
|
||||||
|
|
@ -55,9 +55,9 @@ const show = ref(false);
|
||||||
const emit = defineEmits(["confirm"])
|
const emit = defineEmits(["confirm"])
|
||||||
|
|
||||||
let search_result = ref({
|
let search_result = ref({
|
||||||
total_page: 0,
|
totalPage: 0,
|
||||||
list: [],
|
list: [],
|
||||||
page: 1,
|
pageNum: 1,
|
||||||
});
|
});
|
||||||
|
|
||||||
const init = () => {
|
const init = () => {
|
||||||
|
|
@ -79,9 +79,9 @@ function init_search_data() {
|
||||||
isloading.value = false;
|
isloading.value = false;
|
||||||
current_search_data = null;
|
current_search_data = null;
|
||||||
search_result.value = {
|
search_result.value = {
|
||||||
total_page: 0,
|
totalPage: 0,
|
||||||
list: [],
|
list: [],
|
||||||
page: 1,
|
pageNum: 1,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<Mask :is-show="show" :top="100" :height="600" :width="1200">
|
<Mask :is-show="show" :height="600" :width="1200">
|
||||||
<CloseBtn @click="close"></CloseBtn>
|
<CloseBtn @click="close"></CloseBtn>
|
||||||
<div class="container-wrapper">
|
<div class="container-wrapper">
|
||||||
<div class="table">
|
<div class="table">
|
||||||
|
|
|
||||||
|
|
@ -28,10 +28,10 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<Mask :width="1200" :height="600" :top="100" :is-show="is_add" @close="is_add=false" title="新增领用">
|
<Mask :width="1200" :height="600" :is-show="is_add" @close="is_add=false" title="新增领用">
|
||||||
<AddApply @close="closeAddApply"/>
|
<AddApply @close="closeAddApply"/>
|
||||||
</Mask>
|
</Mask>
|
||||||
<Mask :width="1200" :height="600" :top="100" :is-show="is_detail" @close="is_detail=false" title="查看领用">
|
<Mask :width="1200" :height="600" :is-show="is_detail" @close="is_detail=false" title="查看领用">
|
||||||
<DetailApply :id="id" @close="closeDetailApply"/>
|
<DetailApply :id="id" @close="closeDetailApply"/>
|
||||||
</Mask>
|
</Mask>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -31,10 +31,10 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<Mask :width="1200" :height="540" :is-show="showAdd" :top="100" @close="showAdd = false" title="新增盘点">
|
<Mask :width="1200" :height="540" :is-show="showAdd" @close="showAdd = false" title="新增盘点">
|
||||||
<Add @close="showAdd = false;getCheck()"/>
|
<Add @close="showAdd = false;getCheck()"/>
|
||||||
</Mask>
|
</Mask>
|
||||||
<Mask :width="1200" :height="540" :is-show="showDetail" :top="100" @close="showDetail = false" title="查看盘点">
|
<Mask :width="1200" :height="540" :is-show="showDetail" @close="showDetail = false" title="查看盘点">
|
||||||
<Detail :id="id" @close="showDetail = false;getCheck()"/>
|
<Detail :id="id" @close="showDetail = false;getCheck()"/>
|
||||||
</Mask>
|
</Mask>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -164,7 +164,7 @@
|
||||||
<Mask :is-show="is_add" :height="900" @close="is_add = false" title="新增">
|
<Mask :is-show="is_add" :height="900" @close="is_add = false" title="新增">
|
||||||
<Edit ref="editRef" @close="is_add = false;init()"/>
|
<Edit ref="editRef" @close="is_add = false;init()"/>
|
||||||
</Mask>
|
</Mask>
|
||||||
<Mask :is-show="open" :top="50" :height="600" @close="open = false" title="编辑">
|
<Mask :is-show="open" :height="600" @close="open = false" title="编辑">
|
||||||
<el-tabs v-model="activeName" @tab-change="changeTab">
|
<el-tabs v-model="activeName" @tab-change="changeTab">
|
||||||
<el-tab-pane label="商品信息" name="first">
|
<el-tab-pane label="商品信息" name="first">
|
||||||
<Edit ref="editRef" @close="open = false;init()"/>
|
<Edit ref="editRef" @close="open = false;init()"/>
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<Mask :width="540" :height="603" :is-show="showAdd" :top="100" @close="showAdd = false" :title="id?'编辑':'添加供应商'">
|
<Mask :width="540" :height="603" :is-show="showAdd" @close="showAdd = false" :title="id?'编辑':'添加供应商'">
|
||||||
<AddSupplier @close="showAdd = false" @saveSuccess="getSupplier()" ref="addSupplierRef"></AddSupplier>
|
<AddSupplier @close="showAdd = false" @saveSuccess="getSupplier()" ref="addSupplierRef"></AddSupplier>
|
||||||
</Mask>
|
</Mask>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue