@toolspack/ttd-common 0.4.8 → 0.5.0
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/README.md +2 -1
- package/lib/ttd-common.common.js +2050 -5328
- package/lib/ttd-common.umd.js +2050 -5328
- package/lib/ttd-common.umd.min.js +1 -1
- package/package.json +1 -1
- package/src/App.vue +0 -2
- package/src/packages/index.js +4 -0
- package/src/packages/ukey/SignNew.vue +35 -0
- package/src/packages/ukey/WZHforChrome.js +167 -0
- package/src/packages/ukey/WzhSign.vue +47 -29
- package/src/packages/ukey/WzhSignChrome.vue +261 -0
- package/src/packages/ukey/nmCryptokit.ToToDi.js +338 -0
- package/src/views/About.vue +0 -14
- package/src/views/MakeLabel.vue +0 -178
- package/src/views/MakelLabel.less +0 -162
- package/src/views/labels.js +0 -48
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
export function nmCryptokit(browser) {
|
|
3
|
+
this.browser = browser;
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
nmCryptokit.chromeExtension = "ldpdnooafijfamkammjmhjnnfblekpno";
|
|
7
|
+
nmCryptokit.edgeExtension = "odpbakhphoggmefmfppocigpfppblick";
|
|
8
|
+
nmCryptokit.productID = "com.cfca.cryptokit.totodi";
|
|
9
|
+
|
|
10
|
+
nmCryptokit.extensionName = nmCryptokit.productID + ".extension";
|
|
11
|
+
nmCryptokit.reqEventName = nmCryptokit.productID + ".request";
|
|
12
|
+
nmCryptokit.respEventName = nmCryptokit.productID + ".response";
|
|
13
|
+
|
|
14
|
+
nmCryptokit.Browser = {
|
|
15
|
+
IE: "Internet Explorer",
|
|
16
|
+
Edge: "Edge",
|
|
17
|
+
Edg: "Edge(Chromium)",
|
|
18
|
+
Chrome: "Chrome",
|
|
19
|
+
Safari: "Safari",
|
|
20
|
+
Firefox: "Firefox",
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export function GenerateRandomId() {
|
|
24
|
+
var charstring = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890';
|
|
25
|
+
var maxPos = charstring.length;
|
|
26
|
+
var randomId = '';
|
|
27
|
+
for (var i = 0; i < 10; i++) {
|
|
28
|
+
randomId += charstring.charAt(Math.floor(Math.random() * maxPos));
|
|
29
|
+
}
|
|
30
|
+
return randomId;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
window.nmCryptokit = nmCryptokit
|
|
34
|
+
// Encapsulate Chrome sendMessage callback to Promise
|
|
35
|
+
nmCryptokit.SendMessageforChrome = function(request) {
|
|
36
|
+
return new Promise( function (resolve, reject) {
|
|
37
|
+
chrome.runtime.sendMessage(nmCryptokit.chromeExtension, request, function (response) {
|
|
38
|
+
if (response) {
|
|
39
|
+
if(0 == response.errorcode){
|
|
40
|
+
resolve(response);
|
|
41
|
+
}
|
|
42
|
+
else{
|
|
43
|
+
reject(response);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
var result = new Object();
|
|
48
|
+
result.errorcode = 1;
|
|
49
|
+
result.result = chrome.runtime.lastError.message;
|
|
50
|
+
reject(result);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Encapsulate Chrome sendMessage callback to Promise
|
|
57
|
+
nmCryptokit.SendMessageforEdge = function(request) {
|
|
58
|
+
return new Promise( function (resolve, reject) {
|
|
59
|
+
chrome.runtime.sendMessage(nmCryptokit.edgeExtension, request, function (response) {
|
|
60
|
+
if (response) {
|
|
61
|
+
if(0 == response.errorcode){
|
|
62
|
+
resolve(response);
|
|
63
|
+
}
|
|
64
|
+
else{
|
|
65
|
+
reject(response);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
var result = new Object();
|
|
70
|
+
result.errorcode = 1;
|
|
71
|
+
result.result = chrome.runtime.lastError.message;
|
|
72
|
+
reject(result);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
// Encapsulate Edge&Firefox event to Promise
|
|
80
|
+
nmCryptokit.SendMessagebyEvent = function(request) {
|
|
81
|
+
var event = new CustomEvent(nmCryptokit.reqEventName, { detail: request });
|
|
82
|
+
document.dispatchEvent(event);
|
|
83
|
+
|
|
84
|
+
return new Promise( function (resolve, reject) {
|
|
85
|
+
|
|
86
|
+
var responseEventName = nmCryptokit.respEventName;
|
|
87
|
+
if(request.funcInfo != undefined && request.funcInfo.randomId != undefined)
|
|
88
|
+
responseEventName += ("." + request.funcInfo.randomId);
|
|
89
|
+
|
|
90
|
+
document.addEventListener(responseEventName, function CallBack(e) {
|
|
91
|
+
document.removeEventListener(e.type, CallBack);
|
|
92
|
+
var eJson = JSON.parse(e.detail);
|
|
93
|
+
if (null != eJson && 0 == eJson.errorcode) {
|
|
94
|
+
resolve(eJson);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
reject(eJson);
|
|
98
|
+
}
|
|
99
|
+
}, false);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
nmCryptokit.SendMessage = function(browser, requestJSON) {
|
|
105
|
+
if (nmCryptokit.Browser.Chrome == browser) {
|
|
106
|
+
return nmCryptokit.SendMessageforChrome(requestJSON);
|
|
107
|
+
}
|
|
108
|
+
else if(nmCryptokit.Browser.Edg == browser) {
|
|
109
|
+
return nmCryptokit.SendMessageforEdge(requestJSON);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
return nmCryptokit.SendMessagebyEvent(requestJSON);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
nmCryptokit.checkExtension = function(browser) {
|
|
118
|
+
return new Promise(function (resolve, reject) {
|
|
119
|
+
var result = new Object();
|
|
120
|
+
console.log('444', browser)
|
|
121
|
+
if (nmCryptokit.Browser.Chrome == browser || nmCryptokit.Browser.Edg == browser) {
|
|
122
|
+
// chrome.runtime.sendMessage() could check extension existence.
|
|
123
|
+
|
|
124
|
+
console.log('555', chrome)
|
|
125
|
+
if(chrome.runtime) {
|
|
126
|
+
resolve(browser);
|
|
127
|
+
}
|
|
128
|
+
else{
|
|
129
|
+
result.errorcode = 2;
|
|
130
|
+
result.result = "Extension does not exist!";
|
|
131
|
+
reject(result);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
else if (nmCryptokit.Browser.Edge == browser || nmCryptokit.Browser.Firefox == browser) {
|
|
135
|
+
if (document.getElementById(nmCryptokit.extensionName)) {
|
|
136
|
+
resolve(browser);
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
result.errorcode = 2;
|
|
140
|
+
result.result = "Extension does not exist!";
|
|
141
|
+
reject(result);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
else{
|
|
145
|
+
result.errorcode = 3;
|
|
146
|
+
result.result = "Only support Chrome/Edge/Firefox";
|
|
147
|
+
reject(result);
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
nmCryptokit.prototype.init = function () {
|
|
153
|
+
|
|
154
|
+
var browser = this.browser;
|
|
155
|
+
console.log('2223', browser)
|
|
156
|
+
|
|
157
|
+
return nmCryptokit.checkExtension(browser)
|
|
158
|
+
.then(function (browser) {
|
|
159
|
+
var request = new Object();
|
|
160
|
+
request.action = "connect";
|
|
161
|
+
request.host = nmCryptokit.productID;
|
|
162
|
+
return nmCryptokit.SendMessage(browser, request);
|
|
163
|
+
}).then(function () {
|
|
164
|
+
var request = new Object();
|
|
165
|
+
var funcInfo = new Object();
|
|
166
|
+
var randomId = GenerateRandomId();
|
|
167
|
+
|
|
168
|
+
funcInfo.function = "GetLastErrorDesc";
|
|
169
|
+
funcInfo.params = null;
|
|
170
|
+
funcInfo.randomId = randomId;
|
|
171
|
+
|
|
172
|
+
request.action = "invoke";
|
|
173
|
+
request.funcInfo = funcInfo;
|
|
174
|
+
|
|
175
|
+
return nmCryptokit.SendMessage(browser, request);
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
nmCryptokit.prototype.uninit = function () {
|
|
181
|
+
|
|
182
|
+
var request = new Object();
|
|
183
|
+
request.action = "disconnect";
|
|
184
|
+
request.host = nmCryptokit.productID;
|
|
185
|
+
|
|
186
|
+
return nmCryptokit.SendMessage(this.browser, request);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
nmCryptokit.prototype.getExtensionVersion = function ( ) {
|
|
191
|
+
|
|
192
|
+
var request = new Object();
|
|
193
|
+
var funcInfo = new Object();
|
|
194
|
+
|
|
195
|
+
funcInfo.function = "getExtensionVersion";
|
|
196
|
+
funcInfo.params = null;
|
|
197
|
+
request.action = "getExtensionVersion";
|
|
198
|
+
request.funcInfo = funcInfo;
|
|
199
|
+
|
|
200
|
+
return nmCryptokit.SendMessage(this.browser, request);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
nmCryptokit.prototype.getHostVersion = function () {
|
|
205
|
+
|
|
206
|
+
var request = new Object();
|
|
207
|
+
var funcInfo = new Object();
|
|
208
|
+
var randomId = GenerateRandomId();
|
|
209
|
+
|
|
210
|
+
funcInfo.function = "GetVersion";
|
|
211
|
+
funcInfo.params = null;
|
|
212
|
+
funcInfo.randomId = randomId;
|
|
213
|
+
|
|
214
|
+
request.action = "invoke";
|
|
215
|
+
request.funcInfo = funcInfo;
|
|
216
|
+
|
|
217
|
+
return nmCryptokit.SendMessage(this.browser, request);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
nmCryptokit.prototype.SelectCertificate = function (bstrSubjectDNFilter, bstrIssuerDNFilter, bstrSerialNumFilter, bstrCSPNameList) {
|
|
222
|
+
|
|
223
|
+
var request = new Object();
|
|
224
|
+
var funcInfo = new Object();
|
|
225
|
+
var paramArr = new Array();
|
|
226
|
+
var randomId = GenerateRandomId();
|
|
227
|
+
|
|
228
|
+
paramArr.push(bstrSubjectDNFilter);
|
|
229
|
+
paramArr.push(bstrIssuerDNFilter);
|
|
230
|
+
paramArr.push(bstrSerialNumFilter);
|
|
231
|
+
paramArr.push(bstrCSPNameList);
|
|
232
|
+
|
|
233
|
+
funcInfo.function = "SelectCertificate";
|
|
234
|
+
funcInfo.params = paramArr;
|
|
235
|
+
funcInfo.randomId = randomId;
|
|
236
|
+
|
|
237
|
+
request.action = "invoke";
|
|
238
|
+
request.funcInfo = funcInfo;
|
|
239
|
+
|
|
240
|
+
return nmCryptokit.SendMessage(this.browser, request);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
nmCryptokit.prototype.GetSignCertInfo = function (bstrInfoType) {
|
|
245
|
+
|
|
246
|
+
var request = new Object();
|
|
247
|
+
var funcInfo = new Object();
|
|
248
|
+
var paramArr = new Array();
|
|
249
|
+
var randomId = GenerateRandomId();
|
|
250
|
+
|
|
251
|
+
paramArr.push(bstrInfoType);
|
|
252
|
+
|
|
253
|
+
funcInfo.function = "getSignCertInfo";
|
|
254
|
+
funcInfo.params = paramArr;
|
|
255
|
+
funcInfo.randomId = randomId;
|
|
256
|
+
|
|
257
|
+
request.action = "invoke";
|
|
258
|
+
request.funcInfo = funcInfo;
|
|
259
|
+
|
|
260
|
+
return nmCryptokit.SendMessage(this.browser, request);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
nmCryptokit.prototype.SignMsgPKCS7 = function (bstrSourceData, bstrHashAlg, bWithSourceData) {
|
|
265
|
+
|
|
266
|
+
var request = new Object();
|
|
267
|
+
var funcInfo = new Object();
|
|
268
|
+
var paramArr = new Array();
|
|
269
|
+
var randomId = GenerateRandomId();
|
|
270
|
+
|
|
271
|
+
paramArr.push(bstrSourceData);
|
|
272
|
+
paramArr.push(bstrHashAlg);
|
|
273
|
+
paramArr.push(bWithSourceData);
|
|
274
|
+
|
|
275
|
+
funcInfo.function = "SignMsgPKCS7";
|
|
276
|
+
funcInfo.params = paramArr;
|
|
277
|
+
funcInfo.randomId = randomId;
|
|
278
|
+
|
|
279
|
+
request.action = "invoke";
|
|
280
|
+
request.funcInfo = funcInfo;
|
|
281
|
+
|
|
282
|
+
return nmCryptokit.SendMessage(this.browser, request);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
nmCryptokit.prototype.SignHashMsgPKCS7Detached = function (bstrSourceData, bstrHashAlg) {
|
|
287
|
+
|
|
288
|
+
var request = new Object();
|
|
289
|
+
var funcInfo = new Object();
|
|
290
|
+
var paramArr = new Array();
|
|
291
|
+
var randomId = GenerateRandomId();
|
|
292
|
+
|
|
293
|
+
paramArr.push(bstrSourceData);
|
|
294
|
+
paramArr.push(bstrHashAlg);
|
|
295
|
+
|
|
296
|
+
funcInfo.function = "SignHashMsgPKCS7Detached";
|
|
297
|
+
funcInfo.params = paramArr;
|
|
298
|
+
funcInfo.randomId = randomId;
|
|
299
|
+
|
|
300
|
+
request.action = "invoke";
|
|
301
|
+
request.funcInfo = funcInfo;
|
|
302
|
+
|
|
303
|
+
return nmCryptokit.SendMessage(this.browser, request);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
nmCryptokit.prototype.GetVersion = function () {
|
|
308
|
+
|
|
309
|
+
var request = new Object();
|
|
310
|
+
var funcInfo = new Object();
|
|
311
|
+
var randomId = GenerateRandomId();
|
|
312
|
+
|
|
313
|
+
funcInfo.function = "GetVersion";
|
|
314
|
+
funcInfo.params = null;
|
|
315
|
+
funcInfo.randomId = randomId;
|
|
316
|
+
|
|
317
|
+
request.action = "invoke";
|
|
318
|
+
request.funcInfo = funcInfo;
|
|
319
|
+
|
|
320
|
+
return nmCryptokit.SendMessage(this.browser, request);
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
nmCryptokit.prototype.GetLastErrorDesc = function () {
|
|
325
|
+
|
|
326
|
+
var request = new Object();
|
|
327
|
+
var funcInfo = new Object();
|
|
328
|
+
var randomId = GenerateRandomId();
|
|
329
|
+
|
|
330
|
+
funcInfo.function = "GetLastErrorDesc";
|
|
331
|
+
funcInfo.params = null;
|
|
332
|
+
funcInfo.randomId = randomId;
|
|
333
|
+
|
|
334
|
+
request.action = "invoke";
|
|
335
|
+
request.funcInfo = funcInfo;
|
|
336
|
+
|
|
337
|
+
return nmCryptokit.SendMessage(this.browser, request);
|
|
338
|
+
}
|
package/src/views/About.vue
DELETED
package/src/views/MakeLabel.vue
DELETED
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="main-wrapper flex">
|
|
3
|
-
<div class="flex-item">
|
|
4
|
-
<div class="page-title">
|
|
5
|
-
<span class="back-btn" @click="$router.go(-1)">
|
|
6
|
-
<i class="return"></i>
|
|
7
|
-
</span>
|
|
8
|
-
<span>标签配置</span>
|
|
9
|
-
</div>
|
|
10
|
-
<div class="page-content">
|
|
11
|
-
<div class="content-main">
|
|
12
|
-
<div class="border-line">
|
|
13
|
-
<div class="body-con">
|
|
14
|
-
<div class="contract-con">
|
|
15
|
-
<div class="title-con" style="position: relative">
|
|
16
|
-
<div style="text-align: center">
|
|
17
|
-
<switch-page @page="page = $event" :numPages="numPages"></switch-page>
|
|
18
|
-
</div>
|
|
19
|
-
</div>
|
|
20
|
-
<div class="pdf-box">
|
|
21
|
-
<pdf-view
|
|
22
|
-
:pdfurl="fileUrl.url"
|
|
23
|
-
:showPages="false"
|
|
24
|
-
:border="true"
|
|
25
|
-
:scale="1.5"
|
|
26
|
-
:page="page"
|
|
27
|
-
@size="onSize"
|
|
28
|
-
@numPages="numPages = $event"
|
|
29
|
-
>
|
|
30
|
-
<ttd-label-make
|
|
31
|
-
:labelViewData="labelContent"
|
|
32
|
-
:labelCurrent="itemObj"
|
|
33
|
-
:page="page"
|
|
34
|
-
@getLabelData="getLabelData"
|
|
35
|
-
:labelView="labelView"
|
|
36
|
-
>
|
|
37
|
-
<el-form-item class="remark-wrapper" label="是否换222行" prop="isMultiline">
|
|
38
|
-
<el-select v-model="formData.isMultiline">
|
|
39
|
-
<el-option label="单行" :value="0"></el-option>
|
|
40
|
-
<el-option label="多行" :value="1"></el-option>
|
|
41
|
-
</el-select>
|
|
42
|
-
</el-form-item>
|
|
43
|
-
<el-form-item class="remark-wrapper" label="是否换33行" prop="isMultiline">
|
|
44
|
-
<el-select v-model="formData.isMultiline">
|
|
45
|
-
<el-option label="单行" :value="0"></el-option>
|
|
46
|
-
<el-option label="多行" :value="1"></el-option>
|
|
47
|
-
</el-select>
|
|
48
|
-
</el-form-item>
|
|
49
|
-
</ttd-label-make>
|
|
50
|
-
</pdf-view>
|
|
51
|
-
</div>
|
|
52
|
-
</div>
|
|
53
|
-
<div class="label-done">
|
|
54
|
-
<ttd-label-operate
|
|
55
|
-
:showSelectLabel="false"
|
|
56
|
-
:operateConfig="operateConfig"
|
|
57
|
-
:labelData="labelData"
|
|
58
|
-
@getSignItem="getSignItem"
|
|
59
|
-
>
|
|
60
|
-
<search-label @emit-label="getSignItem" />
|
|
61
|
-
</ttd-label-operate>
|
|
62
|
-
</div>
|
|
63
|
-
</div>
|
|
64
|
-
</div>
|
|
65
|
-
</div>
|
|
66
|
-
</div>
|
|
67
|
-
</div>
|
|
68
|
-
<div class="page-bottom">
|
|
69
|
-
<el-button @click="onCancel" style="width: 120px;">返 回</el-button>
|
|
70
|
-
<el-button @click="onSubmit" type="primary" style="width: 120px;">提 交</el-button>
|
|
71
|
-
</div>
|
|
72
|
-
</div>
|
|
73
|
-
</template>
|
|
74
|
-
|
|
75
|
-
<script>
|
|
76
|
-
|
|
77
|
-
import { labelsManager, labelsInvestor } from './labels';
|
|
78
|
-
|
|
79
|
-
export default {
|
|
80
|
-
data() {
|
|
81
|
-
return {
|
|
82
|
-
typeId: this.$route.query.id,
|
|
83
|
-
modelInfo: {},
|
|
84
|
-
fileUrl: {},
|
|
85
|
-
itemObj: null,
|
|
86
|
-
currentView: '',
|
|
87
|
-
page: 1,
|
|
88
|
-
numPages: 0,
|
|
89
|
-
textLabelList: [],
|
|
90
|
-
inputNameList: [],
|
|
91
|
-
labelData: [], // 将要提交的所有标签数据
|
|
92
|
-
labelView: 0,
|
|
93
|
-
labelContent: [],
|
|
94
|
-
|
|
95
|
-
sureBack: false,
|
|
96
|
-
operateConfig: [],
|
|
97
|
-
viewport: null,
|
|
98
|
-
formData: {},
|
|
99
|
-
};
|
|
100
|
-
},
|
|
101
|
-
created() {
|
|
102
|
-
this.getModelDetail()
|
|
103
|
-
},
|
|
104
|
-
methods: {
|
|
105
|
-
async onCancel() {
|
|
106
|
-
await this.$confirm('您确定不保留本次配置结果?', '提示')
|
|
107
|
-
this.$router.go(-1);
|
|
108
|
-
},
|
|
109
|
-
getLabelData(labelData) {
|
|
110
|
-
this.labelData = labelData;
|
|
111
|
-
this.itemObj = null
|
|
112
|
-
},
|
|
113
|
-
|
|
114
|
-
getSignItem(type) {
|
|
115
|
-
console.log('getSignItem=', type)
|
|
116
|
-
this.itemObj = type;
|
|
117
|
-
},
|
|
118
|
-
onSize(viewport, page) {
|
|
119
|
-
this.viewport = viewport
|
|
120
|
-
console.log('viewport', viewport)
|
|
121
|
-
console.log('page', page)
|
|
122
|
-
},
|
|
123
|
-
|
|
124
|
-
getModelDetail() {
|
|
125
|
-
this.fileUrl.url = 'https://wsp.totodi.com/visit/totodi-other/20210617-c71f4fc934ba4fb68d053e6960021c75-otocol.pdf?expireDataTime=1637835905131';
|
|
126
|
-
this.operateConfig = [labelsManager, labelsInvestor]
|
|
127
|
-
},
|
|
128
|
-
|
|
129
|
-
onSubmit() {
|
|
130
|
-
if (this.hasLabel()) {
|
|
131
|
-
const labelDetails = [];
|
|
132
|
-
const signDetails = [];
|
|
133
|
-
this.labelData.forEach((element) => {
|
|
134
|
-
const { xAxis, yAxis } = element
|
|
135
|
-
// const xLocation = Math.round(xAxis / 1.5)
|
|
136
|
-
// ttd-label-make 里计算的左边已经加了 标签高度
|
|
137
|
-
// const yLocation = Math.round((this.viewport.height - yAxis) / 1.5)
|
|
138
|
-
if (element.shape === 2 || element.shape === 4) {
|
|
139
|
-
signDetails.push(
|
|
140
|
-
{
|
|
141
|
-
...element,
|
|
142
|
-
signLocationType: 3, // 签章定位方式:1:关键字定位 3:坐标 5:骑缝章
|
|
143
|
-
locationPage: element.pageIndex, // 页码(签章定位方式。)
|
|
144
|
-
xLocation: xAxis, // x坐标
|
|
145
|
-
yLocation: yAxis, // y坐标
|
|
146
|
-
stampType: element.sealTag || element.stampType,
|
|
147
|
-
},
|
|
148
|
-
)
|
|
149
|
-
} else {
|
|
150
|
-
// 合并标签的 是妥妥递做的,合章(待证书)是cfca做的,
|
|
151
|
-
// cfca 是以左下角为原点
|
|
152
|
-
labelDetails.push(
|
|
153
|
-
{
|
|
154
|
-
...element,
|
|
155
|
-
aliasName: element.labelAlias, // 标记域描述(对应文本标签的标签)
|
|
156
|
-
labelType: 1, // 标记类型。1:text
|
|
157
|
-
isMust: '1', // 0非必填,1必填
|
|
158
|
-
labelContent: null, // 扩展内容。labelType为1,5可不填写
|
|
159
|
-
isMultiline: 0, // 是否换行 1--是 0--否
|
|
160
|
-
},
|
|
161
|
-
)
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
console.log(JSON.stringify(labelDetails), JSON.stringify(signDetails))
|
|
165
|
-
} else {
|
|
166
|
-
this.$alert(
|
|
167
|
-
'根据模板配置的签约方,尚有未完成配置的印章或签名标签,请完成配置后提交',
|
|
168
|
-
'提示',
|
|
169
|
-
);
|
|
170
|
-
}
|
|
171
|
-
},
|
|
172
|
-
},
|
|
173
|
-
};
|
|
174
|
-
</script>
|
|
175
|
-
|
|
176
|
-
<style lang="less">
|
|
177
|
-
@import "./MakelLabel.less";
|
|
178
|
-
</style>
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
.index {
|
|
2
|
-
overflow: hidden;
|
|
3
|
-
padding-bottom: 20px;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
.input-list {
|
|
7
|
-
float: left;
|
|
8
|
-
margin-left: 40px;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.input-list>div {
|
|
12
|
-
margin-bottom: 40px;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.title {
|
|
16
|
-
height: 50px;
|
|
17
|
-
line-height: 50px;
|
|
18
|
-
border-bottom: 1px solid #ccc;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.title h4 {
|
|
22
|
-
float: left;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.title i {
|
|
26
|
-
float: right;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.border-line {
|
|
30
|
-
margin-top: 16px;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.body-con {
|
|
34
|
-
overflow: hidden;
|
|
35
|
-
min-width: 1260px;
|
|
36
|
-
display: table-row;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.title-con {
|
|
40
|
-
padding: 0 20px;
|
|
41
|
-
font-size: 14px;
|
|
42
|
-
text-align: left;
|
|
43
|
-
line-height: 50px;
|
|
44
|
-
border-bottom: 1px solid #ccc;
|
|
45
|
-
display: table-cell;
|
|
46
|
-
vertical-align: top;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
.contract-con {
|
|
50
|
-
min-width: 800px;
|
|
51
|
-
font-size: 16px;
|
|
52
|
-
text-align: center;
|
|
53
|
-
border: 1px solid #ccc;
|
|
54
|
-
box-sizing: border-box;
|
|
55
|
-
margin-right: 20px;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.label-done {
|
|
59
|
-
margin-left: 16px;
|
|
60
|
-
display: table-cell;
|
|
61
|
-
vertical-align: top;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
.label-list {
|
|
65
|
-
margin: 10px auto;
|
|
66
|
-
padding: 10px 0;
|
|
67
|
-
text-align: center;
|
|
68
|
-
width: 300px;
|
|
69
|
-
border: 1px solid #ccc;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
.label-list .label-item {
|
|
73
|
-
margin-bottom: 20px;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
.label-list .label-item .btn {
|
|
77
|
-
width: 240px;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.input-width {
|
|
81
|
-
width: 200px;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
.label-write {
|
|
85
|
-
padding: 20px 0px;
|
|
86
|
-
border-top: 1px dashed #ccc;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
.foot-submit {
|
|
90
|
-
text-align: center;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
.gongzhang {
|
|
94
|
-
margin: auto;
|
|
95
|
-
width: 150px;
|
|
96
|
-
height: 150px;
|
|
97
|
-
border-radius: 50%;
|
|
98
|
-
overflow: hidden;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
.gongzhang img {
|
|
102
|
-
width: 100%;
|
|
103
|
-
height: 100%;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
.label-name {
|
|
107
|
-
margin-top: 10px;
|
|
108
|
-
color: #20a0ff;
|
|
109
|
-
font-size: 14px;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
.pdf-box {
|
|
113
|
-
position: relative;
|
|
114
|
-
display: inline-block;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
.pdf-box .tag {
|
|
118
|
-
position: absolute;
|
|
119
|
-
z-index: 999;
|
|
120
|
-
top: 0;
|
|
121
|
-
display: none;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
.allSign {
|
|
125
|
-
margin-bottom: 20px;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
.view-btn {
|
|
129
|
-
width: 40px;
|
|
130
|
-
height: 20px;
|
|
131
|
-
background: none;
|
|
132
|
-
font-size: 12px !important;
|
|
133
|
-
border: 1px solid #3d82f7;
|
|
134
|
-
text-align: center;
|
|
135
|
-
line-height: 20px;
|
|
136
|
-
font-size: 14px;
|
|
137
|
-
border-radius: 2px;
|
|
138
|
-
padding: 0;
|
|
139
|
-
color: #3d82f7;
|
|
140
|
-
float: right;
|
|
141
|
-
cursor: pointer;
|
|
142
|
-
outline: none;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
/*.pdf-box:hover .tag {*/
|
|
146
|
-
/*display: block !important;*/
|
|
147
|
-
/*}*/
|
|
148
|
-
|
|
149
|
-
.close {
|
|
150
|
-
width: 20px;
|
|
151
|
-
height: 20px;
|
|
152
|
-
border-radius: 50%;
|
|
153
|
-
position: absolute;
|
|
154
|
-
top: -10px;
|
|
155
|
-
right: -10px;
|
|
156
|
-
background: coral;
|
|
157
|
-
color: #fff;
|
|
158
|
-
transform: rotateZ(45deg);
|
|
159
|
-
text-align: center;
|
|
160
|
-
line-height: 20px;
|
|
161
|
-
cursor: pointer;
|
|
162
|
-
}
|