Merge branch 'main' of ssh://git.jizhiweb.cn:2222/clinic-v2/web
This commit is contained in:
commit
5ccb88f4fc
13
index.html
13
index.html
|
|
@ -1,13 +1,14 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="">
|
<html lang="">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<link rel="icon" href="/favicon.ico">
|
<link rel="icon" href="/favicon.ico">
|
||||||
|
<link rel="stylesheet" href="@/assets/iconfont/iconfont.css">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>药慧精灵智慧诊所</title>
|
<title>药慧精灵智慧诊所</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
<script type="module" src="/src/main.ts"></script>
|
<script type="module" src="/src/main.ts"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
@font-face {
|
||||||
|
font-family: "iconfont"; /* Project id 4921806 */
|
||||||
|
src: url('iconfont.woff?t=1747274949107') format('woff'),
|
||||||
|
url('iconfont.ttf?t=1747274949107') format('truetype');
|
||||||
|
}
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
font-family: "iconfont", serif !important;
|
||||||
|
font-size: 16px;
|
||||||
|
font-style: normal;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-RectangleCopy:before {
|
||||||
|
content: "\e6a2";
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-RectangleCopy1:before {
|
||||||
|
content: "\e6a4";
|
||||||
|
}
|
||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -17,7 +17,7 @@ $border-color-lighter: #EBEEF5;
|
||||||
$border-color-extra-light: #F2F6FC;
|
$border-color-extra-light: #F2F6FC;
|
||||||
|
|
||||||
// 背景颜色
|
// 背景颜色
|
||||||
$background-color-base: #eee;
|
$background-color-base: #F1F5FB;
|
||||||
$background-color-main: #4D6DE4;
|
$background-color-main: #4D6DE4;
|
||||||
|
|
||||||
// 边框圆角
|
// 边框圆角
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ html {
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background-color: #EEEEEEFF;
|
background-color: base.$background-color-base;
|
||||||
}
|
}
|
||||||
|
|
||||||
.center-wrapper {
|
.center-wrapper {
|
||||||
|
|
@ -96,8 +96,8 @@ body {
|
||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
//border: 1px solid #4D6DE4 !important;
|
//border: 1px solid #4D6DE4 !important;
|
||||||
}
|
}
|
||||||
$btn-color: #4d99e4;
|
$btn-color: #4D6DE4;
|
||||||
$lighter-color: #6eaeed;
|
$lighter-color: #7c91e3;
|
||||||
.default-btn{
|
.default-btn{
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: 120px;
|
width: 120px;
|
||||||
|
|
@ -106,7 +106,7 @@ $lighter-color: #6eaeed;
|
||||||
background: $btn-color;
|
background: $btn-color;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
color: #FFF;
|
color: #FFF;
|
||||||
font-size: 15px;
|
font-size: 16px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
&:hover{
|
&:hover{
|
||||||
background: $lighter-color;
|
background: $lighter-color;
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ import './assets/scss/main.scss'
|
||||||
import {createApp} from 'vue'
|
import {createApp} from 'vue'
|
||||||
import ElementPlus from 'element-plus'
|
import ElementPlus from 'element-plus'
|
||||||
import 'element-plus/dist/index.css'
|
import 'element-plus/dist/index.css'
|
||||||
|
import '../src/assets/iconfont/iconfont.css'
|
||||||
import {createPinia} from 'pinia'
|
import {createPinia} from 'pinia'
|
||||||
|
|
||||||
import App from './App.vue'
|
import App from './App.vue'
|
||||||
|
|
|
||||||
|
|
@ -1,56 +1,83 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="layout-container">
|
<div class="layout-container">
|
||||||
<Header class="header"/>
|
<Header class="header"/>
|
||||||
<header>
|
<div class="body">
|
||||||
<div class="center-wrapper">
|
<header style="height: 50px">
|
||||||
<div class="childMenu">
|
<div class="center-wrapper">
|
||||||
<router-link :to="item.path" class="child-item" v-for="(item,index) in childMenuList" :key="index">
|
<div class="childMenu">
|
||||||
{{ item.name }}
|
<router-link :to="item.path" class="child-item" v-for="(item,index) in childMenuList" :key="index">
|
||||||
</router-link>
|
{{ item.name }}
|
||||||
|
</router-link>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</header>
|
||||||
</header>
|
<main class="layout-main" style="margin-top: 24px">
|
||||||
<div class="space"></div>
|
<router-view/>
|
||||||
<main class="layout-main">
|
</main>
|
||||||
<router-view/>
|
</div>
|
||||||
</main>
|
|
||||||
<div class="space"></div>
|
|
||||||
<Footer class="footer"/>
|
<Footer class="footer"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
.body{
|
||||||
|
height: 100%;
|
||||||
|
padding: 24px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
.childMenu {
|
.childMenu {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 60px;
|
height: 50px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
border-radius: 8px;
|
||||||
|
|
||||||
.child-item {
|
.child-item {
|
||||||
|
width: 136px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
color: #151515;
|
color: #151515;
|
||||||
outline: none;
|
outline: none;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
margin-left: 10px;
|
height: 50px;
|
||||||
margin-right: 10px;
|
|
||||||
height: 35px;
|
|
||||||
position: relative;
|
position: relative;
|
||||||
|
line-height: 50px;
|
||||||
|
text-align: center;
|
||||||
|
&::before{
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top:50%;
|
||||||
|
display: block;
|
||||||
|
width: 2px;
|
||||||
|
height: 16px;
|
||||||
|
background: #D8D8D8;
|
||||||
|
border-radius: 1px;
|
||||||
|
transform: translate(0 ,-50%);
|
||||||
|
}
|
||||||
|
&:last-child::before{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.router-link-active:after {
|
.router-link-active:after {
|
||||||
content: '';
|
content: '';
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 80px;
|
||||||
height: 2px;
|
height: 4px;
|
||||||
background-color: #151515; // 下划线颜色
|
background-color: #4D6DE4; // 下划线颜色
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: -5px; // 调整下划线与文字的距离
|
bottom: 0; // 调整下划线与文字的距离
|
||||||
left: 0;
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
border-radius: 2px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
a.router-link-active.router-link-exact-active.child-item{
|
||||||
|
color: #4D6DE4;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,56 +1,84 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="layout-container">
|
<div class="layout-container">
|
||||||
<Header class="header"/>
|
<Header class="header"/>
|
||||||
<header>
|
<div class="body">
|
||||||
<div class="center-wrapper">
|
<header style="height: 50px">
|
||||||
<div class="childMenu">
|
<div class="center-wrapper">
|
||||||
<router-link :to="item.path" class="child-item" v-for="(item,index) in childMenuList" :key="index">
|
<div class="childMenu">
|
||||||
{{ item.name }}
|
<router-link :to="item.path" class="child-item" v-for="(item,index) in childMenuList" :key="index">
|
||||||
</router-link>
|
{{ item.name }}
|
||||||
|
</router-link>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</header>
|
||||||
</header>
|
<main class="layout-main" style="margin-top: 24px">
|
||||||
<div class="space"></div>
|
<router-view/>
|
||||||
<main class="layout-main">
|
</main>
|
||||||
<router-view/>
|
</div>
|
||||||
</main>
|
|
||||||
<div class="space"></div>
|
|
||||||
<Footer class="footer"/>
|
<Footer class="footer"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
.body{
|
||||||
|
height: 100%;
|
||||||
|
padding: 24px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
.childMenu {
|
.childMenu {
|
||||||
height: 60px;
|
width: 100%;
|
||||||
|
height: 50px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
border-radius: 8px;
|
||||||
|
|
||||||
.child-item {
|
.child-item {
|
||||||
|
width: 136px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
color: #151515;
|
color: #151515;
|
||||||
outline: none;
|
outline: none;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
margin-left: 10px;
|
height: 50px;
|
||||||
margin-right: 10px;
|
|
||||||
height: 35px;
|
|
||||||
position: relative;
|
position: relative;
|
||||||
|
line-height: 50px;
|
||||||
|
text-align: center;
|
||||||
|
&::before{
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top:50%;
|
||||||
|
display: block;
|
||||||
|
width: 2px;
|
||||||
|
height: 16px;
|
||||||
|
background: #D8D8D8;
|
||||||
|
border-radius: 1px;
|
||||||
|
transform: translate(0 ,-50%);
|
||||||
|
}
|
||||||
|
&:last-child::before{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.router-link-active:after {
|
.router-link-active:after {
|
||||||
content: '';
|
content: '';
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 80px;
|
||||||
height: 2px;
|
height: 4px;
|
||||||
background-color: #151515; // 下划线颜色
|
background-color: #4D6DE4; // 下划线颜色
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: -5px; // 调整下划线与文字的距离
|
bottom: 0; // 调整下划线与文字的距离
|
||||||
left: 0;
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
border-radius: 2px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
a.router-link-active.router-link-exact-active.child-item{
|
||||||
|
color: #4D6DE4;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,16 +17,12 @@
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<div class="btn" @click="resetSearch">
|
<div class="default-btn" @click="resetSearch">
|
||||||
<el-icon style="margin-right: 10px">
|
<span class="iconfont icon-RectangleCopy1"></span>
|
||||||
<Refresh/>
|
|
||||||
</el-icon>
|
|
||||||
重置
|
重置
|
||||||
</div>
|
</div>
|
||||||
<div class="btn" @click="getList">
|
<div class="default-btn" @click="getList" style="margin-left: 24px">
|
||||||
<el-icon style="margin-right: 10px">
|
<span class="iconfont icon-RectangleCopy"></span>
|
||||||
<Search/>
|
|
||||||
</el-icon>
|
|
||||||
搜索
|
搜索
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -36,7 +32,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<el-table :data="dataList" style="width: 100%" @row-click="rowClick">
|
<el-table :data="dataList" style="width: 100%;height: 100%" @row-click="rowClick">
|
||||||
<el-table-column prop="useCode" label="单号" width="180"></el-table-column>
|
<el-table-column prop="useCode" label="单号" width="180"></el-table-column>
|
||||||
<el-table-column prop="status" label="状态" width="180"></el-table-column>
|
<el-table-column prop="status" label="状态" width="180"></el-table-column>
|
||||||
<el-table-column prop="useUserId" label="领用人" width="180"></el-table-column>
|
<el-table-column prop="useUserId" label="领用人" width="180"></el-table-column>
|
||||||
|
|
|
||||||
|
|
@ -17,16 +17,12 @@
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<div class="btn" @click="resetSearch">
|
<div class="default-btn" @click="resetSearch">
|
||||||
<el-icon style="margin-right: 10px">
|
<span class="iconfont icon-RectangleCopy1"></span>
|
||||||
<Refresh/>
|
|
||||||
</el-icon>
|
|
||||||
重置
|
重置
|
||||||
</div>
|
</div>
|
||||||
<div class="btn" @click="getCheck">
|
<div class="default-btn" @click="getCheck" style="margin-left: 24px">
|
||||||
<el-icon style="margin-right: 10px">
|
<span class="iconfont icon-RectangleCopy"></span>
|
||||||
<Search/>
|
|
||||||
</el-icon>
|
|
||||||
搜索
|
搜索
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -37,7 +33,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="content_list">
|
<div class="content_list">
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<el-table :data="tableData" @cell-click="editCheck">
|
<el-table :data="tableData" @cell-click="editCheck" style="height: 100%">
|
||||||
<el-table-column label="订单号" prop="code" width="250">
|
<el-table-column label="订单号" prop="code" width="250">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="状态" prop="state" width="250"></el-table-column>
|
<el-table-column label="状态" prop="state" width="250"></el-table-column>
|
||||||
|
|
|
||||||
|
|
@ -65,16 +65,12 @@
|
||||||
<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">
|
<div class="default-btn" @click="resetSearch">
|
||||||
<el-icon style="margin-right: 10px">
|
<span class="iconfont icon-RectangleCopy1"></span>
|
||||||
<Refresh/>
|
|
||||||
</el-icon>
|
|
||||||
重置
|
重置
|
||||||
</div>
|
</div>
|
||||||
<div class="btn" @click="searchGoods">
|
<div class="default-btn" @click="searchGoods" style="margin-left: 24px">
|
||||||
<el-icon style="margin-right: 10px">
|
<span class="iconfont icon-RectangleCopy"></span>
|
||||||
<Search/>
|
|
||||||
</el-icon>
|
|
||||||
搜索
|
搜索
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -66,16 +66,12 @@
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<div class="btn" @click="resetSearch">
|
<div class="default-btn" @click="resetSearch">
|
||||||
<el-icon style="margin-right: 10px">
|
<span class="iconfont icon-RectangleCopy1"></span>
|
||||||
<Refresh/>
|
|
||||||
</el-icon>
|
|
||||||
重置
|
重置
|
||||||
</div>
|
</div>
|
||||||
<div class="btn" @click="init">
|
<div class="default-btn" @click="init" style="margin-left: 24px">
|
||||||
<el-icon style="margin-right: 10px">
|
<span class="iconfont icon-RectangleCopy"></span>
|
||||||
<Search/>
|
|
||||||
</el-icon>
|
|
||||||
搜索
|
搜索
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -86,7 +82,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="content_list">
|
<div class="content_list">
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<el-table :data="tableData" style="width: 100%" @row-click="open_edit"
|
<el-table :data="tableData" style="width: 100%;height: 100%" @row-click="open_edit"
|
||||||
:header-cell-style="{ backgroundColor: '#F1F5FB' }">
|
:header-cell-style="{ backgroundColor: '#F1F5FB' }">
|
||||||
<el-table-column fixed label="采购单号" show-overflow-tooltip>
|
<el-table-column fixed label="采购单号" show-overflow-tooltip>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
|
|
|
||||||
|
|
@ -13,16 +13,12 @@
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<div class="btn" @click="resetSearch">
|
<div class="default-btn" @click="resetSearch">
|
||||||
<el-icon style="margin-right: 10px">
|
<span class="iconfont icon-RectangleCopy1"></span>
|
||||||
<Refresh/>
|
|
||||||
</el-icon>
|
|
||||||
重置
|
重置
|
||||||
</div>
|
</div>
|
||||||
<div class="btn" @click="getSupplier">
|
<div class="default-btn" @click="getSupplier" style="margin-left: 24px">
|
||||||
<el-icon style="margin-right: 10px">
|
<span class="iconfont icon-RectangleCopy"></span>
|
||||||
<Search/>
|
|
||||||
</el-icon>
|
|
||||||
搜索
|
搜索
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -73,12 +73,17 @@
|
||||||
formatListTime(listItem.lastVisitTime) || "-"
|
formatListTime(listItem.lastVisitTime) || "-"
|
||||||
}}
|
}}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="证件类型">{{certTypeList.find((item:any)=>item.id==listItem.certType)?.name}}</el-descriptions-item>>
|
<el-descriptions-item label="证件类型">
|
||||||
|
{{ certTypeList.find((item: any) => item.id == listItem.certType)?.name }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
>
|
||||||
<el-descriptions-item label="证件号码">{{ listItem.certNo || "-" }}</el-descriptions-item>
|
<el-descriptions-item label="证件号码">{{ listItem.certNo || "-" }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="积分"><span>{{ listItem.integralBalance }}</span>
|
<el-descriptions-item label="积分"><span>{{ listItem.integralBalance }}</span>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="地址">{{ areaName}}{{areaName?'/'+listItem.address : listItem.address || "-" }}</el-descriptions-item>
|
<el-descriptions-item label="地址">
|
||||||
<el-descriptions-item label="既往史" >{{ listItem.beforeMedicalHistory || "-" }}</el-descriptions-item>
|
{{ areaName }}{{ areaName ? '/' + listItem.address : listItem.address || "-" }}
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="既往史">{{ listItem.beforeMedicalHistory || "-" }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="过敏史">{{ listItem.allergyHistory || "-" }}</el-descriptions-item>
|
<el-descriptions-item label="过敏史">{{ listItem.allergyHistory || "-" }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="备注">{{ listItem.remark || "-" }}</el-descriptions-item>
|
<el-descriptions-item label="备注">{{ listItem.remark || "-" }}</el-descriptions-item>
|
||||||
|
|
||||||
|
|
@ -86,60 +91,63 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Panel>
|
</Panel>
|
||||||
<Panel title="消费记录" class="right-list">
|
<div class="right-list">
|
||||||
<div class="list-content">
|
<Panel title="消费记录">
|
||||||
<div class="list">
|
<div class="panel-content" style="display: flex;flex-direction: column;height: 100%;padding: 0 24px;">
|
||||||
<el-table :data="tableData" :header-cell-style="{ backgroundColor: '#F1F5FB' }" style="width: 100%"
|
<div class="list">
|
||||||
@cell-click="openDetail">
|
<el-table :data="tableData" :header-cell-style="{ backgroundColor: '#F1F5FB' }"
|
||||||
<el-table-column label="单号" prop="code" show-overflow-tooltip>
|
style="width: 100%;height: 100%"
|
||||||
</el-table-column>
|
@cell-click="openDetail">
|
||||||
<el-table-column label="创建时间" prop="createDatetime">
|
<el-table-column label="单号" prop="code" show-overflow-tooltip>
|
||||||
<template #default="scope">
|
</el-table-column>
|
||||||
{{ formatDate(scope.row.createDatetime) }}
|
<el-table-column label="创建时间" prop="createDatetime">
|
||||||
</template>
|
<template #default="scope">
|
||||||
</el-table-column>
|
{{ formatDate(scope.row.createDatetime) }}
|
||||||
<!-- <el-table-column label="应收" prop="preTotalPrice" width="80">-->
|
</template>
|
||||||
<!-- <template #default="scope">-->
|
</el-table-column>
|
||||||
<!-- {{ scope.row.preTotalPrice }}元-->
|
<!-- <el-table-column label="应收" prop="preTotalPrice" width="80">-->
|
||||||
<!-- </template>-->
|
<!-- <template #default="scope">-->
|
||||||
<!-- </el-table-column>-->
|
<!-- {{ scope.row.preTotalPrice }}元-->
|
||||||
<el-table-column label="实收" prop="totalPrice" width="80">
|
<!-- </template>-->
|
||||||
<template #default="scope">
|
<!-- </el-table-column>-->
|
||||||
{{ scope.row.totalPrice }}元
|
<el-table-column label="实收" prop="totalPrice" width="80">
|
||||||
</template>
|
<template #default="scope">
|
||||||
</el-table-column>
|
{{ scope.row.totalPrice }}元
|
||||||
<el-table-column label="支付方式" width="100">
|
</template>
|
||||||
<template #default="scope">
|
</el-table-column>
|
||||||
{{ scope.row.payType ? getPayTypeStr(scope.row.payType) : "" }}
|
<el-table-column label="支付方式" width="100">
|
||||||
</template>
|
<template #default="scope">
|
||||||
</el-table-column>
|
{{ scope.row.payType ? getPayTypeStr(scope.row.payType) : "" }}
|
||||||
<el-table-column label="状态" width="100">
|
</template>
|
||||||
<template #default="scope">
|
</el-table-column>
|
||||||
<el-tag v-if="scope.row.status==0" type="info">{{ getStatusStr(scope.row.status) }}</el-tag>
|
<el-table-column label="状态" width="100">
|
||||||
<el-tag v-if="scope.row.status==1" type="success">{{ getStatusStr(scope.row.status) }}</el-tag>
|
<template #default="scope">
|
||||||
</template>
|
<el-tag v-if="scope.row.status==0" type="info">{{ getStatusStr(scope.row.status) }}</el-tag>
|
||||||
</el-table-column>
|
<el-tag v-if="scope.row.status==1" type="success">{{ getStatusStr(scope.row.status) }}</el-tag>
|
||||||
<el-table-column label="支付时间" prop="payTime">
|
</template>
|
||||||
<template #default="scope">
|
</el-table-column>
|
||||||
{{ formatDate(scope.row.payTime) }}
|
<el-table-column label="支付时间" prop="payTime">
|
||||||
</template>
|
<template #default="scope">
|
||||||
</el-table-column>
|
{{ formatDate(scope.row.payTime) }}
|
||||||
</el-table>
|
</template>
|
||||||
</div>
|
</el-table-column>
|
||||||
<div class="bottom">
|
</el-table>
|
||||||
<div class="page_btn_list">
|
</div>
|
||||||
<el-pagination
|
<div class="bottom">
|
||||||
background
|
<div class="page_btn_list">
|
||||||
layout="prev, pager, next"
|
<el-pagination
|
||||||
:total="total"
|
background
|
||||||
:page-size="pageSize"
|
layout="prev, pager, next"
|
||||||
@current-change="handleCurrentChange"
|
:total="total"
|
||||||
>
|
:page-size="pageSize"
|
||||||
</el-pagination>
|
@current-change="handleCurrentChange"
|
||||||
|
>
|
||||||
|
</el-pagination>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</Panel>
|
||||||
</Panel>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<VipEdit ref="refEdit" @close="init"></VipEdit>
|
<VipEdit ref="refEdit" @close="init"></VipEdit>
|
||||||
|
|
@ -274,7 +282,7 @@ const findAreaName = (code: string | null): string => {
|
||||||
// 如果都没找到,返回原始 code
|
// 如果都没找到,返回原始 code
|
||||||
return code;
|
return code;
|
||||||
};
|
};
|
||||||
const areaName=ref<any>('')
|
const areaName = ref<any>('')
|
||||||
// 点击列表中的某一项
|
// 点击列表中的某一项
|
||||||
const btn = (item: any, i: number) => {
|
const btn = (item: any, i: number) => {
|
||||||
index.value = i
|
index.value = i
|
||||||
|
|
@ -290,8 +298,8 @@ const btn = (item: any, i: number) => {
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
areaData = null; // 或默认值
|
areaData = null; // 或默认值
|
||||||
}
|
}
|
||||||
if (areaData != null){
|
if (areaData != null) {
|
||||||
areaName.value=findAreaName(areaData[areaData?.length-1])
|
areaName.value = findAreaName(areaData[areaData?.length - 1])
|
||||||
}
|
}
|
||||||
|
|
||||||
getChargeList(listItem.value.id)
|
getChargeList(listItem.value.id)
|
||||||
|
|
@ -372,7 +380,7 @@ const handleCurrentChange = (val: number) => {
|
||||||
};
|
};
|
||||||
const levelEditRef = ref();
|
const levelEditRef = ref();
|
||||||
const antysList = ref<any>(Object.entries(antys).map(([id, name]) => ({id, name})))
|
const antysList = ref<any>(Object.entries(antys).map(([id, name]) => ({id, name})))
|
||||||
const certTypeList=ref<any>(Object.entries(psnCertTypes).map(([id,name])=>({id,name})))
|
const certTypeList = ref<any>(Object.entries(psnCertTypes).map(([id, name]) => ({id, name})))
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
@ -596,34 +604,19 @@ const certTypeList=ref<any>(Object.entries(psnCertTypes).map(([id,name])=>({id,n
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
|
.list {
|
||||||
.list-content {
|
flex: 1;
|
||||||
|
min-height: 0;
|
||||||
|
}
|
||||||
|
.bottom {
|
||||||
|
width: 100%;
|
||||||
|
height: 60px;
|
||||||
|
background-color: #FFF;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 10px;
|
||||||
|
border-top: 1px solid #EEE;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
justify-content: flex-end;
|
||||||
padding: 0 24px;
|
|
||||||
height: 100%;
|
|
||||||
|
|
||||||
.list {
|
|
||||||
flex: 1;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bottom {
|
|
||||||
width: 100%;
|
|
||||||
height: 60px;
|
|
||||||
background-color: #FFF;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 10px;
|
|
||||||
position: relative;
|
|
||||||
border-top: 1px solid #EEE;
|
|
||||||
|
|
||||||
.page_btn_list {
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
top: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,12 +13,17 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="tip">
|
<div class="tip">
|
||||||
<div class="search_input">
|
<div class="search_input">
|
||||||
<el-input v-model="search_keyword" placeholder="名称/编号" :suffix-icon="Search" size="large" clearable @change="change_search"/>
|
<el-input v-model="search_keyword" placeholder="名称/编号" :suffix-icon="Search" size="large" clearable
|
||||||
|
@change="change_search"/>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="search_btn"><div class="default-btn" @click="change_search">搜索</div></div>
|
<div class="search_btn">
|
||||||
|
<div class="default-btn" @click="change_search">
|
||||||
|
<span class="iconfont icon-RectangleCopy"></span>
|
||||||
|
搜索
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="middel">
|
<div class="middel">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="op_btn">
|
<div class="op_btn">
|
||||||
<el-dropdown placement="bottom">
|
<el-dropdown placement="bottom">
|
||||||
|
|
@ -55,7 +60,7 @@
|
||||||
</div>
|
</div>
|
||||||
</Mask>
|
</Mask>
|
||||||
|
|
||||||
<Mask :is-show="isUpdate1312" :width="600" :height="300" title="有效期更新" @close="isUpdate1312=false">
|
<Mask :is-show="isUpdate1312" :width="600" :height="300" title="有效期更新" @close="isUpdate1312=false">
|
||||||
<div class="update_box">
|
<div class="update_box">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="updt_time"
|
v-model="updt_time"
|
||||||
|
|
@ -64,7 +69,7 @@
|
||||||
size="default"
|
size="default"
|
||||||
/>
|
/>
|
||||||
<div class="btn" @click="update1312(1)">开始更新</div>
|
<div class="btn" @click="update1312(1)">开始更新</div>
|
||||||
<div class="tip">{{tip}}</div>
|
<div class="tip">{{ tip }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</Mask>
|
</Mask>
|
||||||
|
|
@ -77,9 +82,10 @@ import {ElNotification, type TabsPaneContext} from 'element-plus'
|
||||||
import {post} from '@/utils/request.ts'
|
import {post} from '@/utils/request.ts'
|
||||||
import {Search} from '@element-plus/icons-vue'
|
import {Search} from '@element-plus/icons-vue'
|
||||||
import Mask from "@/components/common/Mask.vue";
|
import Mask from "@/components/common/Mask.vue";
|
||||||
let isUpdate1312=ref(false)
|
|
||||||
let isUpdate1318=ref(false)
|
let isUpdate1312 = ref(false)
|
||||||
let isUpdate1319=ref(false)
|
let isUpdate1318 = ref(false)
|
||||||
|
let isUpdate1319 = ref(false)
|
||||||
let updt_time = ref(new Date())
|
let updt_time = ref(new Date())
|
||||||
let current_page = ref(1);
|
let current_page = ref(1);
|
||||||
let total_page = ref(0)
|
let total_page = ref(0)
|
||||||
|
|
@ -87,7 +93,7 @@ let current_tab = ref(1301);
|
||||||
let column_list = ref([]);
|
let column_list = ref([]);
|
||||||
let search_keyword = ref("");
|
let search_keyword = ref("");
|
||||||
let isDownLoading = ref(false);
|
let isDownLoading = ref(false);
|
||||||
let tip=ref("")
|
let tip = ref("")
|
||||||
const tabs = [
|
const tabs = [
|
||||||
{label: '中西成药', name: 1301},
|
{label: '中西成药', name: 1301},
|
||||||
{label: '中药饮片', name: 1302},
|
{label: '中药饮片', name: 1302},
|
||||||
|
|
@ -103,43 +109,43 @@ const tabs = [
|
||||||
];
|
];
|
||||||
let tableData: any = ref([])
|
let tableData: any = ref([])
|
||||||
let content: any = ref(null);
|
let content: any = ref(null);
|
||||||
let update1312 = (current_page:number) => {
|
let update1312 = (current_page: number) => {
|
||||||
if(current_page==1){
|
if (current_page == 1) {
|
||||||
tip.value="开始更新第1页"
|
tip.value = "开始更新第1页"
|
||||||
}
|
}
|
||||||
post("social/directory_upinfo/get_page", {
|
post("social/directory_upinfo/get_page", {
|
||||||
updt_time: updt_time.value,
|
updt_time: updt_time.value,
|
||||||
page:current_page
|
page: current_page
|
||||||
}, {catch_error: true}).then((res: any) => {
|
}, {catch_error: true}).then((res: any) => {
|
||||||
let pages = res.pages;
|
let pages = res.pages;
|
||||||
let number = res.number;
|
let number = res.number;
|
||||||
if (current_page < pages&&isUpdate1312.value) {
|
if (current_page < pages && isUpdate1312.value) {
|
||||||
current_page++
|
current_page++
|
||||||
let percent = Math.floor((current_page / pages) * 100)
|
let percent = Math.floor((current_page / pages) * 100)
|
||||||
tip.value= "开始更新第:" + current_page + "/" + pages;
|
tip.value = "开始更新第:" + current_page + "/" + pages;
|
||||||
update1312(current_page);
|
update1312(current_page);
|
||||||
} else {
|
} else {
|
||||||
tip.value= "所有更新已完成"
|
tip.value = "所有更新已完成"
|
||||||
isUpdate1312.value = false
|
isUpdate1312.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
}).catch((err: any) => {
|
}).catch((err: any) => {
|
||||||
isUpdate1312.value = false;
|
isUpdate1312.value = false;
|
||||||
current_page=1;
|
current_page = 1;
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const openUpdateBox = (type:number) => {
|
const openUpdateBox = (type: number) => {
|
||||||
//获取30天前时间
|
//获取30天前时间
|
||||||
let start_time = new Date();
|
let start_time = new Date();
|
||||||
start_time.setDate(start_time.getDate() - 30);
|
start_time.setDate(start_time.getDate() - 30);
|
||||||
updt_time.value = start_time;
|
updt_time.value = start_time;
|
||||||
if(type==1312){
|
if (type == 1312) {
|
||||||
isUpdate1312.value = true
|
isUpdate1312.value = true
|
||||||
}
|
}
|
||||||
if(type==1318){
|
if (type == 1318) {
|
||||||
isUpdate1318.value = true
|
isUpdate1318.value = true
|
||||||
}
|
}
|
||||||
if(type==1319){
|
if (type == 1319) {
|
||||||
isUpdate1319.value = true
|
isUpdate1319.value = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -194,7 +200,7 @@ let change_page = (val: number) => {
|
||||||
}
|
}
|
||||||
let change_tab = (tab: TabsPaneContext, event: Event) => {
|
let change_tab = (tab: TabsPaneContext, event: Event) => {
|
||||||
search_keyword.value = "";
|
search_keyword.value = "";
|
||||||
nextTick(()=>{
|
nextTick(() => {
|
||||||
init()
|
init()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
@ -247,12 +253,13 @@ let download = (ver: any, type: any) => {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.update_box{
|
.update_box {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.container-wrapper {
|
.container-wrapper {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
|
|
@ -273,18 +280,22 @@ let download = (ver: any, type: any) => {
|
||||||
|
|
||||||
.tip {
|
.tip {
|
||||||
display: flex;
|
display: flex;
|
||||||
.search_input{
|
|
||||||
|
.search_input {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
.search_btn{
|
|
||||||
|
.search_btn {
|
||||||
width: 140px;
|
width: 140px;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
}
|
}
|
||||||
.middel{
|
|
||||||
|
.middel {
|
||||||
width: 200px;
|
width: 200px;
|
||||||
}
|
}
|
||||||
.op_btn{
|
|
||||||
|
.op_btn {
|
||||||
width: 120px;
|
width: 120px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue