Commit dcf48320 by lichengming
parents f02a026a aabfa498
...@@ -198,5 +198,10 @@ export default { ...@@ -198,5 +198,10 @@ export default {
'&user=' + '&user=' +
data.user data.user
) )
.then(res => res),
pagePersonalTaskStatistics: data =>
http
.post('meter/v1/sample/page_personal_task_statistics', data)
.then(res => res) .then(res => res)
} }
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
<Form id="search-form" :label-width="70" inline onsubmit="return false"> <Form id="search-form" :label-width="70" inline onsubmit="return false">
<label class="label-sign"></label> <label class="label-sign"></label>
<Form-item class="search-item" label="人员:"> <Form-item class="search-item" label="人员:">
<AutoCompletes :value="tester" :blur="true" :down-data="testerData" @on-result-change="_testerChange" <AutoCompletes :value="tester" :blur="true" :down-data="testerData" show-key="realname"
show-key="realname" placeholder="请选择人员" placeholder="请选择人员" @on-result-change="_testerChange"
></AutoCompletes> ></AutoCompletes>
</Form-item> </Form-item>
<!-- <Form-item class="search-item" label="服务类型:">--> <!-- <Form-item class="search-item" label="服务类型:">-->
...@@ -21,22 +21,22 @@ ...@@ -21,22 +21,22 @@
<Form-item label="委托日期:"> <Form-item label="委托日期:">
<el-date-picker <el-date-picker
v-model="queryDate" v-model="queryDate"
@change="_dateChange"
type="monthrange" type="monthrange"
range-separator="-" range-separator="-"
start-placeholder="开始月份" start-placeholder="开始月份"
end-placeholder="结束月份" end-placeholder="结束月份"
size="small" size="small"
value-format="yyyy-MM"> value-format="yyyy-MM"
@change="_dateChange">
</el-date-picker> </el-date-picker>
</Form-item> </Form-item>
<Form-item class="search-btn"> <Form-item class="search-btn">
<Button @click="_search" type="primary" class="width-80">搜索</Button> <Button type="primary" class="width-80" @click="_search">搜索</Button>
</Form-item> </Form-item>
</Form> </Form>
</div> </div>
<div class="fr"> <div class="fr">
<Button @click="_exportSampleForm" class="width-80">导出</Button> <Button class="width-80" @click="_exportSampleForm">导出</Button>
</div> </div>
<div class="clear"></div> <div class="clear"></div>
</Col> </Col>
...@@ -44,18 +44,18 @@ ...@@ -44,18 +44,18 @@
<Col span="24"> <Col span="24">
<Row :gutter="16"> <Row :gutter="16">
<Col span="14"> <Col span="14">
<ElTableNoPage id="table-year" ref="pageTable" :tableHeight="tableHeight" <ElTableNoPage id="table-year" ref="pageTable" :table-height="tableHeight"
@on-result-change="_tableResultChange" :getPage="getPage" hide-checkbox > :get-page="getPage" hide-checkbox @on-result-change="_tableResultChange" >
<el-table-column fixed type="index" label="序号" width="100"> <el-table-column fixed type="index" label="序号" width="100">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
v-for="item in pageColumns"
:key="item.key"
:prop="item.key" :prop="item.key"
:label="item.title" :label="item.title"
:width="item.width" :width="item.width"
:min-width="200" :min-width="200"
:fixed="item.fixed?item.fixed:undefined" :fixed="item.fixed?item.fixed:undefined">
v-for="item in pageColumns"
:key="item.key">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="item.detail"><a @click.stop="_detailModal(scope.row)">{{scope.row[item.key]}}</a></div> <div v-if="item.detail"><a @click.stop="_detailModal(scope.row)">{{scope.row[item.key]}}</a></div>
<span v-else>{{scope.row[item.key]}}</span> <span v-else>{{scope.row[item.key]}}</span>
...@@ -79,6 +79,7 @@ ...@@ -79,6 +79,7 @@
<script> <script>
import AutoCompletes from '../../../components/base/AutoCompletes' import AutoCompletes from '../../../components/base/AutoCompletes'
import { meterSample } from '../../../api'
import UserTestPie from './UserTestPie' import UserTestPie from './UserTestPie'
import Detail from './Detail' import Detail from './Detail'
...@@ -100,8 +101,7 @@ export default { ...@@ -100,8 +101,7 @@ export default {
pageColumns: [ pageColumns: [
{ title: '姓名', key: 'tester', detail: true }, { title: '姓名', key: 'tester', detail: true },
{ title: '样品量', key: 'total' }, { title: '样品量', key: 'total' },
{ title: '样品占比(%)', key: 'ratio' }, { title: '样品占比(%)', key: 'ratio' }
{ title: '样品总价', key: 'price', width: 205 }
], ],
groupData: [], groupData: [],
// getPage: [ // getPage: [
...@@ -125,44 +125,7 @@ export default { ...@@ -125,44 +125,7 @@ export default {
// } // }
// ], // ],
getPage: { getPage: {
records: [ records: []
{
tester: 'wwd',
total: '12',
ratio: '10%',
price: '3500'
},
{
tester: 'wwd',
total: '12',
ratio: '10%',
price: '3500'
},
{
tester: 'wwd',
total: '12',
ratio: '10%',
price: '3500'
},
{
tester: 'wwd',
total: '12',
ratio: '10%',
price: '3500'
},
{
tester: 'wwd',
total: '12',
ratio: '10%',
price: '3500'
},
{
tester: 'wwd',
total: '12',
ratio: '10%',
price: '3500'
}
]
}, },
tempData: { tempData: {
groupId: '', groupId: '',
...@@ -185,15 +148,17 @@ export default { ...@@ -185,15 +148,17 @@ export default {
this.$refs.pageTable._hideLoading() this.$refs.pageTable._hideLoading()
// this._contHide() // this._contHide()
// this._getUserGroup() // this._getUserGroup()
// this._getUserList() this._getData()
// this._getServiceTypeList() // this._getServiceTypeList()
}, },
methods: { methods: {
// 服务类型 // 服务类型
_getServiceTypeList() { _getData: async function() {
this.$store.dispatch('LmsServiceType/list').then(() => { const result = await meterSample.pagePersonalTaskStatistics()
this.serviceTypeList = this.$store.state.LmsServiceType.list if (result) {
}) this.getPage.records = result
this.$refs.testPieModal._openPie(this.getPage.records)
}
}, },
// 检测项目详情 // 检测项目详情
_detailModal(data) { _detailModal(data) {
...@@ -221,19 +186,6 @@ export default { ...@@ -221,19 +186,6 @@ export default {
// this._page() // this._page()
// this._getById() // this._getById()
}, },
_getById() {
this.$store
.dispatch('FoodItem/getMostTaskId', {
beginDate: this.tempData.beginDate,
endDate: this.tempData.endDate
})
.then(() => {
const result = this.$store.state.FoodItem.list
this.tempData.groupId = result.groupId
this.tempData.groupName = result.groupName
this.$refs.testPieModal._openPie(this.tempData)
})
},
_page() { _page() {
const data = {} const data = {}
if (this.groupId) { if (this.groupId) {
......
<template> <template>
<div class="border-chart-color"> <div class="border-chart-color">
<div class="chartTitle"> <div class="chartTitle">
<label>{{groupName}} 科室员工工作量比率</label> <label>{{groupName}} 员工工作量比率</label>
</div> </div>
<div :style="heightObj" class="chartCont"> <div :style="heightObj" class="chartCont">
<div v-if="showStatistic" style="width:90%"> <div v-if="showStatistic" style="width:90%">
...@@ -44,8 +44,8 @@ export default { ...@@ -44,8 +44,8 @@ export default {
formatter: function(a) { formatter: function(a) {
return ( return (
a.name + a.name +
'</br>检测项目: ' + '</br>样品量: ' +
a.data.total + a.data.value +
'<br>占比: ' + '<br>占比: ' +
a.percent + a.percent +
'%' '%'
...@@ -81,13 +81,7 @@ export default { ...@@ -81,13 +81,7 @@ export default {
labelLine: { labelLine: {
show: false show: false
}, },
data: [ data: []
{ value: 335, name: '直接访问' },
{ value: 310, name: '邮件营销' },
{ value: 234, name: '联盟广告' },
{ value: 135, name: '视频广告' },
{ value: 1548, name: '搜索引擎' }
]
} }
] ]
}, },
...@@ -112,50 +106,10 @@ export default { ...@@ -112,50 +106,10 @@ export default {
(document.documentElement.clientWidth - 200) / 2.6 + 'px' (document.documentElement.clientWidth - 200) / 2.6 + 'px'
}, },
_openPie(data) { _openPie(data) {
this.showStatistic = false // alert(this.option.series[0].data)
$('input[name=groupId]').val(data.groupId) // this.option.series[0].data = data
$('input[name=beginDate]').val(data.beginDate)
$('input[name=endDate]').val(data.endDate)
$('input[name=serviceType]').val(data.serviceType)
this.groupName = data.groupName
if (data.groupName) {
this._getTask()
} else {
this.option.title.text = '检测项目总量(个):' + 0
this.option.legend.data = []
this.option.series[0].data = []
}
},
_getTask() {
const testerList = []
const seriesList = []
let total = 0
this.$store
.dispatch('FoodItem/pagePersonalTaskPie', this._searchParams())
.then(() => {
const result = this.$store.state.FoodItem.list
if (result !== undefined) {
for (let i = 0; i < result.length; i++) {
testerList.push(result[i].tester)
total = total + result[i].total
seriesList.push({
value: result[i].total,
name: result[i].tester,
total: result[i].total,
ratio: result[i].ratio
})
}
if (testerList.length === 0) {
this.showStatistic = false
} else {
this.showStatistic = true
}
}
this.option.title.text = '检测项目总量(个):' + total
this.option.legend.data = testerList
this.option.series[0].data = seriesList
})
}, },
_searchParams() { _searchParams() {
const data = this.$serialize('persontal-task-pie') const data = this.$serialize('persontal-task-pie')
return this.$extend(data) return this.$extend(data)
......
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