@nstc-business/tbm 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +5 -3
- package/src/components/invoiceDetail/index.vue +6 -6
- package/src/components/invoiceDetail/invoiceLog.vue +15 -15
- package/src/components/invoiceDetail/invoiceTemplateDetail.vue +2 -2
- package/src/components/invoiceDetail/occupationLog.vue +9 -6
- package/src/components/invoiceDetail/quotaInfor.vue +28 -22
- package/src/components/test/index.js +8 -0
- package/src/components/test/src/index.vue +28 -0
- package/src/index.js +24 -0
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nstc-business/tbm",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"private": false,
|
|
5
|
+
"main": "src/index.js",
|
|
5
6
|
"scripts": {
|
|
6
7
|
"serve": "vue-cli-service serve",
|
|
7
8
|
"test": "vue-cli-service serve --test",
|
|
@@ -17,10 +18,10 @@
|
|
|
17
18
|
"dependencies": {
|
|
18
19
|
"axios": "^0.21.4",
|
|
19
20
|
"core-js": "^3.6.5",
|
|
20
|
-
"numerify": "*",
|
|
21
21
|
"dayjs": "^1.10.7",
|
|
22
22
|
"el-table-draggable": "^1.4.4",
|
|
23
23
|
"element-ui": "^2.15.6",
|
|
24
|
+
"numerify": "*",
|
|
24
25
|
"n20-common-lib": "2.7.57",
|
|
25
26
|
"vxe-table": "^3.6.17",
|
|
26
27
|
"qrcode": "^1.5.0",
|
|
@@ -31,7 +32,8 @@
|
|
|
31
32
|
"vuex": "^3.6.2"
|
|
32
33
|
},
|
|
33
34
|
"files": [
|
|
34
|
-
"src/components"
|
|
35
|
+
"src/components",
|
|
36
|
+
"src/index.js"
|
|
35
37
|
],
|
|
36
38
|
"devDependencies": {
|
|
37
39
|
"@babel/plugin-proposal-optional-chaining": "^7.14.5",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
<
|
|
2
|
+
<N20-dialog v-drag width="80%" :destroy-on-close="true" max-dialog :visible.sync="invoiceVisible" title="发票详情">
|
|
3
|
+
<N20-page>
|
|
4
4
|
<template slot="header">
|
|
5
|
-
<
|
|
5
|
+
<N20-tertiary-tab class="m-b-s m-t-s" :init.sync="name" :data="tabList" @click="clickTab" />
|
|
6
6
|
</template>
|
|
7
7
|
<div class="wrapperCss">
|
|
8
8
|
<template v-if="name === '发票信息'">
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
<div class="wrapperRight">
|
|
15
15
|
<iframe class="invoiceImg" :src="'/api/onlinePreview?beid=' + beid" frameborder="0" v-if="beid"></iframe>
|
|
16
|
-
<
|
|
16
|
+
<N20-empty :type="`empty`" content="暂无图片" :width="400" v-else></N20-empty>
|
|
17
17
|
</div>
|
|
18
18
|
</div>
|
|
19
19
|
</template>
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
<invoiceLog :sourceId="query.invoiceId" v-if="name === '发票操作记录'"></invoiceLog>
|
|
28
28
|
</div>
|
|
29
29
|
</div>
|
|
30
|
-
</
|
|
31
|
-
</
|
|
30
|
+
</N20-page>
|
|
31
|
+
</N20-dialog>
|
|
32
32
|
</template>
|
|
33
33
|
|
|
34
34
|
<script>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<!--发票操作记录-->
|
|
2
2
|
<template>
|
|
3
|
-
<
|
|
3
|
+
<N20-page>
|
|
4
4
|
<div slot="header">
|
|
5
5
|
<div class="row_between_center m-b-s m-t-s flex-box">
|
|
6
6
|
<div class="row_start_center">
|
|
7
7
|
<el-form :inline="true" @submit.native.prevent>
|
|
8
8
|
<el-form-item label="操作日期">
|
|
9
|
-
<
|
|
9
|
+
<N20-date-picker-por
|
|
10
10
|
:start-date.sync="filterData.starDate"
|
|
11
11
|
:end-date.sync="filterData.endDate"
|
|
12
12
|
type="daterange"
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
</div>
|
|
20
20
|
</div>
|
|
21
21
|
</div>
|
|
22
|
-
<
|
|
22
|
+
<N20-table-pro
|
|
23
23
|
ref="table"
|
|
24
24
|
:data="tableData"
|
|
25
25
|
:show-setsize="true"
|
|
@@ -36,18 +36,18 @@
|
|
|
36
36
|
<div style="color: var(--color-primary); cursor: pointer" @click="viewDetail(row)">详情</div>
|
|
37
37
|
</template>
|
|
38
38
|
</vxe-column>
|
|
39
|
-
</
|
|
39
|
+
</N20-table-pro>
|
|
40
40
|
|
|
41
41
|
<div slot="footer" class="flex-box flex-lr m-t-s">
|
|
42
42
|
<div></div>
|
|
43
|
-
<
|
|
43
|
+
<N20-pagination
|
|
44
44
|
:page-obj="page"
|
|
45
45
|
:page-key="{ no: 'current', size: 'pageSize', total: 'totalSize' }"
|
|
46
46
|
:page-sizes="[200, 400, 600, 800]"
|
|
47
47
|
@change="getList"
|
|
48
48
|
/>
|
|
49
49
|
</div>
|
|
50
|
-
<
|
|
50
|
+
<N20-dialog
|
|
51
51
|
:title="title + '详情'"
|
|
52
52
|
:visible.sync="contractVisible"
|
|
53
53
|
append-to-body
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
top="10vh"
|
|
57
57
|
width="60%"
|
|
58
58
|
>
|
|
59
|
-
<
|
|
59
|
+
<N20-page heght="100%">
|
|
60
60
|
<div slot="header" class="m-b-s">
|
|
61
61
|
<span>操作类型:</span>
|
|
62
62
|
<span class="color-warning">{{ title }}</span>
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
<span>操作时间:</span>
|
|
65
65
|
<span class="color-warning">{{ optTime }}</span>
|
|
66
66
|
</div>
|
|
67
|
-
<
|
|
67
|
+
<N20-table-pro
|
|
68
68
|
:data="contractTableData"
|
|
69
69
|
:show-setsize="true"
|
|
70
70
|
height="350px"
|
|
@@ -81,25 +81,25 @@
|
|
|
81
81
|
<span v-else>{{ row[column.prop] | toThousands }}</span>
|
|
82
82
|
</template>
|
|
83
83
|
</vxe-column>
|
|
84
|
-
</
|
|
85
|
-
</
|
|
84
|
+
</N20-table-pro>
|
|
85
|
+
</N20-page>
|
|
86
86
|
<div slot="footer" class="flex-box flex-lr m-t-s">
|
|
87
87
|
<div class="row_start_center">
|
|
88
|
-
<
|
|
88
|
+
<N20-statis-item type="全部合计" :list="[{ label: '笔数', value: contractPage.totalSize }]" />
|
|
89
89
|
</div>
|
|
90
|
-
<
|
|
90
|
+
<N20-pagination
|
|
91
91
|
:page-obj="contractPage"
|
|
92
92
|
:page-key="{ no: 'current', size: 'pageSize', total: 'totalSize' }"
|
|
93
93
|
:page-sizes="[200, 400, 600, 800]"
|
|
94
94
|
@change="viewDetail(row)"
|
|
95
95
|
/>
|
|
96
96
|
</div>
|
|
97
|
-
</
|
|
98
|
-
</
|
|
97
|
+
</N20-dialog>
|
|
98
|
+
</N20-page>
|
|
99
99
|
</template>
|
|
100
100
|
|
|
101
101
|
<script>
|
|
102
|
-
import
|
|
102
|
+
import dayjs from 'dayjs'
|
|
103
103
|
export default {
|
|
104
104
|
components: {},
|
|
105
105
|
props: {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
</span>
|
|
10
10
|
</template>
|
|
11
11
|
<template v-else-if="type == 'cldiff'">
|
|
12
|
-
<
|
|
12
|
+
<N20-diff
|
|
13
13
|
:value="valueFormat(item, value)"
|
|
14
14
|
:old-value="valueFormat(item, oldFormData)"
|
|
15
15
|
:tooltip="oldFormData?.submiterName + oldFormData?.submitDate + '修改'"
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
</el-descriptions>
|
|
22
22
|
</template>
|
|
23
23
|
<script>
|
|
24
|
-
import
|
|
24
|
+
import numerify from 'numerify'
|
|
25
25
|
export default {
|
|
26
26
|
watch: {
|
|
27
27
|
'value.contractType': {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<!--占用释放记录-->
|
|
2
2
|
<template>
|
|
3
|
-
<
|
|
3
|
+
<N20-page class="occupation">
|
|
4
4
|
<div slot="header" class="m-b-s">
|
|
5
5
|
<div class="row_between_center m-t-s flex-box">
|
|
6
6
|
<el-form :inline="true" @submit.native.prevent>
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
</div>
|
|
25
25
|
</div>
|
|
26
26
|
</div>
|
|
27
|
-
<
|
|
27
|
+
<N20-table-pro
|
|
28
28
|
ref="table"
|
|
29
29
|
:data="tableData"
|
|
30
30
|
:show-setsize="true"
|
|
@@ -33,10 +33,11 @@
|
|
|
33
33
|
:columns="columns"
|
|
34
34
|
@sort-change-method="sortChange"
|
|
35
35
|
@filter-change-method="filterChange"
|
|
36
|
+
:key="key"
|
|
36
37
|
/>
|
|
37
38
|
<div slot="footer" class="flex-box flex-lr m-t-s">
|
|
38
39
|
<div class="flex-box flex-v">
|
|
39
|
-
<
|
|
40
|
+
<N20-statis-item
|
|
40
41
|
type="全部合计"
|
|
41
42
|
:countLabel="['笔数']"
|
|
42
43
|
:list="[
|
|
@@ -46,14 +47,14 @@
|
|
|
46
47
|
]"
|
|
47
48
|
/>
|
|
48
49
|
</div>
|
|
49
|
-
<
|
|
50
|
+
<N20-pagination
|
|
50
51
|
:page-obj="page"
|
|
51
52
|
:page-key="{ no: 'current', size: 'pageSize', total: 'totalSize' }"
|
|
52
53
|
:page-sizes="[200, 400, 600, 800]"
|
|
53
54
|
@change="getList"
|
|
54
55
|
/>
|
|
55
56
|
</div>
|
|
56
|
-
</
|
|
57
|
+
</N20-page>
|
|
57
58
|
</template>
|
|
58
59
|
|
|
59
60
|
<script>
|
|
@@ -203,7 +204,8 @@ export default {
|
|
|
203
204
|
current: 1,
|
|
204
205
|
pageSize: 200,
|
|
205
206
|
totalSize: 0
|
|
206
|
-
}
|
|
207
|
+
},
|
|
208
|
+
key: 0
|
|
207
209
|
}
|
|
208
210
|
},
|
|
209
211
|
mounted() {
|
|
@@ -262,6 +264,7 @@ export default {
|
|
|
262
264
|
return obj
|
|
263
265
|
})
|
|
264
266
|
}
|
|
267
|
+
this.key++
|
|
265
268
|
},
|
|
266
269
|
filterChange(filters) {
|
|
267
270
|
Object.keys(filters).forEach(key => {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<N20-page>
|
|
3
3
|
<div v-if="type === 'contract'">
|
|
4
|
-
<
|
|
4
|
+
<N20-expandable-pane class="m-t-s" title="付方额度信息">
|
|
5
5
|
<div v-for="(item, index) in payQuotas" :key="index">
|
|
6
|
-
<
|
|
6
|
+
<N20-descriptions>
|
|
7
7
|
<el-descriptions-item label="付方">
|
|
8
8
|
<template slot="label">
|
|
9
9
|
<span class="m-r-s">付方</span>
|
|
@@ -72,8 +72,8 @@
|
|
|
72
72
|
</el-link>
|
|
73
73
|
<span v-else>--</span>
|
|
74
74
|
</el-descriptions-item>
|
|
75
|
-
</
|
|
76
|
-
<
|
|
75
|
+
</N20-descriptions>
|
|
76
|
+
<N20-descriptions>
|
|
77
77
|
<el-descriptions-item label="合同总额度">
|
|
78
78
|
<span>{{ item.contractAmountSum | toThousands }}</span>
|
|
79
79
|
</el-descriptions-item>
|
|
@@ -125,12 +125,12 @@
|
|
|
125
125
|
<el-descriptions-item label="发票剩余可用金额">
|
|
126
126
|
<span>{{ item.invoiceAvailableAmountSum | toThousands }}</span>
|
|
127
127
|
</el-descriptions-item>
|
|
128
|
-
</
|
|
128
|
+
</N20-descriptions>
|
|
129
129
|
</div>
|
|
130
|
-
</
|
|
131
|
-
<
|
|
130
|
+
</N20-expandable-pane>
|
|
131
|
+
<N20-expandable-pane class="m-t-s" title="收方额度信息" v-if="recQuotas.length">
|
|
132
132
|
<div v-for="(item, index) in recQuotas" :key="index">
|
|
133
|
-
<
|
|
133
|
+
<N20-descriptions>
|
|
134
134
|
<el-descriptions-item label="付方">
|
|
135
135
|
<template slot="label">
|
|
136
136
|
<span class="m-r-s">付方</span>
|
|
@@ -203,8 +203,8 @@
|
|
|
203
203
|
</el-link>
|
|
204
204
|
<span v-else>--</span>
|
|
205
205
|
</el-descriptions-item>
|
|
206
|
-
</
|
|
207
|
-
<
|
|
206
|
+
</N20-descriptions>
|
|
207
|
+
<N20-descriptions>
|
|
208
208
|
<el-descriptions-item label="合同总额度">
|
|
209
209
|
<span>{{ item.contractAmountSum | toThousands }}</span>
|
|
210
210
|
</el-descriptions-item>
|
|
@@ -260,14 +260,14 @@
|
|
|
260
260
|
<el-descriptions-item label="发票剩余可用金额">
|
|
261
261
|
<span>{{ item.invoiceAvailableAmountSum | toThousands }}</span>
|
|
262
262
|
</el-descriptions-item>
|
|
263
|
-
</
|
|
263
|
+
</N20-descriptions>
|
|
264
264
|
</div>
|
|
265
|
-
</
|
|
265
|
+
</N20-expandable-pane>
|
|
266
266
|
</div>
|
|
267
267
|
<div v-else-if="type === 'invoice'">
|
|
268
|
-
<
|
|
268
|
+
<N20-expandable-pane class="m-t-s" title="购买方额度信息">
|
|
269
269
|
<div v-for="(item, index) in payQuotas" :key="index">
|
|
270
|
-
<
|
|
270
|
+
<N20-descriptions>
|
|
271
271
|
<el-descriptions-item label="购买方">
|
|
272
272
|
<span class="color-warning">
|
|
273
273
|
<span v-if="item.payerNo">{{ `(${item.payerNo})` }}</span>
|
|
@@ -318,12 +318,12 @@
|
|
|
318
318
|
</el-link>
|
|
319
319
|
<span v-else>--</span>
|
|
320
320
|
</el-descriptions-item>
|
|
321
|
-
</
|
|
321
|
+
</N20-descriptions>
|
|
322
322
|
</div>
|
|
323
|
-
</
|
|
324
|
-
<
|
|
323
|
+
</N20-expandable-pane>
|
|
324
|
+
<N20-expandable-pane class="m-t-s" title="销售方额度信息" v-if="recQuotas.length">
|
|
325
325
|
<div v-for="(item, index) in recQuotas" :key="index">
|
|
326
|
-
<
|
|
326
|
+
<N20-descriptions>
|
|
327
327
|
<el-descriptions-item label="购买方">
|
|
328
328
|
<span v-if="item.payerNo">{{ `(${item.payerNo})` }}</span>
|
|
329
329
|
<span>{{ item.payerName || '--' }}</span>
|
|
@@ -374,16 +374,22 @@
|
|
|
374
374
|
</el-link>
|
|
375
375
|
<span v-else>--</span>
|
|
376
376
|
</el-descriptions-item>
|
|
377
|
-
</
|
|
377
|
+
</N20-descriptions>
|
|
378
378
|
</div>
|
|
379
|
-
</
|
|
379
|
+
</N20-expandable-pane>
|
|
380
380
|
</div>
|
|
381
|
-
</
|
|
381
|
+
</N20-page>
|
|
382
382
|
</template>
|
|
383
383
|
|
|
384
384
|
<script>
|
|
385
|
+
import numerify from 'numerify'
|
|
385
386
|
export default {
|
|
386
387
|
components: {},
|
|
388
|
+
filter: {
|
|
389
|
+
toThousands(val) {
|
|
390
|
+
return numerify(val, '0,0.00')
|
|
391
|
+
}
|
|
392
|
+
},
|
|
387
393
|
props: {
|
|
388
394
|
tradeId: {
|
|
389
395
|
type: [String, Number],
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<!-- <span>测试组件</span> -->
|
|
4
|
+
<el-button type="primary" @click="setInfo">发票详情</el-button>
|
|
5
|
+
<!-- 发票详情组件 -->
|
|
6
|
+
<invoiceDetail ref="invoiceDetail"></invoiceDetail>
|
|
7
|
+
</div>
|
|
8
|
+
</template>
|
|
9
|
+
|
|
10
|
+
<script>
|
|
11
|
+
import invoiceDetail from '@/components/invoiceDetail'
|
|
12
|
+
export default {
|
|
13
|
+
name: 'Test',
|
|
14
|
+
components: {
|
|
15
|
+
invoiceDetail
|
|
16
|
+
},
|
|
17
|
+
data() {
|
|
18
|
+
return {}
|
|
19
|
+
},
|
|
20
|
+
methods: {
|
|
21
|
+
setInfo() {
|
|
22
|
+
this.$refs['invoiceDetail'].setInfo({ invoiceId: 275 })
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<style lang="less" scoped></style>
|
package/src/index.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// 组件导入
|
|
2
|
+
import Test from './components/test/index.js'
|
|
3
|
+
|
|
4
|
+
const components = [Test]
|
|
5
|
+
|
|
6
|
+
const install = function (Vue, options = { prefix: '' }) {
|
|
7
|
+
components.forEach(component => {
|
|
8
|
+
let name = component.name
|
|
9
|
+
if (!name) return console.error('必须设置组件名称:', component)
|
|
10
|
+
name = options.prefix + name.replace(name[0], name[0].toUpperCase())
|
|
11
|
+
Vue.component(name, component)
|
|
12
|
+
})
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/* istanbul ignore if */
|
|
16
|
+
if (typeof window !== 'undefined' && window.Vue) {
|
|
17
|
+
install(window.Vue)
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default {
|
|
21
|
+
version: '0.1.0',
|
|
22
|
+
install,
|
|
23
|
+
Test
|
|
24
|
+
}
|