232 lines
9.8 KiB
HTML
232 lines
9.8 KiB
HTML
<!--#
|
|
layout("/layouts/platform.html"){
|
|
#-->
|
|
<!--校工会立项结果-->
|
|
<div id="app" v-cloak>
|
|
<guava ref="guava">
|
|
<syr-table :smm.sync="smm" auditval="审核" ref="syrTable" request="/platfotm/syr/info/lxresult/pageData">
|
|
<template slot="operation">
|
|
<el-table-column label="操作" fixed="right" width="200px">
|
|
<template slot-scope="{row}">
|
|
<el-button size="mini" :type="row.state>50?null:'primary'"
|
|
@click="openView(row,row.state>50)">
|
|
{{row.state>50?'查看':'评审'}}
|
|
</el-button>
|
|
<el-button size="mini" type="danger" v-if="row.state>50 && row.state<=60"
|
|
@click="doRollBack(row)">撤回
|
|
</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
</template>
|
|
</syr-table>
|
|
|
|
|
|
<template #edit>
|
|
<syr-info-new ref="auditInfo">
|
|
<template #handle>
|
|
<el-tab-pane label="校工会立项评审" name="xghlxsh">
|
|
<el-form :model="formData" label-width="120px" ref="Form">
|
|
<el-form-item label="审核人">
|
|
${@shiro.getPrincipalProperty('username')}
|
|
</el-form-item>
|
|
<el-form-item label="审核时间">
|
|
{{moment().format('YYYY-MM-DD')}}
|
|
</el-form-item>
|
|
<!-- <el-form-item label="评委评审统计">-->
|
|
<!-- <div style="display: flex">-->
|
|
<!-- <div id="jylxDiv2" class="text-center" style="width: 300px;height: 300px"></div>-->
|
|
<!-- <div id="lxlevelDiv2" class="text-center" style="width: 300px;height: 300px"></div>-->
|
|
<!-- </div>-->
|
|
<!-- </el-form-item>-->
|
|
<el-form-item label="立项结果" prop="lxresult">
|
|
<el-radio-group size="mini" v-model="formData.lxresult">
|
|
<el-radio label="1">立项</el-radio>
|
|
<el-radio label="0">不予立项</el-radio>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
<el-form-item label="立项等次" prop="lxlevel" v-if="formData.lxresult==='1'">
|
|
<el-radio-group size="mini" v-model="formData.lxlevel">
|
|
<el-radio label="2000" value="2000">2000元</el-radio>
|
|
<el-radio label="3000" value="3000">3000元</el-radio>
|
|
<el-radio label="5000" value="5000">5000元</el-radio>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
<!-- <el-form-item label="签字" prop="xghlxqz">
|
|
<sign :qz.sync="formData.xghlxqz" prefix="xghlxqz"></sign>
|
|
</el-form-item>-->
|
|
</el-form>
|
|
<el-row class="mt20 text-center">
|
|
<el-button @click="smm.status='table'">返 回</el-button>
|
|
<el-button @click="doHandle(true)" type="primary">提 交</el-button>
|
|
</el-row>
|
|
</el-tab-pane>
|
|
</template>
|
|
</syr-info-new>
|
|
</template>
|
|
|
|
<template #view>
|
|
<syr-info-new ref="viewInfo"></syr-info-new>
|
|
</template>
|
|
|
|
</guava>
|
|
|
|
</div>
|
|
<script>
|
|
let jylxPlot = null
|
|
let lxlevelPlot = null
|
|
|
|
let vue = new Vue({
|
|
el: '#app',
|
|
mixins: [initTableMixins],
|
|
data() {
|
|
return {
|
|
smm: {
|
|
status: 'table'
|
|
},
|
|
formData: {},
|
|
handleShow: false,
|
|
pwlxpstj: {
|
|
lxl: '',
|
|
blxl: '',
|
|
twotl: '',
|
|
threetl: '',
|
|
fivetl: ''
|
|
}
|
|
}
|
|
},
|
|
components: {
|
|
'syr-table': httpVueLoader('/components/syr/syrtable.vue'),
|
|
// 'syr-info': httpVueLoader('/components/syr/syrinfo.vue'),
|
|
'syr-info-new': httpVueLoader('/components/syr/SyrInfoNew.vue'),
|
|
},
|
|
methods: {
|
|
openView(row, isView) {
|
|
if (isView) {
|
|
this.$refs.guava.view()
|
|
this.$refs.viewInfo.openView(row.id)
|
|
} else {
|
|
this.$refs.guava.edit()
|
|
this.$refs.auditInfo.openView(row.id, 'xghlxsh')
|
|
this.formData = {
|
|
id: row.id,
|
|
lxresult: '1',
|
|
lxlevel: '2000'
|
|
}
|
|
}
|
|
|
|
// this.handleShow = row.state === 50
|
|
// this.smm = {
|
|
// status: 'detail',
|
|
// id: row.id,
|
|
// showpane: [1, 2, 3, 4, 5],
|
|
// active: this.handleShow ? 'xghlxsh' : '1'
|
|
// }
|
|
// this.initPlot()
|
|
},
|
|
async doHandle() {
|
|
if (this.formData.xghlxqz === '') {
|
|
this.$message.info('请扫描二维码签字')
|
|
return
|
|
}
|
|
console.log(this.formData)
|
|
const resp = await $.post('/platfotm/syr/info/lxresult/doHandle', this.formData)
|
|
if (resp.code === 0) {
|
|
this.$refs.guava.index()
|
|
this.$refs['syrTable'].doSearch()
|
|
this.notifySuccess(resp.msg)
|
|
}
|
|
},
|
|
async doRollBack(row){
|
|
const resp = await $.get('/platfotm/syr/info/yjsh/doRollBack',{id:row.id,state:row.state})
|
|
if (resp.code === 0){
|
|
this.notifySuccess(resp.msg)
|
|
this.$refs['syrTable'].doSearch()
|
|
}
|
|
},
|
|
initPlot() {
|
|
$.get(base + '/platform/syr/common/findOne', {id: this.formData.id}).then(({data}) => {
|
|
this.$nextTick(() => {
|
|
let pxlxpsArr = data.lxpsxx
|
|
let jylxArr = pxlxpsArr.filter(o => o.isjylx === 1)
|
|
let bjylxArr = pxlxpsArr.filter(o => o.isjylx === 0)
|
|
|
|
const jylxChart = echarts.init(document.getElementById('jylxDiv2'))
|
|
const value = (jylxArr.length / pxlxpsArr.length) * 100;
|
|
const option = {
|
|
tooltip: {
|
|
formatter: '{a} <br/>{b} : {c}%'
|
|
},
|
|
series: [
|
|
{
|
|
name: 'Pressure',
|
|
type: 'gauge',
|
|
progress: {
|
|
show: true
|
|
},
|
|
detail: {
|
|
valueAnimation: true,
|
|
formatter: '{value}'
|
|
},
|
|
data: [
|
|
{
|
|
value: value,
|
|
name: '建议立项率'
|
|
}
|
|
]
|
|
}
|
|
]
|
|
};
|
|
jylxChart.setOption(option)
|
|
|
|
const level2List = pxlxpsArr.filter(o => o.lxlevel === '2000')
|
|
const level3List = pxlxpsArr.filter(o => o.lxlevel === '3000')
|
|
const level5List = pxlxpsArr.filter(o => o.lxlevel === '5000')
|
|
|
|
let levelData = [
|
|
{name: '2000元', value: level2List.length},
|
|
{name: '3000元', value: level3List.length},
|
|
{
|
|
name: '5000元', value: level5List.length
|
|
}]
|
|
|
|
const lxlevelChart = echarts.init(document.getElementById('lxlevelDiv2'))
|
|
lxlevelChart.setOption({
|
|
legend: {
|
|
orient: 'vertical',
|
|
left: 'left'
|
|
},
|
|
tooltip: {
|
|
trigger: 'item'
|
|
},
|
|
series: [
|
|
{
|
|
name: '立项等次',
|
|
type: 'pie',
|
|
radius: '50%',
|
|
data: levelData,
|
|
emphasis: {
|
|
itemStyle: {
|
|
shadowBlur: 10,
|
|
shadowOffsetX: 0,
|
|
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
|
}
|
|
}
|
|
}
|
|
]
|
|
})
|
|
|
|
|
|
})
|
|
})
|
|
|
|
}
|
|
}
|
|
})
|
|
</script>
|
|
|
|
<!--#
|
|
}
|
|
#-->
|
|
|
|
|