zhaoxiaoqiang1
2026-01-04 f1d30d03186c79ca2cbcfe60d6d2ce7d73fba97b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
export default {
  state: {
    fundRouteManageInfoReq: {}, //贷款机构信息及优先级
    loanOrgBaseInfoSubmitReq: {}, // 基本信息
    loanOrgPedestrianSubmitReq: {}, // 人行约束
    loanOrgApplyConstraintSubmitReq: {}, // 授信约束
    loanOrgPutoutConstraintSubmitReq: {}, // 放款约束
    loanOrgRepaymentConstraintSubmitReq: {}, // 还款约束
    loanOrgRepaymentLedgerReqs: [], // 还款约束-还款分账清单
    loanOrgFuncConstraintListSubmitReqs: [], // 功能约束
    loanOrgImageListSubmitReqs: [], // 协议影像
    personSerialNo: '', // 人行收费标准SerialNo
    repaymentSerialNo: '', // 还款代扣费SerialNo
    creditSerialNo: '', // 授信代扣费SerialNo
    loadSerialNo: '', // 放款约束 放款支持银行清单/代付收费标准SerialNo
    sonProcessCode: [],
    currentTabs: '',
    controlFuncArr: '', // 控制功能约束数组是否置空
    loanOrgFuncAssetInfoSubmitReqs: [], // 资产配置 产品 地区 年龄 
 
  },
  getters: {},
  mutations: {
    // 贷款机构信息及优先级(资金路由管理需求)
    setFundRouteManageInfoReq(state, info) {
      const { fundRouteManageInfoReq } = state
      state.fundRouteManageInfoReq = { ...fundRouteManageInfoReq, ...info }
    },
    // 基本信息
    setLoanOrgBaseInfoSubmitReq(state, info) {
      const { loanOrgBaseInfoSubmitReq } = state
      state.loanOrgBaseInfoSubmitReq = { ...loanOrgBaseInfoSubmitReq, ...info }
    },
    // 人行约束
    setLoanOrgPedestrianSubmitReq(state, info) {
      const { loanOrgPedestrianSubmitReq } = state
      state.loanOrgPedestrianSubmitReq = {
        ...loanOrgPedestrianSubmitReq,
        ...info
      }
    },
    // 授信约束
    setLoanOrgApplyConstraintSubmitReq(state, info) {
      const { loanOrgApplyConstraintSubmitReq } = state
      state.loanOrgApplyConstraintSubmitReq = {
        ...loanOrgApplyConstraintSubmitReq,
        ...info
      }
    },
    // 放款约束
    setLoanOrgPutoutConstraintSubmitReq(state, info) {
      const { loanOrgPutoutConstraintSubmitReq } = state
      state.loanOrgPutoutConstraintSubmitReq = {
        ...loanOrgPutoutConstraintSubmitReq,
        ...info
      }
    },
    // 还款约束
    setLoanOrgRepaymentConstraintSubmitReq(state, info) {
      const { loanOrgRepaymentConstraintSubmitReq } = state
      state.loanOrgRepaymentConstraintSubmitReq = {
        ...loanOrgRepaymentConstraintSubmitReq,
        ...info
      }
    },
    // 还款约束-还款分账清单
    setLoanOrgRepaymentLedgerReqs(state, info) {
      state.loanOrgRepaymentLedgerReqs = [
        ...info
      ]
    },
    // 功能约束
    setLoanOrgFuncConstraintListSubmitReqs(state, info) {
      state.loanOrgFuncConstraintListSubmitReqs = info
    },
    // setLoanOrgFuncConstraintListSubmitReqs(state, info) {
    //   state.loanOrgFuncConstraintListSubmitReqs = info
    //   const { loanOrgFuncConstraintListSubmitReqs } = state
    //   console.log(loanOrgFuncConstraintListSubmitReqs, '--', info)
    //   if (Object.keys(info).length !== 0) {
    //     const { functionName } = info
    //     const index = loanOrgFuncConstraintListSubmitReqs.findIndex(
    //       item => item.functionName === functionName
    //     )
    //     if (index > -1) {
    //       loanOrgFuncConstraintListSubmitReqs[index] = { ...info }
    //     } else {
    //       loanOrgFuncConstraintListSubmitReqs.push(info)
    //     }
    //     state.loanOrgFuncConstraintListSubmitReqs = [
    //       ...loanOrgFuncConstraintListSubmitReqs
    //     ]
    //   } else {
    //     state.loanOrgFuncConstraintListSubmitReqs = []
    //   }
    // },
    // 协议影像
    setLoanOrgImageListSubmitReqs(state, info) {
      state.loanOrgImageListSubmitReqs = info
    },
    setRepaymentSerialNo(state, info) {
      state.repaymentSerialNo = info
    },
    setPersonSerialNo(state, info) {
      state.personSerialNo = info
    },
    setCreditSerialNo(state, info) {
      state.creditSerialNo = info
    },
    setLoadSerialNo(state, info) {
      state.loadSerialNo = info
    },
    setSonProcessCode(state, info) {
      const { sonProcessCode } = state
      const index = sonProcessCode.findIndex(({ type }) => type === info.type)
      if (index > -1) {
        sonProcessCode[index].value = info.value
      } else {
        sonProcessCode.push(info)
      }
      state.sonProcessCode = [...sonProcessCode]
      state.currentTabs = info.type
    },
    setControlFuncArr(state, info) {
      state.controlFuncArr = info
    },
    setLoanOrgFuncAssetInfoSubmitReqs(state, info) {
      // 贷款机构管理:资产配置 3个子表单
      // info -> 子表单数据:若表单数据为空,则提交表单类型判断 索引index
      if (info) {
        // const infoIsArr = Array.isArray(info)
        // let { loanOrgFuncAssetInfoSubmitReqs } = state
        // let index = infoIsArr ? info[0].assetType : info
        // // 筛选未改动数据
        // let filterData = loanOrgFuncAssetInfoSubmitReqs.filter((item) => {
        //   const assetType = item[0] && item[0].assetType
        //   return assetType !== index
        // })
        // const res =  infoIsArr ? [...filterData, info] : [...filterData]
        // let assetTypeArr = []
        // res.forEach((item) => item[0] && assetTypeArr.push(item[0].assetType))
        // assetTypeArr = [...new Set(assetTypeArr)]
        // console.log('assetTypeArr',assetTypeArr)
        // state.assetTypeArr = assetTypeArr
 
        const infoIsArr = Array.isArray(info);
        let res = [];
 
        // 如果 info 是数组,则直接处理
        if (infoIsArr) {
          res = info;
        } else {
          // 如果 info 不是数组,则包裹成数组处理
          res = [info];
        }
        // 初始化分类对象
        const categorizedData = {
          loanOrgFuncAssetProductSubmitReqs: [], // 对应 assetType === 'PRODUCT'
          loanOrgFuncAsseAreaSubmitReqs: [],     // 对应 assetType === 'AREA'
          loanOrgFuncAssetAgeSubmitReqs: []      // 对应 assetType === 'AGE'
        };
 
        // 遍历 res 数组,将数据分类到对应的键下
        res.forEach(item => {
          if (item.assetType === 'PRODUCT') {
            categorizedData.loanOrgFuncAssetProductSubmitReqs.push(item);
          } else if (item.assetType === 'AREA') {
            categorizedData.loanOrgFuncAsseAreaSubmitReqs.push(item);
          } else if (item.assetType === 'AGE') {
            categorizedData.loanOrgFuncAssetAgeSubmitReqs.push(item);
          }
        });
        console.log('categorizedData',categorizedData)
        state.loanOrgFuncAssetInfoSubmitReqs = categorizedData
      }
    }
  },
  actions: {}
}