Browse Source

优化

master
陈裕财 4 years ago
parent
commit
0675bc5fa0
  1. 123
      src/views/xm/core/xmIterationLink/XmIterationLinkAdd.vue
  2. 118
      src/views/xm/core/xmIterationLink/XmIterationLinkEdit.vue
  3. 301
      src/views/xm/core/xmIterationLink/XmIterationLinkForProduct.vue
  4. 302
      src/views/xm/core/xmIterationLink/XmIterationLinkForProject.vue

123
src/views/xm/core/xmIterationLink/XmIterationLinkAdd.vue

@ -1,123 +0,0 @@
<template>
<section>
<el-row>
<!--新增界面 XmIterationLink 迭代表与产品表的关联关系一般由迭代管理员将迭代挂接到产品表-->
<el-form :model="addForm" label-width="120px" :rules="addFormRules" ref="addForm">
<el-form-item label="迭代表主键" prop="iterationId">
<el-input v-model="addForm.iterationId" placeholder="迭代表主键" ></el-input>
</el-form-item>
<el-form-item label="产品表主键" prop="proId">
<el-input v-model="addForm.proId" placeholder="产品表主键" ></el-input>
</el-form-item>
<el-form-item label="创建时间" prop="ctime">
<el-date-picker type="date" placeholder="选择日期" v-model="addForm.ctime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="创建人编号" prop="cuserid">
<el-input v-model="addForm.cuserid" placeholder="创建人编号" ></el-input>
</el-form-item>
<el-form-item label="创建人姓名" prop="cusername">
<el-input v-model="addForm.cusername" placeholder="创建人姓名" ></el-input>
</el-form-item>
<el-form-item label="关联状态1关联0取消关联" prop="linkStatus">
<el-input v-model="addForm.linkStatus" placeholder="关联状态1关联0取消关联" ></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 { initSimpleDicts } from '@/api/mdp/meta/item';//
import { addXmIterationLink } from '@/api/xm/core/xmIterationLink';
import { mapGetters } from 'vuex'
export default {
computed: {
...mapGetters([
'userInfo'
])
},
props:['xmIterationLink','visible'],
watch: {
'xmIterationLink':function( xmIterationLink ) {
this.addForm = xmIterationLink;
},
'visible':function(visible) {
if(visible==true){
//
}
}
},
data() {
return {
dicts:{},// 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: {
iterationId: [
//{ required: true, message: '', trigger: 'blur' }
]
},
//
addForm: {
iterationId:'',proId:'',ctime:'',cuserid:'',cusername:'',linkStatus:''
}
/**begin 在下面加自定义属性,记得补上面的一个逗号**/
/**end 在上面加自定义属性**/
}//end return
},//end data
methods: {
// @cancel="addFormVisible=false"
handleCancel:function(){
this.$refs['addForm'].resetFields();
this.$emit('cancel');
},
//XmIterationLink @submit="afterAddSubmit"
addSubmit: function () {
this.$refs.addForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.load.add=true
let params = Object.assign({}, this.addForm);
addXmIterationLink(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.$notify({ message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err => this.load.add=false);
});
}
});
},
/**begin 在下面加自定义方法,记得补上面的一个逗号**/
/**end 在上面加自定义方法**/
},//end method
components: {
// 'xm-iteration-link-edit':XmIterationLinkEdit
},
mounted() {
this.addForm=Object.assign(this.addForm, this.xmIterationLink);
/**在下面写其它函数***/
}//end mounted
}
</script>
<style scoped>
</style>

118
src/views/xm/core/xmIterationLink/XmIterationLinkEdit.vue

@ -1,118 +0,0 @@
<template>
<section>
<el-row>
<!--编辑界面 XmIterationLink 迭代表与产品表的关联关系一般由迭代管理员将迭代挂接到产品表-->
<el-form :model="editForm" label-width="120px" :rules="editFormRules" ref="editForm">
<el-form-item label="迭代表主键" prop="iterationId">
<el-input v-model="editForm.iterationId" placeholder="迭代表主键"></el-input>
</el-form-item>
<el-form-item label="产品表主键" prop="proId">
<el-input v-model="editForm.proId" placeholder="产品表主键"></el-input>
</el-form-item>
<el-form-item label="创建时间" prop="ctime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.ctime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="创建人编号" prop="cuserid">
<el-input v-model="editForm.cuserid" placeholder="创建人编号"></el-input>
</el-form-item>
<el-form-item label="创建人姓名" prop="cusername">
<el-input v-model="editForm.cusername" placeholder="创建人姓名"></el-input>
</el-form-item>
<el-form-item label="关联状态1关联0取消关联" prop="linkStatus">
<el-input v-model="editForm.linkStatus" placeholder="关联状态1关联0取消关联"></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 { initSimpleDicts } from '@/api/mdp/meta/item';//
import { editXmIterationLink } from '@/api/xm/core/xmIterationLink';
import { mapGetters } from 'vuex'
export default {
computed: {
...mapGetters([
'userInfo'
])
},
props:['xmIterationLink','visible'],
watch: {
'xmIterationLink':function( xmIterationLink ) {
this.editForm = xmIterationLink;
},
'visible':function(visible) {
if(visible==true){
//
}
}
},
data() {
return {
dicts:{},// 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: {
iterationId: [
//{ required: true, message: '', trigger: 'blur' }
]
},
// XmIterationLink
editForm: {
iterationId:'',proId:'',ctime:'',cuserid:'',cusername:'',linkStatus:''
}
/**begin 在下面加自定义属性,记得补上面的一个逗号**/
/**end 在上面加自定义属性**/
}//end return
},//end data
methods: {
// @cancel="editFormVisible=false"
handleCancel:function(){
this.$refs['editForm'].resetFields();
this.$emit('cancel');
},
//XmIterationLink @submit="afterEditSubmit"
editSubmit: function () {
this.$refs.editForm.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.load.edit=true
let params = Object.assign({}, this.editForm);
editXmIterationLink(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.$notify({ message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err =>this.load.edit=false);
});
}
});
},
/**begin 在下面加自定义方法,记得补上面的一个逗号**/
/**end 在上面加自定义方法**/
},//end method
components: {
// 'xm-iteration-link-edit':XmIterationLinkEdit
},
mounted() {
this.editForm=Object.assign(this.editForm, this.xmIterationLink);
}
}
</script>
<style scoped>
</style>

301
src/views/xm/core/xmIterationLink/XmIterationLinkForProduct.vue

@ -1,301 +0,0 @@
<template>
<section class="app-container">
<el-row>
<el-button type="primary" v-if="xmIteration" @click="productVisible=true" icon="el-icon-plus" > 选择更多产品加入迭代 </el-button>
<el-button type="primary" v-if="xmProduct" @click="iterationVisible=true" icon="el-icon-plus" > 选择更多迭代加入产品 </el-button>
</el-row>
<el-row style="padding-top:10px;">
<!--列表 XmIterationLink 迭代表与产品表的关联关系一般由迭代管理员将迭代挂接到产品表-->
<el-table ref="xmIterationLink" :data="xmIterationLinks" :height="maxTableHeight" @sort-change="sortChange" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column prop="seqNo" v-if="!xmIteration" label="迭代序号" width="100" ></el-table-column>
<el-table-column prop="iterationName" v-if="!xmIteration" label="迭代名称" min-width="150" ></el-table-column>
<el-table-column prop="productName" v-if="!xmProduct" label="产品名称" min-width="150" ></el-table-column>
<el-table-column prop="ctime" label="加入时间" min-width="80" ></el-table-column>
<el-table-column prop="cusername" label="操作者" min-width="80" ></el-table-column>
<el-table-column label="操作" width="120" fixed="right">
<template scope="scope">
<el-button type="danger" @click="handleDel(scope.row,scope.$index)" icon="el-icon-delete" v-loading="load.del">移出</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>
<el-drawer title="选择产品" :visible.sync="productVisible" size="50%" append-to-body :close-on-click-modal="false">
<xm-product-select @row-click="onProductSelect"></xm-product-select>
</el-drawer>
<el-drawer title="选择迭代" :visible.sync="iterationVisible" size="50%" append-to-body :close-on-click-modal="false">
<xm-iteration-select @row-click="onIterationSelect"></xm-iteration-select>
</el-drawer>
<!--新增 XmIteration 迭代定义界面-->
<el-drawer title="新增迭代" :visible.sync="addFormVisible" size="50%" append-to-body :close-on-click-modal="false">
<xm-iteration-add :xm-iteration="addForm" :xm-product="xmProduct" :sel-project="selProject" :visible="addFormVisible" @cancel="addFormVisible=false" @submit="afterAddSubmit"></xm-iteration-add>
</el-drawer>
</el-row>
</section>
</template>
<script>
import util from '@/common/js/util';//
import config from '@/common/config';//
import { initSimpleDicts } from '@/api/mdp/meta/item';//
import { listXmIterationLinkWithProductInfo,addXmIterationLink, delXmIterationLink, batchDelXmIterationLink } from '@/api/xm/core/xmIterationLink';
import { mapGetters } from 'vuex'
import XmProductSelect from '@/views/xm/core/components/XmProductSelect.vue'
import XmIterationSelect from '@/views/xm/core/components/XmIterationSelect.vue';
import XmIterationAdd from '../xmIteration/XmIterationAdd';//
export default {
props:['xmIteration','xmProduct','selProject'],
watch:{
xmIteration(){
this.getXmIterationLinks();
},
xmProduct(){
this.getXmIterationLinks();
}
},
computed: {
...mapGetters([
'userInfo','workSpace'
])
},
data() {
return {
filters: {
key: ''
},
xmIterationLinks: [],//
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: [],//
dicts:{
//sex:[],
},// params=[{categoryId:'0001',itemCode:'sex'}] {'sex':[{optionValue:'1',optionName:'',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'',seqOrder:'2',fp:'',isDefault:'0'}]}
addFormVisible: false,//xmIterationLink
//xmIterationLink
addForm: {
iterationId:'',proId:'',ctime:'',cuserid:'',cusername:'',linkStatus:''
},
editFormVisible: false,//
//xmIterationLink
editForm: {
iterationId:'',proId:'',ctime:'',cuserid:'',cusername:'',linkStatus:''
},
maxTableHeight:300,
productVisible:false,
iterationVisible:false,
}
},//end data
methods: {
handleSizeChange(pageSize) {
this.pageInfo.pageSize=pageSize;
this.getXmIterationLinks();
},
handleCurrentChange(pageNum) {
this.pageInfo.pageNum = pageNum;
this.getXmIterationLinks();
},
// obj.order=ascending/descending, asc/desc ; obj.prop=,
sortChange( obj ){
if(obj.order==null){
this.pageInfo.orderFields=[];
this.pageInfo.orderDirs=[];
}else{
var dir='asc';
if(obj.order=='ascending'){
dir='asc'
}else{
dir='desc';
}
this.pageInfo.orderFields=[util.toLine(obj.prop)];
this.pageInfo.orderDirs=[dir];
}
this.getXmIterationLinks();
},
searchXmIterationLinks(){
this.pageInfo.count=true;
this.getXmIterationLinks();
},
// XmIterationLink
getXmIterationLinks() {
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.key="%"+this.filters.key+"%"
}
if(this.xmIteration){
params.iterationId=this.xmIteration.id
}
if(this.xmProduct){
params.proId=this.xmProduct.id
}
this.load.list = true;
listXmIterationLinkWithProductInfo(params).then((res) => {
var tips=res.data.tips;
if(tips.isOk){
this.pageInfo.total = res.data.total;
this.pageInfo.count=false;
this.xmIterationLinks = res.data.data;
}else{
this.$notify({ message: tips.msg, type: 'error' });
}
this.load.list = false;
}).catch( err => this.load.list = false );
},
// XmIterationLink
showEdit: function ( row,index ) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
},
// XmIterationLink
showAdd: function () {
this.addFormVisible = true;
//this.addForm=Object.assign({}, this.editForm);
},
afterAddSubmit(){
this.addFormVisible=false;
this.pageInfo.count=true;
this.getXmIterationLinks();
},
afterEditSubmit(){
this.editFormVisible=false;
},
//xmIterationLink
selsChange: function (sels) {
this.sels = sels;
},
//xmIterationLink
handleDel: function (row,index) {
this.$confirm('确认删除该记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.load.del=true;
let params = row;
delXmIterationLink(params).then((res) => {
this.load.del=false;
var tips=res.data.tips;
if(tips.isOk){
this.pageInfo.count=true;
this.getXmIterationLinks();
}
this.$notify({ message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err => this.load.del=false );
});
},
//xmIterationLink
batchDel: function () {
this.$confirm('确认删除选中记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.load.del=true;
batchDelXmIterationLink(this.sels).then((res) => {
this.load.del=false;
var tips=res.data.tips;
if( tips.isOk ){
this.pageInfo.count=true;
this.getXmIterationLinks();
}
this.$notify({ 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 自定义函数请在下面加**/
onProductSelect(product){
this.$confirm('确认建立与产品【'+product.productName+'】的关联关系吗?', '提示', {
type: 'warning'
}).then(() => {
this.load.add=true;
this.addForm.iterationId=this.xmIteration.id;
this.addForm.proId= product.id;
this.addForm.ltype="1"
addXmIterationLink(this.addForm).then((res) => {
this.load.add=false;
var tips=res.data.tips;
if( tips.isOk ){
this.pageInfo.count=true;
this.getXmIterationLinks();
}
this.$notify({ message: tips.msg, type: tips.isOk?'success':'error'});
}).catch( err => this.load.del=false );
});
},
onIterationSelect(iteration){
this.$confirm('确认建立与迭代【'+iteration.iterationName+'】的关联关系吗?', '提示', {
type: 'warning'
}).then(() => {
this.load.add=true;
this.addForm.iterationId=iteration.id;
this.addForm.proId=this.xmProduct.id;
this.addForm.ltype="1"
addXmIterationLink(this.addForm).then((res) => {
this.load.add=false;
var tips=res.data.tips;
if( tips.isOk ){
this.pageInfo.count=true;
this.getXmIterationLinks();
}
this.$notify({ message: tips.msg, type: tips.isOk?'success':'error'});
}).catch( err => this.load.del=false );
});
}
/**end 自定义函数请在上面加**/
},//end methods
components: {
XmProductSelect,
XmIterationSelect,
XmIterationAdd,
},
mounted() {
this.$nextTick(() => {
this.getXmIterationLinks();
this.maxTableHeight = util.calcTableMaxHeight(this.$refs.xmIterationLink.$el)
});
/**
initSimpleDicts( "all",["sex","grade"] ).then(res=>{
if(res.data.tips.isOk){
this.dicts=res.data.data
}
});
**/
}
}
</script>
<style scoped>
</style>

302
src/views/xm/core/xmIterationLink/XmIterationLinkForProject.vue

@ -1,302 +0,0 @@
<template>
<section class="app-container">
<el-row>
<el-button type="primary" v-if="xmIteration" @click="projectVisible=true" icon="el-icon-plus" > 选择更多项目加入迭代 </el-button>
<el-button type="primary" v-if="selProject" @click="iterationVisible=true" icon="el-icon-plus" > 选择更多迭代加入项目 </el-button>
</el-row>
<el-row style="padding-top:10px;">
<!--列表 XmIterationLink 迭代表与项目表的关联关系一般由迭代管理员将迭代挂接到项目表-->
<el-table ref="xmIterationLink" :data="xmIterationLinks" :height="maxTableHeight" @sort-change="sortChange" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column prop="seqNo" v-if="!xmIteration" label="迭代序号" width="100" ></el-table-column>
<el-table-column prop="iterationName" v-if="!xmIteration" label="迭代名称" min-width="150" ></el-table-column>
<el-table-column prop="projectName" v-if="!selProject" label="项目名称" min-width="150" ></el-table-column>
<el-table-column prop="ctime" label="加入时间" min-width="80" ></el-table-column>
<el-table-column prop="cusername" label="操作者" min-width="80" ></el-table-column>
<el-table-column label="操作" width="120" fixed="right">
<template scope="scope">
<el-button type="danger" @click="handleDel(scope.row,scope.$index)" icon="el-icon-delete" v-loading="load.del">移出</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>
<el-drawer title="选择项目" :visible.sync="projectVisible" size="50%" append-to-body :close-on-click-modal="false">
<xm-project-select @row-click="onProjectSelect"></xm-project-select>
</el-drawer>
<el-drawer title="选择迭代" :visible.sync="iterationVisible" size="50%" append-to-body :close-on-click-modal="false">
<xm-iteration-select @row-click="onIterationSelect"></xm-iteration-select>
</el-drawer>
<!--新增 XmIteration 迭代定义界面-->
<el-drawer title="新增迭代" :visible.sync="addFormVisible" size="50%" append-to-body :close-on-click-modal="false">
<xm-iteration-add :xm-iteration="addForm" :xm-product="xmProduct" :sel-project="selProject" :visible="addFormVisible" @cancel="addFormVisible=false" @submit="afterAddSubmit"></xm-iteration-add>
</el-drawer>
</el-row>
</section>
</template>
<script>
import util from '@/common/js/util';//
import config from '@/common/config';//
import { initSimpleDicts } from '@/api/mdp/meta/item';//
import { listXmIterationLinkWithProjectInfo,addXmIterationLink, delXmIterationLink, batchDelXmIterationLink } from '@/api/xm/core/xmIterationLink';
import { mapGetters } from 'vuex'
import XmProjectSelect from '@/views/xm/core/components/XmProjectSelect.vue'
;
import XmIterationSelect from '@/views/xm/core/components/XmIterationSelect.vue';
import XmIterationAdd from '../xmIteration/XmIterationAdd';//
export default {
props:['xmIteration','selProject','xmProduct'],
watch:{
xmIteration(){
this.getXmIterationLinks();
},
selProject(){
this.getXmIterationLinks();
}
},
computed: {
...mapGetters([
'userInfo','workSpace'
])
},
data() {
return {
filters: {
key: ''
},
xmIterationLinks: [],//
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: [],//
dicts:{
//sex:[],
},// params=[{categoryId:'0001',itemCode:'sex'}] {'sex':[{optionValue:'1',optionName:'',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'',seqOrder:'2',fp:'',isDefault:'0'}]}
addFormVisible: false,//xmIterationLink
//xmIterationLink
addForm: {
iterationId:'',proId:'',ctime:'',cuserid:'',cusername:'',linkStatus:''
},
editFormVisible: false,//
//xmIterationLink
editForm: {
iterationId:'',proId:'',ctime:'',cuserid:'',cusername:'',linkStatus:'',ltype:'0'
},
maxTableHeight:300,
projectVisible:false,
iterationVisible:false,
}
},//end data
methods: {
handleSizeChange(pageSize) {
this.pageInfo.pageSize=pageSize;
this.getXmIterationLinks();
},
handleCurrentChange(pageNum) {
this.pageInfo.pageNum = pageNum;
this.getXmIterationLinks();
},
// obj.order=ascending/descending, asc/desc ; obj.prop=,
sortChange( obj ){
if(obj.order==null){
this.pageInfo.orderFields=[];
this.pageInfo.orderDirs=[];
}else{
var dir='asc';
if(obj.order=='ascending'){
dir='asc'
}else{
dir='desc';
}
this.pageInfo.orderFields=[util.toLine(obj.prop)];
this.pageInfo.orderDirs=[dir];
}
this.getXmIterationLinks();
},
searchXmIterationLinks(){
this.pageInfo.count=true;
this.getXmIterationLinks();
},
// XmIterationLink
getXmIterationLinks() {
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.key="%"+this.filters.key+"%"
}
if(this.xmIteration){
params.iterationId=this.xmIteration.id
}
if(this.selProject){
params.proId=this.selProject.id
}
this.load.list = true;
listXmIterationLinkWithProjectInfo(params).then((res) => {
var tips=res.data.tips;
if(tips.isOk){
this.pageInfo.total = res.data.total;
this.pageInfo.count=false;
this.xmIterationLinks = res.data.data;
}else{
this.$notify({ message: tips.msg, type: 'error' });
}
this.load.list = false;
}).catch( err => this.load.list = false );
},
// XmIterationLink
showEdit: function ( row,index ) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
},
// XmIterationLink
showAdd: function () {
this.addFormVisible = true;
//this.addForm=Object.assign({}, this.editForm);
},
afterAddSubmit(){
this.addFormVisible=false;
this.pageInfo.count=true;
this.getXmIterationLinks();
},
afterEditSubmit(){
this.editFormVisible=false;
},
//xmIterationLink
selsChange: function (sels) {
this.sels = sels;
},
//xmIterationLink
handleDel: function (row,index) {
this.$confirm('确认删除该记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.load.del=true;
let params = row;
delXmIterationLink(params).then((res) => {
this.load.del=false;
var tips=res.data.tips;
if(tips.isOk){
this.pageInfo.count=true;
this.getXmIterationLinks();
}
this.$notify({ message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err => this.load.del=false );
});
},
//xmIterationLink
batchDel: function () {
this.$confirm('确认删除选中记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.load.del=true;
batchDelXmIterationLink(this.sels).then((res) => {
this.load.del=false;
var tips=res.data.tips;
if( tips.isOk ){
this.pageInfo.count=true;
this.getXmIterationLinks();
}
this.$notify({ 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 自定义函数请在下面加**/
onProjectSelect(project){
this.$confirm('确认建立与项目【'+project.projectName+'】的关联关系吗?', '提示', {
type: 'warning'
}).then(() => {
this.load.add=true;
this.addForm.iterationId=this.xmIteration.id;
this.addForm.proId= project.id;
this.addForm.ltype="0"
addXmIterationLink(this.addForm).then((res) => {
this.load.add=false;
var tips=res.data.tips;
if( tips.isOk ){
this.pageInfo.count=true;
this.getXmIterationLinks();
}
this.$notify({ message: tips.msg, type: tips.isOk?'success':'error'});
}).catch( err => this.load.del=false );
});
},
onIterationSelect(iteration){
this.$confirm('确认建立与迭代【'+iteration.iterationName+'】的关联关系吗?', '提示', {
type: 'warning'
}).then(() => {
this.load.add=true;
this.addForm.iterationId=iteration.id;
this.addForm.proId=this.selProject.id;
this.addForm.ltype="0";
addXmIterationLink(this.addForm).then((res) => {
this.load.add=false;
var tips=res.data.tips;
if( tips.isOk ){
this.pageInfo.count=true;
this.getXmIterationLinks();
}
this.$notify({ message: tips.msg, type: tips.isOk?'success':'error'});
}).catch( err => this.load.del=false );
});
}
/**end 自定义函数请在上面加**/
},//end methods
components: {
XmProjectSelect,
XmIterationSelect,
XmIterationAdd,
},
mounted() {
this.$nextTick(() => {
this.getXmIterationLinks();
this.maxTableHeight = util.calcTableMaxHeight(this.$refs.xmIterationLink.$el)
});
/**
initSimpleDicts( "all",["sex","grade"] ).then(res=>{
if(res.data.tips.isOk){
this.dicts=res.data.data
}
});
**/
}
}
</script>
<style scoped>
</style>
Loading…
Cancel
Save