Browse Source

项目结算暂存

master
chentaiyu 4 years ago
parent
commit
a61976a722
  1. 30
      src/api/xm/core/xmTaskSbill.js
  2. 30
      src/api/xm/core/xmTaskWorkload.js
  3. 25
      src/router/routes_xm.js
  4. 135
      src/views/xm/core/xmTaskSbill/SelectXmProject.vue
  5. 217
      src/views/xm/core/xmTaskSbill/XmTaskSbillEdit.vue
  6. 265
      src/views/xm/core/xmTaskSbill/XmTaskSbillMng.vue
  7. 174
      src/views/xm/core/xmTaskWorkload/XmTaskWorkloadEdit.vue
  8. 260
      src/views/xm/core/xmTaskWorkload/XmTaskWorkloadMng.vue

30
src/api/xm/core/xmTaskSbill.js

@ -0,0 +1,30 @@
import axios from '@/utils/request'
import config from '@/common/config'
let base = config.getCoreBasePath();
/**
* 任务结算表
*1 默认只开放普通查询所有查询只要上传 分页参数 {currentPage:当前页码从1开始,pageSize:每页记录数,total:总记录数如果是0后台会自动计算总记录数非0不会自动计算}后台都会自动按分页查询 其它 api用到再打开没用到的api请注释掉
*2 查询新增修改的参数格式 params={id:'结算单据编号 主键',title:'结算单标题',amt:'金额=工时表中结算金额之和',ctime:'创建时间',cuserid:'创建人编号',cusername:'创建人姓名',remark:'备注',branchId:'机构编号',deptid:'部门编号',cpId:'相对方编号(机构写机构号,个人写个人编号)',cpName:'相对方名称(机构写机构名称,个人写个人名称)',workload:'结算工作量=工时表中工时之和',bizMonth:'业务月份yyyy-MM',bizDate:'业务日期yyyy-MM-dd',bizFlowState:'结算流程状态',bizProcInstId:'结算流程实例',ltime:'更新时间',status:'0-待提交,1-已提交,2-已通过,3-已付款,4-已完成',fmsg:'最后审核意见',projectId:'项目编号',projectName:'项目名称'}
**/
//普通查询 条件之间and关系
export const listXmTaskSbill = params => { return axios.get(`${base}/xm/core/xmTaskSbill/list`, { params: params }); };
//模糊查询任务结算表 条件之间or关系
//export const listXmTaskSbillKey = params => { return axios.get(`${base}/xm/core/xmTaskSbill/listKey`, { params: params }); };
//删除一条任务结算表 params={id:'结算单据编号 主键'}
export const delXmTaskSbill = params => { return axios.post(`${base}/xm/core/xmTaskSbill/del`,params); };
//批量删除任务结算表 params=[{id:'结算单据编号 主键'}]
export const batchDelXmTaskSbill = params => { return axios.post(`${base}/xm/core/xmTaskSbill/batchDel`, params); };
//修改一条任务结算表记录
export const editXmTaskSbill = params => { return axios.post(`${base}/xm/core/xmTaskSbill/edit`, params); };
//新增一条任务结算表
export const addXmTaskSbill = params => { return axios.post(`${base}/xm/core/xmTaskSbill/add`, params); };

30
src/api/xm/core/xmTaskWorkload.js

@ -0,0 +1,30 @@
import axios from '@/utils/request'
import config from '@/common/config'
let base = config.getCoreBasePath();
/**
* 工时登记表
*1 默认只开放普通查询所有查询只要上传 分页参数 {currentPage:当前页码从1开始,pageSize:每页记录数,total:总记录数如果是0后台会自动计算总记录数非0不会自动计算}后台都会自动按分页查询 其它 api用到再打开没用到的api请注释掉
*2 查询新增修改的参数格式 params={id:'主键 主键',userid:'员工编号',username:'姓名',ctime:'创建日期',taskId:'业务对象主键任务编号',cuserid:'创建人编号',bizDate:'业务日期yyyy-MM-dd',wstatus:'状态0-待确认,1-已确认,2-无效',remark:'备注',ttype:'任务类型-关联字典taskType',sbillId:'结算单据编号',stime:'结算提交时间',sstatus:'结算状态0-无需结算,1-待结算2-已提交3-已通过4-已结算',amt:'工时对应金额',samt:'结算金额',workload:'工时,一个task_id可多次提交,小时'}
**/
//普通查询 条件之间and关系
export const listXmTaskWorkload = params => { return axios.get(`${base}/xm/core/xmTaskWorkload/list`, { params: params }); };
//模糊查询工时登记表 条件之间or关系
//export const listXmTaskWorkloadKey = params => { return axios.get(`${base}/xm/core/xmTaskWorkload/listKey`, { params: params }); };
//删除一条工时登记表 params={id:'主键 主键'}
export const delXmTaskWorkload = params => { return axios.post(`${base}/xm/core/xmTaskWorkload/del`,params); };
//批量删除工时登记表 params=[{id:'主键 主键'}]
export const batchDelXmTaskWorkload = params => { return axios.post(`${base}/xm/core/xmTaskWorkload/batchDel`, params); };
//修改一条工时登记表记录
export const editXmTaskWorkload = params => { return axios.post(`${base}/xm/core/xmTaskWorkload/edit`, params); };
//新增一条工时登记表
export const addXmTaskWorkload = params => { return axios.post(`${base}/xm/core/xmTaskWorkload/add`, params); };

25
src/router/routes_xm.js

@ -14,9 +14,9 @@ export default {
icon: 'project' icon: 'project'
}, },
// leaf: true,//只有一个节点 // leaf: true,//只有一个节点
children: [
children: [
{ path: 'xmProject/XmProjectAllMng', component: _import('xm/core/xmProject/XmProjectAllMng'), name: 'xmProjectAllMng', meta: { title: '项目总览' }}, { path: 'xmProject/XmProjectAllMng', component: _import('xm/core/xmProject/XmProjectAllMng'), name: 'xmProjectAllMng', meta: { title: '项目总览' }},
{ path: 'xmProject/XmProjectMng', component: _import('xm/core/xmProject/XmProjectMng'), name: 'xmProjectMng', meta: { title: '项目(我的)' }},
{ path: 'xmProject/XmProjectMng', component: _import('xm/core/xmProject/XmProjectMng'), name: 'xmProjectMng', meta: { title: '项目(我的)' }},
{ path: 'xmProjectState/XmProjectStateMng', component: _import('xm/core/xmProjectState/XmProjectStateMng'), name: 'XmProjectStateMng', meta: { title: '项目统计' }}, { path: 'xmProjectState/XmProjectStateMng', component: _import('xm/core/xmProjectState/XmProjectStateMng'), name: 'XmProjectStateMng', meta: { title: '项目统计' }},
{ path: 'xmBranchState/XmBranchStateMng', component: _import('xm/core/xmBranchState/XmBranchStateMng'), name: 'XmBranchStateMng', meta: { title: '所有项目汇总' }}, { path: 'xmBranchState/XmBranchStateMng', component: _import('xm/core/xmBranchState/XmBranchStateMng'), name: 'XmBranchStateMng', meta: { title: '所有项目汇总' }},
{ path: 'xmProject/XmProjectRecycle', component: _import('xm/core/xmProject/XmProjectRecycle'), name: 'XmProjectRecycle', meta: { title: '项目回收站' }}, { path: 'xmProject/XmProjectRecycle', component: _import('xm/core/xmProject/XmProjectRecycle'), name: 'XmProjectRecycle', meta: { title: '项目回收站' }},
@ -134,7 +134,7 @@ export default {
{ path: 'xmIteration/XmIterationMng', component: _import('xm/core/xmIteration/XmIterationMng'), name: 'XmIterationMng', meta: { title: '迭代管理' }}, { path: 'xmIteration/XmIterationMng', component: _import('xm/core/xmIteration/XmIterationMng'), name: 'XmIterationMng', meta: { title: '迭代管理' }},
{ path: 'xmIterationMenu/XmIterationMenuMng', component: _import('xm/core/xmIterationMenu/XmIterationMenuMng'), name: 'XmIterationMenuMng', meta: { title: '需求迭代' }}, { path: 'xmIterationMenu/XmIterationMenuMng', component: _import('xm/core/xmIterationMenu/XmIterationMenuMng'), name: 'XmIterationMenuMng', meta: { title: '需求迭代' }},
] ]
},
},
{ {
path: '/xm/core', path: '/xm/core',
component: Layout, component: Layout,
@ -146,8 +146,23 @@ export default {
}, },
// leaf: true,//只有一个节点 // leaf: true,//只有一个节点
children: [ children: [
{ path: 'xmGroup/XmGroupAllMng', component: _import('xm/core/xmGroup/XmGroupAllMng'), name: 'XmGroupAllMng', meta: { title: '团队管理' }},
{ path: 'xmGroupUser/XmGroupUserMng', component: _import('xm/core/xmGroupUser/XmGroupUserMng'), name: 'XmGroupUserMng', meta: { title: '成员管理' }},
{ path: 'xmGroup/XmGroupAllMng', component: _import('xm/core/xmGroup/XmGroupAllMng'), name: 'XmGroupAllMng', meta: { title: '团队管理' }},
{ path: 'xmGroupUser/XmGroupUserMng', component: _import('xm/core/xmGroupUser/XmGroupUserMng'), name: 'XmGroupUserMng', meta: { title: '成员管理' }},
]
},
{
path: '/xm/core',
component: Layout,
name: 'TaskSbill',
iconCls: 'fa el-icon-menu',
meta: {
menu:true,
title: '任务结算',
icon: 'task'
},
//leaf: true,//只有一个节点
children: [
{ path: 'xmTaskSbill/XmTaskSbillMng', component: _import('xm/core/xmTaskSbill/XmTaskSbillMng'), name: 'XmTaskSbilllMng', meta: { title: '任务结算',icon:'task' }},
] ]
} }
] ]

135
src/views/xm/core/xmTaskSbill/SelectXmProject.vue

@ -0,0 +1,135 @@
<template>
<section class="page-container padding">
<el-row class="page-header">
<el-input v-model="filters.key" style="width:50%;" placeholder="项目名称模糊查询" clearable>
</el-input>
<el-button type="primary" icon="el-icon-search" @click="searchXmProjects">查询</el-button>
</el-row>
<el-row>
<el-row>
<el-table ref="table" v-cloak fit border :data="xmProjects" highlight-current-row v-loading="load.list"
style="width: 100%;" :header-cell-style="{'text-align':'center'}"
:cell-style="{'text-align':'center'}">
<el-table-column type="index" label="序号" min-width="50" ></el-table-column>
<el-table-column prop="id" label="项目编码" min-width="100" show-overflow-tooltip></el-table-column>
<el-table-column prop="name" label="标题" min-width="150" ></el-table-column>
<el-table-column label="操作" min-width="80">
<template slot-scope="scope">
<el-button @click.stop="selectRow(scope.row)" >选择</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-row>
</el-row>
</section>
</template>
<script>
import util from '@/common/js/util';//
import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//
import { addXmTaskSbill,editXmTaskSbill } from '@/api/xm/core/xmTaskSbill';
import { mapGetters } from 'vuex'
import {listXmProject} from "@/api/xm/core/xmProject";
export default {
components: {
//XmTaskSbillEdit,
},
computed: {
...mapGetters([ 'userInfo' ]),
},
props:['visible'],
watch: {
'visible':function(visible) {
if(visible==true){
//
this.initData()
}
}
},
data() {
return {
filters: {
key: ''
},
load:{ list: false, edit: false, del: false, add: false },//...
xmProjects:[],
pageInfo:{//
total:0,//0>0
pageSize:10,//
count:false,//
pageNum:1,//1
orderFields:['create_time'],// ['sex','student_id']
orderDirs:['desc']// asc,desc ['asc','desc']
},
}//end return
},//end data
methods: {
//XmTaskSbill @submit="afterEditSubmit"
initData: function(){
this.searchXmProjects();
},
/**begin 在下面加自定义方法**/
handleSizeChange(pageSize) {
this.pageInfo.pageSize=pageSize;
this.getXmProjects();
},
handleCurrentChange(pageNum) {
this.pageInfo.pageNum = pageNum;
this.getXmProjects();
},
// XmProject xm_project
getXmProjects(callBack) {
let params = {
pageSize: this.pageInfo.pageSize,
pageNum: this.pageInfo.pageNum,
total: this.pageInfo.total,
count:this.pageInfo.count,
};
if(this.filters.key!==""){
params.key= "%"+this.filters.key+"%";
}else{
//params.xxx=xxxxx
}
this.load.list = true;
listXmProject(params).then((res) => {
let tips=res.data.tips;
if(tips.isOk){
console.log(res.data);
this.pageInfo.total = res.data.total;
this.pageInfo.count=false;
this.xmProjects = res.data.data;
}else{
this.$message({ showClose: true, message: tips.msg, type: 'error' });
}
this.load.list = false;
}).catch( err => this.load.list = false );
},
selectRow(row){
let obj = {
projectId:row.id,
projectName:row.name
}
this.$emit('select',obj);
},
searchXmProjects(){
this.pageInfo.count=true;
this.getXmProjects();
}
},//end method
mounted() {
this.$nextTick(() => {
//initSimpleDicts('all',['sex','gradeLvl']).then(res=>this.dicts=res.data.data);
this.initData()
});
}
}
</script>
<style scoped>
</style>

217
src/views/xm/core/xmTaskSbill/XmTaskSbillEdit.vue

@ -0,0 +1,217 @@
<template>
<section class="page-container padding">
<el-row class="page-header">
</el-row>
<el-row class="page-main">
<!--编辑界面 XmTaskSbill 任务结算表-->
<el-form :model="editForm" label-width="120px" :rules="editFormRules" ref="editFormRef">
<!-- <el-form-item label="结算单据编号" prop="id">
<el-input v-model="editForm.id" placeholder="结算单据编号"></el-input>
</el-form-item>-->
<el-form-item label="项目ID:" prop="projectId">
<el-button v-if="!editForm.projectId" type="primary" @click="projSelVisible=true" round>选择项目</el-button>
<span v-else>{{editForm.projectId}}</span>
</el-form-item>
<el-form-item label="项目名称:" prop="projectName">
<el-input disabled v-model="editForm.projectName" placeholder="项目名称"></el-input>
</el-form-item>
<el-form-item label="结算单标题:" prop="title">
<el-input v-model="editForm.title" placeholder="结算单标题"></el-input>
</el-form-item>
<!-- <el-form-item label="金额=工时表中结算金额之和" prop="amt">
<el-input v-model="editForm.amt" 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="备注:" prop="remark">
<el-input v-model="editForm.remark" type="textarea" :autosize="{ minRows: 3}" placeholder="请输入备注"
maxlength="200" show-word-limit></el-input>
</el-form-item>
<el-form-item>
<el-button @click.native="handleCancel">取消</el-button>
<el-button v-loading="load.edit" type="primary" @click.native="saveSubmit" :disabled="load.edit==true">提交</el-button>
</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="deptid">
<el-input v-model="editForm.deptid" placeholder="部门编号"></el-input>
</el-form-item>
<el-form-item label="相对方编号(机构写机构号,个人写个人编号)" prop="cpId">
<el-input v-model="editForm.cpId" placeholder="相对方编号(机构写机构号,个人写个人编号)"></el-input>
</el-form-item>
<el-form-item label="相对方名称(机构写机构名称,个人写个人名称)" prop="cpName">
<el-input v-model="editForm.cpName" placeholder="相对方名称(机构写机构名称,个人写个人名称)"></el-input>
</el-form-item>
<el-form-item label="结算工作量=工时表中工时之和" prop="workload">
<el-input v-model="editForm.workload" placeholder="结算工作量=工时表中工时之和"></el-input>
</el-form-item>
<el-form-item label="业务月份yyyy-MM" prop="bizMonth">
<el-input v-model="editForm.bizMonth" placeholder="业务月份yyyy-MM"></el-input>
</el-form-item>
<el-form-item label="业务日期yyyy-MM-dd" prop="bizDate">
<el-input v-model="editForm.bizDate" placeholder="业务日期yyyy-MM-dd"></el-input>
</el-form-item>
<el-form-item label="结算流程状态" prop="bizFlowState">
<el-input v-model="editForm.bizFlowState" placeholder="结算流程状态"></el-input>
</el-form-item>
<el-form-item label="结算流程实例" prop="bizProcInstId">
<el-input v-model="editForm.bizProcInstId" placeholder="结算流程实例"></el-input>
</el-form-item>
<el-form-item label="更新时间" prop="ltime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.ltime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="0-待提交,1-已提交,2-已通过,3-已付款,4-已完成" prop="status">
<el-input v-model="editForm.status" placeholder="0-待提交,1-已提交,2-已通过,3-已付款,4-已完成"></el-input>
</el-form-item>
<el-form-item label="最后审核意见" prop="fmsg">
<el-input v-model="editForm.fmsg" placeholder="最后审核意见"></el-input>
</el-form-item>-->
</el-form>
</el-row>
<!--新增 XmTaskSbill 任务结算表界面-->
<el-drawer title="选择项目" :visible.sync="projSelVisible" size="50%" append-to-body :close-on-click-modal="false">
<select-xm-project :visible="projSelVisible" @select="afterProjectSelect"></select-xm-project>
</el-drawer>
</section>
</template>
<script>
import util from '@/common/js/util';//
import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//
import { addXmTaskSbill,editXmTaskSbill } from '@/api/xm/core/xmTaskSbill';
import { mapGetters } from 'vuex';
import SelectXmProject from "./SelectXmProject";
export default {
components: {
//XmTaskSbillEdit,
SelectXmProject,
},
computed: {
...mapGetters([ 'userInfo' ]),
},
props:['xmTaskSbill','visible','opType'],
watch: {
'xmTaskSbill':function( xmTaskSbill ) {
if(xmTaskSbill){
this.editForm = xmTaskSbill;
}
},
'visible':function(visible) {
if(visible==true){
//
this.initData()
}
}
},
data() {
return {
currOpType:'add',//add/edit
load:{ list: false, edit: false, del: false, add: false },//...
dicts:{},// params={categoryId:'all',itemCodes:['sex']} {sex: [{id:'1',name:''},{id:'2',name:''}]}
editFormRules: {
id: [
//{ required: true, message: '', trigger: 'blur' }
]
},
// XmTaskSbill
editForm: {
id:'',title:'',amt:'',ctime:'',cuserid:'',cusername:'',remark:'',branchId:'',deptid:'',cpId:'',cpName:'',workload:'',bizMonth:'',bizDate:'',bizFlowState:'',bizProcInstId:'',ltime:'',status:'',fmsg:'',projectId:'',projectName:''
},
/**begin 在下面加自定义属性,记得补上面的一个逗号**/
projSelVisible:false,
}//end return
},//end data
methods: {
// @cancel="editFormVisible=false"
handleCancel:function(){
this.$refs['editFormRef'].resetFields();
this.$emit('cancel');
},
//XmTaskSbill @submit="afterEditSubmit"
saveSubmit: function () {
this.$refs.editFormRef.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.load.edit=true
let params = Object.assign({}, this.editForm);
let today = new Date();
let year = today.getFullYear();
let m = today.getMonth() + 1;
let d = today.getDay();
params.bizMonth = year+"-"+m;
params.bizDate = year+"-"+m+"-"+d;
if(this.currOpType=='edit'){
editXmTaskSbill(params).then((res) => {
this.load.edit=false
var tips=res.data.tips;
if(tips.isOk){
this.$emit('submit');// @submit="afterEditSubmit"
}
this.$message({ showClose:true, message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err =>this.load.edit=false);
}else{
addXmTaskSbill(params).then((res) => {
this.load.edit=false
var tips=res.data.tips;
if(tips.isOk){
this.editForm=res.data.data
this.initData()
this.currOpType="edit";
this.$emit('submit');// @submit="afterAddSubmit"
}
this.$message({ showClose:true, message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err =>this.load.edit=false);
}
});
}
});
},
initData: function(){
this.currOpType=this.opType
if(this.xmTaskSbill){
this.editForm = Object.assign({},this.xmTaskSbill);
}
if(this.opType=='edit'){
}else{
}
},
/**begin 在下面加自定义方法**/
afterProjectSelect(obj){
this.projSelVisible = false;
this.editForm.projectId = obj.projectId;
this.editForm.projectName = obj.projectName;
}
},//end method
mounted() {
this.$nextTick(() => {
//initSimpleDicts('all',['sex','gradeLvl']).then(res=>this.dicts=res.data.data);
this.initData()
});
}
}
</script>
<style scoped>
</style>

265
src/views/xm/core/xmTaskSbill/XmTaskSbillMng.vue

@ -0,0 +1,265 @@
<template>
<section class="page-container border padding">
<el-row>
<el-input v-model="filters.key" style="width: 20%;" placeholder="模糊查询"></el-input>
<el-button v-loading="load.list" :disabled="load.list==true" @click="searchXmTaskSbills" icon="el-icon-search">查询</el-button>
<!-- <el-button type="danger" v-loading="load.del" @click="batchDel" :disabled="this.sels.length===0 || load.del==true" icon="el-icon-delete"></el-button>-->
<span style="float:right;">
<el-button type="primary" icon="el-icon-plus" @click="showAdd" round></el-button>
</span>
</el-row>
<el-row class="padding-top">
<!--列表 XmTaskSbill 任务结算表-->
<el-table ref="xmTaskSbillTable" :data="xmTaskSbills" :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 type="selection" width="55" show-overflow-tooltip></el-table-column>-->
<el-table-column label="序号" type="index" min-width="55" show-overflow-tooltip></el-table-column>
<el-table-column prop="id" label="结算单编号" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="title" label="结算单标题" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="amt" label="金额" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="ctime" label="创建时间" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="cuserid" label="创建人编号" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="cusername" label="创建人姓名" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="remark" label="备注" min-width="80" show-overflow-tooltip></el-table-column>
<!-- <el-table-column prop="branchId" label="机构编号" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="deptid" label="部门编号" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="cpId" label="相对方编号(机构写机构号,个人写个人编号)" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="cpName" label="相对方名称(机构写机构名称,个人写个人名称)" min-width="80" show-overflow-tooltip></el-table-column>-->
<el-table-column prop="workload" label="结算工时" min-width="80" show-overflow-tooltip></el-table-column>
<!-- <el-table-column prop="bizMonth" label="业务月份yyyy-MM" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="bizDate" label="业务日期yyyy-MM-dd" min-width="80" show-overflow-tooltip></el-table-column>-->
<el-table-column prop="bizFlowState" label="审批状态" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="bizProcInstId" label="审批编号" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="ltime" label="更新时间" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="status" label="结算单状态" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="fmsg" label="最后审核意见" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="projectId" label="项目编号" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="projectName" label="项目名称" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" width="120" fixed="right">
<template scope="scope">
<el-button type="text" @click="showEdit( scope.row,scope.$index)" icon="el-icon-edit"></el-button>
<el-button type="text" @click="handleDel(scope.row,scope.$index)" icon="el-icon-delete"></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-row>
<el-row>
<!--编辑 XmTaskSbill 任务结算表界面-->
<el-drawer title="编辑任务结算单" :visible.sync="editFormVisible" size="60%" append-to-body :close-on-click-modal="false">
<xm-task-sbill-edit op-type="edit" :xm-task-sbill="editForm" :visible="editFormVisible" @cancel="editFormVisible=false" @submit="afterEditSubmit"></xm-task-sbill-edit>
</el-drawer>
<!--新增 XmTaskSbill 任务结算表界面-->
<el-drawer title="新增任务结算单" :visible.sync="addFormVisible" size="60%" append-to-body :close-on-click-modal="false">
<xm-task-sbill-edit op-type="add" :visible="addFormVisible" @cancel="addFormVisible=false" @submit="afterAddSubmit"></xm-task-sbill-edit>
</el-drawer>
</el-row>
</section>
</template>
<script>
import util from '@/common/js/util';//
import config from '@/common/config';//
import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//
import { listXmTaskSbill, delXmTaskSbill, batchDelXmTaskSbill } from '@/api/xm/core/xmTaskSbill';
import XmTaskSbillEdit from './XmTaskSbillEdit';//
import { mapGetters } from 'vuex'
export default {
components: {
XmTaskSbillEdit,
},
props:['visible'],
computed: {
...mapGetters(['userInfo']),
},
watch:{
visible(val){
if(val==true){
this.initData();
this.searchXmTaskSbills()
}
}
},
data() {
return {
filters: {
key: ''
},
xmTaskSbills: [],//
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:{},// params={categoryId:'all',itemCodes:['sex']} {sex: [{id:'1',name:''},{id:'2',name:''}]}
addFormVisible: false,//xmTaskSbill
//xmTaskSbill
addForm: {
id:'',title:'',amt:'',ctime:'',cuserid:'',cusername:'',remark:'',branchId:'',deptid:'',cpId:'',cpName:'',workload:'',bizMonth:'',bizDate:'',bizFlowState:'',bizProcInstId:'',ltime:'',status:'',fmsg:'',projectId:'',projectName:''
},
editFormVisible: false,//
//xmTaskSbill
editForm: {
id:'',title:'',amt:'',ctime:'',cuserid:'',cusername:'',remark:'',branchId:'',deptid:'',cpId:'',cpName:'',workload:'',bizMonth:'',bizDate:'',bizFlowState:'',bizProcInstId:'',ltime:'',status:'',fmsg:'',projectId:'',projectName:''
},
maxTableHeight:300,
}
},//end data
methods: {
handleSizeChange(pageSize) {
this.pageInfo.pageSize=pageSize;
this.getXmTaskSbills();
},
handleCurrentChange(pageNum) {
this.pageInfo.pageNum = pageNum;
this.getXmTaskSbills();
},
// 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.getXmTaskSbills();
},
searchXmTaskSbills(){
this.pageInfo.count=true;
this.getXmTaskSbills();
},
// XmTaskSbill
getXmTaskSbills() {
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
}
this.load.list = true;
listXmTaskSbill(params).then((res) => {
var tips=res.data.tips;
if(tips.isOk){
this.pageInfo.total = res.data.total;
this.pageInfo.count=false;
this.xmTaskSbills = res.data.data;
}else{
this.$message({ showClose:true, message: tips.msg, type: 'error' });
}
this.load.list = false;
}).catch( err => this.load.list = false );
},
// XmTaskSbill
showEdit: function ( row,index ) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
},
// XmTaskSbill
showAdd: function () {
this.addFormVisible = true;
//this.addForm=Object.assign({}, this.editForm);
},
afterAddSubmit(){
this.addFormVisible=false;
this.pageInfo.count=true;
this.getXmTaskSbills();
},
afterEditSubmit(){
this.editFormVisible=false;
},
//xmTaskSbill
selsChange: function (sels) {
this.sels = sels;
},
//xmTaskSbill
handleDel: function (row,index) {
this.$confirm('确认删除该记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.load.del=true;
let params = { id: row.id };
delXmTaskSbill(params).then((res) => {
this.load.del=false;
var tips=res.data.tips;
if(tips.isOk){
this.pageInfo.count=true;
this.getXmTaskSbills();
}
this.$message({ showClose:true, message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err => this.load.del=false );
});
},
//xmTaskSbill
batchDel: function () {
this.$confirm('确认删除选中记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.load.del=true;
batchDelXmTaskSbill(this.sels).then((res) => {
this.load.del=false;
var tips=res.data.tips;
if( tips.isOk ){
this.pageInfo.count=true;
this.getXmTaskSbills();
}
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"
},
initData: function(){
},
/**begin 自定义函数请在下面加**/
},//end methods
mounted() {
this.$nextTick(() => {
//initSimpleDicts('all',['sex','gradeLvl']).then(res=>this.dicts=res.data.data);
this.initData()
this.searchXmTaskSbills();
if(this.$refs.xmTaskSbillTable){
var clientRect=this.$refs.xmTaskSbillTable.$el.getBoundingClientRect();
var subHeight=70/1000 * window.innerHeight;
this.maxTableHeight = window.innerHeight -clientRect.y - this.$refs.xmTaskSbillTable.$el.offsetTop-subHeight;
}
});
}
}
</script>
<style scoped>
</style>

174
src/views/xm/core/xmTaskWorkload/XmTaskWorkloadEdit.vue

@ -0,0 +1,174 @@
<template>
<section class="page-container padding">
<el-row class="page-header">
</el-row>
<el-row class="page-main" :style="{overflowX:'auto',height:maxTableHeight+'px'}" ref="table">
<!--编辑界面 XmTaskWorkload 工时登记表-->
<el-form :model="editForm" label-width="120px" :rules="editFormRules" ref="editFormRef">
<el-form-item label="员工编号" prop="userid">
<el-input v-model="editForm.userid" placeholder="员工编号"></el-input>
</el-form-item>
<el-form-item label="姓名" prop="username">
<el-input v-model="editForm.username" 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="taskId">
<el-input v-model="editForm.taskId" placeholder="业务对象主键任务编号"></el-input>
</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="业务日期yyyy-MM-dd" prop="bizDate">
<el-input v-model="editForm.bizDate" placeholder="业务日期yyyy-MM-dd"></el-input>
</el-form-item>
<el-form-item label="状态0-待确认,1-已确认,2-无效" prop="wstatus">
<el-input v-model="editForm.wstatus" placeholder="状态0-待确认,1-已确认,2-无效"></el-input>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="editForm.remark" placeholder="备注"></el-input>
</el-form-item>
<el-form-item label="任务类型-关联字典taskType" prop="ttype">
<el-input v-model="editForm.ttype" placeholder="任务类型-关联字典taskType"></el-input>
</el-form-item>
<el-form-item label="主键" prop="id">
<el-input-number v-model="editForm.id" :min="0" :max="200"></el-input-number>
</el-form-item>
<el-form-item label="结算单据编号" prop="sbillId">
<el-input v-model="editForm.sbillId" placeholder="结算单据编号"></el-input>
</el-form-item>
<el-form-item label="结算提交时间" prop="stime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.stime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="结算状态0-无需结算,1-待结算2-已提交3-已通过4-已结算" prop="sstatus">
<el-input v-model="editForm.sstatus" placeholder="结算状态0-无需结算,1-待结算2-已提交3-已通过4-已结算"></el-input>
</el-form-item>
<el-form-item label="工时对应金额" prop="amt">
<el-input v-model="editForm.amt" placeholder="工时对应金额"></el-input>
</el-form-item>
<el-form-item label="结算金额" prop="samt">
<el-input v-model="editForm.samt" placeholder="结算金额"></el-input>
</el-form-item>
<el-form-item label="工时,一个task_id可多次提交,小时" prop="workload">
<el-input v-model="editForm.workload" placeholder="工时,一个task_id可多次提交,小时"></el-input>
</el-form-item>
</el-form>
</el-row>
<el-row class="page-bottom bottom-fixed">
<el-button @click.native="handleCancel">取消</el-button>
<el-button v-loading="load.edit" type="primary" @click.native="saveSubmit" :disabled="load.edit==true">提交</el-button>
</el-row>
</section>
</template>
<script>
import util from '@/common/js/util';//
import config from "@/common/config"; //import
import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//
import { addXmTaskWorkload,editXmTaskWorkload } from '@/api/xm/core/xmTaskWorkload';
import { mapGetters } from 'vuex'
export default {
name:'xmTaskWorkloadEdit',
components: {
},
computed: {
...mapGetters([ 'userInfo' ]),
},
props:['xmTaskWorkload','visible','opType'],
watch: {
'xmTaskWorkload':function( xmTaskWorkload ) {
if(xmTaskWorkload){
this.editForm = xmTaskWorkload;
}
},
'visible':function(visible) {
if(visible==true){
this.initData()
}
}
},
data() {
return {
currOpType:'add',//add/edit
load:{ list: false, edit: false, del: false, add: false },//...
dicts:{},// params={categoryId:'all',itemCodes:['sex']} {sex: [{id:'1',name:''},{id:'2',name:''}]}
editFormRules: {
id: [
//{ required: true, message: '', trigger: 'blur' }
]
},
editForm: {
userid:'',username:'',ctime:'',taskId:'',cuserid:'',bizDate:'',wstatus:'',remark:'',ttype:'',id:'',sbillId:'',stime:'',sstatus:'',amt:'',samt:'',workload:''
},
maxTableHeight:300,
}//end return
},//end data
methods: {
// @cancel="editFormVisible=false"
handleCancel:function(){
this.$refs['editFormRef'].resetFields();
this.$emit('cancel');
},
//XmTaskWorkload @submit="afterEditSubmit"
saveSubmit: function () {
this.$refs.editFormRef.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.load.edit=true
let params = Object.assign({}, this.editForm);
var func=addXmTaskWorkload
if(this.currOpType=='edit'){
func=editXmTaskWorkload
}
func(params).then((res) => {
this.load.edit=false
var tips=res.data.tips;
if(tips.isOk){
this.editForm=res.data.data
this.initData()
this.currOpType="edit";
this.$emit('submit');// @submit="afterAddSubmit"
}
this.$notify({ showClose:true, message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err =>this.load.edit=false);
});
}else{
this.$notify({ showClose:true, message: "表单验证不通过,请修改表单数据再提交", type: 'error' });
}
});
},
initData: function(){
this.currOpType=this.opType
if(this.xmTaskWorkload){
this.editForm = Object.assign({},this.xmTaskWorkload);
}
if(this.opType=='edit'){
}else{
}
},
},//end method
mounted() {
this.$nextTick(() => {
//initSimpleDicts('all',['sex','gradeLvl']).then(res=>this.dicts=res.data.data);
this.initData()
this.maxTableHeight = util.calcTableMaxHeight(this.$refs.table.$el)
});
}
}
</script>
<style scoped>
</style>

260
src/views/xm/core/xmTaskWorkload/XmTaskWorkloadMng.vue

@ -0,0 +1,260 @@
<template>
<section class="page-container border padding">
<el-row>
<el-input v-model="filters.key" style="width: 20%;" placeholder="模糊查询"></el-input>
<el-button v-loading="load.list" :disabled="load.list==true" @click="searchXmTaskWorkloads" icon="el-icon-search">查询</el-button>
<el-button type="primary" @click="showAdd" icon="el-icon-plus"> </el-button>
<el-button type="danger" v-loading="load.del" @click="batchDel" :disabled="this.sels.length===0 || load.del==true" icon="el-icon-delete"></el-button>
</el-row>
<el-row class="padding-top">
<!--列表 XmTaskWorkload 工时登记表-->
<el-table ref="xmTaskWorkloadTable" :data="xmTaskWorkloads" :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 type="selection" width="55" show-overflow-tooltip></el-table-column>
<el-table-column sortable type="index" width="55" show-overflow-tooltip></el-table-column>
<el-table-column prop="userid" label="员工编号" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="username" label="姓名" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="ctime" label="创建日期" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="taskId" label="业务对象主键任务编号" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="cuserid" label="创建人编号" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="bizDate" label="业务日期yyyy-MM-dd" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="wstatus" label="状态0-待确认,1-已确认,2-无效" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="remark" label="备注" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="ttype" label="任务类型-关联字典taskType" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="id" label="主键" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="sbillId" label="结算单据编号" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="stime" label="结算提交时间" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="sstatus" label="结算状态0-无需结算,1-待结算2-已提交3-已通过4-已结算" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="amt" label="工时对应金额" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="samt" label="结算金额" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column prop="workload" label="工时,一个task_id可多次提交,小时" min-width="80" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" width="180" fixed="right">
<template scope="scope">
<el-button type="primary" @click="showEdit( scope.row,scope.$index)" icon="el-icon-edit"></el-button>
<el-button type="danger" @click="handleDel(scope.row,scope.$index)" icon="el-icon-delete"></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-row>
<el-row>
<!--编辑 XmTaskWorkload 工时登记表界面-->
<el-drawer title="编辑工时登记表" :visible.sync="editFormVisible" size="60%" append-to-body :close-on-click-modal="false">
<xm-task-workload-edit op-type="edit" :xm-task-workload="editForm" :visible="editFormVisible" @cancel="editFormVisible=false" @submit="afterEditSubmit"></xm-task-workload-edit>
</el-drawer>
<!--新增 XmTaskWorkload 工时登记表界面-->
<el-drawer title="新增工时登记表" :visible.sync="addFormVisible" size="60%" append-to-body :close-on-click-modal="false">
<xm-task-workload-edit op-type="add" :visible="addFormVisible" @cancel="addFormVisible=false" @submit="afterAddSubmit"></xm-task-workload-edit>
</el-drawer>
</el-row>
</section>
</template>
<script>
import util from '@/common/js/util';//
import config from '@/common/config';//
import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//
import { listXmTaskWorkload, delXmTaskWorkload, batchDelXmTaskWorkload } from '@/api/xm/core/xmTaskWorkload';
import XmTaskWorkloadEdit from './XmTaskWorkloadEdit';//
import { mapGetters } from 'vuex'
export default {
name:'xmTaskWorkloadMng',
components: {
XmTaskWorkloadEdit,
},
props:['visible'],
computed: {
...mapGetters(['userInfo']),
},
watch:{
visible(val){
if(val==true){
this.initData();
this.searchXmTaskWorkloads()
}
}
},
data() {
return {
filters: {
key: ''
},
xmTaskWorkloads: [],//
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: [{id:'1',name:''},{id:'2',name:''}]
},// params={categoryId:'all',itemCodes:['sex']} {sex: [{id:'1',name:''},{id:'2',name:''}]}
addFormVisible: false,//xmTaskWorkload
addForm: {
userid:'',username:'',ctime:'',taskId:'',cuserid:'',bizDate:'',wstatus:'',remark:'',ttype:'',id:'',sbillId:'',stime:'',sstatus:'',amt:'',samt:'',workload:''
},
editFormVisible: false,//
editForm: {
userid:'',username:'',ctime:'',taskId:'',cuserid:'',bizDate:'',wstatus:'',remark:'',ttype:'',id:'',sbillId:'',stime:'',sstatus:'',amt:'',samt:'',workload:''
},
maxTableHeight:300,
}
},//end data
methods: {
handleSizeChange(pageSize) {
this.pageInfo.pageSize=pageSize;
this.getXmTaskWorkloads();
},
handleCurrentChange(pageNum) {
this.pageInfo.pageNum = pageNum;
this.getXmTaskWorkloads();
},
// 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.getXmTaskWorkloads();
},
searchXmTaskWorkloads(){
this.pageInfo.count=true;
this.getXmTaskWorkloads();
},
// XmTaskWorkload
getXmTaskWorkloads() {
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
}
this.load.list = true;
listXmTaskWorkload(params).then((res) => {
var tips=res.data.tips;
if(tips.isOk){
this.pageInfo.total = res.data.total;
this.pageInfo.count=false;
this.xmTaskWorkloads = res.data.data;
}else{
this.$notify({ showClose:true, message: tips.msg, type: 'error' });
}
this.load.list = false;
}).catch( err => this.load.list = false );
},
// XmTaskWorkload
showEdit: function ( row,index ) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
},
// XmTaskWorkload
showAdd: function () {
this.addFormVisible = true;
//this.addForm=Object.assign({}, this.editForm);
},
afterAddSubmit(){
this.addFormVisible=false;
this.pageInfo.count=true;
this.getXmTaskWorkloads();
},
afterEditSubmit(){
this.editFormVisible=false;
},
//xmTaskWorkload
selsChange: function (sels) {
this.sels = sels;
},
//xmTaskWorkload
handleDel: function (row,index) {
this.$confirm('确认删除该记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.load.del=true;
let params = { id:row.id };
delXmTaskWorkload(params).then((res) => {
this.load.del=false;
var tips=res.data.tips;
if(tips.isOk){
this.pageInfo.count=true;
this.getXmTaskWorkloads();
}
this.$notify({ showClose:true, message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err => this.load.del=false );
});
},
//xmTaskWorkload
batchDel: function () {
if(this.sels.length<=0){
return;
}
var params=this.sels.map(i=>{
return { id:i.id}
})
this.$confirm('确认删除选中记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.load.del=true;
batchDelXmTaskWorkload(params).then((res) => {
this.load.del=false;
var tips=res.data.tips;
if( tips.isOk ){
this.pageInfo.count=true;
this.getXmTaskWorkloads();
}
this.$notify({ showClose:true, message: tips.msg, type: tips.isOk?'success':'error'});
}).catch( err => this.load.del=false );
});
},
rowClick: function(row, event, column){
this.editForm=row
this.$emit('row-click',row, event, column);// @row-click="rowClick"
},
initData: function(){
},
},//end methods
mounted() {
this.$nextTick(() => {
//initSimpleDicts('all',['sex','gradeLvl']).then(res=>this.dicts=res.data.data);
this.initData()
this.searchXmTaskWorkloads();
this.maxTableHeight = util.calcTableMaxHeight(this.$refs.xmTaskWorkloadTable.$el)
});
}
}
</script>
<style scoped>
</style>
Loading…
Cancel
Save