Commit d7badcf1 by wangweidong

Merge remote-tracking branch 'origin/dev' into dev

parents 03871138 83217440
......@@ -5,7 +5,7 @@
:data="getPage.records"
ref="moveTable"
:header-cell-style="{background:'#F8F8F9'}"
:height="tableHeight+20"
:height="tableHeight"
v-loading="loading"
@select-all="_selectAll"
@selection-change="_selectRowChange"
......
......@@ -20,8 +20,8 @@
<!--</PTVXETable>-->
<!--合计 暂时用此表格-->
<ElTableNoPage id="table-year" ref="pageTable" :table-height="300"
:get-page="getPage" hide-checkbox show-summary="true" @on-result-change="_tableResultChange">
<ElTableNoPage id="table-year" ref="pageTable"
:get-page="getPage" @on-result-change="_tableResultChange" hide-checkbox show-summary="true">
<el-table-column
v-for="item in pageColumns"
:key="item.key"
......@@ -49,7 +49,7 @@ export default {
},
data() {
return {
tableHeight: '260',
// tableHeight: '260',
pageColumns: [
{
title: '签订日期',
......@@ -67,6 +67,9 @@ export default {
year: ''
}
},
mounted() {
this.$refs.pageTable._hideLoading()
},
methods: {
_openTable(data, result) {
this.year = data
......
<template>
<div>
<Modal v-model="showModal" width="1200" class="modal-footer-none">
<p slot="header">详情</p>
<div>
<!--内容-->
<Row>
<!--查询-->
<Col span="24">
<Form id="search-personal-detail" :label-width="70" inline onsubmit="return false">
<label class="label-sign"></label>
<Form-item style="width:32%" label="录入时间:">
<Date-picker :editable="false" @on-change="_dateChange" v-model="dateList"
type="daterange" placeholder="录入时间" format="yyyy-MM-dd"
style="width:100%"></Date-picker>
<input v-model="formObj.testDateBegin" type="hidden" name="testDateBegin">
<input v-model="formObj.testDateEnd" type="hidden" name="testDateEnd">
<input v-model="groupIds" type="hidden" name="groupIds">
<input v-model="testerIds" type="hidden" name="testerIds">
</Form-item>
<Form-item style="width:32%" label="检测科室:">
<SelMultiGroup ref="groupModal" @on-result-change="_groupResult"></SelMultiGroup>
</Form-item>
<Form-item style="width:32%" label="检测人:">
<!--显示某几个科室下的人员 isGroupIds为标识-->
<SelMultiUserGroup ref="userModal" @on-result-change="_userResult" is-group-ids></SelMultiUserGroup>
</Form-item>
<Form-item style="width:32%" label="检测项目:">
<Input v-model="formObj.name" @on-enter="_formSearch" name="name" placeholder="请输入检测项目" clearable/>
</Form-item>
<Form-item style="width:32%" label="检测依据:">
<Input v-model="formObj.testBasis" @on-enter="_formSearch" name="testBasis" placeholder="请输入检测依据"
clearable/>
</Form-item>
<Form-item class="search-btn">
<Button @click="_formSearch" type="primary">搜索</Button>
</Form-item>
</Form>
</Col>
<Col span="24">
<btn-list :msg="btn" @on-result-change="_btnClick" class="contHide"></btn-list>
</Col>
<Col span="24">
<PTVXETable id="groupStatisticTable" ref="pageTable" :tableHeight="tableHeight"
@on-result-change="_tableResultChange" :getPage="getPage" select-data>
<vxe-table-column
v-for="item in pageColumns"
:key="item.key"
:field="item.key"
:title="item.title"
:width="item.width"
:min-width="200"
:fixed="item.fixed?item.fixed:undefined"
sortable>
<template slot-scope="scope">
<span v-if="item.date">{{scope.row[item.key]?$dateformat(scope.row[item.key], "yyyy-mm-dd"):''}}</span>
<span v-else-if="item.status">{{scope.row[item.key]?scope.row[item.key].display:''}}</span>
<span v-else>{{scope.row[item.key]}}</span>
</template>
</vxe-table-column>
</PTVXETable>
</Col>
</Row>
</div>
</Modal>
</div>
</template>
<script>
/* 个人检测量统计------项目查看项目详情 */
import SelMultiUserGroup from '../../../components/user-info/SelMultiUserGroup'
import SelMultiGroup from '../../../components/user-info/SelMultiGroup'
export default {
components: { SelMultiUserGroup, SelMultiGroup },
data() {
return {
btn: [{ type: '', id: '', name: '导出' }],
showModal: false,
selectData: [],
getPage: {},
pageColumns: [
{ title: '样品编号', key: 'num', width: 180, fixed: 'left' },
{ title: '样品名称', key: 'sampleName', width: 180 },
{ title: '检测项目', key: 'name', width: 120 },
{ title: '检测值', key: 'testValue', width: 140 },
{ title: '单位', key: 'unit', width: 100 },
{ title: '结果判定', key: 'qualified', width: 100, status: true },
{ title: '单项结论', key: 'singleConclusion', width: 100 },
{ title: '复测值', key: 'retestValue', width: 100 },
{ title: '检出类别', key: 'detectionType', width: 100 },
{ title: '检出限', key: 'detection', width: 100 },
{ title: '检测依据', key: 'testBasis', width: 200 },
{ title: '检测依据名称', key: 'testBasisName', width: 200 },
{ title: '检测方法', key: 'testMethod', width: 200 },
{ title: '判定依据', key: 'judgeBasis', width: 200 },
{ title: '判定依据名称', key: 'judgeBasisName', width: 200 },
{ title: '限量', key: 'limitDefault', width: 100 },
{ title: '检测科室', key: 'groupName', width: 100 },
{ title: '检测人', key: 'tester', width: 100 },
{ title: '录入时间', key: 'testDate', width: 120, date: true }
],
dateList: [],
formObj: {
name: '',
testDateBegin: '',
testDateEnd: '',
testBasis: ''
},
groupIds: [],
testerIds: []
}
},
computed: {
tableHeight: function() {
return this.$tableHeight('tableModal')
}
},
methods: {
// 选择科室返回
_groupResult(data) {
this.groupIds = data
// 查询科室下的人员
if (data.length === 0) {
this.testerIds = []
}
this.$refs.userModal._openUserByGroup(data)
},
// 选择人员返回
_userResult(data) {
this.testerIds = data
},
_dateChange(data) {
this.formObj.testDateBegin = data[0]
this.formObj.testDateEnd = data[1]
},
_open(formObj) {
// 显示科室信息
this.groupIds = formObj.groupIds
this.$refs.groupModal._open(this.groupIds)
// 显示人员信息
this.testerIds = formObj.testerIds
this.$refs.userModal._openUserByGroup(this.groupIds, this.testerIds)
this.selectData = []
this.formObj = this.$resetFields(this.formObj)
/** ***********时间处理*********/
const beginDate = formObj.beginDate ? formObj.beginDate + '-01' : ''
const endDate = formObj.endDate ? formObj.endDate.split('-') : ''
this.formObj.testDateBegin = beginDate || ''
this.formObj.testDateEnd = formObj.endDate
? formObj.endDate + '-' + this.$getLastDay(endDate[0], endDate[1])
: ''
if (formObj.beginDate) {
this.dateList = [
new Date(this.formObj.testDateBegin),
new Date(this.formObj.testDateEnd)
]
} else {
this.dateList = []
}
/** ***********时间处理*********/
this.showModal = true
this.$nextTick(function() {
// this._page()
})
},
_page() {
this.$refs.pageTable._page(
'search-personal-detail',
'FoodItem/yearTestDetail',
this.$serializeFormSearch(this.formObj)
)
},
_formSearch() {
this.$refs.pageTable._pageChange(1)
},
_tableResultChange(msg, data) {
switch (msg) {
case 'page':
this.getPage = this.$store.state.FoodItem.page
break
case 'selectData':
this.selectData = data
break
case 'changeSize':
// this._page()
break
}
},
_btnClick(msg) {
switch (msg) {
case '导出':
if (this.getPage.records.length === 0) {
this.$Message.warning('暂无数据,不可导出!')
} else {
this._export()
}
break
}
},
/** *********************************************导出*****************************************/
_export() {
if (this.selectData.length === 0) {
// 导出全部数据
this._exportOk(this.getPage.total)
} else {
// 只导出选中的数据
this._exportOk(this.selectData.length)
}
},
_exportOk(length) {
this.$Message.destroy()
this.$Modal.confirm({
title: '提示',
content: '确定导出这' + length + '条数据?',
onOk: () => {
if (this.selectData.length > 0) {
this.$exportExcel(
'groupStatisticTable',
'项目统计信息',
this.pageColumns,
this.selectData
)
} else {
this.$Message.loading({
content: '正在处理,请稍后...',
duration: 0
})
this.$store
.dispatch('EnvItem/yearTestDetail', this._searchParams())
.then(() => {
const result = this.$store.state.EnvItem.page.records
this.$exportExcel(
'groupStatisticTable',
'项目统计信息',
this.pageColumns,
result
)
})
}
}
})
},
// 参数
_searchParams() {
const data = this.$serialize('search-personal-detail')
Object.assign(data, this.formObj)
return this.$extend(data, { page: 1, rows: this.$exportRows() })
}
/** *********************************************导出*****************************************/
}
}
</script>
<template>
<div>
<!--内容-->
<div class="layout-content-padding">
<div class="layout-content-main">
<Row>
<!--查询-->
<Col span="24" style="margin-top:10px">
<Form :d="formId" :label-width="90" v-show="searchOpen" inline onsubmit="return false">
<label class="label-sign"></label>
<Form-item class="search-item" label="检定依据:" style="margin-left: -20px">
<Input @on-enter="_formSearch" v-model="formObj.code" name="judgeBasis" placeholder="请输入判定依据" clearable/>
</Form-item>
<Form-item class="search-item" label="检定依据名称:">
<Input @on-enter="_formSearch" v-model="formObj.name" name="judgeBasisName" placeholder="请输入判定依据名称" clearable/>
</Form-item>
<Form-item class="search-btn">
<Button @click="_formSearch" type="primary">搜索</Button>
</Form-item>
</Form>
</Col>
<!--操作-->
<Row style="margin-top: 10px;">
<!--查询条件-->
<Col span="24">
<btn-list :msg="btn" :open="searchOpen" :showSearchBtn="true" @on-result-change="_btnClick"
class="contHide"></btn-list>
<div class="fl">
<Form id="search-form" :label-width="70" inline onsubmit="return false">
<label class="label-sign"></label>
<Form-item class="search-item" label="人员:">
<AutoCompletes :value="tester" :blur="true" :down-data="testerData" @on-result-change="_testerChange"
show-key="realname" placeholder="请选择人员"
></AutoCompletes>
</Form-item>
<!-- <Form-item class="search-item" label="服务类型:">-->
<!-- <Select v-model="serviceType" placeholder="请选择服务类型" clearable>-->
<!-- <Option v-for="item in serviceTypeList" :value="item.name" :key="item.name">{{ item.name }}</Option>-->
<!-- </Select>-->
<!-- </Form-item>-->
<Form-item label="委托日期:">
<el-date-picker
v-model="queryDate"
@change="_dateChange"
type="monthrange"
range-separator="-"
start-placeholder="开始月份"
end-placeholder="结束月份"
size="small"
value-format="yyyy-MM">
</el-date-picker>
</Form-item>
<Form-item class="search-btn">
<Button @click="_search" type="primary" class="width-80">搜索</Button>
</Form-item>
</Form>
</div>
<div class="fr">
<Button @click="_exportSampleForm" class="width-80">导出</Button>
</div>
<div class="clear"></div>
</Col>
<!-- 表格 -->
<!--内容-->
<Col span="24">
<PTVXETable
ref="pageTable"
:form-id="formId"
:tableHeight="tableHeight"
:getPage="getPage"
:iconMsg="iconMsg"
@on-result-change="_tableResultChange">
<vxe-table-column
v-for="item in pageColumns"
:key="item.key"
:field="item.key"
:title="item.title"
:width="item.width"
:min-width="200"
:fixed="item.fixed?item.fixed:undefined"
sortable
>
<template slot-scope="scope">
<span v-if="item.date">{{scope.row[item.key]?$dateformat(scope.row[item.key],'yyyy-mm-dd'):''}}</span>
<span v-else>{{scope.row[item.key]}}</span>
</template>
</vxe-table-column>
</PTVXETable>
<Row :gutter="16">
<Col span="14">
<ElTableNoPage id="table-year" ref="pageTable" :table-height="tableHeight"
:get-page="getPage" @on-result-change="_tableResultChange" hide-checkbox >
<el-table-column fixed type="index" label="序号" width="100">
</el-table-column>
<el-table-column
v-for="item in pageColumns"
:key="item.key"
:prop="item.key"
:label="item.title"
:width="item.width"
:min-width="200"
:fixed="item.fixed?item.fixed:undefined">
<template slot-scope="scope">
<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>
</template>
</el-table-column>
</ElTableNoPage>
</Col>
<Col span="10">
<!--pie-->
<UserTestPie ref="testPieModal"></UserTestPie>
</Col>
</Row>
</Col>
</Row>
</div>
</div>
<!--检测项目详情-->
<Detail ref="detailModal"></Detail>
</div>
</template>
<script>
import { meterAptitude } from '../../../api'
import AutoCompletes from '../../../components/base/AutoCompletes'
import { meterSample } from '../../../api'
import UserTestPie from './UserTestPie'
import Detail from './Detail'
export default {
name: 'MeterAptitudeStandard',
components: {},
components: {
UserTestPie,
AutoCompletes,
Detail
},
data() {
const date = this.$dateformat(new Date(), 'yyyy-mm')
return {
formId: 'meterAptitudeFormId',
beginDate: new Date(),
endDate: new Date(),
groupId: '',
groupName: '',
tester: '',
testerId: '',
pageColumns: [
{ title: '检定依据', key: 'code', width: 160 },
{ title: '检定依据名称', key: 'name' },
{ title: '登记时间', key: 'ctime', date: true, width: 140 },
{ title: '备注', key: 'remark' }
],
btn: [
{ type: 'success', id: '', name: '添加' },
{ type: 'error', id: '', name: '删除' }
],
iconMsg: [
{ type: 'md-create', id: '', name: '编辑' },
{ type: 'md-trash', id: '', name: '删除' }
{ title: '仪器名称', key: 'tester', detail: true },
{ title: '样品量', key: 'total' },
{ title: '样品占比(%)', key: 'ratio' }
],
formObj: {
name: undefined,
code: undefined
groupData: [],
// getPage: [
// {
// tester: 'wwd',
// total: '12',
// ratio: '10%',
// price: '3500'
// },
// {
// tester: 'wwd',
// total: '12',
// ratio: '10%',
// price: '3500'
// },
// {
// tester: 'wwd',
// total: '12',
// ratio: '10%',
// price: '3500'
// }
// ],
getPage: {
records: []
},
searchOpen: true,
selectIds: [],
getPage: {},
typeData: []
tempData: {
groupId: '',
groupName: '',
beginDate: date,
endDate: date
},
testerData: [],
queryDate: [date, date],
serviceType: '',
serviceTypeList: []
}
},
computed: {
tableHeight: function() {
if (this.searchOpen) {
return this.$tableHeight('search')
} else {
return this.$tableHeight('noSearch')
}
return this.$tableHeight('search')
}
},
mounted() {
this._page()
this.$refs.pageTable._hideLoading()
// this._contHide()
// this._getUserGroup()
this._getData()
// this._getServiceTypeList()
},
methods: {
_btnClick(msg) {
switch (msg) {
case '添加':
this._editModal(false)
break
case '删除':
this._deleteSelected()
break
case '导入':
this._import()
break
case '导出':
this._export()
break
case 'search':
this.searchOpen = !this.searchOpen
break
// 服务类型
_getData: async function() {
const result = await meterSample.pagePersonalTaskStatistics()
if (result) {
this.getPage.records = result
this.$refs.testPieModal._openPie(this.getPage.records)
}
},
_iconClick(res, data) {
switch (res) {
case '编辑':
this._editModal(true, data.id)
break
case '删除':
this._deleteById(data.id)
break
case '操作日志':
this._record(data.id)
break
// 检测项目详情
_detailModal(data) {
const obj = {
testerIds: [data.testerId],
groupIds: this.groupIds,
beginDate: this.tempData.beginDate,
endDate: this.tempData.endDate
}
console.log(obj)
// this.$refs.detailModal._open(obj)
},
_page: async function() {
console.log(9522123)
// this.$refs.pageTable._page('search-form-package', 'FoodJudgeBasis/page')
Object.assign(this.formObj, this.$refs.pageTable._searchParams())
console.log('this.formObj', this.formObj)
const result = await meterAptitude.page(this.formObj)
if (result) {
console.log(55555)
console.log(result)
this.getPage = result
console.log(123456789)
console.log(this.getPage)
this.$refs.pageTable._hideLoading()
_dateChange(data) {
if (data) {
this.tempData.beginDate = data[0]
this.tempData.endDate = data[1]
} else {
this.tempData.beginDate = ''
this.tempData.endDate = ''
}
},
_contHide() {
this.tempData.beginDate = this.$dateformat(new Date(), 'yyyy-mm')
this.tempData.endDate = this.$dateformat(new Date(), 'yyyy-mm')
// this._page()
// this._getById()
},
_page() {
const data = {}
if (this.groupId) {
data.groupId = this.groupId
}
if (this.tester && this.testerId) {
data.testerId = this.testerId
} else {
this.testerId = ''
}
if (this.tempData.beginDate) {
data.beginDate = this.tempData.beginDate
}
if (this.tempData.endDate) {
data.endDate = this.tempData.endDate
}
if (this.serviceType) {
data.serviceType = this.serviceType
}
this.$refs.pageTable._page(
'search-form',
'FoodItem/pagePersonalTask',
data
)
},
_formSearch() {
this.$refs.pageTable._pageChange(1)
},
_search() {
this.tempData.groupId = this.groupId
this.tempData.groupName = this.groupId ? this.groupName : ''
this.tempData.serviceType = this.serviceType ? this.serviceType : ''
this.$refs.testPieModal._openPie(this.tempData)
this._formSearch()
},
_tableResultChange(msg, data) {
switch (msg) {
case 'page':
this.getPage = this.$store.state.FoodJudgeBasis.page
break
case 'selectIds':
this.selectIds = data
break
case 'iconClick':
this._iconClick(data.name, data.rowData)
break
case 'changeSize':
this._page()
// this._page()
break
}
},
// 删除
_deleteByIds(ids, content) {
this.$Modal.confirm({
title: '提示',
content: content || '确定删除该记录?',
onOk: () => {
this._delete(ids)
}
})
/** *********************************导出-begin*********************************************/
_exportSampleForm() {
let result = []
this.$store
.dispatch('FoodItem/pagePersonalTask', this._searchParams())
.then(() => {
result = this.$store.state.FoodItem.page.records
this.$Modal.confirm({
title: '提示',
content: '确定导出全部数据?',
onOk: () => {
this.$exportExcel(
'personalTestNum',
'个人检测量统计表',
this.pageColumns,
result
)
}
})
})
},
_delete: async function(ids) {
const result = await meterAptitude.deleteById(ids)
if (result) {
this._formSearch()
this.$Message.success('删除成功!')
// 参数
_searchParams() {
const data = {}
if (this.groupId) {
data.groupId = this.groupId
}
},
_deleteById(id) {
// 删除一条记录
this._deleteByIds([id])
},
_deleteSelected() {
// 批量删除
const ids = this.selectIds
if (ids.length === 0) {
this.$Message.warning('请选择一条或多条数据!')
if (this.tester && this.testerId) {
data.testerId = this.testerId
} else {
this._deleteByIds(ids, '确定删除这 ' + ids.length + ' 条记录?')
this.testerId = ''
}
},
// 编辑&添加
_editModal(edit, id) {
if (edit) {
this._getById(id)
// 编辑
// this.$store.dispatch('FoodJudgeBasis/getById', id).then(() => {
// this.$refs.editModal._open(this.$store.state.FoodJudgeBasis.model)
// })
} else {
// 添加
this.$refs.editModal._open()
if (this.tempData.beginDate) {
data.beginDate = this.tempData.beginDate
}
if (this.tempData.endDate) {
data.endDate = this.tempData.endDate
}
return this.$extend(data, { page: 1, rows: 5000 })
},
_getById: async function(id) {
const result = await meterAptitude.getById(id)
if (result) {
this.$refs.editModal._open(result)
/** *********************************导出样品台账-end*********************************************/
_getUserGroup() {
this.$store.dispatch('LmsUserGroup/list').then(() => {
this.groupData = this.$store.state.LmsUserGroup.list
})
},
// 主检人&检测科室
_groupChange(data) {
if (data) {
this.groupName = data.label
this.groupId = data.value
this.testerId = ''
this.tester = ''
this._getUserList(data.value)
}
},
// 导入
_import() {
const data = {
importUrl:
'/food/v1/food_aptitude_judge_basis/food_aptitude_judge_import',
downloadUrl: '/food/v1/excel/template/FoodAptitudeJudgeBasis',
title: '导入检验方法管理'
}
this.$refs.sampleModal._open(data)
_getUserList(groupId, realname) {
const data = { page: 1, rows: 50 }
if (groupId) {
Object.assign(data, { groupId: groupId })
}
if (realname) {
Object.assign(data, { realname: realname })
}
this.$store.dispatch('LmsUserGroup/getUserByGroupId', data).then(() => {
this.testerData = this.$store.state.LmsUserGroup.userPage.records
})
},
// 导出
_export() {
console.log('.this.selectIds', this.selectIds)
if (this.selectIds.length === 0) {
this.$Message.warning('请选择需要导出的数据')
} else {
const content = '确定导出 ' + this.selectIds.length + ' 条记录?'
this.$Modal.confirm({
title: '提示',
content: content,
onOk: () => {
// eslint-disable-next-line no-undef
http.open(
'/food/v1/food_aptitude_judge_basis/food_aptitude_judge_export?ids=' +
this.selectIds
)
}
})
_testerChange(msg, data) {
switch (msg) {
case 'select':
this.tester = data.realname
this.testerId = data.userId
break
case 'blur':
this.tester = ''
break
case 'query':
this.tester = data.realname
this._getUserList('', data.realname)
break
}
}
}
}
</script>
<style scoped>
</style>
<template>
<div class="border-chart-color">
<div class="chartTitle">
<label>{{groupName}} 器具检测量比率</label>
</div>
<div :style="heightObj" class="chartCont">
<div v-if="showStatistic" style="width:90%">
<IEcharts :option="option" :style="optionObj"></IEcharts>
</div>
<div v-else :style="noDataObj" class="no-statistic-bg"></div>
</div>
<form id="persontal-task-pie">
<input name="groupId" type="hidden"/>
<input name="beginDate" type="hidden"/>
<input name="endDate" type="hidden"/>
<input name="groupName" type="hidden"/>
<input name="serviceType" type="hidden"/>
</form>
</div>
</template>
<script>
// import IEcharts from 'vue-echarts-v3/src/full'
export default {
// components: { IEcharts },
data() {
return {
// 科室名称
groupName: '',
showStatistic: true,
heightObj: {
height: '300px'
},
option: {
title: {
x: 'center',
textStyle: {
fontSize: 14,
fontWeight: 'normal'
}
},
tooltip: {
trigger: 'item',
formatter: function(a) {
return (
a.name +
'</br>样品量: ' +
a.data.value +
'<br>占比: ' +
a.percent +
'%'
)
}
},
legend: {
type: 'scroll',
orient: 'vertical',
right: 0,
top: 20,
bottom: 20,
data: []
},
color: this.$echartColor,
series: [
{
name: '访问来源',
type: 'pie',
radius: ['50%', '70%'],
avoidLabelOverlap: false,
label: {
show: false,
position: 'center'
},
emphasis: {
label: {
show: true,
fontSize: '30',
fontWeight: 'bold'
}
},
labelLine: {
show: false
},
data: []
}
]
},
optionObj: {
height: ''
},
noDataObj: {
marginTop: ''
}
}
},
mounted() {
this._contHide()
},
methods: {
_contHide() {
this.optionObj.height = document.documentElement.clientHeight - 300 + 'px'
this.heightObj.height = document.documentElement.clientHeight - 272 + 'px'
this.noDataObj.marginTop =
(document.documentElement.clientHeight - 450) / 2 + 'px'
this.optionObj.width =
(document.documentElement.clientWidth - 200) / 2.6 + 'px'
},
_openPie(data) {
console.log('123456')
// alert(this.option.series[0].data)
const testerList = []
const seriesList = []
let total = 0
for (let i = 0; i < data.length; i++) {
testerList.push(data[i].tester)
total = total + data[i].total
seriesList.push({
value: data[i].total,
name: data[i].tester,
total: data[i].total,
ratio: data[i].ratio
})
}
this.option.title.text = '检测项目总量(个):' + total
this.option.legend.data = testerList
this.option.series[0].data = seriesList
console.log(this.option.series[0].data)
},
_searchParams() {
const data = this.$serialize('persontal-task-pie')
return this.$extend(data)
}
}
}
</script>
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