Files
UNION_NSI/target/classes/views/platform/syr/info/lxresult.html
T
2026-09-08 19:49:21 +08:00

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>
<!--#
}
#-->