first commit
This commit is contained in:
@@ -0,0 +1,282 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<el-card shadow="never">
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-date-picker
|
||||
style="width: 100%"
|
||||
type="year"
|
||||
v-model="pageForm.year"
|
||||
value-format="yyyy">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-input placeholder="请输入项目名称查询" style="width: 250px;" v-model="pageForm.xmmc"></el-input>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-input @keyup.enter.native="doSearch" placeholder="请输入内容" v-model="pageForm.searchKeyword">
|
||||
<el-select placeholder="查询类型" slot="prepend" style="width: 120px;"
|
||||
v-model="pageForm.searchName">
|
||||
<el-option label="申报人姓名" value="u.username"></el-option>
|
||||
<el-option label="申报人工号" value="u.loginname"></el-option>
|
||||
</el-select>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-select @change="getUnitList()" clearable filterable placeholder="请选择部门工会"
|
||||
v-model="pageForm.unionid">
|
||||
<el-option
|
||||
:key="item.id"
|
||||
:label="item.unionname"
|
||||
:value="item.id"
|
||||
v-for="item in unionList">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-select clearable filterable placeholder="请选择单位" v-model="pageForm.unitid">
|
||||
<el-option
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
v-for="item in unitList">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="btn-group tool-button mt5">
|
||||
<el-button @click="doSearch" icon="el-icon-search" type="primary"></el-button>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card class="mt10" shadow="never">
|
||||
<table-tool :app="this" label="选题列表">
|
||||
<template #func>
|
||||
<el-radio-group @change="doSearch" class="mr10" size="small" v-model="pageForm.isAudit">
|
||||
<el-radio-button :label="null">全部</el-radio-button>
|
||||
<el-radio-button :label="true">已审核</el-radio-button>
|
||||
<el-radio-button :label="false">未审核</el-radio-button>
|
||||
</el-radio-group>
|
||||
|
||||
<el-dropdown @command="groupClick" size="small" split-button type="primary">
|
||||
分配评委
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item command="batch">批量分组</el-dropdown-item>
|
||||
<!-- <el-dropdown-item command="auto">自动分组</el-dropdown-item>-->
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
|
||||
</template>
|
||||
</table-tool>
|
||||
|
||||
<el-table :data="tableData" @sort-change="pageOrder" ref="table">
|
||||
<el-table-column
|
||||
:selectable="(row)=>{return row.isaudit && row.state === 40 && row.pwhasauditcount === 0}"
|
||||
type="selection"
|
||||
width="55">
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column :index="indexMethod" align="center" header-align="center" label="序号" type="index"
|
||||
width="80px"></el-table-column>
|
||||
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:sortable="column.sortable"
|
||||
align="center"
|
||||
header-align="center"
|
||||
show-overflow-tooltip
|
||||
v-for="column in tableColumns"
|
||||
></el-table-column>
|
||||
<el-table-column label="操作" width="200px">
|
||||
<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>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</el-card>
|
||||
|
||||
<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="auditForm">
|
||||
<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 :rules="[{required: true, message: '请输入审核意见', trigger: ['blur']}]"
|
||||
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" :rules="[{required: true, message: '请签字', trigger: ['change']}]">
|
||||
<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>
|
||||
|
||||
<el-dialog :close-on-click-modal="false" :visible.sync="distributionDialogVisible" title="批量分配评委" width="45%">
|
||||
<vi-title title="勾选选题"></vi-title>
|
||||
<el-table :data="tableSelection" max-height="300px">
|
||||
<el-table-column header-align="center" label="序号" type="index" width="80px"></el-table-column>
|
||||
<el-table-column header-align="center" label="项目名称" prop="xmmc"></el-table-column>
|
||||
<el-table-column header-align="center" label="申报人" prop="username"></el-table-column>
|
||||
</el-table>
|
||||
|
||||
|
||||
<vi-title class="mt10" title="评委组别"></vi-title>
|
||||
<el-radio-group size="small" v-model="distributionGroupName">
|
||||
<el-radio :label="item" border v-for="item in groupNameOptions">{{item}}</el-radio>
|
||||
</el-radio-group>
|
||||
|
||||
<div slot="footer">
|
||||
<el-button @click="distributionDialogVisible = false">取消</el-button>
|
||||
<el-button @click="doBatchDistribution" type="primary">确定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
</guava>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
let vue = new Vue({
|
||||
el: '#app',
|
||||
mixins: [initTableMixins],
|
||||
data() {
|
||||
return {
|
||||
unionList: [],
|
||||
unitList: [],
|
||||
groupNameOptions: [],
|
||||
formData: {},
|
||||
pageForm: {
|
||||
year: moment().format('YYYY'),
|
||||
isAudit: false,
|
||||
},
|
||||
tableColumns: [
|
||||
{prop: 'xmmc', label: '项目名称'},
|
||||
{prop: 'username', label: '申报人', sortable: true},
|
||||
{prop: 'sex', label: '性别', sortable: true},
|
||||
{prop: 'dwname', label: '申报单位', sortable: true},
|
||||
{prop: 'ghname', label: '部门工会', sortable: true},
|
||||
{prop: 'zwzc', label: '职务职称', sortable: true},
|
||||
{prop: 'statename', label: '状态', sortable: true},
|
||||
{prop: 'sbrq', label: '申报日期', sortable: true},
|
||||
{prop: 'groupname', label: '评委分组', sortable: true}
|
||||
],
|
||||
distributionGroupName: null,
|
||||
distributionDialogVisible: false,
|
||||
tableSelection: []
|
||||
}
|
||||
},
|
||||
components: {
|
||||
'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: null,
|
||||
stxghfzrqz: null
|
||||
}
|
||||
}
|
||||
},
|
||||
async doHandle(res) {
|
||||
const valid = await this.$refs['auditForm'].validate()
|
||||
if (!valid) 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)
|
||||
this.$refs.syrTable.doSearch()
|
||||
}
|
||||
},
|
||||
groupClick(command) {
|
||||
if ('batch' === command) {
|
||||
const selection = this.$refs.table.selection
|
||||
if (selection.length === 0) {
|
||||
this.notifyWarning('请先勾选需要批量分配评委的选题')
|
||||
return
|
||||
}
|
||||
this.tableSelection = selection
|
||||
this.distributionGroupName = null
|
||||
this.distributionDialogVisible = true
|
||||
}
|
||||
},
|
||||
async doBatchDistribution() {
|
||||
const distributionGroupName = this.distributionGroupName
|
||||
if (!distributionGroupName) {
|
||||
this.notifyWarning('请选择需要分配的评委组别')
|
||||
return
|
||||
}
|
||||
const projectIds = this.$refs.table.selection.map(v => v.id)
|
||||
|
||||
const resp = await $.post(loc() + '/doBatchDistribution', {
|
||||
distributionGroupName,
|
||||
projectIds: JSON.stringify(projectIds)
|
||||
})
|
||||
|
||||
if (resp.code === 0) {
|
||||
this.notifySuccess(resp.msg)
|
||||
this.tableSelection = []
|
||||
this.distributionGroupName = null
|
||||
this.distributionDialogVisible = false
|
||||
this.$refs.table.clearSelection()
|
||||
this.pageData()
|
||||
} else {
|
||||
this.notifyWarning(resp.msg)
|
||||
}
|
||||
},
|
||||
|
||||
async getUnitList() {
|
||||
this.searchData.unitid = ''
|
||||
this.unitList = await getUnit(this.searchData.unionid)
|
||||
},
|
||||
async getGroupNameOptions() {
|
||||
const resp = await $.get('/platform/syr/basic/pwgl/getGroupNameOptions')
|
||||
if (resp.code === 0) {
|
||||
this.groupNameOptions = resp.data
|
||||
} else {
|
||||
this.notifyWarning(resp.msg)
|
||||
}
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.pageData()
|
||||
this.unionList = await getUnions(null)
|
||||
this.getGroupNameOptions()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
|
||||
Reference in New Issue
Block a user