Browse Source

新增

master
陈裕财 4 years ago
parent
commit
ddecc286c1
  1. 101
      src/views/xm/core/xmProjectGroup/XmProjectGroupMng.vue
  2. 221
      src/views/xm/core/xmProjectGroupFormwork/XmProjectGroupFormwork.vue
  3. 117
      src/views/xm/core/xmProjectGroupFormwork/XmProjectGroupFormworkAdd.vue
  4. 112
      src/views/xm/core/xmProjectGroupFormwork/XmProjectGroupFormworkEdit.vue
  5. 239
      src/views/xm/core/xmProjectGroupFormwork/XmProjectGroupFormworkMng.vue

101
src/views/xm/core/xmProjectGroup/XmProjectGroupMng.vue

@ -1,8 +1,38 @@
<template>
<section class="page-container">
<el-row v-loading="load.edit">
<xm-project-group-formwork :is-select-single-user="isSelectSingleUser" :is-select-multi-user="isSelectMultiUser" :visible="groupSelectVisible" :sel-project="selProject" :sel-groups="groups" @select-confirm="onGroupSelected" @user-confirm="onUserSelected"></xm-project-group-formwork>
<section class="page-container padding">
<el-row v-if="!isSelectSingleUser && !isSelectMultiUser">
<el-button type="primary" v-if="!groups||groups.length==0" @click="showGroupFormwork" icon="el-icon-plus">导入项目组</el-button>
<el-button type="plain" @click="showGroupState" icon="el-icon-s-data">小组进度</el-button>
<el-button type="plain" @click="xmRecordVisible=true" icon="el-icon-document">变化日志</el-button>
<el-button type="plain" @click="doSearchImGroupsByProjectId" icon="el-icon-document">绑定即聊情况</el-button>
<el-button @click="groupRoleDescVisible=true" icon="el-icon-document">角色说明</el-button>
</el-row>
<el-row v-else>
<el-button type="primary" @click="userConfirm" icon="el-icon-finished">确认选择用户</el-button>
</el-row>
<el-row>
<vue-okr-tree :data="okrTreeData"
show-collapsable
default-expand-all
node-key="id"
current-lable-class-name="crrentClass"
:render-content="renderContent"
@node-click="handleNodeClick"
direction="horizontal"
></vue-okr-tree>
</el-row>
<el-dialog
title="操作"
:visible.sync="groupOperSelectVisible"
width="30%" >
<el-row>
<el-button @click="showAdd">新增一级小组</el-button>
<el-button @click="showAddSub(editForm)">新增下级小组</el-button>
<el-button type="primary" @click="showEdit(editForm)">小组明细</el-button>
<el-button @click="handleDel(editForm)">删除小组</el-button>
</el-row>
</el-dialog>
</section>
</template>
@ -12,14 +42,40 @@
//import Sticky from '@/components/Sticky' // header
//import { listOption } from '@/api/mdp/meta/itemOption';//
import { updateGroup,getProjectGroup } from '@/api/xm/core/xmProjectGroup';
import { mapGetters } from 'vuex';
import XmProjectGroupFormwork from '../xmProjectGroupFormwork/XmProjectGroupFormwork';
import { mapGetters } from 'vuex';
import XmProjectGroupEdit from "./XmProjectGroupEdit"
import {VueOkrTree} from 'vue-okr-tree';
import 'vue-okr-tree/dist/vue-okr-tree.css'
export default {
computed: {
...mapGetters([
'userInfo','roles'
])
]),
okrTreeData(){
var groups=this.groups;
groups.forEach(i=>{
i.label=i.groupName
if(i.groupUsers){
var groupUsers=i.groupUsers;
groupUsers.forEach(i=>i.label=i.username)
i.children=groupUsers
}
})
var topLabel="组织架构"
if(this.xmProduct&&this.xmProduct.id){
topLabel=this.xmProduct.name+"-产品组织架构"
}else if(this.selProject && this.selProject.id){
topLabel=this.selProject.name+"-项目组织架构"
}
var data=[{
label:topLabel,
children:groups
}
]
return data;
}
},
props: ["selProject" ,"isSelectSingleUser","isSelectMultiUser",'xmProduct','xmIteration'],
watch:{
@ -39,6 +95,13 @@
/**begin 自定义属性请在下面加 请加备注**/
groupSelectVisible: true,
groups:[],
editForm: {
id:'',groupName:'',projectId:''
},
addForm: {
id:'',groupName:'',projectId:''
},
groupOperSelectVisible:false,
/**end 自定义属性请在上面加 请加备注**/
}
},//end data
@ -103,13 +166,35 @@
/**begin 自定义函数请在下面加**/
onUserSelected:function(users){
this.$emit("user-confirm",users);
},
renderCurrentClass (node) {
return 'label-bg-blue'
},
handleNodeClick (data) {
this.groupOperSelectVisible=true;
this.editForm=data;
},
renderContent (h, node) {
return (
<div class={'diy-wrapper', node.isCurrent ? 'current-select' : ''}>
<div class={'diy-con-name',node.data.userid? 'el-icon-user':''}>{node.data.label}<div></div></div>
<div class="diy-con-content">
{node.data.leaderUsername?
(<div> {node.data.leaderUsername }</div>
)
:
(<div> </div>)
}
</div>
</div>
)
}
/**end 自定义函数请在上面加**/
},//end methods
components: {
XmProjectGroupFormwork
VueOkrTree,XmProjectGroupEdit,
//
},
mounted() {

221
src/views/xm/core/xmProjectGroupFormwork/XmProjectGroupFormwork.vue

@ -1,8 +1,5 @@
<template>
<section class="page-container padding">
<el-row>
<vue-okr-tree :data="okrTreeData"></vue-okr-tree>
</el-row>
<el-row>
<el-col :span="24">
<el-button v-if="!isSelectSingleUser && !isSelectMultiUser" type="primary" @click="showGroupFormwork" icon="el-icon-plus">导入项目组</el-button>
@ -17,70 +14,19 @@
<el-tooltip v-if="isSelectSingleUser!='1' && isSelectMultiUser !='1'" content="黄色表示组长"><span class="addXmProjectGroupFormworkSquare"></span></el-tooltip>
<el-tooltip v-else content="黄色表示选中"><span class="addXmProjectGroupFormworkSquare">选中</span></el-tooltip>
</el-col>
</el-row>
<el-row class="page-main page-height-80 padding" v-loading="load.list" v-if="!isSelectSingleUser && !isSelectMultiUser">
<el-row v-for="(item,index) in xmProjectGroupFormworkSels" :key="index">
<h3>
<div><el-tooltip :content="'归属项目组【'+item.projectId+'】'"><font>{{item.groupName + ":"}}</font></el-tooltip><el-tag v-if="imGroupVisible==true && imGroups.some(g=>item.id==g.id) " type="success"></el-tag><el-tag type="danger" v-else-if="imGroupVisible==true " @click="doCreateImGroup(item)"></el-tag>
<i class="el-icon-close closeStyle" @click.stop="delGroup(item,index)"></i>
</div>
</h3>
<el-col :span="23" style="margin-left:30px;display:flex;flex-wrap: wrap;margin-right:30px;">
<div :class="v.isHead=='1'?'checkCopyButton':'copyButton'" v-for="(v,valueIndex) in item.groupUsers" :key="valueIndex" @click="toggleHead(index,valueIndex)">
{{v.username}}
<i class="el-icon-close closeStyle" @click.stop="delGroupUser(index,valueIndex)"></i>
</div>
<div class="add" @click="addGroupUser(index)"><i class="el-icon-circle-plus-outline" style="font-size:35px;"></i></div>
</el-col>
</el-row>
</el-row>
</el-row>
<el-row class="page-main page-height-80" v-loading="load.list" v-else>
<el-row v-for="(item,index) in xmProjectGroupFormworkSels" :key="index">
<h3>
<div>{{item.groupName + ":"}}
</div>
</h3>
<el-col :span="23" style="margin-left:30px;display:flex;flex-wrap: wrap;">
<div :class="v.isSelected=='1'?'checkCopyButton':'copyButton'" v-for="(v,valueIndex) in item.groupUsers" :key="valueIndex" @click="toggleHead(index,valueIndex)">
{{v.username}}
</div>
</el-col>
</el-row>
</el-row>
<el-drawer
append-to-body
:visible.sync="groupSelectVisible"
width="50%">
<el-row>
<el-button v-if="setTemplateVisible==false" @click="getXmProjectGroupFormworks" v-loading="load.list" icon="el-icon-search">刷新</el-button>
<el-button v-if="setTemplateVisible==false" type="primary" @click="groupNameConfirm" icon="el-icon-finished">确认选择</el-button>
<el-select v-if="setTemplateVisible==true" style="width:20%;" placeholder="请选择小组类型" v-model="projectGroupType" value-key="optionValue">
<el-option
v-for="(item,i) in options.projectGroupType"
:key="i"
:label="item.optionName"
:value="item">
</el-option>
</el-select>
<el-input style="width:40%" v-show="setTemplateVisible" v-model="needAddGroupNameValue" placeholder="输入组名,回车直接添加" @keyup.enter.native="addGroupName">
<el-button slot="append" @click.stop="addGroupName" icon="el-icon-plus"></el-button>
</el-input>
<el-button v-if="setTemplateVisible==false" @click.stop="setTemplateVisible=true" icon="el-icon-right">维护模板</el-button>
<el-button v-else @click.stop="setTemplateVisible=false" icon="el-icon-back">返回</el-button>
</el-row>
<el-table ref="groupTable" :height="tableHeight" @selection-change="addIsSels" @row-click.self="changesels" :data="convertXmProjectGroupFormworks" v-loading="load.list">
<el-table-column type="selection" aria-disabled width="55"></el-table-column>
<el-table-column align="center" prop="groupName" label="小组模板" width="200"></el-table-column>
<el-table-column align="center" label="操作">
<template slot-scope="scope">
<el-button v-show="setTemplateVisible==true" type="danger" @click.stop="deleteGroup(scope.$index, scope.row)" icon="el-icon-delete"></el-button>
</template>
</el-table-column>
</el-table>
</el-drawer>
<el-row>
<vue-okr-tree :data="okrTreeData"
show-collapsable
default-expand-all
node-key="id"
current-lable-class-name="crrentClass"
:render-content="renderContent"
@node-click="handleNodeClick"
direction="horizontal"
></vue-okr-tree>
</el-row>
<el-drawer append-to-body
title="角色说明"
size="60%"
@ -250,7 +196,8 @@
return {
sectionLoading: false,
filters: {
key: ''
key: '',
name:'dddddddddddddddddddddddddd'
},
load: {list: false,edit: false,del: false,add: false}, //...
sels: [], //
@ -578,6 +525,27 @@
});
}
},
renderCurrentClass (node) {
return 'label-bg-blue'
},
handleNodeClick (data) {
alert(`我是${data.label},我被点击了`)
},
renderContent (h, node) {
return (
<div class={'diy-wrapper', node.isCurrent ? 'current-select' : ''}>
<div class={'diy-con-name',node.data.userid? 'el-icon-user':''}>{node.data.label}</div>
<div class="diy-con-content">
{node.data.leaderUsername?
(<div> {node.data.leaderUsername }</div>
)
:
(<div> </div>)
}
</div>
</div>
)
}
/**end 自定义函数请在上面加**/
@ -611,98 +579,31 @@
}
}
</script>
<style>
.label-class-blue{
color: #1989fa;
}
.label-bg-blue{
background: #1989fa;
color: #fff;
}
.diy-wrapper{
padding:10px
}
.no-padding{
padding: 0 !important;
}
.diy-wrapper.left-child{
border: 1px solid red;
}
.diy-con-name{
color: black;
}
.crrentClass{
border: 1px solid red;
color: blue;
}
</style>
<style scoped>
.copyButton {
margin-left: 10px;
border-radius: 20px;
padding: 10px 1px;
border: 1px solid rgb(220, 223, 230);
/* color:#039; */
}
.copyButton:hover {
color: #409eff;
border-color: #c6e2ff;
background-color: #ecf5ff;
cursor: default;
}
.checkCopyButton {
/*color: #fff;*/
margin-left: 10px;
border-radius: 20px;
padding: 10px 1px;
border: 1px solid #FFA00A;
/*background-color: rgba(230, 162, 60, .1);*/
/* background-color: #f9f9f9; */
background-color: #fff;
/*border-color: rgba(230,162,60,.2);*/
color: #FFA00A;
}
.add {
display: flex;
align-items: center;
margin-left: 10px;
margin-top: 2px;
}
.add:hover {
cursor: pointer;
animation: myrotate 0.5s linear infinite;
}
.input-xmProjectGroupFormwork {
margin-left:10px;
margin-top: 2px;
align-self: center;
}
.closeStyle {
padding: 1px;
}
.closeStyle:hover {
cursor: pointer;
/* border-color:#f40; */
/* border: 1px solid #f40; */
background-color: #FFA00A;
color: #fff;
border-radius: 50%;
padding: 1px;
animation: myrotate 1s linear;
}
.addXmProjectGroupFormworkSquare {
width: 15px;
height: 15px;
display: inline-block;
background-color: #FFA00A;
animation: myrotate 2s linear infinite;
}
.closeXmProjectGroupFormworkSquare {
width: 15px;
height: 15px;
display: inline-block;
background-color: #fff;
animation: myrotate 2s linear infinite;
}
@keyframes myrotate {
0% {
transform: rotate(0deg);
box-shadow: 0px 0px 10px #fff;
}
50% {
transform: rotate(180deg);
box-shadow: 0px 0px 45px #fff;
}
100% {
transform: rotate(360deg);
box-shadow: 0px 0px 10px #fff;
}
}
</style>

117
src/views/xm/core/xmProjectGroupFormwork/XmProjectGroupFormworkAdd.vue

@ -1,117 +0,0 @@
<template>
<section class="page-container page-full-height padding border">
<el-row>
<!--新增界面 XmProjectGroupFormwork xm_project_group_formwork-->
<el-form :model="addForm" label-width="120px" :rules="addFormRules" ref="addForm">
<el-form-item label="主键" prop="id">
<el-input v-model="addForm.id" placeholder="主键" ></el-input>
</el-form-item>
<el-form-item label="机构编号" prop="branchId">
<el-input v-model="addForm.branchId" placeholder="机构编号" ></el-input>
</el-form-item>
<el-form-item label="团队名称" prop="groupName">
<el-input v-model="addForm.groupName" placeholder="团队名称" ></el-input>
</el-form-item>
<el-form-item label="是否公共,0为否,1为是" prop="isPub">
<el-input v-model="addForm.isPub" placeholder="是否公共,0为否,1为是" ></el-input>
</el-form-item>
<el-form-item>
<el-col :span="24" :offset="8">
<el-button @click.native="handleCancel">取消</el-button>
<el-button v-loading="load.add" type="primary" @click.native="addSubmit" :disabled="load.add==true">提交</el-button>
</el-col>
</el-form-item>
</el-form>
</el-row>
</section>
</template>
<script>
import util from '@/common/js/util';//
//import { listOption } from '@/api/mdp/meta/itemOption';//
import { addXmProjectGroupFormwork } from '@/api/xm/core/xmProjectGroupFormwork';
import { mapGetters } from 'vuex'
export default {
computed: {
...mapGetters([
'userInfo','roles'
])
},
props:['xmProjectGroupFormwork','visible'],
watch: {
'xmProjectGroupFormwork':function( xmProjectGroupFormwork ) {
this.addForm = xmProjectGroupFormwork;
},
'visible':function(visible) {
if(visible==true){
//
}
}
},
data() {
return {
options:{},// params=[{categoryId:'0001',itemCode:'sex'}] {'sex':[{optionValue:'1',optionName:'',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'',seqOrder:'2',fp:'',isDefault:'0'}]}
load:{ list: false, edit: false, del: false, add: false },//...
addFormRules: {
id: [
//{ required: true, message: '', trigger: 'blur' }
]
},
// xm_project_group_formwork
addForm: {
id:'',branchId:'',groupName:'',isPub:''
}
/**begin 在下面加自定义属性,记得补上面的一个逗号**/
/**end 在上面加自定义属性**/
}//end return
},//end data
methods: {
// @cancel="addFormVisible=false"
handleCancel:function(){
this.$refs['addForm'].resetFields();
this.$emit('cancel');
},
//XmProjectGroupFormwork xm_project_group_formwork @submit="afterAddSubmit"
addSubmit: function () {
this.$refs.addForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.load.add=true
let params = Object.assign({}, this.addForm);
addXmProjectGroupFormwork(params).then((res) => {
this.load.add=false
var tips=res.data.tips;
if(tips.isOk){
this.$refs['addForm'].resetFields();
this.$emit('submit');// @submit="afterAddSubmit"
}
this.$message({showClose: true, message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err => this.load.add=false);
});
}
});
}
/**begin 在下面加自定义方法,记得补上面的一个逗号**/
/**end 在上面加自定义方法**/
},//end method
components: {
// 'xm-project-group-formwork-edit':XmProjectGroupFormworkEdit
},
mounted() {
this.addForm=Object.assign(this.addForm, this.xmProjectGroupFormwork);
/**在下面写其它函数***/
}//end mounted
}
</script>
<style scoped>
</style>

112
src/views/xm/core/xmProjectGroupFormwork/XmProjectGroupFormworkEdit.vue

@ -1,112 +0,0 @@
<template>
<section class="page-container page-full-height padding border">
<el-row>
<!--编辑界面 XmProjectGroupFormwork xm_project_group_formwork-->
<el-form :model="editForm" label-width="120px" :rules="editFormRules" ref="editForm">
<el-form-item label="主键" prop="id">
<el-input v-model="editForm.id" placeholder="主键"></el-input>
</el-form-item>
<el-form-item label="机构编号" prop="branchId">
<el-input v-model="editForm.branchId" placeholder="机构编号"></el-input>
</el-form-item>
<el-form-item label="团队名称" prop="groupName">
<el-input v-model="editForm.groupName" placeholder="团队名称"></el-input>
</el-form-item>
<el-form-item label="是否公共,0为否,1为是" prop="isPub">
<el-input v-model="editForm.isPub" placeholder="是否公共,0为否,1为是"></el-input>
</el-form-item>
<el-form-item>
<el-col :span="24" :offset="8">
<el-button @click.native="handleCancel">取消</el-button>
<el-button v-loading="load.edit" type="primary" @click.native="editSubmit" :disabled="load.edit==true">提交</el-button>
</el-col>
</el-form-item>
</el-form>
</el-row>
</section>
</template>
<script>
import util from '@/common/js/util';//
//import { listOption } from '@/api/mdp/meta/itemOption';//
import { editXmProjectGroupFormwork } from '@/api/xm/core/xmProjectGroupFormwork';
import { mapGetters } from 'vuex'
export default {
computed: {
...mapGetters([
'userInfo','roles'
])
},
props:['xmProjectGroupFormwork','visible'],
watch: {
'xmProjectGroupFormwork':function( xmProjectGroupFormwork ) {
this.editForm = xmProjectGroupFormwork;
},
'visible':function(visible) {
if(visible==true){
//
}
}
},
data() {
return {
options:{},// params=[{categoryId:'0001',itemCode:'sex'}] {'sex':[{optionValue:'1',optionName:'',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'',seqOrder:'2',fp:'',isDefault:'0'}]}
load:{ list: false, edit: false, del: false, add: false },//...
editFormRules: {
id: [
//{ required: true, message: '', trigger: 'blur' }
]
},
// XmProjectGroupFormwork xm_project_group_formwork
editForm: {
id:'',branchId:'',groupName:'',isPub:''
}
/**begin 在下面加自定义属性,记得补上面的一个逗号**/
/**end 在上面加自定义属性**/
}//end return
},//end data
methods: {
// @cancel="editFormVisible=false"
handleCancel:function(){
this.$refs['editForm'].resetFields();
this.$emit('cancel');
},
//XmProjectGroupFormwork xm_project_group_formwork@submit="afterEditSubmit"
editSubmit: function () {
this.$refs.editForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.load.edit=true
let params = Object.assign({}, this.editForm);
editXmProjectGroupFormwork(params).then((res) => {
this.load.edit=false
var tips=res.data.tips;
if(tips.isOk){
this.$refs['editForm'].resetFields();
this.$emit('submit');// @submit="afterEditSubmit"
}
this.$message({showClose: true, message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err =>this.load.edit=false);
});
}
});
}
/**begin 在下面加自定义方法,记得补上面的一个逗号**/
/**end 在上面加自定义方法**/
},//end method
components: {
// 'xm-project-group-formwork-edit':XmProjectGroupFormworkEdit
},
mounted() {
this.editForm=Object.assign(this.editForm, this.xmProjectGroupFormwork);
}
}
</script>
<style scoped>
</style>

239
src/views/xm/core/xmProjectGroupFormwork/XmProjectGroupFormworkMng.vue

@ -1,239 +0,0 @@
<template>
<section class="page-container padding border">
<el-row>
<el-input v-model="filters.key" style="width: 20%;" placeholder="模糊查询"></el-input>
<el-button type="primary" v-loading="load.list" :disabled="load.list==true" v-on:click="searchXmProjectGroupFormworks">查询</el-button>
<el-button type="primary" @click="showAdd">+xm_project_group_formwork</el-button>
<el-button type="danger" v-loading="load.del" @click="batchDel" :disabled="this.sels.length===0 || load.del==true">批量删除</el-button>
</el-row>
<el-row class="page-main page-height-90">
<!--列表 XmProjectGroupFormwork xm_project_group_formwork-->
<el-table ref="table" :height="tableHeight" :data="xmProjectGroupFormworks" @sort-change="sortChange" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column sortable type="selection" width="40"></el-table-column>
<el-table-column sortable type="index" width="40"></el-table-column>
<el-table-column prop="id" label="主键" min-width="80" ></el-table-column>
<el-table-column prop="branchId" label="机构编号" min-width="80" ></el-table-column>
<el-table-column prop="groupName" label="团队名称" min-width="80" ></el-table-column>
<el-table-column prop="isPub" label="是否公共,0为否,1为是" min-width="80" ></el-table-column>
<el-table-column label="操作" width="160" fixed="right" >
<template slot-scope="scope">
<el-button @click="showEdit( scope.row,scope.$index)"></el-button>
<el-button type="danger" @click="handleDel(scope.row,scope.$index)"></el-button>
</template>
</el-table-column>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next" @current-change="handleCurrentChange" @size-change="handleSizeChange" :page-sizes="[10,20, 50, 100, 500]" :current-page="pageInfo.pageNum" :page-size="pageInfo.pageSize" :total="pageInfo.total" style="float:right;"></el-pagination>
<!--编辑 XmProjectGroupFormwork xm_project_group_formwork界面-->
<el-drawer title="编辑xm_project_group_formwork" :visible.sync="editFormVisible" size="50%" append-to-body :close-on-click-modal="false">
<xm-project-group-formwork-edit :xm-project-group-formwork="editForm" :visible="editFormVisible" @cancel="editFormVisible=false" @submit="afterEditSubmit"></xm-project-group-formwork-edit>
</el-drawer>
<!--新增 XmProjectGroupFormwork xm_project_group_formwork界面-->
<el-drawer title="新增xm_project_group_formwork" :visible.sync="addFormVisible" size="50%" append-to-body :close-on-click-modal="false">
<xm-project-group-formwork-add :xm-project-group-formwork="addForm" :visible="addFormVisible" @cancel="addFormVisible=false" @submit="afterAddSubmit"></xm-project-group-formwork-add>
</el-drawer>
</el-row>
</section>
</template>
<script>
import util from '@/common/js/util';//
//import Sticky from '@/components/Sticky' // header
//import { listOption } from '@/api/mdp/meta/itemOption';//
import { listXmProjectGroupFormwork, delXmProjectGroupFormwork, batchDelXmProjectGroupFormwork } from '@/api/xm/core/xmProjectGroupFormwork';
import XmProjectGroupFormworkAdd from './XmProjectGroupFormworkAdd';//
import XmProjectGroupFormworkEdit from './XmProjectGroupFormworkEdit';//
import { mapGetters } from 'vuex'
export default {
computed: {
...mapGetters([
'userInfo','roles'
])
},
data() {
return {
filters: {
key: ''
},
xmProjectGroupFormworks: [],//
pageInfo:{//
total:0,//0>0
pageSize:10,//
count:false,//
pageNum:1,//1
orderFields:[],// ['sex','student_id']
orderDirs:[]// asc,desc ['asc','desc']
},
load:{ list: false, edit: false, del: false, add: false },//...
sels: [],//
options:{},// params=[{categoryId:'0001',itemCode:'sex'}] {'sex':[{optionValue:'1',optionName:'',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'',seqOrder:'2',fp:'',isDefault:'0'}]}
addFormVisible: false,//xmProjectGroupFormwork
//xmProjectGroupFormwork
addForm: {
id:'',branchId:'',groupName:'',isPub:''
},
editFormVisible: false,//
//xmProjectGroupFormwork
editForm: {
id:'',branchId:'',groupName:'',isPub:''
},
/**begin 自定义属性请在下面加 请加备注**/
tableHeight:300,
/**end 自定义属性请在上面加 请加备注**/
}
},//end data
methods: {
handleSizeChange(pageSize) {
this.pageInfo.pageSize=pageSize;
this.getXmProjectGroupFormworks();
},
handleCurrentChange(pageNum) {
this.pageInfo.pageNum = pageNum;
this.getXmProjectGroupFormworks();
},
// obj.order=ascending/descending, asc/desc ; obj.prop=,
sortChange( obj ){
var dir='asc';
if(obj.order=='ascending'){
dir='asc'
}else{
dir='desc';
}
if(obj.prop=='xxx'){
this.pageInfo.orderFields=['xxx'];
this.pageInfo.orderDirs=[dir];
}
this.getXmProjectGroupFormworks();
},
searchXmProjectGroupFormworks(){
this.pageInfo.count=true;
this.getXmProjectGroupFormworks();
},
// XmProjectGroupFormwork xm_project_group_formwork
getXmProjectGroupFormworks() {
let params = {
pageSize: this.pageInfo.pageSize,
pageNum: this.pageInfo.pageNum,
total: this.pageInfo.total,
count:this.pageInfo.count
};
if(this.pageInfo.orderFields!=null && this.pageInfo.orderFields.length>0){
let orderBys=[];
for(var i=0;i<this.pageInfo.orderFields.length;i++){
orderBys.push(this.pageInfo.orderFields[i]+" "+this.pageInfo.orderDirs[i])
}
params.orderBy= orderBys.join(",")
}
if(this.filters.key!==""){
//params.xxx=this.filters.key
}else{
//params.xxx=xxxxx
}
this.load.list = true;
listXmProjectGroupFormwork(params).then((res) => {
var tips=res.data.tips;
if(tips.isOk){
this.pageInfo.total = res.data.total;
this.pageInfo.count=false;
this.xmProjectGroupFormworks = res.data.data;
}else{
this.$message({showClose: true, message: tips.msg, type: 'error' });
}
this.load.list = false;
}).catch( err => this.load.list = false );
},
// XmProjectGroupFormwork xm_project_group_formwork
showEdit: function ( row,index ) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
},
// XmProjectGroupFormwork xm_project_group_formwork
showAdd: function () {
this.addFormVisible = true;
//this.addForm=Object.assign({}, this.editForm);
},
afterAddSubmit(){
this.addFormVisible=false;
this.pageInfo.count=true;
this.getXmProjectGroupFormworks();
},
afterEditSubmit(){
this.editFormVisible=false;
},
//xmProjectGroupFormwork
selsChange: function (sels) {
this.sels = sels;
},
//xmProjectGroupFormwork
handleDel: function (row,index) {
this.$confirm('确认删除该记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.load.del=true;
let params = { id: row.id };
delXmProjectGroupFormwork(params).then((res) => {
this.load.del=false;
var tips=res.data.tips;
if(tips.isOk){
this.pageInfo.count=true;
this.getXmProjectGroupFormworks();
}
this.$message({showClose: true, message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err => this.load.del=false );
});
},
//xmProjectGroupFormwork
batchDel: function () {
this.$confirm('确认删除选中记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.load.del=true;
batchDelXmProjectGroupFormwork(this.sels).then((res) => {
this.load.del=false;
var tips=res.data.tips;
if( tips.isOk ){
this.pageInfo.count=true;
this.getXmProjectGroupFormworks();
}
this.$message({showClose: true, message: tips.msg, type: tips.isOk?'success':'error'});
}).catch( err => this.load.del=false );
});
},
rowClick: function(row, event, column){
this.$emit('row-click',row, event, column);// @row-click="rowClick"
}
/**begin 自定义函数请在下面加**/
/**end 自定义函数请在上面加**/
},//end methods
components: {
'xm-project-group-formwork-add':XmProjectGroupFormworkAdd,
'xm-project-group-formwork-edit':XmProjectGroupFormworkEdit,
//
},
mounted() {
this.$nextTick(() => {
var clientRect=this.$refs.table.$el.getBoundingClientRect();
var subHeight=70/1000 * window.innerHeight;
this.tableHeight = window.innerHeight -clientRect.y - this.$refs.table.$el.offsetTop-subHeight;
this.getXmProjectGroupFormworks();
});
}
}
</script>
<style scoped>
</style>
Loading…
Cancel
Save