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>
\ No newline at end of file
1 1 import CustomerDevelopViewer from '@/pages/dev_manage/viewer.vue'
2   -import CustomerCreditViewer from '@/pages/credit_manage/viewer.vue'
3 2 import CustomerCreditApprove from '@/pages/credit_manage/approve.vue'
4 3
5 4 export default function registerComponents(Vue) {
6 5 Vue.component('CustomerDevelopViewer', CustomerDevelopViewer)
7   - Vue.component('CustomerCreditViewer', CustomerCreditViewer)
8 6 Vue.component('CustomerCreditApprove', CustomerCreditApprove)
9 7 }
\ No newline at end of file
... ...
... ... @@ -9,7 +9,7 @@ export const getSysFlowComponentPath = (bizFlag) => {
9 9 componentPath = 'CustomerDevelopViewer'; // 客户开发-审批
10 10 break;
11 11 case 'CUSTOMER_CREDIT': // 客户资信
12   - componentPath = 'CustomerCreditViewer'; // 客户资信-审批详情
  12 + componentPath = 'CustomerCreditApprove'; // 客户资信-审批详情
13 13 break;
14 14 case 'CUSTOMER_CREDIT_EDIT': // 客户资信
15 15 componentPath = 'CustomerCreditApprove'; // 客户资信-审批
... ...