@@ -780,6 +796,8 @@ import { resetSelect } from '@/utils'
purchase_status: res.purchase_status,
join_status: res.join_status,
invite_status: res.invite_status,
+ need_join_flow: Number(res.need_join_flow) === 1 ? 1 : 0,
+ other_flow_status: res.other_flow_status,
supply:res?.supply,
type: res.type,
group_type: res.group_type,
@@ -833,6 +851,8 @@ import { resetSelect } from '@/utils'
purchase_status: this.detail.purchase_status,
join_status: this.detail.join_status,
invite_status: this.detail.invite_status,
+ other_flow_status: this.detail.other_flow_status,
+ need_join_flow: Number(this.detail.need_join_flow) === 1 ? 1 : 0,
date: this.detail.date,
contract_plan_links: this.detail.plan.map(item => {
return item.value
diff --git a/src/views/contract/contractList.vue b/src/views/contract/contractList.vue
index 79e628c..5c5784f 100644
--- a/src/views/contract/contractList.vue
+++ b/src/views/contract/contractList.vue
@@ -2859,6 +2859,8 @@ export default {
"zhifu": new Flow(),
"other": new Flow()
}
+ const needJoin = Number(item.need_join_flow) === 1
+ const isMall = item.purchase_way?.value === "网上商城"
if (item.is_purchase) {
//为采购项目
if (item.is_simple !== 1 && !item.is_substitute) {
@@ -2873,7 +2875,7 @@ export default {
}
}
}
- if (item.purchase_way?.value !== '网上商城' && item.is_contract && item.purchase_way?.remark === 'true' && !item.is_substitute) {
+ if (!isMall && item.is_contract && item.purchase_way?.remark === 'true' && !item.is_substitute) {
//不为网上商场 是合同\
flowStatus["zhaobiao"].setStatus(item.invite_status)
if (item.invite_status === 1 && item.purchase_status === 3) {
@@ -2881,8 +2883,8 @@ export default {
flowStatus["zhaobiao"].setExecutable(true)
}
}
- if (item.is_contract && item.purchase_way?.value !== "网上商城") {
- //为合同 不为网上商城
+ // 非网上商城走合同;网上商城仅 need_join_flow=1 的个例走合同
+ if (item.is_contract && (!isMall || needJoin)) {
flowStatus["shenpi"].setStatus(item.join_status)
if (item.join_status === 1 && (item.invite_status === 3 ||
((item.purchase_way?.remark === 'false' || item.flow_mod_id === 5 || item.flow_mod_id === 29) && item.purchase_status === 3))) {
@@ -2890,7 +2892,7 @@ export default {
flowStatus["shenpi"].setExecutable(true)
}
}
- if (item.is_contract && item.purchase_way?.value !== "网上商城" && !item.is_substitute) {
+ if (item.is_contract && (!isMall || needJoin) && !item.is_substitute) {
flowStatus["qianding"].setStatus(item.status)
if (item.join_status === 3 && item.status === 1) {
flowStatus["qianding"].setExecutable(true)
@@ -2905,15 +2907,31 @@ export default {
flowStatus["other"].setExecutable(true)
}
}
+ // 支出类个案:标记 need_join_flow 时需走合同审批与签订
+ if (needJoin && item.is_contract) {
+ const priorDone = item.other_flow_status === 3 || item.req_status === 3
+ flowStatus["shenpi"].setStatus(item.join_status)
+ if (item.join_status === 1 && priorDone) {
+ flowStatus["shenpi"].setExecutable(true)
+ }
+ flowStatus["qianding"].setStatus(item.status)
+ if (item.join_status === 3 && item.status === 1) {
+ flowStatus["qianding"].setExecutable(true)
+ }
+ }
}
if (item.is_end === 0) {
flowStatus["zhifu"].setStatus(1)
+ const priorDone = item.other_flow_status === 3 || item.req_status === 3
+ const joinPaid = needJoin && item.join_status === 3 && item.status === 2
//最后一笔没付完
if (
- (item.is_purchase === 0 && (item.other_flow_status === 3 || item.req_status === 3)) ||
+ (item.is_purchase === 0 && !needJoin && priorDone) ||
+ (item.is_purchase === 0 && joinPaid && priorDone) ||
+ (item.is_purchase === 1 && joinPaid && item.purchase_status === 3) ||
(!item.is_contract && !item.is_substitute && item.purchase_status === 3) ||
- (item.purchase_way?.value === "网上商城" && item.purchase_status === 3) ||
- item.status === 2 ||
+ (isMall && !needJoin && item.purchase_status === 3) ||
+ (item.is_purchase === 1 && !needJoin && item.status === 2) ||
(!item.is_contract && item.is_simple) ||
(item.is_contract && item.is_substitute && item.join_status === 3)
) {