创建合同与合同收款计划更改

This commit is contained in:
caoxinyu
2018-12-08 18:36:28 +08:00
parent edc0d229f8
commit bb7ff9a940
4 changed files with 295 additions and 35 deletions

View File

@@ -194,7 +194,7 @@ export function selectMachine(code) {
method: 'post',
data: {
type: '1',
name: 'PDM_机床名称_查询数据_通过项目流水号',
name: '合同收款计划_发货情况_查询数据',
param: '项目流水号=' + code
}
})

View File

@@ -250,7 +250,7 @@ export function changeExecutionProgressID() {
data: {
type: '2',
name: '创建合同_改变执行进度',
param: '执行进度流水号=' + arguments[0] + '&项目流水号=' + arguments[1]
param: '执行进度流水号=' + arguments[0] + '&项目流水号=' + arguments[1] + '&进度完成日期=' + arguments[2]
}
})
}
@@ -265,3 +265,25 @@ export function selectBidBond() {
}
})
}
export function searchTime() {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '创建合同_查询执行进度时间',
param: '项目流水号=' + arguments[0] + '&执行进度流水号=' + arguments[1]
}
})
}
export function searchTimeAll() {
return request({
url: '',
method: 'post',
data: {
type: '1',
name: '创建合同_查询执行进度时间_总',
param: '项目流水号=' + arguments[0]
}
})
}

View File

@@ -1,7 +1,7 @@
<template>
<div class="app-container">
<el-card>
<span>项目名称</span>
<span>项目名称</span>
<el-select v-model="entryNameValue" filterable placeholder="项目名称" style="margin-right: 10px" size="small" clearable>
<el-option
v-for="item in entryName"
@@ -9,10 +9,10 @@
:label="item.label"
:value="item.value"/>
</el-select>
<span style="margin-left: 10px">销售经理</span>
<span style="margin-left: 10px">销售经理</span>
<el-input v-model="MarketingManagerValue" readonly clearable size="small" style="width:200px" placeholder="请双击选择营销经理" @dblclick.native="dialogFormVisiblePeople = true" @clear="clear()"/>
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="pageSize = 10;PageCurrent = 1;tableData2=[];getTableData()">查询收款计划</el-button>
<el-button type="primary" icon="el-icon-circle-plus-outline" size="small" style="margin-left: 10px" @click="ADD('form2')">新增收款计划</el-button>
<el-button type="success" icon="el-icon-search" size="small" style="margin-left: 10px" @click="pageSize = 10;PageCurrent = 1;tableData2=[];getTableData()">查询</el-button>
<el-button type="primary" icon="el-icon-circle-plus-outline" size="small" style="margin-left: 10px" @click="ADD('form2')">新增</el-button>
<el-badge :value="value" :max="99" class="item">
<el-button size="small" type="text" @click="AccountsReceivable">查看收款信息</el-button>
</el-badge>
@@ -27,19 +27,25 @@
height="280"
highlight-current-row
border
size="mini"
@expand-change="selectMachine"
@row-click="getTableData2">
<el-table-column type="expand">
<template slot-scope="scope">
<el-table :data="tableData3" border style="width: 600px; text-align: center">
<el-table-column label="设备型号" align="center">
<el-table :data="tableData3" border style="width: 600px; text-align: center" size="mini">
<el-table-column label="发货单号" align="center">
<template slot-scope="scope">
{{ scope.row.机床图 }}
{{ scope.row.发货单 }}
</template>
</el-table-column>
<el-table-column label="设备名称" align="center">
<el-table-column label="发货日期" align="center">
<template slot-scope="scope">
{{ scope.row.机床名称 }}
{{ scope.row.发货日期 }}
</template>
</el-table-column>
<el-table-column label="运输状态" align="center">
<template slot-scope="scope">
{{ parseInt(scope.row.运输状态) === 0 ? '运输中' : '已签收' }}
</template>
</el-table-column>
</el-table>
@@ -55,7 +61,7 @@
{{ scope.row.项目名称 }}
</template>
</el-table-column>
<el-table-column align="center" label="项目名称" width="200">
<el-table-column align="center" label="付款方式" width="200">
<template slot-scope="scope">
{{ scope.row.付款方式 }}
</template>
@@ -150,10 +156,11 @@
height="350"
highlight-current-row
border
size="mini"
@expand-change="selectMachine1">
<el-table-column type="expand">
<template slot-scope="scope">
<el-table :data="tableData4" border style="width: 600px; text-align: center">
<el-table :data="tableData4" border style="width: 600px; text-align: center" size="mini">
<el-table-column
align="center"
label="序号"
@@ -759,7 +766,11 @@ export default {
selectMachine(row) {
this.projectCode = row.项目流水号
selectMachine(this.projectCode).then(response => {
this.tableData3 = response.data
const data = response.data
for (let i = 0; i < data.length; i++) {
data[i].发货日期 = data[i].发货日期.substring(0, data[i].发货日期.length - 8)
}
this.tableData3 = data
})
if (this.a === 1) {
this.expands.push(row.项目流水号)
@@ -849,6 +860,9 @@ export default {
for (let i = 0; i < data.length; i++) {
data[i].未支付金额 === '0' ? data[i].是否禁用 = true : data[i].是否禁用 = false
data[i].已支付 === '0' ? data[i].是否禁用编辑 = false : data[i].是否禁用编辑 = true
if (parseFloat(data[i].付款百分比) >= 99.9) {
data[i].付款百分比 = 100
}
}
this.tableData1 = data
this.total = response.data.total

View File

@@ -194,20 +194,21 @@
v-for="item in executionProgress"
:key="item.value"
:label="item.label"
:value="item.value"/>
:value="item.value"
:disabled ="item.disabled"/>
</el-select>
</div>
</div>
<div>
<el-steps :active="ExecutionProgress" finish-status="success" process-status="process " style="margin-left: 10px">
<el-step title="签订合同" icon="el-icon-edit-outline"/>
<el-step title="图纸会签" icon="el-icon-picture-outline"/>
<el-step title="加工制造" icon="el-icon-setting"/>
<el-step title="预备验收" icon="el-icon-view"/>
<el-step title="设备发货" icon="el-icon-sold-out"/>
<el-step title="安装调试" icon="el-icon-time"/>
<el-step title="项目验收" icon="el-icon-circle-check-outline"/>
<el-step title="质保期" icon="el-icon-service"/>
<el-step :description="time1" title="签订合同" icon="el-icon-edit-outline"/>
<el-step :description="time2" title="图纸会签" icon="el-icon-picture-outline"/>
<el-step :description="time3" title="加工制造" icon="el-icon-setting"/>
<el-step :description="time4" title="预备验收" icon="el-icon-view"/>
<el-step :description="time5" title="设备发货" icon="el-icon-sold-out"/>
<el-step :description="time6" title="安装调试" icon="el-icon-time"/>
<el-step :description="time7" title="项目验收" icon="el-icon-circle-check-outline"/>
<el-step :description="time8" title="质保期" icon="el-icon-service"/>
</el-steps>
</div>
</el-card>
@@ -542,12 +543,31 @@
<el-button type="primary" @click="getCustomerCode"> </el-button>
</div>
</el-dialog>
<!--改变节点时间对话框-->
<el-dialog :visible.sync="dialogTimeVisible" :show-close="false" :close-on-click-modal="false" title="进度完成时间" center style="min-height: 300px" width="23%">
<el-form ref="form2" :model="form2" :rules="rules2" :disabled="disabledTime" label-width="140px">
<el-form-item label="进度完成日期" prop="进度完成日期">
<el-date-picker
v-model="form2.进度完成日期"
style="width: 200px;"
value-format="yyyy-MM-dd"
size="small"
type="date"
placeholder="请选择进度完成日期"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="callOffTime('form2')">取消</el-button>
<el-button type="primary" @click="submitTime('form2')"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import elInput from 'element-ui/packages/input'
import { selectBidBond, changeExecutionProgressID, initProject, searchTable1, fetchExecutionProgress, delList, addList, executionProgressID, editchar, getTree, tree, getTablePeople, fetchCustomerData, getFileData, deleteFileData, selectMachine, selectProvince, SelectMarketingManager, submitMachine, editMachine, delMachine, money } from '@/api/MarketingCenter/ContractInformationManagement'
import { searchTimeAll, searchTime, selectBidBond, changeExecutionProgressID, initProject, searchTable1, fetchExecutionProgress, delList, addList, executionProgressID, editchar, getTree, tree, getTablePeople, fetchCustomerData, getFileData, deleteFileData, selectMachine, selectProvince, SelectMarketingManager, submitMachine, editMachine, delMachine, money } from '@/api/MarketingCenter/ContractInformationManagement'
import { upload, download } from '@/utils/request'
export default {
components: {
@@ -558,6 +578,17 @@ export default {
a: 1,
b: 1,
c: 1,
time1: '',
time2: '',
time3: '',
time4: '',
time5: '',
time6: '',
time7: '',
time8: '',
disabledTime: false,
dialogTimeVisible: false,
executionProgressIDdisabled: false,
enterpriseInput: '', // 表单承接招标企业的中间变量
biddingNumber: '',
dialogFormVisibleBidding: false,
@@ -635,6 +666,9 @@ export default {
设备型号: '',
设备名称: ''
},
form2: {
进度完成日期: ''
},
title: '',
param: 0,
executionProgress: [], // 执行进度下拉框数据
@@ -651,6 +685,9 @@ export default {
rules1: { // 表单验证规则
设备型号: [{ required: true, message: '请输入设备型号', trigger: 'blur' }],
设备名称: [{ required: true, message: '请输入设备名称', trigger: 'blur' }]
},
rules2: { // 表单验证规则
进度完成日期: [{ required: true, message: '请选择进度完成日期', trigger: 'change' }]
}
}
},
@@ -723,6 +760,43 @@ export default {
fetchExecutionProgress(row.项目流水号).then(response => {
this.ExecutionProgress = response.data[0].执行进度流水号
this.executionProgressID = response.data[0].执行进度流水号
this.executionProgressID1 = response.data[0].执行进度流水号
this.time1 = '未完成'
this.time2 = '未完成'
this.time3 = '未完成'
this.time4 = '未完成'
this.time5 = '未完成'
this.time6 = '未完成'
this.time7 = '未完成'
this.time8 = '未完成'
return this.projectNum
}).then(data => {
searchTimeAll(data).then(response => {
if (response.data[0].合同签订日期 !== '' && response.data[0].合同签订日期 !== null) {
this.time1 = response.data[0].合同签订日期.substring(0, response.data[0].合同签订日期.length - 8)
}
if (response.data[0].图纸会签日期 !== '' && response.data[0].图纸会签日期 !== null) {
this.time2 = response.data[0].图纸会签日期.substring(0, response.data[0].图纸会签日期.length - 8)
}
if (response.data[0].加工制造日期 !== '' && response.data[0].加工制造日期 !== null) {
this.time3 = response.data[0].加工制造日期.substring(0, response.data[0].加工制造日期.length - 8)
}
if (response.data[0].预验收日期 !== '' && response.data[0].预验收日期 !== null) {
this.time4 = response.data[0].预验收日期.substring(0, response.data[0].预验收日期.length - 8)
}
if (response.data[0].设备发货日期 !== '' && response.data[0].设备发货日期 !== null) {
this.time5 = response.data[0].设备发货日期.substring(0, response.data[0].设备发货日期.length - 8)
}
if (response.data[0].安装调试日期 !== '' && response.data[0].安装调试日期 !== null) {
this.time6 = response.data[0].安装调试日期.substring(0, response.data[0].安装调试日期.length - 8)
}
if (response.data[0].项目验收日期 !== '' && response.data[0].项目验收日期 !== null) {
this.time7 = response.data[0].项目验收日期.substring(0, response.data[0].项目验收日期.length - 8)
}
if (response.data[0].质保期日期 !== '' && response.data[0].质保期日期 !== null) {
this.time8 = response.data[0].质保期日期.substring(0, response.data[0].质保期日期.length - 8)
}
})
})
},
selectMachine(row) {
@@ -748,6 +822,44 @@ export default {
this.getFileData(this.projectNum)
fetchExecutionProgress(row.项目流水号).then(response => {
this.ExecutionProgress = response.data[0].执行进度流水号
this.executionProgressID = response.data[0].执行进度流水号
this.executionProgressID1 = response.data[0].执行进度流水号
this.time1 = '未完成'
this.time2 = '未完成'
this.time3 = '未完成'
this.time4 = '未完成'
this.time5 = '未完成'
this.time6 = '未完成'
this.time7 = '未完成'
this.time8 = '未完成'
return this.projectNum
}).then(data => {
searchTimeAll(data).then(response => {
if (response.data[0].合同签订日期 !== '' && response.data[0].合同签订日期 !== null) {
this.time1 = response.data[0].合同签订日期.substring(0, response.data[0].合同签订日期.length - 8)
}
if (response.data[0].图纸会签日期 !== '' && response.data[0].图纸会签日期 !== null) {
this.time2 = response.data[0].图纸会签日期.substring(0, response.data[0].图纸会签日期.length - 8)
}
if (response.data[0].加工制造日期 !== '' && response.data[0].加工制造日期 !== null) {
this.time3 = response.data[0].加工制造日期.substring(0, response.data[0].加工制造日期.length - 8)
}
if (response.data[0].预验收日期 !== '' && response.data[0].预验收日期 !== null) {
this.time4 = response.data[0].预验收日期.substring(0, response.data[0].预验收日期.length - 8)
}
if (response.data[0].设备发货日期 !== '' && response.data[0].设备发货日期 !== null) {
this.time5 = response.data[0].设备发货日期.substring(0, response.data[0].设备发货日期.length - 8)
}
if (response.data[0].安装调试日期 !== '' && response.data[0].安装调试日期 !== null) {
this.time6 = response.data[0].安装调试日期.substring(0, response.data[0].安装调试日期.length - 8)
}
if (response.data[0].项目验收日期 !== '' && response.data[0].项目验收日期 !== null) {
this.time7 = response.data[0].项目验收日期.substring(0, response.data[0].项目验收日期.length - 8)
}
if (response.data[0].质保期日期 !== '' && response.data[0].质保期日期 !== null) {
this.time8 = response.data[0].质保期日期.substring(0, response.data[0].质保期日期.length - 8)
}
})
})
selectMachine(row.项目流水号).then(response => {
this.tableData2 = response.data
@@ -839,7 +951,6 @@ export default {
this.form.bidding = row.招标企业
this.disabled = true
this.temp = 2
this.infoDisable = false
},
chaEdit() {
editchar(this.form.EntryName, this.form.drawingJointSignNode, this.form.EquipmentPreAcceptanceNode, this.form.ConsignmentNode, this.form.installDebugNode, this.id1, this.form.executionProgressID, this.CustomerCode, this.form.remark, this.hetongID, this.form.付款方式, this.form.contractSigningDate, this.biddingNumber).then(response => {
@@ -858,6 +969,44 @@ export default {
this.action = `${upload}?&ProjectNum=${this.hetongID}`
fetchExecutionProgress(this.hetongID).then(response => {
this.ExecutionProgress = response.data[0].执行进度流水号
this.executionProgressID = response.data[0].执行进度流水号
this.executionProgressID1 = response.data[0].执行进度流水号
this.time1 = '未完成'
this.time2 = '未完成'
this.time3 = '未完成'
this.time4 = '未完成'
this.time5 = '未完成'
this.time6 = '未完成'
this.time7 = '未完成'
this.time8 = '未完成'
return this.hetongID
}).then(data => {
searchTimeAll(data).then(response => {
if (response.data[0].合同签订日期 !== '' && response.data[0].合同签订日期 !== null) {
this.time1 = response.data[0].合同签订日期.substring(0, response.data[0].合同签订日期.length - 8)
}
if (response.data[0].图纸会签日期 !== '' && response.data[0].图纸会签日期 !== null) {
this.time2 = response.data[0].图纸会签日期.substring(0, response.data[0].图纸会签日期.length - 8)
}
if (response.data[0].加工制造日期 !== '' && response.data[0].加工制造日期 !== null) {
this.time3 = response.data[0].加工制造日期.substring(0, response.data[0].加工制造日期.length - 8)
}
if (response.data[0].预验收日期 !== '' && response.data[0].预验收日期 !== null) {
this.time4 = response.data[0].预验收日期.substring(0, response.data[0].预验收日期.length - 8)
}
if (response.data[0].设备发货日期 !== '' && response.data[0].设备发货日期 !== null) {
this.time5 = response.data[0].设备发货日期.substring(0, response.data[0].设备发货日期.length - 8)
}
if (response.data[0].安装调试日期 !== '' && response.data[0].安装调试日期 !== null) {
this.time6 = response.data[0].安装调试日期.substring(0, response.data[0].安装调试日期.length - 8)
}
if (response.data[0].项目验收日期 !== '' && response.data[0].项目验收日期 !== null) {
this.time7 = response.data[0].项目验收日期.substring(0, response.data[0].项目验收日期.length - 8)
}
if (response.data[0].质保期日期 !== '' && response.data[0].质保期日期 !== null) {
this.time8 = response.data[0].质保期日期.substring(0, response.data[0].质保期日期.length - 8)
}
})
})
},
clear() {
@@ -967,16 +1116,25 @@ export default {
this.deleteRow(delMachine, row.机床流水号, a)
},
changeExecutionProgressID() {
changeExecutionProgressID(this.executionProgressID, this.projectNum).then(response => {
if (response.data[0].result === '1') {
this.$message.success('信息更新成功')
fetchExecutionProgress(this.projectNum).then(response => {
this.ExecutionProgress = response.data[0].执行进度流水号
})
} else {
this.$message.error('信息更新失败')
}
this.dialogTimeVisible = true
if (parseInt(this.executionProgressID) === 1) {
this.disabledTime = true
} else {
this.disabledTime = false
}
searchTime(this.projectNum, this.executionProgressID).then(response => {
this.form2.进度完成日期 = response.data[0].进度完成日期
})
// changeExecutionProgressID(this.executionProgressID, this.projectNum).then(response => {
// if (response.data[0].result === '1') {
// this.$message.success('信息更新成功')
// fetchExecutionProgress(this.projectNum).then(response => {
// this.ExecutionProgress = response.data[0].执行进度流水号
// })
// } else {
// this.$message.error('信息更新失败')
// }
// })
},
openBidding() {
this.dialogFormVisibleBidding = true
@@ -985,7 +1143,9 @@ export default {
selectBidBond(0, '', 0, '', 0, '', 1, this.enterprise, 0, '', 0, '').then(response => {
const data = response.data
for (let i = 0; i < data.length; i++) {
data[i].投标日期 = data[i].投标日期.substring(0, data[i].投标日期.length - 8)
if (data[i].投标日期 !== '' && data[i].投标日期 !== null) {
data[i].投标日期 = data[i].投标日期.substring(0, data[i].投标日期.length - 8)
}
}
this.tableDataBidding = data
})
@@ -1001,6 +1161,70 @@ export default {
getBidding() {
this.form.bidding = this.enterpriseInput
this.dialogFormVisibleBidding = false
},
offBidding() {
this.dialogFormVisibleBidding = false
this.biddingNumber = ''
},
callOffTime() {
this.dialogTimeVisible = false
this.executionProgressID = this.executionProgressID1
},
submitTime(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
changeExecutionProgressID(this.executionProgressID, this.projectNum, this.form2.进度完成日期).then(response => {
if (response.data[0].result === '1') {
this.$message.success('信息更新成功')
this.dialogTimeVisible = false
fetchExecutionProgress(this.projectNum).then(response => {
this.ExecutionProgress = response.data[0].执行进度流水号
this.executionProgressID = response.data[0].执行进度流水号
this.executionProgressID1 = response.data[0].执行进度流水号
this.time1 = '未完成'
this.time2 = '未完成'
this.time3 = '未完成'
this.time4 = '未完成'
this.time5 = '未完成'
this.time6 = '未完成'
this.time7 = '未完成'
this.time8 = '未完成'
return this.projectNum
}).then(data => {
searchTimeAll(data).then(response => {
if (response.data[0].合同签订日期 !== '' && response.data[0].合同签订日期 !== null) {
this.time1 = response.data[0].合同签订日期.substring(0, response.data[0].合同签订日期.length - 8)
}
if (response.data[0].图纸会签日期 !== '' && response.data[0].图纸会签日期 !== null) {
this.time2 = response.data[0].图纸会签日期.substring(0, response.data[0].图纸会签日期.length - 8)
}
if (response.data[0].加工制造日期 !== '' && response.data[0].加工制造日期 !== null) {
this.time3 = response.data[0].加工制造日期.substring(0, response.data[0].加工制造日期.length - 8)
}
if (response.data[0].预验收日期 !== '' && response.data[0].预验收日期 !== null) {
this.time4 = response.data[0].预验收日期.substring(0, response.data[0].预验收日期.length - 8)
}
if (response.data[0].设备发货日期 !== '' && response.data[0].设备发货日期 !== null) {
this.time5 = response.data[0].设备发货日期.substring(0, response.data[0].设备发货日期.length - 8)
}
if (response.data[0].安装调试日期 !== '' && response.data[0].安装调试日期 !== null) {
this.time6 = response.data[0].安装调试日期.substring(0, response.data[0].安装调试日期.length - 8)
}
if (response.data[0].项目验收日期 !== '' && response.data[0].项目验收日期 !== null) {
this.time7 = response.data[0].项目验收日期.substring(0, response.data[0].项目验收日期.length - 8)
}
if (response.data[0].质保期日期 !== '' && response.data[0].质保期日期 !== null) {
this.time8 = response.data[0].质保期日期.substring(0, response.data[0].质保期日期.length - 8)
}
})
})
} else {
this.$message.error('信息更新失败')
this.executionProgressID = this.executionProgressID1
}
})
}
})
}
}
}