医保上传界面优化

20240912_adapter
qiuyt 2 months ago
parent 491f99bd85
commit ec2d60fb51

@ -30,10 +30,10 @@ ENV = 'production'
# 平和县医院
# VUE_APP_BASE_API = 'http://192.168.0.43:9150/UDI_WMS_MC/'
VUE_APP_BASE_API = 'http://dm.xmglxp.com:81/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://dm.xmglxp.com:81/UDI_WMS_MC/'
# 长泰医院
# VUE_APP_BASE_API = 'http://192.168.6.189:9150/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://192.168.6.189:9160/UDI_WMS_MC/'
# 三明大田医院
# VUE_APP_BASE_API = 'http://172.20.124.4:9150/UDI_WMS_MC/'
@ -76,7 +76,7 @@ VUE_APP_BASE_API = 'http://dm.xmglxp.com:81/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://116.204.116.198:9160/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://127.0.0.1:9150/UDI_WMS_MC/'
# 湖里妇幼
VUE_APP_BASE_API = 'http://192.168.158.151:9150/UDI_WMS_MC/'
VUE_APP_BASE_API = 'http://192.168.158.151:9150/UDI_WMS_MC/'
# 应用访问路径 例如使用前缀 /admin/
VUE_APP_CONTEXT_PATH = '/UDI_WMS_NEW/'

@ -5,12 +5,12 @@
"author": "Glxp",
"license": "MIT",
"scripts": {
"build:prod": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
"build:prod": " vue-cli-service build",
"build:test": "vue-cli-service build --mode test",
"preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src",
"server": "SET NODE_OPTIONS=--openssl-legacy-provider && webpack-dev-server --env.server --env.develop --inline --max-old-space-size=3000",
"dev": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --open"
"dev": " vue-cli-service serve --open"
},
"husky": {
"hooks": {
@ -39,6 +39,7 @@
"dependencies": {
"@riophae/vue-treeselect": "0.4.0",
"@tinymce/tinymce-vue": "^3.2.8",
"@jiaminghi/data-view": "^2.10.0",
"axios": "0.24.0",
"clipboard": "2.0.8",
"core-js": "^3.19.1",

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -0,0 +1,97 @@
<!--
* @Author: daidai
* @Date: 2022-03-01 09:16:22
* @LastEditors: Please set LastEditors
* @LastEditTime: 2022-09-29 15:12:34
* @FilePath: \web-pc\src\pages\big-screen\components\item-wrap\item-wrap.vue
-->
<template>
<dv-border-box-13 class="lr_titles">
<div class="item_title" v-if="title !== ''">
<div class="zuo"></div>
<span class="title-inner"> &nbsp;&nbsp;{{ title }}&nbsp;&nbsp; </span>
<div class="you"></div>
</div>
<div
:class="title !== '' ? 'item_title_content' : 'item_title_content_def'"
>
<slot></slot>
</div>
</dv-border-box-13>
</template>
<script>
export default {
data() {
return {};
},
props: {
title: {
type: String,
default: () => "",
},
},
created() {},
mounted() {},
methods: {},
};
</script>
<style lang='scss' scoped>
$item-title-height: 38px;
$item_title_content-height: calc(100% - 38px);
.lr_titles {
box-sizing: border-box;
:deep(.border-box-content) {
box-sizing: border-box;
padding: 6px 16px 0px;
}
.item_title {
height: $item-title-height;
line-height: $item-title-height;
width: 100%;
color: #3b3b3b;
text-align: center;
// background: linear-gradient(to right, transparent, #0f0756, transparent);
position: relative;
display: flex;
align-items: center;
justify-content: center;
.zuo,
.you {
width: 58px;
height: 14px;
background-image: url("../../assets/img/titles/zuo.png");
}
.you {
transform: rotate(180deg);
}
.title-inner {
font-weight: 900;
letter-spacing: 2px;
background: linear-gradient(
92deg,
#565656 0%,
#465357 48.8525390625%,
#2b3e49 100%
);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
}
.item_title_content {
height: $item_title_content-height;
}
.item_title_content_def {
width: 100%;
height: 100%;
}
}
</style>

@ -53,6 +53,8 @@ import DictData from "@/components/DictData";
import cusEditor from '@/views/components/cusEditor.vue'
import splitPane from 'vue-splitpane'
import ItemWrap from './components/item-wrap/item-wrap.vue'
import {borderBox13} from '@jiaminghi/data-view'
// 去除控制台的 Vue warn 警告信息
Vue.config.silent = true;
@ -111,6 +113,8 @@ Vue.component("planChooseDevice", planChooseDevice)
Vue.component("deviceInfo", deviceInfo)
Vue.component("deviceRepairDialog", deviceRepairDialog)
Vue.component("Echart", Echart)
Vue.component("ItemWrap", ItemWrap)
Vue.use(directive);
Vue.use(plugins);
@ -118,6 +122,10 @@ Vue.use(VueMeta);
Vue.use(allTools);
Vue.use(ShowMsgBox)
Vue.use(winExtend);
// datav组件
Vue.use(borderBox13)
DictData.install();
/**

@ -4,111 +4,52 @@
<!-- <h2>单据上传统计</h2>-->
<!-- <el-divider/>-->
<el-card>
<el-form v-if="queryList && queryList.length > 0" :model="filterQuery" class="query-form"
size="mini" label-width="100px"
>
<el-row style=" display:flex; flex-wrap: wrap; ">
<template v-for="(item, index) in queryList">
<div v-if="showSearch || item.isImport">
<el-form-item v-if="item.columnType == 'input' && executeEval(row,item.expression,true)"
class="query-form-item"
:label="item.columnDesc+`:`" :key="item.id"
>
<el-input
v-model="filterQuery[item.columnName]"
:placeholder="item.columnDesc == '模糊查询' ? '单据号/来源系统/收货方/发货方' : item.columnDesc"
:disabled="executeEval(null,item.disabledFuc,false)"
@keyup.enter.native="executeFuc($event,'5',item.clickFuc)"
clearable
></el-input>
</el-form-item>
<el-form-item v-if="item.columnType == 'select' && executeEval(row,item.expression,true)"
class="query-form-item"
:label="item.columnDesc+`:`"
>
<el-select v-model="filterQuery[item.columnName]"
:placeholder="item.columnDesc"
:disabled="executeEval(null,item.disabledFuc,false)"
clearable
>
<el-option
v-for="dict in item.lableRuleObj"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item v-if="item.columnType == 'selectServer' && executeEval(row,item.expression,true)"
class="query-form-item"
:label="item.columnDesc+`:`"
>
<el-select
v-model="filterQuery[item.columnName]"
:placeholder="item.columnDesc"
@change="executeFuc($event,'5',item.checkRules)"
:disabled="executeEval(null,item.disabledFuc,false)"
filterable
remote
:remote-method="(query) => executeFuc(query,'5',item.clickFuc)"
clearable
>
<el-option
v-for="item in options[item.clickFuc]"
:key="item.code"
:label="item.label"
:value="item.code"
/>
</el-select>
</el-form-item>
<el-form-item v-if="item.columnType == 'datePicker' && executeEval(row,item.expression,true)"
class="query-form-item"
:label="item.columnDesc+`:`"
<el-row >
<el-col :span="8">
<el-form-item label="时间统计:">
<el-date-picker
:picker-options="pickerOptions"
v-model="actDateRange"
type="daterange"
format="yyyy 年 MM 月 dd 日"
style="width: 90%"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
<el-date-picker
:picker-options="pickerOptions"
v-model="actDateRange"
type="daterange"
format="yyyy 年 MM 月 dd 日"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item v-if="item.columnType == 'date' && executeEval(row,item.expression,true)"
class="query-form-item"
:label="item.columnDesc+`:`"
</el-date-picker>
</el-form-item>
</el-col>
<el-form-item >
<el-button-group>
<el-button
type="primary"
icon="el-icon-refresh"
@click="onReset"
>重置
</el-button>
<el-button type="primary" icon="el-icon-search" @click="onSubmit(this)"
>查询
</el-button
>
<el-date-picker
v-model="filterQuery[item.columnName]"
:style="`width:${item.width+'px'}`"
value-format="yyyy-MM-dd"
:disabled="executeEval(null,item.disabledFuc,false)"
type="date"
:placeholder="item.columnDesc"
></el-date-picker>
</el-form-item>
</div>
</template>
</el-button-group>
</el-form-item>
</el-row>
</el-form>
<div class="top-right-btn">
<el-button-group>
<el-button
type="primary"
icon="el-icon-refresh"
@click="onReset"
>重置
</el-button>
<el-button type="primary" icon="el-icon-search" @click="onSubmit(this)"
>查询
</el-button
>
</el-button-group>
</div>
</el-card>
<div class="mt10 grid-container grid-container3" style="height: 15%">
<div class="mt10 grid-container grid-container3" style="height: 20%">
<el-card class="grid-item" body-style="padding:0px;height:100%" >
@ -178,6 +119,57 @@
</el-row>
</el-card>
</div>
<div class="mt10 grid-container grid-container3" style="height: 500px">
<el-card class="grid-item" body-style="padding:0px;height:100%" >
<el-row >
<div style="width: 100%; height: 100%;
justify-content: center;
align-items: center;">
<!-- <ItemWrap-->
<!-- title="医保上传统计">-->
<Echart
:options="statsChart1"
></Echart>
<!-- </ItemWrap>-->
</div>
</el-row>
</el-card>
<el-card class="grid-item" body-style="padding:0px;height:100%" >
<el-row >
<div style="width: 100%; height:100%;
justify-content: center;
align-items: center;">
<Echart
:options="statsChart2"
></Echart>
</div>
</el-row>
</el-card>
<el-card class="grid-item" body-style="padding:0px;height:100%" >
<el-row >
<div style="width: 100%; height:100%;
justify-content: center;
align-items: center;">
<Echart
:options="statsChart3"
></Echart>
</div>
</el-row>
</el-card>
</div>
</div>
<!-- 分割线 -->
<!-- <div class="m0 grid-container grid-container1" style="height: 100%; display: flex; flex-wrap: wrap;">-->
@ -209,61 +201,7 @@
<!-- ></Echart>-->
<!-- </div>-->
<!-- </div>-->
<template>
<div class="container">
<div class="left">
<div style="width: 100%; height: 500px;
justify-content: center;
align-items: center;">
<Echart
:options="statsChart1"
></Echart>
</div>
</div>
<div class="middle">
<div style="width: 100%; height: 500px;
justify-content: center;
align-items: center;">
<Echart
:options="statsChart2"
></Echart>
</div>
</div>
<div class="right">
<div style="width: 100%; height: 500px;
justify-content: center;
align-items: center;">
<Echart
:options="statsChart3"
></Echart>
</div>
</div>
</div>
</template>
<!-- <div class="mt10 grid-container grid-container3" style="height: 15%" >-->
<!-- <div style="width: 100%; height: 500px;-->
<!-- justify-content: center;-->
<!-- align-items: center;">-->
<!-- <Echart-->
<!-- :options="statsChart1"-->
<!-- ></Echart>-->
<!-- </div>-->
<!-- <div style="width: 100%; height: 500px;-->
<!-- justify-content: center;-->
<!-- align-items: center;">-->
<!-- <Echart-->
<!-- :options="statsChart2"-->
<!-- ></Echart>-->
<!-- </div>-->
<!-- <div style="width: 100%; height: 500px;-->
<!-- justify-content: center;-->
<!-- align-items: center;">-->
<!-- <Echart-->
<!-- :options="statsChart3"-->
<!-- ></Echart>-->
<!-- </div>-->
<!-- </div>-->
@ -311,7 +249,6 @@ export default {
salesScanCount: 0,
fifoSplitOneCount:0,
fifoSplitTwoCount:0,
fifoSplitThreeCount:0,
},
@ -435,7 +372,6 @@ export default {
salesScanCount: res.data.salesScanCount,
fifoSplitOneCount:res.data.fifoSplitOneCount,
fifoSplitTwoCount:res.data.fifoSplitTwoCount,
fifoSplitThreeCount:res.data.fifoSplitThreeCount,
}
@ -464,8 +400,8 @@ export default {
initStatsChart1(){
const dataArr = [
this.stats.buyerScanCount,this.stats.salesScanCount
]
console.log('dataArr',dataArr)
];
console.log('dataArr',dataArr);
this.statsChart1 = {
color: ['#01c6fd'],
grid: {
@ -516,7 +452,8 @@ export default {
color: '#000000'
},
formatter: function (value) {
return value + ""
// y
return (value * 10) + "";
},
},
}
@ -529,21 +466,19 @@ export default {
data: dataArr,
label: {
normal: {
show: true,//
position: 'top',//
textStyle: { //
show: true, //
position: 'top', //
textStyle: { //
color: '#000000'
}
}
}
},
}
]
};
},
initStatsChart2(){
let colors = ["#ff0000","#ffca29", "#01c6fd"];
let colors = ["#d30101","#ffca29", "#01c6fd"];
let piedata = {
name: "医保上传率",
type: "pie",
@ -629,11 +564,11 @@ export default {
lineHeight: 26,
},
c: {
color: "#31ABE3",
color: "#2b91c2",
fontSize: 14,
},
per: {
color: "#31ABE3",
color: "#2b91c2",
fontSize: 14,
},
},
@ -678,7 +613,7 @@ export default {
};
},
initStatsChart3(){
let colors = ["#ff0000","#ffca29", "#01c6fd"];
let colors = ["#d30101", "#01c6fd"];
let piedata = {
name: "赋码方式",
type: "pie",
@ -693,25 +628,19 @@ export default {
data: [
{
value: this.stats.fifoSplitOneCount ,
name: "自动拆零赋码数",
name: "拆零赋码数",
label: {
shadowColor: colors[0],
},
},
{
value: this.stats.fifoSplitTwoCount,
name: "自动整取赋码数",
name: "整取赋码数",
label: {
shadowColor: colors[1],
},
},
{
value: this.stats.fifoSplitThreeCount,
name: "手动赋码数",
label: {
shadowColor: colors[2],
},
},
],
};
this.statsChart3 = {
@ -764,11 +693,11 @@ export default {
lineHeight: 26,
},
c: {
color: "#31ABE3",
color: "#2b91c2",
fontSize: 14,
},
per: {
color: "#31ABE3",
color: "#2b91c2",
fontSize: 14,
},
},
@ -991,5 +920,11 @@ export default {
float: left;
width: 37.5%;
}
//
.contetn_lr-item {
height: 282px;
margin-top: 10px;
}
</style>

Loading…
Cancel
Save