Merge branch 'version_report' of http://gitlab.ldxinyong.com/enterpriseManagement/lz_management_vue into version_report
This commit is contained in:
commit
725aa52386
10
src/api/api_flow_manager.js
Normal file
10
src/api/api_flow_manager.js
Normal file
@ -0,0 +1,10 @@
|
||||
import http from '../utils/http'
|
||||
|
||||
// 获取侧边菜单栏
|
||||
export const apiGetFlowList = params => {
|
||||
return http({url: '/lz_management/user/lzflowmanager/list', method: 'get', params})
|
||||
}
|
||||
|
||||
export const apiFlowInfo = params => {
|
||||
return http({url: `/lz_management/user/lzflowmanager/info/${params}`, method: 'post'})
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="staff-archives-charts">
|
||||
<div class="staff-archives-charts" >
|
||||
<div class="staff-archives-title">{{title}}</div>
|
||||
<div :id="aId" :data="dataInfo" class="chart-box" style="height: 300px"></div>
|
||||
<div :id="aId" :data="dataInfo" class="chart-box" style="height: 300px" @click="jump"></div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -25,17 +25,25 @@
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
clickAble: true
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.initChartBar()
|
||||
},
|
||||
watch: { // 监听到数据然后赋值
|
||||
watch: {
|
||||
dataInfo () {
|
||||
this.initChartBar()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
jump: function (e) {
|
||||
if (this.clickAble) {
|
||||
console.log('跳转')
|
||||
} else {
|
||||
this.clickAble = true
|
||||
}
|
||||
},
|
||||
initChartBar () {
|
||||
var staffTotal = this.dataInfo.total
|
||||
var option = {
|
||||
@ -56,9 +64,9 @@
|
||||
}
|
||||
},
|
||||
// 图例
|
||||
legend: {
|
||||
/* legend: {
|
||||
data: ['人数']
|
||||
},
|
||||
}, */
|
||||
// x轴
|
||||
xAxis: {
|
||||
name: '等级',
|
||||
@ -95,6 +103,10 @@
|
||||
var echarts = require('echarts')
|
||||
this.chartBar = echarts.init(document.getElementById(this.aId))
|
||||
this.chartBar.setOption(option)
|
||||
this.chartBar.on('click', function (param) {
|
||||
this.clickAble = false
|
||||
console.log(param)
|
||||
}.bind(this))
|
||||
window.addEventListener('resize', () => {
|
||||
this.chartBar.resize()
|
||||
})
|
||||
|
||||
@ -6,16 +6,6 @@
|
||||
|
||||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="80px">
|
||||
|
||||
<!-- <el-form-item label="驳回到" v-if="status === 5 " >
|
||||
<el-select v-model="dataForm.rollbackFlowId" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in rollbackData"
|
||||
:key="item.id"
|
||||
:label="item.flowName"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>-->
|
||||
|
||||
<el-form-item label="意见" prop="resultComment">
|
||||
<div id="resultCommentEditorElem" class="editor"></div>
|
||||
@ -23,9 +13,10 @@
|
||||
</el-form>
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" v-if="auth.approvelCommit === 1 && status !== 5 " @click="commitRecord(2)">通过</el-button>
|
||||
<el-button type="primary" v-if="auth.waitCommit===1 && status !== 5 " @click="commitRecord(3)">通过</el-button>
|
||||
<el-button type="primary" v-if="status === 5 && auth.reject == 1" @click="commitRecord(5)">驳回</el-button>
|
||||
<el-button type="primary" v-if="auth.approvelCommit === 1 && status === 1 " @click="commitRecord(2)">通过</el-button>
|
||||
<el-button type="primary" v-if="auth.waitCommit===1 && status === 1 " @click="commitRecord(3)">通过</el-button>
|
||||
<el-button type="primary" v-if="auth.reject === 1 && status === 5" @click="commitRecord(5)">驳回</el-button>
|
||||
<el-button type="primary" v-if="auth.dissatisfied === 1 && status === 6" @click="commitRecord(6)">申述</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
@ -138,6 +138,10 @@ export default {
|
||||
return '审批通过'
|
||||
} else if (status === 5) {
|
||||
return '驳回'
|
||||
} else if (status === 6) {
|
||||
return '申述中'
|
||||
} else if (status === 7) {
|
||||
return '己终止'
|
||||
}
|
||||
return ''
|
||||
},
|
||||
@ -183,7 +187,10 @@ export default {
|
||||
{value: '1', label: '审批中'},
|
||||
{value: '2', label: '拒绝'},
|
||||
{value: '3', label: '审批中'},
|
||||
{value: '4', label: '审批通过'}
|
||||
{value: '4', label: '审批通过'},
|
||||
{value: '5', label: '驳回'},
|
||||
{value: '6', label: '申述中'},
|
||||
{value: '7', label: '己终止'}
|
||||
],
|
||||
departmentList1: [],
|
||||
departmentList2: [],
|
||||
|
||||
@ -63,8 +63,6 @@
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="dataForm.remark" placeholder="备注" clearable></el-input>
|
||||
</el-form-item>
|
||||
@ -73,7 +71,7 @@
|
||||
<el-button size="mini" type="primary" @click="getDataList()">查询</el-button>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="">
|
||||
<el-form-item label="" v-if="departmentLevel=='HR'">
|
||||
<el-select v-model="dataForm.batchOpt" placeholder="批量操作" clearable filterable>
|
||||
<el-option
|
||||
v-for="item in batchOpts"
|
||||
@ -84,17 +82,17 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button size="mini" type="primary" style="" @click="">提交</el-button>
|
||||
<el-form-item v-if="departmentLevel=='HR'">
|
||||
<el-button size="mini" type="primary" @click="submitBt('你确定要批量操作吗?')">批量操作</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-tabs type="border-card" v-model="tabValue" @tab-click="tabChange">
|
||||
<el-tab-pane label="审批中" name="1,2,5"></el-tab-pane>
|
||||
<el-tab-pane label="全部" name="1,2,3,4,5"></el-tab-pane>
|
||||
<el-tab-pane label="批量提交" name="3"></el-tab-pane>
|
||||
<el-tab-pane label="审批中" name="1,2,5"></el-tab-pane>
|
||||
<el-tab-pane label="全部" name="1,2,3,4,5,6,7"></el-tab-pane>
|
||||
<el-tab-pane v-if="departmentLevel=='HR'" label="批量提交" name="3"></el-tab-pane>
|
||||
<el-tab-pane label="审批通过" name="4"></el-tab-pane>
|
||||
|
||||
<el-tab-pane v-if="departmentLevel=='HR'" label="申述中" name="6"></el-tab-pane>
|
||||
<el-table
|
||||
:data="dataList"
|
||||
border
|
||||
@ -181,6 +179,10 @@ export default {
|
||||
return '审批通过'
|
||||
} else if (status === 5) {
|
||||
return '驳回'
|
||||
} else if (status === 6) {
|
||||
return '申述中'
|
||||
} else if (status === 7) {
|
||||
return '己终止'
|
||||
}
|
||||
return ''
|
||||
},
|
||||
@ -197,10 +199,16 @@ export default {
|
||||
return {
|
||||
batchOpts: [{
|
||||
id: 1,
|
||||
opt: '批量提交'
|
||||
opt: '提交审批'
|
||||
}, {
|
||||
id: 2,
|
||||
opt: '批量终止'
|
||||
opt: '终止流程'
|
||||
}, {
|
||||
id: 3,
|
||||
opt: '申述无效'
|
||||
}, {
|
||||
id: 4,
|
||||
opt: '领导重新打分'
|
||||
}],
|
||||
Datalist: [{
|
||||
Month: 1,
|
||||
@ -221,7 +229,8 @@ export default {
|
||||
department1: '',
|
||||
department2: '',
|
||||
department3: '',
|
||||
status: '1,2,5'
|
||||
status: '1,2,5',
|
||||
batchOpt: 1
|
||||
},
|
||||
dataList: [],
|
||||
pageIndex: 1,
|
||||
@ -244,7 +253,8 @@ export default {
|
||||
tabValue: '1,2,5',
|
||||
isChangeDepartmentrtment: 0,
|
||||
isHiden: false,
|
||||
departmentReaderOnly: false
|
||||
departmentReaderOnly: false,
|
||||
departmentLevel: 'ME'
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
@ -280,14 +290,15 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
submitBt (msg = '你确定要提交吗?') {
|
||||
submitBt (msg = '你确定要批量操作吗?') {
|
||||
this.$confirm(msg, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
recordIdsSubmit({
|
||||
'recordIds': this.recordIdsSelect.join(',')
|
||||
'recordIds': this.recordIdsSelect.join(','),
|
||||
'batchOpt': this.dataForm.batchOpt
|
||||
}).then(data => {
|
||||
this.alertInfo(data.msg)
|
||||
this.getDataList()
|
||||
@ -347,6 +358,7 @@ export default {
|
||||
if (data && data.code === 0) {
|
||||
this.dataList = data.page.list
|
||||
this.totalPage = data.page.totalCount
|
||||
this.departmentLevel = data.departmentLevel
|
||||
if (this.isChangeDepartmentrtment === 0) {
|
||||
this.departmentList1 = data.departmentList1
|
||||
this.departmentList2 = data.departmentList2
|
||||
@ -400,7 +412,6 @@ export default {
|
||||
this.pageIndex = val
|
||||
this.getDataList()
|
||||
},
|
||||
|
||||
// 多选
|
||||
selectionChangeHandle (val) {
|
||||
this.dataListSelections = val
|
||||
|
||||
@ -47,10 +47,10 @@
|
||||
</div>
|
||||
|
||||
<div class="bottom" v-if="this.auth.dissatisfied == 1" >
|
||||
<el-button type="primary" size="mini" @click="commitApprovalAddOrUpdate('你确定要申述吗?',6)"><label >申述</label></el-button>
|
||||
<el-button type="primary" size="mini" @click="commitApprovalAddOrUpdate(6)"><label >申述</label></el-button>
|
||||
</div>
|
||||
|
||||
<div class="bottom" v-if="this.auth.submited == 1" >
|
||||
<div class="bottom" v-if="this.auth.cancel == 1" >
|
||||
<el-button type="primary" size="mini" @click="commitApprovalYes('你确定要撤回吗?',7)"><label >撤回</label></el-button>
|
||||
</div>
|
||||
|
||||
|
||||
@ -1,115 +0,0 @@
|
||||
<!-- -->
|
||||
<template>
|
||||
<div class="result-own-charts">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="24">
|
||||
<el-card>
|
||||
<div id="J_chartLineBox" class="chart-box"></div>
|
||||
</el-card>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import echarts from 'echarts'
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
chartLine: null
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.initChartLine()
|
||||
},
|
||||
activated () {
|
||||
// 由于给echart添加了resize事件, 在组件激活时需要重新resize绘画一次, 否则出现空白bug
|
||||
if (this.chartLine) {
|
||||
this.chartLine.resize()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 折线图
|
||||
initChartLine () {
|
||||
var option = {
|
||||
'title': {
|
||||
'text': '成长曲线分析'
|
||||
},
|
||||
'tooltip': {
|
||||
'trigger': 'axis'
|
||||
},
|
||||
'legend': {
|
||||
'data': [ '邮件营销', '联盟广告', '视频广告', '直接访问', '搜索引擎' ]
|
||||
},
|
||||
'grid': {
|
||||
'left': '3%',
|
||||
'right': '4%',
|
||||
'bottom': '3%',
|
||||
'containLabel': true
|
||||
},
|
||||
'toolbox': {
|
||||
'feature': {
|
||||
'saveAsImage': { }
|
||||
}
|
||||
},
|
||||
'xAxis': {
|
||||
'type': 'category',
|
||||
'boundaryGap': false,
|
||||
'data': [ '周一', '周二', '周三', '周四', '周五', '周六', '周日' ]
|
||||
},
|
||||
'yAxis': {
|
||||
'type': 'value'
|
||||
},
|
||||
'series': [
|
||||
{
|
||||
'name': '邮件营销',
|
||||
'type': 'line',
|
||||
'data': [ 120, 132, 101, 134, 90, 230, 210 ]
|
||||
},
|
||||
{
|
||||
'name': '联盟广告',
|
||||
'type': 'line',
|
||||
'data': [ 220, 182, 191, 234, 290, 330, 310 ]
|
||||
},
|
||||
{
|
||||
'name': '视频广告',
|
||||
'type': 'line',
|
||||
'data': [ 150, 232, 201, 154, 190, 330, 410 ]
|
||||
},
|
||||
{
|
||||
'name': '直接访问',
|
||||
'type': 'line',
|
||||
'data': [ 320, 332, 301, 334, 390, 330, 320 ]
|
||||
},
|
||||
{
|
||||
'name': '搜索引擎',
|
||||
'type': 'line',
|
||||
'data': [ 820, 10, 901, 934, 1290, 1330, 1320 ]
|
||||
}
|
||||
]
|
||||
}
|
||||
this.chartLine = echarts.init(document.getElementById('J_chartLineBox'))
|
||||
this.chartLine.setOption(option)
|
||||
window.addEventListener('resize', () => {
|
||||
this.chartLine.resize()
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang='scss' scoped>
|
||||
.result-own-charts {
|
||||
> .el-row {
|
||||
margin-top: -10px;
|
||||
margin-bottom: -10px;
|
||||
.el-col {
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
}
|
||||
.chart-box {
|
||||
min-height: 400px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -1,170 +0,0 @@
|
||||
<!-- -->
|
||||
<template>
|
||||
<div>
|
||||
<div class="staff-archives-title">条件筛选</div>
|
||||
<el-form :inline="true" :model="formInline" class="demo-form-inline staff-archives-form">
|
||||
<el-form-item label="选择部门">
|
||||
<el-input
|
||||
placeholder="请选择部门"
|
||||
@focus="isChoose=true"
|
||||
readonly
|
||||
:value="formInline.departmentName"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item :label="`选择时间段`">
|
||||
<el-date-picker
|
||||
v-model="formInline.value"
|
||||
type="daterange"
|
||||
align="right"
|
||||
value-format="yyyy-MM-dd"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
@change="changeData"
|
||||
></el-date-picker>
|
||||
<div>
|
||||
<el-button
|
||||
v-for="i in Datalist"
|
||||
:key="i.Month"
|
||||
:type="index==i.Month?'primary':'info'"
|
||||
size="mini"
|
||||
@click="handleChangeData(i)"
|
||||
>{{i.title}}</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="onSubmit">查询</el-button>
|
||||
<el-button type="primary" @click="restValue">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-dialog title="选择部门" :visible.sync="isChoose" width="30%">
|
||||
<el-tree :data="menuList" :props="defaultProps" @node-click="handleNodeClick">
|
||||
<span class="custom-tree-node" slot-scope="{ node, data }">
|
||||
<span>{{ data.departmentName }}</span>
|
||||
<span>({{ data.memberCount }})人</span>
|
||||
</span>
|
||||
</el-tree>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button size="mini" @click="isChoose = false">取 消</el-button>
|
||||
<el-button type="primary" size="mini" @click="onsumbit">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { apiOrganizationList } from '@/api/api_staff'
|
||||
import { getDataForMonth } from '@/utils'
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
Datalist: [{
|
||||
Month: 6,
|
||||
title: '近六个月'
|
||||
}, {
|
||||
Month: 12,
|
||||
title: '近一年'
|
||||
}],
|
||||
index: null,
|
||||
title: null,
|
||||
value2: [],
|
||||
isChooseObj: {},
|
||||
isChoose: false,
|
||||
menuList: [],
|
||||
defaultProps: {
|
||||
children: 'list',
|
||||
label: 'name'
|
||||
},
|
||||
formInline: {
|
||||
value: []
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
beforeMount () { },
|
||||
created () {
|
||||
this.handleGetMenuList()
|
||||
this.handleChangeData({
|
||||
Month: 3,
|
||||
title: '近三个月'
|
||||
})
|
||||
},
|
||||
mounted () { },
|
||||
methods: {
|
||||
async handleChangeData (data) {
|
||||
this.index = data.Month
|
||||
this.title = data.title
|
||||
let dataList = getDataForMonth(data.Month)
|
||||
this.formInline.value = dataList
|
||||
this.formInline.beginDate = dataList[0]
|
||||
this.formInline.endDate = dataList[1]
|
||||
this.onSubmit()
|
||||
},
|
||||
changeData (data) {
|
||||
this.index = null
|
||||
this.title = null
|
||||
this.formInline.beginDate = data[0]
|
||||
this.formInline.endDate = data[1]
|
||||
},
|
||||
// 获取侧边架构列表
|
||||
async handleGetMenuList () {
|
||||
let result = await apiOrganizationList()
|
||||
this.menuList = result
|
||||
},
|
||||
onSubmit () {
|
||||
let obj = {
|
||||
departmentId: this.formInline.departmentId,
|
||||
beginDate: this.formInline.beginDate,
|
||||
endDate: this.formInline.endDate
|
||||
}
|
||||
let monthLetter = {
|
||||
index: this.index,
|
||||
title: this.title
|
||||
}
|
||||
this.$emit('submit', obj, monthLetter)
|
||||
},
|
||||
restValue () {
|
||||
this.formInline = {}
|
||||
this.index = null
|
||||
this.title = null
|
||||
},
|
||||
onsumbit () {
|
||||
this.formInline = Object.assign({}, this.formInline, this.isChooseObj)
|
||||
this.isChoose = false
|
||||
},
|
||||
handleNodeClick (a, b) {
|
||||
this.isChooseObj = {
|
||||
departmentId: a.departmentId,
|
||||
departmentName: a.departmentName
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang='scss'>
|
||||
.el-range-separator {
|
||||
width: 7% !important;
|
||||
}
|
||||
.el-input__icon {
|
||||
transition: all 0.5s;
|
||||
}
|
||||
.staff-archives-choose {
|
||||
margin: 2px;
|
||||
height: 200px;
|
||||
overflow: auto;
|
||||
transition: all 0.3s;
|
||||
position: relative;
|
||||
border: 1px solid #dcdfe6;
|
||||
}
|
||||
.staff-archives-choose1 {
|
||||
height: 0px;
|
||||
opacity: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
</style>
|
||||
@ -1,90 +0,0 @@
|
||||
<!-- -->
|
||||
<template>
|
||||
<div class="report-archives">
|
||||
<el-main :loding="true">
|
||||
<el-card>
|
||||
<query-form @submit="submit" />
|
||||
</el-card>
|
||||
<div class="result-own-charts">
|
||||
<el-card v-if="dataInfo.genderDistribution">
|
||||
<chart-form :dataInfo="dataInfo.genderDistribution" title="成长曲线分析" />
|
||||
</el-card>
|
||||
</div>
|
||||
</el-main>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
import chartForm from './componments/chart-form'
|
||||
import queryForm from './componments/query-form'
|
||||
|
||||
import { apiEmployeessItuation } from '@/api/api_staff'
|
||||
export default {
|
||||
components: {
|
||||
chartForm,
|
||||
queryForm
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
monthLetter: {},
|
||||
dataInfo: {}
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
beforeMount () { },
|
||||
mounted () {
|
||||
},
|
||||
methods: {
|
||||
async handleGetEmployeessItuation (data = {}) {
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: 'Loading',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
})
|
||||
let result = await apiEmployeessItuation(data)
|
||||
setTimeout(() => {
|
||||
loading.close()
|
||||
}, 500)
|
||||
if (result.code === 0) {
|
||||
this.dataInfo = result.data
|
||||
} else {
|
||||
this.$message.error(result.mgs)
|
||||
}
|
||||
},
|
||||
submit (data, monthLetter) {
|
||||
this.monthLetter = monthLetter
|
||||
this.handleGetEmployeessItuation(data)
|
||||
}
|
||||
},
|
||||
watch: {}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style >
|
||||
.el-card {
|
||||
margin: 0 0 7px 0 !important;
|
||||
}
|
||||
.report-archives {
|
||||
overflow: hidden;
|
||||
}
|
||||
.staff-archives-title {
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
}
|
||||
.staff-archives-form {
|
||||
margin: 20px 0 0 0;
|
||||
}
|
||||
</style>
|
||||
<style lang="scss">
|
||||
.result-own-charts {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
> div {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
111
src/views/modules/result/role/lzflowmanager-add-or-update.vue
Normal file
111
src/views/modules/result/role/lzflowmanager-add-or-update.vue
Normal file
@ -0,0 +1,111 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
:title="!dataForm.id ? '新增' : '修改'"
|
||||
:close-on-click-modal="false"
|
||||
:visible.sync="visible">
|
||||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
|
||||
<el-form-item label="是否删除状态,1:删除,0:有效" prop="isDelete">
|
||||
<el-input v-model="dataForm.isDelete" placeholder="是否删除状态,1:删除,0:有效"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间" prop="gmtCreate">
|
||||
<el-input v-model="dataForm.gmtCreate" placeholder="创建时间"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="最后修改时间" prop="gmtModified">
|
||||
<el-input v-model="dataForm.gmtModified" placeholder="最后修改时间"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="流程名称" prop="name">
|
||||
<el-input v-model="dataForm.name" placeholder="流程名称"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="visible = false">取消</el-button>
|
||||
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
visible: false,
|
||||
dataForm: {
|
||||
id: 0,
|
||||
isDelete: '',
|
||||
gmtCreate: '',
|
||||
gmtModified: '',
|
||||
name: ''
|
||||
},
|
||||
dataRule: {
|
||||
isDelete: [
|
||||
{ required: true, message: '是否删除状态,1:删除,0:有效不能为空', trigger: 'blur' }
|
||||
],
|
||||
gmtCreate: [
|
||||
{ required: true, message: '创建时间不能为空', trigger: 'blur' }
|
||||
],
|
||||
gmtModified: [
|
||||
{ required: true, message: '最后修改时间不能为空', trigger: 'blur' }
|
||||
],
|
||||
name: [
|
||||
{ required: true, message: '流程名称不能为空', trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
init (id) {
|
||||
this.dataForm.id = id || 0
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs['dataForm'].resetFields()
|
||||
if (this.dataForm.id) {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl(`/user/lzflowmanager/info/${this.dataForm.id}`),
|
||||
method: 'get',
|
||||
params: this.$http.adornParams()
|
||||
}).then(({data}) => {
|
||||
if (data && data.code === 0) {
|
||||
this.dataForm.isDelete = data.lzflowmanager.isDelete
|
||||
this.dataForm.gmtCreate = data.lzflowmanager.gmtCreate
|
||||
this.dataForm.gmtModified = data.lzflowmanager.gmtModified
|
||||
this.dataForm.name = data.lzflowmanager.name
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
// 表单提交
|
||||
dataFormSubmit () {
|
||||
this.$refs['dataForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl(`/user/lzflowmanager/${!this.dataForm.id ? 'save' : 'update'}`),
|
||||
method: 'post',
|
||||
data: this.$http.adornData({
|
||||
'id': this.dataForm.id || undefined,
|
||||
'isDelete': this.dataForm.isDelete,
|
||||
'gmtCreate': this.dataForm.gmtCreate,
|
||||
'gmtModified': this.dataForm.gmtModified,
|
||||
'name': this.dataForm.name
|
||||
})
|
||||
}).then(({data}) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success',
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.visible = false
|
||||
this.$emit('refreshDataList')
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.error(data.msg)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
177
src/views/modules/result/role/lzflowmanager.vue
Normal file
177
src/views/modules/result/role/lzflowmanager.vue
Normal file
@ -0,0 +1,177 @@
|
||||
<template>
|
||||
<div class="mod-config">
|
||||
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
|
||||
<el-form-item>
|
||||
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList()">查询</el-button>
|
||||
<el-button v-if="isAuth('user:lzflowmanager:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
||||
<el-button v-if="isAuth('user:lzflowmanager:delete')" type="danger" @click="deleteHandle()"
|
||||
:disabled="dataListSelections.length <= 0">批量删除
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-tabs type="border-card" @tab-click="handleClick" v-model="tabValue">
|
||||
<el-tab-pane label="流程管理" name="0"></el-tab-pane>
|
||||
<el-tab-pane label="流程列表" name="1"></el-tab-pane>
|
||||
<el-table v-if="tabValue=='1'"
|
||||
:data="dataList"
|
||||
border
|
||||
v-loading="dataListLoading"
|
||||
@selection-change="selectionChangeHandle"
|
||||
style="width: 100%;">
|
||||
<el-table-column type="selection" header-align="center" align="center" width="50" ></el-table-column>
|
||||
<el-table-column prop="id" header-align="center" align="center" label="" > </el-table-column>
|
||||
<el-table-column prop="gmtCreate" header-align="center" align="center" label="创建时间" > </el-table-column>
|
||||
<el-table-column prop="gmtModified" header-align="center" align="center" label="修改时间" > </el-table-column>
|
||||
<el-table-column prop="name" header-align="center" align="center" label="流程名称" > </el-table-column>
|
||||
<el-table-column fixed="right" header-align="center" align="center" width="150" label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
|
||||
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination v-if="tabValue=='1'"
|
||||
@size-change="sizeChangeHandle"
|
||||
@current-change="currentChangeHandle"
|
||||
:current-page="pageIndex"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="pageSize"
|
||||
:total="totalPage"
|
||||
layout="total, sizes, prev, pager, next, jumper">
|
||||
</el-pagination>
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<add-or-update v-if="addOrUpdateVisible " ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
|
||||
|
||||
<el-table v-if="tabValue=='0'"
|
||||
:data="dataList"
|
||||
border
|
||||
v-loading="dataListLoading"
|
||||
@selection-change="selectionChangeHandle"
|
||||
style="width: 100%;">
|
||||
<el-table-column type="selection" header-align="center" align="center" width="50" ></el-table-column>
|
||||
<el-table-column prop="id" header-align="center" align="center" label="" > </el-table-column>
|
||||
<el-table-column prop="gmtCreate" header-align="center" align="center" label="创建时间" > </el-table-column>
|
||||
<el-table-column prop="gmtModified" header-align="center" align="center" label="修改时间" > </el-table-column>
|
||||
<el-table-column prop="name" header-align="center" align="center" label="流程名称" > </el-table-column>
|
||||
<el-table-column fixed="right" header-align="center" align="center" width="150" label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
|
||||
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
|
||||
</el-tabs>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import AddOrUpdate from './lzflowmanager-add-or-update'
|
||||
import {apiGetFlowList, apiFlowInfo} from '@/api/api_flow_manager'
|
||||
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
tabValue: '0',
|
||||
dataForm: {
|
||||
key: ''
|
||||
},
|
||||
dataList: [],
|
||||
pageIndex: 1,
|
||||
pageSize: 10,
|
||||
totalPage: 0,
|
||||
dataListLoading: false,
|
||||
dataListSelections: [],
|
||||
addOrUpdateVisible: false
|
||||
}
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate
|
||||
},
|
||||
activated () {
|
||||
this.getDataList()
|
||||
},
|
||||
methods: {
|
||||
// 获取数据列表
|
||||
getDataList () {
|
||||
apiGetFlowList({
|
||||
'page': this.pageIndex,
|
||||
'limit': this.pageSize,
|
||||
'name': this.dataForm.name
|
||||
}).then(data => {
|
||||
if (data && data.code === 0) {
|
||||
this.dataList = data.page.list
|
||||
this.totalPage = data.page.totalCount
|
||||
} else {
|
||||
this.dataList = []
|
||||
this.totalPage = 0
|
||||
}
|
||||
this.dataListLoading = false
|
||||
})
|
||||
},
|
||||
handleClick (row) {
|
||||
this.tabValue = row.name
|
||||
if (this.tabValue === '1') {
|
||||
this.getDataList()
|
||||
}
|
||||
},
|
||||
// 每页数
|
||||
sizeChangeHandle (val) {
|
||||
this.pageSize = val
|
||||
this.pageIndex = 1
|
||||
this.getDataList()
|
||||
},
|
||||
// 当前页
|
||||
currentChangeHandle (val) {
|
||||
this.pageIndex = val
|
||||
this.getDataList()
|
||||
},
|
||||
// 多选
|
||||
selectionChangeHandle (val) {
|
||||
this.dataListSelections = val
|
||||
},
|
||||
// 新增 / 修改
|
||||
addOrUpdateHandle (id) {
|
||||
this.addOrUpdateVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(id)
|
||||
})
|
||||
},
|
||||
// 删除
|
||||
deleteHandle (id) {
|
||||
var ids = id ? [id] : this.dataListSelections.map(item => {
|
||||
return item.id
|
||||
})
|
||||
this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.$http({
|
||||
url: this.$http.adornUrl('/user/lzflowmanager/delete'),
|
||||
method: 'post',
|
||||
data: this.$http.adornData(ids, false)
|
||||
}).then(({data}) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: '操作成功',
|
||||
type: 'success',
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getDataList()
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message.error(data.msg)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
Loading…
x
Reference in New Issue
Block a user