Commit 05de9009 by wangshuangqing

Merge branch 'feature/智能分组' into develop

# Conflicts:
#	package-lock.json
parents f8967fc9 c57cd76e
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"name": "suvalue-cli",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "vue-cli-service serve --open ",
"build": "vue-cli-service build ",
"lint": "vue-cli-service lint"
},
"dependencies": {
"@vue/composition-api": "^1.6.2",
"core-js": "^3.6.5",
"element-ui": "^2.15.6",
"jquery": "^3.6.0",
"js-cookie": "^3.0.1",
"vue": "^2.6.11"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.4.0",
"@vue/cli-plugin-eslint": "~4.4.0",
"@vue/cli-service": "~4.4.0",
"axios": "^0.19.2",
"babel-eslint": "^10.1.0",
"eslint": "^6.7.2",
"eslint-plugin-vue": "^6.2.2",
"sass": "^1.18.0",
"sass-loader": "^7.1.0",
"sessionstorage": "^0.1.0",
"vue-router": "^3.3.2",
"vue-template-compiler": "^2.6.11",
"vuex": "^3.4.0"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
"name": "suvalue-cli",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "vue-cli-service serve --open ",
"build": "vue-cli-service build ",
"lint": "vue-cli-service lint"
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
"parserOptions": {
"parser": "babel-eslint"
"dependencies": {
"@vue/composition-api": "^1.6.2",
"core-js": "^3.6.5",
"element-ui": "^2.15.6",
"jquery": "^3.6.0",
"js-cookie": "^3.0.1",
"vue": "^2.6.11"
},
"rules": {}
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead"
]
"devDependencies": {
"@vue/cli-plugin-babel": "~4.4.0",
"@vue/cli-plugin-eslint": "~4.4.0",
"@vue/cli-service": "~4.4.0",
"axios": "^0.19.2",
"babel-eslint": "^10.1.0",
"echarts": "^5.3.2",
"eslint": "^6.7.2",
"eslint-plugin-vue": "^6.2.2",
"sass": "^1.18.0",
"sass-loader": "^7.1.0",
"sessionstorage": "^0.1.0",
"vue-router": "^3.3.2",
"vue-template-compiler": "^2.6.11",
"vuex": "^3.4.0"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
"parserOptions": {
"parser": "babel-eslint"
},
"rules": {}
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead"
]
}
<!DOCTYPE html>
<html lang="en">
<head>
<head>
<meta charset="utf-8">
<!-- <meta base="/his/"> -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title>
</head>
<body>
<link rel="stylesheet" href="../src/assets//font/complete/iconfont.css">
<title>
基于病种精准管理系统
</title>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
</body>
</html>
\ No newline at end of file
/* Logo 字体 */
@font-face {
font-family: "iconfont logo";
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
}
.logo {
font-family: "iconfont logo";
font-size: 160px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* tabs */
.nav-tabs {
position: relative;
}
.nav-tabs .nav-more {
position: absolute;
right: 0;
bottom: 0;
height: 42px;
line-height: 42px;
color: #666;
}
#tabs {
border-bottom: 1px solid #eee;
}
#tabs li {
cursor: pointer;
width: 100px;
height: 40px;
line-height: 40px;
text-align: center;
font-size: 16px;
border-bottom: 2px solid transparent;
position: relative;
z-index: 1;
margin-bottom: -1px;
color: #666;
}
#tabs .active {
border-bottom-color: #f00;
color: #222;
}
.tab-container .content {
display: none;
}
/* 页面布局 */
.main {
padding: 30px 100px;
width: 960px;
margin: 0 auto;
}
.main .logo {
color: #333;
text-align: left;
margin-bottom: 30px;
line-height: 1;
height: 110px;
margin-top: -50px;
overflow: hidden;
*zoom: 1;
}
.main .logo a {
font-size: 160px;
color: #333;
}
.helps {
margin-top: 40px;
}
.helps pre {
padding: 20px;
margin: 10px 0;
border: solid 1px #e7e1cd;
background-color: #fffdef;
overflow: auto;
}
.icon_lists {
width: 100% !important;
overflow: hidden;
*zoom: 1;
}
.icon_lists li {
width: 100px;
margin-bottom: 10px;
margin-right: 20px;
text-align: center;
list-style: none !important;
cursor: default;
}
.icon_lists li .code-name {
line-height: 1.2;
}
.icon_lists .icon {
display: block;
height: 100px;
line-height: 100px;
font-size: 42px;
margin: 10px auto;
color: #333;
-webkit-transition: font-size 0.25s linear, width 0.25s linear;
-moz-transition: font-size 0.25s linear, width 0.25s linear;
transition: font-size 0.25s linear, width 0.25s linear;
}
.icon_lists .icon:hover {
font-size: 100px;
}
.icon_lists .svg-icon {
/* 通过设置 font-size 来改变图标大小 */
width: 1em;
/* 图标和文字相邻时,垂直对齐 */
vertical-align: -0.15em;
/* 通过设置 color 来改变 SVG 的颜色/fill */
fill: currentColor;
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
normalize.css 中也包含这行 */
overflow: hidden;
}
.icon_lists li .name,
.icon_lists li .code-name {
color: #666;
}
/* markdown 样式 */
.markdown {
color: #666;
font-size: 14px;
line-height: 1.8;
}
.highlight {
line-height: 1.5;
}
.markdown img {
vertical-align: middle;
max-width: 100%;
}
.markdown h1 {
color: #404040;
font-weight: 500;
line-height: 40px;
margin-bottom: 24px;
}
.markdown h2,
.markdown h3,
.markdown h4,
.markdown h5,
.markdown h6 {
color: #404040;
margin: 1.6em 0 0.6em 0;
font-weight: 500;
clear: both;
}
.markdown h1 {
font-size: 28px;
}
.markdown h2 {
font-size: 22px;
}
.markdown h3 {
font-size: 16px;
}
.markdown h4 {
font-size: 14px;
}
.markdown h5 {
font-size: 12px;
}
.markdown h6 {
font-size: 12px;
}
.markdown hr {
height: 1px;
border: 0;
background: #e9e9e9;
margin: 16px 0;
clear: both;
}
.markdown p {
margin: 1em 0;
}
.markdown>p,
.markdown>blockquote,
.markdown>.highlight,
.markdown>ol,
.markdown>ul {
width: 80%;
}
.markdown ul>li {
list-style: circle;
}
.markdown>ul li,
.markdown blockquote ul>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown>ul li p,
.markdown>ol li p {
margin: 0.6em 0;
}
.markdown ol>li {
list-style: decimal;
}
.markdown>ol li,
.markdown blockquote ol>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown code {
margin: 0 3px;
padding: 0 5px;
background: #eee;
border-radius: 3px;
}
.markdown strong,
.markdown b {
font-weight: 600;
}
.markdown>table {
border-collapse: collapse;
border-spacing: 0px;
empty-cells: show;
border: 1px solid #e9e9e9;
width: 95%;
margin-bottom: 24px;
}
.markdown>table th {
white-space: nowrap;
color: #333;
font-weight: 600;
}
.markdown>table th,
.markdown>table td {
border: 1px solid #e9e9e9;
padding: 8px 16px;
text-align: left;
}
.markdown>table th {
background: #F7F7F7;
}
.markdown blockquote {
font-size: 90%;
color: #999;
border-left: 4px solid #e9e9e9;
padding-left: 0.8em;
margin: 1em 0;
}
.markdown blockquote p {
margin: 0;
}
.markdown .anchor {
opacity: 0;
transition: opacity 0.3s ease;
margin-left: 8px;
}
.markdown .waiting {
color: #ccc;
}
.markdown h1:hover .anchor,
.markdown h2:hover .anchor,
.markdown h3:hover .anchor,
.markdown h4:hover .anchor,
.markdown h5:hover .anchor,
.markdown h6:hover .anchor {
opacity: 1;
display: inline-block;
}
.markdown>br,
.markdown>p>br {
clear: both;
}
.hljs {
display: block;
background: white;
padding: 0.5em;
color: #333333;
overflow-x: auto;
}
.hljs-comment,
.hljs-meta {
color: #969896;
}
.hljs-string,
.hljs-variable,
.hljs-template-variable,
.hljs-strong,
.hljs-emphasis,
.hljs-quote {
color: #df5000;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-type {
color: #a71d5d;
}
.hljs-literal,
.hljs-symbol,
.hljs-bullet,
.hljs-attribute {
color: #0086b3;
}
.hljs-section,
.hljs-name {
color: #63a35c;
}
.hljs-tag {
color: #333333;
}
.hljs-title,
.hljs-attr,
.hljs-selector-id,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo {
color: #795da3;
}
.hljs-addition {
color: #55a532;
background-color: #eaffea;
}
.hljs-deletion {
color: #bd2c00;
background-color: #ffecec;
}
.hljs-link {
text-decoration: underline;
}
/* 代码高亮 */
/* PrismJS 1.15.0
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
background: none;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre)>code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre)>code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #9a6e3a;
background: hsla(0, 0%, 100%, .5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function,
.token.class-name {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
@font-face {
font-family: "iconfont"; /* Project id 3111099 */
src: url('iconfont.woff2?t=1645068566372') format('woff2'),
url('iconfont.woff?t=1645068566372') format('woff'),
url('iconfont.ttf?t=1645068566372') format('truetype');
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-jianjiefeiyonzidian:before {
content: "\e6e7";
}
.icon-jiaruzuzhi:before {
content: "\e6bb";
}
.icon-daoru1:before {
content: "\e6cf";
}
.icon-ruyuan:before {
content: "\e620";
}
.icon-gerenyingkui:before {
content: "\e641";
}
.icon-tuanduibaobiao_yingkuibaobiao:before {
content: "\e623";
}
.icon-yingkuibiji:before {
content: "\e609";
}
.icon-feiyong:before {
content: "\e672";
}
.icon-zhikong:before {
content: "\e601";
}
.icon-tubiao_huliyizhu_huliyizhu:before {
content: "\e643";
}
.icon-bianzu_70:before {
content: "\e614";
}
.icon-iconset0254:before {
content: "\e699";
}
.icon-qianqian-:before {
content: "\e606";
}
.icon-jiandaosvg:before {
content: "\e613";
}
.icon-sousuo_o:before {
content: "\eb86";
}
.icon-daoru:before {
content: "\e65d";
}
.icon-ipr_tijiao:before {
content: "\e607";
}
.icon-tingzhenqi:before {
content: "\e7a9";
}
.icon-tijianzuhe:before {
content: "\e65e";
}
.icon-ico_yiyuanguanjia_banliruyuan:before {
content: "\e6fd";
}
.icon-keshihuapingtaiicon_pingfen:before {
content: "\e6f7";
}
.icon-fenzu:before {
content: "\e611";
}
.icon-chuyuandaiyao:before {
content: "\e629";
}
.icon-yishengtuandui:before {
content: "\e858";
}
.icon-yisheng:before {
content: "\e60d";
}
.icon-keshi:before {
content: "\e67e";
}
.icon-shiyuanxingjibingjiance:before {
content: "\e610";
}
.icon-niandu:before {
content: "\e68b";
}
.icon-yisheng1:before {
content: "\e6b2";
}
.icon-yuce:before {
content: "\e624";
}
.icon-fenxi:before {
content: "\e668";
}
.icon-icon-test:before {
content: "\e604";
}
.icon-fenxi1:before {
content: "\e648";
}
.icon-yisheng666:before {
content: "\e603";
}
.icon-shoushudingdan:before {
content: "\e652";
}
.icon-yusuan:before {
content: "\e794";
}
.icon-zhanghaoguanli:before {
content: "\e666";
}
.icon-jibingguanli:before {
content: "\e645";
}
.icon-keshikucunguanli:before {
content: "\e60a";
}
.icon-fenxi2:before {
content: "\e64c";
}
.icon-yisheng2:before {
content: "\e6fa";
}
.icon-keshigongzuoliang:before {
content: "\e703";
}
.icon-quankeyiliaoke:before {
content: "\e67c";
}
.icon-zhanghaoguanli1:before {
content: "\e62d";
}
.icon-ruanzhuyuce:before {
content: "\e733";
}
.icon-keshitongji1:before {
content: "\e77b";
}
.icon-yusuan1:before {
content: "\e61d";
}
.icon-keshi2:before {
content: "\e6bd";
}
.icon-02TPM_yusuankemu:before {
content: "\e618";
}
.icon-quankexue:before {
content: "\e62e";
}
.icon-jibing:before {
content: "\ed13";
}
.icon-daochu:before {
content: "\e61c";
}
.icon-xinrenzhinan:before {
content: "\e600";
}
.icon-yinhangka:before {
content: "\e8bf";
}
.icon-fufeiguanli:before {
content: "\e8af";
}
.icon-ziliaoshouce-xianxing:before {
content: "\e898";
}
.icon-jiantou1:before {
content: "\e605";
}
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"id": "3111099",
"name": "完整图标",
"font_family": "iconfont",
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "645498",
"name": "间接费用字典",
"font_class": "jianjiefeiyonzidian",
"unicode": "e6e7",
"unicode_decimal": 59111
},
{
"icon_id": "8304933",
"name": "加入组织",
"font_class": "jiaruzuzhi",
"unicode": "e6bb",
"unicode_decimal": 59067
},
{
"icon_id": "8319348",
"name": "导入",
"font_class": "daoru1",
"unicode": "e6cf",
"unicode_decimal": 59087
},
{
"icon_id": "8841391",
"name": "入院",
"font_class": "ruyuan",
"unicode": "e620",
"unicode_decimal": 58912
},
{
"icon_id": "9001914",
"name": "个人盈亏",
"font_class": "gerenyingkui",
"unicode": "e641",
"unicode_decimal": 58945
},
{
"icon_id": "9792482",
"name": "团队报表_盈亏报表",
"font_class": "tuanduibaobiao_yingkuibaobiao",
"unicode": "e623",
"unicode_decimal": 58915
},
{
"icon_id": "10660311",
"name": "盈亏笔记",
"font_class": "yingkuibiji",
"unicode": "e609",
"unicode_decimal": 58889
},
{
"icon_id": "12129938",
"name": "费用",
"font_class": "feiyong",
"unicode": "e672",
"unicode_decimal": 58994
},
{
"icon_id": "12794224",
"name": "质控",
"font_class": "zhikong",
"unicode": "e601",
"unicode_decimal": 58881
},
{
"icon_id": "14112156",
"name": "图标_护理医嘱_护理医嘱",
"font_class": "tubiao_huliyizhu_huliyizhu",
"unicode": "e643",
"unicode_decimal": 58947
},
{
"icon_id": "23775528",
"name": "调度规则",
"font_class": "bianzu_70",
"unicode": "e614",
"unicode_decimal": 58900
},
{
"icon_id": "554262",
"name": "条码",
"font_class": "iconset0254",
"unicode": "e699",
"unicode_decimal": 59033
},
{
"icon_id": "3791134",
"name": "钱钱-01",
"font_class": "qianqian-",
"unicode": "e606",
"unicode_decimal": 58886
},
{
"icon_id": "5202088",
"name": "剪刀svg",
"font_class": "jiandaosvg",
"unicode": "e613",
"unicode_decimal": 58899
},
{
"icon_id": "5387900",
"name": "搜索_o",
"font_class": "sousuo_o",
"unicode": "eb86",
"unicode_decimal": 60294
},
{
"icon_id": "10194316",
"name": "导入",
"font_class": "daoru",
"unicode": "e65d",
"unicode_decimal": 58973
},
{
"icon_id": "11542429",
"name": "ipr_提交",
"font_class": "ipr_tijiao",
"unicode": "e607",
"unicode_decimal": 58887
},
{
"icon_id": "18211336",
"name": "听诊器",
"font_class": "tingzhenqi",
"unicode": "e7a9",
"unicode_decimal": 59305
},
{
"icon_id": "3892814",
"name": "体检组合",
"font_class": "tijianzuhe",
"unicode": "e65e",
"unicode_decimal": 58974
},
{
"icon_id": "10056222",
"name": "医院",
"font_class": "ico_yiyuanguanjia_banliruyuan",
"unicode": "e6fd",
"unicode_decimal": 59133
},
{
"icon_id": "11529546",
"name": "可视化平台icon_评分",
"font_class": "keshihuapingtaiicon_pingfen",
"unicode": "e6f7",
"unicode_decimal": 59127
},
{
"icon_id": "16135377",
"name": "清华-人员管理off",
"font_class": "fenzu",
"unicode": "e611",
"unicode_decimal": 58897
},
{
"icon_id": "16900329",
"name": "出入院流程",
"font_class": "chuyuandaiyao",
"unicode": "e629",
"unicode_decimal": 58921
},
{
"icon_id": "8288899",
"name": "医生团队",
"font_class": "yishengtuandui",
"unicode": "e858",
"unicode_decimal": 59480
},
{
"icon_id": "3370262",
"name": "医生",
"font_class": "yisheng",
"unicode": "e60d",
"unicode_decimal": 58893
},
{
"icon_id": "4450270",
"name": "科室",
"font_class": "keshi",
"unicode": "e67e",
"unicode_decimal": 59006
},
{
"icon_id": "7435060",
"name": "食源性疾病监测",
"font_class": "shiyuanxingjibingjiance",
"unicode": "e610",
"unicode_decimal": 58896
},
{
"icon_id": "17188854",
"name": "年度",
"font_class": "niandu",
"unicode": "e68b",
"unicode_decimal": 59019
},
{
"icon_id": "827988",
"name": "医生",
"font_class": "yisheng1",
"unicode": "e6b2",
"unicode_decimal": 59058
},
{
"icon_id": "1037699",
"name": "预测",
"font_class": "yuce",
"unicode": "e624",
"unicode_decimal": 58916
},
{
"icon_id": "1881568",
"name": "分析",
"font_class": "fenxi",
"unicode": "e668",
"unicode_decimal": 58984
},
{
"icon_id": "1915206",
"name": "预算控制",
"font_class": "icon-test",
"unicode": "e604",
"unicode_decimal": 58884
},
{
"icon_id": "3762527",
"name": "分析",
"font_class": "fenxi1",
"unicode": "e648",
"unicode_decimal": 58952
},
{
"icon_id": "4919907",
"name": "医生",
"font_class": "yisheng666",
"unicode": "e603",
"unicode_decimal": 58883
},
{
"icon_id": "5190649",
"name": "手术订单",
"font_class": "shoushudingdan",
"unicode": "e652",
"unicode_decimal": 58962
},
{
"icon_id": "5484259",
"name": "预算",
"font_class": "yusuan",
"unicode": "e794",
"unicode_decimal": 59284
},
{
"icon_id": "6455673",
"name": "账号管理",
"font_class": "zhanghaoguanli",
"unicode": "e666",
"unicode_decimal": 58982
},
{
"icon_id": "6602265",
"name": "疾病管理",
"font_class": "jibingguanli",
"unicode": "e645",
"unicode_decimal": 58949
},
{
"icon_id": "7414003",
"name": "科室库存管理",
"font_class": "keshikucunguanli",
"unicode": "e60a",
"unicode_decimal": 58890
},
{
"icon_id": "9589363",
"name": "分析",
"font_class": "fenxi2",
"unicode": "e64c",
"unicode_decimal": 58956
},
{
"icon_id": "10056219",
"name": "医生",
"font_class": "yisheng2",
"unicode": "e6fa",
"unicode_decimal": 59130
},
{
"icon_id": "10056237",
"name": "科室工作量",
"font_class": "keshigongzuoliang",
"unicode": "e703",
"unicode_decimal": 59139
},
{
"icon_id": "11043288",
"name": "全科医疗科",
"font_class": "quankeyiliaoke",
"unicode": "e67c",
"unicode_decimal": 59004
},
{
"icon_id": "11882440",
"name": "账号管理",
"font_class": "zhanghaoguanli1",
"unicode": "e62d",
"unicode_decimal": 58925
},
{
"icon_id": "14656283",
"name": "软著预测",
"font_class": "ruanzhuyuce",
"unicode": "e733",
"unicode_decimal": 59187
},
{
"icon_id": "15668854",
"name": "科室统计1",
"font_class": "keshitongji1",
"unicode": "e77b",
"unicode_decimal": 59259
},
{
"icon_id": "18683483",
"name": "预算",
"font_class": "yusuan1",
"unicode": "e61d",
"unicode_decimal": 58909
},
{
"icon_id": "18916459",
"name": "科室",
"font_class": "keshi2",
"unicode": "e6bd",
"unicode_decimal": 59069
},
{
"icon_id": "19135003",
"name": "02 TPM_预算科目",
"font_class": "02TPM_yusuankemu",
"unicode": "e618",
"unicode_decimal": 58904
},
{
"icon_id": "22952624",
"name": "全科学",
"font_class": "quankexue",
"unicode": "e62e",
"unicode_decimal": 58926
},
{
"icon_id": "24737003",
"name": "疾病",
"font_class": "jibing",
"unicode": "ed13",
"unicode_decimal": 60691
},
{
"icon_id": "2667525",
"name": "导出",
"font_class": "daochu",
"unicode": "e61c",
"unicode_decimal": 58908
},
{
"icon_id": "249355",
"name": "新人指南",
"font_class": "xinrenzhinan",
"unicode": "e600",
"unicode_decimal": 58880
},
{
"icon_id": "11372727",
"name": "银行卡",
"font_class": "yinhangka",
"unicode": "e8bf",
"unicode_decimal": 59583
},
{
"icon_id": "20314574",
"name": "付费管理",
"font_class": "fufeiguanli",
"unicode": "e8af",
"unicode_decimal": 59567
},
{
"icon_id": "1727356",
"name": "22资料、手册-线性",
"font_class": "ziliaoshouce-xianxing",
"unicode": "e898",
"unicode_decimal": 59544
},
{
"icon_id": "1110403",
"name": "箭头 三角形",
"font_class": "jiantou1",
"unicode": "e605",
"unicode_decimal": 58885
}
]
}
/* Logo 字体 */
@font-face {
font-family: "iconfont logo";
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
}
.logo {
font-family: "iconfont logo";
font-size: 160px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* tabs */
.nav-tabs {
position: relative;
}
.nav-tabs .nav-more {
position: absolute;
right: 0;
bottom: 0;
height: 42px;
line-height: 42px;
color: #666;
}
#tabs {
border-bottom: 1px solid #eee;
}
#tabs li {
cursor: pointer;
width: 100px;
height: 40px;
line-height: 40px;
text-align: center;
font-size: 16px;
border-bottom: 2px solid transparent;
position: relative;
z-index: 1;
margin-bottom: -1px;
color: #666;
}
#tabs .active {
border-bottom-color: #f00;
color: #222;
}
.tab-container .content {
display: none;
}
/* 页面布局 */
.main {
padding: 30px 100px;
width: 960px;
margin: 0 auto;
}
.main .logo {
color: #333;
text-align: left;
margin-bottom: 30px;
line-height: 1;
height: 110px;
margin-top: -50px;
overflow: hidden;
*zoom: 1;
}
.main .logo a {
font-size: 160px;
color: #333;
}
.helps {
margin-top: 40px;
}
.helps pre {
padding: 20px;
margin: 10px 0;
border: solid 1px #e7e1cd;
background-color: #fffdef;
overflow: auto;
}
.icon_lists {
width: 100% !important;
overflow: hidden;
*zoom: 1;
}
.icon_lists li {
width: 100px;
margin-bottom: 10px;
margin-right: 20px;
text-align: center;
list-style: none !important;
cursor: default;
}
.icon_lists li .code-name {
line-height: 1.2;
}
.icon_lists .icon {
display: block;
height: 100px;
line-height: 100px;
font-size: 42px;
margin: 10px auto;
color: #333;
-webkit-transition: font-size 0.25s linear, width 0.25s linear;
-moz-transition: font-size 0.25s linear, width 0.25s linear;
transition: font-size 0.25s linear, width 0.25s linear;
}
.icon_lists .icon:hover {
font-size: 100px;
}
.icon_lists .svg-icon {
/* 通过设置 font-size 来改变图标大小 */
width: 1em;
/* 图标和文字相邻时,垂直对齐 */
vertical-align: -0.15em;
/* 通过设置 color 来改变 SVG 的颜色/fill */
fill: currentColor;
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
normalize.css 中也包含这行 */
overflow: hidden;
}
.icon_lists li .name,
.icon_lists li .code-name {
color: #666;
}
/* markdown 样式 */
.markdown {
color: #666;
font-size: 14px;
line-height: 1.8;
}
.highlight {
line-height: 1.5;
}
.markdown img {
vertical-align: middle;
max-width: 100%;
}
.markdown h1 {
color: #404040;
font-weight: 500;
line-height: 40px;
margin-bottom: 24px;
}
.markdown h2,
.markdown h3,
.markdown h4,
.markdown h5,
.markdown h6 {
color: #404040;
margin: 1.6em 0 0.6em 0;
font-weight: 500;
clear: both;
}
.markdown h1 {
font-size: 28px;
}
.markdown h2 {
font-size: 22px;
}
.markdown h3 {
font-size: 16px;
}
.markdown h4 {
font-size: 14px;
}
.markdown h5 {
font-size: 12px;
}
.markdown h6 {
font-size: 12px;
}
.markdown hr {
height: 1px;
border: 0;
background: #e9e9e9;
margin: 16px 0;
clear: both;
}
.markdown p {
margin: 1em 0;
}
.markdown>p,
.markdown>blockquote,
.markdown>.highlight,
.markdown>ol,
.markdown>ul {
width: 80%;
}
.markdown ul>li {
list-style: circle;
}
.markdown>ul li,
.markdown blockquote ul>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown>ul li p,
.markdown>ol li p {
margin: 0.6em 0;
}
.markdown ol>li {
list-style: decimal;
}
.markdown>ol li,
.markdown blockquote ol>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown code {
margin: 0 3px;
padding: 0 5px;
background: #eee;
border-radius: 3px;
}
.markdown strong,
.markdown b {
font-weight: 600;
}
.markdown>table {
border-collapse: collapse;
border-spacing: 0px;
empty-cells: show;
border: 1px solid #e9e9e9;
width: 95%;
margin-bottom: 24px;
}
.markdown>table th {
white-space: nowrap;
color: #333;
font-weight: 600;
}
.markdown>table th,
.markdown>table td {
border: 1px solid #e9e9e9;
padding: 8px 16px;
text-align: left;
}
.markdown>table th {
background: #F7F7F7;
}
.markdown blockquote {
font-size: 90%;
color: #999;
border-left: 4px solid #e9e9e9;
padding-left: 0.8em;
margin: 1em 0;
}
.markdown blockquote p {
margin: 0;
}
.markdown .anchor {
opacity: 0;
transition: opacity 0.3s ease;
margin-left: 8px;
}
.markdown .waiting {
color: #ccc;
}
.markdown h1:hover .anchor,
.markdown h2:hover .anchor,
.markdown h3:hover .anchor,
.markdown h4:hover .anchor,
.markdown h5:hover .anchor,
.markdown h6:hover .anchor {
opacity: 1;
display: inline-block;
}
.markdown>br,
.markdown>p>br {
clear: both;
}
.hljs {
display: block;
background: white;
padding: 0.5em;
color: #333333;
overflow-x: auto;
}
.hljs-comment,
.hljs-meta {
color: #969896;
}
.hljs-string,
.hljs-variable,
.hljs-template-variable,
.hljs-strong,
.hljs-emphasis,
.hljs-quote {
color: #df5000;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-type {
color: #a71d5d;
}
.hljs-literal,
.hljs-symbol,
.hljs-bullet,
.hljs-attribute {
color: #0086b3;
}
.hljs-section,
.hljs-name {
color: #63a35c;
}
.hljs-tag {
color: #333333;
}
.hljs-title,
.hljs-attr,
.hljs-selector-id,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo {
color: #795da3;
}
.hljs-addition {
color: #55a532;
background-color: #eaffea;
}
.hljs-deletion {
color: #bd2c00;
background-color: #ffecec;
}
.hljs-link {
text-decoration: underline;
}
/* 代码高亮 */
/* PrismJS 1.15.0
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
background: none;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre)>code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre)>code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #9a6e3a;
background: hsla(0, 0%, 100%, .5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function,
.token.class-name {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
@font-face {
font-family: "iconfont"; /* Project id 3111099 */
src: url('iconfont.woff2?t=1648635086881') format('woff2'),
url('iconfont.woff?t=1648635086881') format('woff'),
url('iconfont.ttf?t=1648635086881') format('truetype');
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-zhkt:before {
content: "\e6bc";
}
.icon-guizeguanli-:before {
content: "\e61e";
}
.icon-shenhezhuangtai:before {
content: "\e6e6";
}
.icon-jianjiefeiyonzidian:before {
content: "\e6e7";
}
.icon-jiaruzuzhi:before {
content: "\e6bb";
}
.icon-daoru1:before {
content: "\e6cf";
}
.icon-ruyuan:before {
content: "\e620";
}
.icon-gerenyingkui:before {
content: "\e641";
}
.icon-tuanduibaobiao_yingkuibaobiao:before {
content: "\e623";
}
.icon-yingkuibiji:before {
content: "\e609";
}
.icon-feiyong:before {
content: "\e672";
}
.icon-zhikong:before {
content: "\e601";
}
.icon-tubiao_huliyizhu_huliyizhu:before {
content: "\e643";
}
.icon-bianzu_70:before {
content: "\e614";
}
.icon-iconset0254:before {
content: "\e699";
}
.icon-qianqian-:before {
content: "\e606";
}
.icon-jiandaosvg:before {
content: "\e613";
}
.icon-sousuo_o:before {
content: "\eb86";
}
.icon-daoru:before {
content: "\e65d";
}
.icon-ipr_tijiao:before {
content: "\e607";
}
.icon-tingzhenqi:before {
content: "\e7a9";
}
.icon-tijianzuhe:before {
content: "\e65e";
}
.icon-ico_yiyuanguanjia_banliruyuan:before {
content: "\e6fd";
}
.icon-keshihuapingtaiicon_pingfen:before {
content: "\e6f7";
}
.icon-fenzu:before {
content: "\e611";
}
.icon-chuyuandaiyao:before {
content: "\e629";
}
.icon-yishengtuandui:before {
content: "\e858";
}
.icon-yisheng:before {
content: "\e60d";
}
.icon-keshi:before {
content: "\e67e";
}
.icon-shiyuanxingjibingjiance:before {
content: "\e610";
}
.icon-niandu:before {
content: "\e68b";
}
.icon-yisheng1:before {
content: "\e6b2";
}
.icon-yuce:before {
content: "\e624";
}
.icon-fenxi:before {
content: "\e668";
}
.icon-icon-test:before {
content: "\e604";
}
.icon-fenxi1:before {
content: "\e648";
}
.icon-yisheng666:before {
content: "\e603";
}
.icon-shoushudingdan:before {
content: "\e652";
}
.icon-yusuan:before {
content: "\e794";
}
.icon-zhanghaoguanli:before {
content: "\e666";
}
.icon-jibingguanli:before {
content: "\e645";
}
.icon-keshikucunguanli:before {
content: "\e60a";
}
.icon-fenxi2:before {
content: "\e64c";
}
.icon-yisheng2:before {
content: "\e6fa";
}
.icon-keshigongzuoliang:before {
content: "\e703";
}
.icon-quankeyiliaoke:before {
content: "\e67c";
}
.icon-zhanghaoguanli1:before {
content: "\e62d";
}
.icon-ruanzhuyuce:before {
content: "\e733";
}
.icon-keshitongji1:before {
content: "\e77b";
}
.icon-yusuan1:before {
content: "\e61d";
}
.icon-keshi2:before {
content: "\e6bd";
}
.icon-02TPM_yusuankemu:before {
content: "\e618";
}
.icon-quankexue:before {
content: "\e62e";
}
.icon-jibing:before {
content: "\ed13";
}
.icon-daochu:before {
content: "\e61c";
}
.icon-xinrenzhinan:before {
content: "\e600";
}
.icon-yinhangka:before {
content: "\e8bf";
}
.icon-fufeiguanli:before {
content: "\e8af";
}
.icon-ziliaoshouce-xianxing:before {
content: "\e898";
}
.icon-jiantou1:before {
content: "\e605";
}
This source diff could not be displayed because it is too large. You can view the blob instead.
@font-face {
font-family: 'PingFang SC';
src: url('./pingfangzhunjian.ttf')
}
\ No newline at end of file
/*
* @Author: ninglupeng
* @Date: 2022-06-07 09:50:19
* @LastEditors: ninglupeng
* @LastEditTime: 2022-06-07 09:50:49
* @Description:
*/
export const Nativeplace = {
'01': '北京市',
'02': '天津市',
'03': '河北省',
'04': '山西省',
'05': '内蒙古',
'06': '辽宁省',
'07': '吉林省',
'08': '黑龙江省',
'09': '上海市',
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: '外籍',
'——': '——',
};
export const sex = {
0: '未知的性别',
1: '男',
2: '女',
9: '未说明的性别',
'——': '——',
};
@import "../../styles/mixin.scss";
@media screen and (min-width: 769px) and (max-width: 1365px) {
#medicalRecord {
font-size: 12px !important;
.pageindex {
padding: 20px 0px !important;
}
.el-row {
margin-bottom: 15px !important;
&:last-child {
margin-bottom: 0;
}
}
.homePageTitle {
font-size: 25px;
font-weight: bold;
}
.key {
font-size: 12px !important;
}
.value {
font-size: 12px !important;
}
}
}
@media screen and (min-width: 1366px) and(max-width:1440px) {
#medicalRecord {
font-size: 12px !important;
.pageindex {
padding: 20px 0px !important;
}
.el-row {
margin-bottom: 15px !important;
&:last-child {
margin-bottom: 0;
}
}
.homePageTitle {
font-size: 25px;
font-weight: bold;
}
.key {
font-size: 12px !important;
}
.value {
font-size: 12px !important;
}
}
}
\ No newline at end of file
/*
* @Author: ninglupeng
* @Date: 2022-06-07 00:31:25
* @LastEditors: ninglupeng
* @LastEditTime: 2022-06-07 14:16:26
* @Description:
*/
import Vue from "vue";
import Router from "vue-router";
import store from "@/store";
import { getItem, clear } from "@/utils/auth";
import HelloWorld from "@/views/HelloWorld.vue";
import login from "@/views/login.vue";
import outseeQualityControl from "@/views/outseeQualityControl.vue";
import outpatientDetails from "@/views/outpatientDetails.vue";
import outHistorygrouping from "@/views/outHistorygrouping.vue";
Vue.use(Router);
// const baseUrl = '/his/'
const router = new Router({
routes: [
{
path: "*",
component: (resolve) => require(["@/components/404.vue"], resolve),
},
{
path: "/login",
name: "login",
component: login,
},
{
path: "/",
name: "home",
component: HelloWorld,
},
],
// mode: baseUrl,
routes: [{
path: "*",
component: (resolve) => require(["@/components/404.vue"], resolve),
},
// 查看质控
{
path: "/outseeQualityControl",
name: "outseeQualityControl",
component: outseeQualityControl,
},
// 患者详情
{
path: "/outpatientDetails",
name: "outpatientDetails",
component: outpatientDetails,
},
// 智能分组
{
path: "/outHistorygrouping",
name: "outHistorygrouping",
component: outHistorygrouping,
}
],
// mode: 'history' /*hash*/ /*不显示路由中的#*/
});
//路由跳转前判断(登录权限)
router.beforeEach((to, from, next) => {
//console.log(to, from, next);
const token = getItem("svToken"); //获取用户id
console.log(token);
if (token) {
//有登录权限
if (to.path == "/login") {
next("/");
} else {
//console.log(to);
next();
}
} else {
//没有登录权限
if (to.path == "/login") {
next();
} else {
//不然就跳转到登录;
next("/login");
}
}
next();
});
// router.beforeEach(async(to, from, next) => {
// const hasToken = getToken()
// if (hasToken) {
// if (to.path === '/login') {
// next({ path: '/' })
// } else {
// const hasGetUserInfo = store.getters.token
// if (hasGetUserInfo) {
// next()
// } else {
// try {
// // get user info
// await store.dispatch('user/getInfo')
// next()
// } catch (error) {
// await store.dispatch('user/resetToken')
// next(`/login?redirect=${encodeURIComponent(to.fullPath)}`)
// }
// }
// }
// } else {
// if (to.matched.some(rocode => rocode.meta.requireAuth)) {
// next(`/login?redirect=${encodeURIComponent(to.fullPath)}`)
// } else {
// next()
// }
// }
// })
export default router;
export default router;
\ No newline at end of file
@import "./mixin.scss";
@import "./variables.module.scss";
@import "./sidebar.scss";
// 编写全局样式
body {
height: 100%;
height: 1000%;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB,
Microsoft YaHei, Arial, sans-serif;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
margin: 0;
}
......@@ -23,15 +21,12 @@ html {
}
#app {
height: 100%;
height: 486px;
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
}
*,
......
......@@ -160,5 +160,6 @@ $Boxwidth:1024;
@return 0;
}
@return math.div($px, $Boxwidth) * 100vw;
// @return math.div($px, $Boxwidth) * 100vw;
@return $px/ $Boxwidth * 100vw;
}
\ No newline at end of file
/**
* 时间日期转换
* @param date 当前时间,new Date() 格式
* @param format 需要转换的时间格式字符串
* @description format 字符串随意,如 `YYYY-mm、YYYY-mm-dd`
* @description format 季度:"YYYY-mm-dd HH:MM:SS QQQQ"
* @description format 星期:"YYYY-mm-dd HH:MM:SS WWW"
* @description format 几周:"YYYY-mm-dd HH:MM:SS ZZZ"
* @description format 季度 + 星期 + 几周:"YYYY-mm-dd HH:MM:SS WWW QQQQ ZZZ"
* @returns 返回拼接后的时间字符串
*/
export function formatDate(date, format) {
const we = date.getDay(); // 星期
const z = getWeek(date); // 周
const qut = Math.floor((date.getMonth() + 3) / 3).toString(); // 季度
const opt = {
'Y+': date.getFullYear().toString(), // 年
'm+': (date.getMonth() + 1).toString(), // 月(月份从0开始,要+1)
'd+': date.getDate().toString(), // 日
'H+': date.getHours().toString(), // 时
'M+': date.getMinutes().toString(), // 分
'S+': date.getSeconds().toString(), // 秒
'q+': qut, // 季度
};
// 中文数字 (星期)
const week = {
0: '日',
1: '一',
2: '二',
3: '三',
4: '四',
5: '五',
6: '六',
};
// 中文数字(季度)
const quarter = {
1: '一',
2: '二',
3: '三',
4: '四',
};
if (/(W+)/.test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length > 1 ? (RegExp.$1.length > 2 ? '星期' + week[we] : '周' + week[we]) : week[we]);
}
if (/(Q+)/.test(format)) format = format.replace(RegExp.$1, RegExp.$1.length == 4 ? '第' + quarter[qut] + '季度' : quarter[qut]);
if (/(Z+)/.test(format)) format = format.replace(RegExp.$1, RegExp.$1.length == 3 ? '第' + z + '周' : z + '');
for (const k in opt) {
const r = new RegExp('(' + k + ')').exec(format);
// 若输入的长度不为1,则前面补零
if (r) format = format.replace(r[1], RegExp.$1.length == 1 ? opt[k] : opt[k].padStart(RegExp.$1.length, '0'));
}
return format;
}
/**
* 获取当前日期是第几周
* @param dateTime 当前传入的日期值
* @returns 返回第几周数字值
*/
export function getWeek(dateTime) {
const temptTime = new Date(dateTime.getTime());
// 周几
const weekday = temptTime.getDay() || 7;
// 周1+5天=周六
temptTime.setDate(temptTime.getDate() - weekday + 1 + 5);
let firstDay = new Date(temptTime.getFullYear(), 0, 1);
const dayOfWeek = firstDay.getDay();
let spendDay = 1;
if (dayOfWeek != 0) spendDay = 7 - dayOfWeek + 1;
firstDay = new Date(temptTime.getFullYear(), 0, 1 + spendDay);
const d = Math.ceil((temptTime.valueOf() - firstDay.valueOf()) / 86400000);
const result = Math.ceil(d / 7);
return result;
}
/**
* 将时间转换为 `几秒前`、`几分钟前`、`几小时前`、`几天前`
* @param param 当前时间,new Date() 格式或者字符串时间格式
* @param format 需要转换的时间格式字符串
* @description param 10秒: 10 * 1000
* @description param 1分: 60 * 1000
* @description param 1小时: 60 * 60 * 1000
* @description param 24小时:60 * 60 * 24 * 1000
* @description param 3天: 60 * 60* 24 * 1000 * 3
* @returns 返回拼接后的时间字符串
*/
export function formatPast(param, format) {
// 传入格式处理、存储转换值
let t, s;
// 获取js 时间戳
let time = new Date().getTime();
// 是否是对象
typeof param === 'string' || 'object' ? (t = new Date(param).getTime()) : (t = param);
// 当前时间戳 - 传入时间戳
time = Number.parseInt(`${time - t}`);
if (time < 10000) {
// 10秒内
return '刚刚';
} else if (time < 60000 && time >= 10000) {
// 超过10秒少于1分钟内
s = Math.floor(time / 1000);
return `${s}秒前`;
} else if (time < 3600000 && time >= 60000) {
// 超过1分钟少于1小时
s = Math.floor(time / 60000);
return `${s}分钟前`;
} else if (time < 86400000 && time >= 3600000) {
// 超过1小时少于24小时
s = Math.floor(time / 3600000);
return `${s}小时前`;
} else if (time < 259200000 && time >= 86400000) {
// 超过1天少于3天内
s = Math.floor(time / 86400000);
return `${s}天前`;
} else {
// 超过3天
const date = typeof param === 'string' || 'object' ? new Date(param) : param;
return formatDate(date, format);
}
}
/**
* 时间问候语
* @param param 当前时间,new Date() 格式
* @description param 调用 `formatAxis(new Date())` 输出 `上午好`
* @returns 返回拼接后的时间字符串
*/
export function formatAxis(param) {
const hour = new Date(param).getHours();
if (hour < 6) return '凌晨好';
else if (hour < 9) return '早上好';
else if (hour < 12) return '上午好';
else if (hour < 14) return '中午好';
else if (hour < 17) return '下午好';
else if (hour < 19) return '傍晚好';
else if (hour < 22) return '晚上好';
else return '夜里好';
}
export function transformTimestamp(timestamp) {
const date = new Date(timestamp);
const Y = date.getFullYear();
const M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1;
const D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
const m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
const s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds(); // 秒
const dateString = `${Y}-${M}-${D} ${h}${m}${s}`;
return dateString;
}
export function transformTimestamps(timestamp) {
const date = new Date(timestamp);
const Y = date.getFullYear();
const M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1;
const D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
const m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
const s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds(); // 秒
const dateString = `${Y}-${M}-${D}`;
return dateString;
}
......@@ -14,8 +14,8 @@ axios.defaults.headers.post['Content-Type'] = 'application/json;charset=utf-8'
var domain = '/api/api'
function createHeader() {
const token = getItem('svToken');
return token ? { Authorization: `Bearer ${token}` } : {};
const token = getItem('svToken');
return token ? { Authorization: `Bearer ${token}` } : {};
}
function errorMsg(d) {
......@@ -54,71 +54,71 @@ let loadingOption = { //加载loading
background: 'rgba(0, 0, 0, 0.5)'
}
axios.interceptors.response.use(
(response) => {
if (response.status === 200) {
return Promise.resolve(response);
} else {
return Promise.reject(response);
}
},
(error) => {
if (error.response.status == 401) {
window.sessionStorage.clear();
window.location.href = '/';
}
return Promise.reject(error);
}
(response) => {
if (response.status === 200) {
return Promise.resolve(response);
} else {
return Promise.reject(response);
}
},
(error) => {
if (error.response.status == 401) {
window.sessionStorage.clear();
window.location.href = '/';
}
return Promise.reject(error);
}
);
export default {
post(url, params, option) {
if (getItem('svtoken')) {
loadingInstance = Vue.prototype.$loading(loadingOption);
}
return new Promise((resolve, reject) => {
axios
.post(domain + url, params, { ...{ headers: createHeader() }, ...option })
.then((res) => {
if (res.status !== 200) {
errorMsg(res.data);
reject(res.data);
return;
}
if (getItem('token')) {
loadingInstance.close();
}
resolve(res.data.data || res.data);
})
.catch((error) => {
if (getItem('token')) {
loadingInstance.close();
}
errorMsg(error);
reject(error);
});
});
},
loadingInstance = Vue.prototype.$loading(loadingOption);
return new Promise((resolve, reject) => {
axios
.post(domain + url, params, { ...{ headers: createHeader() }, ...option })
.then((res) => {
if (res.status !== 200) {
errorMsg(res.data);
reject(res.data);
return;
}
loadingInstance.close();
resolve(res.data.data || res.data);
})
.catch((error) => {
loadingInstance.close();
errorMsg(error);
reject(error);
});
});
},
get(url, option) {
loadingInstance = Vue.prototype.$loading(loadingOption);
return new Promise((resolve, reject) => {
axios
.get(domain + url, { ...{ headers: createHeader() }, ...option })
.then((res) => {
if (res.status !== 200) {
errorMsg(res.data);
reject(res.data);
return;
}
loadingInstance.close();
resolve(res.data.data || res.data);
})
.catch((error) => {
loadingInstance.close();
errorMsg(error);
reject(error);
});
});
},
loadingInstance = Vue.prototype.$loading(loadingOption);
return new Promise((resolve, reject) => {
axios
.get(domain + url, { ...{ headers: createHeader() }, ...option })
.then((res) => {
if (res.status !== 200) {
errorMsg(res.data);
reject(res.data);
return;
}
loadingInstance.close();
resolve(res.data.data || res.data);
})
.catch((error) => {
loadingInstance.close();
errorMsg(error);
reject(error);
});
});
},
}
\ No newline at end of file
/*
* @Author: ninglupeng
* @Date: 2022-06-07 11:37:20
* @LastEditors: ninglupeng
* @LastEditTime: 2022-06-07 11:48:40
* @Description:
*/
import {
ComponentInternalInstance,
computed,
getCurrentInstance,
Ref,
} from '@vue/composition-api';
import VueRouter, { Route } from 'vue-router';
export function getVueInstance() {
const instance = getCurrentInstance();
if (instance) {
return instance;
}
throw new Error('Vue instance is missing');
}
export function useRoute() {
const { proxy } = getVueInstance();
return computed(() => proxy.$route);
}
export function useRouter() {
const { proxy } = getVueInstance();
return proxy.$router;
}
export default {
getVueInstance,
useRoute,
useRouter,
};
......@@ -2,7 +2,7 @@
* @Author: ninglupeng
* @Date: 2022-06-07 00:31:25
* @LastEditors: ninglupeng
* @LastEditTime: 2022-06-07 00:40:32
* @LastEditTime: 2022-06-07 09:36:58
* @Description:
*/
const path = require('path');
......@@ -12,12 +12,14 @@ function resolve(dir) {
}
module.exports = {
publicPath: "./", //导出路径
assetsDir: "web", //静态资源文件夹
productionSourceMap: false,
devServer: { //测试环境代理
port: 8066, //测试端口
proxy: {
'/api': {
target: 'https://testjx.suvalue.com/',
target: 'http://192.168.18.166:8099/',
changeOrigin: true,
pathRewrite: {
'^/': '/'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment