Merge remote-tracking branch 'origin/1.2.0' into 1.2.0

master
OathK1per 2023-01-04 16:00:25 +08:00
commit eba5e87990
6 changed files with 67 additions and 22 deletions

View File

@ -133,20 +133,30 @@ public class ProjectProcessService {
*
*
* @param processId Id
* @param auditId ID
* @param auditId ID
* @param status
*/
public void updateAudit(int processId, ProcessStatus status, List<Integer> auditId) {
String currentAudit = getCurrentAudit(auditId);
String currentAuditId = auditId.stream().map(String::valueOf).collect(Collectors.joining(","));
if (status != null) {
if (!CollectionUtils.isEmpty(auditId)) {
jdbcTemplate.update(
"update project_process set current_audit=?,current_audit_id=?,status=? where id=?", currentAudit, currentAuditId, status.getValue(), processId);
if (CollectionUtils.isEmpty(auditId)) {
if (status != null) {
jdbcTemplate.update("update project_process set current_audit=?,current_audit_id=?,status=? where id=?",
null, null, status.getValue(), processId);
}
else {
jdbcTemplate.update("update project_process set current_audit=?,current_audit_id=? where id=?",
null, null, processId);
}
}
else {
jdbcTemplate.update("update project_process set current_audit=?,current_audit_id=? where id=?", currentAudit, currentAuditId, processId);
String currentAudit = getCurrentAudit(auditId);
String currentAuditId = auditId.stream().map(String::valueOf).collect(Collectors.joining(","));
if (status != null) {
jdbcTemplate.update("update project_process set current_audit=?,current_audit_id=?,status=? where id=?",
currentAudit, currentAuditId, status.getValue(), processId);
}
else {
jdbcTemplate.update("update project_process set current_audit=?,current_audit_id=? where id=?", currentAudit, currentAuditId, processId);
}
}
}

View File

@ -88,7 +88,7 @@
<el-table-column prop="projectNo" label="项目编号" fixed width="80"></el-table-column>
<el-table-column prop="projectTitle" label="标题" width="350">
<template slot-scope="scope">
<el-popover placement="top-start" title="项目标题" width="380" trigger="hover">
<el-popover placement="top-start" title="标题" width="380" trigger="hover">
<el-button slot="reference" type="text" @click="showDetail(scope.row, scope)">
{{scope.row.projectTitle|ellipsis(25)}}
</el-button>
@ -109,13 +109,17 @@
<span>{{scope.row.processType | processType}}</span>
</template>
</el-table-column>
<el-table-column prop="applyPersonName" label="申请人"></el-table-column>
<el-table-column prop="applyPersonName" label="申请人" width="120"></el-table-column>
<el-table-column prop="status" label="审核状态" width="100">
<template slot-scope="scope">
<span>{{scope.row.status | processStatus}}</span>
</template>
</el-table-column>
<el-table-column prop="currentAudit" label="当前审核人" width="100"></el-table-column>
<el-table-column prop="currentAudit" label="当前审核人" width="100">
<template slot-scope="scope">
<span v-if="scope.row.status!=='audit_passed' && scope.row.status!=='audit_not_passed'">{{scope.row.currentAudit}}</span>
</template>
</el-table-column>
<el-table-column prop="lastUpdateAt" label="最后更新时间" width="170"></el-table-column>
<el-table-column label="操作" fixed="right" width="230">

View File

@ -54,12 +54,12 @@
<el-descriptions title="${process.processType.description}详情" v-cloak>
<el-descriptions-item label="项目编号">{{process.projectNo}}</el-descriptions-item>
<el-descriptions-item label="项目标题">{{process.projectTitle}}</el-descriptions-item>
<el-descriptions-item label="标题">{{process.projectTitle}}</el-descriptions-item>
<el-descriptions-item label="申请时间">{{process.applyDate}}</el-descriptions-item>
<el-descriptions-item label="项目类型">${projectType}</el-descriptions-item>
<el-descriptions-item label="合作类型">${cooperationType}</el-descriptions-item>
<el-descriptions-item label="申请部门">{{process.applyDept}}</el-descriptions-item>
<el-descriptions-item label="申请部门">{{process?.applyDept?.split(',').join('/')}}</el-descriptions-item>
<el-descriptions-item label="申请人">{{process.applyPersonName}}</el-descriptions-item>
<el-descriptions-item label="申请部门领导">{{process.applyDeptLeaderName}}</el-descriptions-item>
<el-descriptions-item label="申请人电话" v-if="isSaleContract">{{contract.applyPersonPhone}}</el-descriptions-item>
@ -94,7 +94,8 @@
<el-descriptions-item label="税率">{{process.taxRate}}%</el-descriptions-item>
<el-descriptions-item label="是否垫资">${isPrepaid}</el-descriptions-item>
<el-descriptions-item label="垫资金额">${repaidAmount}元</el-descriptions-item>
<el-descriptions-item label="垫资金额" v-if="isPrepaid!=='否'">${repaidAmount}元</el-descriptions-item>
<el-descriptions-item label="预算毛利率">${project.grossProfitMargin}</el-descriptions-item>
<el-descriptions-item label="收款条件" v-if="isSaleContract">

View File

@ -76,7 +76,7 @@
<span>{{processForm.projectNo}}</span>
</el-form-item>
<el-form-item label="项目标题">
<el-form-item label="标题">
<span>{{processForm.projectTitle}}</span>
</el-form-item>
@ -364,7 +364,7 @@
<el-table-column prop="expirationDate" label="质保期" fixed="right" width="150">
<template slot-scope="scope">
<el-input maxlength="5" size="mini" placeholder="请输入质保期" v-model="scope.row.expirationDate"
oninput="value=value.replace(/[^\d\u4E00-\u9FA5]/g, '')" show-word-limit>
@change="updateExpirationDate(scope.row)" show-word-limit>
</el-input>
</template>
</el-table-column>
@ -628,6 +628,17 @@
}
return true
},
/**
* 处理 质保期
* @param row 数据行
*/
updateExpirationDate(row) {
if (row.expirationDate) {
row.expirationDate = row.expirationDate.replace(/[^\d\u4E00-\u9FA5]/g, '')
}
},
/**
* 保存 业务采购合同清单明细,返回上一级的表单界面
*/

View File

@ -112,7 +112,7 @@
<el-dialog title="预算采购明细表" :visible.sync="procurementDetailSelectorVisible" v-cloak width="90%"
:close-on-click-modal="false">
<el-table border :data="procurementDetails">
<el-table border :data="procurementDetails" height="400">
<el-table-column type="index" :index="1" label="序号" fixed></el-table-column>
<el-table-column prop="feeType" label="费用项目" fixed width="80"></el-table-column>
<el-table-column prop="name" label="产品名称" fixed></el-table-column>
@ -181,7 +181,7 @@
</el-tooltip>
<el-tooltip :disabled="!projectSelected" effect="light" :content="processForm.projectTitle" placement="top-start">
<el-form-item label="项目标题">
<el-form-item label="标题">
<span v-if="projectSelected">{{processForm.projectTitle}}</span>
<span v-else>未选择项目</span>
</el-form-item>
@ -474,7 +474,7 @@
<el-table-column prop="expirationDate" label="质保期" fixed="right" width="150">
<template slot-scope="scope">
<el-input maxlength="5" size="mini" placeholder="请输入质保期" v-model="scope.row.expirationDate"
oninput="value=value.replace(/[^\d\u4E00-\u9FA5]/g, '')" show-word-limit>
@change="updateExpirationDate(scope.row)" show-word-limit>
</el-input>
</template>
</el-table-column>
@ -928,7 +928,9 @@
this.projectSelected = true
let indexCounter = 1;
this.incomeDetails = incomeDetails && incomeDetails.map(detail => ({
...detail, type: computeType(detail.type), index: indexCounter++ // 用于记录序号,展示或者定位
...detail, type: computeType(detail.type),
expirationDate: null, // 质保期需要全部重新填写
index: indexCounter++ // 用于记录序号,展示或者定位
}))
let rowKey = 0
@ -1173,6 +1175,17 @@
}
return true
},
/**
* 处理 质保期
* @param row 数据行
*/
updateExpirationDate(row) {
if (row.expirationDate) {
row.expirationDate = row.expirationDate.replace(/[^\d\u4E00-\u9FA5]/g, '')
}
},
/**
* 保存销售合同详情数据,并返回表单界面
*/

View File

@ -78,7 +78,7 @@
<el-table-column prop="projectNo" label="项目编号" fixed width="80"></el-table-column>
<el-table-column prop="projectTitle" label="标题" width="350">
<template slot-scope="scope">
<el-popover placement="top-start" title="项目标题" width="380" trigger="hover">
<el-popover placement="top-start" title="标题" width="380" trigger="hover">
<el-button slot="reference" type="text" @click="showDetail(scope.row, scope)">
{{scope.row.projectTitle|ellipsis(25)}}
</el-button>
@ -101,7 +101,7 @@
<span>{{scope.row.processType | processType}}</span>
</template>
</el-table-column>
<el-table-column prop="applyPersonName" label="申请人"></el-table-column>
<el-table-column prop="applyPersonName" label="申请人" width="120"></el-table-column>
<el-table-column prop="status" label="审核状态" width="100">
<template slot-scope="scope">
<span>{{scope.row.status | processStatus}}</span>
@ -363,6 +363,12 @@
mounted() {
this.queryTable()
},
watch: {
// 每当 question 改变时,这个函数就会执行
queryForm(newQueryForm, oldQueryForm) {
this.resetPageParams()
}
},
filters: {
ellipsis(value, limit = 5) {
if (!value) return ''