Merge branch 'main' of ssh://git.jizhiweb.cn:2222/clinic-v2/web

This commit is contained in:
LiJianZhao 2025-05-14 15:34:08 +08:00
commit 25089742d5
6 changed files with 117 additions and 45 deletions

View File

@ -30,7 +30,13 @@
style="height: 100%;width: 100%" style="height: 100%;width: 100%"
placeholder="根据姓名搜索" placeholder="根据姓名搜索"
@input="searchInput" @input="searchInput"
/> >
<template #prefix>
<el-icon>
<Search/>
</el-icon>
</template>
</el-input>
</div> </div>
<div class="add" @click="addChargeOrder" @mousemove="selected=true" @mouseleave="selected=false"> <div class="add" @click="addChargeOrder" @mousemove="selected=true" @mouseleave="selected=false">
<el-icon style="margin-right: 7px"> <el-icon style="margin-right: 7px">
@ -356,7 +362,7 @@ const selected= ref(false)
cursor: pointer; cursor: pointer;
} }
:deep(.el-input--prefix) { :deep(.el-date-editor) {
visibility: hidden; visibility: hidden;
width: 0; width: 0;
height: 0; height: 0;

View File

@ -1,5 +1,4 @@
<template> <template>
<div class="layout-container"> <div class="layout-container">
<Header class="header" /> <Header class="header" />
<div class="space"></div> <div class="space"></div>

View File

@ -1,11 +1,15 @@
<template> <template>
<div class="layout-container"> <div class="layout-container">
<Header class="header"/> <Header class="header"/>
<header>
<div class="center-wrapper">
<div class="childMenu"> <div class="childMenu">
<router-link :to="item.path" class="child-item" v-for="(item,index) in childMenuList" :key="index"> <router-link :to="item.path" class="child-item" v-for="(item,index) in childMenuList" :key="index">
{{ item.name }} {{ item.name }}
</router-link> </router-link>
</div> </div>
</div>
</header>
<div class="space"></div> <div class="space"></div>
<main class="layout-main"> <main class="layout-main">
<router-view/> <router-view/>
@ -23,6 +27,7 @@
background: #fff; background: #fff;
display: flex; display: flex;
align-items: center; align-items: center;
.child-item { .child-item {
display: inline-block; display: inline-block;
color: #151515; color: #151515;
@ -54,6 +59,7 @@ import "@/assets/scss/layout.scss"
import Header from "@/components/common/Header.vue"; import Header from "@/components/common/Header.vue";
import Footer from "@/components/common/Footer.vue"; import Footer from "@/components/common/Footer.vue";
import {ref} from "vue"; import {ref} from "vue";
const childMenuList = ref([ const childMenuList = ref([
{ {
name: '商品', name: '商品',

View File

@ -1,11 +1,18 @@
<template> <template>
<div class="layout-container"> <div class="layout-container">
<Header class="header"/> <Header class="header"/>
<header>
<div class="center-wrapper">
<div class="childMenu"> <div class="childMenu">
<router-link :to="item.path" class="child-item" v-for="(item,index) in childMenuList" :key="index"> <router-link :to="item.path" class="child-item" v-for="(item,index) in childMenuList" :key="index">
{{ item.name }} {{ item.name }}
</router-link> </router-link>
</div> </div>
</div>
</header>
<div class="space"></div> <div class="space"></div>
<main class="layout-main"> <main class="layout-main">
<router-view/> <router-view/>
@ -17,12 +24,13 @@
</template> </template>
<style scoped lang="scss"> <style scoped lang="scss">
.childMenu { .childMenu {
width: 100%;
height: 60px; height: 60px;
background: #fff; background: #fff;
display: flex; display: flex;
align-items: center; align-items: center;
.child-item { .child-item {
display: inline-block; display: inline-block;
color: #151515; color: #151515;
@ -54,6 +62,7 @@ import "@/assets/scss/layout.scss"
import Header from "@/components/common/Header.vue"; import Header from "@/components/common/Header.vue";
import Footer from "@/components/common/Footer.vue"; import Footer from "@/components/common/Footer.vue";
import {ref} from "vue"; import {ref} from "vue";
const childMenuList = ref([ const childMenuList = ref([
{ {
name: '基本信息', name: '基本信息',

View File

@ -1,11 +1,15 @@
<template> <template>
<div class="layout-container"> <div class="layout-container">
<Header class="header" /> <Header class="header" />
<header>
<div class="center-wrapper">
<div class="childMenu"> <div class="childMenu">
<router-link :to="item.path" class="child-item" v-for="(item,index) in childMenuList" :key="index"> <router-link :to="item.path" class="child-item" v-for="(item,index) in childMenuList" :key="index">
{{ item.name }} {{ item.name }}
</router-link> </router-link>
</div> </div>
</div>
</header>
<div class="space"></div> <div class="space"></div>
<main class="layout-main"> <main class="layout-main">
<router-view/> <router-view/>

View File

@ -8,23 +8,24 @@
<el-input placeholder="请输入名称" <el-input placeholder="请输入名称"
clearable clearable
v-model="searchModel.keyword" v-model="searchModel.keyword"
style="width: 200px" style="width: 290px;height: 42px"
@input="searchGoods" @input="searchGoods"
> >
<template #prefix> <template #prefix>
<el-icon class="el-input__icon"> <el-icon>
<search/> <Search/>
</el-icon> </el-icon>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-cascader :options="allCateList" :show-all-levels="false" v-model="searchModel.cateId" clearable/> <el-cascader style="width: 180px;height: 42px" :options="allCateList" :show-all-levels="false"
v-model="searchModel.cateId" clearable/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-select <el-select
placeholder="利润分类" placeholder="利润分类"
style="width: 150px" style="width: 180px;"
multiple multiple
collapse-tags collapse-tags
collapse-tags-tooltip collapse-tags-tooltip
@ -39,7 +40,8 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item style="margin-right: 0"> <el-form-item style="margin-right: 0">
<el-input placeholder="最低毛利率" v-model="searchModel.minInterestRate" style="width: 100px"> <el-input placeholder="最低毛利率" v-model="searchModel.minInterestRate"
style="width: 100px;height: 42px">
<template #suffix> <template #suffix>
<el-icon class="el-input__icon">%</el-icon> <el-icon class="el-input__icon">%</el-icon>
</template> </template>
@ -48,24 +50,34 @@
<SemiSelect/> <SemiSelect/>
</el-icon> </el-icon>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-input placeholder="最高毛利率" v-model="searchModel.maxInterestRate" style="width: 100px"> <el-input placeholder="最高毛利率" v-model="searchModel.maxInterestRate"
style="width: 100px;height: 42px">
<template #suffix> <template #suffix>
<el-icon class="el-input__icon">%</el-icon> <el-icon class="el-input__icon">%</el-icon>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="btn">
<el-button type="primary" @click="searchGoods">搜索</el-button>
<el-button type="primary" @click="resetSearch">重置</el-button>
</div> </div>
</div> <div class="btn-group">
<div class="right"> <div class="left">
<el-checkbox v-model="inventoryNumber" label="不看0库存" size="large" @change="searchGoods"/> <el-checkbox v-model="inventoryNumber" label="不看0库存" size="large" @change="searchGoods"/>
<el-checkbox v-model="status" label="不看已停用" size="large" @change="searchGoods"/> <el-checkbox v-model="status" label="不看已停用" size="large" @change="searchGoods"/>
</div> </div>
<div class="btn" @click="resetSearch">
<el-icon style="margin-right: 10px">
<Refresh/>
</el-icon>
重置
</div>
<div class="btn" @click="searchGoods">
<el-icon style="margin-right: 10px">
<Search/>
</el-icon>
搜索
</div>
</div>
</div> </div>
<div class="addBtn"> <div class="addBtn">
<span @click="open_edit(1301,0)">新增中西成药</span> <span @click="open_edit(1301,0)">新增中西成药</span>
@ -75,7 +87,8 @@
</div> </div>
</div> </div>
<div class="content_goods" ref="content"> <div class="content_goods" ref="content">
<el-table :data="tableData" style="width: 100%;height: 100%;padding: 0 24px" @row-click="openMack" :header-cell-style="{ backgroundColor: '#F1F5FB' }"> <el-table :data="tableData" style="width: 100%;height: 100%;padding: 0 24px" @row-click="openMack"
:header-cell-style="{ backgroundColor: '#F1F5FB' }">
<el-table-column fixed prop="name" label="名称" width="200" show-overflow-tooltip> <el-table-column fixed prop="name" label="名称" width="200" show-overflow-tooltip>
<template #default="scope"> <template #default="scope">
{{ scope.row.name }}{{ scope.row.commonName ? "(" + scope.row.commonName + ")" : "" }} {{ scope.row.name }}{{ scope.row.commonName ? "(" + scope.row.commonName + ")" : "" }}
@ -148,7 +161,7 @@
{{ scope.row.costPrice.toFixed(2) }} {{ scope.row.costPrice.toFixed(2) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="医保码" prop="hilistCode" width="240"></el-table-column> <el-table-column label="医保码" prop="hilistCode" width="240" show-overflow-tooltip></el-table-column>
<el-table-column label="标签" prop="producer" width="200"> <el-table-column label="标签" prop="producer" width="200">
<template #default="scope"> <template #default="scope">
<el-tag class="tags" type="success" v-for="item in getTagsArray(scope.row.tags)">{{ item }}</el-tag> <el-tag class="tags" type="success" v-for="item in getTagsArray(scope.row.tags)">{{ item }}</el-tag>
@ -207,7 +220,8 @@ import Edit from "@/components/inventory/goods/Edit.vue";
import InventoryBatchDetail from "@/components/inventory/goods/InventoryBatchDetail.vue"; import InventoryBatchDetail from "@/components/inventory/goods/InventoryBatchDetail.vue";
import InventoryStatistics from "@/components/inventory/goods/InventoryStatistics.vue"; import InventoryStatistics from "@/components/inventory/goods/InventoryStatistics.vue";
import CloseBtn from "@/components/CloseBtn.vue"; import CloseBtn from "@/components/CloseBtn.vue";
import {Plus, SemiSelect} from "@element-plus/icons-vue"; import {Search, SemiSelect, Refresh} from "@element-plus/icons-vue";
const statisticsData = ref<any>({}) const statisticsData = ref<any>({})
const inventoryNumber = ref(false) const inventoryNumber = ref(false)
const status = ref(false) const status = ref(false)
@ -434,7 +448,7 @@ const getStatisticsData = () => {
flex-direction: column; flex-direction: column;
.top { .top {
height: 157px; height: 144px;
padding: 24px 24px 0; padding: 24px 24px 0;
background: #fff; background: #fff;
display: flex; display: flex;
@ -471,6 +485,11 @@ const getStatisticsData = () => {
color: #4D6DE4; color: #4D6DE4;
text-align: center; text-align: center;
line-height: 42px; line-height: 42px;
&:hover {
background: #4D6DE4;
color: #fff;
border: none;
}
} }
} }
} }
@ -503,4 +522,33 @@ const getStatisticsData = () => {
margin-left: 5px; margin-left: 5px;
} }
:deep(.el-cascader .el-input) {
height: 42px;
}
:deep(.el-select__wrapper) {
height: 42px;
}
.btn-group {
display: flex;
.btn {
width: 120px;
height: 42px;
background: #FFFFFF;
border-radius: 6px;
border: 1px solid #979797;
display: flex;
justify-content: center;
align-items: center;
margin-left: 24px;
cursor: pointer;
&:hover {
background: #4D6DE4;
color: #fff;
border: none;
}
}
}
</style> </style>