[update] 收入合同关联新建普通项目表单修改;新建工作组候选工作组列表修改

This commit is contained in:
zhaoxiao
2021-09-07 17:11:26 +08:00
parent 273519b189
commit 00676798ea
7 changed files with 199 additions and 169 deletions
+3 -3
View File
@@ -18,8 +18,8 @@ const getAssociatedProject = (param) => getAction('/contract/payIncomeContract/g
const cancelAssociatedProject = (param) => postAction('/contract/payIncomeContract/cancelAssociated', param) const cancelAssociatedProject = (param) => postAction('/contract/payIncomeContract/cancelAssociated', param)
// 收入合同提交审核 // 收入合同提交审核
const submitAudit = (param) => postAction('/contract/payIncomeContract/submitAudit', param) const submitAudit = (param) => postAction('/contract/payIncomeContract/submitAudit', param)
// 获取全部工作组信息 // 获取不存在成员单位的工作组信息
const getWorkingGroupAllList = (param) => getAction('/project/payWorkingGroup/listAll', param) const getWorkingGroupListByNotCompany = (param) => getAction('/project/payWorkingGroup/queryListByNotCompany', param)
// 收入合同存档 // 收入合同存档
const archiveRevenueContract = (param) => postAction('contract/payIncomeContract/archive', param) const archiveRevenueContract = (param) => postAction('contract/payIncomeContract/archive', param)
@@ -33,6 +33,6 @@ export {
getAssociatedProject, getAssociatedProject,
cancelAssociatedProject, cancelAssociatedProject,
submitAudit, submitAudit,
getWorkingGroupAllList, getWorkingGroupListByNotCompany,
archiveRevenueContract archiveRevenueContract
} }
@@ -91,8 +91,8 @@
<template slot="projectName" slot-scope="text, record"> <template slot="projectName" slot-scope="text, record">
<j-ellipsis <j-ellipsis
@click="toRevenueContractDetail(record.id, record.contractNum)" @click="toRevenueContractDetail(record.id, record.contractNum)"
v-if="record.status === 2 || record.status === 4" v-if="record.chargeStatus === 1"
value="text" :value="text"
:length="20"></j-ellipsis> :length="20"></j-ellipsis>
<j-ellipsis <j-ellipsis
class="primary-color" class="primary-color"
@@ -186,32 +186,38 @@ export default {
title: '合同名称', title: '合同名称',
align: 'center', align: 'center',
dataIndex: 'contractName', dataIndex: 'contractName',
width: 250 width: 250,
scopedSlots: { customRender: 'text' }
}, { }, {
title: '关联项目', title: '关联项目',
align: 'center', align: 'center',
dataIndex: '', dataIndex: 'associatedProject',
width: 250 width: 250,
scopedSlots: { customRender: 'text' }
}, { }, {
title: '签订单位', title: '签订单位',
align: 'center', align: 'center',
dataIndex: 'signedCompanyTemporaryName', dataIndex: 'signedCompanyTemporaryName',
width: 250 width: 250,
scopedSlots: { customRender: 'text' }
}, { }, {
title: '签订联系人', title: '签订联系人',
align: 'center', align: 'center',
dataIndex: 'signedContactsTemporaryName', dataIndex: 'signedContactsTemporaryName',
width: 250 width: 250,
scopedSlots: { customRender: 'text' }
}, { }, {
title: '合同总金额', title: '合同总金额',
align: 'center', align: 'center',
dataIndex: 'contractAmount', dataIndex: 'contractAmount',
width: 250 width: 250,
scopedSlots: { customRender: 'text' }
}, { }, {
title: '状态', title: '状态',
align: 'center', align: 'center',
dataIndex: 'status_dictText', dataIndex: 'status_dictText',
width: 250 width: 250,
scopedSlots: { customRender: 'text' }
}, { }, {
title: '创建时间', title: '创建时间',
align: 'center', align: 'center',
@@ -574,6 +574,9 @@ export default {
handleSignedCompanyChange(value) { handleSignedCompanyChange(value) {
this.selectedCompany = value this.selectedCompany = value
this.model.signedContactsId = undefined this.model.signedContactsId = undefined
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model, 'signedContactsId'))
})
}, },
/** /**
* 负责人变化获取部门信息回显至部门名称 * 负责人变化获取部门信息回显至部门名称
@@ -99,6 +99,7 @@
<general-project-module ref="generalProjectForm" <general-project-module ref="generalProjectForm"
v-bind="$attrs" v-bind="$attrs"
:disabled-charge-company="true" :disabled-charge-company="true"
:default-charge-way="2"
@ok="modalFormOk"></general-project-module> @ok="modalFormOk"></general-project-module>
<!-- 工作组项目新增--> <!-- 工作组项目新增-->
<working-group-member-unit-module ref="workingGroupMemberForm" <working-group-member-unit-module ref="workingGroupMemberForm"
@@ -105,8 +105,9 @@
</a-row> </a-row>
<a-row> <a-row>
<a-col :xl="12" :sm="24"> <a-col :xl="12" :sm="24">
<a-form-item label="来款方式" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="来款方式" :labelCol="labelCol" :wrapperCol="wrapperCol" >
<a-radio-group v-decorator="['chargeWay',validatorRules.chargeWay]" @change="handlechargeWayChange"> <span v-if="defaultChargeWay === 2 && chargeWayType === 2">合同</span>
<a-radio-group v-decorator="['chargeWay',validatorRules.chargeWay]" @change="handlechargeWayChange" v-else>
<a-radio :value="1"></a-radio> <a-radio :value="1"></a-radio>
<a-radio :value="2">合同</a-radio> <a-radio :value="2">合同</a-radio>
<a-radio :value="3">收费通知</a-radio> <a-radio :value="3">收费通知</a-radio>
@@ -185,7 +186,13 @@ export default {
type: Boolean, type: Boolean,
required: false, required: false,
default: false default: false
} },
// 默认来款方式(收入合同新增工作组项目,来款方式默认为2--合同)
defaultChargeWay: {
type: Number,
required: false,
default: null
},
}, },
data() { data() {
return { return {
@@ -274,7 +281,9 @@ export default {
methods: { methods: {
add() { add() {
this.edit({}) this.edit({})
console.log(this.defaultChargeCompany, '============') if (this.defaultChargeWay === 2) {
this.chargeWayType = 2
}
}, },
edit(record) { edit(record) {
if (this.defaultChargeCompany.hasOwnProperty.call(this.defaultChargeCompany, 'id')) { if (this.defaultChargeCompany.hasOwnProperty.call(this.defaultChargeCompany, 'id')) {
@@ -321,6 +330,10 @@ export default {
if (!err) { if (!err) {
values.chargeCompanyName = values.chargeCompany.companyName values.chargeCompanyName = values.chargeCompany.companyName
values.chargeCompanyId = values.chargeCompany.id values.chargeCompanyId = values.chargeCompany.id
// 收入合同新建项目手动赋值
if (this.defaultChargeWay === 2) {
values.chargeWay = 2
}
let httpurl = '' let httpurl = ''
let method = 'post' let method = 'post'
if (!this.model.id) { if (!this.model.id) {
@@ -197,7 +197,7 @@ import { httpAction } from '@api/manage'
import JUpload from '@comp/jero/JUpload' import JUpload from '@comp/jero/JUpload'
import CompanySelect from '@comp/company/CompanySelect' import CompanySelect from '@comp/company/CompanySelect'
import SelectContacts from '@comp/company/SelectContacts' import SelectContacts from '@comp/company/SelectContacts'
import { getWorkingGroupAllList } from '../../../api/incomePaymentsApi' import { getWorkingGroupListByNotCompany } from '../../../api/incomePaymentsApi'
export default { export default {
name: 'WorkingGroupMemberUnitModule', name: 'WorkingGroupMemberUnitModule',
@@ -311,7 +311,10 @@ export default {
} }
}, },
loadWorkingGroupList() { loadWorkingGroupList() {
getWorkingGroupAllList().then(res => { let param = {
companyId: this.defaultChargeCompany.id
}
getWorkingGroupListByNotCompany(param).then(res => {
if (res.success) { if (res.success) {
this.workingGroupList = res.result this.workingGroupList = res.result
} else { } else {
+155 -151
View File
@@ -19,7 +19,7 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="6" :sm="10"> <a-col :md="10" :sm="10">
<a-form-item label="创建时间" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="创建时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-range-picker <a-range-picker
v-model="queryParam.createTimeRange" v-model="queryParam.createTimeRange"
@@ -37,9 +37,10 @@
</a-col> </a-col>
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-col :md="6" :sm="24" > <a-col :md="6" :sm="24">
<a-button type="primary" style="left: 10px" @click="searchQuery" icon="search">查询</a-button> <a-button type="primary" style="left: 10px" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px;left: 10px">重置</a-button> <a-button type="primary" @click="searchReset" icon="reload"
style="margin-left: 8px;left: 10px">重置</a-button>
</a-col> </a-col>
</span> </span>
@@ -59,10 +60,10 @@
:loading="loading" :loading="loading"
@change="handleTableChange"> @change="handleTableChange">
<!-- <div v-show="queryParam.logType==2" slot="expandedRowRender" slot-scope="record" style="margin: 0">--> <!-- <div v-show="queryParam.logType==2" slot="expandedRowRender" slot-scope="record" style="margin: 0">-->
<!-- <div style="margin-bottom: 5px"><a-badge status="success" style="vertical-align: middle;"/><span style="vertical-align: middle;">请求方法:{{ record.method }}</span></div>--> <!-- <div style="margin-bottom: 5px"><a-badge status="success" style="vertical-align: middle;"/><span style="vertical-align: middle;">请求方法:{{ record.method }}</span></div>-->
<!-- <div><a-badge status="processing" style="vertical-align: middle;"/><span style="vertical-align: middle;">请求参数:{{ record.requestParam }}</span></div>--> <!-- <div><a-badge status="processing" style="vertical-align: middle;"/><span style="vertical-align: middle;">请求参数:{{ record.requestParam }}</span></div>-->
<!-- </div>--> <!-- </div>-->
<!-- 字符串超长截取省略号显示--> <!-- 字符串超长截取省略号显示-->
<span slot="logContent" slot-scope="text, record"> <span slot="logContent" slot-scope="text, record">
<j-ellipsis :value="text" :length="40"/> <j-ellipsis :value="text" :length="40"/>
@@ -73,162 +74,165 @@
</template> </template>
<script> <script>
import { filterObj } from '@/utils/util' import { filterObj } from '@/utils/util'
import { JeroListMixin } from '@/mixins/JeroListMixin' import { JeroListMixin } from '@/mixins/JeroListMixin'
import JEllipsis from '@/components/jero/JEllipsis' import JEllipsis from '@/components/jero/JEllipsis'
export default { export default {
name: 'LogList', name: 'LogList',
mixins:[JeroListMixin], mixins: [JeroListMixin],
components: { components: {
JEllipsis JEllipsis
}, },
data () { data() {
return { return {
description: '这是日志管理页面', description: '这是日志管理页面',
// 查询条件 // 查询条件
queryParam: { queryParam: {
ipInfo:'', ipInfo: '',
createTimeRange:[], createTimeRange: [],
logType:'1', logType: '1',
keyWord:'', keyWord: ''
}, },
tabKey: '1', tabKey: '1',
// 表头 // 表头
columns: [ columns: [
{ {
title: '序号', title: '序号',
dataIndex: '', dataIndex: '',
key:'rowIndex', key: 'rowIndex',
align:'center', align: 'center',
customRender:function (t,r,index) { customRender: function (t, r, index) {
return parseInt(index)+1 return parseInt(index) + 1
}
},
{
title: '日志内容',
align:'left',
dataIndex: 'logContent',
scopedSlots: { customRender: 'logContent' },
sorter: true
},
{
title: '操作人ID',
dataIndex: 'userid',
align:'center',
sorter: true
},
{
title: '操作人名称',
dataIndex: 'username',
align:'center',
sorter: true
},
{
title: 'IP',
dataIndex: 'ip',
align:'center',
sorter: true
},
{
title: '耗时(毫秒)',
dataIndex: 'costTime',
align:'center',
sorter: true
},
{
title: '日志类型',
dataIndex: 'logType_dictText',
/*customRender:function (text) {
if(text==1){
return "登录日志";
}else if(text==2){
return "操作日志";
}else{
return text;
}
},*/
align:'center',
},
{
title: '创建时间',
dataIndex: 'createTime',
align:'center',
sorter: true
} }
], }, {
operateColumn: title: '操作人名称',
dataIndex: 'username',
align: 'center',
sorter: true
}, {
title: '角色',
dataIndex: 'roleName',
align: 'center',
sorter: true
},
{
title: '日志内容',
align: 'center',
dataIndex: 'logContent',
scopedSlots: { customRender: 'logContent' },
sorter: true
}, {
title: '创建时间',
dataIndex: 'createTime',
align: 'center',
sorter: true
},
// {
// title: '操作人ID',
// dataIndex: 'userid',
// align:'center',
// sorter: true
// },
//
// {
// title: 'IP',
// dataIndex: 'ip',
// align:'center',
// sorter: true
// },
// {
// title: '耗时(毫秒)',
// dataIndex: 'costTime',
// align:'center',
// sorter: true
// },
{
title: '日志类型',
dataIndex: 'logType_dictText',
/*customRender:function (text) {
if(text==1){
return "登录日志";
}else if(text==2){
return "操作日志";
}else{
return text;
}
},*/
align: 'center'
}
],
operateColumn:
{ {
title: '操作类型', title: '操作类型',
dataIndex: 'operateType_dictText', dataIndex: 'operateType_dictText',
align:'center', align: 'center'
},
labelCol: {
xs: { span: 1 },
sm: { span: 2 },
},
wrapperCol: {
xs: { span: 10 },
sm: { span: 16 },
},
url: {
list: '/sys/log/page',
}, },
labelCol: {
xs: { span: 1 },
sm: { span: 2 }
},
wrapperCol: {
xs: { span: 10 },
sm: { span: 16 }
},
url: {
list: '/sys/log/page'
} }
}
},
methods: {
getQueryParams() {
var param = Object.assign({}, this.lastQueryParam, this.isorter, { logType: this.tabKey })
param.field = this.getQueryField()
param.pageNo = this.ipagination.current
param.pageSize = this.ipagination.pageSize
delete param.createTimeRange // 时间参数不传递后台
if (this.superQueryParams) {
param['superQueryParams'] = encodeURI(this.superQueryParams)
param['superQueryMatchType'] = this.superQueryMatchType
}
return filterObj(param)
}, },
methods: {
getQueryParams(){
var param = Object.assign({}, this.lastQueryParam,this.isorter,{logType:this.tabKey})
param.field = this.getQueryField()
param.pageNo = this.ipagination.current
param.pageSize = this.ipagination.pageSize
delete param.createTimeRange // 时间参数不传递后台
if (this.superQueryParams) {
param['superQueryParams'] = encodeURI(this.superQueryParams)
param['superQueryMatchType'] = this.superQueryMatchType
}
return filterObj(param)
},
// 重置 // 重置
searchReset(){ searchReset() {
var that = this var that = this
var logType = that.queryParam.logType var logType = that.queryParam.logType
that.queryParam = {} //清空查询区域参数 that.queryParam = {} //清空查询区域参数
that.queryParam.logType = logType that.queryParam.logType = logType
that.lastQueryParam = Object.assign({},this.queryParam) that.lastQueryParam = Object.assign({}, this.queryParam)
that.loadData(1) that.loadData(1)
}, },
// 日志类型 // 日志类型
callback(key){ callback(key) {
// 动态添加操作类型列 // 动态添加操作类型列
if (key == 2) { if (key == 2) {
this.tabKey = '2' this.tabKey = '2'
this.columns.splice(7, 0, this.operateColumn) this.columns.splice(7, 0, this.operateColumn)
}else if(this.columns.length == 9) } else if (this.columns.length == 9) {
{ this.tabKey = '1'
this.tabKey = '1' this.columns.splice(7, 1)
this.columns.splice(7,1) }
}
let that=this let that = this
that.queryParam = {} that.queryParam = {}
that.queryParam.logType=key that.queryParam.logType = key
that.lastQueryParam =Object.assign({},this.queryParam) that.lastQueryParam = Object.assign({}, this.queryParam)
that.loadData() that.loadData()
}, },
onDateChange: function (value, dateString) { onDateChange: function (value, dateString) {
console.log(dateString[0],dateString[1]) console.log(dateString[0], dateString[1])
this.queryParam.createTime_begin=dateString[0] this.queryParam.createTime_begin = dateString[0]
this.queryParam.createTime_end=dateString[1] this.queryParam.createTime_end = dateString[1]
}, },
onDateOk(value) { onDateOk(value) {
console.log(value) console.log(value)
},
} }
} }
}
</script> </script>
<style scoped> <style scoped>
@import '~@assets/less/common.less'; @import '~@assets/less/common.less';
</style> </style>