first commit
This commit is contained in:
@@ -0,0 +1,141 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<style>
|
||||
.el-divider {
|
||||
background-color: #409EFF;
|
||||
}
|
||||
|
||||
.el-divider__text {
|
||||
color: #409EFF;
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<syr-table :smm.sync="smm" auditval="申请" ref="syrTable" request="/platfotm/syr/info/jtsq/pageData">
|
||||
<template slot="operation">
|
||||
<el-table-column label="操作" fixed="right" width="100">
|
||||
<template slot-scope="{row}">
|
||||
<el-button size="mini" :type="row.state>90?null:'primary'"
|
||||
@click="openView(row,row.state>90)">
|
||||
{{row.state>90?'查看':'结题申请'}}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</syr-table>
|
||||
|
||||
<template #edit>
|
||||
<syr-info-new ref="auditInfo">
|
||||
<template slot="handle">
|
||||
<el-tab-pane label="结题申请" name="jtsq">
|
||||
<el-form :model="formData" :rules="rules" label-position="top" ref="Form">
|
||||
<el-divider content-position="left">结题报告书</el-divider>
|
||||
<el-form-item label="项目研究实践的主要内容及方法(不超过500字)" prop="zynr" prop="zynr">
|
||||
<el-input maxlength="300" rows="5" type="textarea" v-model="formData.zynr"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="成果自我评价及应用范围或取得的社会效益(不超过500字)" prop="zwpjshxy" prop="zwpjshxy">
|
||||
<el-input maxlength="300" rows="5" type="textarea"
|
||||
v-model="formData.zwpjshxy"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="主要成果介绍(不超过500字)" prop="zycgjs" prop="zycgjs">
|
||||
<el-input maxlength="300" rows="5" type="textarea" v-model="formData.zycgjs"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="经费使用情况(不超过500字)" prop="jfsyqk" prop="jfsyqk">
|
||||
<el-input maxlength="300" rows="5" type="textarea" v-model="formData.jfsyqk"></el-input>
|
||||
</el-form-item>
|
||||
<el-divider content-position="left">项目研究实践成果及佐证材料(2个文件,只能上传doc、docx、pdf)</el-divider>
|
||||
<el-form-item label="">
|
||||
<wp-upload
|
||||
:allow-files="['doc','docx','pdf']"
|
||||
:max-file-number="2"
|
||||
:upload-auto="false"
|
||||
ref="upload"></wp-upload>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row class="mt20 text-center">
|
||||
<el-button @click="$refs.guava.index()">返 回</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 vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
smm: {
|
||||
status: 'table'
|
||||
},
|
||||
formData: {},
|
||||
handleShow: false,
|
||||
rules: {
|
||||
zynr: [{required: true, message: '请填写项目研究实践的主要内容及方法', trigger: ['blur', 'change']}],
|
||||
zwpjshxy: [{required: true, message: '请填写成果自我评价及应用范围或取得的社会效益', trigger: ['blur', 'change']}],
|
||||
zycgjs: [{required: true, message: '请填写主要成果介绍', trigger: ['blur', 'change']}],
|
||||
jfsyqk: [{required: true, message: '请填写经费使用情况', trigger: ['blur', 'change']}]
|
||||
}
|
||||
}
|
||||
},
|
||||
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, 'jtsq')
|
||||
this.formData = {
|
||||
xmid: row.id
|
||||
}
|
||||
}
|
||||
},
|
||||
async doHandle(res) {
|
||||
let fd = new FormData()
|
||||
this.$refs['Form'].validate(async valid => {
|
||||
if (valid) {
|
||||
fd.append("xx", JSON.stringify(this.formData))
|
||||
for (let f of this.$refs.upload.fileShowArray) {
|
||||
fd.append("files", f.file)
|
||||
}
|
||||
$.ajax({
|
||||
url: base + '/platfotm/syr/info/jtsq/doHandle',
|
||||
type: "post",
|
||||
data: fd,
|
||||
processData: false,
|
||||
contentType: false
|
||||
}).then(resp => {
|
||||
if (resp.code === 0) {
|
||||
this.$refs.guava.index()
|
||||
this.notifySuccess(resp.msg)
|
||||
this.$refs['syrTable'].doSearch()
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -0,0 +1,213 @@
|
||||
<!--#
|
||||
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="100">
|
||||
<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>
|
||||
</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>
|
||||
<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() {
|
||||
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)
|
||||
}
|
||||
},
|
||||
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>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
|
||||
@@ -0,0 +1,112 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.inline-flex {
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
.flexbox {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.flexbox .el-form-item {
|
||||
width: 33.3%;
|
||||
}
|
||||
|
||||
.el-form .el-select, .el-form .el-date-editor {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.el-divider {
|
||||
background-color: #409EFF;
|
||||
}
|
||||
|
||||
.el-divider__text {
|
||||
color: #409EFF;
|
||||
}
|
||||
|
||||
.w-e-text-container {
|
||||
height: 250px !important;
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<!-- <syr-info :smm.sync="smm"></syr-info>-->
|
||||
<syr-table :smm.sync="smm" isshow ref="syrTable" request="/platfotm/syr/info/mykt/pageData">
|
||||
<template slot="operation">
|
||||
<el-table-column label="操作" fixed="right" width="300">
|
||||
<template slot-scope="{row}">
|
||||
<el-button size="mini" @click="openView(row)">查看</el-button>
|
||||
<el-button size="mini" @click="exportlxsbs(row.id)">导出</el-button>
|
||||
<el-button @click="openEdit(row)" size="mini" type="primary" v-if="[10,20].includes(row.state)">
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button @click="doDelete(row.id)" size="mini" type="danger"
|
||||
v-if="[10,20].includes(row.state)">删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</syr-table>
|
||||
|
||||
<template #view>
|
||||
<syr-info-new ref="viewInfo"></syr-info-new>
|
||||
</template>
|
||||
|
||||
</guava>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
let vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
smm: {
|
||||
status: 'table',
|
||||
id: '',
|
||||
active: '1',
|
||||
showpane: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
||||
},
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'syr-table': httpVueLoader('/components/syr/syrtable.vue'),
|
||||
'syr-info-new': httpVueLoader('/components/syr/SyrInfoNew.vue'),
|
||||
},
|
||||
methods: {
|
||||
openView(row) {
|
||||
this.$refs.guava.view()
|
||||
this.$refs.viewInfo.openView(row.id)
|
||||
},
|
||||
openEdit(row) {
|
||||
sublime.jumpPagePjax('/platfotm/syr/info/xtsb?id=' + row.id)
|
||||
},
|
||||
async doDelete(id) {
|
||||
const confirm = await this.$confirm('此操作将永久删除该记录, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
if (confirm === 'confirm') {
|
||||
const resp = await $.post('/platfotm/syr/info/mykt/doDelete', {id: id})
|
||||
if (resp.code === 0) {
|
||||
this.notifySuccess(resp.msg)
|
||||
this.doSearch()
|
||||
}
|
||||
}
|
||||
},
|
||||
exportlxsbs(id) {
|
||||
window.open('/platform/syr/common/exportlxsbs?id=' + id)
|
||||
}
|
||||
},
|
||||
created() {
|
||||
//this.pageData()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,115 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<!--校工会评审结果-->
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<syr-table :smm.sync="smm" auditval="评审" ref="syrTable" request="/platfotm/syr/info/psjg/pageData">
|
||||
<template slot="operation">
|
||||
<el-table-column label="操作" fixed="right" width="100">
|
||||
<template slot-scope="{row}">
|
||||
<el-button size="mini" :type="row.state>110?null:'primary'"
|
||||
@click="openView(row,row.state>110)">
|
||||
{{row.state>110?'查看':'评审'}}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</syr-table>
|
||||
|
||||
<template #edit>
|
||||
<syr-info-new ref="auditInfo">
|
||||
<template slot="handle">
|
||||
<el-tab-pane label="校工会评审结果" name="xghpsjg">
|
||||
<el-form :model="formData" label-width="100px" 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="是否通过" prop="ispass">
|
||||
<el-radio-group v-model="formData.ispass">
|
||||
<el-radio label="1" value="1">是</el-radio>
|
||||
<el-radio label="0" value="0">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否优秀" prop="isgood" v-if="formData.ispass==='1'">
|
||||
<el-radio-group v-model="formData.isgood">
|
||||
<el-radio label="1" value="1">是</el-radio>
|
||||
<el-radio label="0" value="0">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row class="mt20 text-center">
|
||||
<el-button @click="$refs.guava.index()">返 回</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 vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
smm: {
|
||||
status: 'table'
|
||||
},
|
||||
unionList: [],
|
||||
unitList: [],
|
||||
searchData: {
|
||||
unionid: '',
|
||||
unitid: ''
|
||||
},
|
||||
formData: {},
|
||||
handleShow: false
|
||||
}
|
||||
},
|
||||
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, 'xghpsjg')
|
||||
this.formData = {
|
||||
id: row.id,
|
||||
ispass: '1',
|
||||
isgood: '1'
|
||||
}
|
||||
}
|
||||
},
|
||||
async doHandle() {
|
||||
const resp = await $.post('/platfotm/syr/info/psjg/doHandle', this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$refs.guava.index()
|
||||
this.notifySuccess(resp.msg)
|
||||
this.$refs['syrTable'].doSearch()
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,154 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.el-radio-group {
|
||||
vertical-align: unset !important;
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-clock>
|
||||
<guava ref="guava">
|
||||
<syr-table :smm.sync="smm" auditval="评审" ref="syrTable" request="/platfotm/syr/info/pwjtps/pageData">
|
||||
<template slot="operation">
|
||||
<el-table-column label="操作" fixed="right" width="100">
|
||||
<template slot-scope="{row}">
|
||||
<!--如果是超管 根据状态来判断评委是否都评审完-->
|
||||
<el-button v-if="hasAdminRole"
|
||||
size="mini"
|
||||
:type="row.state>100?null:'primary'"
|
||||
@click="openView(row,row.state>100)">
|
||||
{{row.state>100?'查看':'评审'}}
|
||||
</el-button>
|
||||
<!--如果是评委 看他自己有没有评审-->
|
||||
<el-button v-else
|
||||
size="mini"
|
||||
:type="row.isps!==null?null:'primary'"
|
||||
@click="openView(row,row.isps!==null)">
|
||||
{{row.isps!==null?'查看':'评审'}}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</syr-table>
|
||||
|
||||
<template #edit>
|
||||
<syr-info-new ref="auditInfo">
|
||||
<template slot="handle">
|
||||
<el-tab-pane label="评委结题评审" name="pwjtps">
|
||||
<el-form :model="formData" :rules="rules" label-width="100px" ref="Form">
|
||||
<el-form-item label="评委" prop="pwid">
|
||||
<span v-if="${@shiro.hasRole('sysadmin')}">
|
||||
<el-select v-model="formData.pwid">
|
||||
<el-option v-for="u in userList"
|
||||
:value="u.userid"
|
||||
:key="u.userid"
|
||||
:label="u.username + '-' +u.loginname">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</span>
|
||||
<span v-else>
|
||||
${@shiro.getPrincipalProperty('username')}
|
||||
</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="审核时间">
|
||||
{{moment().format('YYYY-MM-DD')}}
|
||||
</el-form-item>
|
||||
<el-form-item label="是否通过" prop="ispass">
|
||||
<el-radio-group v-model="formData.ispass">
|
||||
<el-radio label="1" value="1">是</el-radio>
|
||||
<el-radio label="0" value="0">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否优秀" prop="isgood" v-if="formData.ispass==='1'">
|
||||
<el-radio-group v-model="formData.isgood">
|
||||
<el-radio label="1" value="1">是</el-radio>
|
||||
<el-radio label="0" value="0">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="评审建议" prop="psjy">
|
||||
<el-input maxlength="100" rows="5" type="textarea" v-model="formData.psjy"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row class="mt20 text-center">
|
||||
<el-button @click="$refs.guava.index()">返 回</el-button>
|
||||
<el-button @click="doHandle" 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 vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
smm: {
|
||||
status: 'table'
|
||||
},
|
||||
formData: {},
|
||||
handleShow: false,
|
||||
userList: [],
|
||||
rules: {
|
||||
pwid: [{required: true, message: '请选择评委', trigger: ['blur', 'change']}],
|
||||
psjy: [
|
||||
{required: true, message: '请填写评审建议', trigger: ['blur', 'change']},
|
||||
{max: 100, message: '最多填写100个字', trigger: ['blur', 'change']}]
|
||||
},
|
||||
//拥有其它权限吗 校管 超管
|
||||
hasAdminRole: (${@shiro.hasRole('sysadmin')} || ${@shiro.hasRole('A06')}
|
||||
)
|
||||
}
|
||||
},
|
||||
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, 'pwjtps')
|
||||
this.formData = {
|
||||
xmid: row.id,
|
||||
ispass: '1',
|
||||
isgood: '1',
|
||||
pwid: this.hasAdminRole ? '' : "${@shiro.getPrincipalProperty('id')}"
|
||||
}
|
||||
}
|
||||
this.getWpsPwList(row.id)
|
||||
},
|
||||
doHandle() {
|
||||
this.$refs['Form'].validate(async valid => {
|
||||
if (valid) {
|
||||
const resp = await $.post('/platfotm/syr/info/pwjtps/doHandle', this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$refs.guava.index()
|
||||
this.notifySuccess(resp.msg)
|
||||
this.$refs['syrTable'].doSearch()
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
async getWpsPwList(xmid) {
|
||||
const {data} = await GET('/platfotm/syr/info/pwjtps/getWpsPwList', {xmid: xmid})
|
||||
this.userList = data
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,189 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.el-radio-group {
|
||||
vertical-align: unset !important;
|
||||
}
|
||||
</style>
|
||||
<div id="app" v-clock>
|
||||
<guava ref="guava">
|
||||
<syr-table auditval="审核" ref="syrTable" request="/platfotm/syr/info/pwlxps/pageData">
|
||||
<template slot="operation">
|
||||
<el-table-column label="操作" fixed="right" width="100">
|
||||
<template slot-scope="{row}">
|
||||
<!--如果是超管 根据状态来判断评委是否都评审完-->
|
||||
<el-button v-if="hasAdminRole"
|
||||
size="mini"
|
||||
:type="row.state>40?null:'primary'"
|
||||
@click="openView(row,row.state>40)">
|
||||
{{row.state>40?'查看':'评审'}}
|
||||
</el-button>
|
||||
<!--如果是评委-->
|
||||
<el-button v-else
|
||||
size="mini"
|
||||
:type="row.isps>0?null:'primary'"
|
||||
@click="openView(row,row.isps>0)">
|
||||
{{row.isps>0?'查看':'评审'}}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</syr-table>
|
||||
|
||||
|
||||
<template #edit>
|
||||
<syr-info-new ref="auditInfo">
|
||||
<template #handle>
|
||||
<el-tab-pane label="评委立项评审" name="pwlxps">
|
||||
<el-form :model="formData" :rules="rules" label-suffix=":" label-width="100px" ref="form">
|
||||
<el-row type="flex">
|
||||
<el-col>
|
||||
<el-form-item label="评委" prop="pwid">
|
||||
<span v-if="hasAdminRole">
|
||||
<el-select v-model="formData.pwid">
|
||||
<el-option v-for="u in userList"
|
||||
:value="u.userid"
|
||||
:key="u.userid"
|
||||
:label="u.username + '-' +u.loginname">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</span>
|
||||
<span v-else>
|
||||
${@shiro.getPrincipalProperty('username')}
|
||||
</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col>
|
||||
<el-form-item label="审核时间">
|
||||
{{moment().format('YYYY-MM-DD')}}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row type="flex">
|
||||
<el-col>
|
||||
<el-form-item label="建议立项" prop="isjylx">
|
||||
<el-radio-group v-model="formData.isjylx">
|
||||
<el-radio label="1" value="1">是</el-radio>
|
||||
<el-radio label="0" value="0">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col>
|
||||
<el-form-item label="立项等次" prop="lxlevel" v-if="formData.isjylx==='1'">
|
||||
<el-radio-group 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-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item label="评审意见" prop="psyj">
|
||||
<el-input maxlength="50" rows="5" show-word-limit type="textarea"
|
||||
v-model="formData.psyj"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row class="mt20 text-center">
|
||||
<el-button @click="$refs.guava.index()">返 回</el-button>
|
||||
<el-button @click="doHandle" 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 vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
smm: {
|
||||
status: 'table'
|
||||
},
|
||||
formData: {},
|
||||
searchData: {
|
||||
unionid: '',
|
||||
unitid: ''
|
||||
},
|
||||
userList: [],
|
||||
rules: {
|
||||
pwid: [{required: true, message: '请选择评委', trigger: ['blur', 'change']}],
|
||||
psyj: [{required: true, message: '请输入评审意见', trigger: ['blur', 'change']}]
|
||||
},
|
||||
//拥有其它权限吗 校管 超管
|
||||
hasAdminRole: false
|
||||
}
|
||||
},
|
||||
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, 'pwlxps')
|
||||
this.formData = {
|
||||
xmid: row.id,
|
||||
isjylx: '1',
|
||||
lxlevel: '2000',
|
||||
psyj: '',
|
||||
pwid: this.hasAdminRole ? '' : "${@shiro.getPrincipalProperty('id')}"
|
||||
}
|
||||
this.getWpsPwList(row.id)
|
||||
}
|
||||
},
|
||||
async doHandle() {
|
||||
try {
|
||||
const valid = await this.$refs['form'].validate()
|
||||
if (valid) {
|
||||
const resp = await $.post('/platfotm/syr/info/pwlxps/doHandle', this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$refs.guava.index()
|
||||
this.notifySuccess(resp.msg)
|
||||
this.$refs['syrTable'].doSearch()
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
|
||||
// this.$refs['form'].validate(async valid => {
|
||||
// if (valid) {
|
||||
// await POST('/platfotm/syr/info/pwlxps/doHandle', this.formData)
|
||||
// this.smm = {
|
||||
// status: 'table',
|
||||
// showpane: [1, 2, 3, 4]
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
},
|
||||
async getWpsPwList(xmid) {
|
||||
const {data} = await GET('/platfotm/syr/info/pwlxps/getWpsPwList', {xmid: xmid})
|
||||
this.userList = data
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
if (${@shiro.hasRole('sysadmin')} || ${@shiro.hasRole('A06')}) {
|
||||
this.hasAdminRole = true
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,115 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<syr-table :smm.sync="smm" auditval="审核" request="/platfotm/syr/info/xjsh/pageData">
|
||||
<template slot="operation">
|
||||
<el-table-column label="操作" fixed="right" width="100">
|
||||
<template slot-scope="{row}">
|
||||
<el-button size="mini" :type="row.state>30?null:'primary'"
|
||||
@click="openView(row,row.state>30)">
|
||||
{{row.state>30?'查看':'评审'}}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</syr-table>
|
||||
|
||||
<template #edit>
|
||||
<syr-info-new ref="auditInfo">
|
||||
<template #handle>
|
||||
<el-tab-pane label="校工会审核" name="xjsh">
|
||||
<el-form :model="formData" label-suffix=":" label-width="100px" 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="审核意见" prop="stxghyj">
|
||||
<el-input maxlength="300" rows="5" type="textarea"
|
||||
v-model="formData.stxghyj"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="签字" prop="stxghfzrqz">
|
||||
<sign :qz.sync="formData.stxghfzrqz" prefix="syrxjsh"></sign>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row class="mt20 text-center">
|
||||
<el-button @click="doHandle(false)" type="danger">拒 绝</el-button>
|
||||
<el-button @click="doHandle(true)" type="success">通 过</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 vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
smm: {
|
||||
status: 'table'
|
||||
},
|
||||
formData: {},
|
||||
}
|
||||
},
|
||||
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, 'xjsh')
|
||||
this.formData = {
|
||||
id: row.id,
|
||||
stxghyj: '',
|
||||
stxghfzrqz: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
async doHandle(res) {
|
||||
if (this.formData.stxghyj === '') {
|
||||
this.$message.info('请填写审核意见')
|
||||
return
|
||||
}
|
||||
if (this.formData.stxghfzrqz === '') {
|
||||
this.$message.info('请扫描二维码签字')
|
||||
return
|
||||
}
|
||||
this.formData.state = res ? 40 : 35
|
||||
const resp = await $.post('/platfotm/syr/info/xjsh/doHandle', this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$refs.guava.index()
|
||||
this.notifySuccess(resp.msg)
|
||||
location.reload()
|
||||
}
|
||||
},
|
||||
async getUnitList() {
|
||||
this.searchData.unitid = ''
|
||||
this.unitList = await getUnit(this.searchData.unionid)
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -0,0 +1,326 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.el-form .el-select, .el-form .el-date-editor {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.el-divider {
|
||||
background-color: #1867b0;
|
||||
}
|
||||
|
||||
.el-divider__text {
|
||||
color: #1867b0;
|
||||
}
|
||||
|
||||
.w-e-text-container {
|
||||
height: 250px !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<el-card>
|
||||
<template #header>
|
||||
<el-row justify="space-between" type="flex">
|
||||
<h3 style="color: rgb(24, 103, 176);">
|
||||
{{id?'项目编辑':'项目上报'}}
|
||||
</h3>
|
||||
</el-row>
|
||||
</template>
|
||||
<el-form :model="formData" :rules="rules" label-width="100px" ref="AddForm">
|
||||
<div style="margin-bottom: 30px">
|
||||
<el-form-item label="项目名称" prop="xmmc">
|
||||
<el-input maxlength="50" placeholder="项目名称" v-model="formData.xmmc"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<el-divider content-position="left">申报人信息</el-divider>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :lg="8" :sm="24">
|
||||
<el-form-item label="申请人">
|
||||
<el-input placeholder="姓名" readonly
|
||||
value="${@shiro.getPrincipalProperty('username')}"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="8" :sm="24">
|
||||
<el-form-item label="性别">
|
||||
<el-input placeholder="性别" readonly
|
||||
value="${@shiro.getPrincipalProperty('sex')}"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="8" :sm="24">
|
||||
<el-form-item label="出生年月" prop="birthday">
|
||||
<el-date-picker
|
||||
placeholder="出生年月"
|
||||
type="date"
|
||||
v-model="formData.birthday"
|
||||
value-format="yyyy-MM-dd">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :lg="8" :sm="24">
|
||||
<el-form-item label="职务/职称" prop="zwzc">
|
||||
<el-input v-model="formData.zwzc"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="8" :sm="24">
|
||||
<el-form-item label="学历/学位" prop="xlxw">
|
||||
<el-input v-model="formData.xlxw"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :lg="8" :sm="24">
|
||||
<el-form-item label="办公电话" prop="bgphone">
|
||||
<el-input v-model="formData.bgphone"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="8" :sm="24">
|
||||
<el-form-item label="手机" prop="mobile">
|
||||
<el-input v-model="formData.mobile"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="8" :sm="24">
|
||||
<el-form-item label="电子信箱" prop="email">
|
||||
<el-input v-model="formData.email"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-divider content-position="left">项目组成员</el-divider>
|
||||
<div>
|
||||
<div class="text-right">
|
||||
<el-button @click="xmcyTable.push(JSON.parse(JSON.stringify(o)))" round size="mini"
|
||||
type="primary">添加成员
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
<el-table :data="xmcyTable" max-height="300">
|
||||
<el-table-column label="序号" type="index" width="50"></el-table-column>
|
||||
<el-table-column label="姓名" prop="username">
|
||||
<template slot-scope="scope">
|
||||
<el-input size="mini" v-model="scope.row.username"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="职称" prop="zc">
|
||||
<template slot-scope="scope">
|
||||
<el-input size="mini" v-model="scope.row.zc"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="学历" prop="xl">
|
||||
<template slot-scope="scope">
|
||||
<el-input size="mini" v-model="scope.row.xl"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="工作单位" prop="gzdw">
|
||||
<template slot-scope="scope">
|
||||
<el-input size="mini" v-model="scope.row.gzdw"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="150">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="xmcyTable.splice(scope.row.$index, 1)" icon="el-icon-delete" round
|
||||
size="mini"
|
||||
type="danger"></el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
|
||||
<el-divider content-position="left" ref="yjjctjdivider">
|
||||
项目研究基础及条件(最多填写400字,当前字数
|
||||
<span :style="{color:(yanjiujichuLength>400?'red':'')}"> {{yanjiujichuLength}})</span>
|
||||
</el-divider>
|
||||
<el-form-item label-width="0" prop="yjjctj" style="margin-bottom: 40px;">
|
||||
<div ref="yjjctj" style="width: 100%;"></div>
|
||||
</el-form-item>
|
||||
|
||||
<el-divider content-position="left">
|
||||
项目预期成果及应用推广价值(最多填写100字,当前字数
|
||||
<span :style="{color:(yqcgtgjzLength>400?'red':'')}">{{yqcgtgjzLength}})</span>
|
||||
</el-divider>
|
||||
<el-form-item label-width="0" prop="yqcgtgjz">
|
||||
<div ref="yqcgtgjz" style="width: 100%;"></div>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
|
||||
<el-row class="mt10" justify="center" type="flex">
|
||||
<el-button @click="doSubmit" style="width: 300px" type="primary">提交</el-button>
|
||||
</el-row>
|
||||
</el-card>
|
||||
</guava>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
let yjjctjEditor = null
|
||||
let yqcgtgjzEditor = null
|
||||
|
||||
const o = {'username': '', 'zc': '', 'xl': '', 'gzdw': ''}
|
||||
|
||||
let vue = new Vue({
|
||||
el: '#app',
|
||||
data() {
|
||||
const validatorYjjctj = (rule, value, callback) => {
|
||||
if (value === '') {
|
||||
callback(new Error('请填写'))
|
||||
} else if (removeHTMLTag(value).length > 400) {
|
||||
callback(new Error('字数太多'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
const validatorYqcgtgjz = (rule, value, callback) => {
|
||||
if (value === '') {
|
||||
callback(new Error('请填写'))
|
||||
} else if (removeHTMLTag(value).length > 100) {
|
||||
callback(new Error('字数太多'))
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
id: null,
|
||||
o: {'username': '', 'zc': '', 'xl': '', 'gzdw': ''},
|
||||
formData: {yjjctj: '', yqcgtgjz: ''},
|
||||
rules: {
|
||||
xmmc: [{required: true, message: '请填写项目名称', trigger: ['blur', 'change']}],
|
||||
birthday: [{required: true, message: '请选择出生日期', trigger: ['blur', 'change']}],
|
||||
zwzc: [{required: true, message: '请填写职务职称', trigger: ['blur', 'change']}],
|
||||
xlxw: [{required: true, message: '请填写学历学位', trigger: ['blur', 'change']}],
|
||||
bgphone: [{required: true, message: '请填写办公电话', trigger: ['blur', 'change']}],
|
||||
mobile: [{required: true, message: '请填写手机号码', trigger: ['blur', 'change']}],
|
||||
email: [{required: true, message: '请填写电子信箱', trigger: ['blur', 'change']}, {
|
||||
type: 'email',
|
||||
message: '请填写正确的电子信箱',
|
||||
trigger: ['blur', 'change']
|
||||
}],
|
||||
yjjctj: [{validator: validatorYjjctj, trigger: 'blur'}],
|
||||
yqcgtgjz: [{validator: validatorYqcgtgjz, trigger: 'blur'}]
|
||||
},
|
||||
xmcyTable: [o]
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
yanjiujichuLength() {
|
||||
return removeHTMLTag(this.formData.yjjctj).length
|
||||
},
|
||||
yqcgtgjzLength() {
|
||||
return removeHTMLTag(this.formData.yqcgtgjz).length
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
//检查项目成员填写是否完成
|
||||
checkXmcy() {
|
||||
let flag = true
|
||||
for (let o of this.xmcyTable) {
|
||||
if (o['username'] === '' || o['zc'] === '' || o['xl'] === '' || o['gzdw'] === '') {
|
||||
flag = false
|
||||
break
|
||||
}
|
||||
}
|
||||
return flag
|
||||
},
|
||||
async doSubmit() {
|
||||
try {
|
||||
const valid = await this.$refs['AddForm'].validate()
|
||||
if (valid) {
|
||||
if (!this.checkXmcy()) {
|
||||
this.$message.info('项目成员信息填写不完整')
|
||||
return
|
||||
}
|
||||
this.formData.xmzcy = JSON.stringify(this.xmcyTable)
|
||||
let loading = this.$loading({
|
||||
lock: true,
|
||||
text: '提交中',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
})
|
||||
|
||||
let postUrl = ''
|
||||
if (this.formData.id) {
|
||||
postUrl = '/platfotm/syr/info/mykt/doEdit'
|
||||
} else {
|
||||
postUrl = '/platfotm/syr/info/xtsb/doAdd'
|
||||
}
|
||||
const resp = await $.post(base + postUrl, this.formData)
|
||||
if (resp.code === 0) {
|
||||
setTimeout(() => {
|
||||
loading.text = '提交成功'
|
||||
loading.spinner = 'el-icon-check'
|
||||
setTimeout(() => {
|
||||
loading.close()
|
||||
sublime.jumpPagePjax('/platfotm/syr/info/mykt')
|
||||
}, 1000)
|
||||
}, 1500)
|
||||
} else {
|
||||
loading.close()
|
||||
this.notifyError(resp.msg)
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
},
|
||||
async isEdit() {
|
||||
const id = GetQueryString("id")
|
||||
this.id = id
|
||||
if (id) {
|
||||
const resp = await $.get(loc() + '/findWriteInfo/' + id)
|
||||
this.formData = resp.data
|
||||
console.log(resp)
|
||||
this.xmcyTable = JSON.parse(resp.data.xmzcy)
|
||||
yjjctjEditor.txt.html(this.formData.yjjctj)
|
||||
yqcgtgjzEditor.txt.html(this.formData.yqcgtgjz)
|
||||
}
|
||||
},
|
||||
initEditor() {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
yjjctjEditor = new wangEditor(this.$refs.yjjctj)
|
||||
yjjctjEditor.config.onchange = (html) => {
|
||||
if (removeHTMLTag(html).length > 400) {
|
||||
this.$message.info('项目研究基础及条件最多填写400字')
|
||||
}
|
||||
this.formData.yjjctj = html
|
||||
}
|
||||
yjjctjEditor.create()
|
||||
yqcgtgjzEditor = new wangEditor(this.$refs.yqcgtgjz)
|
||||
yqcgtgjzEditor.config.onchange = (html) => {
|
||||
if (removeHTMLTag(html).length > 100) {
|
||||
this.$message.info('项目预期成果及应用推广价值最多填写100字')
|
||||
}
|
||||
this.formData.yqcgtgjz = html
|
||||
}
|
||||
yqcgtgjzEditor.create()
|
||||
resolve()
|
||||
}, 1000)
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
await this.initEditor()
|
||||
await this.isEdit()
|
||||
},
|
||||
created() {
|
||||
this.$set(this.formData, 'birthday', "${@shiro.getPrincipalProperty('birthday')}")
|
||||
this.$set(this.formData, 'bgphone', "${@shiro.getPrincipalProperty('bgphone')}")
|
||||
this.$set(this.formData, 'mobile', "${@shiro.getPrincipalProperty('mobile')}")
|
||||
this.$set(this.formData, 'email', "${@shiro.getPrincipalProperty('email')}")
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
@@ -0,0 +1,112 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<syr-table :smm.sync="smm" auditval="审核" ref="syrTable" request="/platfotm/syr/info/yjsh/pageData">
|
||||
<template slot="operation">
|
||||
<el-table-column label="操作" fixed="right" width="100">
|
||||
<template slot-scope="{row}">
|
||||
<el-button size="mini" :type="row.state>20?null:'primary'"
|
||||
@click="openView(row,row.state>20)">
|
||||
{{row.state>20?'查看':'评审'}}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</syr-table>
|
||||
|
||||
<template #edit>
|
||||
<syr-info-new ref="auditInfo">
|
||||
<template #handle>
|
||||
<el-tab-pane label="院级初审" name="yjsh">
|
||||
<el-form :model="formData" label-suffix=":" label-width="100px" 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="审核意见" prop="stbmghyj">
|
||||
<el-input maxlength="300" rows="5" type="textarea"
|
||||
v-model="formData.stbmghyj"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="签字" prop="stbmghfzrqz">
|
||||
<sign :qz.sync="formData.stbmghfzrqz" prefix="syrxjsh"></sign>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row class="mt20 text-center">
|
||||
<el-button @click="doHandle(false)" type="danger">退 回</el-button>
|
||||
<el-button @click="doHandle(true)" type="success">通 过</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 vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
smm: {
|
||||
status: 'table',
|
||||
request: '/platfotm/syr/info/yjsh/pageData'
|
||||
},
|
||||
formData: {},
|
||||
handleShow: false,
|
||||
}
|
||||
},
|
||||
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, 'yjsh')
|
||||
this.formData = {
|
||||
id: row.id,
|
||||
stbmghfzrqz: '',
|
||||
stbmghyj: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
async doHandle(res) {
|
||||
if (this.formData.stbmghyj === '') {
|
||||
this.$message.info('请填写审核意见')
|
||||
return
|
||||
}
|
||||
if (this.formData.stbmghfzrqz === '') {
|
||||
this.$message.info('请扫描二维码签字')
|
||||
return
|
||||
}
|
||||
this.formData.state = res ? 30 : 10
|
||||
const resp = await $.post('/platfotm/syr/info/yjsh/doHandle', this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$refs.guava.index()
|
||||
this.notifySuccess(resp.msg)
|
||||
this.$refs['syrTable'].doSearch()
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<syr-table :smm.sync="smm" auditval="审核" ref="syrTable" request="/platfotm/syr/info/zqsh/pageData">
|
||||
<template slot="operation">
|
||||
<el-table-column label="操作" fixed="right" width="100">
|
||||
<template slot-scope="{row}">
|
||||
<el-button size="mini" :type="row.state>80?null:'primary'"
|
||||
@click="openView(row,row.state>80)">
|
||||
{{row.state>80?'查看':'审核'}}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</syr-table>
|
||||
|
||||
<template #edit>
|
||||
<syr-info-new ref="auditInfo">
|
||||
<template slot="handle">
|
||||
<el-tab-pane label="中期审核" name="zqsh">
|
||||
<el-form :model="formData" label-width="100px" 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="审核意见" prop="zqxghyj">
|
||||
<el-input maxlength="300" rows="5" type="textarea"
|
||||
v-model="formData.zqxghyj"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row class="mt20 text-center">
|
||||
<el-button @click="$refs.guava.index()">返 回</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 vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
smm: {
|
||||
status: 'table'
|
||||
},
|
||||
formData: {},
|
||||
handleShow: false
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'syr-table': httpVueLoader('/components/syr/syrtable.vue'),
|
||||
'syr-info': httpVueLoader('/components/syr/syrinfo.vue'),
|
||||
'sign': httpVueLoader('/components/sign/sign.vue?v=2.0.0'),
|
||||
'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, 'zqsh')
|
||||
this.formData = {
|
||||
id: row.id,
|
||||
zqxghyj: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
async doHandle(res) {
|
||||
if (this.formData.zqxghyj === '') {
|
||||
this.$message.info('请填写审核意见')
|
||||
return
|
||||
}
|
||||
|
||||
const resp = await $.post('/platfotm/syr/info/zqsh/doHandle', this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$refs.guava.index()
|
||||
this.notifySuccess(resp.msg)
|
||||
this.$refs['syrTable'].doSearch()
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<syr-table :smm.sync="smm" auditval="填报" ref="syrTable" request="/platfotm/syr/info/zqtb/pageData">
|
||||
<template slot="operation">
|
||||
<el-table-column label="操作" fixed="right" width="100">
|
||||
<template slot-scope="{row}">
|
||||
<el-button size="mini" type="primary"
|
||||
@click="openView(row,false)"
|
||||
:title="row.zqtbjzsj<moment().format('YYYY-MM-DD HH:mm:ss')?'时间已过':''"
|
||||
:disabled="row.zqtbjzsj<moment().format('YYYY-MM-DD HH:mm:ss')"
|
||||
v-if="row.state===70">
|
||||
填报
|
||||
</el-button>
|
||||
<el-button @click="openView(row,true)" size="mini" v-else>
|
||||
查看
|
||||
</el-button>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</syr-table>
|
||||
|
||||
<template #edit>
|
||||
<syr-info-new ref="auditInfo">
|
||||
<template slot="handle">
|
||||
<el-tab-pane label="填报中期检查表" name="tbzqjcb">
|
||||
<el-form :model="formData" :rules="rules" label-position="top" ref="Form">
|
||||
<el-form-item label="项目的进展情况及存在的问题(不超过300字)" prop="zqxmjzqk" prop="zqxmjzqk">
|
||||
<el-input maxlength="300" rows="5" type="textarea"
|
||||
v-model="formData.zqxmjzqk"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="经费预算明细(不超过100字)" prop="zqjfysmx" prop="zqjfysmx">
|
||||
<el-input maxlength="100" rows="3" type="textarea"
|
||||
v-model="formData.zqjfysmx"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注(不超过50字)" prop="zqbz" prop="zqbz">
|
||||
<el-input maxlength="50" rows="2" type="textarea" v-model="formData.zqbz"></el-input>
|
||||
</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 vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
smm: {
|
||||
status: 'table'
|
||||
},
|
||||
formData: {},
|
||||
rules: {
|
||||
zqxmjzqk: [{required: true, message: '请填写项目的进展情况及存在的问题', trigger: ['blur', 'change']}],
|
||||
zqjfysmx: [{required: true, message: '请填写经费预算明细', trigger: ['blur', 'change']}]
|
||||
},
|
||||
tableShow: true,
|
||||
handleShow: false
|
||||
}
|
||||
},
|
||||
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, 'tbzqjcb')
|
||||
this.formData = {
|
||||
id: row.id,
|
||||
zqxmjzqk: '',
|
||||
zqjfysmx: '',
|
||||
zqbz: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
async doHandle(res) {
|
||||
this.$refs['Form'].validate(async valid => {
|
||||
if (valid) {
|
||||
const resp = await $.post('/platfotm/syr/info/zqtb/doHandle', this.formData)
|
||||
if (resp.code === 0) {
|
||||
this.$refs.guava.index()
|
||||
this.notifySuccess(resp.msg)
|
||||
this.$refs['syrTable'].doSearch()
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
@@ -0,0 +1,215 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<!--校工会立项结果-->
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<syr-table :smm.sync="smm" auditval="提醒" ref="syrTable" request="/platfotm/syr/info/zqtx/pageData">
|
||||
<template slot="right">
|
||||
<el-button size="medium" @click="openMany"><i class="ti-plus"></i> 一键提醒</el-button>
|
||||
</template>
|
||||
<template slot="operation">
|
||||
<el-table-column label="操作" fixed="right" width="100">
|
||||
<template slot-scope="{row}">
|
||||
<el-button size="mini" :type="row.state>60?null:'primary'"
|
||||
@click="openView(row,row.state>60)">
|
||||
{{row.state>60?'查看':'设置提醒'}}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</syr-table>
|
||||
|
||||
<template #edit>
|
||||
<syr-info-new ref="auditInfo">
|
||||
<template slot="handle">
|
||||
<el-tab-pane label="中期提醒" name="zqtx">
|
||||
<el-form :model="formData" label-width="100px" ref="Form">
|
||||
<el-form-item label="提醒时间" prop="zqtbtxsj">
|
||||
<el-date-picker
|
||||
:picker-options="pickerOptions"
|
||||
default-time="12:00:00"
|
||||
placeholder="选择提醒时间"
|
||||
type="datetime"
|
||||
v-model="formData.zqtbtxsj"
|
||||
value-format="yyyy-MM-dd HH:mm:ss">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="截止时间" prop="zqtbjzsj">
|
||||
<el-date-picker
|
||||
:picker-options="pickerOptions"
|
||||
default-time="12:00:00"
|
||||
placeholder="选择提醒时间"
|
||||
type="datetime"
|
||||
v-model="formData.zqtbjzsj"
|
||||
value-format="yyyy-MM-dd HH:mm:ss">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row class="mt20 text-center">
|
||||
<el-button @click="$refs.guava.index()">返 回</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>
|
||||
|
||||
<el-dialog title="批量设置" :visible.sync="manyDialogVisible">
|
||||
<el-form :model="formData" ref="Form" label-width="100px">
|
||||
<div style="display: flex">
|
||||
<el-form-item label="提醒时间" prop="zqtbtxsj" style="width: 50%">
|
||||
<el-date-picker
|
||||
v-model="formData.zqtbtxsj"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
default-time="12:00:00"
|
||||
:picker-options="pickerOptions"
|
||||
type="datetime"
|
||||
placeholder="选择提醒时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="截止时间" prop="zqtbjzsj" style="width: 50%">
|
||||
<el-date-picker
|
||||
v-model="formData.zqtbjzsj"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
default-time="12:00:00"
|
||||
:picker-options="pickerOptions"
|
||||
type="datetime"
|
||||
placeholder="选择提醒时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form>
|
||||
<el-table :data="noSetTableData" @selection-change="handleSelectionChange" max-height="350">
|
||||
<el-table-column type="selection" width="55"></el-table-column>
|
||||
<el-table-column prop="xmmc" label="项目名称" width="400" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column prop="username" label="申报人"></el-table-column>
|
||||
</el-table>
|
||||
<el-row class="el-dialog__footer">
|
||||
<el-button @click="manyDialogVisible=false">取 消</el-button>
|
||||
<el-button type="primary" @click="doHandleMany(true)">提 交</el-button>
|
||||
</el-row>
|
||||
</el-dialog>
|
||||
</div>
|
||||
<script>
|
||||
let vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
smm: {
|
||||
status: 'table',
|
||||
rowsel: true
|
||||
},
|
||||
formData: {},
|
||||
handleShow: false,
|
||||
pickerOptions: {
|
||||
disabledDate(time) {
|
||||
return time.getTime() < Date.now()
|
||||
}
|
||||
},
|
||||
noSetTableData: [],
|
||||
tab_selection: [],
|
||||
manyDialogVisible: false
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'syr-table': httpVueLoader('/components/syr/syrtable.vue'),
|
||||
'syr-info': httpVueLoader('/components/syr/syrinfo.vue'),
|
||||
'sign': httpVueLoader('/components/sign/sign.vue?v=2.0.0'),
|
||||
'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, 'zqtx')
|
||||
// this.formData = {
|
||||
// id: row.id,
|
||||
// zqtbtxsj: '',
|
||||
// zqtbjzsj: ''
|
||||
// }
|
||||
this.openMany()
|
||||
}
|
||||
},
|
||||
async doHandle() {
|
||||
if (this.formData.zqtbtxsj === '') {
|
||||
this.$message.info('请设置提醒时间')
|
||||
return
|
||||
}
|
||||
if (this.formData.zqtbjzsj === '') {
|
||||
this.$message.info('请设置截止时间')
|
||||
return
|
||||
}
|
||||
if (this.formData.zqtbjzsj < this.formData.zqtbtxsj) {
|
||||
this.$message.info('截止时间不应该小于提醒时间')
|
||||
return
|
||||
}
|
||||
const resp = await $.post('/platfotm/syr/info/zqtx/doHandle', {data: JSON.stringify(this.formData)})
|
||||
if (resp.code === 0) {
|
||||
this.$refs.guava.index()
|
||||
this.notifySuccess(resp.msg)
|
||||
location.reload()
|
||||
}
|
||||
},
|
||||
async openMany() {
|
||||
this.formData = {
|
||||
zqtbtxsj: '',
|
||||
zqtbjzsj: ''
|
||||
}
|
||||
const {data} = await GET('/platfotm/syr/info/zqtx/noSetPageData', {})
|
||||
this.noSetTableData = data
|
||||
this.manyDialogVisible = true
|
||||
},
|
||||
async doHandleMany() {
|
||||
if (this.formData.zqtbtxsj === '') {
|
||||
this.$message.info('请设置提醒时间')
|
||||
return
|
||||
}
|
||||
if (this.formData.zqtbjzsj === '') {
|
||||
this.$message.info('请设置截止时间')
|
||||
return
|
||||
}
|
||||
if (this.formData.zqtbjzsj < this.formData.zqtbtxsj) {
|
||||
this.$message.info('截止时间不应该小于提醒时间')
|
||||
return
|
||||
}
|
||||
if (this.selection.length === 0) {
|
||||
this.$message.info('请勾选需要批量设置的数据')
|
||||
return
|
||||
}
|
||||
let p = []
|
||||
for (let o of this.selection) {
|
||||
//p.push(id:o.id,...this.formData})
|
||||
p.push({...{id: o.id}, ...this.formData})
|
||||
}
|
||||
await POST('/platfotm/syr/info/zqtx/doHandle', {data: p})
|
||||
this.$refs['syrTable'].doSearch()
|
||||
this.manyDialogVisible = false
|
||||
this.selection = []
|
||||
this.tableShow = false
|
||||
setTimeout(() => {
|
||||
this.tableShow = true
|
||||
})
|
||||
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.selection = val
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
|
||||
Reference in New Issue
Block a user