@nstc-business/tbm 1.0.5 → 1.0.7

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 CHANGED
@@ -1,81 +1,81 @@
1
- {
2
- "name": "@nstc-business/tbm",
3
- "version": "1.0.5",
4
- "private": false,
5
- "main": "src/index.js",
6
- "scripts": {
7
- "serve": "vue-cli-service serve",
8
- "test": "vue-cli-service serve --test",
9
- "deadcode": "vue-cli-service serve --seecode",
10
- "analy": "vue-cli-service build --analy",
11
- "getI18n": "node ./node_modules/nstc-get-i18n",
12
- "format": "prettier --write \"./**/*.{html,vue,ts,js,json,md}\"",
13
- "build": "vue-cli-service build"
14
- },
15
- "publishConfig": {
16
- "access": "public"
17
- },
18
- "dependencies": {
19
- "axios": "^0.21.4",
20
- "core-js": "^3.6.5",
21
- "dayjs": "^1.10.7",
22
- "el-table-draggable": "^1.4.4",
23
- "element-ui": "^2.15.6",
24
- "numerify": "*",
25
- "n20-common-lib": "2.7.57",
26
- "vxe-table": "^3.6.17",
27
- "qrcode": "^1.5.0",
28
- "resize-detector": "^0.3.0",
29
- "vue": "^2.6.11",
30
- "vue-router": "^3.5.2",
31
- "vuedraggable": "^2.24.3",
32
- "vuex": "^3.6.2"
33
- },
34
- "files": [
35
- "src/components",
36
- "src/index.js"
37
- ],
38
- "devDependencies": {
39
- "@babel/plugin-proposal-optional-chaining": "^7.14.5",
40
- "@babel/plugin-transform-flow-comments": "^7.14.5",
41
- "@vue/cli-plugin-babel": "~4.5.0",
42
- "@vue/cli-plugin-eslint": "~4.5.0",
43
- "@vue/cli-service": "~4.5.0",
44
- "@vue/compiler-sfc": "^3.0.0-rc.6",
45
- "babel-eslint": "^10.1.0",
46
- "babel-plugin-component": "^1.1.1",
47
- "compression-webpack-plugin": "^3.1.0",
48
- "copy-webpack-plugin": "^6.4.1",
49
- "eslint": "^6.7.2",
50
- "prettier": "^3.0.3",
51
- "husky": "^8.0.0",
52
- "eslint-plugin-vue": "^6.2.2",
53
- "less": "^3.12.2",
54
- "nstc-gitinfo": "^0.0.9",
55
- "nstc-get-i18n": "^0.0.3",
56
- "less-loader": "^7.0.0",
57
- "vue-template-compiler": "^2.6.11",
58
- "webpack": "^4.46.0",
59
- "webpack-bundle-analyzer": "^3.9.0",
60
- "webpack-deadcode-plugin": "^0.1.15"
61
- },
62
- "eslintConfig": {
63
- "root": true,
64
- "env": {
65
- "node": true
66
- },
67
- "extends": [
68
- "plugin:vue/essential",
69
- "eslint:recommended"
70
- ],
71
- "parserOptions": {
72
- "parser": "babel-eslint"
73
- },
74
- "rules": {}
75
- },
76
- "browserslist": [
77
- "> 1%",
78
- "last 2 versions",
79
- "not dead"
80
- ]
81
- }
1
+ {
2
+ "name": "@nstc-business/tbm",
3
+ "version": "1.0.7",
4
+ "private": false,
5
+ "main": "src/index.js",
6
+ "scripts": {
7
+ "serve": "vue-cli-service serve",
8
+ "test": "vue-cli-service serve --test",
9
+ "deadcode": "vue-cli-service serve --seecode",
10
+ "analy": "vue-cli-service build --analy",
11
+ "getI18n": "node ./node_modules/nstc-get-i18n",
12
+ "format": "prettier --write \"./**/*.{html,vue,ts,js,json,md}\"",
13
+ "build": "vue-cli-service build"
14
+ },
15
+ "publishConfig": {
16
+ "access": "public"
17
+ },
18
+ "dependencies": {
19
+ "axios": "^0.21.4",
20
+ "core-js": "^3.6.5",
21
+ "dayjs": "^1.10.7",
22
+ "el-table-draggable": "^1.4.4",
23
+ "element-ui": "^2.15.6",
24
+ "numerify": "*",
25
+ "n20-common-lib": "2.7.57",
26
+ "vxe-table": "^3.6.17",
27
+ "qrcode": "^1.5.0",
28
+ "resize-detector": "^0.3.0",
29
+ "vue": "^2.6.11",
30
+ "vue-router": "^3.5.2",
31
+ "vuedraggable": "^2.24.3",
32
+ "vuex": "^3.6.2"
33
+ },
34
+ "files": [
35
+ "src/components",
36
+ "src/index.js"
37
+ ],
38
+ "devDependencies": {
39
+ "@babel/plugin-proposal-optional-chaining": "^7.14.5",
40
+ "@babel/plugin-transform-flow-comments": "^7.14.5",
41
+ "@vue/cli-plugin-babel": "~4.5.0",
42
+ "@vue/cli-plugin-eslint": "~4.5.0",
43
+ "@vue/cli-service": "~4.5.0",
44
+ "@vue/compiler-sfc": "^3.0.0-rc.6",
45
+ "babel-eslint": "^10.1.0",
46
+ "babel-plugin-component": "^1.1.1",
47
+ "compression-webpack-plugin": "^3.1.0",
48
+ "copy-webpack-plugin": "^6.4.1",
49
+ "eslint": "^6.7.2",
50
+ "prettier": "^3.0.3",
51
+ "husky": "^8.0.0",
52
+ "eslint-plugin-vue": "^6.2.2",
53
+ "less": "^3.12.2",
54
+ "nstc-gitinfo": "^0.0.9",
55
+ "nstc-get-i18n": "^0.0.3",
56
+ "less-loader": "^7.0.0",
57
+ "vue-template-compiler": "^2.6.11",
58
+ "webpack": "^4.46.0",
59
+ "webpack-bundle-analyzer": "^3.9.0",
60
+ "webpack-deadcode-plugin": "^0.1.15"
61
+ },
62
+ "eslintConfig": {
63
+ "root": true,
64
+ "env": {
65
+ "node": true
66
+ },
67
+ "extends": [
68
+ "plugin:vue/essential",
69
+ "eslint:recommended"
70
+ ],
71
+ "parserOptions": {
72
+ "parser": "babel-eslint"
73
+ },
74
+ "rules": {}
75
+ },
76
+ "browserslist": [
77
+ "> 1%",
78
+ "last 2 versions",
79
+ "not dead"
80
+ ]
81
+ }
@@ -1,153 +1,153 @@
1
- <template>
2
- <N20-dialog v-drag width="80%" :destroy-on-close="true" max-dialog :visible.sync="invoiceVisible" title="发票详情">
3
- <N20-page>
4
- <template slot="header">
5
- <N20-tertiary-tab class="m-b-s m-t-s" :init.sync="name" :data="tabList" @click="clickTab" />
6
- </template>
7
- <div class="wrapperCss">
8
- <template v-if="name === '发票信息'">
9
- <div class="flex-box">
10
- <div class="wrapperLeft">
11
- <invoiceTemplateDetail v-model="formData"></invoiceTemplateDetail>
12
- </div>
13
-
14
- <div class="wrapperRight">
15
- <iframe class="invoiceImg" :src="'/api/onlinePreview?beid=' + beid" frameborder="0" v-if="beid"></iframe>
16
- <N20-empty :type="`empty`" content="暂无图片" :width="400" v-else></N20-empty>
17
- </div>
18
- </div>
19
- </template>
20
-
21
- <template v-if="name === '额度占用信息'">
22
- <quotaInfor :type="'invoice'" :tradeId="query.invoiceId"></quotaInfor>
23
- </template>
24
-
25
- <div class="tableHeight">
26
- <occupationLog :invoiceId="query.invoiceId" v-if="name === '占用释放记录'"></occupationLog>
27
- <invoiceLog :sourceId="query.invoiceId" v-if="name === '发票操作记录'"></invoiceLog>
28
- </div>
29
- </div>
30
- </N20-page>
31
- </N20-dialog>
32
- </template>
33
-
34
- <script>
35
- import invoiceTemplateDetail from './invoiceTemplateDetail.vue'
36
- import quotaInfor from './quotaInfor.vue'
37
- import invoiceLog from './invoiceLog.vue'
38
- import occupationLog from './occupationLog.vue'
39
- export default {
40
- name: 'InvoiceDetail',
41
- props: {
42
- value: {
43
- require: true
44
- }
45
- },
46
- components: {
47
- quotaInfor,
48
- invoiceLog,
49
- invoiceTemplateDetail,
50
- occupationLog
51
- },
52
- data() {
53
- return {
54
- invoiceVisible: false,
55
- name: '发票信息',
56
- tabList: [{ name: '发票信息' }, { name: '额度占用信息' }, { name: '占用释放记录' }, { name: '发票操作记录' }],
57
- formData: {}, // 发票信息变量
58
- beid: '', // 发票附件fileId
59
- query: {}
60
- }
61
- },
62
- watch: {},
63
- created() {},
64
- methods: {
65
- async clickTab(item) {
66
- this.name = item.name
67
- },
68
-
69
- /**
70
- * @param data 调用示例setInfo({invoiceId:invoiceId}) invoiceId发票ID
71
- * @returns {Promise<void>} 获取发票信息并弹出发票详情窗口
72
- */
73
- setInfo(data) {
74
- this.name = '发票信息'
75
- this.formData = {}
76
- this.query = data
77
- this.setInvoice()
78
- this.invoiceVisible = true
79
- },
80
- /** 获取发票信息 */
81
- async setInvoice() {
82
- const { code, data } = await this.$axios.get(`/tbm/invoice-info/${this.query.invoiceId}`, {
83
- loading: false
84
- })
85
- if (code === 200) {
86
- this.formData = data
87
- this.beid = data?.fileId
88
- }
89
- }
90
- }
91
- }
92
- </script>
93
- <style lang="less" scoped>
94
- .wrapperCss {
95
- height: 100%;
96
- .wrapperLeft {
97
- height: 100%;
98
- width: 500px;
99
- overflow-y: scroll;
100
- }
101
- .tableHeight {
102
- height: 450px;
103
- }
104
- .n20-empty {
105
- height: 98%;
106
- padding-bottom: 0;
107
- overflow: hidden;
108
- }
109
- .wrapperRight {
110
- height: 65vh;
111
- flex: 1;
112
- .agnc {
113
- text-align: center;
114
- }
115
- .upload-wrap,
116
- .invoiceImg {
117
- position: relative;
118
- flex: 1;
119
- height: 100%;
120
- border: 1px solid #ebeef5;
121
- width: 100%;
122
- border-radius: 5px;
123
- margin-left: 20px;
124
- overflow: auto;
125
- }
126
- .rotateCss {
127
- position: absolute;
128
- bottom: 88px;
129
- right: 40px;
130
- }
131
- .upload-wrap {
132
- position: relative;
133
- & > div {
134
- position: absolute;
135
- top: 50%;
136
- left: 50%;
137
- transform: translate(-50%, -50%);
138
- width: 450px;
139
- margin: 0 auto;
140
- & > p {
141
- font-size: 12px;
142
- color: #999;
143
- }
144
- }
145
- .upload-icon {
146
- cursor: pointer;
147
- color: #008df0;
148
- font-size: 50px;
149
- }
150
- }
151
- }
152
- }
153
- </style>
1
+ <template>
2
+ <N20-dialog v-drag width="80%" :destroy-on-close="true" max-dialog :visible.sync="invoiceVisible" title="发票详情">
3
+ <N20-page>
4
+ <template slot="header">
5
+ <N20-tertiary-tab class="m-b-s m-t-s" :init.sync="name" :data="tabList" @click="clickTab" />
6
+ </template>
7
+ <div class="wrapperCss">
8
+ <template v-if="name === '发票信息'">
9
+ <div class="flex-box">
10
+ <div class="wrapperLeft">
11
+ <invoiceTemplateDetail v-model="formData"></invoiceTemplateDetail>
12
+ </div>
13
+
14
+ <div class="wrapperRight">
15
+ <iframe class="invoiceImg" :src="'/api/onlinePreview?beid=' + beid" frameborder="0" v-if="beid"></iframe>
16
+ <N20-empty :type="`empty`" content="暂无图片" :width="400" v-else></N20-empty>
17
+ </div>
18
+ </div>
19
+ </template>
20
+
21
+ <template v-if="name === '额度占用信息'">
22
+ <quotaInfor :type="'invoice'" :tradeId="query.invoiceId"></quotaInfor>
23
+ </template>
24
+
25
+ <div class="tableHeight">
26
+ <occupationLog :invoiceId="query.invoiceId" v-if="name === '关联记录'"></occupationLog>
27
+ <invoiceLog :sourceId="query.invoiceId" v-if="name === '发票操作记录'"></invoiceLog>
28
+ </div>
29
+ </div>
30
+ </N20-page>
31
+ </N20-dialog>
32
+ </template>
33
+
34
+ <script>
35
+ import invoiceTemplateDetail from './invoiceTemplateDetail.vue'
36
+ import quotaInfor from './quotaInfor.vue'
37
+ import invoiceLog from './invoiceLog.vue'
38
+ import occupationLog from './occupationLog.vue'
39
+ export default {
40
+ name: 'InvoiceDetail',
41
+ props: {
42
+ value: {
43
+ require: true
44
+ }
45
+ },
46
+ components: {
47
+ quotaInfor,
48
+ invoiceLog,
49
+ invoiceTemplateDetail,
50
+ occupationLog
51
+ },
52
+ data() {
53
+ return {
54
+ invoiceVisible: false,
55
+ name: '发票信息',
56
+ tabList: [{ name: '发票信息' }, { name: '额度占用信息' }, { name: '关联记录' }, { name: '发票操作记录' }],
57
+ formData: {}, // 发票信息变量
58
+ beid: '', // 发票附件fileId
59
+ query: {}
60
+ }
61
+ },
62
+ watch: {},
63
+ created() {},
64
+ methods: {
65
+ async clickTab(item) {
66
+ this.name = item.name
67
+ },
68
+
69
+ /**
70
+ * @param data 调用示例setInfo({invoiceId:invoiceId}) invoiceId发票ID
71
+ * @returns {Promise<void>} 获取发票信息并弹出发票详情窗口
72
+ */
73
+ setInfo(data) {
74
+ this.name = '发票信息'
75
+ this.formData = {}
76
+ this.query = data
77
+ this.setInvoice()
78
+ this.invoiceVisible = true
79
+ },
80
+ /** 获取发票信息 */
81
+ async setInvoice() {
82
+ const { code, data } = await this.$axios.get(`/tbm/invoice-info/${this.query.invoiceId}`, {
83
+ loading: false
84
+ })
85
+ if (code === 200) {
86
+ this.formData = data
87
+ this.beid = data?.fileId
88
+ }
89
+ }
90
+ }
91
+ }
92
+ </script>
93
+ <style lang="less" scoped>
94
+ .wrapperCss {
95
+ height: 100%;
96
+ .wrapperLeft {
97
+ height: 100%;
98
+ width: 500px;
99
+ overflow-y: scroll;
100
+ }
101
+ .tableHeight {
102
+ height: 450px;
103
+ }
104
+ .n20-empty {
105
+ height: 98%;
106
+ padding-bottom: 0;
107
+ overflow: hidden;
108
+ }
109
+ .wrapperRight {
110
+ height: 65vh;
111
+ flex: 1;
112
+ .agnc {
113
+ text-align: center;
114
+ }
115
+ .upload-wrap,
116
+ .invoiceImg {
117
+ position: relative;
118
+ flex: 1;
119
+ height: 100%;
120
+ border: 1px solid #ebeef5;
121
+ width: 100%;
122
+ border-radius: 5px;
123
+ margin-left: 20px;
124
+ overflow: auto;
125
+ }
126
+ .rotateCss {
127
+ position: absolute;
128
+ bottom: 88px;
129
+ right: 40px;
130
+ }
131
+ .upload-wrap {
132
+ position: relative;
133
+ & > div {
134
+ position: absolute;
135
+ top: 50%;
136
+ left: 50%;
137
+ transform: translate(-50%, -50%);
138
+ width: 450px;
139
+ margin: 0 auto;
140
+ & > p {
141
+ font-size: 12px;
142
+ color: #999;
143
+ }
144
+ }
145
+ .upload-icon {
146
+ cursor: pointer;
147
+ color: #008df0;
148
+ font-size: 50px;
149
+ }
150
+ }
151
+ }
152
+ }
153
+ </style>