Commit bac64d86328f4765de49135f6c80a3d6d9887079

Authored by 史婷婷
1 parent d5f58fb7

feat: 资信管理-审核&审核详情共用一个页面-暂存

1 -<template>  
2 - <view class="page">  
3 - <scroll-view class="scroll" scroll-y>  
4 - <view class="detail-page">  
5 - <view class="section">  
6 - <text class="row company">{{ form.companyName }}</text>  
7 - <view class="row"><text class="label">编号</text><text class="value">{{ form.serialNumber }}</text></view>  
8 - <view class="row"><text class="label">区域</text><text class="value">{{ form.region }}</text></view>  
9 - <view class="row"><text class="label">客户简称</text><text class="value">{{ form.customerShortName }}</text>  
10 - </view>  
11 - <view class="row"><text class="label">企业类型</text><text class="value">{{ getDicName('ENTERPRISE_TYPE',  
12 - form.enterpriseType, enterpriseTypeOptions) }}</text></view>  
13 - <view class="row"><text class="label">企业操作类型</text><text class="value">{{ form.enterpriseOperationType  
14 - }}</text></view>  
15 - <view class="row"><text class="label">登记日期</text><text class="value">{{ form.registerDate }}</text></view>  
16 - </view>  
17 -  
18 - <view class="title-header">  
19 - <image class="title-header_icon" src="/static/images/title.png" />  
20 - <span>基础资料</span>  
21 - </view>  
22 - <view class="section">  
23 - <view class="row"><text class="label">企业性质</text><text class="value">{{ form.companyNature }}</text></view>  
24 - <view class="row"><text class="label">注册资本</text><text class="value">{{ form.registeredCapital }} 万元</text>  
25 - </view>  
26 - <view class="row"><text class="label">账号</text><text class="value">{{ form.bankAccount }}</text></view>  
27 - <view class="row"><text class="label">开户行</text><text class="value">{{ form.bankName }}</text></view>  
28 - <view class="row"><text class="label">税号</text><text class="value">{{ form.taxNumber }}</text></view>  
29 - <view class="row"><text class="label">注册时间</text><text class="value">{{ form.registrationTime }}</text></view>  
30 - <view class="row"><text class="label">经营年限</text><text class="value">{{ form.businessYears }}</text></view>  
31 - <view class="row"><text class="label">单位地址</text><text class="value">{{ form.companyAddress }}</text></view>  
32 - <view class="row"><text class="label">经营范围</text><text class="value">{{ form.businessScope }}</text></view>  
33 - <view class="row"><text class="label">工商信息</text><text class="value act">{{ form.businessFileName }}</text>  
34 - </view>  
35 - <view class="row"><text class="label">股东信息</text><text class="value act">{{ form.shareholderFileName }}</text>  
36 - </view>  
37 - </view>  
38 -  
39 - <view class="mgb10">  
40 - <CorePersonnel mode="view" :options="genderOptions" :list="form.corePersonnelList" />  
41 - </view>  
42 -  
43 - <view class="title-header">  
44 - <image class="title-header_icon" src="/static/images/title.png" />  
45 - <span>资产经营情况</span>  
46 - </view>  
47 - <view class="section">  
48 - <view class="row"><text class="label">经营场地属性</text><text class="value">{{ form.businessProperty }}</text>  
49 - </view>  
50 - <view class="row"><text class="label">占地面积</text><text class="value">{{ form.landArea }} 平方米</text></view>  
51 - <view class="row"><text class="label">仓储条件</text><text class="value">{{ form.storageConditions }}</text>  
52 - </view>  
53 - <view class="row"><text class="label">员工人数</text><text class="value">{{ form.employeeCount }}</text></view>  
54 - <view class="row"><text class="label">设备属性</text><text class="value">{{ form.equipmentAttributes }}</text>  
55 - </view>  
56 - <view class="row"><text class="label">资产评估</text><text class="value">{{ form.assetEvaluation }}</text></view>  
57 - <view class="row"><text class="label">上年度销售额</text><text class="value">{{ form.lastYearSales }}</text></view>  
58 - <view class="row"><text class="label">月均销量</text><text class="value">{{ form.monthlyAvgSales }}</text></view>  
59 - <view class="row"><text class="label">销项发票所开品名与计量单位</text><text class="value">{{ form.invoiceItemUnit  
60 - }}</text></view>  
61 - <view class="row"><text class="label">认证证书</text><text class="value">{{ form.certificationCertificate  
62 - }}</text></view>  
63 - <view class="row"><text class="label">我司售与产品于经营范围是否匹配</text><text class="value">{{ form.productMatch }}</text>  
64 - </view>  
65 - <view class="row"><text class="label">主要客户</text><text class="value">{{ form.majorCustomers }}</text></view>  
66 - <view class="row"><text class="label">主营项目</text><text class="value">{{ form.mainProjects }}</text></view>  
67 - <view class="row"><text class="label">从事行业</text><text class="value">{{ form.industryInvolved }}</text></view>  
68 - <view class="row"><text class="label">在该行业中的经验</text><text class="value">{{ form.industryExperience }}</text>  
69 - </view>  
70 - <view class="row"><text class="label">是否与其他企业有经济纠纷 违规信息 拖欠员工薪资</text><text class="value">{{ form.hasDispute  
71 - }}</text></view>  
72 - </view>  
73 -  
74 - <view class="title-header">  
75 - <image class="title-header_icon" src="/static/images/title.png" />  
76 - <span>与我司合作</span>  
77 - </view>  
78 - <view class="section">  
79 - <view class="row"><text class="label">与我司合作时间</text><text class="value">{{ form.cooperationStartDate }}</text>  
80 - </view>  
81 - <view class="row"><text class="label">月均操作量</text><text class="value">{{ form.monthlyAvgVolume }}</text>  
82 - </view>  
83 - <view class="row"><text class="label">是否口头协议操作</text><text class="value">{{ form.isVerbalAgreement }}</text>  
84 - </view>  
85 - <view class="row"><text class="label">是否签订其他协议</text><text class="value">{{ form.otherAgreements }}</text>  
86 - </view>  
87 - <view class="row"><text class="label">与我司操作是否签订长年合同</text><text class="value">{{ form.hasLongTermContract  
88 - }}</text></view>  
89 - <view class="row"><text class="label">合同类型</text><text class="value">{{ form.contractType }}</text></view>  
90 - <view class="row"><text class="label">是否有过中断及中断原因</text><text class="value">{{ form.hasInterruption }}</text>  
91 - </view>  
92 - </view>  
93 -  
94 - <view class="title-header">  
95 - <image class="title-header_icon" src="/static/images/title.png" />  
96 - <span>办事处意见</span>  
97 - </view>  
98 - <view class="section">  
99 - <view class="row"><text class="label">建议客户分类</text>  
100 - <text class="value">  
101 - <text  
102 - :class="[form.suggestedCategory ? 'category' : '', getCategoryClass(getDicName('CUSTOMER_CATEGORY', form.suggestedCategory, categoryOptions))]">{{  
103 - getDicName('CUSTOMER_CATEGORY', form.suggestedCategory, categoryOptions) }}</text>  
104 - </text>  
105 - </view>  
106 - <view class="row"><text class="label">授信额度</text><text class="value">{{ form.creditLimit }} 万元</text></view>  
107 - <view class="row"><text class="label">结算期限</text><text class="value">{{ form.settlementPeriod }}</text></view>  
108 - <view class="row"><text class="label">加工操作方案</text><text class="value">{{ form.materialSupplyPlan }}</text>  
109 - </view>  
110 - <view class="row"><text class="label">调查人</text><text class="value">{{ form.investigatorName }}</text></view>  
111 - <view class="row"><text class="label">审核主管</text><text class="value">{{ form.supervisorReviewName }}</text>  
112 - </view>  
113 - </view>  
114 -  
115 - <view class="title-header">  
116 - <image class="title-header_icon" src="/static/images/title.png" />  
117 - <span>职能核对</span>  
118 - </view>  
119 - <view class="section">  
120 - <view class="row"><text class="label">年度总销量</text><text class="value">{{ form.annualTotalSales }}</text>  
121 - </view>  
122 - <view class="row"><text class="label">主要行业</text><text class="value">{{ form.mainIndustry }}</text></view>  
123 - <view class="row"><text class="label">年度款料概况</text><text class="value">{{ form.annualMaterialOverview  
124 - }}</text></view>  
125 - </view>  
126 -  
127 - <view class="title-header">  
128 - <image class="title-header_icon" src="/static/images/title.png" />  
129 - <span>公司评审</span>  
130 - </view>  
131 - <view class="section">  
132 - <view class="row"><text class="label">客户分类</text>  
133 - <text class="value">  
134 - <text  
135 - :class="[form.companySuggestedCategory ? 'category' : '', getCategoryClass(getDicName('CUSTOMER_CATEGORY', form.companySuggestedCategory, categoryOptions))]">{{  
136 - getDicName('CUSTOMER_CATEGORY', form.companySuggestedCategory, categoryOptions) }}</text>  
137 - </text>  
138 - </view>  
139 - <view class="row"><text class="label">授信额度</text><text class="value">{{ form.companyCreditLimit }} 万元</text>  
140 - </view>  
141 - <view class="row"><text class="label">结算期限</text><text class="value">{{ form.companySettlementPeriod }}</text>  
142 - </view>  
143 - <view class="row"><text class="label">加工操作方案</text><text class="value">{{ form.companyMaterialSupplyPlan  
144 - }}</text></view>  
145 - </view>  
146 -  
147 - <view class="title-header">  
148 - <image class="title-header_icon" src="/static/images/title.png" />  
149 - <span>变更记录</span>  
150 - </view>  
151 - <view class="section">  
152 - <view class="history-header">  
153 - <text class="col col1">序号</text>  
154 - <text class="col col2">变更时间</text>  
155 - <text class="col col3">操作</text>  
156 - </view>  
157 - <view v-for="(h, i) in historyList" :key="(h && (h.id || h.code)) || i" class="history-row">  
158 - <text class="col col1">{{ i + 1 }}</text>  
159 - <text class="col col2">{{ h.createTime || '' }}</text>  
160 - <text class="col col3 link" @click="onViewHistory(h)">查看</text>  
161 - </view>  
162 - </view>  
163 - </view>  
164 - </scroll-view>  
165 - </view>  
166 -</template>  
167 -  
168 -<script>  
169 -import { getExamineById, getByIdExamineCustomerCreditHistoryList } from '@/api/credit_manage.js'  
170 -import { getDicName } from '@/utils/dic.js'  
171 -import { getDicByCodeApi } from '@/api/base.js'  
172 -import CorePersonnel from './corePersonnel.vue'  
173 -  
174 -export default {  
175 - name: 'CustomerCreditViewer',  
176 - props: { id: { type: [String, Number], default: '' } },  
177 - components: { CorePersonnel },  
178 - data() {  
179 - return {  
180 - form: {},  
181 - enterpriseTypeOptions: [],  
182 - genderOptions: [],  
183 - categoryOptions: [],  
184 - historyList: []  
185 - }  
186 - },  
187 - created() {  
188 - this.loadEnterpriseTypeOptions()  
189 - this.loadGenderOptions()  
190 - this.loadCategoryOptions()  
191 - },  
192 - watch: {  
193 - id: {  
194 - immediate: true,  
195 - handler(val) {  
196 - const v = (val !== undefined && val !== null) ? String(val) : ''  
197 - if (v) this.loadDetail(v)  
198 - }  
199 - }  
200 - },  
201 - methods: {  
202 - async loadDetail(id) {  
203 - try {  
204 - const res = await getExamineById(id)  
205 - const data = res.data || {}  
206 - this.form = { ...data }  
207 - const cid = this.form.id || this.form.code || id  
208 - if (cid) this.loadHistoryList(cid)  
209 - } catch (e) {  
210 - this.form = {}  
211 - }  
212 - },  
213 - async loadEnterpriseTypeOptions() {  
214 - try {  
215 - const res = await getDicByCodeApi('ENTERPRISE_TYPE')  
216 - const list = res.data || []  
217 - this.enterpriseTypeOptions = Array.isArray(list) ? list : []  
218 - } catch (e) {  
219 - this.enterpriseTypeOptions = []  
220 - }  
221 - },  
222 - async loadGenderOptions() {  
223 - try {  
224 - const res = await getDicByCodeApi('GENDER_TYPE')  
225 - const list = res.data || []  
226 - this.genderOptions = Array.isArray(list) ? list : []  
227 - } catch (e) {  
228 - this.genderOptions = []  
229 - }  
230 - },  
231 - async loadCategoryOptions() {  
232 - try {  
233 - const res = await getDicByCodeApi('CUSTOMER_CATEGORY')  
234 - const list = res.data || []  
235 - this.categoryOptions = Array.isArray(list) ? list : []  
236 - } catch (e) {  
237 - this.categoryOptions = []  
238 - }  
239 - },  
240 - async loadHistoryList(creditId) {  
241 - try {  
242 - const res = await getByIdExamineCustomerCreditHistoryList(creditId)  
243 - const _data = res.data || []  
244 - this.historyList = Array.isArray(_data) ? _data : []  
245 - } catch (e) {  
246 - this.historyList = []  
247 - }  
248 - },  
249 - onViewHistory(item) {  
250 - const id = item && (item.id)  
251 - if (!id) return  
252 - const query = '?id=' + encodeURIComponent(id)  
253 - uni.navigateTo({ url: '/pages/credit_manage/history_detail' + query })  
254 - },  
255 - getDicName,  
256 - getCategoryClass(categoryName) {  
257 - if (!categoryName) return ''  
258 - if (categoryName.includes('A') || categoryName.includes('a')) {  
259 - return 'category_A'  
260 - } else if (categoryName.includes('B') || categoryName.includes('b')) {  
261 - return 'category_B'  
262 - } else if (categoryName.includes('C') || categoryName.includes('c')) {  
263 - return 'category_C'  
264 - } else if (categoryName.includes('D') || categoryName.includes('d')) {  
265 - return 'category_D'  
266 - }  
267 - }  
268 - }  
269 -}  
270 -</script>  
271 -  
272 -<style lang="scss" scoped>  
273 -.page {  
274 - display: flex;  
275 - flex-direction: column;  
276 - height: 100%;  
277 -}  
278 -  
279 -.scroll {  
280 - flex: 1;  
281 - padding-bottom: 12rpx;  
282 -}  
283 -  
284 -.detail-page {  
285 - background: #f3f3f3;  
286 -}  
287 -  
288 -.section {  
289 - padding: 32rpx;  
290 - background: #fff;  
291 - margin-bottom: 20rpx;  
292 - position: relative;  
293 -  
294 - .row {  
295 - display: flex;  
296 - margin-bottom: 28rpx;  
297 -  
298 - &:last-child {  
299 - margin-bottom: 0;  
300 - }  
301 -  
302 - &.company {  
303 - font-size: 36rpx;  
304 - font-weight: 600;  
305 - color: rgba(0, 0, 0, 0.9);  
306 - }  
307 -  
308 - .label {  
309 - max-width: 420rpx;  
310 - line-height: 32rpx;  
311 - font-size: 28rpx;  
312 - color: rgba(0, 0, 0, 0.6);  
313 - }  
314 -  
315 - .value {  
316 - flex: 1;  
317 - line-height: 32rpx;  
318 - font-size: 28rpx;  
319 - color: rgba(0, 0, 0, 0.9);  
320 - text-align: right;  
321 -  
322 - .category {  
323 - display: inline-block;  
324 - padding: 4rpx 12rpx;  
325 - border-radius: 6rpx;  
326 - font-size: 24rpx;  
327 - width: auto;  
328 -  
329 - &.category_A {  
330 - background: #FFF0ED;  
331 - color: #D54941;  
332 - }  
333 -  
334 - &.category_B {  
335 - background: #FFF1E9;  
336 - color: #E37318;  
337 - }  
338 -  
339 - &.category_C {  
340 - background: #F2F3FF;  
341 - color: $theme-primary;  
342 - }  
343 -  
344 - &.category_D {  
345 - background: #E3F9E9;  
346 - color: #2BA471;  
347 - }  
348 - }  
349 - }  
350 -  
351 - .act {  
352 - color: $theme-primary;  
353 - }  
354 - }  
355 -}  
356 -  
357 -.title-header {  
358 - background-color: #fff;  
359 - display: flex;  
360 - align-items: center;  
361 - padding: 32rpx 32rpx 22rpx;  
362 - border-bottom: 1rpx dashed #f0f0f0;  
363 -  
364 - &_icon {  
365 - width: 32rpx;  
366 - height: 28rpx;  
367 - margin-right: 16rpx;  
368 - }  
369 -  
370 - span {  
371 - color: rgba(0, 0, 0, 0.9);  
372 - font-size: 32rpx;  
373 - line-height: 44rpx;  
374 - font-weight: 600;  
375 - }  
376 -}  
377 -  
378 -.history-header {  
379 - display: flex;  
380 - margin-bottom: 20rpx;  
381 - font-size: 28rpx;  
382 - color: rgba(0, 0, 0, 0.6);  
383 -  
384 - .col1 {  
385 - width: 120rpx;  
386 - }  
387 -  
388 - .col2 {  
389 - flex: 1;  
390 - text-align: center;  
391 - }  
392 -  
393 - .col3 {  
394 - width: 160rpx;  
395 - text-align: right;  
396 - }  
397 -}  
398 -  
399 -.history-row {  
400 - display: flex;  
401 - align-items: center;  
402 - margin-bottom: 16rpx;  
403 - font-size: 28rpx;  
404 -  
405 - .col1 {  
406 - width: 120rpx;  
407 - }  
408 -  
409 - .col2 {  
410 - flex: 1;  
411 - text-align: center;  
412 - }  
413 -  
414 - .col3 {  
415 - width: 160rpx;  
416 - text-align: right;  
417 - }  
418 -  
419 - .link {  
420 - color: $theme-primary;  
421 - }  
422 -}  
423 -  
424 -.mgb10 {  
425 - margin-bottom: 20rpx;  
426 -}  
427 -</style>  
1 import CustomerDevelopViewer from '@/pages/dev_manage/viewer.vue' 1 import CustomerDevelopViewer from '@/pages/dev_manage/viewer.vue'
2 -import CustomerCreditViewer from '@/pages/credit_manage/viewer.vue'  
3 import CustomerCreditApprove from '@/pages/credit_manage/approve.vue' 2 import CustomerCreditApprove from '@/pages/credit_manage/approve.vue'
4 3
5 export default function registerComponents(Vue) { 4 export default function registerComponents(Vue) {
6 Vue.component('CustomerDevelopViewer', CustomerDevelopViewer) 5 Vue.component('CustomerDevelopViewer', CustomerDevelopViewer)
7 - Vue.component('CustomerCreditViewer', CustomerCreditViewer)  
8 Vue.component('CustomerCreditApprove', CustomerCreditApprove) 6 Vue.component('CustomerCreditApprove', CustomerCreditApprove)
9 } 7 }
@@ -9,7 +9,7 @@ export const getSysFlowComponentPath = (bizFlag) => { @@ -9,7 +9,7 @@ export const getSysFlowComponentPath = (bizFlag) => {
9 componentPath = 'CustomerDevelopViewer'; // 客户开发-审批 9 componentPath = 'CustomerDevelopViewer'; // 客户开发-审批
10 break; 10 break;
11 case 'CUSTOMER_CREDIT': // 客户资信 11 case 'CUSTOMER_CREDIT': // 客户资信
12 - componentPath = 'CustomerCreditViewer'; // 客户资信-审批详情 12 + componentPath = 'CustomerCreditApprove'; // 客户资信-审批详情
13 break; 13 break;
14 case 'CUSTOMER_CREDIT_EDIT': // 客户资信 14 case 'CUSTOMER_CREDIT_EDIT': // 客户资信
15 componentPath = 'CustomerCreditApprove'; // 客户资信-审批 15 componentPath = 'CustomerCreditApprove'; // 客户资信-审批