Compare commits
672
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
916b60c951 | ||
|
|
40105ec975 | ||
|
|
415945c87a | ||
|
|
56973db005 | ||
|
|
894ba61c35 | ||
|
|
3e92dcd50c | ||
|
|
f615207959 | ||
|
|
554141efbd | ||
|
|
69c20e52d4 | ||
|
|
0caf687e2d | ||
|
|
0b6a92d06c | ||
|
|
bd83917049 | ||
|
|
b5a04cac8e | ||
|
|
ae5bba39fc | ||
|
|
1115fc3cb0 | ||
|
|
9d75508568 | ||
|
|
db5b4ef5a8 | ||
|
|
65ded67c39 | ||
|
|
e6340c3a77 | ||
|
|
2528a3da0d | ||
|
|
c343677389 | ||
|
|
58439bab67 | ||
|
|
228c4553f8 | ||
|
|
588074fb80 | ||
|
|
dba65e32a8 | ||
|
|
51a8354a37 | ||
|
|
d94530ddb8 | ||
|
|
ef27039e68 | ||
|
|
4fa50833f8 | ||
|
|
4954ad3a4f | ||
|
|
df25140067 | ||
|
|
158aa1a8ef | ||
|
|
b02d72e674 | ||
|
|
5d542663f9 | ||
|
|
3ef18705d5 | ||
|
|
c501d639cf | ||
|
|
359bdcf367 | ||
|
|
4a3e9bd7d0 | ||
|
|
8e4cff1c9b | ||
|
|
94fda50479 | ||
|
|
0a733f63d3 | ||
|
|
2938017ae4 | ||
|
|
a3d01771d6 | ||
|
|
2060aeb007 | ||
|
|
a877ffa1b4 | ||
|
|
f8e3c46439 | ||
|
|
23d7fc7dcb | ||
|
|
f297e0fd46 | ||
|
|
7aac6bbc3c | ||
|
|
eef888a6b6 | ||
|
|
19f8c9bb4a | ||
|
|
115f1f8cc7 | ||
|
|
2c1c1a97e8 | ||
|
|
1a93ddfbd5 | ||
|
|
62c6464d7b | ||
|
|
2f8cd98ced | ||
|
|
9ee1e96526 | ||
|
|
01c0576569 | ||
|
|
b31a7eb4a3 | ||
|
|
e9c11c8161 | ||
|
|
564f0d21fc | ||
|
|
3391d11b31 | ||
|
|
c8061aa397 | ||
|
|
b652177523 | ||
|
|
8fe784ce80 | ||
|
|
cf3997ffaa | ||
|
|
3386417dd4 | ||
|
|
0592e17a39 | ||
|
|
38a6542222 | ||
|
|
a0577c96a7 | ||
|
|
9051500acc | ||
|
|
14b19c78cb | ||
|
|
e39a6551ba | ||
|
|
bf51c2119b | ||
|
|
1b4ad45236 | ||
|
|
e62a44291e | ||
|
|
4a20d9ccdf | ||
|
|
c7b88750ea | ||
|
|
5354f82ba9 | ||
|
|
7b836df855 | ||
|
|
8ce15c6554 | ||
|
|
36d1a3c230 | ||
|
|
48faff770b | ||
|
|
bec7a97c31 | ||
|
|
01f2056813 | ||
|
|
fbf1058bff | ||
|
|
5f420a172d | ||
|
|
b8a5da09fe | ||
|
|
551e2e8863 | ||
|
|
5d0ab605b7 | ||
|
|
cd182a5410 | ||
|
|
2dc5d02476 | ||
|
|
bb4d94b347 | ||
|
|
4f2ee3f622 | ||
|
|
da5124b1fd | ||
|
|
af39267668 | ||
|
|
f3ca72dbb0 | ||
|
|
ae230d0618 | ||
|
|
27af0d1dd4 | ||
|
|
077fb409bd | ||
|
|
56a195c4c0 | ||
|
|
95b245891f | ||
|
|
42005547a6 | ||
|
|
c7fb476895 | ||
|
|
6c49325cec | ||
|
|
c32f9efcaa | ||
|
|
bd54940232 | ||
|
|
0793bc58a1 | ||
|
|
2351899223 | ||
|
|
9e75134bf1 | ||
|
|
587636d9a9 | ||
|
|
547eb78531 | ||
|
|
1160bcd2f4 | ||
|
|
0dc7a201ac | ||
|
|
d96f9b8bd8 | ||
|
|
f6835fc5d0 | ||
|
|
0d609e2e07 | ||
|
|
f6b77a20a6 | ||
|
|
acb7e2ffd9 | ||
|
|
e046cca017 | ||
|
|
28fb4f5867 | ||
|
|
edc3317545 | ||
|
|
9572f8af84 | ||
|
|
a3f5745ae4 | ||
|
|
ead31acea4 | ||
|
|
f2fd24dde2 | ||
|
|
565c28f7e7 | ||
|
|
e883f2840e | ||
|
|
e726fe3026 | ||
|
|
1b5e20362d | ||
|
|
b3c2cfc0ad | ||
|
|
f7309b9c61 | ||
|
|
ce1af29cb0 | ||
|
|
0eeca475fd | ||
|
|
19bba2f1d7 | ||
|
|
4417e4a3ea | ||
|
|
849d0edb7c | ||
|
|
c6635b3497 | ||
|
|
a1f30d6943 | ||
|
|
3c97e2fcdd | ||
|
|
d9461036f8 | ||
|
|
4b9caa862b | ||
|
|
0c206b3535 | ||
|
|
d89d607e11 | ||
|
|
605fc21b9f | ||
|
|
badc338ff6 | ||
|
|
e6f4cc1e45 | ||
|
|
9e7f8d9f8d | ||
|
|
81956c0350 | ||
|
|
ad58f63c38 | ||
|
|
30c90055c9 | ||
|
|
fc9a71e6df | ||
|
|
4c1b7538f1 | ||
|
|
936bbe2bb0 | ||
|
|
176ae7201d | ||
|
|
f032d790fe | ||
|
|
dde713b923 | ||
|
|
99c132443c | ||
|
|
dcf37b5b60 | ||
|
|
ccc1069a97 | ||
|
|
b23ed5840a | ||
|
|
7fecb6c750 | ||
|
|
ce9603c57d | ||
|
|
17f23da793 | ||
|
|
7df2445b5c | ||
|
|
917e17ec6c | ||
|
|
b93063a2a2 | ||
|
|
81258e37f2 | ||
|
|
1da2efad55 | ||
|
|
8bc0a02f14 | ||
|
|
4cab392256 | ||
|
|
231d029111 | ||
|
|
1fa8a72472 | ||
|
|
2f1f814808 | ||
|
|
2a62c72898 | ||
|
|
4d22be70f5 | ||
|
|
d002bc085a | ||
|
|
a944584098 | ||
|
|
5ba01fb10b | ||
|
|
535d0c6d2e | ||
|
|
ac680dca2c | ||
|
|
9f5fa02e72 | ||
|
|
41d4c1482b | ||
|
|
52c8386b34 | ||
|
|
39b5b303e3 | ||
|
|
15c10c5a95 | ||
|
|
220ec28b8a | ||
|
|
d606727148 | ||
|
|
7d21da6cfc | ||
|
|
c3b48951cb | ||
|
|
9dc68af97b | ||
|
|
ae92767bff | ||
|
|
b97fdb7746 | ||
|
|
85e887d741 | ||
|
|
9e35c9734a | ||
|
|
6c5bb8fc9d | ||
|
|
a8709c784a | ||
|
|
7d62b154bc | ||
|
|
a947297eb1 | ||
|
|
e7a19a007e | ||
|
|
a07d36cc1a | ||
|
|
0d6815c6fa | ||
|
|
769723ebdc | ||
|
|
d39f1a8965 | ||
|
|
162cd5ada1 | ||
|
|
7eb89d9d7a | ||
|
|
05fd0fe6c4 | ||
|
|
ebf13c861b | ||
|
|
370082809e | ||
|
|
255cd8fa50 | ||
|
|
420a9fd23d | ||
|
|
b434615840 | ||
|
|
e4161f9192 | ||
|
|
43591631cf | ||
|
|
df15f88de4 | ||
|
|
5184a9e363 | ||
|
|
0511d130cc | ||
|
|
314ceb3328 | ||
|
|
b4ec5ea397 | ||
|
|
567c0842c4 | ||
|
|
d929cd5f05 | ||
|
|
8c2ce87af6 | ||
|
|
7103cdfaaf | ||
|
|
9d7bb1bc95 | ||
|
|
61a2addc47 | ||
|
|
f69c0d6d5b | ||
|
|
3948ae0883 | ||
|
|
9a0b337523 | ||
|
|
2cf46debba | ||
|
|
d07558025d | ||
|
|
8d473b0c76 | ||
|
|
d2ed473487 | ||
|
|
1c54eb0408 | ||
|
|
161b412825 | ||
|
|
003dc16adf | ||
|
|
469cbaf0bb | ||
|
|
aef1ed353f | ||
|
|
8fa7c72ccd | ||
|
|
ec72a4ce24 | ||
|
|
f8423f944a | ||
|
|
65cc58992a | ||
|
|
49c9c8e4e0 | ||
|
|
14127feb4f | ||
|
|
34a8b45e10 | ||
|
|
5d34e98d6b | ||
|
|
dc39e28214 | ||
|
|
ba87035e0a | ||
|
|
272008a9bb | ||
|
|
c21f3c8733 | ||
|
|
700ba895d3 | ||
|
|
bcc20af255 | ||
|
|
20cfd0b7a4 | ||
|
|
bd3efe07d5 | ||
|
|
4b8992cccb | ||
|
|
fed97d2c91 | ||
|
|
9ec0d610b1 | ||
|
|
417b490039 | ||
|
|
f380a6bf4e | ||
|
|
0be61e3b97 | ||
|
|
e8e5bbb1eb | ||
|
|
06dbb11e41 | ||
|
|
e231e8eed3 | ||
|
|
82ec704aa0 | ||
|
|
55798724e6 | ||
|
|
9a949308a2 | ||
|
|
eefdb524bc | ||
|
|
508e38976e | ||
|
|
3d261fe269 | ||
|
|
cbd7392931 | ||
|
|
f7ec289695 | ||
|
|
d361662e3f | ||
|
|
e312540f26 | ||
|
|
46594b8ab8 | ||
|
|
b70f846664 | ||
|
|
89d2f2b4c7 | ||
|
|
ce2bc356ca | ||
|
|
f11c25f48c | ||
|
|
48dcf7fa55 | ||
|
|
1bd438a4bc | ||
|
|
cdde7fe1f9 | ||
|
|
8246ab9751 | ||
|
|
5688aee930 | ||
|
|
7ce6fabb27 | ||
|
|
e6736363e8 | ||
|
|
d2e973d769 | ||
|
|
5c6853166d | ||
|
|
de66567094 | ||
|
|
d4dbe598d9 | ||
|
|
7497bfb3c8 | ||
|
|
5adf282552 | ||
|
|
3c0016c9ae | ||
|
|
a6ea2726bb | ||
|
|
2a8c9930b9 | ||
|
|
4298a7b958 | ||
|
|
5b34038655 | ||
|
|
4d19d4d893 | ||
|
|
0dcd8a1d58 | ||
|
|
472ffdd00e | ||
|
|
bdadd6c55c | ||
|
|
7aaf77e544 | ||
|
|
976aff0b50 | ||
|
|
cd13a1f4bd | ||
|
|
96e8f711e0 | ||
|
|
a08a845a23 | ||
|
|
3207415b53 | ||
|
|
b3df9c6b60 | ||
|
|
f237840248 | ||
|
|
e81f375453 | ||
|
|
eea914c3f4 | ||
|
|
87018471c0 | ||
|
|
e63d476ce7 | ||
|
|
fe64891043 | ||
|
|
b0555d0097 | ||
|
|
5c70d779a2 | ||
|
|
72c5d1a6ca | ||
|
|
adcdd1727c | ||
|
|
f3fc33c208 | ||
|
|
1d1c07a4fa | ||
|
|
9862b51571 | ||
|
|
3e679e64b8 | ||
|
|
9d8f3f9451 | ||
|
|
5b069a66a7 | ||
|
|
f7dd94511d | ||
|
|
0522c15cbf | ||
|
|
dfbb2e5c92 | ||
|
|
f91978bba5 | ||
|
|
cb56c58999 | ||
|
|
c65caf247d | ||
|
|
134a3fb684 | ||
|
|
f859f380bc | ||
|
|
ebe7df84d5 | ||
|
|
550817b67e | ||
|
|
9129144350 | ||
|
|
9806c46e04 | ||
|
|
e478ecc06d | ||
|
|
512cbc311a | ||
|
|
13e3fc4c03 | ||
|
|
0fff368258 | ||
|
|
ab224f7bca | ||
|
|
aa0029f001 | ||
|
|
7fc732afb3 | ||
|
|
f998a1b66c | ||
|
|
f7105b6a6e | ||
|
|
3e059ee6bb | ||
|
|
2fb668310b | ||
|
|
9424197fc4 | ||
|
|
c5a9a573e4 | ||
|
|
af65d8ca34 | ||
|
|
4172ad2664 | ||
|
|
f541cbce00 | ||
|
|
0638dcd5c1 | ||
|
|
015a63a48b | ||
|
|
d0759c1351 | ||
|
|
6aa4c88f65 | ||
|
|
3c34628cb7 | ||
|
|
f275e3af85 | ||
|
|
e97c9deb0a | ||
|
|
6c47603021 | ||
|
|
ec7a3bc4ea | ||
|
|
dfd3cad046 | ||
|
|
ff2e43a089 | ||
|
|
b42d918212 | ||
|
|
b76d2ff5ca | ||
|
|
a131f9bb7a | ||
|
|
d896475840 | ||
|
|
54bef3461b | ||
|
|
0e897a4d53 | ||
|
|
406edda157 | ||
|
|
f8c85bdc3c | ||
|
|
379822e9cf | ||
|
|
85aff25492 | ||
|
|
341eef3d29 | ||
|
|
96aa770664 | ||
|
|
ba6a6bce40 | ||
|
|
ee021b5853 | ||
|
|
228b20b1dc | ||
|
|
c5049eb1a3 | ||
|
|
10d0dc4295 | ||
|
|
e6210b8e58 | ||
|
|
a73dd7e86a | ||
|
|
9773651ccd | ||
|
|
954af18ed1 | ||
|
|
68a7b38731 | ||
|
|
b547757b3d | ||
|
|
b68470f146 | ||
|
|
885d9042a0 | ||
|
|
fa5e6a25b4 | ||
|
|
5b5aa9473a | ||
|
|
b3d2942374 | ||
|
|
ec0a979cc4 | ||
|
|
83133a17db | ||
|
|
3a7782faa2 | ||
|
|
f2712d2e91 | ||
|
|
1b33968124 | ||
|
|
aa8c806d01 | ||
|
|
8b8a915124 | ||
|
|
9ac4cc0b0b | ||
|
|
0507ed813f | ||
|
|
35453f68ea | ||
|
|
62ebc9cde1 | ||
|
|
1df0c9ebd8 | ||
|
|
d5952f416a | ||
|
|
fc82ba693f | ||
|
|
a068eca37f | ||
|
|
c0d2789b53 | ||
|
|
4a0476e2a6 | ||
|
|
00f1846d25 | ||
|
|
4c45e18c6c | ||
|
|
adb54fcb4c | ||
|
|
1ecd340786 | ||
|
|
e802371acf | ||
|
|
01700b8030 | ||
|
|
4996614bae | ||
|
|
cdf80001bc | ||
|
|
00f80ac617 | ||
|
|
dea0ca38c6 | ||
|
|
9ac1a51b77 | ||
|
|
d5ee8086dd | ||
|
|
ef007fbcc3 | ||
|
|
99e37559bb | ||
|
|
0dcaf3066d | ||
|
|
986d0dc1e6 | ||
|
|
f7dd9d8b05 | ||
|
|
3fb20ce0ed | ||
|
|
a57e429f71 | ||
|
|
21855b4c96 | ||
|
|
4c8d91a3e6 | ||
|
|
f7969b7d2a | ||
|
|
2902cbde44 | ||
|
|
f8b075c8a4 | ||
|
|
f70eb279d7 | ||
|
|
73efafb48a | ||
|
|
977b6eef9f | ||
|
|
992d658cb1 | ||
|
|
a46f4730dd | ||
|
|
c1050d1ffc | ||
|
|
3db856067a | ||
|
|
f22b1c27b6 | ||
|
|
7e4cec8793 | ||
|
|
346c0f6654 | ||
|
|
87ea5a9570 | ||
|
|
7cb34fc5af | ||
|
|
b61ec7ec1e | ||
|
|
354d549319 | ||
|
|
90ce16018d | ||
|
|
30efeedde6 | ||
|
|
27c4310513 | ||
|
|
b50b886f64 | ||
|
|
1799dcf8b8 | ||
|
|
37405db88f | ||
|
|
e7f1cf82b9 | ||
|
|
84ab889b9a | ||
|
|
b2861d491a | ||
|
|
a0894d20fb | ||
|
|
756f38a7d1 | ||
|
|
b489f34a2d | ||
|
|
172f013ce9 | ||
|
|
618347413c | ||
|
|
0a0f737ad3 | ||
|
|
a074fdb84b | ||
|
|
c4079c7413 | ||
|
|
e079330f05 | ||
|
|
8578a9cd87 | ||
|
|
2c1e9809b4 | ||
|
|
456875cc34 | ||
|
|
51a792c8ae | ||
|
|
a2e6a74311 | ||
|
|
134a17c869 | ||
|
|
d2dad52ffe | ||
|
|
04877e3299 | ||
|
|
7cf21ab52e | ||
|
|
d0384ea4e0 | ||
|
|
a1002e9586 | ||
|
|
0072aa90e4 | ||
|
|
08bce5224f | ||
|
|
c137b25ea7 | ||
|
|
bf127dadfe | ||
|
|
bb5a905682 | ||
|
|
1d7cffc859 | ||
|
|
9eb96363ea | ||
|
|
fb2980b038 | ||
|
|
31b7f87b72 | ||
|
|
e68bc03ee7 | ||
|
|
259ef7ad32 | ||
|
|
21521d49ed | ||
|
|
1f85731376 | ||
|
|
31fe2ba3c8 | ||
|
|
b98ab15162 | ||
|
|
39e6823e36 | ||
|
|
91d25f107f | ||
|
|
221e68134b | ||
|
|
19a18489a8 | ||
|
|
230852b8f2 | ||
|
|
78e7d08029 | ||
|
|
26d1af11ce | ||
|
|
01bee9fcc8 | ||
|
|
8e41ee7577 | ||
|
|
ea5e6093ab | ||
|
|
039abb5565 | ||
|
|
9209131eaa | ||
|
|
0b1ea2f609 | ||
|
|
ee008393d4 | ||
|
|
8eee3063a7 | ||
|
|
fe70b5b5ce | ||
|
|
0067909840 | ||
|
|
0bc2474ed9 | ||
|
|
be6e3f1e79 | ||
|
|
56195550d7 | ||
|
|
c800d774e9 | ||
|
|
0e608f018a | ||
|
|
c5fcb2b410 | ||
|
|
e6ac4afcd1 | ||
|
|
b7edec3b3a | ||
|
|
d69084b4ee | ||
|
|
e8585e91ee | ||
|
|
83a367c06e | ||
|
|
5485490cc4 | ||
|
|
91c093a30b | ||
|
|
dbfdae95c2 | ||
|
|
3f2981ac9b | ||
|
|
e9905b840d | ||
|
|
d5d6c6e9bd | ||
|
|
dfbd27f341 | ||
|
|
8ef24daa0d | ||
|
|
8f3cde578d | ||
|
|
541dab9b5b | ||
|
|
8b5d03418a | ||
|
|
21b337e7b5 | ||
|
|
391c9d4969 | ||
|
|
3d242031ca | ||
|
|
0d7fe60880 | ||
|
|
441e62ce63 | ||
|
|
aa63986bbf | ||
|
|
d6c9eb941f | ||
|
|
c052f2e9dc | ||
|
|
89567b8539 | ||
|
|
99f41a2468 | ||
|
|
7c16a15a36 | ||
|
|
c0fe749140 | ||
|
|
06d2df4c15 | ||
|
|
056be8c9e8 | ||
|
|
3f40228d09 | ||
|
|
81f132acb3 | ||
|
|
4a994a6617 | ||
|
|
b53762fb1e | ||
|
|
e3fbd1bade | ||
|
|
dc7b86d78f | ||
|
|
7ecb3169f5 | ||
|
|
6bc5d3b6f2 | ||
|
|
f340346053 | ||
|
|
4c887bfb94 | ||
|
|
8806781283 | ||
|
|
b95f0b4dea | ||
|
|
ea41a62ea3 | ||
|
|
4e3125b426 | ||
|
|
598b8ba92c | ||
|
|
f672bed3d9 | ||
|
|
c5da9b9e2d | ||
|
|
d98aa40459 | ||
|
|
3bb62ad584 | ||
|
|
ddf84a6f9e | ||
|
|
8351839bec | ||
|
|
729a299ec1 | ||
|
|
729871e158 | ||
|
|
bd7bf83066 | ||
|
|
3e00bbce70 | ||
|
|
01bddc0c54 | ||
|
|
008983d148 | ||
|
|
a6dcf1b98a | ||
|
|
b06c0cd445 | ||
|
|
618c1ab81f | ||
|
|
e3bfc816ce | ||
|
|
00ed57534f | ||
|
|
146bf800f3 | ||
|
|
035fb48ea8 | ||
|
|
0e277a8a85 | ||
|
|
81ca9e526f | ||
|
|
249720c67a | ||
|
|
8c75d7d6f4 | ||
|
|
57c126006b | ||
|
|
623575fa16 | ||
|
|
6ec8a1657f | ||
|
|
69bf0abdc9 | ||
|
|
de075c38c7 | ||
|
|
68ffd026bf | ||
|
|
17208cba1f | ||
|
|
8e92f439f6 | ||
|
|
570d996a5c | ||
|
|
02686a8f0c | ||
|
|
1d0e570750 | ||
|
|
5cb30b5916 | ||
|
|
3c54f0c4c5 | ||
|
|
60835fdb45 | ||
|
|
1f3593569f | ||
|
|
c44d167c38 | ||
|
|
74535e9912 | ||
|
|
39544016ca | ||
|
|
acfa0f7910 | ||
|
|
8d60b79bc5 | ||
|
|
e334e1efc0 | ||
|
|
3bfdb1da01 | ||
|
|
a71c02333e | ||
|
|
6f76035a00 | ||
|
|
5d5da6502c | ||
|
|
e2e20e6702 | ||
|
|
6fd3f42163 | ||
|
|
c20ea9ccee | ||
|
|
9f825677b5 | ||
|
|
15e6cb7024 | ||
|
|
a72523106b | ||
|
|
dea3149524 | ||
|
|
2c4c77b56b | ||
|
|
78cf8bcefd | ||
|
|
bd820559a0 | ||
|
|
d3d1346cf0 | ||
|
|
9789adce36 | ||
|
|
1de74763b4 | ||
|
|
abc6671786 | ||
|
|
a52796f329 | ||
|
|
20a5b522fc | ||
|
|
10c9c008ce | ||
|
|
d46d4756ea | ||
|
|
25456f18e4 | ||
|
|
e79bca92fa | ||
|
|
aa8b442b47 | ||
|
|
e077bc79b2 | ||
|
|
6c9d691189 | ||
|
|
f431f8aff6 | ||
|
|
9a81d89d5e | ||
|
|
8c1b8c953f | ||
|
|
726686c847 | ||
|
|
c71b61ccf1 | ||
|
|
ccd28604cb | ||
|
|
94137281db | ||
|
|
bec5eab464 | ||
|
|
1b6b3bf4d8 | ||
|
|
401f113855 | ||
|
|
8c8d2e7fc2 | ||
|
|
099def45e7 | ||
|
|
40ca0d84c8 | ||
|
|
0cfce63b66 | ||
|
|
5a837f5d52 | ||
|
|
b92d330adc | ||
|
|
611bd37a64 | ||
|
|
a8e322c49f | ||
|
|
4ac8bceb58 | ||
|
|
97342823e6 | ||
|
|
5a36f2ecdc | ||
|
|
8fc16b03d4 | ||
|
|
1c61e2c26b | ||
|
|
c32e4dcc16 | ||
|
|
e5023e029a | ||
|
|
679fab752a | ||
|
|
038b5d60bf | ||
|
|
b642bed2f1 | ||
|
|
5f66128bcc | ||
|
|
392a46397a | ||
|
|
34e89a53d5 | ||
|
|
3c737dda0e | ||
|
|
3ed0168cff | ||
|
|
3a97e3b6b4 | ||
|
|
093f122822 | ||
|
|
f92eb0105c | ||
|
|
02485b4b6a | ||
|
|
7ef5f06a8a | ||
|
|
d3bef2f4b5 | ||
|
|
3bc531758d | ||
|
|
2e2fed24a3 | ||
|
|
e01a6e85b4 | ||
|
|
a0f263556d | ||
|
|
37168a9bfe | ||
|
|
fd7cbaabdd |
@@ -0,0 +1,79 @@
|
||||
module.exports = {
|
||||
root: true, // 将eslint配置限制在当前配置文件所在目录下
|
||||
// 继承其他规则
|
||||
'extends': ['eslint:recommended', 'plugin:vue/recommended'],
|
||||
// 解析选项
|
||||
'parserOptions': {
|
||||
parser: "babel-eslint", // 解析器
|
||||
'ecmaVersion': 6, // ES 语法版本
|
||||
'sourceType': 'module', // ES 模块化
|
||||
'ecmaFeatures': { // ES 其他特性
|
||||
'jsx': true // 如果是 React 项目,就需要开启 jsx 语法
|
||||
}
|
||||
},
|
||||
plugins: [
|
||||
// '@stylistic/js'
|
||||
],
|
||||
// 具体检查规则
|
||||
'rules': {
|
||||
'no-var': 'error', // 不能使用 var 定义变量
|
||||
'eqeqeq': [
|
||||
'warn', // 建议使用 === 和 !==,否则警告
|
||||
'smart' // https://eslint.bootcss.com/docs/rules/eqeqeq#smart 除了少数情况下不会有警告
|
||||
],
|
||||
'prefer-arrow-callback': 'warn', // 建议使用箭头函数
|
||||
'prefer-const': 'error', // 强制使用 const 定义常量
|
||||
'indent': ['error', 2, { SwitchCase: 1 }], // 缩进 2 个空格 SwitchCase缩进
|
||||
// '@stylistic/js/indent': ['error', 2], // 缩进 2 个空格
|
||||
'no-mixed-spaces-and-tabs': 'error', // 禁止混用空格和 tab缩进
|
||||
'quotes': ['error', 'single'], // 强制使用单引号
|
||||
"spaced-comment": ["error", "always"], // 注释后面需要有空格
|
||||
"prefer-template": "off", // 字符串拼接使用模版字符串 'hello' + world => `hello${world}`
|
||||
"template-curly-spacing": ["error", "never"], // 模版字符串中{}前后没有空格 `hello${ world }` => `hello${world}` always 有一个或多个空格,never 没有空格
|
||||
"key-spacing": ["error", { mode: "strict" }], // 对象字面量中冒号的前后空格 { "foo" : 42 } => { "foo": 42 }
|
||||
"comma-spacing": ["error", { "before": false, "after": true }], // 逗号前面不能有空格,后面需要有空格 [1, 2 , 3 ,4] => [1, 2, 4, 4]
|
||||
"array-bracket-spacing": ["error","always"], // 数组前后需要有空格 [ 1,2 ] => [ 1,2 ]
|
||||
"object-curly-spacing": ["error","always"], // 对象前后需要有空格 { a:b } => { a:b }
|
||||
"no-whitespace-before-property": "error", // 禁止属性前有空格 obj . foo => obj.foo
|
||||
"func-call-spacing": ["error", "never"], // 函数调用时,函数名与()之间不能有空格 fn () => fn()
|
||||
'space-before-function-paren': ['error', 'always'], // 函数左括号空格 function name(){} => function name (){}
|
||||
// "rest-spread-spacing": "error", // 展开运算符前后需要有空格 ...arr => ... arr
|
||||
'space-before-blocks': 'error', // 代码块前面(if function等的大括号之前)需要有空格 function name(){} => function name() {}
|
||||
"space-infix-ops": 'error', // 操作符前后需要有空格 a=0 => a = 0
|
||||
'arrow-spacing': ['error', { before: true, after: true }], // 箭头函数前后需要有空格
|
||||
"brace-style": ["error", "1tbs", { "allowSingleLine": true }], // if else 等的大括号风格
|
||||
"no-irregular-whitespace": 'error', // 不能有不规则的空格 https://eslint.nodejs.cn/docs/latest/rules/no-irregular-whitespace
|
||||
"no-trailing-spaces": 'error', // 一行结束后面不要有空格
|
||||
"padded-blocks": ["error", "never"], // 代码块内部前后不要有空行
|
||||
"semi-spacing": ["error", { "before": false, "after": true }], // 分号前面不能有空格,后面需要有空格 var foo ; var bar; => var foo; var bar;
|
||||
'no-multiple-empty-lines': [ 'error', { max: 1 }], // 最多只能有一行空行
|
||||
'no-return-assign': ['off', 'except-parens'], // 禁止在 return 语句中使用赋值语句
|
||||
'no-self-assign': 'error', // 禁止自我赋值
|
||||
'no-self-compare': 'error', // 禁止自身比较
|
||||
// "newline-per-chained-call": ["error", { "ignoreChainWithDepth": 1 }], // 链式调用时,每个调用都需要换行
|
||||
"no-duplicate-imports": "error", // 禁止重复 import
|
||||
// 以下规则都是基于plugin:vue/recommended的默认值
|
||||
'vue/max-attributes-per-line': [
|
||||
'error',
|
||||
{
|
||||
singleline: 4, // 单行最多 4 个属性
|
||||
multiline: {
|
||||
max: 1, // 多行最多 1 个属性
|
||||
allowFirstLine: false, // 不允许属性与组件名称在同一行
|
||||
},
|
||||
},
|
||||
],
|
||||
'vue/singleline-html-element-content-newline': 'off', // 单行元素内容之前和之后不需要换行
|
||||
'vue/multiline-html-element-content-newline': 'error', // 多行元素内容之前和之后需要换行
|
||||
'vue/html-indent': ['error', 2], // 缩进 2 个空格
|
||||
'vue/html-closing-bracket-newline': ['error', { // 强制或禁止在自闭合标签之前换行
|
||||
'singleline': 'never',
|
||||
'multiline': 'always',
|
||||
}],
|
||||
'vue/attribute-hyphenation': 'off', // 关闭 属性名必须使用连字符的规则
|
||||
},
|
||||
env: {
|
||||
browser: true,
|
||||
node: true
|
||||
}
|
||||
}
|
||||
@@ -1,554 +0,0 @@
|
||||
[33mcommit c84f945f4263aa54bdcf10df5aff9a48bba97925[m[33m ([m[1;36mHEAD -> [m[1;32mdev_test[m[33m)[m
|
||||
Author: zhoulingpo <zhoulingpo>
|
||||
Date: Tue Nov 21 10:48:57 2023 +0800
|
||||
|
||||
自定义指令-上传的el-dialog可拖拽拉宽
|
||||
|
||||
[33mcommit 4465f597b2a0f087e5e44efbac1eeb73c32fd2c6[m[33m ([m[1;31morigin/dev_test[m[33m)[m
|
||||
Author: danshihao <danshihao@syxysoft.com>
|
||||
Date: Mon Nov 20 08:55:39 2023 +0800
|
||||
|
||||
调整流程按钮loading
|
||||
|
||||
[33mcommit 5ae467cfd2252ed056a5260851b291123da0a7a0[m
|
||||
Author: danshihao <danshihao@syxysoft.com>
|
||||
Date: Fri Nov 17 13:30:33 2023 +0800
|
||||
|
||||
调整表格序号
|
||||
|
||||
[33mcommit f3fc569c6c745e1a8b72ca297174c9060ca580f0[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Fri Nov 17 09:40:21 2023 +0800
|
||||
|
||||
自定义指令v-dragDialogWidth添加文件名换行功能
|
||||
|
||||
[33mcommit 78937bf691fd719219878e9c84bc856e7af469d9[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Thu Nov 16 17:58:45 2023 +0800
|
||||
|
||||
技术标准-起草-带入标准-作废标红
|
||||
|
||||
[33mcommit a89d917806af861f493b647c62f640a9465ef983[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Thu Nov 16 17:43:05 2023 +0800
|
||||
|
||||
国内标准库-每页显示数改变后无法获取数据
|
||||
|
||||
[33mcommit a2b204c4f9416f63e3dd7ccf4c6c6b90c3296fa0[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Thu Nov 16 17:32:47 2023 +0800
|
||||
|
||||
搜索中心-修改文本状态
|
||||
|
||||
[33mcommit 61dd3353618f65632f7a98bde0070ff5a37ed846[m
|
||||
Merge: 3b6ffb04 971f1be9
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Thu Nov 16 17:15:20 2023 +0800
|
||||
|
||||
Merge remote-tracking branch 'origin/dev_test' into dev_test
|
||||
|
||||
[33mcommit 3b6ffb041e7b7ed8aecf863d2c8fd513268ee0a9[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Thu Nov 16 17:15:09 2023 +0800
|
||||
|
||||
搜索中心-隐藏国内外政策
|
||||
|
||||
[33mcommit 971f1be9ec2c5b738565b024bd08dbeb625e9573[m
|
||||
Merge: 8e4e928f 81c887c6
|
||||
Author: danshihao <danshihao@syxysoft.com>
|
||||
Date: Thu Nov 16 16:55:42 2023 +0800
|
||||
|
||||
Merge remote-tracking branch 'origin/dev_test' into dev_test
|
||||
|
||||
[33mcommit 8e4e928f560d753cb3074a54317830c3c291502c[m
|
||||
Author: danshihao <danshihao@syxysoft.com>
|
||||
Date: Thu Nov 16 16:55:27 2023 +0800
|
||||
|
||||
调整表格序号
|
||||
|
||||
[33mcommit 81c887c6724e2c4b3ece3d68dcc631f839dae5dc[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Thu Nov 16 16:54:31 2023 +0800
|
||||
|
||||
自定义指令-el-dialog可拖拽拉宽
|
||||
|
||||
[33mcommit 8d65b779ce6101086a7819cdaaa2e15d2f1d06a6[m
|
||||
Merge: 77cf0841 5f282442
|
||||
Author: wxyclub <tjzdwxy@163.com>
|
||||
Date: Thu Nov 16 10:12:53 2023 +0800
|
||||
|
||||
Merge remote-tracking branch 'origin/dev_test' into dev_test
|
||||
|
||||
[33mcommit 77cf0841c64576c0b698bd05f723125275bfad17[m
|
||||
Author: wxyclub <tjzdwxy@163.com>
|
||||
Date: Thu Nov 16 10:12:38 2023 +0800
|
||||
|
||||
搜索中心去掉数量
|
||||
|
||||
[33mcommit 91f03db948e6d853a4592f5d73cbb78fc078303e[m
|
||||
Author: wxyclub <tjzdwxy@163.com>
|
||||
Date: Thu Nov 16 10:10:43 2023 +0800
|
||||
|
||||
搜索中心去掉 选择标准体系 按钮
|
||||
|
||||
[33mcommit 5f282442e06e5ddfad0076581704b8ca26a44e9f[m
|
||||
Merge: 454738a7 0338732f
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Thu Nov 16 10:06:03 2023 +0800
|
||||
|
||||
Merge remote-tracking branch 'origin/dev_test' into dev_test
|
||||
|
||||
[33mcommit 454738a7d2a67eef616fd5fa8ae61eb2da36223a[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Thu Nov 16 10:05:22 2023 +0800
|
||||
|
||||
企标制修订计划管控流程-标题
|
||||
|
||||
[33mcommit 0338732fecbd27a0cd5c5c885ce5ef90c5ea180d[m
|
||||
Author: wxyclub <tjzdwxy@163.com>
|
||||
Date: Tue Nov 14 17:41:30 2023 +0800
|
||||
|
||||
bug: 搜索中心展示字段修改
|
||||
|
||||
[33mcommit ef4f46298f717aabdb940ab39a291e377c0fec25[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 14 15:40:20 2023 +0800
|
||||
|
||||
企标制修订计划管控流程-标题修改
|
||||
|
||||
[33mcommit 3179dc7b2c214a14726ab349adf62cb67a010d96[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 14 15:21:34 2023 +0800
|
||||
|
||||
手机端-首页标识
|
||||
|
||||
[33mcommit 2d6e64fb8716a29b9276125261c65d05e264a49a[m
|
||||
Author: wxyclub <tjzdwxy@163.com>
|
||||
Date: Tue Nov 14 15:11:07 2023 +0800
|
||||
|
||||
bug: 搜索中心字段修改
|
||||
|
||||
[33mcommit 5c6dccb6c2dd33ef7e08beeed50727bd2f097106[m
|
||||
Author: wxyclub <tjzdwxy@163.com>
|
||||
Date: Tue Nov 14 10:31:30 2023 +0800
|
||||
|
||||
bug: 搜索中心字段修改
|
||||
|
||||
[33mcommit 2ea1dcec495e1504398fbc0d3ef67420f49aab98[m[33m ([m[1;31morigin/dev_20231114_auth[m[33m)[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Fri Nov 10 11:38:27 2023 +0800
|
||||
|
||||
产品标准-起草-带入标准表格-作废版本整体标红
|
||||
|
||||
[33mcommit f29775ae97434b8438d16f48f6252a2e236f1b69[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Fri Nov 10 11:16:14 2023 +0800
|
||||
|
||||
首页-企业标准发布标题new改为红点
|
||||
|
||||
[33mcommit 4827328ba1eba052d965a99a9abdb03baea62e10[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Fri Nov 10 09:25:12 2023 +0800
|
||||
|
||||
企标评分-详情-防止图标被覆盖
|
||||
|
||||
[33mcommit 596d79c3117fd6e40c7ec2ca3109ce8e0d983504[m
|
||||
Merge: 2c02213b 3f43d899
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Thu Nov 9 17:23:53 2023 +0800
|
||||
|
||||
Merge remote-tracking branch 'origin/dev_test' into dev_test
|
||||
|
||||
[33mcommit 2c02213bf5288e4cfd291c2b671b82f7ee211105[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Thu Nov 9 17:23:36 2023 +0800
|
||||
|
||||
技术标准-发布-解决保存时弹出上传文件窗口的bug
|
||||
|
||||
[33mcommit 3f43d8999a29cb9a1aed2610fbc4eba129ca51d9[m
|
||||
Author: wxyclub <tjzdwxy@163.com>
|
||||
Date: Thu Nov 9 11:31:07 2023 +0800
|
||||
|
||||
bug: 企标制修订技术标准修改计划状态参数变更
|
||||
|
||||
[33mcommit efa7d28c584a349834c12e798eaeea100c179767[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Wed Nov 8 17:08:38 2023 +0800
|
||||
|
||||
企标详情-评分优化
|
||||
|
||||
[33mcommit 527797ec81a6171d1fe86987f8a5658e2070a7c1[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Wed Nov 8 15:42:37 2023 +0800
|
||||
|
||||
企标页面 标准体系树更换接口
|
||||
|
||||
[33mcommit 056439a6be8807d40a331765beda80147167a5ef[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Wed Nov 8 14:14:02 2023 +0800
|
||||
|
||||
首页 table编号列固定宽度200
|
||||
|
||||
[33mcommit cbce8391a6f22fefb23e9409dd91a4c6d6550f50[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Wed Nov 8 09:27:42 2023 +0800
|
||||
|
||||
首页-企标发布-new
|
||||
|
||||
[33mcommit 5622837d7ee580c3c47e0014e3154e6a7ca8ac7c[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Wed Nov 8 09:12:31 2023 +0800
|
||||
|
||||
手机端-企业标准
|
||||
|
||||
[33mcommit a69e43502bda1b9da82cecff7c1588de69526781[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Wed Nov 8 02:04:40 2023 +0800
|
||||
|
||||
手机端-企标详情
|
||||
|
||||
[33mcommit c49af7b9278ae2373b2a278d731bf575d96aaec5[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 23:30:11 2023 +0800
|
||||
|
||||
企标详情-评分
|
||||
|
||||
[33mcommit 30a6beb93d21c59870461cc209372c3620d7c4d2[m
|
||||
Merge: a8e5f84d 3825857c
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 22:39:27 2023 +0800
|
||||
|
||||
Merge remote-tracking branch 'origin/dev_test' into dev_test
|
||||
|
||||
[33mcommit a8e5f84d74f8a3e19badfa9b5879746bcb52b576[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 22:39:17 2023 +0800
|
||||
|
||||
列表序号与分页联动
|
||||
|
||||
[33mcommit 3825857c17a5d42e3a0ffafc4c8a5e62ceb918a2[m
|
||||
Merge: 31a3dc5c e1c40887
|
||||
Author: wxyclub <tjzdwxy@163.com>
|
||||
Date: Tue Nov 7 22:36:00 2023 +0800
|
||||
|
||||
Merge remote-tracking branch 'origin/dev_test' into dev_test
|
||||
|
||||
[33mcommit 31a3dc5cd4629c1012eb2795347df56682a69f12[m
|
||||
Author: wxyclub <tjzdwxy@163.com>
|
||||
Date: Tue Nov 7 22:35:47 2023 +0800
|
||||
|
||||
bug: 企标计划修改接口还原
|
||||
|
||||
[33mcommit e1c4088767e355ced098728d24ee14ac5e19ad4e[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 22:24:03 2023 +0800
|
||||
|
||||
产品标准发布节点ifStandCodebyStandName接口检验不通过的提示信息
|
||||
|
||||
[33mcommit 80169b3881e39c83d5006271f9a6c78bec44afff[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 22:14:36 2023 +0800
|
||||
|
||||
首页-企业标准列表页
|
||||
|
||||
[33mcommit 6d331c9d5574474ecb5b996b4a7f93e3b75e8bbc[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 21:53:24 2023 +0800
|
||||
|
||||
首页-企业标准发布-new
|
||||
|
||||
[33mcommit 8d3a900919eb6108a41bab4096c2ace4d58f2bc5[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 17:30:57 2023 +0800
|
||||
|
||||
手机端-状态查询条件修改
|
||||
|
||||
[33mcommit a465ac2243baad3b1826e6b660b287c915fdfcc5[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 15:57:56 2023 +0800
|
||||
|
||||
手机端-修改
|
||||
|
||||
[33mcommit 57981cf8bc5c461eb0e8ffea657406b4e2fe8e69[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 15:04:14 2023 +0800
|
||||
|
||||
手机端-修改
|
||||
|
||||
[33mcommit d099d9ca7c14634ba7107687592bedc7c3c9e0ee[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 13:33:36 2023 +0800
|
||||
|
||||
技术标准-起草在进入onlyoffice时保存
|
||||
|
||||
[33mcommit be595c76456a9e31da93b964f0a3602bc7421258[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 11:17:50 2023 +0800
|
||||
|
||||
按钮loading-手机端-企标制修订流程及企业标准库流程
|
||||
|
||||
[33mcommit 3322393853da260e7a517bd933187e5909e160c5[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 11:08:16 2023 +0800
|
||||
|
||||
按钮loading-手机端-标准入库流程
|
||||
|
||||
[33mcommit 74fa2c571856bd1dace44b3518f9aa2ad1679a45[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 11:06:36 2023 +0800
|
||||
|
||||
按钮loading-手机端-政策征求意见流程
|
||||
|
||||
[33mcommit d6ee244ed4982f3d7eede131035a363e2b6b4620[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 11:00:55 2023 +0800
|
||||
|
||||
按钮loading-手机端-未符合项整改流程
|
||||
|
||||
[33mcommit 4f95cd31952284f6c7cfd350630b1a375ba75b7d[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 10:56:52 2023 +0800
|
||||
|
||||
按钮loading-手机端-企标废止流程
|
||||
|
||||
[33mcommit 7d438de94a12144925af55e4cdd4f4df9cdc534f[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 10:52:45 2023 +0800
|
||||
|
||||
按钮loading-手机端-企标复审流程
|
||||
|
||||
[33mcommit a28e906f4ad05e8a73414ce80dae9896b45f3e9b[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 10:48:02 2023 +0800
|
||||
|
||||
按钮loading-手机端-企标制修订计划管控流程
|
||||
|
||||
[33mcommit 04c85f6cc45ad9d70bf45b8e4cd0a1fa3ca37913[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 10:30:48 2023 +0800
|
||||
|
||||
按钮loading-手机端-参与外部标准制修订信息提报流程
|
||||
|
||||
[33mcommit 8fd6abfae93d8de293747829a5bc2fb2403fe77e[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 10:21:58 2023 +0800
|
||||
|
||||
按钮loading-手机端-未符合项整改流程
|
||||
|
||||
[33mcommit 40447d9848ff143e1c49785b4288f4a9769b97fe[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 10:19:30 2023 +0800
|
||||
|
||||
按钮loading-手机端-外部署名推荐审批流程
|
||||
|
||||
[33mcommit 81c40db82dd1d90eab6ad937467b31c4b112e6f2[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 10:14:18 2023 +0800
|
||||
|
||||
按钮loading-手机端-加入标准化协会信息提报流程
|
||||
|
||||
[33mcommit 98c97dbaac8c28d350e00ef0d163231dd696ecbc[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 10:11:28 2023 +0800
|
||||
|
||||
按钮loading-手机端-项目清单确认流程
|
||||
|
||||
[33mcommit 8b0c98b9c3f5a8bb225f438d32ccd6ca8aaf4079[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 10:09:26 2023 +0800
|
||||
|
||||
按钮loading-手机端-项目合规评估流程
|
||||
|
||||
[33mcommit ea2e1345e7f58ff0cf4098cc033b6bdf69490c33[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 10:05:50 2023 +0800
|
||||
|
||||
按钮loading-手机端-标准合规评估流程
|
||||
|
||||
[33mcommit 214911dd7cef60b4b9a4c62e057f8a59b1ed7d77[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 09:39:30 2023 +0800
|
||||
|
||||
按钮loading-手机端-标准清单发布/更新流程
|
||||
|
||||
[33mcommit 062594fc09ecc012346a5cf44913554e38fc2ccc[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 09:37:42 2023 +0800
|
||||
|
||||
按钮loading-手机端-标准解读流程
|
||||
|
||||
[33mcommit 7670fd9cbf5091817be031690b7cfe37df41c838[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 09:33:10 2023 +0800
|
||||
|
||||
按钮loading-手机端-外部标准化协会参会流程
|
||||
|
||||
[33mcommit f8c61e854eb89ec6076901a9570d5a9a3d0d7950[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 09:28:34 2023 +0800
|
||||
|
||||
按钮loading-手机端-外部标准化协会入会流程
|
||||
|
||||
[33mcommit 271fe6069b15c8a9e63b3d6e2f60725cd140b656[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 09:23:42 2023 +0800
|
||||
|
||||
按钮loading-手机端-标准调研流程
|
||||
|
||||
[33mcommit e5d943e166fba749aa372b8e3b2b464e9614fff8[m
|
||||
Merge: a2ae1a82 e8a9c37e
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 09:15:24 2023 +0800
|
||||
|
||||
Merge remote-tracking branch 'origin/dev_test' into dev_test
|
||||
|
||||
[33mcommit a2ae1a82780137817dcd1451fa709e986d38d7df[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Tue Nov 7 09:15:17 2023 +0800
|
||||
|
||||
按钮loading-手机端-标准征求意见流程
|
||||
|
||||
[33mcommit e8a9c37e93d6a69a74823daaccd9c3fc8aa858dd[m
|
||||
Merge: e8644474 62152dc8
|
||||
Author: wxyclub <tjzdwxy@163.com>
|
||||
Date: Mon Nov 6 19:23:18 2023 +0800
|
||||
|
||||
Merge remote-tracking branch 'origin/dev_test' into dev_test
|
||||
|
||||
[33mcommit e86444748674b9b0af28d748ec76eb9676a5d13e[m
|
||||
Author: wxyclub <tjzdwxy@163.com>
|
||||
Date: Mon Nov 6 19:23:10 2023 +0800
|
||||
|
||||
bug: 企标计划修改接口变更
|
||||
|
||||
[33mcommit 62152dc88d37eec904bce58ad1bab526ff3c4261[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Mon Nov 6 18:38:14 2023 +0800
|
||||
|
||||
按钮loading-加入标准化协会信息备案流程
|
||||
|
||||
[33mcommit f81b67b5e039f2148ea2a4db9a94be1efd6ab789[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Mon Nov 6 18:27:29 2023 +0800
|
||||
|
||||
按钮loading-参与外部标准制修订信息提报流程
|
||||
|
||||
[33mcommit a3065afb5bed6b8b07ceaa72e1552f11378e2438[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Mon Nov 6 18:13:15 2023 +0800
|
||||
|
||||
按钮loading-外部署名推荐审批流程
|
||||
|
||||
[33mcommit a0dbd719aaf88c0a94675f1378b645d942fcf0f2[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Mon Nov 6 17:56:57 2023 +0800
|
||||
|
||||
按钮loading-外部标准化协会参会流程
|
||||
|
||||
[33mcommit 1cb34d7cff5aa1abb7bddc87a5fe3db0ba68014e[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Mon Nov 6 17:14:27 2023 +0800
|
||||
|
||||
按钮loading-外部标准化协会入会流程
|
||||
|
||||
[33mcommit e991b4ace0ac0fc6c336c7b5a5a7ee4f5659fd44[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Mon Nov 6 16:34:15 2023 +0800
|
||||
|
||||
手机端关闭数小福
|
||||
|
||||
[33mcommit 3af2c8c7e26b134c7f582d050028449ce73cc535[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Mon Nov 6 16:26:44 2023 +0800
|
||||
|
||||
产品制修订-发布节点-发布日期-修改时使用原来的日期,制定修订使用当前日期
|
||||
|
||||
[33mcommit 4ff2696b869b6783cadf2d10164c6806a2a3b1ea[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Mon Nov 6 16:03:02 2023 +0800
|
||||
|
||||
按钮loading-未符合项整改流程
|
||||
|
||||
[33mcommit 7cbd4aa7280f365982e568563cf720316b3201bc[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Mon Nov 6 15:34:13 2023 +0800
|
||||
|
||||
按钮loading-项目清单确认流程
|
||||
|
||||
[33mcommit 5bfda5feca253d01e1bcb04ddcec6dec94e049b3[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Mon Nov 6 15:05:56 2023 +0800
|
||||
|
||||
按钮loading-项目合规评估流程-项目
|
||||
|
||||
[33mcommit ff5286c4eb3e56b68daf14e2373316218c511e74[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Mon Nov 6 14:03:31 2023 +0800
|
||||
|
||||
按钮loading-标准合规评估流程
|
||||
|
||||
[33mcommit 3587fc859ed850ab384ae804862dd3ae35e8631b[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Mon Nov 6 13:23:09 2023 +0800
|
||||
|
||||
按钮loading-标准解读流程
|
||||
|
||||
[33mcommit 81862e012a8b6998af266165ba58cf3c07fdf61c[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Mon Nov 6 11:51:10 2023 +0800
|
||||
|
||||
按钮loading-标准清单发布/更新流程
|
||||
|
||||
[33mcommit ebda3b0beae45355385781316a13013e232840e4[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Mon Nov 6 11:20:32 2023 +0800
|
||||
|
||||
按钮loading-标准调研流程
|
||||
|
||||
[33mcommit dda0b8c60c649e552b16e4881fdc2ae583cd12ee[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Mon Nov 6 10:23:35 2023 +0800
|
||||
|
||||
按钮loading-标准入库流程
|
||||
|
||||
[33mcommit 6dc35be591548d235f5c9b25b978a022deb31cd4[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Mon Nov 6 09:49:06 2023 +0800
|
||||
|
||||
按钮loading-企标制修订立项计划
|
||||
|
||||
[33mcommit 3a403e87615f436402c303cf20617f6541e55227[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Mon Nov 6 09:32:12 2023 +0800
|
||||
|
||||
按钮loading-企标制修订计划管控
|
||||
|
||||
[33mcommit eaa58e0a18bf8ec172b37e4491356a2667537bb1[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Mon Nov 6 08:47:11 2023 +0800
|
||||
|
||||
按钮loading-企标废止流程
|
||||
|
||||
[33mcommit 9260629872ffdf5db5ec2342ee6cee61e0d03cb5[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Fri Nov 3 17:33:21 2023 +0800
|
||||
|
||||
技术标准-顺序号校验
|
||||
|
||||
[33mcommit f336801fe6f7e1737939f934143835cafba4cd48[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Fri Nov 3 16:57:54 2023 +0800
|
||||
|
||||
企标复审流程-无法选择人员
|
||||
|
||||
[33mcommit 96901b1cbb065142d53d59b587861b74ae789ec0[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Fri Nov 3 16:07:27 2023 +0800
|
||||
|
||||
企标法规库-树-重新获取数据问题
|
||||
|
||||
[33mcommit 5fb54c8959f1948c1c61d55dc7e2aa8bac89686c[m
|
||||
Author: zyn <nn_0223@163.com>
|
||||
Date: Fri Nov 3 15:41:35 2023 +0800
|
||||
|
||||
技术标准-顺序号无法修改
|
||||
@@ -43,11 +43,15 @@
|
||||
"vuex": "^3.4.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@stylistic/eslint-plugin-js": "^1.5.1",
|
||||
"@vue/cli-plugin-babel": "~4.5.0",
|
||||
"@vue/cli-plugin-router": "~4.5.0",
|
||||
"@vue/cli-plugin-vuex": "~4.5.0",
|
||||
"@vue/cli-service": "~4.5.0",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"babel-plugin-import": "^1.13.3",
|
||||
"eslint": "6.7.2",
|
||||
"eslint-plugin-vue": "6.2.2",
|
||||
"less": "^3.13.1",
|
||||
"less-loader": "^5.0.0",
|
||||
"popper.js": "^1.16.1",
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=yes">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta http-equiv="pragram" content="no-cache">
|
||||
<meta http-equiv="Pragma" content="no-cache" />
|
||||
|
||||
+15
-4
@@ -34,7 +34,7 @@
|
||||
<div class="user-box">
|
||||
<img :src="userAvator" v-if="$store.getters.userInfo.avator">
|
||||
<span class="iconfont" v-else style="color: #000;"></span>
|
||||
<span style="color: #000;">{{ $store.getters.userInfo.uName }}</span>
|
||||
<span style="color: #000;" v-if="uName">{{ uName }}</span>
|
||||
<i style="color: #000;" class="el-icon-arrow-down"/>
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
@@ -70,7 +70,7 @@
|
||||
<div class="user-box">
|
||||
<img :src="userAvator" v-if="$store.getters.userInfo.avator">
|
||||
<span class="iconfont" v-else style="color: #000;"></span>
|
||||
<span style="color: #000;">{{ $store.getters.userInfo.uName }}</span>
|
||||
<span style="color: #000;" v-if="uName">{{ uName }}</span>
|
||||
<i style="color: #000;" class="el-icon-arrow-down"/>
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
@@ -97,9 +97,9 @@
|
||||
|
||||
<script>
|
||||
import {mapGetters, mapState} from 'vuex'
|
||||
import {webLoginType, ssoLogoutUrlDev} from '@/sysConfig'
|
||||
import customerService from "@/components/customerService";
|
||||
import isMobile from "./store/isMobile";
|
||||
import { loginOut } from '@/utils/login'
|
||||
|
||||
export default {
|
||||
name: 'App',
|
||||
@@ -152,6 +152,8 @@
|
||||
confirmButtonClass: 'common-button-primary',
|
||||
roundButton: false
|
||||
}).then(() => {
|
||||
loginOut()
|
||||
/*
|
||||
if (webLoginType != null && webLoginType === 'idm') {
|
||||
this.$store.dispatch('logout')
|
||||
window.location.href = ssoLogoutUrlDev
|
||||
@@ -168,6 +170,7 @@
|
||||
}, e => {
|
||||
})
|
||||
}
|
||||
*/
|
||||
// this.$http.post('/logout', {}, res => {
|
||||
// window.location.href = 'http://testsso1.foton.com.cn/oauth2.0/authorize?client_id=app_slrs&redirect_uri=http://127.0.0.1:9090&response_type=code'
|
||||
// })
|
||||
@@ -243,6 +246,9 @@
|
||||
userAvator() {
|
||||
return this.$store.getters.userInfo.avator || require('@/assets/images/avator_default.png')
|
||||
},
|
||||
uName () {
|
||||
return this.$store.getters.userInfo.uName || this.$store.getters.userInfo.uname
|
||||
},
|
||||
customerServiceShow () {
|
||||
return !isMobile()
|
||||
},
|
||||
@@ -457,5 +463,10 @@
|
||||
bottom: 20px;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
sup{
|
||||
vertical-align: super!important;
|
||||
}
|
||||
sub{
|
||||
vertical-align: sub!important;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -63,7 +63,7 @@ export const m = {
|
||||
issueTime: '发布日期',
|
||||
putTime: '实施日期',
|
||||
standNatureShow: '标准性质',
|
||||
standStateShow: '文本状态',
|
||||
standStateShow: '标准状态',
|
||||
action: '操作',
|
||||
see: '查看',
|
||||
stand: '标准/文件性质',
|
||||
@@ -155,7 +155,7 @@ export const m = {
|
||||
dataType: '标准类别',
|
||||
standardNumberAndPolicyNumber: '标准编号/政策编号',
|
||||
standardNameAndPolicyName: '标准名称/政策名称',
|
||||
textState: '文本状态',
|
||||
textState: '标准状态',
|
||||
conversionResults: '转换结果',
|
||||
timeConsuming: '消耗时间',
|
||||
searchByModule: '根据模块查找',
|
||||
@@ -169,7 +169,7 @@ export const m = {
|
||||
searchByStandardNumberAndName: '根据标准号/名称查找',
|
||||
split: '拆分',
|
||||
pleaseSelectDataType: '请选择资料类型',
|
||||
pleaseSelectTheTextState: '请选择文本状态',
|
||||
pleaseSelectTheTextState: '请选择标准状态',
|
||||
push: '推送',
|
||||
bulkCopy: '批量复制',
|
||||
clauseRequirements: '条款要求',
|
||||
@@ -260,7 +260,7 @@ export const m = {
|
||||
findByTheResponsibilityDepartment: '根据责任部门查找',
|
||||
findByNormativeReferenceStandard: '根据规范性引用标准查找',
|
||||
lookupByStandardStatus: '根据标准状态查找',
|
||||
lookupByStandardStatusText: '根据文本状态查找',
|
||||
lookupByStandardStatusText: '根据标准状态查找',
|
||||
findByPrincipalCompiler: '根据主要编制者查找',
|
||||
contentInThisPaper: '内容摘要',
|
||||
substituteForStandNumber: '代替标准号',
|
||||
@@ -506,8 +506,8 @@ export const m = {
|
||||
searchByNewTextNumberOrname: '根据新文本号/名称查找',
|
||||
compare: '比对',
|
||||
batchDeletion: '批量删除',
|
||||
oldTextState: '旧文本状态',
|
||||
newTextState: '新文本状态',
|
||||
oldTextState: '旧标准状态',
|
||||
newTextState: '新标准状态',
|
||||
collect: '收藏',
|
||||
sharingStandard: '分享标准',
|
||||
standardName: '标准名称',
|
||||
@@ -644,7 +644,7 @@ export const m = {
|
||||
comparison: '比对',
|
||||
oldDocumentTextNumber: '旧文档文本号',
|
||||
oldDocumentTextName: '旧文档文本名称',
|
||||
oldTextStatus: '旧文本状态',
|
||||
oldTextStatus: '旧标准状态',
|
||||
draft: '草稿',
|
||||
draftForComments: '征求意见稿',
|
||||
draftForReview: '送审稿',
|
||||
@@ -653,7 +653,7 @@ export const m = {
|
||||
standardText: '标准文本',
|
||||
newDocumentTextNumber: '新文档文本号',
|
||||
newDocumentTextName: '新文档文本名称',
|
||||
newTextStatus: '新文本状态',
|
||||
newTextStatus: '新标准状态',
|
||||
comparisonType: '比对类型',
|
||||
comparisonTime: '比对时间',
|
||||
dataLoading: '数据加载中',
|
||||
|
||||
@@ -396,3 +396,6 @@
|
||||
border-color: #3986c9
|
||||
}
|
||||
|
||||
.flow-list{
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import store from '@/store'
|
||||
import {Message} from 'element-ui'
|
||||
import { baseUrl,webLoginType,ssoLoginUrlDev } from '@/sysConfig'
|
||||
import isMobile from "../../store/isMobile";
|
||||
import { loginAgain } from '@/utils/login'
|
||||
|
||||
import domMessage from '../messageOnce/messageOnce'
|
||||
|
||||
@@ -69,6 +70,7 @@ _axios.interceptors.response.use(
|
||||
}
|
||||
}
|
||||
if(res.data && res.data.respCode && res.data.respCode === 'LE505'){
|
||||
/*
|
||||
if (isMobile()) {
|
||||
localStorage.removeItem('token')
|
||||
return router.push('/phoneIndex')
|
||||
@@ -84,6 +86,12 @@ _axios.interceptors.response.use(
|
||||
}else if(webLoginType != null && webLoginType === 'dev'){
|
||||
return router.push('/login')
|
||||
}
|
||||
*/
|
||||
messageOnce.warning({
|
||||
message: '登录超时,请重新登录',
|
||||
type: 'warning'
|
||||
})
|
||||
loginAgain()
|
||||
}
|
||||
return res
|
||||
},
|
||||
|
||||
@@ -4,6 +4,7 @@ import store from '@/store'
|
||||
import {Message} from 'element-ui'
|
||||
import { baseUrl,webLoginType,ssoLoginUrlDev } from '@/sysConfig'
|
||||
import isMobile from "../../store/isMobile";
|
||||
import { loginAgain } from '@/utils/login'
|
||||
|
||||
import domMessage from '../messageOnce/messageOnce'
|
||||
|
||||
@@ -64,6 +65,7 @@ service.interceptors.response.use(
|
||||
}
|
||||
}
|
||||
if(res.data && res.data.respCode !== undefined && res.data.respCode === 'LE505'){
|
||||
/*
|
||||
if (isMobile()) {
|
||||
localStorage.removeItem('token')
|
||||
return router.push('/phoneIndex')
|
||||
@@ -80,6 +82,12 @@ service.interceptors.response.use(
|
||||
return router.push('/login')
|
||||
}
|
||||
}
|
||||
*/
|
||||
messageOnce.warning({
|
||||
message: '登录超时,请重新登录',
|
||||
type: 'warning'
|
||||
})
|
||||
loginAgain()
|
||||
}
|
||||
return res.data
|
||||
},
|
||||
|
||||
+100
-20
@@ -1,27 +1,107 @@
|
||||
/**
|
||||
* 文件预览
|
||||
*/
|
||||
import { onlyOfficeUrl,kkFileViewUrl } from '@/sysConfig'
|
||||
import { onlyOfficeUrl, kkFileViewUrl } from '@/sysConfig'
|
||||
import { getBusStandFileByAttId } from 'api/process'
|
||||
let Base64 = require('js-base64').Base64;
|
||||
const Base64 = require('js-base64').Base64;
|
||||
import store from '@/store'
|
||||
export default attId => {
|
||||
getBusStandFileByAttId({
|
||||
attId
|
||||
}).then(res => {
|
||||
if(res){
|
||||
const editFileInfo = res.data
|
||||
if(editFileInfo.fileSuffix.toLowerCase() === 'pdg'){
|
||||
window.open('book://ssreader/e0?url='+editFileInfo.downLoadUrl)
|
||||
}else if(editFileInfo.fileSuffix.toLowerCase() === 'pdf'){
|
||||
window.open('./static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
|
||||
}else {
|
||||
const nowTime = new Date().getTime()
|
||||
// window.open(onlyOfficeUrl+'/onlyOffice?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
|
||||
window.open(kkFileViewUrl+'/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)) + '&watermarkTxt=' + encodeURIComponent(store.getters.userInfo.userName));
|
||||
import { Loading } from 'element-ui';
|
||||
import axios from '@/common/axiosV2'
|
||||
import isMobile from '@/store/isMobile'
|
||||
|
||||
}
|
||||
}
|
||||
}).catch(e => {
|
||||
})
|
||||
// 获取转换为pdf的文件
|
||||
function queryConvertAtt (data) {
|
||||
return axios({
|
||||
url: 'api/lawss/sarBussStandFile/queryConvertAtt',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
async function preview (attId, type) {
|
||||
let loading;
|
||||
if (type !== 'getUrl') {
|
||||
loading = Loading.service({
|
||||
lock: true,
|
||||
text: '正在加载文件',
|
||||
spinner: 'el-icon-loading',
|
||||
})
|
||||
}
|
||||
const res = await getBusStandFileByAttId({ attId })
|
||||
if (res.ok && res.data) {
|
||||
let viewer = '/static/pdf/web/viewer.html?file='
|
||||
if (isMobile()) {
|
||||
viewer = '/static/pdf_old/web/viewer.html?file='
|
||||
}
|
||||
const file = res.data
|
||||
let url = ''
|
||||
if (file.fileSuffix.toLowerCase() === 'pdg') {
|
||||
if (isMobile()) {
|
||||
this.$message.warning('pdg文件,不支持手机端预览')
|
||||
return
|
||||
} else {
|
||||
url = 'book://ssreader/e0?url=' + file.downLoadUrl
|
||||
}
|
||||
} else if (file.fileSuffix.toLowerCase() === 'pdf') {
|
||||
url = viewer + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + file.id)
|
||||
} else {
|
||||
// onlyoffice在线编辑文件转换为pdf预览 -> kkfileview预览乱码
|
||||
if (file.onlined && file.onlined === 1) {
|
||||
const res = await queryConvertAtt({ attId })
|
||||
if (res.ok && res.data) {
|
||||
url = viewer + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + res.data.attId)
|
||||
} else {
|
||||
this.$message.error('文档未转换成功或本地读取不到该文档')
|
||||
return
|
||||
}
|
||||
} else if (file.previewAttId) {
|
||||
url = viewer + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + file.previewAttId)
|
||||
}else {
|
||||
url = kkFileViewUrl + '/onlinePreview?url=' + encodeURIComponent(Base64.encode(file.downLoadUrl)) + '&watermarkTxt=' + encodeURIComponent(store.getters.userInfo.userName)
|
||||
}
|
||||
}
|
||||
if (type === 'getUrl') {
|
||||
return url
|
||||
}
|
||||
window.open(url)
|
||||
}
|
||||
loading && loading.close()
|
||||
}
|
||||
|
||||
export default preview;
|
||||
// export default (attId) => {
|
||||
// const loading = Loading.service({
|
||||
// lock: true,
|
||||
// text: '正在加载文件',
|
||||
// spinner: 'el-icon-loading',
|
||||
// })
|
||||
// getBusStandFileByAttId({
|
||||
// attId
|
||||
// }).then(res => {
|
||||
// if(res) {
|
||||
// const editFileInfo = res.data
|
||||
// if(editFileInfo.fileSuffix.toLowerCase() === 'pdg') {
|
||||
// window.open('book://ssreader/e0?url=' + editFileInfo.downLoadUrl)
|
||||
// }else if(editFileInfo.fileSuffix.toLowerCase() === 'pdf') {
|
||||
// window.open('./static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
|
||||
// }else {
|
||||
// // const nowTime = new Date().getTime()
|
||||
// // window.open(onlyOfficeUrl+'/onlyOffice?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
|
||||
// if (res.data && res.data.onlined === 1) {
|
||||
// queryConvertAtt({ attId }).then(res => {
|
||||
// if (res.ok && res.data) {
|
||||
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + res.data.attId))
|
||||
// } else {
|
||||
// this.$message.error('文档未转换成功或本地读取不到该文档')
|
||||
// }
|
||||
// }).catch(() => {
|
||||
// this.$message.error('文档未转换成功或本地读取不到该文档')
|
||||
// })
|
||||
// }
|
||||
// window.open(kkFileViewUrl + '/onlinePreview?url=' + encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl)) + '&watermarkTxt=' + encodeURIComponent(store.getters.userInfo.userName));
|
||||
// }
|
||||
// }
|
||||
// }).finally(() => {
|
||||
// loading.close()
|
||||
// })
|
||||
// }
|
||||
|
||||
@@ -94,6 +94,10 @@ export default {
|
||||
required:{
|
||||
type:Boolean,
|
||||
default:false
|
||||
},
|
||||
naButton:{
|
||||
type:Boolean,
|
||||
default:false
|
||||
}
|
||||
},
|
||||
components: {},
|
||||
@@ -144,7 +148,16 @@ export default {
|
||||
return {
|
||||
disabledDate (time) {
|
||||
return _this.tagList.includes(_this.$dateFormat(time, 'yyyy-MM-dd'))
|
||||
}
|
||||
},
|
||||
shortcuts:_this.naButton ? [{
|
||||
text: 'N/A',
|
||||
onClick() {
|
||||
_this.tagList.push('N/A')
|
||||
_this.datePickerVisible = false
|
||||
_this.datePickerVal = ''
|
||||
_this.$emit('input', _this.tagList.join(','))
|
||||
}
|
||||
}] : null
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -212,10 +212,11 @@ export default {
|
||||
},
|
||||
watch: {
|
||||
value: {
|
||||
handler(val) {
|
||||
if (this.showFileModel) {
|
||||
this.getShowFileList()
|
||||
}
|
||||
handler () {
|
||||
this.getShowFileList()
|
||||
// if (this.showFileModel) {
|
||||
// this.getShowFileList()
|
||||
// }
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -540,6 +541,7 @@ export default {
|
||||
*/
|
||||
getShowFileList() {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.showFileList = []
|
||||
if (this.value && this.value !== '') {
|
||||
let paramefile = this.value
|
||||
if (paramefile.charAt(paramefile.length - 1) === ',') {
|
||||
|
||||
@@ -131,6 +131,8 @@
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@@ -185,7 +187,7 @@ export default {
|
||||
replaceLawsNumForm: {
|
||||
standNumber: '', // 政策编号
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: '',
|
||||
quoteIdList: '',
|
||||
|
||||
@@ -130,7 +130,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="文本状态"
|
||||
label="标准状态"
|
||||
show-overflow-tooltip
|
||||
width="130">
|
||||
<template slot-scope="scope">
|
||||
@@ -143,6 +143,8 @@
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@@ -206,7 +208,7 @@
|
||||
standNumber: '', // 政策编号
|
||||
standName: '',
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'INLAND',
|
||||
quoteIdList: '',
|
||||
|
||||
@@ -120,13 +120,15 @@
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="stateName"
|
||||
label="文本状态">
|
||||
label="标准状态">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<loading :loading="replaceLoading">{{$t('m.dataAcquisition')}}</loading>
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@@ -187,7 +189,7 @@ export default {
|
||||
replaceLawsNumForm: {
|
||||
numberName: '', // 政策编号
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
lawsType: 'FOREIGN',
|
||||
quoteIdList: '',
|
||||
|
||||
@@ -123,6 +123,8 @@
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@@ -183,7 +185,7 @@
|
||||
// 代替标准号
|
||||
replaceLawsNumForm: {
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'ALL',
|
||||
quoteIdList: '',
|
||||
|
||||
@@ -126,6 +126,8 @@
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@@ -192,7 +194,7 @@ export default {
|
||||
dataSource: '',
|
||||
standNumber: '', // 标准编号
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'INLAND',
|
||||
quoteIdList: '',
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="textStatus"
|
||||
label="文本状态"
|
||||
label="标准状态"
|
||||
width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ textStatusMap[scope.row.textStatus] }}</span>
|
||||
@@ -136,6 +136,8 @@
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page-size = "replaceLawsNumForm.pageSize"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@@ -189,8 +191,8 @@ export default {
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
textStatus:'',//文本状态
|
||||
textStatusMap: {}, // 文本状态id与name对应
|
||||
textStatus:'',//标准状态
|
||||
textStatusMap: {}, // 标准状态id与name对应
|
||||
replaceLawsNumModel: false,
|
||||
sarBussionessLawsEO: {
|
||||
replaceLawsNum: ''
|
||||
@@ -200,7 +202,7 @@ export default {
|
||||
standNumber: '', // 标准编号
|
||||
standName: '', // 标准编号
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'INLAND',
|
||||
quoteIdList: '',
|
||||
@@ -232,12 +234,12 @@ export default {
|
||||
this.$http.get("sys/dictype/getDicTypeListCode", {}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.standStateOptions = res.data.WBZTCLASS; // 文本状态
|
||||
this.standStateOptions = res.data.WBZTCLASS; // 标准状态
|
||||
this.setMap(this.standStateOptions);
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
// 将文本状态的id与name对应
|
||||
// 将标准状态的id与name对应
|
||||
setMap(data) {
|
||||
data.forEach(item => {
|
||||
this.$set(this.textStatusMap, item.value, item.label)
|
||||
|
||||
@@ -147,7 +147,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standStatusShow"
|
||||
label="文本状态"
|
||||
label="标准状态"
|
||||
width="130">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -155,6 +155,8 @@
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@@ -215,7 +217,7 @@ export default {
|
||||
dataSource: 'BUSINESS', // 数据来源
|
||||
numberName: '', // 政策编号
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
quoteIdList: '',
|
||||
menuId: '',
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="textStatus"
|
||||
label="文本状态"
|
||||
label="标准状态"
|
||||
width="130">
|
||||
<template slot-scope="scope">
|
||||
<span>
|
||||
@@ -139,6 +139,8 @@
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@@ -196,8 +198,8 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
textStatus:'',//文本状态
|
||||
textStatusMap: {}, // 文本状态id与name对应
|
||||
textStatus:'',//标准状态
|
||||
textStatusMap: {}, // 标准状态id与name对应
|
||||
replaceLawsNumModel: false,
|
||||
sarBussionessLawsEO: {
|
||||
replaceLawsNum: ''
|
||||
@@ -206,7 +208,7 @@ export default {
|
||||
replaceLawsNumForm: {
|
||||
standNumber: '', // 政策编号
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
standType: 'FOREIGN',
|
||||
quoteIdList: '',
|
||||
@@ -233,7 +235,7 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 将文本状态的id与name对应
|
||||
// 将标准状态的id与name对应
|
||||
setMap(data) {
|
||||
data.forEach(item => {
|
||||
this.$set(this.textStatusMap, item.value, item.label)
|
||||
@@ -385,7 +387,7 @@ export default {
|
||||
this.$http.get('sys/dictype/getDicTypeListCode', '', {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.standStateOptions = res.data.WBZTCLASS // 文本状态
|
||||
this.standStateOptions = res.data.WBZTCLASS // 标准状态
|
||||
this.setMap(this.standStateOptions)
|
||||
}, e => {
|
||||
console.log("error");
|
||||
|
||||
@@ -109,15 +109,6 @@
|
||||
<!-- min-width="130"-->
|
||||
<!-- >-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column
|
||||
type="index"
|
||||
width="55"
|
||||
label="序号"
|
||||
align="center">
|
||||
<template slot-scope="{scope, column, $index}">
|
||||
{{ ($index + 1) + (replacePage - 1) * replaceLawsNumForm.pageSize }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="政策编号"
|
||||
min-width="130">
|
||||
@@ -145,13 +136,15 @@
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standStatusShow"
|
||||
label="文本状态"
|
||||
label="标准状态"
|
||||
width="130">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<loading :loading="replaceLoading">{{$t('m.dataAcquisition')}}</loading>
|
||||
<!--分页-->
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
style="position: relative;"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@@ -211,7 +204,7 @@ export default {
|
||||
lawsNumber: '', // 政策编号
|
||||
numberName: '', // 政策名称
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
quoteIdList: '',
|
||||
menuId: '',
|
||||
|
||||
@@ -0,0 +1,265 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- 导入模态窗 -->
|
||||
<el-dialog
|
||||
v-if="visible"
|
||||
v-dragDialogWidth
|
||||
class="dialog"
|
||||
width="400px"
|
||||
:visible="visible"
|
||||
title="导入文件"
|
||||
:close-on-click-modal="false"
|
||||
append-to-body
|
||||
@close="onClose"
|
||||
>
|
||||
<el-upload
|
||||
ref="importfile"
|
||||
multiple
|
||||
drag
|
||||
:action="action"
|
||||
:headers="headers"
|
||||
name="file"
|
||||
:file-list="fileList"
|
||||
:accept="accept"
|
||||
:auto-upload="autoUpload"
|
||||
:limit="limit"
|
||||
:before-upload="beforeUpload"
|
||||
:on-success="onSuccess"
|
||||
:on-remove="onRemove"
|
||||
:on-preview="onPreview"
|
||||
:on-exceed="onExceed"
|
||||
:on-error="onError"
|
||||
:show-file-list="true"
|
||||
>
|
||||
<i class="el-icon-upload" style="color: #3399ff" />
|
||||
<div class="el-upload__text">点击或拖拽上传文件</div>
|
||||
</el-upload>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<slot />
|
||||
<el-button
|
||||
v-if="manualUpload"
|
||||
type="primary"
|
||||
size="mini"
|
||||
class="common-button-default"
|
||||
@click="ManualUpload"
|
||||
>
|
||||
提交
|
||||
</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 导入失败-->
|
||||
<el-dialog
|
||||
:visible.sync="importFailed"
|
||||
:close-on-click-modal="false"
|
||||
width="400px"
|
||||
append-to-body
|
||||
>
|
||||
<p slot="title" style="color:#f60">
|
||||
<span>导入失败</span>
|
||||
</p>
|
||||
<div style="max-height: 300px;overflow: auto;padding: 10px 0;">
|
||||
<p v-html="importForm.content" />
|
||||
</div>
|
||||
<div slot="footer" class="demo-drawer-footer">
|
||||
<el-button
|
||||
type="primary"
|
||||
round
|
||||
class="common-button-default"
|
||||
icon="el-icon-check"
|
||||
@click="importFailed = false"
|
||||
>
|
||||
确认
|
||||
</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'Import',
|
||||
props: {
|
||||
accept: {
|
||||
type: String,
|
||||
default: '.pdf, .PDF, .doc, .DOC, .docx, .DOCX, .ppt, .PPT, .pptx, .PPTX, .xls, .XLS, .xlsx, .XLSX, .pdg, .PDG'
|
||||
},
|
||||
action: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
visible: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
size: {
|
||||
type: Number,
|
||||
default: 200
|
||||
},
|
||||
// 是否自动上传
|
||||
autoUpload: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
// 手动上传按钮
|
||||
manualUpload: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
limit: {
|
||||
type: Number,
|
||||
default: 8
|
||||
},
|
||||
ids: {
|
||||
required: false,
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
names: {
|
||||
required: false,
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
headers: {
|
||||
token: JSON.parse(localStorage.getItem('userInfo')).token
|
||||
},
|
||||
importFailed: false,
|
||||
importForm: {},
|
||||
fileList: [],
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.initFileList()
|
||||
},
|
||||
methods: {
|
||||
initFileList () {
|
||||
if (this.ids && this.ids !== '' && this.names && this.names !== '') {
|
||||
const fileList = []
|
||||
const idArr = this.ids.split(',')
|
||||
const nameArr = this.names.split(',')
|
||||
for (let i = 0; i < idArr.length; i++) {
|
||||
fileList.push({
|
||||
id: idArr[i],
|
||||
name: nameArr[i]
|
||||
})
|
||||
}
|
||||
this.fileList = fileList
|
||||
} else {
|
||||
this.fileList = []
|
||||
}
|
||||
},
|
||||
onClose () {
|
||||
this.$emit('update:visible', false)
|
||||
},
|
||||
// 导入按钮 上传之前的钩子
|
||||
beforeUpload (file) {
|
||||
const fileName = file.name
|
||||
const fileSuffix = fileName.slice(fileName.lastIndexOf('.') + 1)
|
||||
// 判断上传文件格式
|
||||
const acceptArr = this.accept.split(',').map(type => type.slice(type.lastIndexOf('.') + 1))
|
||||
// 判断上传文件格式
|
||||
if (!acceptArr.includes(fileSuffix)) {
|
||||
this.$message({
|
||||
dangerouslyUseHTMLString: true,
|
||||
message: <div style="word-break: break-all;;color: #F56C6C">文件{file.name}格式不正确,请上传{acceptArr.join('、')}文件</div>,
|
||||
type: 'error'
|
||||
})
|
||||
return false
|
||||
}
|
||||
// 判断文件上传大小
|
||||
if (file.size / 1024 / 1024 > this.size) {// eslint-disable-line
|
||||
this.$message.error('文件' + file.name + `超过${this.size}M`)
|
||||
return false
|
||||
}
|
||||
return true
|
||||
},
|
||||
// 导入标准数据成功后执行
|
||||
onSuccess (response, file, fileList) {
|
||||
if (response.ok) {
|
||||
const fileObj = {
|
||||
id: file.response.data.id,
|
||||
name: file.response.data.name
|
||||
}
|
||||
let ids;
|
||||
let names;
|
||||
if (this.ids && this.ids.length > 0) {
|
||||
ids = this.ids + ',' + fileObj.id
|
||||
names = this.names + ',' + fileObj.name
|
||||
} else {
|
||||
ids = fileObj.id
|
||||
names = fileObj.name
|
||||
}
|
||||
this.$set(this.fileList, this.fileList.length, fileObj)
|
||||
this.$emit('update:ids', ids)
|
||||
this.$emit('update:names', names)
|
||||
|
||||
this.$emit('update:visible', false)
|
||||
this.$emit('onSuccess')
|
||||
this.$message({
|
||||
message: response.message || response.data,
|
||||
type: 'success'
|
||||
})
|
||||
} else {
|
||||
this.importFailed = true
|
||||
this.importForm.content = response.message
|
||||
}
|
||||
},
|
||||
onRemove (file, fileList) {
|
||||
const ids = fileList
|
||||
.reduce((init, file) => init + ',' + (file.id || file.response.data.id), '')
|
||||
.replace(/^,|,$/g, '')
|
||||
const names = fileList
|
||||
.reduce((init, file) => init + ',' + (file.name || file.response.data.name), '')
|
||||
.replace(/^,|,$/g, '')
|
||||
this.fileList = fileList.map(file => ({
|
||||
id: file.id || file.response.data.id,
|
||||
name: file.name
|
||||
}))
|
||||
this.$emit('update:ids', ids)
|
||||
this.$emit('update:names', names)
|
||||
this.$emit('onRemove')
|
||||
},
|
||||
onPreview (file) {
|
||||
const id = file.id || file.response.data.id
|
||||
this.$preview(id)
|
||||
},
|
||||
onExceed (files, fileList) {
|
||||
this.$message.warning(`当前限制上传 1 个文件,本次上传了 ${files.length} 个文件,共上传了 ${files.length + fileList.length} 个文件`);
|
||||
},
|
||||
onError (err, file, fileList) {
|
||||
const ids = fileList
|
||||
.reduce((init, file) => init + ',' + (file.id || file.response.data.id), '')
|
||||
.replace(/^,|,$/g, '')
|
||||
const names = fileList
|
||||
.reduce((init, file) => init + ',' + (file.name || file.response.data.name), '')
|
||||
.replace(/^,|,$/g, '')
|
||||
this.fileList = fileList.map(file => ({
|
||||
id: file.id || file.response.data.id,
|
||||
name: file.name
|
||||
}))
|
||||
this.$emit('update:ids', ids)
|
||||
this.$emit('update:names', names)
|
||||
this.$emit('onError')
|
||||
this.$message.error('上传失败')
|
||||
},
|
||||
ManualUpload () {
|
||||
this.$refs.importfile.submit();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
/deep/ .el-upload-dragger{
|
||||
width: 100% !important;
|
||||
}
|
||||
/deep/ .el-upload{
|
||||
width: 100% !important;
|
||||
|
||||
}
|
||||
/deep/ .el-dialog__body {
|
||||
padding: 10px 20px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -129,7 +129,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standStatusShow"
|
||||
label="文本状态"
|
||||
label="标准状态"
|
||||
width="130">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -137,6 +137,8 @@
|
||||
<!--分页-->
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page-size="replaceLawsNumForm.pageSize"
|
||||
:page="replacePage"
|
||||
:total="replaceTotal"
|
||||
@pageChange="pageChangeReplace"
|
||||
@@ -186,7 +188,7 @@ export default {
|
||||
lawsNo: '',
|
||||
lawsName: '', // 政策名称
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
},
|
||||
replaceLawsNumRow: [], // 代替政策号 数组内容
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
<template>
|
||||
<el-form-item :label="label" :prop="prop" class="add-form-item form-item-disabled">
|
||||
<el-radio-group :value="value"
|
||||
:disabled="disabled"
|
||||
:placeholder="placeholder"
|
||||
@input="handleChange"
|
||||
>
|
||||
<el-radio v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label">{{ item.value }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "RadioGroupFormItem",
|
||||
props: {
|
||||
label: {
|
||||
type: String,
|
||||
},
|
||||
prop: {
|
||||
type: String
|
||||
},
|
||||
value: {
|
||||
required: true
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
options: {
|
||||
type: Array,
|
||||
required: true
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
placeholder () {
|
||||
return `请选择${this.label}`
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
handleChange (event) {
|
||||
console.log(event)
|
||||
this.$emit('input', event)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.add-form-item /deep/ .el-radio-group{
|
||||
padding: 0 10px !important;
|
||||
}
|
||||
.add-form-item /deep/ .el-radio{
|
||||
margin-right: 15px !important;
|
||||
}
|
||||
.add-form-item /deep/ .el-radio:last-child {
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
</style>
|
||||
@@ -1,25 +1,26 @@
|
||||
<template>
|
||||
<el-form-item :label="label" :prop="prop" class="add-form-item form-item-disabled">
|
||||
<el-select
|
||||
:value="value"
|
||||
:disabled="disabled"
|
||||
:placeholder="placeholder"
|
||||
:filterable="filterable"
|
||||
:clearable="clearable"
|
||||
@change="handleChange">
|
||||
:value="value"
|
||||
:disabled="disabled"
|
||||
:placeholder="placeholder"
|
||||
:filterable="filterable"
|
||||
:clearable="clearable"
|
||||
@change="handleChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
></el-option>
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:value="item.value"
|
||||
:label="item.label"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "SelectFormItem",
|
||||
name: 'SelectFormItem',
|
||||
props: {
|
||||
value: {
|
||||
required: true
|
||||
@@ -47,15 +48,23 @@ export default {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
customPlaceholder: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
placeholder () {
|
||||
if (this.customPlaceholder !== '') {
|
||||
return this.customPlaceholder
|
||||
}
|
||||
return `请选择${this.label}`
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
handleChange (event) {
|
||||
this.$emit('input', event)
|
||||
this.$emit('change', event)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ export default {
|
||||
name: "SelectMultipleFormItem",
|
||||
props: {
|
||||
value: {
|
||||
type: [Array, String],
|
||||
required: true
|
||||
},
|
||||
prop: {
|
||||
@@ -49,21 +50,39 @@ export default {
|
||||
default: true
|
||||
},
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
basicType: 'Array'
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
placeholder () {
|
||||
return `请选择${this.label}`
|
||||
},
|
||||
data () {
|
||||
if (this.value && this.value !== '') {
|
||||
return this.value.split(',')
|
||||
} else {
|
||||
if (!this.value) {
|
||||
return []
|
||||
} else {
|
||||
if (this.getType(this.value) === 'Array') {
|
||||
this.basicType = 'Array'
|
||||
return this.value
|
||||
} else if (this.getType(this.value) === 'String'){
|
||||
this.basicType = 'String'
|
||||
return this.value.split(',')
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getType (target) {
|
||||
return Object.prototype.toString.call(target).slice(8, -1)
|
||||
},
|
||||
handleChange (event) {
|
||||
this.$emit('input', event.join(','))
|
||||
if (this.basicType === 'Array') {
|
||||
this.$emit('input', event)
|
||||
} else if (this.basicType === 'String') {
|
||||
this.$emit('input', event.join(','))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,722 @@
|
||||
<template>
|
||||
<el-drawer
|
||||
ref="standard"
|
||||
title="查询结果"
|
||||
size="1250px"
|
||||
:visible.sync="visible"
|
||||
direction="rtl"
|
||||
append-to-body
|
||||
>
|
||||
<div style="flex: 1" class="drawer-content">
|
||||
<div style="height: calc(100% - 56px)">
|
||||
<el-form
|
||||
:model="searchForm"
|
||||
inline
|
||||
class="label-input-form search-area"
|
||||
style="justify-content: left;"
|
||||
>
|
||||
<el-form-item label="标准/政策来源" class="search-item">
|
||||
<el-select
|
||||
v-model="searchForm.dataSource"
|
||||
placeholder="请选择标准/政策来源"
|
||||
@change="dataSourceChange"
|
||||
>
|
||||
<el-option v-for="i in dataSourceOptions" :value="i.value" :label="i.label" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="标准编号/政策文号"
|
||||
style="margin-right:10px"
|
||||
class="search-item"
|
||||
>
|
||||
<el-input
|
||||
v-model="searchForm.lawNumber"
|
||||
clearable
|
||||
placeholder="根据编号查找"
|
||||
:maxlength="100"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="标准名称/政策名称"
|
||||
style="margin-right:10px"
|
||||
class="search-item"
|
||||
>
|
||||
<el-input
|
||||
v-model="searchForm.lawName"
|
||||
placeholder="根据名称查找"
|
||||
clearable
|
||||
:maxlength="100"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
@click="onSearch"
|
||||
>
|
||||
查询
|
||||
</el-button>
|
||||
<el-button
|
||||
class="common-button-default"
|
||||
size="mini"
|
||||
@click="onClear"
|
||||
>
|
||||
清空
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-table
|
||||
v-if="showTable"
|
||||
ref="reviseDrawerTable"
|
||||
:data="standardData"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%;"
|
||||
border
|
||||
height="calc(100% - 51px)"
|
||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', fontWeight: 'bold', height: '48px'}"
|
||||
@selection-change="selectionChange"
|
||||
>
|
||||
<el-table-column
|
||||
fixed="left"
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
fixed="left"
|
||||
type="index"
|
||||
width="55"
|
||||
label="序号"
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="{scope, column, $index}">
|
||||
{{ ($index + 1) + (searchForm.page - 1) * searchForm.pageSize }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<div v-if="searchForm.dataSource === 'INLAND'">
|
||||
<el-table-column
|
||||
label="标准号"
|
||||
width="150"
|
||||
prop="standCode"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<a
|
||||
v-if="scope.row.standYear && textStatusMap[scope.row.textStatus] === '废止'"
|
||||
class="table-jump"
|
||||
style="color: #F56C6C"
|
||||
@click="handlePreview(scope.row)"
|
||||
>{{ scope.row.standCode }}</a>
|
||||
<a
|
||||
v-else-if="scope.row.standYear"
|
||||
class="table-jump"
|
||||
style="color: #333333"
|
||||
@click="handlePreview(scope.row)"
|
||||
>{{ scope.row.standCode }}</a>
|
||||
<a
|
||||
v-else
|
||||
class="table-jump"
|
||||
style="color: #333333"
|
||||
@click="handlePreview(scope.row)"
|
||||
>{{ scope.row.standCode }}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="standName"
|
||||
label="标准名称"
|
||||
min-width="300"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<a v-if="textStatusMap[scope.row.textStatus] === '废止'" class="table-jump" style="color: #F56C6C" @click="handlePreview(scope.row)">{{ scope.row.standName }}</a>
|
||||
<a v-else style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standName }}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="issueTime"
|
||||
width="120"
|
||||
label="发布日期"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{ scope.row.issueTime }}</span>
|
||||
<span v-else>{{ scope.row.issueTime }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="ssrq"
|
||||
width="120"
|
||||
label="实施日期"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{ scope.row.ssrq }}</span>
|
||||
<span v-else>{{ scope.row.ssrq }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column
|
||||
prop="xcxssrq"
|
||||
width="150"
|
||||
label="新车型实施日期"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{ scope.row.xcxssrq }}</span>
|
||||
<span v-else>{{ scope.row.xcxssrq }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="zccssrq"
|
||||
width="150"
|
||||
label="在产车实施日期"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{ scope.row.zccssrq }}</span>
|
||||
<span v-else>{{ scope.row.zccssrq }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="textStatus"
|
||||
width="110"
|
||||
label="标准状态"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{
|
||||
textStatusMap[scope.row.textStatus]
|
||||
}}</span>
|
||||
<span v-else>{{ textStatusMap[scope.row.textStatus] }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</div>
|
||||
<div v-if="searchForm.dataSource === 'FOREIGN'">
|
||||
<el-table-column
|
||||
label="标准号"
|
||||
width="150"
|
||||
prop="standCode"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<a
|
||||
v-if="scope.row.standYear && textStatusMap[scope.row.textStatus] === '废止'"
|
||||
style="color: #F56C6C"
|
||||
class="table-jump"
|
||||
@click="handlePreview(scope.row)"
|
||||
>{{ scope.row.standCode }}</a>
|
||||
<a
|
||||
v-else-if="scope.row.standYear && textStatusMap[scope.row.textStatus] === '——' "
|
||||
style="color: #409EFF"
|
||||
class="table-jump"
|
||||
@click="handlePreview(scope.row)"
|
||||
>{{ scope.row.standCode }}</a>
|
||||
<a
|
||||
v-else-if="scope.row.standYear"
|
||||
style="color: #333333"
|
||||
class="table-jump"
|
||||
@click="handlePreview(scope.row)"
|
||||
>{{ scope.row.standCode }}</a>
|
||||
<a
|
||||
v-else
|
||||
style="color: #333333"
|
||||
class="table-jump"
|
||||
@click="handlePreview(scope.row)"
|
||||
>{{ scope.row.standCode }}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="standName"
|
||||
label="标准名称"
|
||||
min-width="300"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<a v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{
|
||||
scope.row.standName
|
||||
}}</a>
|
||||
<a v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF" class="table-jump" @click="handlePreview(scope.row)">{{
|
||||
scope.row.standName
|
||||
}}</a>
|
||||
<a v-else style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{
|
||||
scope.row.standName
|
||||
}}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="standEnName"
|
||||
label="英文名称"
|
||||
min-width="300"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<a v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{
|
||||
scope.row.standEnName
|
||||
}}</a>
|
||||
<a v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF" class="table-jump" @click="handlePreview(scope.row)">{{
|
||||
scope.row.standEnName
|
||||
}}</a>
|
||||
<a v-else style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{
|
||||
scope.row.standEnName
|
||||
}}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="issueTime"
|
||||
width="120"
|
||||
label="发布日期"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">
|
||||
{{ scope.row.issueTime }}
|
||||
</div>
|
||||
<div v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">
|
||||
{{ scope.row.issueTime }}
|
||||
</div>
|
||||
<div v-else style="color: #333333">
|
||||
{{ scope.row.issueTime }}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="ssrq"
|
||||
width="120"
|
||||
label="实施日期"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{
|
||||
scope.row.ssrq
|
||||
}}</span>
|
||||
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
|
||||
scope.row.ssrq
|
||||
}}</span>
|
||||
<span v-else style="color: #333333">{{ scope.row.ssrq }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="xcxssrq"
|
||||
width="150"
|
||||
label="新车型实施日期"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{
|
||||
scope.row.xcxssrq
|
||||
}}</span>
|
||||
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
|
||||
scope.row.xcxssrq
|
||||
}}</span>
|
||||
<span v-else style="color: #333333">{{
|
||||
scope.row.xcxssrq
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="zccssrq"
|
||||
width="150"
|
||||
label="在产车实施日期"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{
|
||||
scope.row.zccssrq
|
||||
}}</span>
|
||||
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
|
||||
scope.row.zccssrq
|
||||
}}</span>
|
||||
<span v-else style="color: #333333">{{
|
||||
scope.row.zccssrq
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="textStatus"
|
||||
width="110"
|
||||
label="标准状态"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{
|
||||
textStatusMap[scope.row.textStatus]
|
||||
}}</span>
|
||||
<span v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF">{{
|
||||
textStatusMap[scope.row.textStatus]
|
||||
}}</span>
|
||||
<span v-else style="color: #333333">{{ textStatusMap[scope.row.textStatus] }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</div>
|
||||
<div v-if="searchForm.dataSource === 'FOREIGN_LAWS'">
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
label="政策文号"
|
||||
width="150"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<a v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.lawsNo }}</a>
|
||||
<a v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.lawsNo }}</a>
|
||||
<a v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'" style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.lawsNo }}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="lawsName"
|
||||
label="中文名称"
|
||||
min-width="300"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<a v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.lawsName }}</a>
|
||||
<a v-if="scope.row.standStatusShow === '参考' " style="color: #E6A23C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.lawsName }}</a>
|
||||
<a v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'" style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.lawsName }}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="lawsEnName"
|
||||
label="英文名称"
|
||||
min-width="300"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<a v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.lawsEnName }}</a>
|
||||
<a v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.lawsEnName }}</a>
|
||||
<a v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'" style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.lawsEnName }}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="issueTime"
|
||||
label="发文日期"
|
||||
width="120"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{ scope.row.issueTime }}</span>
|
||||
<span v-if="scope.row.standStatusShow === '参考' " style="color: #E6A23C">{{ scope.row.issueTime }}</span>
|
||||
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{ scope.row.issueTime }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="XCXSSRQLAWS"
|
||||
label="新车实施日期"
|
||||
width="150"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{ scope.row.putTime }}</span>
|
||||
<span v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C">{{ scope.row.putTime }}</span>
|
||||
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{ scope.row.XCXSSRQLAWS }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="standStatusShow"
|
||||
:label="standardStatusName"
|
||||
width="110"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">
|
||||
{{ scope.row.standStatusShow }}
|
||||
</span>
|
||||
<span v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C">
|
||||
{{ scope.row.standStatusShow }}
|
||||
</span>
|
||||
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">
|
||||
{{ scope.row.standStatusShow }}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</div>
|
||||
<div v-if="searchForm.dataSource === 'BUSINESS_STAND'">
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
label="企标编号"
|
||||
width="150"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<a v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standCode }}</a>
|
||||
<a v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standCode }}</a>
|
||||
<a v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'" style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standCode }}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="standName"
|
||||
label="中文名称"
|
||||
min-width="300"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<a v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standName }}</a>
|
||||
<a v-if="scope.row.standStatusShow === '参考' " style="color: #E6A23C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standName }}</a>
|
||||
<a v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'" style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standName }}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="standEnName"
|
||||
label="英文名称"
|
||||
min-width="300"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<a v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standEnName }}</a>
|
||||
<a v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standEnName }}</a>
|
||||
<a v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'" style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{ scope.row.standEnName }}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="issueTime"
|
||||
label="发布日期"
|
||||
width="120"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{ scope.row.issueTime }}</span>
|
||||
<span v-if="scope.row.standStatusShow === '参考' " style="color: #E6A23C">{{ scope.row.issueTime }}</span>
|
||||
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{ scope.row.issueTime }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="putTime"
|
||||
label="实施日期"
|
||||
width="120"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">{{ scope.row.putTime }}</span>
|
||||
<span v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C">{{ scope.row.putTime }}</span>
|
||||
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">{{ scope.row.putTime }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="standStatusShow"
|
||||
label="标准状态"
|
||||
width="110"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C">
|
||||
{{ scope.row.standStatusShow }}
|
||||
</span>
|
||||
<span v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C">
|
||||
{{ scope.row.standStatusShow }}
|
||||
</span>
|
||||
<span v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'">
|
||||
{{ scope.row.standStatusShow }}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</div>
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination
|
||||
:page="searchForm.page"
|
||||
:total="searchForm.total"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"
|
||||
/>
|
||||
</div>
|
||||
<div class="drawer-footer">
|
||||
<el-button
|
||||
round
|
||||
class="common-button-primary"
|
||||
icon="el-icon-check"
|
||||
type="primary"
|
||||
@click="onDrag"
|
||||
>
|
||||
带入
|
||||
</el-button>
|
||||
<el-button
|
||||
round
|
||||
class="common-button-default"
|
||||
icon="el-icon-close"
|
||||
@click="onCancel"
|
||||
>
|
||||
取消
|
||||
</el-button>
|
||||
</div>
|
||||
<loading :loading="loading">数据获取中</loading>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'StandardListDrawer',
|
||||
data () {
|
||||
const dataSourceOptions = [
|
||||
{
|
||||
label: '国内标准库',
|
||||
value: 'INLAND'
|
||||
},
|
||||
{
|
||||
label: '海外标准库',
|
||||
value: 'FOREIGN'
|
||||
},
|
||||
{
|
||||
label: '国内外政策库',
|
||||
value: 'FOREIGN_LAWS'
|
||||
},
|
||||
{
|
||||
label: '企业标准库',
|
||||
value: 'BUSINESS_STAND'
|
||||
},
|
||||
]
|
||||
const searchForm = {
|
||||
dataSource: 'INLAND',
|
||||
standType: 'INLAND',
|
||||
lawCode: '',
|
||||
lawName: '',
|
||||
productType: '',
|
||||
page: 1,
|
||||
total: 0,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
}
|
||||
return {
|
||||
searchForm,
|
||||
initSearchForm: JSON.parse(JSON.stringify(searchForm)),
|
||||
dataSourceOptions,
|
||||
standardData: [],
|
||||
loading: false,
|
||||
url: {
|
||||
INLANDFOREIGN: 'sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage',
|
||||
FOREIGN_LAWS: 'lawss/sarLawsInfo/page',
|
||||
BUSINESS_STAND: 'lawss/sarBussionessStand/getSarBussionStandPage'
|
||||
},
|
||||
textStatusMap: {},
|
||||
showTable: true,
|
||||
visible: false,
|
||||
selectedList: [],
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
standardStatusName () {
|
||||
return this.searchForm.standType === 'FOREIGN_LAWS' ? '政策状态' : '标准状态'
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.getDicTypeListCode()
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
open () {
|
||||
this.visible = true
|
||||
this.searchForm = JSON.parse(JSON.stringify(this.initSearchForm))
|
||||
this.selectedList = []
|
||||
this.getData()
|
||||
},
|
||||
onCancel () {
|
||||
this.visible = false
|
||||
},
|
||||
getData () {
|
||||
this.searchForm.standType = this.searchForm.dataSource
|
||||
const params = { dataSource: this.searchForm.dataSource, standType: this.searchForm.standType, page: this.searchForm.page, total: this.searchForm.total, ...this.searchForm.pageSize }
|
||||
const config = {
|
||||
_this: this,
|
||||
loading: 'loading'
|
||||
}
|
||||
let url = this.url.INLANDFOREIGN
|
||||
switch (this.searchForm.dataSource) {
|
||||
case 'INLAND':
|
||||
case 'FOREIGN':
|
||||
url = this.url.INLANDFOREIGN
|
||||
params.standNumber = this.searchForm.lawNumber
|
||||
params.standName = this.searchForm.lawName
|
||||
break
|
||||
case 'FOREIGN_LAWS':
|
||||
url = this.url.FOREIGN_LAWS
|
||||
params.lawsNo = this.searchForm.lawNumber
|
||||
params.lawsName = this.searchForm.lawName
|
||||
break
|
||||
case 'BUSINESS_STAND':
|
||||
url = this.url.BUSINESS_STAND
|
||||
params.standCode = this.searchForm.lawNumber
|
||||
params.standName = this.searchForm.lawName
|
||||
break
|
||||
}
|
||||
this.$http._getData(url, params, config).then(res => {
|
||||
if (res.ok) {
|
||||
this.standardData = res.data.list
|
||||
this.searchForm.total = res.data.count
|
||||
this.showTable = false
|
||||
this.$nextTick(() => {
|
||||
this.showTable = true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
pageChange (page) {
|
||||
this.searchForm.page = page
|
||||
this.getData()
|
||||
},
|
||||
pageSizeChange (pageSize) {
|
||||
this.searchForm.pageSize = pageSize
|
||||
this.getData()
|
||||
},
|
||||
dataSourceChange () {
|
||||
const standType = this.searchForm.dataSource
|
||||
this.searchForm = JSON.parse(JSON.stringify(this.initSearchForm))
|
||||
this.searchForm.dataSource = standType
|
||||
this.searchForm.standType = standType
|
||||
this.standType = standType
|
||||
console.log(this.standType)
|
||||
this.getData()
|
||||
},
|
||||
onSearch () {
|
||||
this.searchForm.page = 1
|
||||
this.getData()
|
||||
},
|
||||
onClear () {
|
||||
this.searchForm.page = 1
|
||||
this.searchForm.lawNumber = ''
|
||||
this.searchForm.lawName = ''
|
||||
this.getData()
|
||||
},
|
||||
getDicTypeListCode () {
|
||||
this.$http._getData('sys/dictype/getDicTypeListCode').then(res => {
|
||||
if (res.ok) {
|
||||
this.dict = { ...res.data }
|
||||
this.setMap(this.dict.WBZTCLASS, 'textStatusMap')
|
||||
}
|
||||
})
|
||||
},
|
||||
setMap (data, key) {
|
||||
data.forEach(item => {
|
||||
this.$set(this[key], item.value, item.label);
|
||||
});
|
||||
},
|
||||
selectionChange (selection) {
|
||||
this.selectedList = selection
|
||||
},
|
||||
// 点击查看
|
||||
handlePreview (item) {
|
||||
let name = '', id = item.id, pageType = ''
|
||||
if (item.standType === 'INLAND') {
|
||||
name = 'OtherStandardDetails'
|
||||
pageType = 'INLAND_STAND'
|
||||
}else if (item.standType === 'FOREIGN') {
|
||||
name = 'OtherStandardDetails'
|
||||
pageType = 'FOREIGN_STAND'
|
||||
}else if (item.country !== undefined) {
|
||||
name = 'OtherLawsStandDetails'
|
||||
pageType = 'LAWS_STAND'
|
||||
} else {
|
||||
name = 'OtherBussStandardDetails'
|
||||
pageType = 'BUSINESS_STAND'
|
||||
}
|
||||
const routeUrl = this.$router.resolve({ name, params: { id, pageType } })
|
||||
window.open(routeUrl.href, '_blank')
|
||||
},
|
||||
onDrag () {
|
||||
this.$emit('dragIn', {
|
||||
list: this.selectedList,
|
||||
type: this.searchForm.dataSource
|
||||
})
|
||||
this.visible = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.drawer-content{
|
||||
padding: 0 19px;
|
||||
overflow-y: auto;
|
||||
flex: 1;
|
||||
position: relative;
|
||||
}
|
||||
.drawer-footer {
|
||||
width: 100%;
|
||||
padding: 0 20px;
|
||||
height: 70px;
|
||||
line-height: 69px;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
text-align: right;
|
||||
background: #fff;
|
||||
z-index: 999;
|
||||
}
|
||||
</style>
|
||||
@@ -3,35 +3,37 @@
|
||||
<el-card>
|
||||
<el-form-item :prop="prop" style="margin-bottom: 0">
|
||||
<h4>{{ title }}</h4>
|
||||
<div style="margin-top: 10px;width: 300px;">
|
||||
<div style="margin-top: 10px;width: 300px;max-width: 100%">
|
||||
<el-input
|
||||
:disabled="disabled"
|
||||
:value="name"
|
||||
:placeholder="`选择${title}`"
|
||||
readonly
|
||||
@click.native="choice(id)"></el-input>
|
||||
:disabled="disabled"
|
||||
:value="name"
|
||||
:placeholder="placeholder || `选择${title}`"
|
||||
readonly
|
||||
@click.native="choice(id)"
|
||||
/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
<Role-tree v-if="!disabled"
|
||||
:check-box="!multiple"
|
||||
:is-title="`选择${title}`"
|
||||
:is-visible.sync="modalShowFlag"
|
||||
@checkedRole="checkedRole"
|
||||
:nodeList="nodeList"
|
||||
></Role-tree>
|
||||
<Role-tree
|
||||
v-if="!disabled"
|
||||
:check-box="!multiple"
|
||||
:is-title="`选择${title}`"
|
||||
:is-visible.sync="modalShowFlag"
|
||||
:nodeList="nodeList"
|
||||
@checkedRole="checkedRole"
|
||||
/>
|
||||
</el-timeline-item>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "TimeLineFormItem",
|
||||
name: 'TimeLineFormItem',
|
||||
props: {
|
||||
id:{
|
||||
id: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
name:{
|
||||
name: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
@@ -50,14 +52,17 @@ export default {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
multiple: {// 多选
|
||||
multiple: { // 多选
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
placeholder: {
|
||||
type: String
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
drawerTitle: '', //drawer标题
|
||||
drawerTitle: '', // drawer标题
|
||||
modalShowFlag: false, // drawer开关
|
||||
nodeList: [],
|
||||
}
|
||||
@@ -77,7 +82,7 @@ export default {
|
||||
this.$emit('update:name', name)
|
||||
},
|
||||
joint (data, type) {
|
||||
return data.reduce((init,item) => {
|
||||
return data.reduce((init, item) => {
|
||||
if (init === '') {
|
||||
return item[type]
|
||||
} else {
|
||||
|
||||
@@ -5,55 +5,122 @@
|
||||
style="display: none;"
|
||||
:value="ids"
|
||||
clearable
|
||||
></el-input>
|
||||
/>
|
||||
<div style="display: flex;justify-content: space-between">
|
||||
<div style="width: 80%;margin-top: 13px">
|
||||
<div v-for="file in FileList"
|
||||
:key="file.id"
|
||||
@click="onPreview(file)"
|
||||
style="color: #409eff;cursor:pointer"
|
||||
class="fileClass">
|
||||
{{ file.name }}
|
||||
</div>
|
||||
<div style="margin-top: 13px" :style="{width: view ? '100%' : '80%'}">
|
||||
<template v-if="FileList.length > 0">
|
||||
<div
|
||||
v-for="file in FileList"
|
||||
:key="file.id"
|
||||
style="color: #409eff;cursor:pointer"
|
||||
class="fileClass"
|
||||
@click="onPreview(file)"
|
||||
>
|
||||
{{ file.name }}
|
||||
<template v-if="down">
|
||||
<span v-if="file.id !== ''" style="margin-left: 7px;">
|
||||
<i class="el-icon-download" title="下载" @click="onPreview(file, 'down')" />
|
||||
</span>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<div v-if="view" style="line-height: 22px">-</div>
|
||||
</template>
|
||||
</div>
|
||||
<div style="width: 20%;">
|
||||
<el-button :disabled="disabled"
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="mini"
|
||||
@click="showUpload"
|
||||
style="margin-left: 10px; margin-top: 11px; float: right;">
|
||||
<i class="el-icon-upload"></i>
|
||||
<div v-if="!view" style="width: 20%;">
|
||||
<el-button
|
||||
:disabled="disabled"
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="mini"
|
||||
style="margin-left: 10px; margin-top: 11px; float: right;"
|
||||
@click="showUpload"
|
||||
>
|
||||
<i class="el-icon-upload" />
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
|
||||
<el-dialog
|
||||
v-dragDialogWidth
|
||||
width="400px"
|
||||
:visible.sync="fileMadel"
|
||||
title="上传文件"
|
||||
:close-on-click-modal="false"
|
||||
append-to-body
|
||||
>
|
||||
<el-upload
|
||||
multiple
|
||||
drag
|
||||
:file-list="fileList"
|
||||
:action="fileUrl"
|
||||
ref="importfile"
|
||||
name="file"
|
||||
:accept="accept"
|
||||
:before-upload="beforeUpload"
|
||||
:on-success="onSuccess"
|
||||
:on-preview="onPreview"
|
||||
:on-remove="removeOneFile"
|
||||
:show-file-list="true"
|
||||
ref="importfile"
|
||||
multiple
|
||||
drag
|
||||
:file-list="fileList"
|
||||
:action="fileUrl"
|
||||
name="file"
|
||||
:accept="accept"
|
||||
:before-upload="beforeUpload"
|
||||
:on-success="onSuccess"
|
||||
:on-preview="onPreview"
|
||||
:on-remove="removeOneFile"
|
||||
:show-file-list="false"
|
||||
>
|
||||
<div style="padding: 20px 0">
|
||||
<i class="el-icon-upload" style="color: #3399ff"></i>
|
||||
<i class="el-icon-upload" style="color: #3399ff" />
|
||||
<p>点击或拖拽上传文件</p>
|
||||
</div>
|
||||
</el-upload>
|
||||
<ul class="el-upload-list el-upload-list--text">
|
||||
<li
|
||||
v-for="(file, index) in FileList"
|
||||
:key="index"
|
||||
class="el-upload-list__item is-success"
|
||||
:title="file.name"
|
||||
@click="onPreview(file)"
|
||||
>
|
||||
<a class="el-upload-list__item-name">
|
||||
<i class="el-icon-document" />
|
||||
{{ file.name }}
|
||||
</a>
|
||||
<label class="el-upload-list__item-status-label">
|
||||
<i class="el-icon-upload-success el-icon-circle-check" />
|
||||
</label>
|
||||
<i class="el-icon-edit" @click.stop="handleModifyName(file)" />
|
||||
<i class="el-icon-close" @click.stop="handleRemoveFile(file)" />
|
||||
</li>
|
||||
</ul>
|
||||
</el-dialog>
|
||||
<el-dialog
|
||||
title="修改文件名称"
|
||||
:visible.sync="openModifyFileNameDialog"
|
||||
append-to-body
|
||||
>
|
||||
<el-input v-model="modifyFile.fileName" />
|
||||
<div class="demo-drawer-footer" style="text-align: right;margin-top:30px">
|
||||
<el-button
|
||||
class="common-button-primary"
|
||||
size="mini"
|
||||
icon="el-icon-check"
|
||||
type="primary"
|
||||
:loading="modifyFileNameLoading"
|
||||
@click="handleModifyNameSubmite"
|
||||
>
|
||||
提交
|
||||
</el-button>
|
||||
<el-button
|
||||
class="common-button-default"
|
||||
size="mini"
|
||||
icon="el-icon-close"
|
||||
@click="openModifyFileNameDialog = false"
|
||||
>
|
||||
取消
|
||||
</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "UploadFormItem",
|
||||
name: 'UploadFormItem',
|
||||
props: {
|
||||
ids: {
|
||||
required: true,
|
||||
@@ -85,28 +152,43 @@ export default {
|
||||
size: {
|
||||
type: Number,
|
||||
default: 200
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.initFileList()
|
||||
},
|
||||
view: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
down: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
fileMadel: false,
|
||||
fileList: [],// 用于el-upload
|
||||
FileList: [],// 用于回显
|
||||
fileList: [], // 用于el-upload
|
||||
FileList: [], // 用于回显
|
||||
|
||||
openModifyFileNameDialog: false,
|
||||
modifyFile: {
|
||||
fileName: '',
|
||||
fileId: ''
|
||||
},
|
||||
modifyFileNameLoading: false
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.initFileList()
|
||||
},
|
||||
methods: {
|
||||
showUpload () {
|
||||
this.fileMadel = true;
|
||||
},
|
||||
initFileList () {
|
||||
if (this.ids && this.ids !== '' && this.names && this.names !== '') {
|
||||
let fileList = []
|
||||
const fileList = []
|
||||
const idArr = this.ids.split(',')
|
||||
const nameArr = this.names.split(',')
|
||||
for (let i = 0 ; i < idArr.length; i++) {
|
||||
for (let i = 0; i < idArr.length; i++) {
|
||||
fileList.push({
|
||||
id: idArr[i],
|
||||
name: nameArr[i]
|
||||
@@ -114,6 +196,9 @@ export default {
|
||||
}
|
||||
this.fileList = fileList
|
||||
this.FileList = fileList
|
||||
} else {
|
||||
this.fileList = []
|
||||
this.FileList = []
|
||||
}
|
||||
},
|
||||
beforeUpload (file) {
|
||||
@@ -132,13 +217,13 @@ export default {
|
||||
}
|
||||
// 判断文件上传大小
|
||||
if (file.size / 1024 / 1024 > this.size) {// eslint-disable-line
|
||||
this.$message.error('文件' + file.name + `超过${ this.size }M`)
|
||||
this.$message.error('文件' + file.name + `超过${this.size}M`)
|
||||
return false
|
||||
}
|
||||
return true
|
||||
},
|
||||
// 导入标准数据成功后执行
|
||||
onSuccess (response, file,fileList) {
|
||||
onSuccess (response, file, fileList) {
|
||||
// 上传成功后判断是否是两条数据是的话替换掉旧数据
|
||||
if (response.ok) {
|
||||
const fileObj = {
|
||||
@@ -165,7 +250,7 @@ export default {
|
||||
})
|
||||
}
|
||||
},
|
||||
removeOneFile(file, fileList) {
|
||||
removeOneFile (file, fileList) {
|
||||
const ids = fileList.reduce((init, file) => {
|
||||
if (init === '') {
|
||||
return file.id || file.response.data.id
|
||||
@@ -189,14 +274,58 @@ export default {
|
||||
this.$emit('update:names', names)
|
||||
},
|
||||
// 文件预览及下载
|
||||
onPreview(file) {
|
||||
let attId = ""
|
||||
if(file && file.id){
|
||||
onPreview (file, type) {
|
||||
let attId = ''
|
||||
if(file && file.id) {
|
||||
attId = file.id
|
||||
}else {
|
||||
attId = file.response.data.id
|
||||
}
|
||||
this.$preview(attId)
|
||||
if (type === 'down') {
|
||||
if (attId) {
|
||||
window.open('/api/att/attFile/downloadFileForSarNew?fileId=' + attId)
|
||||
} else {
|
||||
this.$message.warning('文件不存在,下载失败')
|
||||
}
|
||||
} else {
|
||||
this.$preview(attId)
|
||||
}
|
||||
},
|
||||
handleRemoveFile (file) {
|
||||
const fileList = []
|
||||
this.FileList.forEach(item => {
|
||||
if (item.id !== file.id) {
|
||||
fileList.push(item)
|
||||
}
|
||||
})
|
||||
this.removeOneFile(file, fileList)
|
||||
},
|
||||
handleModifyName (file) {
|
||||
this.modifyFile.fileName = file.name
|
||||
this.modifyFile.fileId = file.id
|
||||
this.openModifyFileNameDialog = true
|
||||
},
|
||||
handleModifyNameSubmite () {
|
||||
this.modifyFileNameLoading = true
|
||||
this.$http.get('att/attFile/updateFileName', this.modifyFile, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if(res.ok) {
|
||||
this.modifyFileNameLoading = false
|
||||
this.openModifyFileNameDialog = false
|
||||
this.FileList.forEach(item => {
|
||||
if(item.id === this.modifyFile.fileId) {
|
||||
item.name = this.modifyFile.fileName
|
||||
}
|
||||
})
|
||||
const ids = this.FileList.map(item => item.id).join(',')
|
||||
const names = this.FileList.map(item => item.name).join(',')
|
||||
this.$emit('update:ids', ids)
|
||||
this.$emit('update:names', names)
|
||||
}
|
||||
}, e => {
|
||||
this.modifyFileNameLoading = false
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -206,4 +335,20 @@ export default {
|
||||
.fileClass{
|
||||
line-height: 22px !important;
|
||||
}
|
||||
.add-form-item /deep/ .el-form-item__content .el-form-item__error {
|
||||
padding: 3px;
|
||||
top: 15px;
|
||||
right: 45px !important;
|
||||
left: auto;
|
||||
background: #fff3f3;
|
||||
z-index: 9;
|
||||
}
|
||||
.el-upload-list__item .el-icon-edit{
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
right: 25px;
|
||||
cursor: pointer;
|
||||
opacity: .75;
|
||||
color: #606266;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<!--导出文件改名字模态框-->
|
||||
<el-dialog :visible.sync="exportModelFlag" title="导出文件" width="300px" :append-to-body="appendToBody">
|
||||
<el-dialog :visible.sync="exportModelFlag" title="导出文件" width="310px" :append-to-body="appendToBody">
|
||||
<el-form :inline="true" class="label-input-form search-area">
|
||||
<el-form-item label="导出名称" class="search-item">
|
||||
<el-input v-model="exportName" placeholder="请输入导出文件名称" :maxlength="30" clearable label="导出名称"/>
|
||||
<el-input class="exportFileInput" v-model="exportName" placeholder="请输入导出文件名称" :maxlength="30" clearable label="导出名称"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="demo-drawer-footer">
|
||||
@@ -16,7 +16,7 @@
|
||||
<script>
|
||||
export default {
|
||||
name: "exportDialog",
|
||||
data () {
|
||||
data() {
|
||||
return {
|
||||
exportModelFlag: false,
|
||||
exportName: ''
|
||||
@@ -29,14 +29,14 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
openModel () {
|
||||
openModel() {
|
||||
this.exportName = ''
|
||||
this.exportModelFlag = true
|
||||
},
|
||||
cancel () {
|
||||
cancel() {
|
||||
this.exportModelFlag = false
|
||||
},
|
||||
submit () {
|
||||
submit() {
|
||||
// 导出文件名
|
||||
this.$emit('exportName', this.exportName)
|
||||
}
|
||||
@@ -45,9 +45,14 @@ export default {
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.exportFileInput /deep/.el-input__inner {
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
|
||||
/deep/ .label-input-form .add-form-item .el-form-item__content .el-input .el-input__inner {
|
||||
width: 280px;
|
||||
}
|
||||
|
||||
/deep/ .el-dialog .el-dialog__header {
|
||||
width: 100%;
|
||||
font-size: 14px;
|
||||
@@ -58,9 +63,11 @@ export default {
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/deep/ .el-dialog .el-dialog__body {
|
||||
padding: 15px 20px;
|
||||
}
|
||||
|
||||
/deep/ .el-dialog .el-dialog__footer .el-button {
|
||||
height: 32px;
|
||||
padding: 8px 23px;
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- 导入模态窗 -->
|
||||
<el-dialog width='400px' v-if="visible" :visible="visible" @close="onClose" title="导入文件">
|
||||
<el-dialog width='400px' v-if="visible" :visible="visible" @close="onClose" title="导入文件" v-dragDialogWidth
|
||||
:close-on-click-modal="false" append-to-body>
|
||||
<el-upload
|
||||
multiple
|
||||
drag
|
||||
@@ -14,10 +15,11 @@
|
||||
:on-success="importFileSuccess"
|
||||
:show-file-list="true"
|
||||
>
|
||||
<div style="padding: 20px 0">
|
||||
<!-- <div style="padding: 20px 0">-->
|
||||
<i class="el-icon-upload" style="color: #3399ff"></i>
|
||||
<p>点击或拖拽上传文件</p>
|
||||
</div>
|
||||
<div class="el-upload__text">点击或拖拽上传文件</div>
|
||||
|
||||
<!-- </div>-->
|
||||
</el-upload>
|
||||
</el-dialog>
|
||||
<!-- 导入失败-->
|
||||
@@ -104,6 +106,12 @@ export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
<style scoped lang="less">
|
||||
/deep/ .el-upload-dragger{
|
||||
width: 100% !important;
|
||||
}
|
||||
/deep/ .el-upload{
|
||||
width: 100% !important;
|
||||
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -2,30 +2,34 @@
|
||||
<div>
|
||||
<el-form-item :label="label" :prop="prop" class="add-form-item form-item-disabled">
|
||||
<el-input
|
||||
:value="value"
|
||||
:placeholder="placeholder"
|
||||
:clearable="clearable"
|
||||
:disabled="disabled"
|
||||
readonly
|
||||
@click.native="choice('role', placeholder, value)">
|
||||
></el-input>
|
||||
:value="value"
|
||||
:placeholder="placeholder"
|
||||
:clearable="clearable"
|
||||
:disabled="disabled"
|
||||
readonly
|
||||
@click.native="choice('role', placeholder, value)"
|
||||
/>
|
||||
</el-form-item>
|
||||
<Role-tree
|
||||
:is-title="choiceTitle"
|
||||
:is-visible.sync="modalShowRoleFlag"
|
||||
@checkedRole="checkedRole"
|
||||
:nodeList="nodeList"
|
||||
></Role-tree>
|
||||
:is-title="choiceTitle"
|
||||
:is-visible.sync="modalShowRoleFlag"
|
||||
:nodeList="nodeList"
|
||||
@checkedRole="checkedRole"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "personFormItem",
|
||||
name: 'PersonFormItem',
|
||||
props: {
|
||||
value: {
|
||||
required: true
|
||||
},
|
||||
id: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
prop: {
|
||||
type: String
|
||||
},
|
||||
@@ -57,14 +61,14 @@ export default {
|
||||
handleChange (event) {
|
||||
this.$emit('input', event)
|
||||
},
|
||||
choice(type, title, nameId) {
|
||||
choice (type, title, nameId) {
|
||||
this.nodeList = []
|
||||
if (nameId) {
|
||||
let nameId1 = nameId.split(',')
|
||||
const nameId1 = nameId.split(',')
|
||||
let idList = []
|
||||
nameId1.forEach(item => {
|
||||
let a, b
|
||||
a = item.substring(item.indexOf('(') +1)
|
||||
a = item.substring(item.indexOf('(') + 1)
|
||||
b = a.substring(0, a.lastIndexOf(')'))
|
||||
idList.push(b)
|
||||
})
|
||||
@@ -75,7 +79,7 @@ export default {
|
||||
this.choiceTitle = title
|
||||
this.modalShowRoleFlag = true
|
||||
},
|
||||
checkedRole(data) {
|
||||
checkedRole (data) {
|
||||
let idList = ''
|
||||
let nameList = ''
|
||||
data.forEach(item => {
|
||||
@@ -87,12 +91,13 @@ export default {
|
||||
nameList += item.name
|
||||
})
|
||||
this.$emit('input', nameList)
|
||||
this.$emit('update:id', idList)
|
||||
this.$emit('change', {
|
||||
ids: this.unique(data.map(item => item.topUnitId)).join(","),
|
||||
names: this.unique(data.map(item => item.topUnit)).join(",")
|
||||
ids: this.unique(data.map(item => item.institutionId)).join(','),
|
||||
names: this.unique(data.map(item => item.institutionCascade)).join(',')
|
||||
})
|
||||
},
|
||||
unique(newArr) {
|
||||
unique (newArr) {
|
||||
const res = new Map();
|
||||
return newArr.filter((newArr) => !res.has(newArr) && res.set(newArr, 1));
|
||||
},
|
||||
|
||||
@@ -129,6 +129,7 @@ export default {
|
||||
},
|
||||
watch: {
|
||||
data() {
|
||||
this.isEmpty = false
|
||||
if (this.data.length === 0) {
|
||||
this.scrollTo(0,0)
|
||||
this.isEmpty = true
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
<template>
|
||||
<div class="phoneHistortTable">
|
||||
<el-table
|
||||
height="100%"
|
||||
ref="selection"
|
||||
:data="histortData"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%"
|
||||
border
|
||||
row-key="id"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
|
||||
<el-table-column
|
||||
prop="name"
|
||||
min-width="100"
|
||||
label="任务步骤"
|
||||
align="center"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="assignee"
|
||||
min-width="100"
|
||||
label="任务受理人"
|
||||
align="center"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="createTime"
|
||||
label="创建时间"
|
||||
min-width="100"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD') : '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="endTime"
|
||||
label="完成时间"
|
||||
min-width="100"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD') : '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="comment"
|
||||
label="流程信息"
|
||||
min-width="100"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.commentText }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="completeFlag"
|
||||
label="状态"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.endTime ? '已完成' : scope.row.receiveStatus ? '已接收' : '未完成' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<loading :loading="loading">流程列表加载中</loading>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "phoneApprovalHistory",
|
||||
data() {
|
||||
return {
|
||||
histortData: [],
|
||||
loading: false
|
||||
}
|
||||
},
|
||||
props: {
|
||||
prcNum: {
|
||||
type: String
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getHistoryData () {
|
||||
this.$http.get('lawss/activiti/get_list_by_instance', {
|
||||
prcNum: this.prcNum || this.$route.query.prcNum
|
||||
}, {
|
||||
loading: "loading",
|
||||
_this: this
|
||||
}, res => {
|
||||
this.histortData = res
|
||||
}, e => {})
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
this.getHistoryData()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.phoneHistortTable{
|
||||
height: calc(100vh - 157px);
|
||||
//min-height: calc(100vh - 52px)
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,578 @@
|
||||
<template>
|
||||
<div class="roleTree">
|
||||
<el-drawer
|
||||
:title="isTitle"
|
||||
v-if="visible"
|
||||
:visible.sync="visible"
|
||||
:wrapperClosable="false"
|
||||
@close="handleTreeDrawerCancel"
|
||||
append-to-body
|
||||
size="90%">
|
||||
<el-form
|
||||
ref="attributeEO"
|
||||
class="label-input-form"
|
||||
:inline="true"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<el-form-item class="form-item-disabled" style="margin: 10px;">
|
||||
<el-input
|
||||
v-model="filterText"
|
||||
placeholder="请输入姓名"
|
||||
@keyup.enter.native="searchChange"
|
||||
size="mini"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item class="form-item-disabled" style="margin-top: 10px;">
|
||||
<el-button size="mini" type="primary" @click="searchChange">
|
||||
查询
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div class="divTree">
|
||||
<!-- 当前tree展示全部人员 -->
|
||||
<el-tree
|
||||
v-if="open1 && isVisible"
|
||||
node-key="id"
|
||||
style="height: 100%; overflow: auto;"
|
||||
class="filter-tree tree-line"
|
||||
icon-class="icon-tree"
|
||||
@check-change="checkChange"
|
||||
:data="treeData"
|
||||
:props="defaultProps"
|
||||
:default-checked-keys="nodeList2"
|
||||
:default-expanded-keys="defaultKey"
|
||||
highlight-current
|
||||
check-strictly
|
||||
@check="drawerCheck"
|
||||
:expand-on-click-node="true"
|
||||
show-checkbox
|
||||
ref="tree"
|
||||
:load="loadNode"
|
||||
:lazy="true">
|
||||
<span class="custom-tree-node" slot-scope="{ node, data }">
|
||||
<span :class="node.disabled ? 'is-show' : 'is-leaf-none'"></span>
|
||||
<span> {{ node.label }} </span>
|
||||
</span>
|
||||
</el-tree>
|
||||
<!-- 当前tree展示搜索出的人员 -->
|
||||
<el-tree
|
||||
v-if="!open1 && isVisible"
|
||||
node-key="id"
|
||||
style="height: 100%; overflow: auto;"
|
||||
class="filter-tree tree-line"
|
||||
icon-class="icon-tree"
|
||||
:data="treeData1"
|
||||
:props="defaultProps"
|
||||
@check-change="checkChange2"
|
||||
:default-checked-keys="nodeList2"
|
||||
:default-expanded-keys="defaultKey"
|
||||
default-expand-all
|
||||
highlight-current
|
||||
:check-strictly="true"
|
||||
@check="drawerCheck"
|
||||
show-checkbox
|
||||
ref="tree"
|
||||
:lazy="false"
|
||||
:key="treeKey"
|
||||
>
|
||||
<span class="custom-tree-node" slot-scope="{ node, data }">
|
||||
<span :class="node.disabled ? 'is-show' : 'is-leaf-none'"></span>
|
||||
<span> {{ node.label }} </span>
|
||||
</span>
|
||||
</el-tree>
|
||||
</div>
|
||||
<div class="divDel">
|
||||
<div class="divDel_title">已选中人员</div>
|
||||
<div class="divDel_box">
|
||||
<el-tag
|
||||
v-for="tag in delList"
|
||||
:key="tag.id"
|
||||
size="mini"
|
||||
@close="handleClose(tag)"
|
||||
closable>
|
||||
{{tag.name}}
|
||||
</el-tag>
|
||||
<el-tag v-show="delList.length > 0 && !checkBox" type="danger" closable size="mini"
|
||||
@close="handleCloseAll()">全部删除
|
||||
</el-tag>
|
||||
</div>
|
||||
</div>
|
||||
<div id="roleFormButton" class="demo-drawer-footer">
|
||||
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary"
|
||||
:loading="subLoading" @click="saveUserInfo">确定
|
||||
</el-button>
|
||||
|
||||
<el-button class="common-button-default" size="mini" icon="el-icon-close" :loading="subLoading"
|
||||
@click="handleTreeDrawerCancel">取消
|
||||
</el-button>
|
||||
</div>
|
||||
<loading style="z-index: 2099;" :loading="treeLoading">导入中...</loading>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
function debounce(func, wait = 500) {
|
||||
let timeout;
|
||||
return function (event) {
|
||||
clearTimeout(timeout)
|
||||
timeout = setTimeout(() => {
|
||||
func.call(this, event)
|
||||
}, wait)
|
||||
}
|
||||
}
|
||||
|
||||
export default {
|
||||
name: "phoneRoleTree",
|
||||
props: {
|
||||
checkBox: { // 单选/多选
|
||||
type: Boolean,
|
||||
default: false,//默认false多选
|
||||
},
|
||||
isTitle: { // 标题
|
||||
type: String
|
||||
},
|
||||
isVisible: { // drawer开关
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
nodeList: { // 回显
|
||||
type: Array,
|
||||
default: () => {
|
||||
return []
|
||||
}
|
||||
},
|
||||
type: {
|
||||
type: Number,
|
||||
default: 0
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
treeKey: 1,
|
||||
defaultKey: [],//默认展开的节点的 key 的数组
|
||||
visible: false,
|
||||
selectList: [],
|
||||
nodeList2: [],//默认勾选的节点的 key 的数组
|
||||
delList: [],
|
||||
roleList: [],
|
||||
filterText: '',
|
||||
defaultProps: {//配置选项
|
||||
children: 'children',//指定子树为节点对象的某个属性值
|
||||
label: 'name',//指定节点标签为节点对象的某个属性值
|
||||
},
|
||||
treeData1: [],
|
||||
treeData: [],
|
||||
open1: true,
|
||||
treeLoading: false,
|
||||
subLoading: false,
|
||||
roleRow: {}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
nameJoinAccount(treeData1) {
|
||||
treeData1.forEach(item => {
|
||||
if (item.account) item.name = `${item.name}(${item.account})`
|
||||
if (item.children) this.nameJoinAccount(item.children)
|
||||
})
|
||||
},
|
||||
handleClose(tag) {
|
||||
let arr = []
|
||||
for (let a = 0; a < this.delList.length; a++) {
|
||||
if (tag.id === this.delList[a].id) {
|
||||
this.delList.splice(a, 1)
|
||||
}
|
||||
}
|
||||
this.delList.map(item => {
|
||||
arr.push(item)
|
||||
})
|
||||
this.$refs.tree.setCheckedKeys(arr);
|
||||
for (let b = 0; b < this.nodeList2.length; b++) {
|
||||
if (tag.id === this.nodeList2[b]) {
|
||||
this.nodeList2.splice(b, 1)
|
||||
}
|
||||
}
|
||||
for (let c = 0; c < this.roleList.length; c++) {
|
||||
if (tag.id === this.roleList[c].id) {
|
||||
this.roleList.splice(c, 1)
|
||||
}
|
||||
}
|
||||
},
|
||||
handleCloseAll() {
|
||||
this.$msgbox({
|
||||
title: '提示',
|
||||
message: '是否删除当前选中人员',
|
||||
showCancelButton: true,
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
}).then(() => {
|
||||
this.delList = []
|
||||
this.nodeList2 = []
|
||||
this.roleList = []
|
||||
this.$refs.tree.setCheckedKeys([]);
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '取消删除'
|
||||
});
|
||||
}
|
||||
)
|
||||
},
|
||||
searchChange() {
|
||||
// 查询
|
||||
if (this.filterText.length) {
|
||||
this.open1 = false // 显示第二个tree
|
||||
this.treeLoading = true
|
||||
this.defaultKey = []
|
||||
this.$http.get('SarInstitution/institution/getNextTwo', {
|
||||
userName: this.filterText
|
||||
}, {}, res => {
|
||||
this.treeData1 = res
|
||||
this.treeData1.forEach(item => {
|
||||
this.defaultKey.push(item.id)
|
||||
})
|
||||
this.nameJoinAccount(this.treeData1)
|
||||
this.treeLoading = false
|
||||
})
|
||||
// this.treeKey++
|
||||
|
||||
|
||||
// this.$http.get('SarInstitution/institution/institutionAndUser', {
|
||||
// userName: this.filterText
|
||||
// }, {}, res => {
|
||||
// this.treeData1 = res.data
|
||||
// this.treeData1.forEach(item => {
|
||||
// this.defaultKey.push(item.id)
|
||||
// })
|
||||
// console.log(1);
|
||||
// this.getChildren()
|
||||
// this.treeLoading = false
|
||||
// })
|
||||
} else {
|
||||
this.open1 = true
|
||||
}
|
||||
},
|
||||
changeInput: debounce(function (val) {
|
||||
if (val.length) {
|
||||
this.open1 = false
|
||||
this.treeLoading = true
|
||||
this.$http.get('SarInstitution/institution/institutionAndUser', {
|
||||
userName: val
|
||||
}, {}, res => {
|
||||
this.treeData1 = res.data
|
||||
this.treeLoading = false
|
||||
})
|
||||
} else {
|
||||
this.open1 = true
|
||||
}
|
||||
}),
|
||||
checkChange2(row, type, c) {
|
||||
if (this.checkBox) {
|
||||
} else {
|
||||
if (type) {
|
||||
this.nodeList2.push(row.id)
|
||||
this.delList.push(row)
|
||||
} else {
|
||||
for (let a = 0; a < this.nodeList2.length; a++) {
|
||||
if (row.id === this.nodeList2[a]) {
|
||||
this.nodeList2.splice(a, 1)
|
||||
}
|
||||
}
|
||||
for (let b = 0; b < this.delList.length; b++) {
|
||||
if (row.id === this.delList[b].id) {
|
||||
this.delList.splice(b, 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
checkChange(row, type, c) {
|
||||
//节点选中状态发生变化时的回调(传递给 data 属性的数组中该节点所对应的对象、节点本身是否被选中、节点的子树中是否有被选中的节点)
|
||||
if (this.checkBox) {
|
||||
} else {
|
||||
if (type) {
|
||||
this.nodeList2.push(row.id)
|
||||
this.delList.push(row)
|
||||
} else {
|
||||
for (let a = 0; a < this.nodeList2.length; a++) {
|
||||
if (row.id === this.nodeList2[a]) {
|
||||
this.nodeList2.splice(a, 1)
|
||||
}
|
||||
}
|
||||
for (let b = 0; b < this.delList.length; b++) {
|
||||
if (row.id === this.delList[b].id) {
|
||||
this.delList.splice(b, 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
handleTreeDrawerCancel() {
|
||||
this.filterText = ''
|
||||
this.open1 = true
|
||||
this.visible = false
|
||||
},
|
||||
saveUserInfo() {
|
||||
if (this.roleList.length === 0) {
|
||||
// this.roleList.push({id: "", name: ""});
|
||||
return this.$message.warning('请选择人员')
|
||||
}
|
||||
if (this.checkBox) {
|
||||
this.$emit('checkedRole', this.roleList)
|
||||
this.nodeList2 = []
|
||||
this.$emit('update:isVisible', false)
|
||||
} else {
|
||||
if (this.nodeList2.length > 0 && this.nodeList2[0].length !== 0) {
|
||||
let ids = ''
|
||||
this.nodeList2.forEach(item => {
|
||||
if (ids.length > 0) {
|
||||
ids += ','
|
||||
ids += item
|
||||
} else {
|
||||
ids = item
|
||||
}
|
||||
})
|
||||
this.subLoading = true
|
||||
this.$http.get('SarInstitution/institution/getNextById', {
|
||||
ids: ids,
|
||||
topNum: 3,
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.$emit('checkedRole', res)
|
||||
this.nodeList2 = []
|
||||
this.$emit('update:isVisible', false)
|
||||
this.subLoading = false
|
||||
})
|
||||
} else {
|
||||
this.$emit('checkedRole', this.roleList)
|
||||
this.nodeList2 = []
|
||||
this.$emit('update:isVisible', false)
|
||||
}
|
||||
}
|
||||
this.open1 = true
|
||||
},
|
||||
drawerCheck(data) {
|
||||
//当复选框被点击的时候触发
|
||||
//共两个参数,依次为:传递给 data 属性的数组中该节点所对应的对象、树目前的选中状态对象,包含 checkedNodes、checkedKeys、halfCheckedNodes、halfCheckedKeys 四个属性
|
||||
if (this.checkBox) { // 单选
|
||||
// 单选判断
|
||||
let getlist = this.$refs.tree.getCheckedNodes()
|
||||
if (getlist.length > 1) {
|
||||
this.$refs.tree.setCheckedKeys([])
|
||||
this.$refs.tree.setCheckedKeys([data.id])
|
||||
this.roleList = [data]
|
||||
this.delList = [data]
|
||||
} else if (getlist.length === 0) {
|
||||
this.roleList = [{}]
|
||||
this.delList = []
|
||||
} else if (getlist.length === 1) {
|
||||
this.roleList = [data]
|
||||
this.delList = [data]
|
||||
}
|
||||
} else { // 多选
|
||||
if (this.roleList.length === 0) {
|
||||
this.roleList.push(data)
|
||||
} else {
|
||||
let delFlag = true
|
||||
this.roleList.forEach((item, index) => {
|
||||
if (item.id === data.id) {
|
||||
this.roleList.splice(index, 1)
|
||||
delFlag = false
|
||||
}
|
||||
})
|
||||
if (delFlag) {
|
||||
this.roleList.push(data)
|
||||
}
|
||||
}
|
||||
// this.roleList = this.$refs.tree.getCheckedNodes().concat(this.$refs.tree.getHalfCheckedNodes())
|
||||
}
|
||||
},
|
||||
loadNode(node, resolve) {
|
||||
//加载子树数据的方法,仅当 lazy 属性为true 时生效
|
||||
if (node.level === 0) {
|
||||
return resolve(this.treeData);
|
||||
}
|
||||
this.getChildren(node, resolve)
|
||||
},
|
||||
getChildren(node, resolve) {
|
||||
this.$http.get('SarInstitution/institution/getNext', {
|
||||
institutionId: node.key,
|
||||
userName: this.filterText
|
||||
}, {}, res => {
|
||||
resolve(res)
|
||||
})
|
||||
},
|
||||
getTree() {
|
||||
this.treeLoading = true
|
||||
this.$http.get('SarInstitution/institution/getFirstInstitution', {}, {}, res => {
|
||||
this.treeData = res
|
||||
this.treeLoading = false
|
||||
})
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
isVisible(val) {
|
||||
this.visible = val
|
||||
if (val) {
|
||||
this.nodeList2 = this.nodeList
|
||||
if (this.nodeList2.length && this.nodeList2[0].length) {
|
||||
let ids = ''
|
||||
this.nodeList2.forEach(item => {
|
||||
if (ids.length) {
|
||||
ids += ','
|
||||
ids += item
|
||||
} else {
|
||||
ids = item
|
||||
}
|
||||
})
|
||||
this.$http.get('SarInstitution/institution/getNextById', {
|
||||
ids: ids
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.delList = res
|
||||
})
|
||||
} else {
|
||||
this.delList = []
|
||||
}
|
||||
} else {
|
||||
this.delList = []
|
||||
}
|
||||
},
|
||||
visible(val) {
|
||||
this.$emit('update:isVisible', val)
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getTree()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.divTree {
|
||||
overflow: auto;
|
||||
height: calc(~'100% - 100px');
|
||||
}
|
||||
|
||||
.divDel {
|
||||
border-top: 1px solid #000;
|
||||
height: 100px;
|
||||
|
||||
.divDel_title {
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.divDel_box {
|
||||
height: 66px;
|
||||
padding: 0px 0 10px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
overflow: auto;
|
||||
margin: 10px;
|
||||
align-content: flex-start;
|
||||
|
||||
span {
|
||||
margin: 0px 5px 5px 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/deep/ .icon-tree {
|
||||
margin: 0 5px 0 10px;
|
||||
position: relative;
|
||||
background: url('~@/assets/images/shangqi/img/tree-add.png');
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
/deep/ .el-tree-node__content {
|
||||
padding-left: 0px !important;
|
||||
}
|
||||
|
||||
/deep/ .is-leaf {
|
||||
background-image: none;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
/deep/ .is-leaf-none {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
background: url('~@/assets/images/shangqi/img/personnel.png');
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
/deep/ .is-show {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
background: url('~@/assets/images/shangqi/img/mechanism.png');
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
/deep/ .tree-line {
|
||||
.el-tree-node {
|
||||
position: relative;
|
||||
padding-left: 0px; // 缩进量
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.el-tree-node__children {
|
||||
padding-left: 16px; // 缩进量
|
||||
}
|
||||
|
||||
// 竖线
|
||||
.el-tree-node::before {
|
||||
content: "";
|
||||
height: 100%;
|
||||
width: 1px;
|
||||
position: absolute;
|
||||
left: -3px;
|
||||
top: -26px;
|
||||
border-width: 1px;
|
||||
border-left: 1px dashed #858990e0;
|
||||
}
|
||||
|
||||
// 当前层最后一个节点的竖线高度固定
|
||||
.el-tree-node:last-child::before {
|
||||
height: 38px; // 可以自己调节到合适数值
|
||||
}
|
||||
|
||||
// 横线
|
||||
.el-tree-node::after {
|
||||
content: "";
|
||||
width: 11px;
|
||||
height: 20px;
|
||||
position: absolute;
|
||||
left: -3px;
|
||||
top: 12px;
|
||||
border-width: 1px;
|
||||
border-top: 1px dashed #858990e0;
|
||||
}
|
||||
|
||||
// 去掉最顶层的虚线,放最下面样式才不会被上面的覆盖了
|
||||
& > .el-tree-node::after {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
& > .el-tree-node::before {
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
// 展开关闭的icon
|
||||
.el-tree-node__expand-icon {
|
||||
font-size: 16px;
|
||||
// 叶子节点(无子节点)
|
||||
&.is-leaf {
|
||||
color: transparent;
|
||||
// display: none; // 也可以去掉
|
||||
}
|
||||
}
|
||||
}
|
||||
.demo-drawer-footer {
|
||||
height: 50px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,113 @@
|
||||
<template>
|
||||
<el-drawer
|
||||
title="政策体系"
|
||||
:visible.sync="visible"
|
||||
>
|
||||
<el-input v-model="filterText" placeholder="请输入政策体系" class="filterInput" style="width: 100%;padding: 10px 5px"/>
|
||||
<div style="flex: 1">
|
||||
<el-tree
|
||||
ref="tree"
|
||||
:data="treeList"
|
||||
:props="defaultProps"
|
||||
node-key="id"
|
||||
highlight-current
|
||||
:filter-node-method="filterNode"
|
||||
:expand-on-click-node="false"
|
||||
>
|
||||
<span slot-scope="{ node, data }" class="custom-tree-node">
|
||||
<span :class="data.children.length !== 0 ? 'is-show' : 'is-leaf-none'" />
|
||||
<span style="font-size:12px"> {{ node.label }} </span>
|
||||
</span>
|
||||
</el-tree>
|
||||
</div>
|
||||
<div class="demo-drawer-footer" style="height: 51px">
|
||||
<el-button size="mini" @click="cancel">取消</el-button>
|
||||
<el-button size="mini" type="primary" @click="submit">确定</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'PolicyTree',
|
||||
data () {
|
||||
return {
|
||||
visible: false,
|
||||
getListStand: 'sarResource/ts-resource/getListStandIgnoreMyCollection',
|
||||
treeList: [],
|
||||
filterText: '',
|
||||
defaultProps: {
|
||||
children: 'children',
|
||||
label: 'menuName'
|
||||
},
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.getList()
|
||||
},
|
||||
watch: {
|
||||
filterText (val) {
|
||||
this.$refs.tree.filter(val);
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
filterNode (value, data) {
|
||||
if (!value) return true;
|
||||
return data.menuName.indexOf(value) !== -1;
|
||||
},
|
||||
getList () {
|
||||
this.$http._getData(this.getListStand, {
|
||||
sorDivide: 'FOREIGN_LAWS',
|
||||
userId: this.$store.getters.userInfo.userId
|
||||
}).then(res => {
|
||||
if (res.ok) {
|
||||
this.treeList = res.data
|
||||
}
|
||||
})
|
||||
},
|
||||
open (key) {
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.filterText = ''
|
||||
key === '' ?
|
||||
this.$refs.tree.setCurrentKey() :
|
||||
this.$refs.tree.setCurrentKey(key)
|
||||
})
|
||||
},
|
||||
cancel () {
|
||||
this.visible = false
|
||||
},
|
||||
submit () {
|
||||
const currentNode = this.$refs.tree.getCurrentNode()
|
||||
if (!currentNode) {
|
||||
this.$message({
|
||||
message: '请选择政策体系',
|
||||
type: 'warning'
|
||||
})
|
||||
return
|
||||
}
|
||||
this.$emit('choose', currentNode)
|
||||
this.cancel()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
/deep/ .is-leaf-none{
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
background: url('~@/assets/images/shangqi/img/none-file-new.png');
|
||||
background-size:100% 100%;
|
||||
}
|
||||
/deep/ .is-show{
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
background:url('~@/assets/images/shangqi/img/tree.png');
|
||||
background-size:100% 100%;
|
||||
}
|
||||
</style>
|
||||
@@ -27,6 +27,7 @@ import SQTree from './SQTree'
|
||||
import OrgTable from './OrgTable'
|
||||
import MySelect from './mySelect'
|
||||
import PhoneHistortTable from './phoneHistortTable'
|
||||
import processNodeInformation from './processNodeInformation'
|
||||
|
||||
import phoneRole from './phoneRole'
|
||||
|
||||
@@ -57,6 +58,7 @@ const install = function (Vue) {
|
||||
Vue.component('MySelect', MySelect)
|
||||
Vue.component('phoneRole', phoneRole)
|
||||
Vue.component('PhoneHistortTable', PhoneHistortTable)
|
||||
Vue.component('processNodeInformation', processNodeInformation)
|
||||
}
|
||||
|
||||
export default {
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
v-for="(children, childrenIndex) in item.children"
|
||||
:key="childrenIndex"
|
||||
:index="children.path"
|
||||
style="text-align: center;"
|
||||
style="padding-right: 15px; padding-left: 30px;font-size: 14px"
|
||||
v-if="!children.menuId || $hasPermission(children.menuId)"itemSplitInfo
|
||||
>
|
||||
<el-badge :value="getDynamicTotal.msgCount" class="item" v-if="children.title === '我的消息' && getDynamicTotal.msgCount !== 0">
|
||||
@@ -52,6 +52,9 @@
|
||||
<el-badge :value="getDynamicTotal.myStandCount" class="item" v-else-if="children.title === '我的企标' && getDynamicTotal.myStandCount !== 0">
|
||||
{{ children.title }}
|
||||
</el-badge>
|
||||
<el-badge is-dot class="item miniBadge" v-else-if="children.title === '标准/译文获取申请管理' && getStandardTranslationTodo !== 0">
|
||||
<div>{{children.title}}</div>
|
||||
</el-badge>
|
||||
<div v-else>
|
||||
{{ children.title }}
|
||||
</div>
|
||||
@@ -81,6 +84,7 @@
|
||||
name: 'NavMenu',
|
||||
data () {
|
||||
return {
|
||||
standardTranslation: 0,
|
||||
defaultActive: null, // 当前激活菜单的 index
|
||||
navMenuList: [
|
||||
// {
|
||||
@@ -161,6 +165,11 @@
|
||||
path: '/standQA',
|
||||
menuId: '2621269642ea4c6c8c42905863b2dc09'
|
||||
},
|
||||
{
|
||||
title: '标准/译文获取申请管理',
|
||||
path: '/standardTranslationAcquisitionRequest',
|
||||
menuId: 'd7ad73e98162894d020aa993c08a4532'
|
||||
},
|
||||
// {
|
||||
// title: '零部件编号申请',
|
||||
// path: '/partCodeApply',
|
||||
@@ -550,6 +559,11 @@
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.$http.get('/lawss/standardApplyFor/queryPendingApprovalCount', '', { _this: this }, res => {
|
||||
if (res.ok) {
|
||||
this.$store.commit('SET_STANDARD_TRANSLATION_TODO', res.data.pendingApprovalCount)
|
||||
}
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
handleSelect (key, keyPath) {
|
||||
@@ -573,7 +587,7 @@
|
||||
// return this.isCollapse ? require('assets/images/shangqi/img/logo4.png') : require('assets/images/shangqi/img/logo5.png')
|
||||
return this.isCollapse ? require('assets/images/shangqi/img/logo4.png') : require('assets/images/shangqi/img/logo2.png')
|
||||
},
|
||||
...mapGetters(['getDynamicTotal', 'isCollapse'])
|
||||
...mapGetters(['getDynamicTotal', 'isCollapse', 'getStandardTranslationTodo'])
|
||||
},
|
||||
watch: {
|
||||
// 监听路由 重新渲染面包屑
|
||||
@@ -606,6 +620,7 @@
|
||||
width: 58px;
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
user-select: none;
|
||||
box-sizing: border-box;
|
||||
position: absolute;
|
||||
@@ -785,7 +800,7 @@
|
||||
}
|
||||
}
|
||||
.el-menu-item {
|
||||
padding-left: 0 !important;
|
||||
//padding-left: 0 !important;
|
||||
font-size: 16px;
|
||||
font-weight: normal;
|
||||
height: 40px;
|
||||
@@ -812,5 +827,10 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.miniBadge{
|
||||
/deep/ .is-dot{
|
||||
left: -18px;
|
||||
top: 14px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -28,9 +28,14 @@ export default {
|
||||
this.$emit('pageChange', page)
|
||||
},
|
||||
pageSizeChange (pageSize) {
|
||||
this.userInfo.configContent = pageSize
|
||||
this.setUserInfo(JSON.stringify(JSON.parse(JSON.stringify(this.userInfo))))
|
||||
this.$emit('pageSizeChange', pageSize)
|
||||
if(this.autoSize) {
|
||||
this.$emit('pageSizeChange', pageSize)
|
||||
}else{
|
||||
this.userInfo.configContent = pageSize
|
||||
this.setUserInfo(JSON.stringify(JSON.parse(JSON.stringify(this.userInfo))))
|
||||
this.$emit('pageSizeChange', pageSize)
|
||||
}
|
||||
|
||||
|
||||
// if (this.getTypeFlag === 'CloudRepository') {
|
||||
// this.userInfo.configContent = pageSize
|
||||
|
||||
@@ -0,0 +1,608 @@
|
||||
<template>
|
||||
<div class="flow-chart-box">
|
||||
<div class="flow-chart">
|
||||
<div class="flow-group-process" v-if="$route.query.oldAndNew == 'new'">
|
||||
<div class="flow-group-process-stard">
|
||||
开始
|
||||
</div>
|
||||
<div v-for="(item,index) in nameList"
|
||||
:key="item.id"
|
||||
:class="{'flow-group-process-box-one':arrangeFromTheLeft(index + 1)}"
|
||||
class="flow-group-process-box">
|
||||
<div v-if="leftArrow(index + 1)"
|
||||
:class="{'flow-group-process-arrow-left':arrangeFromTheLeft(index + 1)}"
|
||||
class="flow-group-process-arrow">
|
||||
</div>
|
||||
<div class="flow-group-process-content"
|
||||
:style="backdrop(item.taskStatus)"
|
||||
:class="{'flow-group-process-content-dis':!leftArrow(index + 1)}">
|
||||
<div class="flow-group-process-content-top">
|
||||
<el-tooltip placement="top">
|
||||
<div slot="content">
|
||||
{{item.taskKeyName}}
|
||||
</div>
|
||||
<div>
|
||||
{{item.taskKeyName}}
|
||||
</div>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
<el-tooltip placement="top">
|
||||
<div slot="content">
|
||||
<div style="margin-bottom: 4px"
|
||||
v-for="val1 in item.userNames">
|
||||
{{val1}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flow-group-process-content-bottom"
|
||||
v-if="item.userNames && item.userNames.length > 0">
|
||||
<div v-if="item.userNames && item.userNames.length > 0"
|
||||
v-for="val in item.userNames">
|
||||
<div class="flow-group-process-content-bottom-text">{{val}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-tooltip>
|
||||
<div class="flow-group-process-content-bottom" v-if="!item.userNames">
|
||||
<div>暂未选择处理人</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="isVerticalLine(index + 1)"
|
||||
:class="{'flow-group-process-arrow-one':(index + 1) % num == 0 ? true : false}"
|
||||
class="flow-group-process-arrow"></div>
|
||||
<div v-if="!arrangeFromTheLeft(index + 1) && (index + 1) == nameList.length
|
||||
&& (index + 1) % num != 0"
|
||||
:class="{'flow-group-process-arrow-left':arrangeFromTheLeft(index + 1)}"
|
||||
class="flow-group-process-arrow">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flow-group-process-end"
|
||||
:style="backdrop(nameList[nameList.length - 1] &&
|
||||
nameList[nameList.length - 1].taskStatus == 'done' ? 'done' : '')"
|
||||
:class="{'flow-group-process-end-left':isProcessEnd(nameList.length),
|
||||
'flow-group-process-end-one':isProcessEndOne(nameList.length)}">
|
||||
结束
|
||||
</div>
|
||||
</div>
|
||||
<img v-else :src="processStep" class="process-img">
|
||||
<loading :loading="loadingImg">流程列表加载中</loading>
|
||||
</div>
|
||||
<div class="flow-list">
|
||||
|
||||
<el-table
|
||||
v-if="$route.query.oldAndNew == 'new'"
|
||||
height="100%"
|
||||
ref="selection"
|
||||
:data="histortData"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%"
|
||||
border
|
||||
row-key="id"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
|
||||
<el-table-column
|
||||
type="index"
|
||||
width="55"
|
||||
label="序号"
|
||||
align="center"/>
|
||||
<el-table-column
|
||||
prop="taskKeyShow"
|
||||
label="任务步骤"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="userName"
|
||||
label="任务受理人"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="createTime"
|
||||
label="创建时间"
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="endTime"
|
||||
label="完成时间"
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="$route.query.prcType == '3'"
|
||||
prop="parentUserName"
|
||||
label="任务分发人"
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.parentUserName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="commitText"
|
||||
label="意见内容"
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.commitText }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="completeFlag"
|
||||
label="状态"
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.taskStatusShow }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-table
|
||||
v-else
|
||||
height="100%"
|
||||
ref="selection"
|
||||
:data="histortData"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%"
|
||||
border
|
||||
row-key="id"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
|
||||
<el-table-column
|
||||
label="序号"
|
||||
align="center"
|
||||
type="index"
|
||||
width="50">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="name"
|
||||
label="任务步骤"
|
||||
align="center"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="assignee"
|
||||
label="任务受理人"
|
||||
align="center"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="createTime"
|
||||
label="创建时间"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="endTime"
|
||||
label="完成时间"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format('YYYY-MM-DD HH:mm:ss') : '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="comment"
|
||||
label="流程信息"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.commentText }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="completeFlag"
|
||||
label="状态"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.endTime ? '已完成' : scope.row.receiveStatus ? '已接收' : '未完成' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<loading :loading="loading">流程列表加载中</loading>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import axios from "axios";
|
||||
|
||||
export default {
|
||||
name: "index",
|
||||
props: {
|
||||
prcId: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
prcType: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
prcNum: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
histortData: [],
|
||||
processStep: '',
|
||||
nameList: [],
|
||||
loading: false,
|
||||
num: 0,
|
||||
loadingImg: false,
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.processTable()
|
||||
},
|
||||
methods: {
|
||||
// 请求列表
|
||||
processTable() {
|
||||
let url = ''
|
||||
let query = {}
|
||||
if (this.$route.query.oldAndNew == 'new') {
|
||||
url = '/lawss/activiti/queryFlowHistoryList'
|
||||
query = {
|
||||
actiProcInstId: this.prcId,
|
||||
flowType: this.prcType,
|
||||
}
|
||||
} else {
|
||||
url = 'lawss/activiti/get_list_by_instance'
|
||||
query = {
|
||||
prcNum: this.prcNum,
|
||||
}
|
||||
}
|
||||
this.loading = true
|
||||
this.$http.get(url, query, {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.histortData = res
|
||||
if (this.$route.query.oldAndNew == 'new') {
|
||||
this.getProcessList()
|
||||
} else {
|
||||
this.processNum()
|
||||
}
|
||||
this.loading = false
|
||||
}, e => {
|
||||
})
|
||||
},
|
||||
getProcessList() {
|
||||
let query = {
|
||||
actiProcInstId: this.prcId,
|
||||
flowType: this.prcType,
|
||||
}
|
||||
this.loadingImg = true
|
||||
this.$http.get('/lawss/activiti/getImgDataList', query, {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.nameList = res
|
||||
this.nameList.forEach(val => {
|
||||
if (val.userNames) {
|
||||
val.userNames = val.userNames.split(',')
|
||||
}
|
||||
})
|
||||
if (this.$route.query.prcType == 'buss1'){
|
||||
if (this.histortData && this.histortData.length > 0){
|
||||
if (this.histortData[this.histortData.length - 1].taskKey == 'BussLibraryC3'){
|
||||
this.nameList.forEach(val => {
|
||||
if (val.taskKey == 'BussLibrary3') {
|
||||
val.taskStatus = 'todo'
|
||||
}
|
||||
})
|
||||
}else if (this.histortData[this.histortData.length - 1].taskKey == 'BussLibraryC1'){
|
||||
this.nameList.forEach(val => {
|
||||
if (val.taskKey == 'BussLibrary1') {
|
||||
val.taskStatus = 'todo'
|
||||
}
|
||||
})
|
||||
}else if (this.histortData[this.histortData.length - 1].taskKey == 'BussLibraryC6'){
|
||||
this.nameList.forEach(val => {
|
||||
if (val.taskKey == 'BussLibrary6') {
|
||||
val.taskStatus = 'todo'
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
let flowGroupProcess = document.getElementsByClassName('flow-group-process')
|
||||
let num = (flowGroupProcess[0].offsetWidth - 100) / 248
|
||||
this.num = Math.floor(num)
|
||||
let width = 248 * this.num
|
||||
let offsetWidth = flowGroupProcess[0].offsetWidth
|
||||
flowGroupProcess[0].style.width = (offsetWidth - (offsetWidth - 100 - width) + 40) + 'px'
|
||||
this.loadingImg = false
|
||||
})
|
||||
}, e => {
|
||||
})
|
||||
},
|
||||
arrangeFromTheLeft(index) {
|
||||
let num = Math.ceil(index / this.num)
|
||||
if (num % 2 == 0) {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
},
|
||||
leftArrow(index) {
|
||||
let num = Math.ceil(index / this.num)
|
||||
if (num % 2 == 0) {
|
||||
if (index == this.num * num && this.nameList.length != index) {
|
||||
return false
|
||||
}
|
||||
} else {
|
||||
if (index > this.num) {
|
||||
if (index == this.num * (num - 1) + 1) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
}
|
||||
return true
|
||||
},
|
||||
isVerticalLine(index) {
|
||||
let num = Math.ceil(index / this.num)
|
||||
if (index % this.num == 0 && this.nameList.length != index) {
|
||||
return true
|
||||
}
|
||||
if (num == index / this.num && num % 3 == 0) {
|
||||
return true
|
||||
}
|
||||
if (num == index / this.num && index <= this.num) {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
},
|
||||
isProcessEnd(index) {
|
||||
let num = Math.ceil(index / this.num)
|
||||
if (num % 2 == 0) {
|
||||
return false
|
||||
} else {
|
||||
if (num == index / this.num && index <= this.num) {
|
||||
return false
|
||||
}
|
||||
if (num == index / this.num && num % 3 == 0) {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
},
|
||||
isProcessEndOne(index) {
|
||||
let num = Math.ceil(index / this.num)
|
||||
if (num == index / this.num && index <= this.num) {
|
||||
return true
|
||||
}
|
||||
if (num == index / this.num && num % 3 == 0) {
|
||||
return true
|
||||
}
|
||||
return false
|
||||
},
|
||||
backdrop(status) {
|
||||
if (status == 'done') {
|
||||
return {
|
||||
background: '#bcddff',
|
||||
border: '1px #79c8ff solid',
|
||||
}
|
||||
} else if (status == 'todo') {
|
||||
return {
|
||||
background: '#ebfccf',
|
||||
border: '1px #8bcb71 solid',
|
||||
}
|
||||
} else {
|
||||
return {
|
||||
background: '#fff',
|
||||
border: '1px #d6d6d6 solid',
|
||||
}
|
||||
}
|
||||
},
|
||||
// 请求转换流程图
|
||||
processNum() {
|
||||
axios.request({
|
||||
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
|
||||
responseType: 'blob',
|
||||
method: 'get',
|
||||
params: {
|
||||
prcNum: this.prcNum
|
||||
}
|
||||
}).then(res => {
|
||||
// let blob = new Blob([res.data], {type: 'image/jpg'})
|
||||
// let url = window.URL.createObjectURL(res.data)
|
||||
this.processStep = window.URL.createObjectURL(res.data)
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.flow-chart-box {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.flow-chart {
|
||||
width: 100%;
|
||||
height: 45%;
|
||||
background: #F0F0F0;
|
||||
border: 1px solid #CCCDCE;
|
||||
border-bottom: none;
|
||||
padding: 10px;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.flow-group-process {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
min-height: 100%;
|
||||
padding: 20px;
|
||||
box-sizing: border-box;
|
||||
/*display: flex;*/
|
||||
/*align-items: center;*/
|
||||
/*flex-wrap: wrap;*/
|
||||
|
||||
.flow-group-process-stard {
|
||||
width: 100px;
|
||||
border-radius: 20px;
|
||||
height: 40px;
|
||||
background: #bcddff;
|
||||
border: 1px #79c8ff solid;
|
||||
font-size: 12px;
|
||||
color: #000;
|
||||
text-align: center;
|
||||
line-height: 40px;
|
||||
font-weight: 600;
|
||||
float: inline-start;
|
||||
margin-top: 28px;
|
||||
}
|
||||
|
||||
.flow-group-process-end {
|
||||
width: 100px;
|
||||
border-radius: 20px;
|
||||
height: 40px;
|
||||
background: #bcddff;
|
||||
border: 1px #79c8ff solid;
|
||||
font-size: 12px;
|
||||
color: #000;
|
||||
text-align: center;
|
||||
line-height: 40px;
|
||||
font-weight: 600;
|
||||
float: inline-end;
|
||||
margin-top: 28px;
|
||||
}
|
||||
|
||||
.flow-group-process-end-left {
|
||||
float: inline-start;
|
||||
}
|
||||
|
||||
.flow-group-process-end-one {
|
||||
margin-top: 0;
|
||||
margin-right: 17px;
|
||||
}
|
||||
|
||||
.flow-group-process-arrow {
|
||||
width: 100px;
|
||||
height: 1px;
|
||||
background: #c1c1c1;
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.flow-group-process-arrow::after {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
left: 100px;
|
||||
top: -7px;
|
||||
border-left: 8px solid #c1c1c1;
|
||||
border-top: 4px solid transparent;
|
||||
border-bottom: 4px solid transparent;
|
||||
}
|
||||
|
||||
.flow-group-process-arrow-one {
|
||||
width: 30px;
|
||||
height: 1px;
|
||||
background: #c1c1c1;
|
||||
margin-right: 8px;
|
||||
transform: rotate(90deg);
|
||||
right: 44px;
|
||||
position: absolute;
|
||||
bottom: -16px;
|
||||
|
||||
}
|
||||
|
||||
.flow-group-process-arrow-one::after {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
left: 30px;
|
||||
top: -7px;
|
||||
border-left: 8px solid #c1c1c1;
|
||||
border-top: 4px solid transparent;
|
||||
border-bottom: 4px solid transparent;
|
||||
}
|
||||
|
||||
.flow-group-process-arrow-left {
|
||||
width: 100px;
|
||||
height: 1px;
|
||||
background: #c1c1c1;
|
||||
margin-right: 0;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.flow-group-process-arrow-left::after {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
left: -8px;
|
||||
top: -7px;
|
||||
border-right: 8px solid #c1c1c1;
|
||||
border-left: none;
|
||||
border-top: 4px solid transparent;
|
||||
border-bottom: 4px solid transparent;
|
||||
}
|
||||
|
||||
.flow-group-process-box {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
float: inline-start;
|
||||
position: relative;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
.flow-group-process-box-one {
|
||||
float: inline-end;
|
||||
}
|
||||
|
||||
.flow-group-process-content {
|
||||
min-height: 80px;
|
||||
width: 140px;
|
||||
background: #bcddff;
|
||||
border: 1px #79c8ff solid;
|
||||
font-size: 12px;
|
||||
color: #000;
|
||||
text-align: center;
|
||||
padding: 0 6px;
|
||||
box-sizing: border-box;
|
||||
font-weight: 600;
|
||||
|
||||
.flow-group-process-content-top {
|
||||
width: 100%;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
font-size: 12px;
|
||||
word-break: break-all;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 1; /* 超出几行省略 */
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.flow-group-process-content-bottom {
|
||||
width: 100%;
|
||||
font-size: 12px;
|
||||
line-height: 1.4;
|
||||
height: 54px;
|
||||
overflow: hidden;
|
||||
.flow-group-process-content-bottom-text{
|
||||
word-break: break-all;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 1; /* 超出几行省略 */
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
.flow-group-process-arrow-dis {
|
||||
margin-left: 200px;
|
||||
}
|
||||
}
|
||||
|
||||
.flow-group-process-content-dis {
|
||||
margin-left: 208px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -412,6 +412,7 @@
|
||||
watch: {
|
||||
isVisible(val) {
|
||||
this.visible = val
|
||||
this.filterText= ''
|
||||
if (val) {
|
||||
this.nodeList2 = this.nodeList
|
||||
if (this.nodeList2.length && this.nodeList2[0].length) {
|
||||
|
||||
@@ -0,0 +1,562 @@
|
||||
import '@babel/polyfill'
|
||||
require('es6-promise').polyfill();
|
||||
require('es6-promise/auto');
|
||||
import Vue from 'vue'
|
||||
import App from './App'
|
||||
import ElementUI from 'element-ui'
|
||||
import 'element-ui/lib/theme-chalk/index.css'
|
||||
// jQuery
|
||||
import $ from 'jquery'
|
||||
// vuex
|
||||
import store from './store'
|
||||
import Axios from 'axios'
|
||||
// 复制
|
||||
import VueClipboard from 'vue-clipboard2'
|
||||
// 全局样式文件
|
||||
import '@/assets/styles/common.less'
|
||||
// 样式重置
|
||||
import '@/assets/styles/reset.css'
|
||||
// iconfont字体库
|
||||
import '@/assets/styles/iconfont.css'
|
||||
import '@/assets/styles/shangqi-iconfont/iconfont.css'
|
||||
import '@/assets/styles/shangqi-iconfont-replace/iconfont.css' // 可直接替换此文件夹
|
||||
import '@/assets/styles/shangqi-iconfont-2021/iconfont.css'
|
||||
// axios
|
||||
import axios from 'axios'
|
||||
import $axios from '@/common/axios'
|
||||
// 自定义全局组件
|
||||
import components from '@/components'
|
||||
// 自定义插件
|
||||
import common from '@/common'
|
||||
import dragDialogWidth from '@/common/dragDialogWidth'
|
||||
// 自定义按钮显示指令
|
||||
import btnPermission from '@/common/btnPermission' // eslint-disable-line
|
||||
import VueI18n from 'vue-i18n' // 国际化
|
||||
// import * as echarts from 'echarts'
|
||||
import { simpleUploadPath } from '@/sysConfig'
|
||||
// 时间转换
|
||||
import moment from 'moment'
|
||||
moment.suppressDeprecationWarnings = true;
|
||||
// 右键菜单
|
||||
import Contextmenu from 'vue-contextmenujs'
|
||||
|
||||
// vant
|
||||
import vant from 'vant';
|
||||
import 'vant/lib/index.css';
|
||||
//vant
|
||||
|
||||
import animate from 'animate.css'
|
||||
import tool from './utils/tool'
|
||||
Vue.use(tool)
|
||||
// 引入路由器
|
||||
import router from './router'
|
||||
// 路由解析器
|
||||
import Re from 'path-to-regexp'
|
||||
|
||||
import { get_verify_by_instance,loginIdm,getMenu,loginMobile } from 'api/process'
|
||||
import hwh5 from 'api/hwh5-cloudonline.js';
|
||||
|
||||
import { ssoLoginUrlDev,ssoLoginUrl,webLoginType,devWebUrl } from '@/sysConfig'
|
||||
|
||||
import { mapMutations, mapActions } from 'vuex'
|
||||
import VConsole from 'vuex'
|
||||
|
||||
|
||||
import isMobile from "./store/isMobile";
|
||||
import { Loading } from 'element-ui';
|
||||
|
||||
// 路由拦截
|
||||
router.beforeEach(function (to, from, next) {
|
||||
closeLoading()
|
||||
if (isMobile()){
|
||||
var loading = Loading.service({
|
||||
text: '加载中...',
|
||||
background: '#fff'
|
||||
});
|
||||
}
|
||||
function closeLoading(){
|
||||
if (loading) {
|
||||
setTimeout(() => {
|
||||
loading.close()
|
||||
loading = null
|
||||
}, 3000)
|
||||
}
|
||||
}
|
||||
let fromName = from.name
|
||||
if(fromName === undefined || fromName === null){
|
||||
window.sessionStorage.clear()
|
||||
}
|
||||
let toName = to.name
|
||||
if (toName === 'CheckPage' || toName === 'loginStandDetails' || toName === 'error'
|
||||
|| toName === 'LoginVerifyPhone') {
|
||||
next()
|
||||
closeLoading()
|
||||
return
|
||||
}
|
||||
|
||||
if(webLoginType === 'idm' && toName === 'Login'){
|
||||
window.location.href = ssoLoginUrlDev
|
||||
}
|
||||
|
||||
let token = store.state.token
|
||||
let path = to.path;
|
||||
let userName = ""
|
||||
/*
|
||||
if((fromName === undefined || fromName === null) && (path.indexOf("/standardSearch/All&userName=") !== -1 || (path.indexOf("/standardSearch/All") !== -1 && to.query.userName !== undefined))){
|
||||
if((path.indexOf("/standardSearch/All") !== -1 && to.query.userName !== undefined)){
|
||||
userName = to.query.userName
|
||||
}else {
|
||||
userName = path.split("&")[1].split("=")[1]
|
||||
}
|
||||
window.sessionStorage.clear()
|
||||
}else {
|
||||
*/
|
||||
if(fromName === 'Home2'){
|
||||
localStorage.removeItem("external")
|
||||
}
|
||||
/*
|
||||
}
|
||||
*/
|
||||
let requireAuth = to.meta.requireAuth;
|
||||
let taskId = to.query.taskIds;
|
||||
let prcId = to.query.prcId;
|
||||
let prcNum = to.query.prcNum;
|
||||
let prcName = to.query.prcName;
|
||||
let prcType = to.query.prcType;
|
||||
let routerType = to.query.routerType;
|
||||
let unShowReceipt = to.query.unShowReceipt;
|
||||
let param = "taskIds=" + taskId + "&prcId=" + prcId
|
||||
+ "&prcNum=" + prcNum + "&prcName=" + prcName + "&prcType=" + prcType;
|
||||
if (unShowReceipt) {
|
||||
param += "&unShowReceipt=" + unShowReceipt
|
||||
}
|
||||
let param4 = {
|
||||
path: path,
|
||||
token: token,
|
||||
taskId: taskId,
|
||||
prcId: prcId,
|
||||
prcNum: prcNum,
|
||||
prcName: prcName,
|
||||
prcType: prcType,
|
||||
toName: toName
|
||||
}
|
||||
let url = window.location.search
|
||||
let code = "";
|
||||
if(url){
|
||||
url = url.substr(1);
|
||||
url = url.split('&');
|
||||
let info = [];
|
||||
let obj = {};
|
||||
for (let i = 0,len = url.length; i < len; i++) {
|
||||
info = url[i].split('=')
|
||||
obj[info[0]] = decodeURI(info[1]);
|
||||
url[i] = obj;
|
||||
}
|
||||
code = url[0].code
|
||||
}
|
||||
|
||||
function extractedLocalStorage(url,param,param4) {
|
||||
localStorage.removeItem("external")
|
||||
localStorage.removeItem("routerUrl")
|
||||
localStorage.setItem('routerUrl', url)
|
||||
localStorage.removeItem("routerParam")
|
||||
localStorage.setItem('routerParam', param)
|
||||
}
|
||||
// 返回值为登录状态
|
||||
// 单点登录
|
||||
/** 判断是不是在手机端操作 */
|
||||
if (isMobile()) {
|
||||
if(toName === 'phoneHome' && (token === undefined || token === null || token === '')){
|
||||
localStorage.removeItem('token')
|
||||
token = localStorage.getItem("token")
|
||||
window.sessionStorage.clear()
|
||||
localStorage.setItem("routerName","phoneHome")
|
||||
next('/loginVerifyPhone')
|
||||
closeLoading()
|
||||
}else if(toName === 'phoneHome' && token != null && (fromName === undefined || fromName === null)){
|
||||
localStorage.removeItem('token')
|
||||
token = localStorage.getItem("token")
|
||||
window.sessionStorage.clear()
|
||||
next()
|
||||
closeLoading()
|
||||
}else if(toName === 'phoneHome' && token != null){
|
||||
next()
|
||||
closeLoading()
|
||||
} else if(toName === 'processCenter'){
|
||||
// hwh5.close();
|
||||
//关闭当前窗口
|
||||
let userAgent = navigator.userAgent;
|
||||
if (userAgent.indexOf("Firefox") !== -1 || userAgent.indexOf("Chrome") !==-1) {
|
||||
window.location.href="about:blank";
|
||||
}else if(userAgent.indexOf('Android') > -1 || userAgent.indexOf('Linux') > -1){
|
||||
window.opener=null;window.open('about:blank','_self','').close();
|
||||
}else {
|
||||
window.opener = null;
|
||||
window.open("about:blank", "_self");
|
||||
window.close();
|
||||
}
|
||||
//如果是微信打开,关闭当前微信窗口
|
||||
weixinClosePage()
|
||||
}else {
|
||||
|
||||
if ((token === null || token === '' ) && toName !== 'Login') {
|
||||
if(toName !== 'phoneIndex'){
|
||||
if(toName === 'phoneHome'){
|
||||
// 手机端 首页 首次进入系统 清除 缓存, 防止 跳转 oa 的页面, 问题追溯 #55852
|
||||
localStorage.removeItem('token')
|
||||
token = localStorage.getItem("token")
|
||||
window.sessionStorage.clear()
|
||||
localStorage.setItem("routerName","phoneHome")
|
||||
next('/loginVerifyPhone')
|
||||
closeLoading()
|
||||
}else if(toName === 'databaseSearch' || toName === 'standDynamics' ||
|
||||
toName === 'domesticStand' || toName === 'domesticDetails' || toName === 'zlzxDetails'){
|
||||
localStorage.setItem("routerName",toName)
|
||||
next('/loginVerifyPhone')
|
||||
closeLoading()
|
||||
}else {
|
||||
if(fromName === 'phoneHome'){
|
||||
next()
|
||||
closeLoading()
|
||||
}else {
|
||||
localStorage.removeItem("param");
|
||||
localStorage.setItem('param',JSON.stringify(param4))
|
||||
next('/phoneIndex')
|
||||
closeLoading()
|
||||
}
|
||||
}
|
||||
}else {
|
||||
// 区分手机端首页 单独逻辑处理 token 为空 跳回验证页面重新验证
|
||||
if(fromName === 'databaseSearch' || fromName === 'standDynamics' ||
|
||||
fromName === 'domesticStand' || fromName === 'domesticDetails' || toName === 'zlzxDetails'){
|
||||
localStorage.setItem("routerName",toName)
|
||||
next('/loginVerifyPhone')
|
||||
closeLoading()
|
||||
}else {
|
||||
next()
|
||||
closeLoading()
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if(toName === 'databaseSearch' || toName === 'standDynamics' || toName === 'zlzxDetails' ||
|
||||
toName === 'domesticStand' || toName === 'domesticDetails'){
|
||||
next()
|
||||
closeLoading()
|
||||
}else if (toName.slice(0,5) !== 'phone') {
|
||||
if(toName === 'LoginVerify'){
|
||||
if(toName === 'phoneHome'){
|
||||
// 手机端 首页 首次进入系统 清除 缓存, 防止 跳转 oa 的页面, 问题追溯 #55852
|
||||
localStorage.removeItem('token')
|
||||
token = localStorage.getItem("token")
|
||||
window.sessionStorage.clear()
|
||||
localStorage.setItem("routerName","phoneHome")
|
||||
next('/loginVerifyPhone')
|
||||
closeLoading()
|
||||
}else{
|
||||
next('/blankPage')
|
||||
closeLoading()
|
||||
}
|
||||
}else {
|
||||
if(toName === 'blankPage' || toName === 'processedPage') {
|
||||
next()
|
||||
closeLoading()
|
||||
}else {
|
||||
|
||||
console.log('-pc端-')
|
||||
extractedVerify()
|
||||
}
|
||||
}
|
||||
}else {
|
||||
if(toName !== 'blankPage'){
|
||||
if(to.matched.length === 0){
|
||||
if(toName === 'phoneHome'){
|
||||
// 手机端 首页 首次进入系统 清除 缓存, 防止 跳转 oa 的页面, 问题追溯 #55852
|
||||
localStorage.removeItem('token')
|
||||
token = localStorage.getItem("token")
|
||||
window.sessionStorage.clear()
|
||||
localStorage.setItem("routerName","phoneHome")
|
||||
next('/loginVerifyPhone')
|
||||
closeLoading()
|
||||
}else{
|
||||
next('/blankPage')
|
||||
closeLoading()
|
||||
}
|
||||
}else {
|
||||
console.log('-phone端-')
|
||||
next()
|
||||
closeLoading()
|
||||
}
|
||||
}else {
|
||||
next()
|
||||
closeLoading()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
localStorage.removeItem("routerUrl")
|
||||
localStorage.setItem('routerUrl', 'home2')
|
||||
localStorage.removeItem("routerParam")
|
||||
localStorage.setItem('routerParam', '')
|
||||
if ((token === null || token === '' ) && toName === 'OtherStandardDetails') {
|
||||
if (document.cookie) {
|
||||
next()
|
||||
closeLoading()
|
||||
return
|
||||
}
|
||||
}
|
||||
if ((token === null || token === '' ) && toName !== 'Login') {
|
||||
if(webLoginType != null && webLoginType === 'idm' ){
|
||||
if(code){
|
||||
next()
|
||||
closeLoading()
|
||||
}else {
|
||||
if (taskId !== undefined && taskId !== null && prcId !== undefined && prcId !== null) {
|
||||
extractedVerify(token)
|
||||
}else {
|
||||
/*
|
||||
if((fromName === undefined || fromName === null) && (path.indexOf("/standardSearch/All&userName") !== -1 || (path.indexOf("/standardSearch/All") !== -1 && userName !== undefined))){
|
||||
extractedLocalStorage("standardSearch/All",userName)
|
||||
localStorage.setItem('external', "external")
|
||||
next('/LoginVerifyNoEncryption')
|
||||
closeLoading()
|
||||
}else {
|
||||
*/
|
||||
if (toName === 'LoginVerifyNoEncryption') {
|
||||
next()
|
||||
closeLoading()
|
||||
}else {
|
||||
/*
|
||||
if(path === '/standardSearch/All'){
|
||||
extractedLocalStorage('standardSearch/All','');
|
||||
}else {
|
||||
*/
|
||||
extractedLocalStorage('home2','');
|
||||
/*
|
||||
}
|
||||
*/
|
||||
// ssoLoginUrlDev 默认sso 地址
|
||||
window.location.href = ssoLoginUrlDev
|
||||
}
|
||||
/*
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
}else if(webLoginType != null && webLoginType === 'dev'){
|
||||
if (isMobile()) {
|
||||
extractedVerify(token)
|
||||
} else {
|
||||
next('/Login')
|
||||
closeLoading()
|
||||
}
|
||||
|
||||
}
|
||||
}else {
|
||||
extractedVerify(token)
|
||||
}
|
||||
}
|
||||
function weixinClosePage() {
|
||||
if (typeof WeixinJSBridge == "undefined") {
|
||||
if (document.addEventListener) {
|
||||
document.addEventListener('WeixinJSBridgeReady', weixin_ClosePage, false);
|
||||
} else if (document.attachEvent) {
|
||||
document.attachEvent('WeixinJSBridgeReady', weixin_ClosePage);
|
||||
document.attachEvent('onWeixinJSBridgeReady', weixin_ClosePage);
|
||||
}
|
||||
} else {
|
||||
weixin_ClosePage();
|
||||
}
|
||||
}
|
||||
function weixin_ClosePage() {
|
||||
WeixinJSBridge.call('closeWindow');
|
||||
}
|
||||
function extractedVerify() {
|
||||
if (taskId !== undefined && taskId !== null && prcId !== undefined && prcId !== null) {
|
||||
get_verify_by_instance({
|
||||
taskId: taskId, // 任务id
|
||||
pId: prcId // 流程实例
|
||||
}).then(res => {
|
||||
let hisCount = res.hisCount === undefined ? 0 : res.hisCount;
|
||||
let commitStatus = res.commitStatus === undefined ? 0 : res.commitStatus;
|
||||
let isNotFinished = res.isNotFinished === undefined ? 0 : res.isNotFinished;
|
||||
if ((hisCount && hisCount > 0)) { // 业务系统 当前节点已完成
|
||||
if(isMobile()){
|
||||
next('/processedPage')
|
||||
closeLoading()
|
||||
}else {
|
||||
next()
|
||||
closeLoading()
|
||||
}
|
||||
} else { // 业务系统 当前节点未完成
|
||||
// commitStatus 大于0 表示当前节点存在未完成干活流程
|
||||
// isNotFinished OA 系统显示接受任务 已置为已办
|
||||
if (routerType && routerType === 'oa' &&isNotFinished && isNotFinished > 0 && commitStatus && commitStatus > 0) {
|
||||
if(isMobile()) {
|
||||
extractedIphone()
|
||||
}else if (prcType === '3') {
|
||||
//标准征求意见 接受节点 未完成 oa已办 跳转详情页面
|
||||
if (path === '/bzzqyjStep3') {
|
||||
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
|
||||
}
|
||||
}else if (prcType === '5') {
|
||||
if (path === '/xmpgStep4') {
|
||||
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
|
||||
}
|
||||
}else if (prcType === '2') {
|
||||
if (path === '/bzdyStep3') {
|
||||
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
|
||||
}
|
||||
}else if (prcType === '9') {
|
||||
if (path === '/bzjdStep3') {
|
||||
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
|
||||
}
|
||||
}else if (prcType === '6') {
|
||||
if (path === '/xmpg2Step6') {
|
||||
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
|
||||
}
|
||||
}else if (prcType === '10') {
|
||||
if (path === '/xmqdqrStep2') {
|
||||
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
|
||||
}
|
||||
}else if (prcType === '8') {
|
||||
if (path === '/wfhxzgStep4') {
|
||||
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if(isMobile()) {
|
||||
extractedIphone()
|
||||
}else{
|
||||
extracted3()
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
function extracted(routerPath) {
|
||||
if (token === null || token === '') {
|
||||
extractedLocalStorage(routerPath,param);
|
||||
// ssoLoginUrlDev 默认sso 地址
|
||||
window.location.href = ssoLoginUrlDev
|
||||
} else {
|
||||
next({path: routerPath + '?' +param})
|
||||
closeLoading()
|
||||
}
|
||||
}
|
||||
|
||||
function extracted3() {
|
||||
if (token === null || token === '') {
|
||||
extractedLocalStorage(toName,param);
|
||||
// ssoLoginUrlDev 默认sso 地址
|
||||
window.location.href = ssoLoginUrlDev
|
||||
} else {
|
||||
next()
|
||||
closeLoading()
|
||||
}
|
||||
}
|
||||
|
||||
function extractedIphone() {
|
||||
let paramPhone = 'taskIds=' + taskId + '&prcId=' + prcId + '&prcNum=' + prcNum +
|
||||
'&taskAssignee=' + toName + '&prcName=' + prcName + '&prcType=' + prcType
|
||||
let phoneRouter = 'phone' + toName.charAt(0).toUpperCase() + toName.slice(1)
|
||||
console.log(phoneRouter);
|
||||
next({path: phoneRouter + '?' + paramPhone})
|
||||
closeLoading()
|
||||
}
|
||||
function extracted2(routerPath,param2) {
|
||||
if (token === null || token === '') {
|
||||
extractedLocalStorage(routerPath,param2);
|
||||
// ssoLoginUrlDev 默认sso 地址
|
||||
window.location.href = ssoLoginUrlDev
|
||||
} else {
|
||||
next({path: routerPath + '?' + param2})
|
||||
closeLoading()
|
||||
}
|
||||
}
|
||||
function extracted4(routerPath,param4) {
|
||||
if (token === null || token === '') {
|
||||
extractedLocalStorage(routerPath,param4);
|
||||
// ssoLoginUrlDev 默认sso 地址
|
||||
window.location.href = ssoLoginUrlDev
|
||||
} else {
|
||||
next({path: routerPath + '?' + param4})
|
||||
closeLoading()
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
if(path === '/loginVerify'){
|
||||
if(webLoginType != null && webLoginType === 'dev'){
|
||||
next('/Login')
|
||||
closeLoading()
|
||||
}else {
|
||||
next()
|
||||
closeLoading()
|
||||
}
|
||||
}else {
|
||||
/*
|
||||
if((fromName === undefined || fromName === null) && (path.indexOf("/standardSearch/All&userName") !== -1 || (path.indexOf("/standardSearch/All") !== -1 && userName !== undefined))) {
|
||||
extractedLocalStorage("standardSearch/All",userName)
|
||||
localStorage.setItem('external', "external")
|
||||
next('/LoginVerifyNoEncryption')
|
||||
closeLoading()
|
||||
}else {
|
||||
*/
|
||||
next()
|
||||
closeLoading()
|
||||
/*
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
// 设置用户信息
|
||||
function setUserInfo (userInfo) {
|
||||
const timeStamp = new Date().getTime().toString()
|
||||
const _USERINFO = JSON.parse(userInfo)
|
||||
_USERINFO.userId = _USERINFO.userId || _USERINFO.usId
|
||||
_USERINFO.userName = _USERINFO.userName || _USERINFO.uName
|
||||
try {
|
||||
localStorage.setItem('userInfo', JSON.stringify(_USERINFO))
|
||||
localStorage.setItem('userInfoModifyTime', timeStamp)
|
||||
} catch (e) {}
|
||||
}
|
||||
|
||||
|
||||
Vue.config.productionTip = false
|
||||
// jquery
|
||||
Vue.prototype.$ = $
|
||||
Vue.use(ElementUI)
|
||||
Vue.use(common)
|
||||
Vue.use(dragDialogWidth)
|
||||
Vue.use(components)
|
||||
Vue.use(VueI18n)
|
||||
Vue.use(VueClipboard)
|
||||
Vue.use(Contextmenu)
|
||||
Vue.use(animate)
|
||||
Vue.use(vant)
|
||||
|
||||
// Vue.prototype.$echarts = echarts
|
||||
// 原生axios
|
||||
Vue.prototype.axios = axios
|
||||
// 封装后的axios
|
||||
Vue.prototype.$http = $axios
|
||||
Vue.prototype.simpleUploadPath = simpleUploadPath
|
||||
Vue.prototype.$moment = moment
|
||||
// 国际化
|
||||
const i18n = new VueI18n({
|
||||
locale: store.getters.getLanguage || 'cn', // 定义默认语言为中文
|
||||
messages: {
|
||||
cn: require('@/assets/languages/cn'),
|
||||
en: require('@/assets/languages/en')
|
||||
}
|
||||
})
|
||||
/* eslint-disable no-new */
|
||||
window.vm = new Vue({
|
||||
VConsole,
|
||||
router,
|
||||
store,
|
||||
i18n,
|
||||
render: h => h(App)
|
||||
}).$mount('#app')
|
||||
+59
-460
@@ -1,6 +1,6 @@
|
||||
import '@babel/polyfill'
|
||||
require('es6-promise').polyfill();
|
||||
require('es6-promise/auto');
|
||||
require('es6-promise').polyfill()
|
||||
require('es6-promise/auto')
|
||||
import Vue from 'vue'
|
||||
import App from './App'
|
||||
import ElementUI from 'element-ui'
|
||||
@@ -9,7 +9,6 @@ import 'element-ui/lib/theme-chalk/index.css'
|
||||
import $ from 'jquery'
|
||||
// vuex
|
||||
import store from './store'
|
||||
import Axios from 'axios'
|
||||
// 复制
|
||||
import VueClipboard from 'vue-clipboard2'
|
||||
// 全局样式文件
|
||||
@@ -32,498 +31,98 @@ import dragDialogWidth from '@/common/dragDialogWidth'
|
||||
// 自定义按钮显示指令
|
||||
import btnPermission from '@/common/btnPermission' // eslint-disable-line
|
||||
import VueI18n from 'vue-i18n' // 国际化
|
||||
// import * as echarts from 'echarts'
|
||||
import { simpleUploadPath } from '@/sysConfig'
|
||||
// 时间转换
|
||||
import moment from 'moment'
|
||||
moment.suppressDeprecationWarnings = true;
|
||||
moment.suppressDeprecationWarnings = true
|
||||
// 右键菜单
|
||||
import Contextmenu from 'vue-contextmenujs'
|
||||
|
||||
// vant
|
||||
import vant from 'vant';
|
||||
import 'vant/lib/index.css';
|
||||
//vant
|
||||
import vant from 'vant'
|
||||
import 'vant/lib/index.css'
|
||||
|
||||
import animate from 'animate.css'
|
||||
import tool from './utils/tool'
|
||||
Vue.use(tool)
|
||||
// 引入路由器
|
||||
import router from './router'
|
||||
// 路由解析器
|
||||
import Re from 'path-to-regexp'
|
||||
|
||||
import { get_verify_by_instance,loginIdm,getMenu,loginMobile } from 'api/process'
|
||||
import hwh5 from 'api/hwh5-cloudonline.js';
|
||||
import { webLoginType } from '@/sysConfig'
|
||||
|
||||
import { ssoLoginUrlDev,ssoLoginUrl,webLoginType,devWebUrl } from '@/sysConfig'
|
||||
|
||||
import { mapMutations, mapActions } from 'vuex'
|
||||
import VConsole from 'vuex'
|
||||
|
||||
import isMobile from './store/isMobile'
|
||||
import { getCode, toIdmLoginPage, loginInIdm, loginInPhone, close } from '@/utils/login'
|
||||
|
||||
import isMobile from "./store/isMobile";
|
||||
import { Loading } from 'element-ui';
|
||||
|
||||
// 路由拦截
|
||||
router.beforeEach(function (to, from, next) {
|
||||
closeLoading()
|
||||
if (isMobile()){
|
||||
var loading = Loading.service({
|
||||
text: '加载中...',
|
||||
background: '#fff'
|
||||
});
|
||||
}
|
||||
function closeLoading(){
|
||||
if (loading) {
|
||||
setTimeout(() => {
|
||||
loading.close()
|
||||
loading = null
|
||||
}, 3000)
|
||||
}
|
||||
}
|
||||
let fromName = from.name
|
||||
if(fromName === undefined || fromName === null){
|
||||
window.sessionStorage.clear()
|
||||
}
|
||||
let toName = to.name
|
||||
if (toName === 'CheckPage' || toName === 'loginStandDetails' || toName === 'error'
|
||||
|| toName === 'LoginVerifyPhone') {
|
||||
next()
|
||||
closeLoading()
|
||||
return
|
||||
}
|
||||
|
||||
if(webLoginType === 'idm' && toName === 'Login'){
|
||||
window.location.href = ssoLoginUrlDev
|
||||
}
|
||||
|
||||
let token = store.state.token
|
||||
let path = to.path;
|
||||
let userName = ""
|
||||
/*
|
||||
if((fromName === undefined || fromName === null) && (path.indexOf("/standardSearch/All&userName=") !== -1 || (path.indexOf("/standardSearch/All") !== -1 && to.query.userName !== undefined))){
|
||||
if((path.indexOf("/standardSearch/All") !== -1 && to.query.userName !== undefined)){
|
||||
userName = to.query.userName
|
||||
}else {
|
||||
userName = path.split("&")[1].split("=")[1]
|
||||
}
|
||||
window.sessionStorage.clear()
|
||||
}else {
|
||||
*/
|
||||
if(fromName === 'Home2'){
|
||||
localStorage.removeItem("external")
|
||||
}
|
||||
/*
|
||||
}
|
||||
*/
|
||||
let requireAuth = to.meta.requireAuth;
|
||||
let taskId = to.query.taskIds;
|
||||
let prcId = to.query.prcId;
|
||||
let prcNum = to.query.prcNum;
|
||||
let prcName = to.query.prcName;
|
||||
let prcType = to.query.prcType;
|
||||
let routerType = to.query.routerType;
|
||||
let unShowReceipt = to.query.unShowReceipt;
|
||||
let param = "taskIds=" + taskId + "&prcId=" + prcId
|
||||
+ "&prcNum=" + prcNum + "&prcName=" + prcName + "&prcType=" + prcType;
|
||||
if (unShowReceipt) {
|
||||
param += "&unShowReceipt=" + unShowReceipt
|
||||
}
|
||||
let param4 = {
|
||||
path: path,
|
||||
token: token,
|
||||
taskId: taskId,
|
||||
prcId: prcId,
|
||||
prcNum: prcNum,
|
||||
prcName: prcName,
|
||||
prcType: prcType,
|
||||
toName: toName
|
||||
}
|
||||
let url = window.location.search
|
||||
let code = "";
|
||||
if(url){
|
||||
url = url.substr(1);
|
||||
url = url.split('&');
|
||||
let info = [];
|
||||
let obj = {};
|
||||
for (let i = 0,len = url.length; i < len; i++) {
|
||||
info = url[i].split('=')
|
||||
obj[info[0]] = decodeURI(info[1]);
|
||||
url[i] = obj;
|
||||
}
|
||||
code = url[0].code
|
||||
}
|
||||
|
||||
function extractedLocalStorage(url,param,param4) {
|
||||
localStorage.removeItem("external")
|
||||
localStorage.removeItem("routerUrl")
|
||||
localStorage.setItem('routerUrl', url)
|
||||
localStorage.removeItem("routerParam")
|
||||
localStorage.setItem('routerParam', param)
|
||||
}
|
||||
// 返回值为登录状态
|
||||
// 单点登录
|
||||
/** 判断是不是在手机端操作 */
|
||||
if (isMobile()) {
|
||||
if(toName === 'phoneHome' && (token === undefined || token === null || token === '')){
|
||||
localStorage.removeItem('token')
|
||||
token = localStorage.getItem("token")
|
||||
window.sessionStorage.clear()
|
||||
localStorage.setItem("routerName","phoneHome")
|
||||
next('/loginVerifyPhone')
|
||||
closeLoading()
|
||||
}else if(toName === 'phoneHome' && token != null && (fromName === undefined || fromName === null)){
|
||||
localStorage.removeItem('token')
|
||||
token = localStorage.getItem("token")
|
||||
window.sessionStorage.clear()
|
||||
next()
|
||||
closeLoading()
|
||||
}else if(toName === 'phoneHome' && token != null){
|
||||
next()
|
||||
closeLoading()
|
||||
} else if(toName === 'processCenter'){
|
||||
// hwh5.close();
|
||||
//关闭当前窗口
|
||||
let userAgent = navigator.userAgent;
|
||||
if (userAgent.indexOf("Firefox") !== -1 || userAgent.indexOf("Chrome") !==-1) {
|
||||
window.location.href="about:blank";
|
||||
}else if(userAgent.indexOf('Android') > -1 || userAgent.indexOf('Linux') > -1){
|
||||
window.opener=null;window.open('about:blank','_self','').close();
|
||||
}else {
|
||||
window.opener = null;
|
||||
window.open("about:blank", "_self");
|
||||
window.close();
|
||||
}
|
||||
//如果是微信打开,关闭当前微信窗口
|
||||
weixinClosePage()
|
||||
}else {
|
||||
|
||||
if ((token === null || token === '' ) && toName !== 'Login') {
|
||||
if(toName !== 'phoneIndex'){
|
||||
if(toName === 'phoneHome'){
|
||||
// 手机端 首页 首次进入系统 清除 缓存, 防止 跳转 oa 的页面, 问题追溯 #55852
|
||||
localStorage.removeItem('token')
|
||||
token = localStorage.getItem("token")
|
||||
window.sessionStorage.clear()
|
||||
localStorage.setItem("routerName","phoneHome")
|
||||
next('/loginVerifyPhone')
|
||||
closeLoading()
|
||||
}else if(toName === 'databaseSearch' || toName === 'standDynamics' ||
|
||||
toName === 'domesticStand' || toName === 'domesticDetails' || toName === 'zlzxDetails'){
|
||||
localStorage.setItem("routerName",toName)
|
||||
next('/loginVerifyPhone')
|
||||
closeLoading()
|
||||
}else {
|
||||
if(fromName === 'phoneHome'){
|
||||
next()
|
||||
closeLoading()
|
||||
}else {
|
||||
localStorage.removeItem("param");
|
||||
localStorage.setItem('param',JSON.stringify(param4))
|
||||
next('/phoneIndex')
|
||||
closeLoading()
|
||||
}
|
||||
}
|
||||
}else {
|
||||
// 区分手机端首页 单独逻辑处理 token 为空 跳回验证页面重新验证
|
||||
if(fromName === 'databaseSearch' || fromName === 'standDynamics' ||
|
||||
fromName === 'domesticStand' || fromName === 'domesticDetails' || toName === 'zlzxDetails'){
|
||||
localStorage.setItem("routerName",toName)
|
||||
next('/loginVerifyPhone')
|
||||
closeLoading()
|
||||
}else {
|
||||
next()
|
||||
closeLoading()
|
||||
}
|
||||
router.beforeEach((to, from, next) => {
|
||||
const token = store.state.token
|
||||
if (to.query.taskIds && to.query.taskIds !== '' && to.query.prcId && to.query.prcId !== '') {
|
||||
const fullPath = to.fullPath.slice(1)
|
||||
if (isMobile()) {
|
||||
if (fullPath.indexOf('phone') !== 0) {
|
||||
let path = fullPath.replace(fullPath.charAt(0), fullPath.charAt(0).toUpperCase())
|
||||
if (path.indexOf('BussLibraryProduct/') !== -1) {
|
||||
// 产品标准流程-pc端重构,pc端路由改变而手机端路由未改变,此处让手机端跳转到正确路由
|
||||
path = path.replace('BussLibraryProduct/', 'BussLibraryProduct')
|
||||
}
|
||||
path = '/phone' + path
|
||||
next({ path: path })
|
||||
}
|
||||
if (!to.name) {
|
||||
// 不存在路由
|
||||
next('/blankPage')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (token && token !== '') {
|
||||
if (to.path === '/') {
|
||||
if (isMobile()) {
|
||||
next('/phoneHome')
|
||||
} else {
|
||||
if(toName === 'databaseSearch' || toName === 'standDynamics' || toName === 'zlzxDetails' ||
|
||||
toName === 'domesticStand' || toName === 'domesticDetails'){
|
||||
next()
|
||||
closeLoading()
|
||||
}else if (toName.slice(0,5) !== 'phone') {
|
||||
if(toName === 'LoginVerify'){
|
||||
if(toName === 'phoneHome'){
|
||||
// 手机端 首页 首次进入系统 清除 缓存, 防止 跳转 oa 的页面, 问题追溯 #55852
|
||||
localStorage.removeItem('token')
|
||||
token = localStorage.getItem("token")
|
||||
window.sessionStorage.clear()
|
||||
localStorage.setItem("routerName","phoneHome")
|
||||
next('/loginVerifyPhone')
|
||||
closeLoading()
|
||||
}else{
|
||||
next('/blankPage')
|
||||
closeLoading()
|
||||
}
|
||||
}else {
|
||||
if(toName === 'blankPage' || toName === 'processedPage') {
|
||||
next()
|
||||
closeLoading()
|
||||
}else {
|
||||
|
||||
console.log('-pc端-')
|
||||
extractedVerify()
|
||||
}
|
||||
}
|
||||
}else {
|
||||
if(toName !== 'blankPage'){
|
||||
if(to.matched.length === 0){
|
||||
if(toName === 'phoneHome'){
|
||||
// 手机端 首页 首次进入系统 清除 缓存, 防止 跳转 oa 的页面, 问题追溯 #55852
|
||||
localStorage.removeItem('token')
|
||||
token = localStorage.getItem("token")
|
||||
window.sessionStorage.clear()
|
||||
localStorage.setItem("routerName","phoneHome")
|
||||
next('/loginVerifyPhone')
|
||||
closeLoading()
|
||||
}else{
|
||||
next('/blankPage')
|
||||
closeLoading()
|
||||
}
|
||||
}else {
|
||||
console.log('-phone端-')
|
||||
next()
|
||||
closeLoading()
|
||||
}
|
||||
}else {
|
||||
next()
|
||||
closeLoading()
|
||||
}
|
||||
}
|
||||
next('/home2')
|
||||
}
|
||||
}
|
||||
next()
|
||||
} else {
|
||||
localStorage.removeItem("routerUrl")
|
||||
localStorage.setItem('routerUrl', 'home2')
|
||||
localStorage.removeItem("routerParam")
|
||||
localStorage.setItem('routerParam', '')
|
||||
if ((token === null || token === '' ) && toName === 'OtherStandardDetails') {
|
||||
if (document.cookie) {
|
||||
if (to.path === '/login') {
|
||||
if (webLoginType === 'idm') {
|
||||
// webLoginType === "idm"时不会进入login路由
|
||||
// let href = window.location.href.replace('code=' + getCode(), '')
|
||||
// toIdmLoginPage(href)
|
||||
}
|
||||
if (webLoginType === 'dev') {
|
||||
next()
|
||||
closeLoading()
|
||||
return
|
||||
}
|
||||
}
|
||||
if ((token === null || token === '' ) && toName !== 'Login') {
|
||||
if(webLoginType != null && webLoginType === 'idm' ){
|
||||
if(code){
|
||||
next()
|
||||
closeLoading()
|
||||
}else {
|
||||
if (taskId !== undefined && taskId !== null && prcId !== undefined && prcId !== null) {
|
||||
extractedVerify(token)
|
||||
}else {
|
||||
/*
|
||||
if((fromName === undefined || fromName === null) && (path.indexOf("/standardSearch/All&userName") !== -1 || (path.indexOf("/standardSearch/All") !== -1 && userName !== undefined))){
|
||||
extractedLocalStorage("standardSearch/All",userName)
|
||||
localStorage.setItem('external', "external")
|
||||
next('/LoginVerifyNoEncryption')
|
||||
closeLoading()
|
||||
}else {
|
||||
*/
|
||||
if (toName === 'LoginVerifyNoEncryption') {
|
||||
next()
|
||||
closeLoading()
|
||||
}else {
|
||||
/*
|
||||
if(path === '/standardSearch/All'){
|
||||
extractedLocalStorage('standardSearch/All','');
|
||||
}else {
|
||||
*/
|
||||
extractedLocalStorage('home2','');
|
||||
/*
|
||||
}
|
||||
*/
|
||||
// ssoLoginUrlDev 默认sso 地址
|
||||
window.location.href = ssoLoginUrlDev
|
||||
}
|
||||
/*
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
}else if(webLoginType != null && webLoginType === 'dev'){
|
||||
if (isMobile()) {
|
||||
extractedVerify(token)
|
||||
} else {
|
||||
next('/Login')
|
||||
closeLoading()
|
||||
}
|
||||
|
||||
}
|
||||
}else {
|
||||
extractedVerify(token)
|
||||
}
|
||||
}
|
||||
function weixinClosePage() {
|
||||
if (typeof WeixinJSBridge == "undefined") {
|
||||
if (document.addEventListener) {
|
||||
document.addEventListener('WeixinJSBridgeReady', weixin_ClosePage, false);
|
||||
} else if (document.attachEvent) {
|
||||
document.attachEvent('WeixinJSBridgeReady', weixin_ClosePage);
|
||||
document.attachEvent('onWeixinJSBridgeReady', weixin_ClosePage);
|
||||
}
|
||||
} else {
|
||||
weixin_ClosePage();
|
||||
}
|
||||
}
|
||||
function weixin_ClosePage() {
|
||||
WeixinJSBridge.call('closeWindow');
|
||||
}
|
||||
function extractedVerify() {
|
||||
if (taskId !== undefined && taskId !== null && prcId !== undefined && prcId !== null) {
|
||||
get_verify_by_instance({
|
||||
taskId: taskId, // 任务id
|
||||
pId: prcId // 流程实例
|
||||
}).then(res => {
|
||||
let hisCount = res.hisCount === undefined ? 0 : res.hisCount;
|
||||
let commitStatus = res.commitStatus === undefined ? 0 : res.commitStatus;
|
||||
let isNotFinished = res.isNotFinished === undefined ? 0 : res.isNotFinished;
|
||||
if ((hisCount && hisCount > 0)) { // 业务系统 当前节点已完成
|
||||
if(isMobile()){
|
||||
next('/processedPage')
|
||||
closeLoading()
|
||||
}else {
|
||||
next()
|
||||
closeLoading()
|
||||
}
|
||||
} else { // 业务系统 当前节点未完成
|
||||
// commitStatus 大于0 表示当前节点存在未完成干活流程
|
||||
// isNotFinished OA 系统显示接受任务 已置为已办
|
||||
if (routerType && routerType === 'oa' &&isNotFinished && isNotFinished > 0 && commitStatus && commitStatus > 0) {
|
||||
if(isMobile()) {
|
||||
extractedIphone()
|
||||
}else if (prcType === '3') {
|
||||
//标准征求意见 接受节点 未完成 oa已办 跳转详情页面
|
||||
if (path === '/bzzqyjStep3') {
|
||||
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
|
||||
}
|
||||
}else if (prcType === '5') {
|
||||
if (path === '/xmpgStep4') {
|
||||
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
|
||||
}
|
||||
}else if (prcType === '2') {
|
||||
if (path === '/bzdyStep3') {
|
||||
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
|
||||
}
|
||||
}else if (prcType === '9') {
|
||||
if (path === '/bzjdStep3') {
|
||||
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
|
||||
}
|
||||
}else if (prcType === '6') {
|
||||
if (path === '/xmpg2Step6') {
|
||||
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
|
||||
}
|
||||
}else if (prcType === '10') {
|
||||
if (path === '/xmqdqrStep2') {
|
||||
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
|
||||
}
|
||||
}else if (prcType === '8') {
|
||||
if (path === '/wfhxzgStep4') {
|
||||
extracted2("processAcceptDetail","prcNum=" + prcNum + "&tabsName=AlreadyProcess");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if(isMobile()) {
|
||||
extractedIphone()
|
||||
}else{
|
||||
extracted3()
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
function extracted(routerPath) {
|
||||
if (token === null || token === '') {
|
||||
extractedLocalStorage(routerPath,param);
|
||||
// ssoLoginUrlDev 默认sso 地址
|
||||
window.location.href = ssoLoginUrlDev
|
||||
} else {
|
||||
next({path: routerPath + '?' +param})
|
||||
closeLoading()
|
||||
}
|
||||
}
|
||||
|
||||
function extracted3() {
|
||||
if (token === null || token === '') {
|
||||
extractedLocalStorage(toName,param);
|
||||
// ssoLoginUrlDev 默认sso 地址
|
||||
window.location.href = ssoLoginUrlDev
|
||||
} else {
|
||||
if (webLoginType === 'idm') {
|
||||
if (isMobile()) {
|
||||
loginInPhone().then(() => {
|
||||
next()
|
||||
closeLoading()
|
||||
}
|
||||
}
|
||||
|
||||
function extractedIphone() {
|
||||
let paramPhone = 'taskIds=' + taskId + '&prcId=' + prcId + '&prcNum=' + prcNum +
|
||||
'&taskAssignee=' + toName + '&prcName=' + prcName + '&prcType=' + prcType
|
||||
let phoneRouter = 'phone' + toName.charAt(0).toUpperCase() + toName.slice(1)
|
||||
console.log(phoneRouter);
|
||||
next({path: phoneRouter + '?' + paramPhone})
|
||||
closeLoading()
|
||||
}
|
||||
function extracted2(routerPath,param2) {
|
||||
if (token === null || token === '') {
|
||||
extractedLocalStorage(routerPath,param2);
|
||||
// ssoLoginUrlDev 默认sso 地址
|
||||
window.location.href = ssoLoginUrlDev
|
||||
})
|
||||
} else {
|
||||
if (getCode()) {
|
||||
loginInIdm(getCode()).then(() => {
|
||||
const path = to.fullPath.replace('code=' + getCode(), '')
|
||||
next({ path })
|
||||
})
|
||||
} else {
|
||||
next({path: routerPath + '?' + param2})
|
||||
closeLoading()
|
||||
toIdmLoginPage(window.location.href)
|
||||
}
|
||||
}
|
||||
function extracted4(routerPath,param4) {
|
||||
if (token === null || token === '') {
|
||||
extractedLocalStorage(routerPath,param4);
|
||||
// ssoLoginUrlDev 默认sso 地址
|
||||
window.location.href = ssoLoginUrlDev
|
||||
} else {
|
||||
next({path: routerPath + '?' + param4})
|
||||
closeLoading()
|
||||
}
|
||||
}
|
||||
if (webLoginType === 'dev') {
|
||||
if (isMobile()) {
|
||||
next('/login')
|
||||
} else {
|
||||
next('/login')
|
||||
}
|
||||
})
|
||||
}
|
||||
if(path === '/loginVerify'){
|
||||
if(webLoginType != null && webLoginType === 'dev'){
|
||||
next('/Login')
|
||||
closeLoading()
|
||||
}else {
|
||||
next()
|
||||
closeLoading()
|
||||
}
|
||||
}else {
|
||||
/*
|
||||
if((fromName === undefined || fromName === null) && (path.indexOf("/standardSearch/All&userName") !== -1 || (path.indexOf("/standardSearch/All") !== -1 && userName !== undefined))) {
|
||||
extractedLocalStorage("standardSearch/All",userName)
|
||||
localStorage.setItem('external', "external")
|
||||
next('/LoginVerifyNoEncryption')
|
||||
closeLoading()
|
||||
}else {
|
||||
*/
|
||||
next()
|
||||
closeLoading()
|
||||
/*
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
// 设置用户信息
|
||||
function setUserInfo (userInfo) {
|
||||
const timeStamp = new Date().getTime().toString()
|
||||
const _USERINFO = JSON.parse(userInfo)
|
||||
_USERINFO.userId = _USERINFO.userId || _USERINFO.usId
|
||||
_USERINFO.userName = _USERINFO.userName || _USERINFO.uName
|
||||
try {
|
||||
localStorage.setItem('userInfo', JSON.stringify(_USERINFO))
|
||||
localStorage.setItem('userInfoModifyTime', timeStamp)
|
||||
} catch (e) {}
|
||||
}
|
||||
|
||||
|
||||
Vue.config.productionTip = false
|
||||
// jquery
|
||||
Vue.prototype.$ = $
|
||||
@@ -537,7 +136,7 @@ Vue.use(Contextmenu)
|
||||
Vue.use(animate)
|
||||
Vue.use(vant)
|
||||
|
||||
// Vue.prototype.$echarts = echarts
|
||||
Vue.prototype.$close = close
|
||||
// 原生axios
|
||||
Vue.prototype.axios = axios
|
||||
// 封装后的axios
|
||||
|
||||
@@ -1,26 +1,35 @@
|
||||
<template>
|
||||
<div class="blankPage">
|
||||
<van-icon name="clear" color="#dabb27" size="70"/>
|
||||
<div style="font-size: 15px;margin-top: 20px;color: #8c939d">当前任务不支持手机端处理</div>
|
||||
<el-button type="primary" size="small" style="margin-top: 30px;width: 270px;" @click="closeWindow()">返回</el-button>
|
||||
<van-icon name="clear" color="#dabb27" size="70" />
|
||||
<div style="font-size: 15px;margin-top: 20px;color: #8c939d">
|
||||
当前任务不支持手机端处理
|
||||
</div>
|
||||
<el-button
|
||||
type="primary"
|
||||
size="small"
|
||||
style="margin-top: 30px;width: 270px;"
|
||||
@click="closeWindow()"
|
||||
>
|
||||
返回
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Vue from 'vue';
|
||||
import { Icon } from 'vant';
|
||||
import hwh5 from '../../api/hwh5-cloudonline.js';
|
||||
|
||||
Vue.use(Icon);
|
||||
export default {
|
||||
name: "blankPage",
|
||||
data() {
|
||||
name: 'BlankPage',
|
||||
data () {
|
||||
return {}
|
||||
},
|
||||
methods: {
|
||||
closeWindow(){
|
||||
// hwh5.close()
|
||||
this.$router.go(-2)
|
||||
closeWindow () {
|
||||
// hwh5.close()
|
||||
// this.$router.go(-2)
|
||||
this.$close()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="标准体系" name="standSystem" v-if="standSystem">
|
||||
<div style="position: absolute;top: 0;left: 0;right: 0;bottom: 0;">
|
||||
<div style="position: absolute;top: 0;left: 0;right: 0;bottom: 0; overflow: auto">
|
||||
<standSystem v-if="tabValue === 'standSystem'" ></standSystem>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
|
||||
@@ -0,0 +1,167 @@
|
||||
<template>
|
||||
<el-drawer
|
||||
title="绑定角色"
|
||||
:visible.sync="visible"
|
||||
:wrapperClosable="false"
|
||||
size="800px"
|
||||
>
|
||||
<div class="drawer-content" style="padding-top: 20px">
|
||||
<el-form
|
||||
ref="form"
|
||||
:model="form"
|
||||
label-width="120px"
|
||||
label-position="left"
|
||||
>
|
||||
<el-form-item label="部门名称">
|
||||
{{ form.institutionName }}
|
||||
</el-form-item>
|
||||
<el-divider style="margin: 0" />
|
||||
<el-form-item label="绑定角色" class="search-item">
|
||||
<el-select
|
||||
:value="getRoleIds"
|
||||
placeholder="请选择"
|
||||
multiple
|
||||
size="medium"
|
||||
@change="roleIdsChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in allRoleOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="drawer-footer">
|
||||
<el-button
|
||||
class="common-button-default"
|
||||
icon="el-icon-close"
|
||||
size="mini"
|
||||
:loading="btnLoading"
|
||||
@click="onCancel"
|
||||
>
|
||||
取消
|
||||
</el-button>
|
||||
<el-button
|
||||
class="common-button-primary"
|
||||
icon="el-icon-check"
|
||||
type="primary"
|
||||
size="mini"
|
||||
:loading="btnLoading"
|
||||
@click="onSubmit"
|
||||
>
|
||||
确定
|
||||
</el-button>
|
||||
</div>
|
||||
<loading :loading="loading">加载中...</loading>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'SetRoleForDepartment',
|
||||
data () {
|
||||
return {
|
||||
visible: false,
|
||||
allRoleOptions: [],
|
||||
form: {
|
||||
institutionId: '', // 部门id
|
||||
institutionName: '',
|
||||
roleIds: '', // 角色id
|
||||
},
|
||||
loading: false,
|
||||
btnLoading: false,
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
getRoleIds () {
|
||||
if (!this.form.roleIds || this.form.roleIds === '') {
|
||||
return []
|
||||
} else {
|
||||
return this.form.roleIds.split(',')
|
||||
}
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.getAllRole()
|
||||
},
|
||||
methods: {
|
||||
open (id) {
|
||||
this.form.institutionId = id
|
||||
this.form.roleIds = ''
|
||||
this.form.institutionName = ''
|
||||
const config = {
|
||||
_this: this,
|
||||
loading: 'loading'
|
||||
}
|
||||
const query = { institutionId: this.form.institutionId }
|
||||
this.$http._getData('SarInstitution/institution/findInstitutionTree', query, config).then(res => {
|
||||
if (res.ok && res.data) {
|
||||
this.form.institutionName = res.data.institutionName
|
||||
this.form.roleIds = res.data.selectedRoleIds.join(',') || ''
|
||||
}
|
||||
})
|
||||
this.visible = true
|
||||
},
|
||||
getAllRole () {
|
||||
this.$http._getData('sarRole/role/getAllRole').then(res => {
|
||||
if (res.ok && res.data) {
|
||||
this.allRoleOptions = res.data
|
||||
}
|
||||
})
|
||||
},
|
||||
roleIdsChange (val) {
|
||||
this.form.roleIds = val.join(',')
|
||||
},
|
||||
onSubmit () {
|
||||
const config = {
|
||||
_this: this,
|
||||
loading: 'btnLoading'
|
||||
}
|
||||
this.$http._getData('/SarInstitution/institution/setRoleToInstitutionAndUser', this.form, config).then(res => {
|
||||
if (res.ok) {
|
||||
this.$emit('success')
|
||||
this.onCancel()
|
||||
}
|
||||
})
|
||||
console.log(this.form)
|
||||
},
|
||||
onCancel () {
|
||||
this.visible = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.drawer-content {
|
||||
padding: 0 19px;
|
||||
overflow-y: auto;
|
||||
flex: auto;
|
||||
/deep/.el-form-item{
|
||||
margin: 0 !important;
|
||||
}
|
||||
/deep/.el-select--medium{
|
||||
width: 100%;
|
||||
margin: 5px 0;
|
||||
}
|
||||
/deep/.el-divider{
|
||||
margin: 0 !important;
|
||||
}
|
||||
/deep/ .el-select .el-tag {
|
||||
//max-width: 110px !important;
|
||||
}
|
||||
}
|
||||
.drawer-footer {
|
||||
width: 100%;
|
||||
padding: 0 20px;
|
||||
height: 70px;
|
||||
line-height: 69px;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
text-align: right;
|
||||
background: #fff;
|
||||
z-index: 999;
|
||||
}
|
||||
</style>
|
||||
@@ -5,76 +5,66 @@
|
||||
<div class="tree">
|
||||
<!-- @keyup.enter.native="searchPeople"-->
|
||||
<el-input
|
||||
v-model="filterText"
|
||||
class="filter-tree-input"
|
||||
placeholder="输入关键字进行过滤"
|
||||
v-model="filterText">
|
||||
</el-input>
|
||||
<!-- <el-tree-->
|
||||
<!-- node-key="id"-->
|
||||
<!-- :data="treeData"-->
|
||||
<!-- :props="defaultProps"-->
|
||||
<!-- :default-checked-keys="nodeList"-->
|
||||
<!-- :current-node-key="nodeKeyId"-->
|
||||
<!-- highlight-current-->
|
||||
<!-- check-strictly-->
|
||||
<!-- :expand-on-click-node="false"-->
|
||||
<!-- ref="tree"-->
|
||||
<!-- :load="loadNode"-->
|
||||
<!-- @node-click="handleNodeClick"-->
|
||||
<!-- lazy>-->
|
||||
<!-- </el-tree>-->
|
||||
/>
|
||||
<el-tree
|
||||
ref="tree"
|
||||
:data="treeData"
|
||||
:props="defaultProps"
|
||||
:current-node-key="nodeKeyId"
|
||||
node-key="id"
|
||||
:filter-node-method="filterNode"
|
||||
highlight-current
|
||||
ref="tree"
|
||||
:expand-on-click-node="false"
|
||||
@node-click="handleNodeClick">
|
||||
</el-tree>
|
||||
@node-click="handleNodeClick"
|
||||
/>
|
||||
</div>
|
||||
<div class="tree-collapse" @click="treeCollapse" :class="{ 'tree-close': sideClose }">
|
||||
<div class="tree-collapse" :class="{ 'tree-close': sideClose }" @click="treeCollapse">
|
||||
<!--切换折叠样式-->
|
||||
<i class="el-icon-arrow-left" v-if="sideClose === false"></i>
|
||||
<i class="el-icon-arrow-right" v-if="sideClose === true"></i>
|
||||
<i v-if="sideClose === false" class="el-icon-arrow-left" />
|
||||
<i v-if="sideClose === true" class="el-icon-arrow-right" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="tree-right">
|
||||
<div class="content">
|
||||
<!--搜索区域-->
|
||||
<div class="search-area">
|
||||
<el-form inline class="label-input-form" v-model="searchForm">
|
||||
<el-form v-model="searchForm" inline class="label-input-form">
|
||||
<el-form-item label="姓名" class="search-item">
|
||||
<el-input placeholder="根据姓名查询" clearable v-model="searchForm.uname">
|
||||
|
||||
</el-input>
|
||||
<el-input v-model="searchForm.uname" placeholder="根据姓名查询" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="邮箱" class="search-item">
|
||||
<el-input placeholder="根据邮箱查询" clearable v-model="searchForm.email">
|
||||
|
||||
</el-input>
|
||||
<el-input v-model="searchForm.email" placeholder="根据邮箱查询" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" size="mini"
|
||||
class="common-button-primary" @click="getDatas('1')" v-btn-permission="'d285ee99b52abcd63d863f6783e350f0'">
|
||||
<el-button
|
||||
v-btn-permission="'d285ee99b52abcd63d863f6783e350f0'"
|
||||
type="primary"
|
||||
size="mini"
|
||||
class="common-button-primary"
|
||||
@click="getDatas('1')"
|
||||
>
|
||||
查询
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button size="mini" class="common-button-default" @click="clearAllSearch" v-btn-permission="'12a6b1f548cef7b152746c978fc32dbb'">
|
||||
<el-button v-btn-permission="'12a6b1f548cef7b152746c978fc32dbb'" size="mini" class="common-button-default" @click="clearAllSearch">
|
||||
清空
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button size="mini" type="primary" @click="selectEdit" v-btn-permission="'786a941b255a4fe4d13b7e67f100a4e5'">
|
||||
<el-button v-btn-permission="'786a941b255a4fe4d13b7e67f100a4e5'" size="mini" type="primary" @click="selectEdit">
|
||||
批量配置角色
|
||||
</el-button>
|
||||
<el-button size="mini" type="primary" @click="selectEditOfOrg" v-btn-permission="'786a941b255a4fe4d13b7e67f100a4e5'">
|
||||
<el-button v-btn-permission="'786a941b255a4fe4d13b7e67f100a4e5'" size="mini" type="primary" @click="selectEditOfOrg">
|
||||
根据部门批量配置角色
|
||||
</el-button>
|
||||
<el-button v-btn-permission="'335a0e7929ac7e11887bec0d7efd0fef'" size="mini" type="primary" @click="setRoleForDepartment">
|
||||
配置部门绑定角色
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
@@ -86,19 +76,21 @@
|
||||
style="width: 100%; flex: auto;"
|
||||
class="drag-table"
|
||||
height="100%"
|
||||
@selection-change="selectedData"
|
||||
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
|
||||
fontWeight: 'bold', height: '48px'}">
|
||||
fontWeight: 'bold', height: '48px'}"
|
||||
@selection-change="selectedData"
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
type="index"
|
||||
width="55"
|
||||
label="序号"
|
||||
align="center">
|
||||
type="index"
|
||||
width="55"
|
||||
label="序号"
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="{scope, column, $index}">
|
||||
{{ ($index + 1) + (page - 1) * pageSize }}
|
||||
</template>
|
||||
@@ -106,17 +98,18 @@
|
||||
<el-table-column
|
||||
prop="account"
|
||||
label="账号"
|
||||
width="100px">
|
||||
</el-table-column>
|
||||
width="100px"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="uname"
|
||||
label="姓名"
|
||||
width="100px">
|
||||
</el-table-column>
|
||||
width="100px"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="sex"
|
||||
label="性别"
|
||||
width="50px">
|
||||
width="50px"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.sex === '1'">男</div>
|
||||
<div v-if="scope.row.sex === '2'">女</div>
|
||||
@@ -125,54 +118,57 @@
|
||||
<el-table-column
|
||||
prop="phone"
|
||||
label="电话"
|
||||
width="170px">
|
||||
</el-table-column>
|
||||
width="170px"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="email"
|
||||
label="邮箱"
|
||||
width="170px">
|
||||
</el-table-column>
|
||||
width="170px"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="institutionName"
|
||||
label="所属部门">
|
||||
label="所属部门"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-popover trigger="hover" placement="top">
|
||||
{{ scope.row.institutionName }}
|
||||
<div slot="reference" class="name-wrapper">
|
||||
<p v-if="!scope.row.institutionName || scope.row.institutionName.length<15">
|
||||
<!-- <p v-if="!scope.row.institutionName || scope.row.institutionName.length<15">
|
||||
{{ scope.row.institutionName }}
|
||||
</p>
|
||||
<p v-else> {{ scope.row.institutionName.substring(0, 15) }}...</p>
|
||||
<p v-else> {{ scope.row.institutionName.substring(0, 15) }}...</p>-->
|
||||
<p> {{ scope.row.institutionName }}</p>
|
||||
</div>
|
||||
</el-popover>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="roles"
|
||||
label="角色"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{getRoleName(scope.row.roles)}}
|
||||
prop="roles"
|
||||
label="角色"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.roles }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column-->
|
||||
<!-- prop="NameList"-->
|
||||
<!-- label="所属岗位">-->
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- <el-popover trigger="hover" placement="top">-->
|
||||
<!-- {{ scope.row.NameList }}-->
|
||||
<!-- <div slot="reference" class="name-wrapper">-->
|
||||
<!-- <p v-if="!scope.row.institutionName ||scope.row.NameList.length<15">-->
|
||||
<!-- {{ scope.row.NameList }}-->
|
||||
<!-- </p>-->
|
||||
<!-- <p v-else> {{ scope.row.NameList.substring(0, 15) }}...</p>-->
|
||||
<!-- </div>-->
|
||||
<!-- </el-popover>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<!-- <el-table-column-->
|
||||
<!-- prop="NameList"-->
|
||||
<!-- label="所属岗位">-->
|
||||
<!-- <template slot-scope="scope">-->
|
||||
<!-- <el-popover trigger="hover" placement="top">-->
|
||||
<!-- {{ scope.row.NameList }}-->
|
||||
<!-- <div slot="reference" class="name-wrapper">-->
|
||||
<!-- <p v-if="!scope.row.institutionName ||scope.row.NameList.length<15">-->
|
||||
<!-- {{ scope.row.NameList }}-->
|
||||
<!-- </p>-->
|
||||
<!-- <p v-else> {{ scope.row.NameList.substring(0, 15) }}...</p>-->
|
||||
<!-- </div>-->
|
||||
<!-- </el-popover>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-table-column>-->
|
||||
<el-table-column
|
||||
label="状态"
|
||||
width="100px">
|
||||
width="100px"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.disableFlag === '1'">已禁用</div>
|
||||
<div v-else>已启用</div>
|
||||
@@ -180,16 +176,17 @@
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
width="50px">
|
||||
width="50px"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div @click.stop style="display: inline-block">
|
||||
<div style="display: inline-block" @click.stop>
|
||||
<el-dropdown trigger="click" @command="handleCommand">
|
||||
<i class="iconfont"></i>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-btn-permission="'30db3b395deb5004266cd65d302c2776'" v-if="scope.row.disableFlag === '1'" :command="[scope.row, '启用']" >
|
||||
<el-dropdown-item v-if="scope.row.disableFlag === '1'" v-btn-permission="'30db3b395deb5004266cd65d302c2776'" :command="[scope.row, '启用']">
|
||||
启用
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item v-btn-permission="'30db3b395deb5004266cd65d302c2776'" v-if="scope.row.disableFlag === '0'" :command="[scope.row, '禁用']">
|
||||
<el-dropdown-item v-if="scope.row.disableFlag === '0'" v-btn-permission="'30db3b395deb5004266cd65d302c2776'" :command="[scope.row, '禁用']">
|
||||
禁用
|
||||
</el-dropdown-item>
|
||||
|
||||
@@ -204,7 +201,13 @@
|
||||
</el-table>
|
||||
</div>
|
||||
<loading :loading="Loading">加载中...</loading>
|
||||
<pagination :page="page" :total="total" :pageSize="pageSize" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
|
||||
<pagination
|
||||
:page="page"
|
||||
:total="total"
|
||||
:pageSize="pageSize"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"
|
||||
/>
|
||||
</div>
|
||||
<el-drawer
|
||||
class="postPage"
|
||||
@@ -215,29 +218,42 @@
|
||||
@close="resetFormPost"
|
||||
>
|
||||
<el-form ref="" :model="sarPost" inline>
|
||||
<el-form-item class="search-item" style="padding-left: 25px">
|
||||
<el-input v-model="sarPost.name"
|
||||
size="small"
|
||||
placeholder="角色名称查找"
|
||||
clearable></el-input>
|
||||
<el-form-item class="search-item" style="padding-left: 25px">
|
||||
<el-input
|
||||
v-model="sarPost.name"
|
||||
size="small"
|
||||
placeholder="角色名称查找"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="" class="search-item btn-box">
|
||||
<el-button class="common-button-primary" type="primary" size="mini" @click="searchPostName"
|
||||
v-btn-permission="''">查询
|
||||
<el-button
|
||||
v-btn-permission="''"
|
||||
class="common-button-primary"
|
||||
type="primary"
|
||||
size="mini"
|
||||
@click="searchPostName"
|
||||
>
|
||||
查询
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item label="" class="search-item btn-box">
|
||||
<el-button class="common-button-default" @click="resetSelect" size="mini"
|
||||
v-btn-permission="">清空
|
||||
<el-button
|
||||
v-btn-permission=""
|
||||
class="common-button-default"
|
||||
size="mini"
|
||||
@click="resetSelect"
|
||||
>
|
||||
清空
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-tree
|
||||
v-if="modalPost"
|
||||
ref="tree2"
|
||||
node-key="id"
|
||||
class="filter-tree"
|
||||
style="height: 100%; overflow: auto;"
|
||||
v-if="modalPost"
|
||||
:props="props"
|
||||
:data="postList"
|
||||
:filter-node-method="filterNode"
|
||||
@@ -246,9 +262,16 @@
|
||||
check-strictly
|
||||
default-expand-all
|
||||
:expand-on-click-node="false"
|
||||
show-checkbox>
|
||||
</el-tree>
|
||||
<pagination :page="page1" :pageSize="pageSize1" :total="total2" @pageChange="pageChange2" @pageSizeChange="pageSizeChange2"></pagination>
|
||||
show-checkbox
|
||||
/>
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page="page1"
|
||||
:pageSize="pageSize1"
|
||||
:total="total2"
|
||||
@pageChange="pageChange2"
|
||||
@pageSizeChange="pageSizeChange2"
|
||||
/>
|
||||
<div id="roleFormButton" class="demo-drawer-footer">
|
||||
<el-button
|
||||
size="mini"
|
||||
@@ -257,26 +280,32 @@
|
||||
type="primary"
|
||||
:loading="butionLoading"
|
||||
@click="PostSubmit"
|
||||
>确定
|
||||
>
|
||||
确定
|
||||
</el-button>
|
||||
<el-button size="mini" class="common-button-default" icon="el-icon-close" @click="resetFormPost">取消</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
<loading style="z-index: 2099;" :loading="treeLoading">导入中...</loading>
|
||||
<SetRoleForDepartment ref="SetRoleForDepartmentRef" @success="getDatas('1')" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SetRoleForDepartment from '../components/SetRoleForDepartment'
|
||||
export default {
|
||||
name: 'mechanism',
|
||||
data() {
|
||||
name: 'Mechanism',
|
||||
components: {
|
||||
SetRoleForDepartment
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
formLoading: true,
|
||||
peopleType: '', //1为树结构 2 为全机构
|
||||
peopleType: '', // 1为树结构 2 为全机构
|
||||
nodeKeyId: '',
|
||||
searchForm: {
|
||||
uname: "",
|
||||
email: ""
|
||||
uname: '',
|
||||
email: ''
|
||||
},
|
||||
userId: '',
|
||||
postList: [],
|
||||
@@ -287,7 +316,7 @@ export default {
|
||||
nodeList: [],
|
||||
modalPost: false,
|
||||
sarPost: {
|
||||
name: "", // 角色名称
|
||||
name: '', // 角色名称
|
||||
},
|
||||
filterText: '', // 树结构检索条件
|
||||
defaultProps: {
|
||||
@@ -299,8 +328,8 @@ export default {
|
||||
total: 0,
|
||||
total2: 0,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
page1:1,
|
||||
pageSize1:20,
|
||||
page1: 1,
|
||||
pageSize1: 20,
|
||||
sideClose: false,
|
||||
data: [], // table数据
|
||||
treeLoading: false,
|
||||
@@ -309,31 +338,46 @@ export default {
|
||||
id: '',
|
||||
// 批量配置角色勾选暂存
|
||||
manageData: [],
|
||||
configOrgManage:false,
|
||||
configOrgManage: false,
|
||||
drawerTitle: '配置角色'
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
watch: {
|
||||
filterText (val) {
|
||||
this.$refs.tree.filter(val);
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
// 获取组织结构树
|
||||
this.getTree()
|
||||
this.getTree2()
|
||||
},
|
||||
methods: {
|
||||
getRoleName(roles){
|
||||
let names=roles.map(item=>{
|
||||
return item.name
|
||||
})
|
||||
// 给部门所有人员配置角色·
|
||||
setRoleForDepartment () {
|
||||
this.$refs.SetRoleForDepartmentRef.open(this.id)
|
||||
},
|
||||
getRoleName (roles) {
|
||||
const names = roles.map(item => {
|
||||
return item.name
|
||||
})
|
||||
return names.join(',')
|
||||
},
|
||||
clearAllSearch() {
|
||||
clearAllSearch () {
|
||||
this.searchForm = {
|
||||
uname: "",
|
||||
email: ""
|
||||
uname: '',
|
||||
email: ''
|
||||
}
|
||||
this.page = 1
|
||||
this.getData()
|
||||
},
|
||||
resetFormPost() {
|
||||
resetFormPost () {
|
||||
this.modalPost = false
|
||||
this.postList = []
|
||||
this.page1 = 1
|
||||
},
|
||||
PostSubmit() {
|
||||
PostSubmit () {
|
||||
this.butionLoading = true
|
||||
if (this.drawerTitle === '配置角色') {
|
||||
this.$http.postData('sarUser/user/role', {
|
||||
@@ -347,8 +391,8 @@ export default {
|
||||
this.getData()
|
||||
}
|
||||
})
|
||||
} else if(this.configOrgManage){
|
||||
//批量配置角色信息
|
||||
} else if(this.configOrgManage) {
|
||||
// 批量配置角色信息
|
||||
this.$http.postData('sarUser/user/roleBatchByOrgId', {
|
||||
roleIds: this.$refs.tree2.getCheckedKeys(),
|
||||
orgId: this.id
|
||||
@@ -373,18 +417,17 @@ export default {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
searchPostName() {
|
||||
searchPostName () {
|
||||
this.page = 1;
|
||||
this.getTree2();
|
||||
this.sarPost.name = "";
|
||||
this.sarPost.name = '';
|
||||
}, // 查询
|
||||
resetSelect() {
|
||||
this.sarPost.name = "";
|
||||
resetSelect () {
|
||||
this.sarPost.name = '';
|
||||
this.getTree2();
|
||||
}, // 外层清空条件查询
|
||||
handleCommand(command) {
|
||||
handleCommand (command) {
|
||||
switch (command[1]) {
|
||||
case '启用':
|
||||
this.disableFlagEdit(command[0], 0)
|
||||
@@ -398,7 +441,7 @@ export default {
|
||||
}
|
||||
},
|
||||
|
||||
getTree2() {
|
||||
getTree2 () {
|
||||
this.$http.get('sarRole/role/allPage', {
|
||||
current: this.page1,
|
||||
pageSize: this.pageSize1,
|
||||
@@ -410,10 +453,10 @@ export default {
|
||||
this.total2 = res.data.total
|
||||
})
|
||||
},
|
||||
postsConfigure(row) {
|
||||
postsConfigure (row) {
|
||||
this.configOrgManage = false
|
||||
this.drawerTitle = '配置角色'
|
||||
var arr = []
|
||||
const arr = []
|
||||
this.userId = row.userId
|
||||
row.positions.forEach((item) => {
|
||||
arr.push(item.id)
|
||||
@@ -422,8 +465,8 @@ export default {
|
||||
this.modalPost = true
|
||||
this.getTree2()
|
||||
},
|
||||
disableFlagEdit(row, type) {
|
||||
let json = {}
|
||||
disableFlagEdit (row, type) {
|
||||
const json = {}
|
||||
json.userId = row.userId
|
||||
json.disableFlag = type
|
||||
this.$http.postData('sarUser/user/disable', json, {},
|
||||
@@ -438,14 +481,14 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
treeCollapse() {
|
||||
treeCollapse () {
|
||||
this.sideClose = !this.sideClose
|
||||
},
|
||||
filterNode(value, data) {
|
||||
filterNode (value, data) {
|
||||
if (!value) return true;
|
||||
return data.name.indexOf(value) !== -1;
|
||||
},
|
||||
handleNodeClick(data) {
|
||||
handleNodeClick (data) {
|
||||
this.id = data.id
|
||||
this.page = 1
|
||||
this.getData()
|
||||
@@ -485,7 +528,7 @@ export default {
|
||||
// }, e => {
|
||||
// })
|
||||
// },
|
||||
getTree() {
|
||||
getTree () {
|
||||
this.$http.get('SarInstitution/institution', {}, {
|
||||
_this: this,
|
||||
loading: 'treeLoading'
|
||||
@@ -501,7 +544,7 @@ export default {
|
||||
console.log(e);
|
||||
})
|
||||
},
|
||||
getDatas(type) {
|
||||
getDatas (type) {
|
||||
if (type === '1') {
|
||||
this.page = 1
|
||||
}
|
||||
@@ -530,7 +573,7 @@ export default {
|
||||
this.total = res.data.total
|
||||
})
|
||||
},
|
||||
getData() {
|
||||
getData () {
|
||||
this.peopleType = 1;
|
||||
this.$http.post('SarInstitution/institution/userUnderInstitution', {
|
||||
current: this.page,
|
||||
@@ -556,42 +599,42 @@ export default {
|
||||
this.total = res.data.total
|
||||
})
|
||||
},
|
||||
pageChange(page) {
|
||||
pageChange (page) {
|
||||
this.page = page
|
||||
if(this.peopleType === 1){
|
||||
if(this.peopleType === 1) {
|
||||
this.getData()
|
||||
}else{
|
||||
this.getDatas()
|
||||
}
|
||||
},
|
||||
pageSizeChange(pageSize) {
|
||||
pageSizeChange (pageSize) {
|
||||
this.pageSize = pageSize
|
||||
if(this.peopleType === 1){
|
||||
if(this.peopleType === 1) {
|
||||
this.getData()
|
||||
}else{
|
||||
this.getDatas()
|
||||
}
|
||||
},
|
||||
pageChange2(page1) {
|
||||
pageChange2 (page1) {
|
||||
this.page1 = page1
|
||||
this.getTree2()
|
||||
},
|
||||
pageSizeChange2(pageSize1) {
|
||||
pageSizeChange2 (pageSize1) {
|
||||
this.pageSize1 = pageSize1
|
||||
this.getTree2()
|
||||
},
|
||||
|
||||
/** 批量编辑角色的勾选数据 */
|
||||
selectedData(val) {
|
||||
selectedData (val) {
|
||||
this.manageData = val
|
||||
},
|
||||
|
||||
selectEdit() {
|
||||
selectEdit () {
|
||||
this.configOrgManage = false
|
||||
this.getTree2()
|
||||
if(this.manageData.length){
|
||||
if(this.manageData.length) {
|
||||
this.userId = []
|
||||
this.manageData.forEach(item=>{
|
||||
this.manageData.forEach(item => {
|
||||
this.userId.push(item.userId)
|
||||
})
|
||||
this.drawerTitle = '批量配置角色'
|
||||
@@ -600,24 +643,13 @@ export default {
|
||||
this.$message.warning('请选择需要批量配置的角色')
|
||||
}
|
||||
},
|
||||
selectEditOfOrg() {
|
||||
selectEditOfOrg () {
|
||||
this.configOrgManage = true
|
||||
this.getTree2()
|
||||
this.drawerTitle = '批量配置角色'
|
||||
this.modalPost = true
|
||||
},
|
||||
|
||||
},
|
||||
computed: {},
|
||||
watch: {
|
||||
filterText(val) {
|
||||
this.$refs.tree.filter(val);
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
// 获取组织结构树
|
||||
this.getTree()
|
||||
this.getTree2()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -728,5 +760,4 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
@@ -362,7 +362,7 @@
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%;"
|
||||
border
|
||||
height="100%"
|
||||
height="93%"
|
||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
|
||||
fontWeight: 'bold', fontFamily: 'MicrosoftYaHei-Bold', height: '48px'}">
|
||||
<el-table-column
|
||||
@@ -917,6 +917,7 @@ export default {
|
||||
res.data.forEach(item => {
|
||||
if (item.id && item.id == 'asdfadf') {
|
||||
item.disabled = true;
|
||||
this.nodeList.push(item.id)
|
||||
// if (item.childNodes && item.childNodes.length !== 0) {
|
||||
// this.addAttr(item.childNodes);
|
||||
// }
|
||||
|
||||
@@ -390,12 +390,13 @@ export default {
|
||||
},
|
||||
goNuwPage (item) {
|
||||
this.$store.commit('setDetailMap', this.$route.path)
|
||||
console.log(item);
|
||||
const params = {
|
||||
id: item.id,
|
||||
dictionaryName: item.dictionaryName,
|
||||
dictionType: item.dictionType,
|
||||
isRelate: item.isRelate,
|
||||
relateDicId: item.relateDicId
|
||||
relateDicId: item.relateDicId || '1'
|
||||
}
|
||||
if(item.dictionType && item.dictionType === 'TREE'){
|
||||
this.$router.push({
|
||||
@@ -408,7 +409,6 @@ export default {
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
handleSelectone (data) {
|
||||
this.selectedList = []
|
||||
|
||||
@@ -8,13 +8,16 @@
|
||||
<template slot="title">
|
||||
<div class="modular-header">
|
||||
<div class="modular-header-title">
|
||||
<i class="icon-modular-title"/><span>基础信息</span>
|
||||
<i class="icon-modular-title" /><span>基础信息</span>
|
||||
</div>
|
||||
<div class="modular-header-btn">
|
||||
<el-button class="relation-btn"
|
||||
icon="icon-relation"
|
||||
@click.stop="relateEvent()"
|
||||
>更新记录</el-button>
|
||||
<el-button
|
||||
class="relation-btn"
|
||||
icon="icon-relation"
|
||||
@click.stop="relateEvent()"
|
||||
>
|
||||
更新记录
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -29,10 +32,10 @@
|
||||
<label style=" margin-right: 132px;line-height: 44px">会议纪要</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.meetingMinutesList && form.meetingMinutesList.length > 0">
|
||||
<p class="file-item" v-for="file in form.meetingMinutesList">
|
||||
<p v-for="file in form.meetingMinutesList" class="file-item">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)" />
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
@@ -45,7 +48,7 @@
|
||||
<template slot="title">
|
||||
<div class="modular-header">
|
||||
<div class="modular-header-title">
|
||||
<i class="icon-modular-title"/><span>会议分类</span>
|
||||
<i class="icon-modular-title" /><span>会议分类</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -58,7 +61,7 @@
|
||||
<template slot="title">
|
||||
<div class="modular-header">
|
||||
<div class="modular-header-title">
|
||||
<i class="icon-modular-title"/><span>会议议题</span>
|
||||
<i class="icon-modular-title" /><span>会议议题{{ index + 1 }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -68,10 +71,10 @@
|
||||
<label style=" margin-right: 132px;line-height: 44px">议题材料</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="item.agendaMaterialsList && item.agendaMaterialsList.length > 0">
|
||||
<p class="file-item" v-for="file in item.agendaMaterialsList">
|
||||
<p v-for="file in item.agendaMaterialsList" class="file-item">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)" />
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
@@ -87,19 +90,20 @@
|
||||
</div>
|
||||
<!-- 更新LOG -->
|
||||
<el-dialog
|
||||
title="更新记录"
|
||||
:visible.sync="relateDialog"
|
||||
width="60%"
|
||||
class="relateClass"
|
||||
:before-close="relateDialogClose">
|
||||
title="更新记录"
|
||||
:visible.sync="relateDialog"
|
||||
width="60%"
|
||||
class="relateClass"
|
||||
:before-close="relateDialogClose"
|
||||
>
|
||||
<div
|
||||
v-for="(item, index) in relateNowList"
|
||||
:key="index"
|
||||
v-if="relateNowList"
|
||||
style="margin-bottom: 10px;line-height: 20px"
|
||||
v-for="(item, index) in relateNowList"
|
||||
v-if="relateNowList"
|
||||
:key="index"
|
||||
style="margin-bottom: 10px;line-height: 20px"
|
||||
>
|
||||
{{index+1}}. {{item.creationUserName}} {{item.creationTime}} {{item.content}}
|
||||
<div v-if="relateNowList.length >1"><el-divider></el-divider></div>
|
||||
{{ index+1 }}. {{ item.creationUserName }} {{ item.creationTime }} {{ item.content }}
|
||||
<div v-if="relateNowList.length >1"><el-divider /></div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="relateDialogClose()">关 闭</el-button>
|
||||
@@ -110,10 +114,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getBusStandFileByAttId } from 'api/process'
|
||||
|
||||
export default {
|
||||
name: "meetingDetail",
|
||||
name: 'MeetingDetail',
|
||||
data () {
|
||||
return {
|
||||
url: {
|
||||
@@ -121,14 +123,14 @@ export default {
|
||||
getLogList: 'lawss/sarUpdLog/getLogList', // 更新记录
|
||||
},
|
||||
form: {},
|
||||
activeNames: ['1', '2'],
|
||||
activeNames: [ '1', '2' ],
|
||||
// 更新记录
|
||||
relateDialog: false,
|
||||
relateNowList: [],
|
||||
loading: false
|
||||
}
|
||||
},
|
||||
created() {
|
||||
created () {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
@@ -141,7 +143,7 @@ export default {
|
||||
res.data.meetingTopicList.forEach((item, index) => {
|
||||
activeNames.push(index)
|
||||
})
|
||||
this.activeNames = [...this.activeNames, ...activeNames]
|
||||
this.activeNames = [ ...this.activeNames, ...activeNames ]
|
||||
}
|
||||
this.$set(this, 'form', res.data)
|
||||
}
|
||||
@@ -158,9 +160,9 @@ export default {
|
||||
if (res.ok && res.data.length > 0) {
|
||||
this.relateDialog = true
|
||||
const relateList = res.data
|
||||
var i
|
||||
let i
|
||||
for (i = 0; i < relateList.length; i++) {
|
||||
let obj = {creationUserName: '', creationTime: '', content: ''}
|
||||
const obj = { creationUserName: '', creationTime: '', content: '' }
|
||||
obj.creationUserName = relateList[i].creationUserName
|
||||
obj.creationTime = relateList[i].creationTime
|
||||
obj.content = relateList[i].content
|
||||
@@ -193,21 +195,6 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
getBusStandFileByAttId(attId) {
|
||||
return new Promise((resolve, reject) => {
|
||||
getBusStandFileByAttId({
|
||||
attId
|
||||
}).then(res => {
|
||||
if (res.ok) {
|
||||
resolve(res.data)
|
||||
} else {
|
||||
reject()
|
||||
}
|
||||
}).catch(e => {
|
||||
reject(e)
|
||||
})
|
||||
})
|
||||
},
|
||||
openFileInPdf (attId, fileName) {
|
||||
this.$preview(attId)
|
||||
},
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<!-- eslint-disable -->
|
||||
<!--企标详情页-->
|
||||
<template>
|
||||
<div class="other-standard-details v-class" :class="{'hidden': !isMoreAwayBtn}">
|
||||
@@ -5,7 +6,7 @@
|
||||
<div class="details-header">
|
||||
<span>{{sarStandardsInfoEO.standCode}} 《{{sarStandardsInfoEO.standName ? sarStandardsInfoEO.standName : sarStandardsInfoEO.standEnName}}》 企标详情</span>
|
||||
<!--<b style="float:right;font-size: 25px;color: #ff9900">{{ ((qualityCommentScore*2*0.9)+(dynamicCommentScore*2*0.1)).toFixed(1) }}</b>-->
|
||||
<b style="float:right;font-size: 25px;color: #ff9900">{{ score }}</b>
|
||||
<b v-show="score !== '0.00'" style="float:right;font-size: 25px;color: #ff9900;">{{ score }}</b>
|
||||
<!-- 之前的,先注掉-->
|
||||
<!-- <span>{{sarStandardsInfoEO.standCode}}-{{sarStandardsInfoEO.standYear}} 《{{sarStandardsInfoEO.standName}}》 企标详情</span>-->
|
||||
</div>
|
||||
@@ -444,7 +445,7 @@
|
||||
<p class="half">
|
||||
<label style=" margin-right: 156px;"
|
||||
title="“修订中”为现行有效版本;“已修订”标准的有效性需根据实际实施情况判定"
|
||||
>文本状态</label><span>{{ sarStandardsInfoEO.textStatusBussShow || '-' }}</span>
|
||||
>标准状态</label><span>{{ sarStandardsInfoEO.textStatusBussShow || '-' }}</span>
|
||||
</p>
|
||||
<p class="half"><label style=" margin-right: 157px;">发布日期</label><span>{{ sarStandardsInfoEO.issueTime || '-' }}</span></p>
|
||||
<p class="half" style=""><label style=" margin-right: 122px;">企标实施日期</label><span>{{ sarStandardsInfoEO.putTime || '-' }}</span></p>
|
||||
@@ -1341,6 +1342,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
/* eslint-disable */
|
||||
import PutQuestionButton from '@/components/PutQuestionButton'
|
||||
import {dateFormat} from '../../../common/date'
|
||||
import { getBusStandFileByAttId } from 'api/process'
|
||||
@@ -1371,6 +1373,7 @@ export default {
|
||||
data () {
|
||||
return {
|
||||
score: 0,
|
||||
XGLC:'',
|
||||
externalStatus:'',
|
||||
QFTP: false,
|
||||
textOptions: [],
|
||||
@@ -1670,7 +1673,7 @@ export default {
|
||||
getScore () {
|
||||
//查询动态评价总平均分和质量评价总平均分
|
||||
let standId = this.$route.params.id
|
||||
this.$http.get('sarEnterpriseStandardEvaluation/quality-evaluation/getScore', {lawId:standId}, {
|
||||
this.$http.get('sarEnterpriseStandardEvaluation/quality-evaluation/getScore', {lawId:standId,prcNum:this.XGLC}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.ok) {
|
||||
@@ -2488,6 +2491,12 @@ export default {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.sarStandardsInfoEO = res.data || {}
|
||||
if (res.data.attrInfoMap && res.data.attrInfoMap.XGLC){
|
||||
let XGLCData = res.data.attrInfoMap.XGLC.split(',')
|
||||
this.XGLC = XGLCData[XGLCData.length - 1]
|
||||
}else{
|
||||
this.XGLC = ''
|
||||
}
|
||||
if (this.sarStandardsInfoEO.standCode && this.sarStandardsInfoEO.standCode.indexOf('Q/QCBFC') !== -1) {
|
||||
this.QFTP = true
|
||||
}
|
||||
@@ -2590,6 +2599,12 @@ export default {
|
||||
})
|
||||
},
|
||||
openFileInPdf (attId, oldFileName) {
|
||||
if (this.$hasPermission('43ae63abc1b64e6bd5cf3bb75b423bc2')) {
|
||||
this.$preview(attId)
|
||||
} else {
|
||||
this.$message.error('没有在线预览文档权限!')
|
||||
}
|
||||
/*
|
||||
// 判断是否是图片格式,图片格式不预览,直接下载
|
||||
let index1 = oldFileName.lastIndexOf('.')
|
||||
let index2 = oldFileName.length
|
||||
@@ -2680,6 +2695,7 @@ export default {
|
||||
} else {
|
||||
this.$message.error('没有在线预览文档权限!')
|
||||
}
|
||||
*/
|
||||
this.$http.get('lawss/sarBussionessStand/logBuss', {
|
||||
standCode: this.sarStandardsInfoEO.standCode,
|
||||
standName: this.sarStandardsInfoEO.standName
|
||||
@@ -2790,7 +2806,8 @@ export default {
|
||||
showReplaceStandInfo (item) {
|
||||
// this.replaceStandInfoEO.standType = this.sarStandardsInfoEO.standType
|
||||
this.$http.get('sarStandardsInfo/sar-standards-info/queryInfoByStandNum', {
|
||||
standNumber: item
|
||||
standNumber: item,
|
||||
standType: 'BUSS'
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
@@ -3381,12 +3398,12 @@ export default {
|
||||
this.applyArcticOptions = res.data.ENERGYTYPES // 根据需求文档,产品类别对应标准属性中的“适用车型”
|
||||
this.emergyKindOptions = res.data.ENERGYTYPES
|
||||
this.requestOptions = res.data.REQUESTTYPE
|
||||
this.textOptions = res.data.TEXTSTATUSBUSS //企标文本状态
|
||||
this.textOptions = res.data.TEXTSTATUSBUSS //企标标准状态
|
||||
this.mjOptions = res.data.MJ
|
||||
this.STANDSOURCEREVISION = res.data.STANDSOURCEREVISION
|
||||
}, e => {
|
||||
})
|
||||
this.getScore()
|
||||
|
||||
/*
|
||||
this.$http.get('sarEnterpriseStandardEvaluation/quality-evaluation/getScore', {lawId:standId}, {
|
||||
_this: this
|
||||
@@ -3439,6 +3456,7 @@ export default {
|
||||
this.getOrgTreeSource()
|
||||
this.standItemEO.standId = this.$route.params.id
|
||||
Promise.all([this.queryDisplayLocation(), this.selectStandMessage(), this.getAddFormFieldList()]).then(async(values) => {
|
||||
this.getScore()
|
||||
const [displayLocation, {attrInfoMap: dynamicFormField}, formFieldList] = values
|
||||
// const relatedPlansRes = await this.queryRelatedPlans()
|
||||
// const relatedPlans = relatedPlansRes.list
|
||||
|
||||
@@ -420,7 +420,7 @@
|
||||
<p class="half">
|
||||
<label style=" margin-right: 156px;"
|
||||
title="“修订中”为现行有效版本;“已修订”标准的有效性需根据实际实施情况判定"
|
||||
>文本状态</label><span>{{ sarStandardsInfoEO.textStatusBussShow || '-' }}</span>
|
||||
>标准状态</label><span>{{ sarStandardsInfoEO.textStatusBussShow || '-' }}</span>
|
||||
</p>
|
||||
<p class="half"><label style=" margin-right: 157px;">发布日期</label><span>{{ sarStandardsInfoEO.issueTime || '-' }}</span></p>
|
||||
<p class="half" style=""><label style=" margin-right: 122px;">企标实施日期</label><span>{{ sarStandardsInfoEO.putTime || '-' }}</span></p>
|
||||
@@ -3113,7 +3113,7 @@ export default {
|
||||
this.applyArcticOptions = res.data.ENERGYTYPES // 根据需求文档,产品类别对应标准属性中的“适用车型”
|
||||
this.emergyKindOptions = res.data.ENERGYTYPES
|
||||
this.requestOptions = res.data.REQUESTTYPE
|
||||
this.textOptions = res.data.TEXTSTATUSBUSS //企标文本状态
|
||||
this.textOptions = res.data.TEXTSTATUSBUSS //企标标准状态
|
||||
this.mjOptions = res.data.MJ
|
||||
this.STANDSOURCEREVISION = res.data.STANDSOURCEREVISION
|
||||
}, e => {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<!-- eslint-disable -->
|
||||
<!--政策详情页-->
|
||||
<template>
|
||||
<div class="other-standard-details v-class" :class="{'hidden': !isMoreAwayBtn}">
|
||||
@@ -42,9 +43,9 @@
|
||||
<div class="basic-information-content">
|
||||
<!--<p style="" class="half"><label style=" margin-right: 157px;">政策分类</label><span>{{ sarStandardsInfoEO.lawsType }}</span></p>-->
|
||||
<p style="" class="half"><label style=" margin-right: 132px;">1级政策分类</label><span>{{ sarStandardsInfoEO.lawTypeFirstLevelName || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 132px;">2级政策分类</label><span>{{ sarStandardsInfoEO.lawTypeFourthLevelName || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 132px;">3级政策分类</label><span>{{ sarStandardsInfoEO.lawTypeSecondLevelName || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 132px;">4级政策分类</label><span>{{ sarStandardsInfoEO.lawTypeThirdLevelName || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 132px;">2级政策分类</label><span>{{ sarStandardsInfoEO.lawTypeSecondLevelName || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 132px;">3级政策分类</label><span>{{ sarStandardsInfoEO.lawTypeThirdLevelName || '-' }}</span></p>
|
||||
<p style="" class="half"><label style=" margin-right: 132px;">4级政策分类</label><span>{{ sarStandardsInfoEO.lawTypeFourthLevelName || '-' }}</span></p>
|
||||
<!--<p style="" class="half"><label style=" margin-right: 157px;">政策编号</label><span>{{ sarStandardsInfoEO.lawsNumber }}</span></p>-->
|
||||
<p class="half"><label style=" margin-right: 157px;">政策名称</label><span>{{ sarStandardsInfoEO.lawsName || '-' }}</span></p>
|
||||
<p class="half"><label style=" margin-right: 157px;">英文名称</label><span>{{ sarStandardsInfoEO.lawsEnName || '-' }}</span></p>
|
||||
@@ -52,7 +53,7 @@
|
||||
<p class="half"><label style=" margin-right: 157px;">发文日期</label><span>{{ sarStandardsInfoEO.issueTime || '-' }}</span></p>
|
||||
<p class="half"><label style=" margin-right: 157px;">发文单位</label><span>{{ sarStandardsInfoEO.issueCompany || '-' }}</span></p>
|
||||
<p class="half"><label style=" margin-right: 125px;">征集意见周期</label><span>{{ formatDateFunc(sarStandardsInfoEO.commentCycleStart) || '' }} - {{formatDateFunc(sarStandardsInfoEO.commentCycleEnd) || ''}}</span></p>
|
||||
<p class="half"><label style=" margin-right: 156px;">文本状态</label><span style="">{{ sarStandardsInfoEO.standStatusShow || '-' }}</span></p>
|
||||
<p class="half"><label style=" margin-right: 156px;">政策状态</label><span style="">{{ sarStandardsInfoEO.standStatusShow || '-' }}</span></p>
|
||||
<p class="half"><label style=" margin-right: 157px;">适用车型</label><span>{{ sarStandardsInfoEO.lawsSycx || '-' }}</span></p>
|
||||
<p class="half"><label style=" margin-right: 95px;">是否纳入认证清单</label><span>{{ sarStandardsInfoEO.isRelateAccess === '1' ? '是' : (sarStandardsInfoEO.isRelateAccess ? '否':'-')}}</span></p>
|
||||
<p class="half"><label style=" margin-right: 190px;">年度</label><span>{{ sarStandardsInfoEO.lawsYear || '-' }}</span></p>
|
||||
@@ -63,11 +64,17 @@
|
||||
<span v-else>{{ sarStandardsInfoEO.lawsNotisyncNum || '-' }}</span>
|
||||
</p>
|
||||
<!--<p class="half"><label style=" margin-right: 125px;">通知文号链接</label><span>{{ sarStandardsInfoEO.notisyncNumLink || '-' }}</span></p>-->
|
||||
<p class="half"><label style=" margin-right: 157px;">信息简报</label><span>{{ sarStandardsInfoEO.lawsBulletin || '-' }}</span></p>
|
||||
<p class="half"><label style=" margin-right: 157px;">信息月报</label><span>{{ sarStandardsInfoEO.lawsBulletin || '-' }}</span></p>
|
||||
<p class="half"><label style=" margin-right: 157px;">参考消息</label><span>{{ sarStandardsInfoEO.referenceNews || '-' }}</span></p>
|
||||
<p class="half"><label style=" margin-right: 190px;">标签</label><span>{{ sarStandardsInfoEO.lawsLabel || '-' }}</span></p>
|
||||
<p class="half"><label style=" margin-right: 62px;">备注(最终政策发布)</label><span>{{ sarStandardsInfoEO.lawsRemark || '-' }}</span></p>
|
||||
<!--<p class="half"><label style=" margin-right: 157px;">适用区域</label><span>{{ sarStandardsInfoEO.lawsSyqy || '-' }}</span></p>-->
|
||||
<!--<p class="half"><label style=" margin-right: 157px;">政策文号</label><span>{{ sarStandardsInfoEO.lawsNo || '-' }}</span></p>-->
|
||||
<!-- <p class="half"><label style=" margin-right: 62px;">备注(最终政策发布)</label><span>{{ sarStandardsInfoEO.lawsRemark || '-' }}</span></p>-->
|
||||
<p class="half"><label style=" margin-right: 157px;">政策要点</label><span>{{ sarStandardsInfoEO.lawsKeyPoint || '-' }}</span></p>
|
||||
<p class="half"><label style=" margin-right: 190px;">备注</label><span>{{ sarStandardsInfoEO.lawsRemark || '-' }}</span></p>
|
||||
<p class="half">
|
||||
<label style=" margin-right: 125px;">政策原文链接</label>
|
||||
<a v-if="sarStandardsInfoEO.lawsOriginalLink && sarStandardsInfoEO.lawsOriginalLink !== ''" :href="sarStandardsInfoEO.lawsOriginalLink" target="_blank">{{ sarStandardsInfoEO.lawsOriginalLink }}</a>
|
||||
<span v-else>-</span>
|
||||
</p>
|
||||
<template v-for="(child, childIndex) in item.child2">
|
||||
<p class="half">
|
||||
<label style=" margin-right: 156px;">{{child.attrName}}</label>
|
||||
@@ -906,6 +913,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
/* eslint-disable */
|
||||
import PutQuestionButton from '@/components/PutQuestionButton'
|
||||
import {dateFormat} from '../../../common/date'
|
||||
import { getBusStandFileByAttId } from 'api/process'
|
||||
@@ -1511,6 +1519,12 @@ export default {
|
||||
})
|
||||
},
|
||||
openFileInPdf (attId, oldFileName) {
|
||||
if (this.$hasPermission('fd83032ae5f41a0021b00e93c88edbbg')) {
|
||||
this.$preview(attId)
|
||||
} else {
|
||||
this.$message.error('没有在线预览文档权限!')
|
||||
}
|
||||
/*
|
||||
// 判断是否是图片格式,图片格式不预览,直接下载
|
||||
let index1 = oldFileName.lastIndexOf('.')
|
||||
let index2 = oldFileName.length
|
||||
@@ -1601,6 +1615,7 @@ export default {
|
||||
} else {
|
||||
this.$message.error('没有在线预览文档权限!')
|
||||
}
|
||||
*/
|
||||
},
|
||||
showItemsModel (attField) {
|
||||
this.fileType = attField
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="fileTypeShow"
|
||||
label="文本状态"
|
||||
label="标准状态"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
|
||||
@@ -99,7 +99,7 @@ export default {
|
||||
standId: '',
|
||||
standNumSplit: '', // 标准号/政策号
|
||||
standNameSplit: '', // 标准名称/政策名称
|
||||
fileType: '' // 文本状态
|
||||
fileType: '' // 标准状态
|
||||
},
|
||||
itemsTextDialogs:false,
|
||||
itemsText: ""
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<!-- eslint-disable -->
|
||||
<!--国内标准法规详情页-->
|
||||
<template>
|
||||
<div :class="{'hidden': !isMoreAwayBtn}" class="other-standard-details v-class">
|
||||
@@ -291,15 +292,17 @@
|
||||
</p>
|
||||
</template>
|
||||
<p class="half">
|
||||
<label style=" margin-right: 150px;" title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。">文本状态</label>
|
||||
<label style=" margin-right: 150px;" title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。">标准状态</label>
|
||||
<span>{{ textStatusMap[sarStandardsInfoEO.textStatus] || '-' }}</span>
|
||||
</p>
|
||||
<p class="half"><label style=" margin-right: 150px;">发布日期</label><span>{{ sarStandardsInfoEO.issueTime || '-' }}</span>
|
||||
</p>
|
||||
|
||||
<p class="half"><label style=" margin-right: 150px;">标准体系</label><span>{{
|
||||
sarStandardsInfoEO.standSystem || '-'
|
||||
}}</span></p>
|
||||
<p class="half" style="display: flex"><label style=" margin-right: 150px;">标准体系</label>
|
||||
<el-tooltip class="item" effect="dark" :content="sarStandardsInfoEO.standSystem" placement="top">
|
||||
<span style="width: 60%;display: inline-block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap">{{sarStandardsInfoEO.standSystem}}</span>
|
||||
</el-tooltip>
|
||||
</p>
|
||||
<p class="half">
|
||||
<label style=" margin-right: 84px;">是否纳入认证清单</label>
|
||||
<span>
|
||||
@@ -561,7 +564,7 @@
|
||||
<div
|
||||
v-show="child.attrField !== 'ZBJBD' && child.attrField !== 'KWJ' && child.attrField !== 'FBGYWBD' "
|
||||
:key="child.id"
|
||||
:class="'modular-item half'"
|
||||
:class="'modular-item' + ($route.params.pageType === 'FOREIGN_STAND' ? '' : ' half')"
|
||||
>
|
||||
<label :title="child.attrName" class="modular-content-p-name">{{ child.attrName }}</label>
|
||||
<span
|
||||
@@ -576,13 +579,14 @@
|
||||
v-for="(file, fileIndex) in child.value"
|
||||
:key="fileIndex"
|
||||
class="files-title"
|
||||
style="width: calc(100% - 80px)"
|
||||
>
|
||||
<!--发布稿、增补件单独设置下载权限-->
|
||||
<template v-if="child.attrField === 'XGD' || child.attrField === 'FBGBJBD' || child.attrField === 'BPG'
|
||||
|| child.attrField === 'SSG'|| child.attrField === 'ZQYJG'|| child.attrField === 'CA'
|
||||
|| child.attrField === 'JDWJ' || child.attrField === 'GLWJ'">
|
||||
<a :title="file.oldFileName" target="_blank"
|
||||
@click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName | ellipsis }}</a>
|
||||
<a :title="file.oldFileName" target="_blank"
|
||||
@click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName}}</a>
|
||||
<i
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'd5b28957b5105c805e90a16fd5056a45' : 'a772afab2a6708883335500f3f86e771'"
|
||||
class="icon-download"
|
||||
@@ -597,8 +601,8 @@
|
||||
/>
|
||||
</template>
|
||||
<template v-else>
|
||||
<a :title="file.oldFileName" target="_blank"
|
||||
@click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName | ellipsis }}</a>
|
||||
<a :title="file.oldFileName" target="_blank"
|
||||
@click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName}}</a>
|
||||
<i
|
||||
v-btn-permission="$route.params.pageType === 'INLAND_STAND' ? 'd5b28957b5105c805e90a16fd5056a45' : 'a772afab2a6708883335500f3f86e771'"
|
||||
class="icon-download"
|
||||
@@ -673,6 +677,7 @@
|
||||
v-for="(file, fileIndex) in child.value"
|
||||
:key="fileIndex"
|
||||
class="files-title"
|
||||
style="width: calc(100% - 80px)"
|
||||
>
|
||||
<!-- <span style="cursor: pointer;" @click="openFileInPdf(file.id, file.oldFileName)">|{{file.id}}|</span>-->
|
||||
<!--发布稿、增补件单独设置下载权限-->
|
||||
@@ -1000,6 +1005,8 @@
|
||||
<loading :loading="tableLoading">数据加载中...</loading>
|
||||
</div>
|
||||
<pagination
|
||||
:auto-size="true"
|
||||
:page-size="pageSize7"
|
||||
:page="page7"
|
||||
:total="total7"
|
||||
@pageChange="pageChange7"
|
||||
@@ -1818,6 +1825,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
/* eslint-disable */
|
||||
import PutQuestionButton from '@/components/PutQuestionButton'
|
||||
import CustomSVPPS from '@/components/CustomFormComponents/SVPPS'
|
||||
import CustomSelectArray from '@/components/CustomFormComponents/SelectArray'
|
||||
@@ -1838,6 +1846,13 @@ export default {
|
||||
RelatedTermsSelect
|
||||
},
|
||||
filters: {
|
||||
ellipsis20(value) {
|
||||
if (!value) return ''
|
||||
if (value.length > 20) {
|
||||
return value.slice(0, 20) + '...'
|
||||
}
|
||||
return value
|
||||
},
|
||||
ellipsis(value) {
|
||||
if (!value) return ''
|
||||
if (value.length > 12) {
|
||||
@@ -1898,7 +1913,7 @@ export default {
|
||||
orderBy: '',
|
||||
total7: 0,
|
||||
page7: 1,
|
||||
pageSize7: this.$store.getters.userInfo.configContent,
|
||||
pageSize7: 20,
|
||||
addForm: {
|
||||
title: '',
|
||||
content: '',
|
||||
@@ -2395,7 +2410,7 @@ export default {
|
||||
FormatDate(date) {
|
||||
return moment(date).format('YYYY-MM-DD');
|
||||
},
|
||||
// 将文本状态的id与name对应
|
||||
// 将标准状态的id与name对应
|
||||
setMap(data) {
|
||||
data.forEach(item => {
|
||||
this.$set(this.textStatusMap, item.value, item.label)
|
||||
@@ -2839,6 +2854,7 @@ export default {
|
||||
// 代替标准编号
|
||||
showReplaceStandInfo(item) {
|
||||
this.replaceStandInfoEO.standNumber = item
|
||||
this.replaceStandInfoEO.standType = this.$route.params.pageType=='INLAND_STAND'?'INLAND':'FOREIGN'
|
||||
// this.replaceStandInfoEO.standType = this.sarStandardsInfoEO.standType
|
||||
this.$http.get('sarStandardsInfo/sar-standards-info/queryInfoByStandNum', this.replaceStandInfoEO, {
|
||||
_this: this
|
||||
@@ -3267,6 +3283,14 @@ export default {
|
||||
})
|
||||
},
|
||||
openFileInPdf(attId, oldFileName) {
|
||||
if (this.$route.params.pageType === 'INLAND_STAND' && this.$hasPermission('2d6ab9d465ab73d415194e1ca4313793')) {
|
||||
this.$preview(attId)
|
||||
} else if (this.$route.params.pageType === 'FOREIGN_STAND' && this.$hasPermission('ee684b4a9975f5d8a6dfe898c0332f98')) {
|
||||
this.$preview(attId)
|
||||
} else {
|
||||
this.$message.error('没有在线预览文档权限!')
|
||||
}
|
||||
/*
|
||||
// 判断是否是图片格式,图片格式不预览,直接下载
|
||||
let index1 = oldFileName.lastIndexOf('.')
|
||||
let index2 = oldFileName.length
|
||||
@@ -3389,6 +3413,7 @@ export default {
|
||||
this.$message.error('没有在线预览文档权限!')
|
||||
}
|
||||
}
|
||||
*/
|
||||
if (this.$route.params.pageType === 'INLAND_STAND') {
|
||||
let standNumber = this.sarStandardsInfoEO.standSortShow + ' ' + this.sarStandardsInfoEO.standNumber + '-' + this.sarStandardsInfoEO.standYear || this.sarStandardsInfoEO.standSort + ' ' + this.sarStandardsInfoEO.standNumber
|
||||
this.$http.get('sarStandardsInfo/sar-standards-info/logInvalid', {
|
||||
@@ -4026,7 +4051,7 @@ export default {
|
||||
this.emergyKindOptions = res.data.ENERGYTYPES
|
||||
this.requestOptions = res.data.REQUESTTYPE
|
||||
this.BZFGGXOUIUJ = res.data.BZFGGXOUIUJ // 企标覆盖关系
|
||||
this.setMap(res.data.WBZTCLASS) // 文本状态
|
||||
this.setMap(res.data.WBZTCLASS) // 标准状态
|
||||
this.setMap(res.data.SARPROPERTY) // 标准性质
|
||||
}, e => {
|
||||
})
|
||||
@@ -4214,9 +4239,12 @@ export default {
|
||||
a {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
width: calc(~'100% - 40px');
|
||||
white-space: nowrap;
|
||||
display: block;
|
||||
white-space: break-spaces;
|
||||
word-break: break-all;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4320,7 +4348,8 @@ export default {
|
||||
|
||||
.other-standard-details {
|
||||
padding: 15px 30px 0;
|
||||
width: 1200px;
|
||||
width: 85%;
|
||||
min-width: 1200px;
|
||||
margin: 0 auto;
|
||||
height: 100%;
|
||||
|
||||
@@ -4610,7 +4639,7 @@ export default {
|
||||
width: calc(~'100% - 225px');
|
||||
|
||||
& > .files-title {
|
||||
width: calc(~'100% - 120px');
|
||||
width: calc(~'100% - 10px');
|
||||
//报批稿撑开
|
||||
//min-height: 50px;
|
||||
//line-height: 50px;
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="fileTypeShow"
|
||||
label="文本状态"
|
||||
label="标准状态"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
|
||||
@@ -261,7 +261,7 @@
|
||||
<p class="half">
|
||||
<label style=" margin-right: 150px;"
|
||||
title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。"
|
||||
>文本状态</label>
|
||||
>标准状态</label>
|
||||
<span>{{ textStatusMap[sarStandardsInfoEO.textStatus] || '-' }}</span>
|
||||
</p>
|
||||
<p class="half"><label style=" margin-right: 150px;">发布日期</label><span>{{
|
||||
@@ -2189,7 +2189,7 @@ export default {
|
||||
FormatDate(date) {
|
||||
return moment(date).format('YYYY-MM-DD');
|
||||
},
|
||||
// 将文本状态的id与name对应
|
||||
// 将标准状态的id与name对应
|
||||
setMap(data) {
|
||||
data.forEach(item => {
|
||||
this.$set(this.textStatusMap, item.value, item.label)
|
||||
@@ -3758,7 +3758,7 @@ export default {
|
||||
this.emergyKindOptions = res.data.ENERGYTYPES
|
||||
this.requestOptions = res.data.REQUESTTYPE
|
||||
this.BZFGGXOUIUJ = res.data.BZFGGXOUIUJ // 企标覆盖关系
|
||||
this.setMap(res.data.WBZTCLASS) // 文本状态
|
||||
this.setMap(res.data.WBZTCLASS) // 标准状态
|
||||
this.setMap(res.data.SARPROPERTY) // 标准性质
|
||||
}, e => {
|
||||
})
|
||||
|
||||
@@ -8,13 +8,16 @@
|
||||
<template slot="title">
|
||||
<div class="modular-header">
|
||||
<div class="modular-header-title">
|
||||
<i class="icon-modular-title"/><span>基础信息</span>
|
||||
<i class="icon-modular-title" /><span>基础信息</span>
|
||||
</div>
|
||||
<div class="modular-header-btn">
|
||||
<el-button class="relation-btn"
|
||||
icon="icon-relation"
|
||||
@click.stop="relateEvent()"
|
||||
>更新记录</el-button>
|
||||
<el-button
|
||||
class="relation-btn"
|
||||
icon="icon-relation"
|
||||
@click.stop="relateEvent()"
|
||||
>
|
||||
更新记录
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -31,10 +34,10 @@
|
||||
<label style=" margin-right: 164px;line-height: 44px">协议</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.agreementList && form.agreementList.length > 0">
|
||||
<p class="file-item" v-for="file in form.agreementList">
|
||||
<p v-for="file in form.agreementList" class="file-item">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)" />
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
@@ -47,7 +50,7 @@
|
||||
<template slot="title">
|
||||
<div class="modular-header">
|
||||
<div class="modular-header-title">
|
||||
<i class="icon-modular-title"/><span>课题组会议</span>
|
||||
<i class="icon-modular-title" /><span>课题组会议</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -64,7 +67,7 @@
|
||||
<template slot="title">
|
||||
<div class="modular-header">
|
||||
<div class="modular-header-title">
|
||||
<i class="icon-modular-title"/><span>课题组资料</span>
|
||||
<i class="icon-modular-title" /><span>课题组资料</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -73,10 +76,10 @@
|
||||
<label style=" margin-right: 132px;line-height: 44px">研究方案</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.researchPlanList && form.researchPlanList.length > 0">
|
||||
<p class="file-item" v-for="file in form.researchPlanList">
|
||||
<p v-for="file in form.researchPlanList" class="file-item">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)" />
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
@@ -86,10 +89,10 @@
|
||||
<label style=" margin-right: 132px;line-height: 44px">研究成果</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.researchFindingsList && form.researchFindingsList.length > 0">
|
||||
<p class="file-item" v-for="file in form.researchFindingsList">
|
||||
<p v-for="file in form.researchFindingsList" class="file-item">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)" />
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
@@ -99,10 +102,10 @@
|
||||
<label style=" margin-right: 164px;line-height: 44px">其他</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.researchGroupOtherList && form.researchGroupOtherList.length > 0">
|
||||
<p class="file-item" v-for="file in form.researchGroupOtherList">
|
||||
<p v-for="file in form.researchGroupOtherList" class="file-item">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)" />
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
@@ -112,10 +115,10 @@
|
||||
<label style=" margin-right: 132px;line-height: 44px">会议资料</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.conferenceMaterialsList && form.conferenceMaterialsList.length > 0">
|
||||
<p class="file-item" v-for="file in form.conferenceMaterialsList">
|
||||
<p v-for="file in form.conferenceMaterialsList" class="file-item">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)" />
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
@@ -128,7 +131,7 @@
|
||||
<template slot="title">
|
||||
<div class="modular-header">
|
||||
<div class="modular-header-title">
|
||||
<i class="icon-modular-title"/><span>课题组联系方式</span>
|
||||
<i class="icon-modular-title" /><span>课题组联系方式</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -145,7 +148,7 @@
|
||||
<template slot="title">
|
||||
<div class="modular-header">
|
||||
<div class="modular-header-title">
|
||||
<i class="icon-modular-title"/><span>内部资料</span>
|
||||
<i class="icon-modular-title" /><span>内部资料</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -154,10 +157,10 @@
|
||||
<label style=" margin-right: 132px;line-height: 44px">立项报告</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.insideProjectProposalReportList && form.insideProjectProposalReportList.length > 0">
|
||||
<p class="file-item" v-for="file in form.insideProjectProposalReportList">
|
||||
<p v-for="file in form.insideProjectProposalReportList" class="file-item">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)" />
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
@@ -167,10 +170,10 @@
|
||||
<label style=" margin-right: 132px;line-height: 44px">研究方案</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.insideResearchPlanList && form.insideResearchPlanList.length > 0">
|
||||
<p class="file-item" v-for="file in form.insideResearchPlanList">
|
||||
<p v-for="file in form.insideResearchPlanList" class="file-item">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)" />
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
@@ -180,10 +183,10 @@
|
||||
<label style=" margin-right: 132px;line-height: 44px">会议资料</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.insideConferenceMaterialsList && form.insideConferenceMaterialsList.length > 0">
|
||||
<p class="file-item" v-for="file in form.insideConferenceMaterialsList">
|
||||
<p v-for="file in form.insideConferenceMaterialsList" class="file-item">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)" />
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
@@ -193,10 +196,10 @@
|
||||
<label style=" margin-right: 132px;line-height: 44px">研究成果</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.insideResearchFindingsList && form.insideResearchFindingsList.length > 0">
|
||||
<p class="file-item" v-for="file in form.insideResearchFindingsList">
|
||||
<p v-for="file in form.insideResearchFindingsList" class="file-item">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)" />
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
@@ -206,10 +209,10 @@
|
||||
<label style=" margin-right: 164px;line-height: 44px">其他</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.insideOtherList && form.insideOtherList.length > 0">
|
||||
<p class="file-item" v-for="file in form.insideOtherList">
|
||||
<p v-for="file in form.insideOtherList" class="file-item">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
<i title="下载" class="icon-download" @click="downloadFile(file.id)" />
|
||||
<i title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
@@ -222,7 +225,7 @@
|
||||
<template slot="title">
|
||||
<div class="modular-header">
|
||||
<div class="modular-header-title">
|
||||
<i class="icon-modular-title"/><span>内部联系方式</span>
|
||||
<i class="icon-modular-title" /><span>内部联系方式</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -239,19 +242,20 @@
|
||||
</div>
|
||||
<!-- 更新LOG -->
|
||||
<el-dialog
|
||||
title="更新记录"
|
||||
:visible.sync="relateDialog"
|
||||
width="60%"
|
||||
class="relateClass"
|
||||
:before-close="relateDialogClose">
|
||||
title="更新记录"
|
||||
:visible.sync="relateDialog"
|
||||
width="60%"
|
||||
class="relateClass"
|
||||
:before-close="relateDialogClose"
|
||||
>
|
||||
<div
|
||||
v-for="(item, index) in relateNowList"
|
||||
:key="index"
|
||||
v-if="relateNowList"
|
||||
style="margin-bottom: 10px;line-height: 20px"
|
||||
v-for="(item, index) in relateNowList"
|
||||
v-if="relateNowList"
|
||||
:key="index"
|
||||
style="margin-bottom: 10px;line-height: 20px"
|
||||
>
|
||||
{{index+1}}. {{item.creationUserName}} {{item.creationTime}} {{item.content}}
|
||||
<div v-if="relateNowList.length >1"><el-divider></el-divider></div>
|
||||
{{ index+1 }}. {{ item.creationUserName }} {{ item.creationTime }} {{ item.content }}
|
||||
<div v-if="relateNowList.length >1"><el-divider /></div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="relateDialogClose()">关 闭</el-button>
|
||||
@@ -262,10 +266,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getBusStandFileByAttId } from 'api/process'
|
||||
|
||||
export default {
|
||||
name: "policyTopicsDetail",
|
||||
name: 'PolicyTopicsDetail',
|
||||
data () {
|
||||
return {
|
||||
url: {
|
||||
@@ -273,14 +275,14 @@ export default {
|
||||
getLogList: 'lawss/sarUpdLog/getLogList', // 更新记录
|
||||
},
|
||||
form: {},
|
||||
activeNames: ['1', '2', '3'],
|
||||
activeNames: [ '1', '2', '3' ],
|
||||
// 更新记录
|
||||
relateDialog: false,
|
||||
relateNowList: [],
|
||||
loading: false
|
||||
}
|
||||
},
|
||||
created() {
|
||||
created () {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
@@ -298,7 +300,7 @@ export default {
|
||||
res.data.insideContactInformationList.forEach((item, index) => {
|
||||
activeNames.push('insideContactInformationList' + index)
|
||||
})
|
||||
this.activeNames = [...this.activeNames, ...activeNames]
|
||||
this.activeNames = [ ...this.activeNames, ...activeNames ]
|
||||
this.$set(this, 'form', res.data)
|
||||
}
|
||||
})
|
||||
@@ -314,9 +316,9 @@ export default {
|
||||
if (res.ok && res.data.length > 0) {
|
||||
this.relateDialog = true
|
||||
const relateList = res.data
|
||||
var i
|
||||
let i
|
||||
for (i = 0; i < relateList.length; i++) {
|
||||
let obj = {creationUserName: '', creationTime: '', content: ''}
|
||||
const obj = { creationUserName: '', creationTime: '', content: '' }
|
||||
obj.creationUserName = relateList[i].creationUserName
|
||||
obj.creationTime = relateList[i].creationTime
|
||||
obj.content = relateList[i].content
|
||||
@@ -349,21 +351,6 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
getBusStandFileByAttId(attId) {
|
||||
return new Promise((resolve, reject) => {
|
||||
getBusStandFileByAttId({
|
||||
attId
|
||||
}).then(res => {
|
||||
if (res.ok) {
|
||||
resolve(res.data)
|
||||
} else {
|
||||
reject()
|
||||
}
|
||||
}).catch(e => {
|
||||
reject(e)
|
||||
})
|
||||
})
|
||||
},
|
||||
openFileInPdf (attId, fileName) {
|
||||
this.$preview(attId)
|
||||
},
|
||||
|
||||
@@ -8,27 +8,32 @@
|
||||
<template slot="title">
|
||||
<div class="modular-header">
|
||||
<div class="modular-header-title">
|
||||
<i class="icon-modular-title"/><span>基础信息</span>
|
||||
<i class="icon-modular-title" /><span>基础信息</span>
|
||||
</div>
|
||||
<div class="modular-header-btn">
|
||||
<el-button v-if="form.collectId"
|
||||
@click.stop="collectClick(form.collectId)"
|
||||
title="取消收藏"
|
||||
class="collection-btn"
|
||||
icon="el-icon-star-on"
|
||||
:loading="isSubmit"
|
||||
></el-button>
|
||||
<el-button v-else
|
||||
@click.stop="collectClick()"
|
||||
title="收藏"
|
||||
class="collection-btn"
|
||||
icon="el-icon-star-off"
|
||||
:loading="isSubmit"
|
||||
></el-button>
|
||||
<el-button class="relation-btn"
|
||||
icon="icon-relation"
|
||||
@click.stop="relateEvent()"
|
||||
>更新记录</el-button>
|
||||
<el-button
|
||||
v-if="form.collectId"
|
||||
title="取消收藏"
|
||||
class="collection-btn"
|
||||
icon="el-icon-star-on"
|
||||
:loading="isSubmit"
|
||||
@click.stop="collectClick(form.collectId)"
|
||||
/>
|
||||
<el-button
|
||||
v-else
|
||||
title="收藏"
|
||||
class="collection-btn"
|
||||
icon="el-icon-star-off"
|
||||
:loading="isSubmit"
|
||||
@click.stop="collectClick()"
|
||||
/>
|
||||
<el-button
|
||||
class="relation-btn"
|
||||
icon="icon-relation"
|
||||
@click.stop="relateEvent()"
|
||||
>
|
||||
更新记录
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -46,10 +51,10 @@
|
||||
<label style=" margin-right: 156px;line-height: 44px">资料文件</label>
|
||||
<div style="min-height: 44px;padding: 8px 0;">
|
||||
<template v-if="form.informationFileList && form.informationFileList.length > 0">
|
||||
<p class="file-item" v-for="file in form.informationFileList">
|
||||
<p v-for="file in form.informationFileList" class="file-item">
|
||||
<a class="file-title" target="_blank" :title="file.oldFileName" @click="openFileInPdf(file.id, file.oldFileName)">{{ file.oldFileName }}</a>
|
||||
<i v-if="form.downloadable" title="下载" class="icon-download" @click="downloadFile(file.id)"></i>
|
||||
<i v-if="form.downloadable" title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)"></i>
|
||||
<i v-if="form.downloadable" title="下载" class="icon-download" @click="downloadFile(file.id)" />
|
||||
<i v-if="form.downloadable" title="下载带水印" class="icon-download2" @click="downloadFileByWater(file.id, file.fileSuffix)" />
|
||||
</p>
|
||||
</template>
|
||||
<p v-else>-</p>
|
||||
@@ -64,19 +69,20 @@
|
||||
</div>
|
||||
<!-- 更新LOG -->
|
||||
<el-dialog
|
||||
title="更新记录"
|
||||
:visible.sync="relateDialog"
|
||||
width="60%"
|
||||
class="relateClass"
|
||||
:before-close="relateDialogClose">
|
||||
title="更新记录"
|
||||
:visible.sync="relateDialog"
|
||||
width="60%"
|
||||
class="relateClass"
|
||||
:before-close="relateDialogClose"
|
||||
>
|
||||
<div
|
||||
v-for="(item, index) in relateNowList"
|
||||
:key="index"
|
||||
v-if="relateNowList"
|
||||
style="margin-bottom: 10px;line-height: 20px"
|
||||
v-for="(item, index) in relateNowList"
|
||||
v-if="relateNowList"
|
||||
:key="index"
|
||||
style="margin-bottom: 10px;line-height: 20px"
|
||||
>
|
||||
{{index+1}}. {{item.creationUserName}} {{item.creationTime}} {{item.content}}
|
||||
<div v-if="relateNowList.length >1"><el-divider></el-divider></div>
|
||||
{{ index+1 }}. {{ item.creationUserName }} {{ item.creationTime }} {{ item.content }}
|
||||
<div v-if="relateNowList.length >1"><el-divider /></div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="relateDialogClose()">关 闭</el-button>
|
||||
@@ -87,10 +93,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getBusStandFileByAttId } from 'api/process'
|
||||
|
||||
export default {
|
||||
name: "regulatoryMaterialsDetail",
|
||||
name: 'RegulatoryMaterialsDetail',
|
||||
data () {
|
||||
return {
|
||||
url: {
|
||||
@@ -100,7 +104,7 @@ export default {
|
||||
updateByUserId: 'person/personCollect/updateByUserId', // 取消收藏
|
||||
},
|
||||
form: {},
|
||||
activeNames: ['1'],
|
||||
activeNames: [ '1' ],
|
||||
isSubmit: false,
|
||||
|
||||
// 更新记录
|
||||
@@ -109,7 +113,7 @@ export default {
|
||||
loading: false,
|
||||
}
|
||||
},
|
||||
created() {
|
||||
created () {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
@@ -117,7 +121,7 @@ export default {
|
||||
return (userStr && userStr !== '') ? userStr.split(',').map(item => item.split('(')[1].split(')')[0]) : []
|
||||
},
|
||||
// 下载权限
|
||||
hasDownLoadPermission() {
|
||||
hasDownLoadPermission () {
|
||||
const userId = this.$store.getters.userInfo.userId
|
||||
// 未设置可下载者 创建人和审批人可下载
|
||||
if (!this.form.downloadableBy || this.form.downloadableBy === '') {
|
||||
@@ -141,7 +145,7 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
removeCommasAtStartAndEnd(inputString) {
|
||||
removeCommasAtStartAndEnd (inputString) {
|
||||
// 检查字符串是否以逗号开头
|
||||
if (inputString.charAt(0) === ',') {
|
||||
inputString = inputString.slice(1); // 去除开头的逗号
|
||||
@@ -163,7 +167,7 @@ export default {
|
||||
// 取消收藏
|
||||
this.$http._put(this.url.updateByUserId, {
|
||||
id: collectId
|
||||
},{
|
||||
}, {
|
||||
_this: this,
|
||||
loading: 'isSubmit'
|
||||
}).then(res => {
|
||||
@@ -171,7 +175,7 @@ export default {
|
||||
})
|
||||
} else {
|
||||
// 加收藏
|
||||
let personCollect = {
|
||||
const personCollect = {
|
||||
userId: this.$store.getters.userInfo.userId,
|
||||
collectResId: this.form.id,
|
||||
collectTitle: this.form.name,
|
||||
@@ -198,9 +202,9 @@ export default {
|
||||
if (res.ok && res.data.length > 0) {
|
||||
this.relateDialog = true
|
||||
const relateList = res.data
|
||||
var i
|
||||
let i
|
||||
for (i = 0; i < relateList.length; i++) {
|
||||
let obj = {creationUserName: '', creationTime: '', content: ''}
|
||||
const obj = { creationUserName: '', creationTime: '', content: '' }
|
||||
obj.creationUserName = relateList[i].creationUserName
|
||||
obj.creationTime = relateList[i].creationTime
|
||||
obj.content = relateList[i].content
|
||||
@@ -233,21 +237,6 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
getBusStandFileByAttId(attId) {
|
||||
return new Promise((resolve, reject) => {
|
||||
getBusStandFileByAttId({
|
||||
attId
|
||||
}).then(res => {
|
||||
if (res.ok) {
|
||||
resolve(res.data)
|
||||
} else {
|
||||
reject()
|
||||
}
|
||||
}).catch(e => {
|
||||
reject(e)
|
||||
})
|
||||
})
|
||||
},
|
||||
openFileInPdf (attId, fileName) {
|
||||
this.$preview(attId)
|
||||
},
|
||||
|
||||
@@ -1,61 +1,72 @@
|
||||
<!-- 标准发布 -->
|
||||
<template>
|
||||
<div class="release">
|
||||
<!-- <ul>-->
|
||||
<!-- <li v-for="item in standardReleaseList" :key="item.id" class="time-title" >-->
|
||||
<!-- <div style="height: 18px;">-->
|
||||
<!-- <a @click="handlePreview(item)" style="color: #333333" class="table-jump">{{ item.standName }}</a>-->
|
||||
<!-- <span class="time">{{item.issueTime ? $moment(item.issueTime).format('YYYY-MM-DD') : '' }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="standardReleaseList"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
style="cursor:pointer;"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
align="center"
|
||||
width="55">
|
||||
<template slot-scope="{scope, column, $index}">
|
||||
{{ ($index + 1) + (page - 1) * pageSize }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="200"
|
||||
label="标准编号">
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standName"
|
||||
label="标准名称">
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standardName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="120"
|
||||
label="发布时间">
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.releaseDate ? $moment(scope.row.releaseDate).format('YYYY-MM-DD') : '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="more" v-if="!pageVerify" @click="togo">更多 ⋙</div>
|
||||
<loading :loading="loading">加载中...</loading>
|
||||
<pagination
|
||||
v-if="pageVerify"
|
||||
style="position: static;"
|
||||
:page="page"
|
||||
:total="total"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"></pagination>
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="standardReleaseList"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
style="cursor:pointer;"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||
>
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
align="center"
|
||||
width="55"
|
||||
>
|
||||
<template slot-scope="{scope, column, $index}">
|
||||
{{ ($index + 1) + (page - 1) * pageSize }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="200"
|
||||
label="标准编号"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standName"
|
||||
label="标准名称"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span style="display: flex;align-items: center" @click="handlePreview(scope.row)">
|
||||
<span>{{ scope.row.standardName }}</span>
|
||||
<img v-if="scope.row.threeDaysNew" src="/static/images/new.png" style="width: 30px;margin-left: 5px">
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="120"
|
||||
label="发布时间"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.releaseDate ? $moment(scope.row.releaseDate).format('YYYY-MM-DD') : '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="120"
|
||||
v-if="messageType == 'GNBZFG'"
|
||||
prop="putTime"
|
||||
label="实施时间"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.putTime }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div v-if="!pageVerify" class="more" @click="togo">更多 ⋙</div>
|
||||
<loading :loading="loading">加载中...</loading>
|
||||
<pagination
|
||||
v-if="pageVerify"
|
||||
style="position: static;"
|
||||
:page="page"
|
||||
:total="total"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -64,48 +75,52 @@ export default {
|
||||
name: 'Release',
|
||||
components: {},
|
||||
mixins: [],
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
pageVerify: false,
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
total: 0,
|
||||
putTime: '',
|
||||
standardReleaseList: [], //标准发布数据
|
||||
}
|
||||
},
|
||||
props: {
|
||||
messageType: {
|
||||
type: String,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
loading: false,
|
||||
pageVerify: false,
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
putTime: '',
|
||||
standardReleaseList: [], // 标准发布数据
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
watch: {},
|
||||
mounted() {
|
||||
mounted () {
|
||||
this.getDate()
|
||||
this.getAdvice()
|
||||
// this.addDate()
|
||||
},
|
||||
methods: {
|
||||
pageChange(page) {
|
||||
this.page = page
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
},
|
||||
// 分页每页显示数改变后方法
|
||||
pageSizeChange(pageSize) {
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
// 此处需要调用接口,修改个人配置
|
||||
},
|
||||
togo () {
|
||||
this.$router.push({path:'/release2'})
|
||||
},
|
||||
pageChange (page) {
|
||||
this.page = page
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
},
|
||||
// 分页每页显示数改变后方法
|
||||
pageSizeChange (pageSize) {
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
// 此处需要调用接口,修改个人配置
|
||||
},
|
||||
togo () {
|
||||
this.$router.push({
|
||||
path: '/release2',
|
||||
query: {
|
||||
messageType: this.messageType
|
||||
}
|
||||
})
|
||||
},
|
||||
// 点击查看
|
||||
handlePreview (item) {
|
||||
let routeUrl = this.$router.resolve({
|
||||
const routeUrl = this.$router.resolve({
|
||||
name: 'OtherStandardDetails',
|
||||
params: {
|
||||
id: item.standardId,
|
||||
@@ -114,32 +129,37 @@ export default {
|
||||
})
|
||||
window.open(routeUrl.href, '_blank')
|
||||
},
|
||||
//截取时间
|
||||
// 截取时间
|
||||
getDate (date) {
|
||||
return date != null ? date.substring(0, date.indexOf(' ')) : ''
|
||||
},
|
||||
//获取数据
|
||||
getAdvice() {
|
||||
// 获取数据
|
||||
getAdvice () {
|
||||
this.loading = true
|
||||
this.$http.get("/lawss/NewsFeed/getNewsFeed", {
|
||||
// messageType: 'GNWBZFG',
|
||||
messageType: this.messageType,
|
||||
page: this.page,
|
||||
pageSize: this.pageSize
|
||||
}, {
|
||||
_this: this,loading: 'loading'
|
||||
}, res => {
|
||||
this.standardReleaseList = res.data.records
|
||||
this.total = res.data.total
|
||||
this.loading = false
|
||||
this.$http.get('/lawss/NewsFeed/getNewsFeed', {
|
||||
messageType: this.messageType,
|
||||
page: this.page,
|
||||
pageSize: this.pageSize
|
||||
}, {
|
||||
_this: this, loading: 'loading'
|
||||
}, res => {
|
||||
this.standardReleaseList = res.data.records
|
||||
this.total = res.data.total
|
||||
this.loading = false
|
||||
if (res.data && res.data.records && res.data.records.length > 0) {
|
||||
const isNew = res.data.records[0].threeDaysNew || false
|
||||
this.$emit('isNew', isNew)
|
||||
}
|
||||
}, e => {
|
||||
this.loading = false
|
||||
this.standardReleaseList = []
|
||||
this.total = 0
|
||||
this.loading = false
|
||||
this.standardReleaseList = []
|
||||
this.total = 0
|
||||
})
|
||||
},
|
||||
checkTime (time) {
|
||||
return this.$moment(time.slice(0, 10)).diff(this.$moment(), 'day') > -3
|
||||
},
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -1,62 +1,63 @@
|
||||
<!-- 标准发布 -->
|
||||
<template>
|
||||
<div class="release">
|
||||
<!-- <ul>-->
|
||||
<!-- <li v-for="item in standardReleaseList" :key="item.id" class="time-title" >-->
|
||||
<!-- <div style="height: 18px;">-->
|
||||
<!-- <a @click="handlePreview(item)" style="color: #333333" class="table-jump">{{ item.standName }}</a>-->
|
||||
<!-- <span class="time">{{item.issueTime ? $moment(item.issueTime).format('YYYY-MM-DD') : '' }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="standardReleaseList"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
height="90%"
|
||||
style="width: 100%; flex: auto;"
|
||||
class="drag-table"
|
||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
|
||||
fontWeight: 'bold', height: '48px'}">
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
align="center"
|
||||
width="55">
|
||||
<template slot-scope="{scope, column, $index}">
|
||||
{{ ($index + 1) + (page - 1) * pageSize }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="200"
|
||||
label="标准编号">
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standName"
|
||||
label="标准名称">
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standardName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="120"
|
||||
label="发布时间">
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.releaseDate ? $moment(scope.row.releaseDate).format('YYYY-MM-DD') : '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<loading :loading="loading">加载中...</loading>
|
||||
<pagination
|
||||
style="position: static;"
|
||||
:page="page"
|
||||
:total="total"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"></pagination>
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="standardReleaseList"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
height="90%"
|
||||
style="width: 100%; flex: auto;"
|
||||
class="drag-table"
|
||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
|
||||
fontWeight: 'bold', height: '48px'}"
|
||||
>
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
align="center"
|
||||
width="55"
|
||||
>
|
||||
<template slot-scope="{scope, column, $index}">
|
||||
{{ ($index + 1) + (page - 1) * pageSize }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="200"
|
||||
label="标准编号"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standName"
|
||||
label="标准名称"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span style="display: flex;align-items: center" @click="handlePreview(scope.row)">
|
||||
{{ scope.row.standardName }}
|
||||
<img v-if="scope.row.threeDaysNew" src="/static/images/new.png" style="width: 30px;margin-left: 5px">
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="120"
|
||||
label="发布时间"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.releaseDate ? $moment(scope.row.releaseDate).format('YYYY-MM-DD') : '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<loading :loading="loading">加载中...</loading>
|
||||
<pagination
|
||||
style="position: static;"
|
||||
:page="page"
|
||||
:total="total"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -65,48 +66,47 @@ export default {
|
||||
name: 'Release',
|
||||
components: {},
|
||||
mixins: [],
|
||||
data() {
|
||||
data () {
|
||||
return {
|
||||
loading: false,
|
||||
pageVerify: false,
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
total: 0,
|
||||
putTime: '',
|
||||
standardReleaseList: [], //标准发布数据
|
||||
loading: false,
|
||||
pageVerify: false,
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
total: 0,
|
||||
putTime: '',
|
||||
standardReleaseList: [], // 标准发布数据
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
watch: {},
|
||||
mounted() {
|
||||
mounted () {
|
||||
this.getDate()
|
||||
this.getAdvice()
|
||||
// this.addDate()
|
||||
},
|
||||
methods: {
|
||||
pageChange(page) {
|
||||
this.page = page
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
},
|
||||
// 分页每页显示数改变后方法
|
||||
pageSizeChange(pageSize) {
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
// 此处需要调用接口,修改个人配置
|
||||
},
|
||||
togo () {
|
||||
if(this.total && this.total > 10){
|
||||
this.pageVerify = true
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
}else {
|
||||
this.pageVerify = false
|
||||
}
|
||||
this.getAdvice()
|
||||
},
|
||||
pageChange (page) {
|
||||
this.page = page
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
},
|
||||
// 分页每页显示数改变后方法
|
||||
pageSizeChange (pageSize) {
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
// 此处需要调用接口,修改个人配置
|
||||
},
|
||||
togo () {
|
||||
if(this.total && this.total > 10) {
|
||||
this.pageVerify = true
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
}else {
|
||||
this.pageVerify = false
|
||||
}
|
||||
this.getAdvice()
|
||||
},
|
||||
// 点击查看
|
||||
handlePreview (item) {
|
||||
let routeUrl = this.$router.resolve({
|
||||
const routeUrl = this.$router.resolve({
|
||||
name: 'OtherStandardDetails',
|
||||
params: {
|
||||
id: item.standardId,
|
||||
@@ -115,27 +115,27 @@ export default {
|
||||
})
|
||||
window.open(routeUrl.href, '_blank')
|
||||
},
|
||||
//截取时间
|
||||
// 截取时间
|
||||
getDate (date) {
|
||||
return date != null ? date.substring(0, date.indexOf(' ')) : ''
|
||||
},
|
||||
//获取数据
|
||||
getAdvice() {
|
||||
// 获取数据
|
||||
getAdvice () {
|
||||
this.loading = true
|
||||
this.$http.get("/lawss/NewsFeed/getNewsFeed", {
|
||||
messageType: 'GNWBZFG',
|
||||
page: this.page,
|
||||
pageSize: this.pageSize
|
||||
}, {
|
||||
_this: this,loading: 'loading'
|
||||
}, res => {
|
||||
this.standardReleaseList = res.data.records
|
||||
this.total = res.data.total
|
||||
this.loading = false
|
||||
this.$http.get('/lawss/NewsFeed/getNewsFeed', {
|
||||
messageType: this.$route.query.messageType,
|
||||
page: this.page,
|
||||
pageSize: this.pageSize
|
||||
}, {
|
||||
_this: this, loading: 'loading'
|
||||
}, res => {
|
||||
this.standardReleaseList = res.data.records
|
||||
this.total = res.data.total
|
||||
this.loading = false
|
||||
}, e => {
|
||||
this.loading = false
|
||||
this.standardReleaseList = []
|
||||
this.total = 0
|
||||
this.loading = false
|
||||
this.standardReleaseList = []
|
||||
this.total = 0
|
||||
})
|
||||
},
|
||||
},
|
||||
@@ -152,12 +152,12 @@ export default {
|
||||
font-size: 13px;
|
||||
}
|
||||
/deep/.more {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 2px;
|
||||
font-size: 15px;
|
||||
float: right;
|
||||
color: #4788c0;
|
||||
//position: absolute;
|
||||
//right: 0;
|
||||
//bottom: 2px;
|
||||
//font-size: 15px;
|
||||
//float: right;
|
||||
//color: #4788c0;
|
||||
&:hover {
|
||||
color: #3a8ee6;
|
||||
cursor: pointer;
|
||||
|
||||
@@ -1,64 +1,78 @@
|
||||
<!-- 企标发布 -->
|
||||
<template>
|
||||
<div class="release">
|
||||
<!-- <ul>-->
|
||||
<!-- <li v-for="item in standardReleaseList" :key="item.id" class="time-title" >-->
|
||||
<!-- <div style="height: 18px;">-->
|
||||
<!-- <a @click="handlePreview(item)" style="color: #333333" class="table-jump">{{ item.standName }}</a>-->
|
||||
<!-- <span class="time">{{item.issueTime ? $moment(item.issueTime).format('YYYY-MM-DD') : '' }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="standardReleaseList"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
style="cursor:pointer;"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
align="center"
|
||||
width="55">
|
||||
<template slot-scope="{scope, column, $index}">
|
||||
{{ ($index + 1) + (page - 1) * pageSize }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="200"
|
||||
label="标准编号">
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standName"
|
||||
label="标准名称">
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)" style="display: flex;align-items: center">
|
||||
<span>{{ scope.row.standardName }}</span>
|
||||
<img v-if="checkTime(scope.row.releaseDate)" src="/static/images/new.png" style="width: 30px;margin-left: 5px">
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="120"
|
||||
label="发布时间">
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.releaseDate ? $moment(scope.row.releaseDate).format('YYYY-MM-DD') : '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="more" v-if="!pageVerify" @click="togo">更多 ⋙</div>
|
||||
<loading :loading="loading">加载中...</loading>
|
||||
<pagination
|
||||
v-if="pageVerify"
|
||||
style="position: static;"
|
||||
:page="page"
|
||||
:total="total"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"></pagination>
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="standardReleaseList"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
style="cursor:pointer;"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||
>
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
align="center"
|
||||
width="55"
|
||||
>
|
||||
<template slot-scope="{scope, column, $index}">
|
||||
{{ ($index + 1) + (page - 1) * pageSize }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="200"
|
||||
label="标准编号"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standName"
|
||||
label="标准名称"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span style="display: flex;align-items: center" @click="handlePreview(scope.row)">
|
||||
<span>{{ scope.row.standardName }}</span>
|
||||
<img v-if="scope.row.threeDaysNew" src="/static/images/new.png" style="width: 30px;margin-left: 5px">
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="150"
|
||||
label="代替标准号"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.dtbzh }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="120"
|
||||
label="发布时间"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.releaseDate ? $moment(scope.row.releaseDate).format('YYYY-MM-DD') : '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="120"
|
||||
label="实施时间"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.putTime ? $moment(scope.row.putTime).format('YYYY-MM-DD') : '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div v-if="!pageVerify" class="more" @click="togo">更多 ⋙</div>
|
||||
<loading :loading="loading">加载中...</loading>
|
||||
<pagination
|
||||
v-if="pageVerify"
|
||||
style="position: static;"
|
||||
:page="page"
|
||||
:total="total"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -68,78 +82,81 @@ export default {
|
||||
name: 'ReleaseBuss',
|
||||
components: {},
|
||||
mixins: [],
|
||||
data() {
|
||||
data () {
|
||||
return {
|
||||
loading: false,
|
||||
pageVerify: false,
|
||||
page: 1,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
putTime: '',
|
||||
standardReleaseList: [], //标准发布数据
|
||||
standardReleaseList: [], // 标准发布数据
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
watch: {},
|
||||
mounted() {
|
||||
mounted () {
|
||||
this.getDate()
|
||||
this.getAdvice()
|
||||
// this.addDate()
|
||||
},
|
||||
methods: {
|
||||
checkTime (time) {
|
||||
return moment(time.slice(0,10)).diff(moment(), 'day') > -3
|
||||
},
|
||||
pageChange(page) {
|
||||
this.page = page
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
},
|
||||
// 分页每页显示数改变后方法
|
||||
pageSizeChange(pageSize) {
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
// 此处需要调用接口,修改个人配置
|
||||
},
|
||||
togo () {
|
||||
this.$router.push({path:'/releaseBuss2'})
|
||||
},
|
||||
checkTime (time) {
|
||||
return moment(time.slice(0, 10)).diff(moment(), 'day') > -3
|
||||
},
|
||||
pageChange (page) {
|
||||
this.page = page
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
},
|
||||
// 分页每页显示数改变后方法
|
||||
pageSizeChange (pageSize) {
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
// 此处需要调用接口,修改个人配置
|
||||
},
|
||||
togo () {
|
||||
this.$router.push({ path: '/releaseBuss2' })
|
||||
},
|
||||
// 点击查看
|
||||
handlePreview (item) {
|
||||
let routeUrl = this.$router.resolve({
|
||||
name: 'OtherBussStandardDetails',
|
||||
params: {
|
||||
id: item.standardId,
|
||||
pageType: 'BUSINESS_STAND'
|
||||
}
|
||||
})
|
||||
window.open(routeUrl.href, '_blank')
|
||||
const routeUrl = this.$router.resolve({
|
||||
name: 'OtherBussStandardDetails',
|
||||
params: {
|
||||
id: item.standardId,
|
||||
pageType: 'BUSINESS_STAND'
|
||||
}
|
||||
})
|
||||
window.open(routeUrl.href, '_blank')
|
||||
},
|
||||
//截取时间
|
||||
// 截取时间
|
||||
getDate (date) {
|
||||
return date != null ? date.substring(0, date.indexOf(' ')) : ''
|
||||
},
|
||||
//获取数据
|
||||
getAdvice() {
|
||||
this.loading = true
|
||||
this.$http.get("/lawss/NewsFeed/getNewsFeed", {
|
||||
messageType: 'QYBZFB',
|
||||
page: this.page,
|
||||
pageSize: this.pageSize
|
||||
}, {
|
||||
_this: this,loading: 'loading'
|
||||
}, res => {
|
||||
this.standardReleaseList = res.data.records
|
||||
this.total = res.data.total
|
||||
this.loading = false
|
||||
}, e => {
|
||||
this.loading = false
|
||||
this.standardReleaseList = []
|
||||
this.total = 0
|
||||
})
|
||||
// 获取数据
|
||||
getAdvice () {
|
||||
this.loading = true
|
||||
this.$http.get('/lawss/NewsFeed/getNewsFeed', {
|
||||
messageType: 'QYBZFB',
|
||||
page: this.page,
|
||||
pageSize: this.pageSize
|
||||
}, {
|
||||
_this: this, loading: 'loading'
|
||||
}, res => {
|
||||
this.standardReleaseList = res.data.records
|
||||
this.total = res.data.total
|
||||
this.loading = false
|
||||
if (res.data && res.data.records && res.data.records.length > 0) {
|
||||
const isNew = res.data.records[0].threeDaysNew || false
|
||||
this.$emit('isNew', isNew)
|
||||
}
|
||||
}, e => {
|
||||
this.loading = false
|
||||
this.standardReleaseList = []
|
||||
this.total = 0
|
||||
})
|
||||
},
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -1,65 +1,63 @@
|
||||
<!-- 企标发布 -->
|
||||
<template>
|
||||
<div class="release">
|
||||
<!-- <ul>-->
|
||||
<!-- <li v-for="item in standardReleaseList" :key="item.id" class="time-title" >-->
|
||||
<!-- <div style="height: 18px;">-->
|
||||
<!-- <a @click="handlePreview(item)" style="color: #333333" class="table-jump">{{ item.standName }}</a>-->
|
||||
<!-- <span class="time">{{item.issueTime ? $moment(item.issueTime).format('YYYY-MM-DD') : '' }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="standardReleaseList"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
height="90%"
|
||||
style="width: 100%; flex: auto;"
|
||||
class="drag-table"
|
||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
|
||||
fontWeight: 'bold', height: '48px'}">
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
align="center"
|
||||
width="55">
|
||||
<template slot-scope="{scope, column, $index}">
|
||||
{{ ($index + 1) + (page - 1) * pageSize }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="200"
|
||||
label="标准编号">
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standName"
|
||||
label="标准名称">
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)" style="display: flex;align-items: center">
|
||||
{{ scope.row.standardName }}
|
||||
<img v-if="checkTime(scope.row.releaseDate)" src="/static/images/new.png" style="width: 30px;margin-left: 5px">
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="120"
|
||||
label="发布时间">
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.releaseDate ? $moment(scope.row.releaseDate).format('YYYY-MM-DD') : '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<loading :loading="loading">加载中...</loading>
|
||||
<pagination
|
||||
style="position: static;"
|
||||
:page="page"
|
||||
:total="total"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"></pagination>
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="standardReleaseList"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
height="90%"
|
||||
style="width: 100%; flex: auto;"
|
||||
class="drag-table"
|
||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
|
||||
fontWeight: 'bold', height: '48px'}"
|
||||
>
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
align="center"
|
||||
width="55"
|
||||
>
|
||||
<template slot-scope="{scope, column, $index}">
|
||||
{{ ($index + 1) + (page - 1) * pageSize }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="200"
|
||||
label="标准编号"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standName"
|
||||
label="标准名称"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span style="display: flex;align-items: center" @click="handlePreview(scope.row)">
|
||||
{{ scope.row.standardName }}
|
||||
<img v-if="scope.row.threeDaysNew" src="/static/images/new.png" style="width: 30px;margin-left: 5px">
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="120"
|
||||
label="发布时间"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.releaseDate ? $moment(scope.row.releaseDate).format('YYYY-MM-DD') : '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<loading :loading="loading">加载中...</loading>
|
||||
<pagination
|
||||
style="position: static;"
|
||||
:page="page"
|
||||
:total="total"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -69,7 +67,7 @@ export default {
|
||||
name: 'ReleaseBuss2',
|
||||
components: {},
|
||||
mixins: [],
|
||||
data() {
|
||||
data () {
|
||||
return {
|
||||
loading: false,
|
||||
pageVerify: false,
|
||||
@@ -77,73 +75,72 @@ export default {
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
total: 0,
|
||||
putTime: '',
|
||||
standardReleaseList: [], //标准发布数据
|
||||
standardReleaseList: [], // 标准发布数据
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
watch: {},
|
||||
mounted() {
|
||||
mounted () {
|
||||
this.getDate()
|
||||
this.getAdvice()
|
||||
// this.addDate()
|
||||
},
|
||||
methods: {
|
||||
checkTime (time) {
|
||||
return moment(time.slice(0,10)).diff(moment(), 'day') > -3
|
||||
},
|
||||
pageChange(page) {
|
||||
this.page = page
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
},
|
||||
// 分页每页显示数改变后方法
|
||||
pageSizeChange(pageSize) {
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
// 此处需要调用接口,修改个人配置
|
||||
},
|
||||
togo () {
|
||||
if(this.total && this.total > 10){
|
||||
this.pageVerify = true
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
}else {
|
||||
this.pageVerify = false
|
||||
}
|
||||
this.getAdvice()
|
||||
},
|
||||
checkTime (time) {
|
||||
return moment(time.slice(0, 10)).diff(moment(), 'day') > -3
|
||||
},
|
||||
pageChange (page) {
|
||||
this.page = page
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
},
|
||||
// 分页每页显示数改变后方法
|
||||
pageSizeChange (pageSize) {
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
// 此处需要调用接口,修改个人配置
|
||||
},
|
||||
togo () {
|
||||
if(this.total && this.total > 10) {
|
||||
this.pageVerify = true
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
}else {
|
||||
this.pageVerify = false
|
||||
}
|
||||
this.getAdvice()
|
||||
},
|
||||
// 点击查看
|
||||
handlePreview (item) {
|
||||
let routeUrl = this.$router.resolve({
|
||||
name: 'OtherBussStandardDetails',
|
||||
params: {
|
||||
id: item.standardId,
|
||||
pageType: 'BUSINESS_STAND'
|
||||
}
|
||||
})
|
||||
window.open(routeUrl.href, '_blank')
|
||||
const routeUrl = this.$router.resolve({
|
||||
name: 'OtherBussStandardDetails',
|
||||
params: {
|
||||
id: item.standardId,
|
||||
pageType: 'BUSINESS_STAND'
|
||||
}
|
||||
})
|
||||
window.open(routeUrl.href, '_blank')
|
||||
},
|
||||
//截取时间
|
||||
// 截取时间
|
||||
getDate (date) {
|
||||
return date != null ? date.substring(0, date.indexOf(' ')) : ''
|
||||
},
|
||||
//获取数据
|
||||
getAdvice() {
|
||||
this.loading = true
|
||||
this.$http.get("/lawss/NewsFeed/getNewsFeed", {
|
||||
messageType: 'QYBZFB',
|
||||
page: this.page,
|
||||
pageSize: this.pageSize
|
||||
}, {
|
||||
_this: this,loading: 'loading'
|
||||
}, res => {
|
||||
this.standardReleaseList = res.data.records
|
||||
this.total = res.data.total
|
||||
this.loading = false
|
||||
}, e => {
|
||||
this.loading = false
|
||||
this.standardReleaseList = []
|
||||
this.total = 0
|
||||
})
|
||||
// 获取数据
|
||||
getAdvice () {
|
||||
this.loading = true
|
||||
this.$http.get('/lawss/NewsFeed/getNewsFeed', {
|
||||
messageType: 'QYBZFB',
|
||||
page: this.page,
|
||||
pageSize: this.pageSize
|
||||
}, {
|
||||
_this: this, loading: 'loading'
|
||||
}, res => {
|
||||
this.standardReleaseList = res.data.records
|
||||
this.total = res.data.total
|
||||
this.loading = false
|
||||
}, e => {
|
||||
this.loading = false
|
||||
this.standardReleaseList = []
|
||||
this.total = 0
|
||||
})
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
@@ -1,51 +1,57 @@
|
||||
<!-- 标准问答 -->
|
||||
<template>
|
||||
<div class="release">
|
||||
<el-table ref="table"
|
||||
:data="data"
|
||||
tooltip-effect = "dark"
|
||||
border
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
|
||||
<el-table
|
||||
ref="table"
|
||||
:data="data"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||
>
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
align="center"
|
||||
width="55">
|
||||
</el-table-column>
|
||||
label="序号"
|
||||
type="index"
|
||||
align="center"
|
||||
width="55"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="classification"
|
||||
label="类型"
|
||||
width="150"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
prop="classification"
|
||||
label="类型"
|
||||
width="150"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="standardEncdoing"
|
||||
label="标准编号"
|
||||
width="150"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
prop="standardEncdoing"
|
||||
label="标准编号"
|
||||
width="150"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="problemDescription"
|
||||
label="问题描述"
|
||||
align="center">
|
||||
prop="problemDescription"
|
||||
label="问题描述"
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<a class="table-jump" @click="handleClick(scope.row.id)">{{ scope.row.problemDescription }}</a>
|
||||
<span style="display: flex;align-items: center;justify-content: center">
|
||||
<a class="table-jump" @click="handleClick(scope.row.id)">{{ scope.row.problemDescription }}</a>
|
||||
<img v-if="scope.row.threeDaysNew" src="/static/images/new.png" style="width: 30px;margin-left: 5px">
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="questioner"
|
||||
label="提问人"
|
||||
width="150"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
prop="questioner"
|
||||
label="提问人"
|
||||
width="150"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="questionTime"
|
||||
label="提问时间"
|
||||
width="150"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
prop="questionTime"
|
||||
label="提问时间"
|
||||
width="150"
|
||||
align="center"
|
||||
/>
|
||||
</el-table>
|
||||
<div class="more" v-if="!pageVerify" @click="togo">更多 ⋙</div>
|
||||
<div v-if="!pageVerify" class="more" @click="togo">更多 ⋙</div>
|
||||
<loading :loading="loading">加载中...</loading>
|
||||
</div>
|
||||
</template>
|
||||
@@ -55,7 +61,7 @@ export default {
|
||||
name: 'ReleaseQA',
|
||||
components: {},
|
||||
mixins: [],
|
||||
data() {
|
||||
data () {
|
||||
return {
|
||||
loading: false,
|
||||
pageVerify: false,
|
||||
@@ -63,36 +69,36 @@ export default {
|
||||
total: 0,
|
||||
currentPage: 1,
|
||||
data: [],
|
||||
form:{
|
||||
classification:"", // 类型
|
||||
problemDescription: "", // 问题描述
|
||||
form: {
|
||||
classification: '', // 类型
|
||||
problemDescription: '', // 问题描述
|
||||
},
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
watch: {},
|
||||
mounted() {
|
||||
mounted () {
|
||||
this.getDate()
|
||||
},
|
||||
methods: {
|
||||
togo () {
|
||||
this.$router.push({path:'/releaseQA2'})
|
||||
this.$router.push({ path: '/releaseQA2' })
|
||||
},
|
||||
handleClick (id) {
|
||||
this.$router.push({
|
||||
path:'/standQA',
|
||||
path: '/standQA',
|
||||
query: { id }
|
||||
})
|
||||
},
|
||||
getDate(){
|
||||
getDate () {
|
||||
this.loading = true
|
||||
let form = this.form
|
||||
const form = this.form
|
||||
form.userId = this.$store.getters.userInfo.account
|
||||
form.pageSize = this.pageSize
|
||||
form.page = this.currentPage
|
||||
return new Promise((resolve,reject)=>{
|
||||
this.$http.get('lawss/AskQuestions/getAskQuestionsPage', form, {_this: this }, res => {
|
||||
if(res.data){
|
||||
return new Promise((resolve, reject) => {
|
||||
this.$http.get('lawss/AskQuestions/getAskQuestionsPage', form, { _this: this }, res => {
|
||||
if(res.data) {
|
||||
const data = res.data
|
||||
this.data = data.records
|
||||
this.total = data.total
|
||||
@@ -101,6 +107,11 @@ export default {
|
||||
}
|
||||
this.loading = false
|
||||
resolve(res)
|
||||
|
||||
if (res.data && res.data.records && res.data.records.length > 0) {
|
||||
const isNew = res.data.records[0].threeDaysNew || false
|
||||
this.$emit('isNew', isNew)
|
||||
}
|
||||
}, e => {
|
||||
this.loading = false
|
||||
reject(e)
|
||||
|
||||
@@ -1,62 +1,68 @@
|
||||
<!-- 标准发布 -->
|
||||
<template>
|
||||
<div class="release">
|
||||
<!-- <ul>-->
|
||||
<!-- <li v-for="item in standardReleaseList" :key="item.id" class="time-title" >-->
|
||||
<!-- <div style="height: 18px;">-->
|
||||
<!-- <a @click="handlePreview(item)" style="color: #333333" class="table-jump">{{ item.standName }}</a>-->
|
||||
<!-- <span class="time">{{item.issueTime ? $moment(item.issueTime).format('YYYY-MM-DD') : '' }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="standardReleaseList"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
style="cursor:pointer;"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
align="center"
|
||||
width="55">
|
||||
<template slot-scope="{scope, column, $index}">
|
||||
{{ ($index + 1) + (page - 1) * pageSize }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="200"
|
||||
prop="standard"
|
||||
label="标准编号">
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standardName"
|
||||
label="标准名称">
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standardName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="120"
|
||||
label="文本状态">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ textStatusMap[scope.row.textState] }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="more" v-if="!pageVerify" @click="togo">更多 ⋙</div>
|
||||
<loading :loading="loading">加载中...</loading>
|
||||
<pagination
|
||||
v-if="pageVerify"
|
||||
style="position: static;"
|
||||
:page="page"
|
||||
:total="total"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"></pagination>
|
||||
<!-- <ul>-->
|
||||
<!-- <li v-for="item in standardReleaseList" :key="item.id" class="time-title" >-->
|
||||
<!-- <div style="height: 18px;">-->
|
||||
<!-- <a @click="handlePreview(item)" style="color: #333333" class="table-jump">{{ item.standName }}</a>-->
|
||||
<!-- <span class="time">{{item.issueTime ? $moment(item.issueTime).format('YYYY-MM-DD') : '' }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="standardReleaseList"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
style="cursor:pointer;"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||
>
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
align="center"
|
||||
width="55"
|
||||
>
|
||||
<template slot-scope="{scope, column, $index}">
|
||||
{{ ($index + 1) + (page - 1) * pageSize }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="200"
|
||||
prop="standard"
|
||||
label="标准编号"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standardName"
|
||||
label="标准名称"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standardName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="120"
|
||||
label="标准状态"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{ textStatusMap[scope.row.textState] }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div v-if="!pageVerify" class="more" @click="togo">更多 ⋙</div>
|
||||
<loading :loading="loading">加载中...</loading>
|
||||
<pagination
|
||||
v-if="pageVerify"
|
||||
style="position: static;"
|
||||
:page="page"
|
||||
:total="total"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -65,7 +71,7 @@ export default {
|
||||
name: 'ReleaseUs',
|
||||
components: {},
|
||||
mixins: [],
|
||||
data() {
|
||||
data () {
|
||||
return {
|
||||
loading: false,
|
||||
pageVerify: false,
|
||||
@@ -73,49 +79,49 @@ export default {
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
putTime: '',
|
||||
standardReleaseList: [], //标准发布数据
|
||||
textStatusMap: {} // 文本状态id与name对应
|
||||
standardReleaseList: [], // 标准发布数据
|
||||
textStatusMap: {} // 标准状态id与name对应
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
watch: {},
|
||||
mounted() {
|
||||
this.$http.get('sys/dictype/getDicTypeListCode', '', {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.data.WBZTCLASS !== undefined && res.data.WBZTCLASS !== null){
|
||||
this.setMap(res.data.WBZTCLASS) // 文本状态
|
||||
}
|
||||
}, e => {
|
||||
})
|
||||
mounted () {
|
||||
this.$http.get('sys/dictype/getDicTypeListCode', '', {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.data.WBZTCLASS !== undefined && res.data.WBZTCLASS !== null) {
|
||||
this.setMap(res.data.WBZTCLASS) // 标准状态
|
||||
}
|
||||
}, e => {
|
||||
})
|
||||
this.getDate()
|
||||
this.getAdvice()
|
||||
// this.addDate()
|
||||
},
|
||||
methods: {
|
||||
pageChange(page) {
|
||||
this.page = page
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
},
|
||||
// 分页每页显示数改变后方法
|
||||
pageSizeChange(pageSize) {
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
// 此处需要调用接口,修改个人配置
|
||||
},
|
||||
togo () {
|
||||
this.$router.push({path:'/releaseUs2'})
|
||||
},
|
||||
// 将文本状态的id与name对应
|
||||
setMap(data) {
|
||||
data.forEach(item => {
|
||||
this.$set(this.textStatusMap, item.value, item.label)
|
||||
})
|
||||
},
|
||||
pageChange (page) {
|
||||
this.page = page
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
},
|
||||
// 分页每页显示数改变后方法
|
||||
pageSizeChange (pageSize) {
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
// 此处需要调用接口,修改个人配置
|
||||
},
|
||||
togo () {
|
||||
this.$router.push({ path: '/releaseUs2' })
|
||||
},
|
||||
// 将标准状态的id与name对应
|
||||
setMap (data) {
|
||||
data.forEach(item => {
|
||||
this.$set(this.textStatusMap, item.value, item.label)
|
||||
})
|
||||
},
|
||||
// 点击查看
|
||||
handlePreview (item) {
|
||||
let routeUrl = this.$router.resolve({
|
||||
const routeUrl = this.$router.resolve({
|
||||
name: 'OtherStandardDetails',
|
||||
params: {
|
||||
id: item.standardId,
|
||||
@@ -124,28 +130,28 @@ export default {
|
||||
})
|
||||
window.open(routeUrl.href, '_blank')
|
||||
},
|
||||
//截取时间
|
||||
// 截取时间
|
||||
getDate (date) {
|
||||
return date != null ? date.substring(0, date.indexOf(' ')) : ''
|
||||
},
|
||||
//获取数据
|
||||
getAdvice() {
|
||||
this.loading = true
|
||||
this.$http.get("/lawss/NewsFeed/getNewsFeed", {
|
||||
messageType: 'ZYBZFG',
|
||||
page: this.page,
|
||||
pageSize: this.pageSize
|
||||
}, {
|
||||
_this: this,loading: 'loading'
|
||||
}, res => {
|
||||
this.standardReleaseList = res.data.records
|
||||
this.total = res.data.total
|
||||
this.loading = false
|
||||
}, e => {
|
||||
this.loading = false
|
||||
this.standardReleaseList = []
|
||||
this.total = 0
|
||||
})
|
||||
// 获取数据
|
||||
getAdvice () {
|
||||
this.loading = true
|
||||
this.$http.get('/lawss/NewsFeed/getNewsFeed', {
|
||||
messageType: 'ZYBZFG',
|
||||
page: this.page,
|
||||
pageSize: this.pageSize
|
||||
}, {
|
||||
_this: this, loading: 'loading'
|
||||
}, res => {
|
||||
this.standardReleaseList = res.data.records
|
||||
this.total = res.data.total
|
||||
this.loading = false
|
||||
}, e => {
|
||||
this.loading = false
|
||||
this.standardReleaseList = []
|
||||
this.total = 0
|
||||
})
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="120"
|
||||
label="文本状态">
|
||||
label="标准状态">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ textStatusMap[scope.row.textState] }}</span>
|
||||
</template>
|
||||
@@ -75,7 +75,7 @@ export default {
|
||||
total: 0,
|
||||
putTime: '',
|
||||
standardReleaseList: [], //标准发布数据
|
||||
textStatusMap: {} // 文本状态id与name对应
|
||||
textStatusMap: {} // 标准状态id与name对应
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
@@ -85,7 +85,7 @@ export default {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.data.WBZTCLASS !== undefined && res.data.WBZTCLASS !== null){
|
||||
this.setMap(res.data.WBZTCLASS) // 文本状态
|
||||
this.setMap(res.data.WBZTCLASS) // 标准状态
|
||||
}
|
||||
}, e => {
|
||||
})
|
||||
@@ -114,7 +114,7 @@ export default {
|
||||
}
|
||||
this.getAdvice()
|
||||
},
|
||||
// 将文本状态的id与name对应
|
||||
// 将标准状态的id与name对应
|
||||
setMap(data) {
|
||||
data.forEach(item => {
|
||||
this.$set(this.textStatusMap, item.value, item.label)
|
||||
|
||||
@@ -1,66 +1,66 @@
|
||||
<!-- 企标发布 -->
|
||||
<template>
|
||||
<div class="release">
|
||||
<!-- <ul>-->
|
||||
<!-- <li v-for="item in standardReleaseList" :key="item.id" class="time-title" >-->
|
||||
<!-- <div style="height: 18px;">-->
|
||||
<!-- <a @click="handlePreview(item)" style="color: #333333" class="table-jump">{{ item.standName }}</a>-->
|
||||
<!-- <span class="time">{{item.issueTime ? $moment(item.issueTime).format('YYYY-MM-DD') : '' }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="standardReleaseList"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
style="cursor:pointer;"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
|
||||
<el-table-column
|
||||
type="index"
|
||||
width="55"
|
||||
label="序号"
|
||||
align="center">
|
||||
<template slot-scope="{scope, column, $index}">
|
||||
{{ ($index + 1) + (page - 1) * pageSize }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="dataType"
|
||||
width="250"
|
||||
label="类型"
|
||||
:show-overflow-tooltip="true"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="dataTitle"
|
||||
min-width="250"
|
||||
label="资料标题"
|
||||
:show-overflow-tooltip="true"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<span @click.stop="toDetail(scope.row)" style="cursor:pointer;color: #409eff">{{ scope.row.dataTitle }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="dataUploadTime"
|
||||
width="250"
|
||||
label="上传时间"
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ $moment(scope.row.dataUploadTime).format("YYYY-MM-DD") }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="more" v-if="!pageVerify" @click="togo">更多 ⋙</div>
|
||||
<loading :loading="loading">加载中...</loading>
|
||||
<pagination
|
||||
v-if="pageVerify"
|
||||
style="position: static;"
|
||||
:page="page"
|
||||
:total="total"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"></pagination>
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="standardReleaseList"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
style="cursor:pointer;"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||
>
|
||||
<el-table-column
|
||||
type="index"
|
||||
width="55"
|
||||
label="序号"
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="{scope, column, $index}">
|
||||
{{ ($index + 1) + (page - 1) * pageSize }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="dataType"
|
||||
width="250"
|
||||
label="类型"
|
||||
:show-overflow-tooltip="true"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="dataTitle"
|
||||
min-width="250"
|
||||
label="资料标题"
|
||||
:show-overflow-tooltip="true"
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span style="display: flex;align-items: center;justify-content: center">
|
||||
<span style="cursor:pointer;color: #409eff" @click.stop="toDetail(scope.row)">{{ scope.row.dataTitle }}</span>
|
||||
<img v-if="scope.row.threeDaysNew" src="/static/images/new.png" style="width: 30px;margin-left: 5px">
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="dataUploadTime"
|
||||
width="250"
|
||||
label="上传时间"
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{ $moment(scope.row.dataUploadTime).format("YYYY-MM-DD") }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div v-if="!pageVerify" class="more" @click="togo">更多 ⋙</div>
|
||||
<loading :loading="loading">加载中...</loading>
|
||||
<pagination
|
||||
v-if="pageVerify"
|
||||
style="position: static;"
|
||||
:page="page"
|
||||
:total="total"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -69,7 +69,7 @@ export default {
|
||||
name: 'ReleaseQA',
|
||||
components: {},
|
||||
mixins: [],
|
||||
data() {
|
||||
data () {
|
||||
return {
|
||||
loading: false,
|
||||
pageVerify: false,
|
||||
@@ -77,76 +77,80 @@ export default {
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
total: 0,
|
||||
putTime: '',
|
||||
standardReleaseList: [], //标准问答数据
|
||||
standardReleaseList: [], // 标准问答数据
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
watch: {},
|
||||
mounted() {
|
||||
mounted () {
|
||||
this.getDate()
|
||||
this.getAdvice()
|
||||
// this.addDate()
|
||||
},
|
||||
methods: {
|
||||
pageChange(page) {
|
||||
this.page = page
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
},
|
||||
// 分页每页显示数改变后方法
|
||||
pageSizeChange(pageSize) {
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
// 此处需要调用接口,修改个人配置
|
||||
},
|
||||
togo () {
|
||||
this.$router.push({path:'/dataCenter'})
|
||||
},
|
||||
pageChange (page) {
|
||||
this.page = page
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
},
|
||||
// 分页每页显示数改变后方法
|
||||
pageSizeChange (pageSize) {
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
// 此处需要调用接口,修改个人配置
|
||||
},
|
||||
togo () {
|
||||
this.$router.push({ path: '/dataCenter' })
|
||||
},
|
||||
// 点击查看
|
||||
handlePreview (item) {
|
||||
// let routeUrl = this.$router.resolve({
|
||||
// name: 'OtherBussStandardDetails',
|
||||
// params: {
|
||||
// id: item.standardId,
|
||||
// pageType: 'BUSINESS_STAND'
|
||||
// }
|
||||
// })
|
||||
// window.open(routeUrl.href, '_blank')
|
||||
// let routeUrl = this.$router.resolve({
|
||||
// name: 'OtherBussStandardDetails',
|
||||
// params: {
|
||||
// id: item.standardId,
|
||||
// pageType: 'BUSINESS_STAND'
|
||||
// }
|
||||
// })
|
||||
// window.open(routeUrl.href, '_blank')
|
||||
},
|
||||
//截取时间
|
||||
// 截取时间
|
||||
getDate (date) {
|
||||
return date != null ? date.substring(0, date.indexOf(' ')) : ''
|
||||
},
|
||||
toDetail(row){
|
||||
toDetail (row) {
|
||||
this.$router.push({
|
||||
name: "dataCenterDetail",
|
||||
name: 'dataCenterDetail',
|
||||
query: {
|
||||
id: row.id
|
||||
}
|
||||
});
|
||||
},
|
||||
//获取数据
|
||||
getAdvice() {
|
||||
this.loading = true
|
||||
// 模拟加载
|
||||
const timer = setInterval(() => {
|
||||
this.loading = false
|
||||
}, 2000)
|
||||
console.log(timer)
|
||||
let userInfo = JSON.parse(localStorage.getItem('userInfo'));
|
||||
this.$http.get("fileMaterialCenter/file-material/getFileMaterialIndex", {
|
||||
userId: userInfo.userId,
|
||||
}, {
|
||||
_this: this,loading: 'loading'
|
||||
}, res => {
|
||||
this.standardReleaseList = res.data
|
||||
this.total = res.data.total
|
||||
this.loading = false
|
||||
}, e => {
|
||||
this.loading = false
|
||||
this.standardReleaseList = []
|
||||
this.total = 0
|
||||
})
|
||||
// 获取数据
|
||||
getAdvice () {
|
||||
this.loading = true
|
||||
// 模拟加载
|
||||
const timer = setInterval(() => {
|
||||
this.loading = false
|
||||
}, 2000)
|
||||
console.log(timer)
|
||||
const userInfo = JSON.parse(localStorage.getItem('userInfo'));
|
||||
this.$http.get('fileMaterialCenter/file-material/getFileMaterialIndex', {
|
||||
userId: userInfo.userId,
|
||||
}, {
|
||||
_this: this, loading: 'loading'
|
||||
}, res => {
|
||||
this.standardReleaseList = res.data
|
||||
this.total = res.data.total
|
||||
this.loading = false
|
||||
if (res.data && res.data.length > 0) {
|
||||
const isNew = res.data[0].threeDaysNew || false
|
||||
this.$emit('isNew', isNew)
|
||||
}
|
||||
}, e => {
|
||||
this.loading = false
|
||||
this.standardReleaseList = []
|
||||
this.total = 0
|
||||
})
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
@@ -1,41 +1,36 @@
|
||||
<!-- 标准征求意见 -->
|
||||
<template>
|
||||
<div class="solicitopinions">
|
||||
<!-- <ul>-->
|
||||
<!-- <li v-for="item in domesticDynamics" :key="item.id" class="time-title">-->
|
||||
<!-- <div style="height: 18px; border-bottom: dashed 1px #cccccc">-->
|
||||
<!-- <a class="title" style="color: #333333;" :title="item.cname" @click="standForComments(item)">{{ item.cid }}</a>-->
|
||||
<!-- <span class="time">{{ item.endTime }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="domesticDynamics"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
style="cursor:pointer;"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
|
||||
style="width: 100%">
|
||||
ref="selection"
|
||||
:data="domesticDynamics"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
style="cursor:pointer;"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||
>
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
align="center"
|
||||
width="55">
|
||||
</el-table-column>
|
||||
label="序号"
|
||||
type="index"
|
||||
align="center"
|
||||
width="55"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="cid"
|
||||
show-overflow-tooltip
|
||||
label="标准名称">
|
||||
prop="cid"
|
||||
label="标准名称"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span @click="standForComments(scope.row)">{{ scope.row.cid }}</span>
|
||||
<span style="display: flex;align-items: center" @click="standForComments(scope.row)">
|
||||
<span>{{ scope.row.cid }}</span>
|
||||
<img v-if="scope.row.threeDaysNew" src="/static/images/new.png" style="width: 30px;margin-left: 5px">
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="endTime"
|
||||
width="120"
|
||||
label="结束时间">
|
||||
</el-table-column>
|
||||
label="结束时间"
|
||||
/>
|
||||
</el-table>
|
||||
<div class="more" @click="$router.push('standardForComments')">更多 ⋙</div>
|
||||
</div>
|
||||
@@ -43,45 +38,48 @@
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "Solicitopinions",
|
||||
name: 'Solicitopinions',
|
||||
components: {},
|
||||
mixins: [],
|
||||
data() {
|
||||
data () {
|
||||
return {
|
||||
updateTime: "",
|
||||
putTime: "",
|
||||
domesticDynamics: [] //标准征求意见数据
|
||||
updateTime: '',
|
||||
putTime: '',
|
||||
domesticDynamics: [] // 标准征求意见数据
|
||||
};
|
||||
},
|
||||
computed: {},
|
||||
watch: {},
|
||||
mounted() {
|
||||
mounted () {
|
||||
this.getDate();
|
||||
this.getAdvice();
|
||||
// this.addDate();
|
||||
},
|
||||
methods: {
|
||||
//截取时间
|
||||
getDate(date) {
|
||||
return date != null ? date.substring(0, date.indexOf(" ")) : "";
|
||||
// 截取时间
|
||||
getDate (date) {
|
||||
return date != null ? date.substring(0, date.indexOf(' ')) : '';
|
||||
},
|
||||
//获取数据
|
||||
getAdvice() {
|
||||
this.$http.get("slrs/sar-public-idea/SelectAllPage", {
|
||||
// 获取数据
|
||||
getAdvice () {
|
||||
this.$http.get('slrs/sar-public-idea/SelectAllPage', {
|
||||
page: 1,
|
||||
size: 10
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.domesticDynamics = res.data.records
|
||||
if (res.data && res.data.records && res.data.records.length > 0) {
|
||||
const isNew = res.data.records[0].threeDaysNew || false
|
||||
this.$emit('isNew', isNew)
|
||||
}
|
||||
}, e => {
|
||||
|
||||
});
|
||||
},
|
||||
standForComments(item) {
|
||||
this.$store.commit("setDetailMap", this.$router.path);
|
||||
standForComments (item) {
|
||||
this.$store.commit('setDetailMap', this.$router.path);
|
||||
this.$router.push({
|
||||
name: "consultationDetails",
|
||||
name: 'consultationDetails',
|
||||
query: {
|
||||
item: JSON.stringify(item)
|
||||
}
|
||||
|
||||
@@ -188,6 +188,16 @@ export default {
|
||||
}
|
||||
break
|
||||
case 'buss1':
|
||||
let oldAndNewBuss = ''
|
||||
const currentDateBuss = new Date('2024-04-01 00:00:00').getTime();
|
||||
const dateBuss = new Date(row.creatTime);
|
||||
const timestampBuss = dateBuss.getTime();
|
||||
if (currentDateBuss > timestampBuss){
|
||||
oldAndNewBuss = 'old'
|
||||
}else{
|
||||
oldAndNewBuss = 'new'
|
||||
}
|
||||
query.oldAndNew = oldAndNewBuss
|
||||
if (row.taskInfo === '企标编写') {
|
||||
name = 'bussLibrary2'
|
||||
}else if (row.taskInfo === '企标编写汇总'){
|
||||
@@ -219,8 +229,36 @@ export default {
|
||||
}else if (row.taskInfo === '发布'){
|
||||
name = 'bussLibrary13'
|
||||
}
|
||||
|
||||
break
|
||||
case 'buss2':
|
||||
name = 'bussLibraryProduct'
|
||||
if (row.taskInfo === '企标编写') {
|
||||
params.type = '2'
|
||||
}else if (row.taskInfo === '企标编写汇总') {
|
||||
params.type = '3'
|
||||
}else if (row.taskInfo === '重新企标编写汇总') {
|
||||
params.type = 'C3'
|
||||
}else if (row.taskInfo === '标准化初审') {
|
||||
params.type = '4'
|
||||
}else if (row.taskInfo === '征求意见') {
|
||||
params.type = '5'
|
||||
}else if (row.taskInfo === '意见汇总修订') {
|
||||
params.type = '6'
|
||||
}else if (row.taskInfo === '重新意见汇总修订') {
|
||||
params.type = 'C6'
|
||||
}else if (row.taskInfo === '标准化复审') {
|
||||
params.type = '7'
|
||||
}else if (row.taskInfo === '审核') {
|
||||
params.type = '8'
|
||||
}else if (row.taskInfo === '审定') {
|
||||
params.type = '10'
|
||||
}else if (row.taskInfo === '批准') {
|
||||
params.type = '12'
|
||||
}else if (row.taskInfo === '发布') {
|
||||
params.type = '13'
|
||||
}
|
||||
/*
|
||||
if (row.taskInfo === '企标编写') {
|
||||
name = 'bussLibraryProduct2'
|
||||
}else if (row.taskInfo === '企标编写汇总'){
|
||||
@@ -248,6 +286,7 @@ export default {
|
||||
}else if (row.taskInfo === '抄送'){
|
||||
name = 'bussLibraryProduct14'
|
||||
}
|
||||
*/
|
||||
break;
|
||||
case 'buss3':
|
||||
if (row.taskInfo === '选择复审人') {
|
||||
@@ -289,6 +328,16 @@ export default {
|
||||
}
|
||||
break;
|
||||
case '3':
|
||||
let oldAndNewBuss1 = ''
|
||||
const currentDateBuss1 = new Date('2024-04-01 00:00:00').getTime();
|
||||
const dateBuss1 = new Date(row.creatTime);
|
||||
const timestampBuss1 = dateBuss1.getTime();
|
||||
if (currentDateBuss1 > timestampBuss1){
|
||||
oldAndNewBuss1 = 'old'
|
||||
}else{
|
||||
oldAndNewBuss1 = 'new'
|
||||
}
|
||||
query.oldAndNew = oldAndNewBuss1
|
||||
if (row.taskInfo === '任务分发') {
|
||||
name = 'bzzqyjStep2'
|
||||
} else if (row.taskInfo === '意见反馈'){
|
||||
|
||||
+111
-72
@@ -1,61 +1,91 @@
|
||||
<template>
|
||||
<div class="home">
|
||||
<div class="home_main">
|
||||
<div class="left_wrapper">
|
||||
<search-group></search-group>
|
||||
<div class="main-tabs" style="box-shadow:1px 1px 10px rgba(0,0,0,0.1);border-radius: 3px;" >
|
||||
<div class="main-left-wrap" >
|
||||
<!-- <el-button type="text" style="font-size: 14px" class="more" @click="MORE">MORE</el-button>-->
|
||||
<el-tabs
|
||||
v-model="activeName"
|
||||
class="home-tabs"
|
||||
@tab-click="handleTabClick"
|
||||
>
|
||||
<el-tab-pane name="solicitOpinions">
|
||||
<span slot="label"><i class="el-icon-s-order"></i> 标准征求意见</span>
|
||||
<solicitOpinions></solicitOpinions>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane name="releaseZL" style="overflow-y: auto;height: 100%">
|
||||
<span slot="label"><i class="el-icon-chat-line-round"></i> 标准化动态</span>
|
||||
<releaseZL></releaseZL>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane name="releaseUs" style="overflow-y: auto;height: 100%">
|
||||
<span slot="label"><i class="el-icon-s-operation"></i> 在研标准法规动态</span>
|
||||
<releaseUs></releaseUs>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane name="releaseCn" style="overflow-y: auto;height: 100%">
|
||||
<span slot="label"><i class="el-icon-s-promotion"></i> 国内标准法规动态</span>
|
||||
<release messageType="GNBZFG"></release>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane name="release" style="overflow-y: auto;height: 100%">
|
||||
<span slot="label"><i class="el-icon-s-promotion"></i> 国外标准法规动态</span>
|
||||
<release messageType="GWBZFG"></release>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane name="releaseBuss" style="overflow-y: auto;height: 100%">
|
||||
<span slot="label" style="position: relative"><i class="el-icon-s-promotion"></i>
|
||||
企业标准发布
|
||||
<span v-if="isNew" class="more-doc"></span>
|
||||
<!--<img v-if="isNew" src="/static/images/new.png" style="width: 30px;margin-left: 5px">-->
|
||||
</span>
|
||||
<releaseBuss></releaseBuss>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane name="releaseQA" style="overflow-y: auto;height: 100%">
|
||||
<span slot="label"><i class="el-icon-chat-line-round"></i> 标准问答</span>
|
||||
<releaseQA></releaseQA>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right_wrapper">
|
||||
<nav-menu></nav-menu>
|
||||
<todo-list></todo-list>
|
||||
<div class="home">
|
||||
<div class="home_main">
|
||||
<div class="left_wrapper">
|
||||
<search-group />
|
||||
<div class="main-tabs" style="box-shadow:1px 1px 10px rgba(0,0,0,0.1);border-radius: 3px;">
|
||||
<div class="main-left-wrap">
|
||||
<el-tabs
|
||||
v-model="activeName"
|
||||
class="home-tabs"
|
||||
@tab-click="handleTabClick"
|
||||
>
|
||||
<el-tab-pane name="solicitOpinions">
|
||||
<span slot="label" style="position: relative">
|
||||
<i class="el-icon-s-order" />
|
||||
标准征求意见
|
||||
<span v-if="opinionIsNew" class="more-doc" />
|
||||
</span>
|
||||
<solicitOpinions @isNew="setIsNew($event, 'opinionIsNew')" />
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane name="releaseZL" style="overflow-y: auto;height: 100%">
|
||||
<span slot="label" style="position: relative">
|
||||
<i class="el-icon-chat-line-round" />
|
||||
标准化动态
|
||||
<span v-if="trendsIsNew" class="more-doc" />
|
||||
</span>
|
||||
<releaseZL @isNew="setIsNew($event, 'trendsIsNew')" />
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane name="releaseUs" style="overflow-y: auto;height: 100%">
|
||||
<span slot="label" style="position: relative">
|
||||
<i class="el-icon-s-operation" />
|
||||
在研标准法规动态
|
||||
<span v-if="underResearchIsNew" class="more-doc" />
|
||||
</span>
|
||||
<!-- <releaseUs />-->
|
||||
<release messageType="ZYBZFG" @isNew="setIsNew($event, 'underResearchIsNew')" />
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane name="releaseCn" style="overflow-y: auto;height: 100%">
|
||||
<span slot="label" style="position: relative">
|
||||
<i class="el-icon-s-promotion" />
|
||||
国内标准法规动态
|
||||
<span v-if="domIsNew" class="more-doc" />
|
||||
</span>
|
||||
<release messageType="GNBZFG" @isNew="setIsNew($event, 'domIsNew')" />
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane name="release" style="overflow-y: auto;height: 100%">
|
||||
<span slot="label" style="position: relative">
|
||||
<i class="el-icon-s-promotion" />
|
||||
国外标准法规动态
|
||||
<span v-if="abroadIsNew" class="more-doc" />
|
||||
</span>
|
||||
<release messageType="GWBZFG" @isNew="setIsNew($event, 'abroadIsNew')" />
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane name="releaseBuss" style="overflow-y: auto;height: 100%">
|
||||
<span slot="label" style="position: relative">
|
||||
<i class="el-icon-s-promotion" />
|
||||
企业标准发布
|
||||
<span v-if="isNew" class="more-doc" />
|
||||
</span>
|
||||
<releaseBuss @isNew="setIsNew($event, 'isNew')" />
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane name="releaseQA" style="overflow-y: auto;height: 100%">
|
||||
<span slot="label" style="position: relative">
|
||||
<i class="el-icon-chat-line-round" />
|
||||
标准问答
|
||||
<span v-if="questionIsNew" class="more-doc" />
|
||||
</span>
|
||||
<releaseQA @isNew="setIsNew($event, 'questionIsNew')" />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right_wrapper">
|
||||
<nav-menu />
|
||||
<todo-list />
|
||||
</div>
|
||||
</div>
|
||||
<div calss="home_footer" style="padding: 0">
|
||||
<Empennage />
|
||||
</div>
|
||||
</div>
|
||||
<div calss="home_footer" style="padding: 0">
|
||||
<Empennage></Empennage>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -70,9 +100,9 @@ import releaseZL from './components/releaseZL'
|
||||
import solicitOpinions from './components/solicitopinions'
|
||||
import navMenu from './components/navMenu'
|
||||
import todoList from './components/todoList'
|
||||
import Empennage from "./components/empennage"
|
||||
import Empennage from './components/empennage'
|
||||
export default {
|
||||
name: "Home2",
|
||||
name: 'Home2',
|
||||
components: {
|
||||
searchGroup,
|
||||
solicitOpinions,
|
||||
@@ -85,18 +115,27 @@ export default {
|
||||
todoList,
|
||||
Empennage,
|
||||
},
|
||||
data() {
|
||||
data () {
|
||||
return {
|
||||
activeName: 'solicitOpinions',
|
||||
isNew: false
|
||||
opinionIsNew: false,
|
||||
trendsIsNew: false,
|
||||
underResearchIsNew: false,
|
||||
domIsNew: false,
|
||||
abroadIsNew: false,
|
||||
isNew: false,
|
||||
questionIsNew: false,
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getAdvice()
|
||||
created () {
|
||||
// this.getAdvice()
|
||||
},
|
||||
methods: {
|
||||
getAdvice() {
|
||||
this.$http.get("/lawss/NewsFeed/getNewsFeed", {
|
||||
setIsNew (isNew, key) {
|
||||
this.$set(this, key, isNew)
|
||||
},
|
||||
getAdvice () {
|
||||
this.$http.get('/lawss/NewsFeed/getNewsFeed', {
|
||||
messageType: 'QYBZFB',
|
||||
page: 1,
|
||||
pageSize: 1
|
||||
@@ -104,7 +143,7 @@ export default {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.data && res.data.records && res.data.records.length > 0) {
|
||||
if (res.data.records[0].releaseDate && res.data.records[0].releaseDate!== '') {
|
||||
if (res.data.records[0].releaseDate && res.data.records[0].releaseDate !== '') {
|
||||
this.isNew = this.checkTime(res.data.records[0].releaseDate)
|
||||
}
|
||||
}
|
||||
@@ -113,11 +152,11 @@ export default {
|
||||
})
|
||||
},
|
||||
checkTime (time) {
|
||||
return moment(time.slice(0,10)).diff(moment(), 'day') > -3
|
||||
return moment(time.slice(0, 10)).diff(moment(), 'day') > -3
|
||||
},
|
||||
handleTabClick(tab, event) {},
|
||||
//退出登录
|
||||
logout(){
|
||||
handleTabClick (tab, event) {},
|
||||
// 退出登录
|
||||
logout () {
|
||||
this.$confirm('您确认要退出吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
@@ -135,10 +174,10 @@ export default {
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
MORE() {
|
||||
MORE () {
|
||||
switch (this.activeName) {
|
||||
case 'solicitOpinions':
|
||||
this.$router.push({name: 'standardForComments'})
|
||||
this.$router.push({ name: 'standardForComments' })
|
||||
break
|
||||
case 'release':
|
||||
this.$confirm('请选择国内/海外标准', {
|
||||
@@ -147,9 +186,9 @@ export default {
|
||||
type: 'warning',
|
||||
center: true
|
||||
}).then(() => {
|
||||
this.$router.push({name: 'domesticStandardsAndRegulations'})
|
||||
this.$router.push({ name: 'domesticStandardsAndRegulations' })
|
||||
}).catch(() => {
|
||||
this.$router.push({name: 'foreignStandardsAndRegulations'})
|
||||
this.$router.push({ name: 'foreignStandardsAndRegulations' })
|
||||
});
|
||||
break
|
||||
default:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -779,12 +779,12 @@
|
||||
<el-input v-model="editForm.standNameSplit" :maxlength="100" placeholder="请输入标准名称/政策名称" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="文本状态"
|
||||
label="标准状态"
|
||||
class="add-form-item"
|
||||
prop="fileType"
|
||||
label-width="140px"
|
||||
>
|
||||
<el-select v-model="editForm.fileType" placeholder="请选择文本状态" clearable>
|
||||
<el-select v-model="editForm.fileType" placeholder="请选择标准状态" clearable>
|
||||
<el-option v-for="opt in standFileClassifyOptions" :key="opt.value" :value="opt.value" :label="opt.label"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -831,19 +831,19 @@ export default {
|
||||
standId: '',
|
||||
standNumSplit: '', // 标准号/政策号
|
||||
standNameSplit: '', // 标准名称/政策名称
|
||||
fileType: '' // 文本状态
|
||||
fileType: '' // 标准状态
|
||||
},
|
||||
editForm: {
|
||||
id: '',
|
||||
standId: '',
|
||||
standNumSplit: '', // 标准号/政策号
|
||||
standNameSplit: '', // 标准名称/政策名称
|
||||
fileType: '' // 文本状态
|
||||
fileType: '' // 标准状态
|
||||
},
|
||||
editFormRules: {
|
||||
standNumSplit: [{required: true, message: '标准号/政策号不能为空', trigger: 'blur'}],
|
||||
standNameSplit: [{required: true, message: '标准名称/政策名称不能为空', trigger: 'blur'}],
|
||||
fileType: [{ required: true, message: '文本状态不能为空', trigger: 'change' }]
|
||||
fileType: [{ required: true, message: '标准状态不能为空', trigger: 'change' }]
|
||||
},
|
||||
standFileClassifyOptions: [],
|
||||
openSubmitAndExamineVisible: false,
|
||||
@@ -1692,6 +1692,7 @@ export default {
|
||||
this.isSubmit = false
|
||||
if (res.ok) {
|
||||
this.modalItemaddShowflag = false
|
||||
this.selectMenu()
|
||||
// this.showItemRequestDetails()
|
||||
// let content = res.data.itermsConditions
|
||||
// $('#itemContentHtml').html(content)
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="oldFileTypeShow"
|
||||
label="旧文本状态"
|
||||
label="旧标准状态"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
@@ -93,7 +93,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="newFileTypeShow"
|
||||
label="新文本状态"
|
||||
label="新标准状态"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="fileTypeShow"
|
||||
label="文本状态"
|
||||
label="标准状态"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
@@ -181,7 +181,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="fileTypeShow"
|
||||
label="文本状态"
|
||||
label="标准状态"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
|
||||
@@ -60,12 +60,15 @@
|
||||
:label="$t('m.action')"
|
||||
width="280px"
|
||||
align="center">
|
||||
<!-- v-btn-permission="'99CSTACRWA5SKM94W2F2'"-->
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
class="opera-btn"
|
||||
size="mini"
|
||||
type="primary"
|
||||
@click="handlePreview(scope.row)" v-btn-permission="'99CSTACRWA5SKM94W2F2'">{{$t('m.lookAtTheDifferences')}}</el-button>
|
||||
@click="handlePreview(scope.row)">
|
||||
{{$t('m.lookAtTheDifferences')}}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
@@ -198,7 +198,7 @@
|
||||
:placeholder="$t('m.pleaseEnterTheStandardNameAndPolicyName')"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="文本状态" prop="fileType" label-width="145px">
|
||||
<el-form-item label="标准状态" prop="fileType" label-width="145px">
|
||||
<el-select class="bead-input" v-model="uploadFilesdfEo.fileType">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
@@ -395,10 +395,10 @@
|
||||
prop="textStatus"
|
||||
sortable="custom"
|
||||
width="110"
|
||||
label="文本状态">
|
||||
label="标准状态">
|
||||
<!-- <template slot="header" slot-scope="scope">-->
|
||||
<!-- <el-tooltip class="item" effect="dark" content="计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。" placement="bottom">-->
|
||||
<!-- <span>文本状态<i class="el-icon-warning-outline"></i></span>-->
|
||||
<!-- <span>标准状态<i class="el-icon-warning-outline"></i></span>-->
|
||||
<!-- </el-tooltip>-->
|
||||
<!-- </template>-->
|
||||
<template slot-scope="scope">
|
||||
@@ -520,10 +520,10 @@
|
||||
prop="textStatus"
|
||||
sortable="custom"
|
||||
width="110"
|
||||
label="文本状态">
|
||||
label="标准状态">
|
||||
<!-- <template slot="header" slot-scope="scope">-->
|
||||
<!-- <el-tooltip class="item" effect="dark" content="计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。" placement="bottom">-->
|
||||
<!-- <span>文本状态 <i class="el-icon-warning-outline"></i></span>-->
|
||||
<!-- <span>标准状态 <i class="el-icon-warning-outline"></i></span>-->
|
||||
<!-- </el-tooltip>-->
|
||||
<!-- </template>-->
|
||||
<template slot-scope="scope">
|
||||
@@ -602,7 +602,7 @@
|
||||
show-overflow-tooltip
|
||||
sortable
|
||||
prop="standStatusShow"
|
||||
label="文本状态"
|
||||
label="标准状态"
|
||||
width="110"
|
||||
>
|
||||
|
||||
@@ -684,7 +684,7 @@
|
||||
show-overflow-tooltip
|
||||
sortable
|
||||
prop="standStatusShow"
|
||||
label="文本状态"
|
||||
label="标准状态"
|
||||
width="110"
|
||||
>
|
||||
|
||||
@@ -723,6 +723,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {baseUrl} from '@/sysConfig'
|
||||
import axios from 'axios'
|
||||
export default {
|
||||
name: "StandardRecognition",
|
||||
@@ -730,7 +731,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
selectTableDatas: [],
|
||||
textStatusMap: {}, // 文本状态id与name对应
|
||||
textStatusMap: {}, // 标准状态id与name对应
|
||||
lawInfoTable:[],
|
||||
lawInfoTableLoading: true,
|
||||
//手动查找的模态框
|
||||
@@ -789,7 +790,7 @@ export default {
|
||||
// },
|
||||
// ],
|
||||
fileType: [
|
||||
{ required: true, message: "文本状态称不能为空", trigger: "change" },
|
||||
{ required: true, message: "标准状态称不能为空", trigger: "change" },
|
||||
],
|
||||
fileName: [
|
||||
{ required: true, message: '文件不能为空', trigger: 'change' }
|
||||
@@ -816,7 +817,7 @@ export default {
|
||||
props: {},
|
||||
watch: {},
|
||||
methods: {
|
||||
// 将文本状态的id与name对应
|
||||
// 将标准状态的id与name对应
|
||||
setMap(data) {
|
||||
data.forEach(item => {
|
||||
this.$set(this.textStatusMap, item.value, item.label)
|
||||
@@ -835,7 +836,7 @@ export default {
|
||||
this.uploadFilesdfEo.standNumber =this.handleSelectTableList[0].standCode || this.handleSelectTableList[0].lawsNumber || this.handleSelectTableList[0].standSort+" "+this.handleSelectTableList[0].standNumber+"-"+this.handleSelectTableList[0].standYear
|
||||
this.uploadFilesdfEo.standName = this.handleSelectTableList[0].standName || this.handleSelectTableList[0].lawsName
|
||||
// console.log('999',this.handleSelectTableList[0])
|
||||
//文本状态,下次一定(tnnd,人家的文本状态和这个的文本状态都不是一个东西,不用画蛇添足)
|
||||
//标准状态,下次一定(tnnd,人家的标准状态和这个的标准状态都不是一个东西,不用画蛇添足)
|
||||
// this.uploadFilesdfEo.fileType = this.handleSelectTableList[0].standTextStatusShow || this.handleSelectTableList[0].standStatusShow
|
||||
this.selectModal = false
|
||||
}
|
||||
@@ -1276,7 +1277,7 @@ export default {
|
||||
},
|
||||
// 获取doc文件
|
||||
downloadFile(data) {
|
||||
let URL = 'https://srms.foton.com.cn/ocrResultFile/' + data.docRealName
|
||||
let URL = baseUrl + '/ocrResultFile/' + data.docRealName
|
||||
window.open(URL)
|
||||
// console.log(URL);
|
||||
// window.open(data.docRealFile);
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<div class="dynamic-content">
|
||||
<!-- 实施预警 -->
|
||||
<div class="dynamic">
|
||||
<div class="container">
|
||||
<div class="container" style="height: 100%">
|
||||
<!-- <el-tabs v-model="activeName" @tab-click="handleClick">-->
|
||||
<!-- <el-tab-pane label="标准预警" name="STANDARD">-->
|
||||
<div class="dynamic-content">
|
||||
@@ -16,23 +16,36 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col>
|
||||
<el-form-item label="标准编号">
|
||||
<el-input clearable size="mini"
|
||||
v-model="dynamic.standCode"
|
||||
placeholder="根据标准编号查找">
|
||||
</el-input>
|
||||
<el-input
|
||||
v-model="dynamic.standCode"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="根据标准编号查找"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="标准名称">
|
||||
<el-input clearable size="mini"
|
||||
v-model="dynamic.standName"
|
||||
placeholder="根据标准名称查找">
|
||||
</el-input>
|
||||
<el-input
|
||||
v-model="dynamic.standName"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="根据标准名称查找"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- 适用车型-->
|
||||
<el-form-item :label="$t('m.applicableModels')" class="add-form-item form-item-disabled">
|
||||
<el-select v-model="dynamic.applyType" size="mini"
|
||||
:placeholder="$t('m.searchAccordingToThApplicableModel')" clearable>
|
||||
<el-option v-for="opt in applyArcticOptions" :value="opt.value === undefined ? '' :opt.value"
|
||||
:key="opt.value" :label="opt.label">{{ opt.label }}
|
||||
<el-select
|
||||
v-model="dynamic.applyType"
|
||||
size="mini"
|
||||
:placeholder="$t('m.searchAccordingToThApplicableModel')"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="opt in applyArcticOptions"
|
||||
:key="opt.value"
|
||||
:value="opt.value === undefined ? '' :opt.value"
|
||||
:label="opt.label"
|
||||
>
|
||||
{{ opt.label }}
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -53,8 +66,8 @@
|
||||
size="mini"
|
||||
:picker-options="pickerBeginDateBefore"
|
||||
format="yyyy-MM-dd"
|
||||
placeholder="选择开始时间">
|
||||
</el-date-picker>
|
||||
placeholder="选择开始时间"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="至" label-width="25px">
|
||||
<el-date-picker
|
||||
@@ -63,8 +76,8 @@
|
||||
size="mini"
|
||||
format="yyyy-MM-dd"
|
||||
:picker-options="pickerBeginDateAfter"
|
||||
placeholder="选择结束时间">
|
||||
</el-date-picker>
|
||||
placeholder="选择结束时间"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="新车型实施日期" style="margin-right: 10px" class="choose-time-area">
|
||||
<el-date-picker
|
||||
@@ -73,8 +86,8 @@
|
||||
size="mini"
|
||||
:picker-options="XCXSSRQDateBefore"
|
||||
format="yyyy-MM-dd"
|
||||
placeholder="选择开始时间">
|
||||
</el-date-picker>
|
||||
placeholder="选择开始时间"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="至" label-width="25px">
|
||||
<el-date-picker
|
||||
@@ -83,8 +96,8 @@
|
||||
size="mini"
|
||||
format="yyyy-MM-dd"
|
||||
:picker-options="XCXSSRQDateAfter"
|
||||
placeholder="选择结束时间">
|
||||
</el-date-picker>
|
||||
placeholder="选择结束时间"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -97,8 +110,8 @@
|
||||
size="mini"
|
||||
:picker-options="SSRQDateBefore"
|
||||
format="yyyy-MM-dd"
|
||||
placeholder="选择开始时间">
|
||||
</el-date-picker>
|
||||
placeholder="选择开始时间"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="至" label-width="25px">
|
||||
<el-date-picker
|
||||
@@ -107,8 +120,8 @@
|
||||
size="mini"
|
||||
format="yyyy-MM-dd"
|
||||
:picker-options="SSRQDateAfter"
|
||||
placeholder="选择结束时间">
|
||||
</el-date-picker>
|
||||
placeholder="选择结束时间"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="在产车实施日期" style="margin-right: 10px" class="choose-time-area">
|
||||
<el-date-picker
|
||||
@@ -117,8 +130,8 @@
|
||||
size="mini"
|
||||
:picker-options="ZCCSSRQDateBefore"
|
||||
format="yyyy-MM-dd"
|
||||
placeholder="选择开始时间">
|
||||
</el-date-picker>
|
||||
placeholder="选择开始时间"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="至" label-width="25px">
|
||||
<el-date-picker
|
||||
@@ -127,57 +140,65 @@
|
||||
size="mini"
|
||||
format="yyyy-MM-dd"
|
||||
:picker-options="ZCCSSRQDateAfter"
|
||||
placeholder="选择结束时间">
|
||||
</el-date-picker>
|
||||
placeholder="选择结束时间"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-button
|
||||
v-btn-permission="'5dca375c3d8d57c45e4815acf3611b34'"
|
||||
style="margin: 6px 8px 0 0"
|
||||
type="primary"
|
||||
size="mini"
|
||||
v-btn-permission="'5dca375c3d8d57c45e4815acf3611b34'"
|
||||
class="common-button-primary"
|
||||
@click="searchBtnClick"
|
||||
class="common-button-primary">
|
||||
>
|
||||
查询
|
||||
</el-button>
|
||||
<el-button
|
||||
v-btn-permission="'8258ee44344e92365e7e5bd90f3c8d21'"
|
||||
style="margin: 6px 0 0 0"
|
||||
size="mini"
|
||||
v-btn-permission="'8258ee44344e92365e7e5bd90f3c8d21'"
|
||||
class="common-button-primary"
|
||||
@click="clearBtnClick"
|
||||
class="common-button-primary">
|
||||
>
|
||||
清空
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
<div style="float: right;margin: 0 3% 10px 0">
|
||||
<el-button type="primary" size="mini"
|
||||
v-btn-permission="'a34dcbc3a44a297a6b6cc95e450b28ea'"
|
||||
@click="exportExcelBtn">导出Excel</el-button>
|
||||
<div style="margin: 0 3% 10px 0;display: flex;justify-content: right">
|
||||
<el-button
|
||||
v-btn-permission="'a34dcbc3a44a297a6b6cc95e450b28ea'"
|
||||
type="primary"
|
||||
size="mini"
|
||||
@click="exportExcelBtn"
|
||||
>
|
||||
导出Excel
|
||||
</el-button>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="content" style="height: calc(100% - 224px);padding-bottom: 0">
|
||||
<!-- <el-divider content-position="left" class="dynamic-child-title">实施日期预警</el-divider>-->
|
||||
<el-table
|
||||
v-loading="warningTableLoading"
|
||||
:data="warningTableDatas"
|
||||
style="overflow-y: auto;"
|
||||
height="100%"
|
||||
height="calc(100% - 57px)"
|
||||
border
|
||||
:resizable="false"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||
v-loading="warningTableLoading"
|
||||
@selection-change="selectChange"
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
type="index"
|
||||
width="55"
|
||||
label="序号"
|
||||
align="center">
|
||||
type="index"
|
||||
width="55"
|
||||
label="序号"
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="{scope, column, $index}">
|
||||
{{ ($index + 1) + (pageConfig.page - 1) * pageConfig.pageSize }}
|
||||
</template>
|
||||
@@ -206,7 +227,13 @@
|
||||
<a @click="handlePreview(scope.row)">{{ scope.row.itemsNum }}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="itemsName" width="320" label="条款名称" align="center" show-overflow-tooltip>
|
||||
<el-table-column
|
||||
prop="itemsName"
|
||||
width="320"
|
||||
label="条款名称"
|
||||
align="center"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<a @click="handlePreview(scope.row)">{{ scope.row.itemsName }}</a>
|
||||
</template>
|
||||
@@ -215,12 +242,13 @@
|
||||
prop="termsConditions"
|
||||
label="条款内容"
|
||||
width="400"
|
||||
align="center">
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<a v-if="scope.row.termsConditions === null"></a>
|
||||
<a v-if="scope.row.termsConditions === null" />
|
||||
<a v-else @click="openDialog(scope.row.termsConditions)">{{
|
||||
scope.row.termsConditions.replace(/<[^>]+>/g, '').slice(0, 20) + '...'
|
||||
}}</a>
|
||||
scope.row.termsConditions.replace(/<[^>]+>/g, '').slice(0, 20) + '...'
|
||||
}}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="issueTime" label="发布日期" width="120" align="center">
|
||||
@@ -243,15 +271,22 @@
|
||||
<span>{{ scope.row.zccssrq }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="applyType" label="适用车型" width="150" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="100" align="center" v-if="isShowBtn" fixed="right">
|
||||
<el-table-column prop="applyType" label="适用车型" width="150" align="center" />
|
||||
<el-table-column
|
||||
v-if="isShowBtn"
|
||||
label="操作"
|
||||
width="100"
|
||||
align="center"
|
||||
fixed="right"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
v-btn-permission="'30d080f4194a10a76cc4994bad0afc9e'"
|
||||
size="mini"
|
||||
type="danger"
|
||||
v-btn-permission="'30d080f4194a10a76cc4994bad0afc9e'"
|
||||
@click="cancelWarning(scope.$index, scope.row)">取消预警
|
||||
@click="cancelWarning(scope.$index, scope.row)"
|
||||
>
|
||||
取消预警
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -263,46 +298,58 @@
|
||||
:total="pageConfig.total"
|
||||
autoSize
|
||||
@pageChange="page => handlePageChange('page', page)"
|
||||
@pageSizeChange="pageSize => handlePageSizeChange('pageSize', pageSize)"></pagination>
|
||||
@pageSizeChange="pageSize => handlePageSizeChange('pageSize', pageSize)"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<adc-back-top scroll-bind="dynamicInformation"></adc-back-top>
|
||||
<adc-back-top scroll-bind="dynamicInformation" />
|
||||
<!--导出模态框区域-->
|
||||
<el-dialog :visible.sync="exportModelFlag" title="导出文件" width="300px">
|
||||
<el-form :inline="true" class="label-input-form search-area">
|
||||
<el-form-item label="导出名称" class="search-item">
|
||||
<el-input v-model="exportName" placeholder="请输入导出文件名称" :maxlength="30" clearable label="导出名称"/>
|
||||
<el-input
|
||||
v-model="exportName"
|
||||
placeholder="请输入导出文件名称"
|
||||
:maxlength="30"
|
||||
clearable
|
||||
label="导出名称"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="demo-drawer-footer">
|
||||
<el-button size="mini" class="common-button-default" icon="el-icon-close" @click="cancal">取消</el-button>
|
||||
<el-button type="primary" size="mini" class="common-button-primary" icon="el-icon-check"
|
||||
@click="exportExcel">提交</el-button>
|
||||
</span>
|
||||
<el-button size="mini" class="common-button-default" icon="el-icon-close" @click="cancal">取消</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
size="mini"
|
||||
class="common-button-primary"
|
||||
icon="el-icon-check"
|
||||
@click="exportExcel"
|
||||
>提交</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog
|
||||
class="textDialog"
|
||||
title="条款内容"
|
||||
:visible.sync="detailTextDialog"
|
||||
width="50%">
|
||||
<span style="line-height: normal" v-html="detailText"></span>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
</div>
|
||||
width="50%"
|
||||
>
|
||||
<span style="line-height: normal" v-html="detailText" />
|
||||
<div slot="footer" class="dialog-footer" />
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {mapMutations} from "vuex";
|
||||
import {interfaceUrl} from "@/sysConfig";
|
||||
import { mapMutations } from 'vuex';
|
||||
import { interfaceUrl } from '@/sysConfig';
|
||||
|
||||
export default {
|
||||
name: "standardWarning",
|
||||
data() {
|
||||
name: 'StandardWarning',
|
||||
data () {
|
||||
return {
|
||||
detailTextDialog: false,
|
||||
detailText: '',
|
||||
@@ -313,7 +360,7 @@ export default {
|
||||
warningTableHeight: '',
|
||||
applyArcticOptions: [], // 适用车型下拉框
|
||||
isShowBtn: true,
|
||||
activeName: "STANDARD", //tab 默认选中值
|
||||
activeName: 'STANDARD', // tab 默认选中值
|
||||
// 头部搜索框
|
||||
dynamic: {
|
||||
// 发布日期
|
||||
@@ -322,33 +369,33 @@ export default {
|
||||
// 实施日期
|
||||
startSSRQ: '',
|
||||
endSSRQ: '',
|
||||
//新车型实施日期
|
||||
// 新车型实施日期
|
||||
startXCXSSRQ: '',
|
||||
endXCXSSRQ: '',
|
||||
// 在产车实施日期
|
||||
startZCCSSRQ: '',
|
||||
endZCCSSRQ: '',
|
||||
//标准编号
|
||||
standCode: "",
|
||||
//标准名称
|
||||
standName: "",
|
||||
//发布日期
|
||||
// 标准编号
|
||||
standCode: '',
|
||||
// 标准名称
|
||||
standName: '',
|
||||
// 发布日期
|
||||
putTime: [],
|
||||
//实施日期
|
||||
// 实施日期
|
||||
SSRQ: [],
|
||||
//新车型实施日期
|
||||
// 新车型实施日期
|
||||
XCXSSRQ: [],
|
||||
//在产车实施日期
|
||||
// 在产车实施日期
|
||||
ZCCSSRQ: [],
|
||||
//适用车型
|
||||
applyType: "",
|
||||
// 适用车型
|
||||
applyType: '',
|
||||
},
|
||||
height: null,
|
||||
energyKindOptions: [], //存放适用车型数据
|
||||
zrgcs: [], //责任工程师
|
||||
energyKindOptions: [], // 存放适用车型数据
|
||||
zrgcs: [], // 责任工程师
|
||||
// 新车型实施日期预警
|
||||
newItems: [],
|
||||
//政策新车型实施日期预警
|
||||
// 政策新车型实施日期预警
|
||||
newPolicy: [],
|
||||
// 新车型条款预警
|
||||
newStand: [],
|
||||
@@ -356,7 +403,7 @@ export default {
|
||||
oldItems: [],
|
||||
// 在产车条款预警
|
||||
oldStand: [],
|
||||
//政策在产车实施日期预警
|
||||
// 政策在产车实施日期预警
|
||||
oldPolicy: [],
|
||||
tableHeight: 0,
|
||||
pageConfig: {
|
||||
@@ -371,7 +418,7 @@ export default {
|
||||
// 发布日期当前日期之前不可选择
|
||||
pickerBeginDateBefore: {
|
||||
disabledDate: (time) => {
|
||||
let beginDateVal = this.dynamic.endIssueTime;
|
||||
const beginDateVal = this.dynamic.endIssueTime;
|
||||
if (beginDateVal) {
|
||||
return time.getTime() > beginDateVal;
|
||||
}
|
||||
@@ -379,7 +426,7 @@ export default {
|
||||
},
|
||||
pickerBeginDateAfter: {
|
||||
disabledDate: (time) => {
|
||||
let beginDateVal = this.dynamic.startIssueTime;
|
||||
const beginDateVal = this.dynamic.startIssueTime;
|
||||
if (beginDateVal) {
|
||||
return time.getTime() < beginDateVal;
|
||||
}
|
||||
@@ -388,7 +435,7 @@ export default {
|
||||
|
||||
SSRQDateBefore: {
|
||||
disabledDate: (time) => {
|
||||
let beginDateVal = this.dynamic.endSSRQ;
|
||||
const beginDateVal = this.dynamic.endSSRQ;
|
||||
if (beginDateVal) {
|
||||
return time.getTime() > beginDateVal;
|
||||
}
|
||||
@@ -396,7 +443,7 @@ export default {
|
||||
},
|
||||
SSRQDateAfter: {
|
||||
disabledDate: (time) => {
|
||||
let beginDateVal = this.dynamic.startSSRQ;
|
||||
const beginDateVal = this.dynamic.startSSRQ;
|
||||
if (beginDateVal) {
|
||||
return time.getTime() < beginDateVal;
|
||||
}
|
||||
@@ -405,7 +452,7 @@ export default {
|
||||
|
||||
XCXSSRQDateBefore: {
|
||||
disabledDate: (time) => {
|
||||
let beginDateVal = this.dynamic.endXCXSSRQ;
|
||||
const beginDateVal = this.dynamic.endXCXSSRQ;
|
||||
if (beginDateVal) {
|
||||
return time.getTime() > beginDateVal;
|
||||
}
|
||||
@@ -413,7 +460,7 @@ export default {
|
||||
},
|
||||
XCXSSRQDateAfter: {
|
||||
disabledDate: (time) => {
|
||||
let beginDateVal = this.dynamic.startXCXSSRQ;
|
||||
const beginDateVal = this.dynamic.startXCXSSRQ;
|
||||
if (beginDateVal) {
|
||||
return time.getTime() < beginDateVal;
|
||||
}
|
||||
@@ -421,7 +468,7 @@ export default {
|
||||
},
|
||||
ZCCSSRQDateBefore: {
|
||||
disabledDate: (time) => {
|
||||
let beginDateVal = this.dynamic.endZCCSSRQ;
|
||||
const beginDateVal = this.dynamic.endZCCSSRQ;
|
||||
if (beginDateVal) {
|
||||
return time.getTime() > beginDateVal;
|
||||
}
|
||||
@@ -429,7 +476,7 @@ export default {
|
||||
},
|
||||
ZCCSSRQDateAfter: {
|
||||
disabledDate: (time) => {
|
||||
let beginDateVal = this.dynamic.startZCCSSRQ;
|
||||
const beginDateVal = this.dynamic.startZCCSSRQ;
|
||||
if (beginDateVal) {
|
||||
return time.getTime() < beginDateVal;
|
||||
}
|
||||
@@ -438,12 +485,12 @@ export default {
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
//取消导出
|
||||
cancal() {
|
||||
// 取消导出
|
||||
cancal () {
|
||||
this.exportModelFlag = false
|
||||
},
|
||||
//确认导出
|
||||
exportExcel() {
|
||||
// 确认导出
|
||||
exportExcel () {
|
||||
console.log('293', this.selectedList)
|
||||
const exportURL = interfaceUrl + 'sys/EarlyWarning/exportWarning?' +
|
||||
'&ids=' + this.selectedList.join(',') + '&exportName=' + this.exportName
|
||||
@@ -451,12 +498,12 @@ export default {
|
||||
this.$message.success('导出信息成功')
|
||||
this.exportModelFlag = false
|
||||
},
|
||||
exportExcelBtn() {
|
||||
exportExcelBtn () {
|
||||
console.log('302', this.selectedList)
|
||||
this.exportName = ''
|
||||
this.exportModelFlag = true
|
||||
},
|
||||
selectChange(alldata) {
|
||||
selectChange (alldata) {
|
||||
console.log('307', alldata)
|
||||
this.selectedList = []
|
||||
for (let i = 0; i < alldata.length; i++) {
|
||||
@@ -464,7 +511,7 @@ export default {
|
||||
}
|
||||
},
|
||||
// 获取标准预警数据 (type用于区别分页器切换)
|
||||
getEarlyDate() {
|
||||
getEarlyDate () {
|
||||
this.warningTableLoading = true
|
||||
this.$http.get('sys/EarlyWarning/getStandWarning', {
|
||||
applyType: '',
|
||||
@@ -478,58 +525,58 @@ export default {
|
||||
this[field].forEach(item => {
|
||||
// 适用车型转换
|
||||
if (item.applyType !== null) {
|
||||
let k = (item.applyType || "").split(",");
|
||||
for (let i in this.energyKindOptions) {
|
||||
const k = (item.applyType || '').split(',');
|
||||
for (const i in this.energyKindOptions) {
|
||||
for (let m = 0; m < k.length; m++) {
|
||||
if (this.energyKindOptions[i].value === k[m]) {
|
||||
k[m] = this.energyKindOptions[i].label;
|
||||
}
|
||||
item.applyType = k.join(",");
|
||||
item.applyType = k.join(',');
|
||||
}
|
||||
}
|
||||
}
|
||||
// 责任工程师转换
|
||||
if (item.dutyEngineer !== null) {
|
||||
let k = (item.dutyEngineer || "").split(",");
|
||||
for (let i in this.zrgcs) {
|
||||
const k = (item.dutyEngineer || '').split(',');
|
||||
for (const i in this.zrgcs) {
|
||||
for (let m = 0; m < k.length; m++) {
|
||||
if (this.zrgcs[i].value === k[m]) {
|
||||
k[m] = this.zrgcs[i].label;
|
||||
}
|
||||
item.dutyEngineer = k.join(",");
|
||||
item.dutyEngineer = k.join(',');
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
let arr = result.newItems.records
|
||||
const arr = result.newItems.records
|
||||
arr.forEach(item => {
|
||||
// 适用车型转换
|
||||
if (item.applyType !== null) {
|
||||
let k = (item.applyType || "").split(",");
|
||||
for (let i in this.energyKindOptions) {
|
||||
const k = (item.applyType || '').split(',');
|
||||
for (const i in this.energyKindOptions) {
|
||||
for (let m = 0; m < k.length; m++) {
|
||||
if (this.energyKindOptions[i].value === k[m]) {
|
||||
k[m] = this.energyKindOptions[i].label;
|
||||
}
|
||||
item.applyType = k.join(",");
|
||||
item.applyType = k.join(',');
|
||||
}
|
||||
}
|
||||
}
|
||||
// 责任工程师转换
|
||||
if (item.dutyEngineer !== null) {
|
||||
let k = (item.dutyEngineer || "").split(",");
|
||||
for (let i in this.zrgcs) {
|
||||
const k = (item.dutyEngineer || '').split(',');
|
||||
for (const i in this.zrgcs) {
|
||||
for (let m = 0; m < k.length; m++) {
|
||||
if (this.zrgcs[i].value === k[m]) {
|
||||
k[m] = this.zrgcs[i].label;
|
||||
}
|
||||
item.dutyEngineer = k.join(",");
|
||||
item.dutyEngineer = k.join(',');
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
this.newItems = arr
|
||||
//可能还需要调整一下条款或标准的顺序(zyh)
|
||||
// 可能还需要调整一下条款或标准的顺序(zyh)
|
||||
switch (field) {
|
||||
case 'newItems':
|
||||
this.pageConfig.count1 = result.newItems.total
|
||||
@@ -549,9 +596,9 @@ export default {
|
||||
}, e => {
|
||||
});
|
||||
},
|
||||
//点击查看详情
|
||||
handlePreview(item) {
|
||||
let routeUrl = this.$router.resolve({
|
||||
// 点击查看详情
|
||||
handlePreview (item) {
|
||||
const routeUrl = this.$router.resolve({
|
||||
name: 'OtherStandardDetails',
|
||||
params: {
|
||||
id: item.standId,
|
||||
@@ -560,8 +607,8 @@ export default {
|
||||
})
|
||||
window.open(routeUrl.href, '_blank')
|
||||
},
|
||||
//获取政策预警数据(type用于区别分页器切换)
|
||||
getPolicyDate() {
|
||||
// 获取政策预警数据(type用于区别分页器切换)
|
||||
getPolicyDate () {
|
||||
this.loading[this.field] = true
|
||||
this.$http.get('sys/EarlyWarning/PolicyWarning', {
|
||||
applyType: '',
|
||||
@@ -588,12 +635,12 @@ export default {
|
||||
});
|
||||
},
|
||||
// 切换tab
|
||||
handleClick(tab, event) {
|
||||
handleClick (tab, event) {
|
||||
this.getPolicyDate();
|
||||
switch (tab.name) {
|
||||
case "POLICY":
|
||||
case 'POLICY':
|
||||
const computedHeight = () => {
|
||||
this.tableHeight = $(".content-group").find(".table-wrap").height();
|
||||
this.tableHeight = $('.content-group').find('.table-wrap').height();
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
computedHeight()
|
||||
@@ -604,8 +651,8 @@ export default {
|
||||
});
|
||||
}
|
||||
},
|
||||
//查找适用车型
|
||||
searchBtnClick() {
|
||||
// 查找适用车型
|
||||
searchBtnClick () {
|
||||
if (this.dynamic.putTime === null) {
|
||||
this.dynamic.putTime = []
|
||||
}
|
||||
@@ -622,23 +669,23 @@ export default {
|
||||
this.warningTableLoading = true
|
||||
this.$http.get('sys/EarlyWarning/getStandWarning', {
|
||||
...this.pageConfig,
|
||||
//标准编号
|
||||
// 标准编号
|
||||
standCode: this.dynamic.standCode,
|
||||
//标准名称
|
||||
// 标准名称
|
||||
standName: this.dynamic.standName,
|
||||
//发布日期
|
||||
// 发布日期
|
||||
startIssueTime: this.dynamic.startIssueTime ? this.$moment(this.dynamic.startIssueTime).format('YYYY-MM-DD') : '',
|
||||
endIssueTime: this.dynamic.endIssueTime ? this.$moment(this.dynamic.endIssueTime).format('YYYY-MM-DD') : '',
|
||||
//实施日期
|
||||
// 实施日期
|
||||
startSSRQ: this.dynamic.startSSRQ ? this.$moment(this.dynamic.startSSRQ).format('YYYY-MM-DD') : '',
|
||||
endSSRQ: this.dynamic.endSSRQ ? this.$moment(this.dynamic.endSSRQ).format('YYYY-MM-DD') : '',
|
||||
//新车型实施日期
|
||||
// 新车型实施日期
|
||||
startXCXSSRQ: this.dynamic.startXCXSSRQ ? this.$moment(this.dynamic.startXCXSSRQ).format('YYYY-MM-DD') : '',
|
||||
endXCXSSRQ: this.dynamic.endXCXSSRQ ? this.$moment(this.dynamic.endXCXSSRQ).format('YYYY-MM-DD') : '',
|
||||
//在产车实施日期
|
||||
// 在产车实施日期
|
||||
startZCCSSRQ: this.dynamic.startZCCSSRQ ? this.$moment(this.dynamic.startZCCSSRQ).format('YYYY-MM-DD') : '',
|
||||
endZCCSSRQ: this.dynamic.endZCCSSRQ ? this.$moment(this.dynamic.endZCCSSRQ).format('YYYY-MM-DD') : '',
|
||||
//适用车型
|
||||
// 适用车型
|
||||
applyType: this.dynamic.applyType
|
||||
}, {
|
||||
_this: this,
|
||||
@@ -646,13 +693,13 @@ export default {
|
||||
// 适用车型转换
|
||||
for (let a = 0; a < res.data.records.length; a++) {
|
||||
if (res.data.records[a].applyType !== null) {
|
||||
let k = (res.data.records[a].applyType || "").split(",");
|
||||
for (let i in this.energyKindOptions) {
|
||||
const k = (res.data.records[a].applyType || '').split(',');
|
||||
for (const i in this.energyKindOptions) {
|
||||
for (let m = 0; m < k.length; m++) {
|
||||
if (this.energyKindOptions[i].value === k[m]) {
|
||||
k[m] = this.energyKindOptions[i].label;
|
||||
}
|
||||
res.data.records[a].applyType = k.join(",");
|
||||
res.data.records[a].applyType = k.join(',');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -671,28 +718,28 @@ export default {
|
||||
}, e => {
|
||||
})
|
||||
},
|
||||
clearBtnClick() {
|
||||
clearBtnClick () {
|
||||
this.dynamic = {
|
||||
//标准编号
|
||||
standCode: "",
|
||||
//标准名称
|
||||
standName: "",
|
||||
//发布日期
|
||||
// 标准编号
|
||||
standCode: '',
|
||||
// 标准名称
|
||||
standName: '',
|
||||
// 发布日期
|
||||
putTime: [],
|
||||
//实施日期
|
||||
// 实施日期
|
||||
SSRQ: [],
|
||||
//新车型实施日期
|
||||
// 新车型实施日期
|
||||
XCXSSRQ: [],
|
||||
//在产车实施日期
|
||||
// 在产车实施日期
|
||||
ZCCSSRQ: [],
|
||||
//适用车型
|
||||
applyType: "",
|
||||
// 适用车型
|
||||
applyType: '',
|
||||
}
|
||||
this.pageConfig.page = 1
|
||||
this.searchBtnClick()
|
||||
},
|
||||
//取消预警
|
||||
cancelWarning(index, row) {
|
||||
// 取消预警
|
||||
cancelWarning (index, row) {
|
||||
this.$confirm('确认取消预警?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
confirmButtonClass: 'common-button-primary',
|
||||
@@ -701,22 +748,22 @@ export default {
|
||||
roundButton: false
|
||||
}).then(() => {
|
||||
this.$http.get('sys/EarlyWarning/ChangePermissions', {
|
||||
id: row.id,
|
||||
}, {}, res => {
|
||||
this.pageConfig.page = 1
|
||||
this.pageConfig.newPolicyPage = 1
|
||||
this.pageConfig.oldPolicyPage = 1
|
||||
this.searchBtnClick()
|
||||
this.getEarlyDate()
|
||||
}
|
||||
id: row.id,
|
||||
}, {}, res => {
|
||||
this.pageConfig.page = 1
|
||||
this.pageConfig.newPolicyPage = 1
|
||||
this.pageConfig.oldPolicyPage = 1
|
||||
this.searchBtnClick()
|
||||
this.getEarlyDate()
|
||||
}
|
||||
)
|
||||
}).catch(() => {
|
||||
this.$message.warning('取消事件')
|
||||
})
|
||||
},
|
||||
showStandDetails(item) {
|
||||
let getStandId = item.sarId;
|
||||
let getStandType = item.sortName;
|
||||
showStandDetails (item) {
|
||||
const getStandId = item.sarId;
|
||||
const getStandType = item.sortName;
|
||||
// this.$http.get("lawss/sarMenu/judgeSarMenuByRole", {
|
||||
// sarId: getStandId,
|
||||
// sarType: getStandType,
|
||||
@@ -774,24 +821,24 @@ export default {
|
||||
* @author: chenxiaoxi
|
||||
* @date: 2018/11/01 10:20:12
|
||||
*/
|
||||
dateFormat(date) {
|
||||
let year = new Date(date).getFullYear();
|
||||
let month = new Date(date).getMonth() + 1;
|
||||
let day = new Date(date).getDate();
|
||||
return year + "-" + (month < 10 ? "0" + month : month) + "-" + (day < 10 ? "0" + day : day);
|
||||
dateFormat (date) {
|
||||
const year = new Date(date).getFullYear();
|
||||
const month = new Date(date).getMonth() + 1;
|
||||
const day = new Date(date).getDate();
|
||||
return year + '-' + (month < 10 ? '0' + month : month) + '-' + (day < 10 ? '0' + day : day);
|
||||
},
|
||||
getDate(date) {
|
||||
return date !== undefined && date != null ? date.split(" ")[0] : "";
|
||||
getDate (date) {
|
||||
return date !== undefined && date != null ? date.split(' ')[0] : '';
|
||||
},
|
||||
handlePageChange(field, page) {
|
||||
handlePageChange (field, page) {
|
||||
this.pageConfig.page = page
|
||||
this.searchBtnClick()
|
||||
console.log('735', this.warningTableDatas)
|
||||
this.activeName === 'STANDARD' ? this.getEarlyDate() : this.getPolicyDate()
|
||||
this.field = field
|
||||
},
|
||||
//分页每页显示数改变后方法
|
||||
handlePageSizeChange(field, pageSize) {
|
||||
// 分页每页显示数改变后方法
|
||||
handlePageSizeChange (field, pageSize) {
|
||||
// const _pageSize = field + 'PageSize'
|
||||
// this.pageConfig[_pageSize] = pageSize
|
||||
this.pageConfig.pageSize = pageSize
|
||||
@@ -800,9 +847,9 @@ export default {
|
||||
// this.activeName === 'STANDARD' ? this.getEarlyDate() : this.getPolicyDate()
|
||||
// this.field = field
|
||||
},
|
||||
...mapMutations(["setDetailMap"]),
|
||||
...mapMutations([ 'setDetailMap' ]),
|
||||
|
||||
openDialog(text) {
|
||||
openDialog (text) {
|
||||
this.detailText = text
|
||||
this.detailTextDialog = true
|
||||
},
|
||||
@@ -813,7 +860,7 @@ export default {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
containerStyle() {
|
||||
containerStyle () {
|
||||
this.$nextTick(() => {
|
||||
return this.activeName === 'POLICY' ? {
|
||||
height: '100%'
|
||||
@@ -822,7 +869,7 @@ export default {
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
mounted() {
|
||||
mounted () {
|
||||
this.warningTableLoading = true
|
||||
// this.$nextTick(() => {
|
||||
// this.warningTableHeight = $(window).height()*0.54
|
||||
@@ -835,8 +882,8 @@ export default {
|
||||
// window.onresize = () => {
|
||||
// this.height = $(".content").height();
|
||||
// };
|
||||
//从数据库中查询下拉框数据
|
||||
this.$http.get("sys/dictype/getDicTypeListCode", {}, {
|
||||
// 从数据库中查询下拉框数据
|
||||
this.$http.get('sys/dictype/getDicTypeListCode', {}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.energyKindOptions = res.data.ENERGYTYPES; // 文本状态
|
||||
@@ -852,13 +899,13 @@ export default {
|
||||
// 适用车型转换
|
||||
for (let a = 0; a < res.data.records.length; a++) {
|
||||
if (res.data.records[a].applyType !== null) {
|
||||
let k = (res.data.records[a].applyType || "").split(",");
|
||||
for (let i in this.energyKindOptions) {
|
||||
const k = (res.data.records[a].applyType || '').split(',');
|
||||
for (const i in this.energyKindOptions) {
|
||||
for (let m = 0; m < k.length; m++) {
|
||||
if (this.energyKindOptions[i].value === k[m]) {
|
||||
k[m] = this.energyKindOptions[i].label;
|
||||
}
|
||||
res.data.records[a].applyType = k.join(",");
|
||||
res.data.records[a].applyType = k.join(',');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -873,7 +920,6 @@ export default {
|
||||
});
|
||||
});
|
||||
this.searchBtnClick()
|
||||
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@@ -1151,7 +1197,6 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
::v-deep {
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
import { mapMutations, mapActions } from 'vuex'
|
||||
import axios from 'axios'
|
||||
import util from 'util'
|
||||
import isMobile from "../../store/isMobile";
|
||||
export default {
|
||||
name: 'Login',
|
||||
data () {
|
||||
@@ -187,6 +188,10 @@
|
||||
if (this.showIETips) {//判断是否IE浏览器
|
||||
alert('为了最佳显示效果 请使用google chrome')
|
||||
}
|
||||
if (isMobile()) {
|
||||
this.$router.push('/phoneHome')
|
||||
return;
|
||||
}
|
||||
this.$router.push('/home2')
|
||||
}, e => {
|
||||
this.$message.warning('未获取到菜单')
|
||||
|
||||
@@ -39,7 +39,8 @@
|
||||
showCancelButton: false,
|
||||
}).then(() => {
|
||||
// hwh5.close()
|
||||
this.$router.go(-2)
|
||||
// this.$router.go(-2)
|
||||
this.$close()
|
||||
})
|
||||
},
|
||||
/**
|
||||
|
||||
@@ -1023,7 +1023,7 @@
|
||||
<el-table-column
|
||||
prop="textStatus"
|
||||
width="110"
|
||||
label="文本状态">
|
||||
label="标准状态">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="textStatusMap[scope.row.textStatus] === '废止' " style="color: #F56C6C">{{
|
||||
textStatusMap[scope.row.textStatus]
|
||||
@@ -1138,7 +1138,7 @@
|
||||
<el-table-column
|
||||
prop="textStatus"
|
||||
width="110"
|
||||
label="文本状态">
|
||||
label="标准状态">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{
|
||||
textStatusMap[scope.row.textStatus]
|
||||
@@ -1212,7 +1212,7 @@
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="standStatusShow"
|
||||
label="文本状态"
|
||||
label="标准状态"
|
||||
width="110"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
@@ -1309,7 +1309,7 @@ export default {
|
||||
validFlag: '0',
|
||||
menuId: 'nomenu'
|
||||
},
|
||||
textStatusMap: {},// 文本状态id与name对应
|
||||
textStatusMap: {},// 标准状态id与name对应
|
||||
textState: [],
|
||||
standModel: false,
|
||||
lawInfoTableLoading: true,
|
||||
@@ -1367,8 +1367,8 @@ export default {
|
||||
_this: this,
|
||||
loading: "loading"
|
||||
}, res => {
|
||||
this.setMap(res.data.WBZTCLASS);// 文本状态
|
||||
this.textState = res.data.WBZTCLASS // 文本状态
|
||||
this.setMap(res.data.WBZTCLASS);// 标准状态
|
||||
this.textState = res.data.WBZTCLASS // 标准状态
|
||||
this.pubOptions = res.data.DYGGWT //问答公共问题
|
||||
}, e => {
|
||||
});
|
||||
@@ -1471,7 +1471,7 @@ export default {
|
||||
});
|
||||
window.open(routeUrl.href, "_blank");
|
||||
},
|
||||
// 将文本状态的id与name对应
|
||||
// 将标准状态的id与name对应
|
||||
setMap(data) {
|
||||
data.forEach(item => {
|
||||
this.$set(this.textStatusMap, item.value, item.label)
|
||||
|
||||
@@ -1035,7 +1035,7 @@
|
||||
<el-table-column
|
||||
prop="textStatus"
|
||||
width="110"
|
||||
label="文本状态">
|
||||
label="标准状态">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="textStatusMap[scope.row.textStatus] === '废止' " style="color: #F56C6C">{{
|
||||
textStatusMap[scope.row.textStatus]
|
||||
@@ -1150,7 +1150,7 @@
|
||||
<el-table-column
|
||||
prop="textStatus"
|
||||
width="110"
|
||||
label="文本状态">
|
||||
label="标准状态">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="textStatusMap[scope.row.textStatus] === '废止'" style="color: #F56C6C">{{
|
||||
textStatusMap[scope.row.textStatus]
|
||||
@@ -1224,7 +1224,7 @@
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="standStatusShow"
|
||||
label="文本状态"
|
||||
label="标准状态"
|
||||
width="110"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
@@ -1322,7 +1322,7 @@ export default {
|
||||
validFlag: '0',
|
||||
menuId: 'nomenu'
|
||||
},
|
||||
textStatusMap: {},// 文本状态id与name对应
|
||||
textStatusMap: {},// 标准状态id与name对应
|
||||
textState: [],
|
||||
standModel: false,
|
||||
lawInfoTableLoading: true,
|
||||
@@ -1415,8 +1415,8 @@ export default {
|
||||
_this: this,
|
||||
loading: "loading"
|
||||
}, res => {
|
||||
this.setMap(res.data.WBZTCLASS);// 文本状态
|
||||
this.textState = res.data.WBZTCLASS // 文本状态
|
||||
this.setMap(res.data.WBZTCLASS);// 标准状态
|
||||
this.textState = res.data.WBZTCLASS // 标准状态
|
||||
this.pubOptions = res.data.DYGGWT //问答公共问题
|
||||
}, e => {
|
||||
});
|
||||
@@ -1530,7 +1530,7 @@ export default {
|
||||
});
|
||||
window.open(routeUrl.href, "_blank");
|
||||
},
|
||||
// 将文本状态的id与name对应
|
||||
// 将标准状态的id与name对应
|
||||
setMap(data) {
|
||||
data.forEach(item => {
|
||||
this.$set(this.textStatusMap, item.value, item.label)
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
<template>
|
||||
<van-popup v-model="popupShow"
|
||||
position="right"
|
||||
:style="{ height: '100%', width: '90%' }"
|
||||
round
|
||||
:close-on-click-overlay="false"
|
||||
@click-overlay="handleCancel">
|
||||
<van-popup
|
||||
v-model="popupShow"
|
||||
position="right"
|
||||
:style="{ height: '100%', width: '70%' }"
|
||||
round
|
||||
:close-on-click-overlay="false"
|
||||
@click-overlay="handleCancel"
|
||||
>
|
||||
<h3 class="popup-title">
|
||||
<span>体系结构</span>
|
||||
<van-icon name="cross" size="22px" @click="handleCancel" />
|
||||
@@ -13,28 +15,43 @@
|
||||
<van-field name="radio" label="标准状态">
|
||||
<template #input>
|
||||
<van-radio-group v-model="textStatusName" direction="horizontal">
|
||||
<van-radio name="全部">全部</van-radio>
|
||||
<van-radio name="全部" style="margin-bottom: 5px;">全部</van-radio>
|
||||
<van-radio name="现行有效">现行有效</van-radio>
|
||||
</van-radio-group>
|
||||
</template>
|
||||
</van-field>
|
||||
<standardSystemTree ref="standardSystemTreeRef" :data="standardSystemTreeData" :loading="loading" @checkedKey="getCheckedKey"></standardSystemTree>
|
||||
<standardSystemTree ref="standardSystemTreeRef" :data="standardSystemTreeData" :loading="loading" @checkedKey="getCheckedKey" />
|
||||
</div>
|
||||
<div class="popup-footer">
|
||||
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="handleReset">重置</el-button>
|
||||
<!--<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="handleCancel">取消</el-button>-->
|
||||
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="handleOk">确定</el-button>
|
||||
<el-button
|
||||
class="common-button-primary"
|
||||
size="mini"
|
||||
icon="el-icon-check"
|
||||
type="primary"
|
||||
@click="handleOk"
|
||||
>
|
||||
确定
|
||||
</el-button>
|
||||
</div>
|
||||
</van-popup>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import standardSystemTree from "./standardSystemTree";
|
||||
import standardSystemTree from './standardSystemTree';
|
||||
export default {
|
||||
name: "standardSystemPopup",
|
||||
name: 'StandardSystemPopup',
|
||||
components: {
|
||||
standardSystemTree,
|
||||
},
|
||||
props: {
|
||||
// 以前的选中项
|
||||
initKeys: {
|
||||
type: Array,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
popupShow: true,
|
||||
@@ -48,17 +65,14 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
props: {
|
||||
// 以前的选中项
|
||||
initKeys: {
|
||||
type: Array,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
activated () {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
initOpen () {
|
||||
this.checkedKeys = []
|
||||
this.textStatusName = '全部'
|
||||
this.getData()
|
||||
this.$refs.standardSystemTreeRef.setCheckedKeys([])
|
||||
this.popupShow = true
|
||||
},
|
||||
open () {
|
||||
this.getData()
|
||||
this.$refs.standardSystemTreeRef.setCheckedKeys(this.initKeys)
|
||||
@@ -72,8 +86,8 @@ export default {
|
||||
},
|
||||
handleOk () {
|
||||
// if (this.checkedKeys.length > 0) {
|
||||
this.popupShow = false
|
||||
// this.$emit('standSystemKeys', this.checkedKeys)
|
||||
this.popupShow = false
|
||||
// this.$emit('standSystemKeys', this.checkedKeys)
|
||||
this.$emit('searchQuery', { checkedKeys: this.checkedKeys, textStatusName: this.textStatusName })
|
||||
// } else {
|
||||
// // this.$toast('请至少选择一项');
|
||||
@@ -83,7 +97,7 @@ export default {
|
||||
},
|
||||
handleCancel () {
|
||||
// if (this.initKeys.length > 0) {
|
||||
this.hide()
|
||||
this.hide()
|
||||
// } else {
|
||||
// this.$message.error('请至少选择一项')
|
||||
// this.open()
|
||||
@@ -96,7 +110,7 @@ export default {
|
||||
},
|
||||
async getData () {
|
||||
let url = this.api.getListStand
|
||||
let query = { sorDivide: 'INLAND_STAND' }
|
||||
const query = { sorDivide: 'INLAND_STAND' }
|
||||
switch (this.$route.query.standType) {
|
||||
case 'INLAND':
|
||||
break
|
||||
@@ -108,9 +122,9 @@ export default {
|
||||
query.sorDivide = 'BUSINESS_STAND'
|
||||
break
|
||||
}
|
||||
//INLAND 国内 FOREIGN 海外 bussstand 企标
|
||||
const res = await this.$http._getData(url,query,{
|
||||
_this:this,
|
||||
// INLAND 国内 FOREIGN 海外 bussstand 企标
|
||||
const res = await this.$http._getData(url, query, {
|
||||
_this: this,
|
||||
loading: 'loading'
|
||||
})
|
||||
if (res.ok && res.data) {
|
||||
|
||||
@@ -102,7 +102,7 @@ export default {
|
||||
if (page) {
|
||||
this.searchQuery.page = page
|
||||
}
|
||||
this.$http._postData(this.url.searchSarBykey, this.searchQuery, config).then(res => {
|
||||
this.$http._post(this.url.searchSarBykey, this.searchQuery, config).then(res => {
|
||||
if (res.ok) {
|
||||
this.total = res.data.count
|
||||
if (this.searchQuery.page === 1) {
|
||||
|
||||
+2749
-2611
File diff suppressed because it is too large
Load Diff
@@ -133,10 +133,10 @@ export default {
|
||||
loading: true,
|
||||
page: 1,
|
||||
standList: [],
|
||||
standStateOptions: [], //标准文本状态
|
||||
lawsTextStateOptions: [], //政策文本状态
|
||||
standStateOptions: [], //标准标准状态
|
||||
lawsTextStateOptions: [], //政策标准状态
|
||||
standNatureOptions: [],
|
||||
textStatusMap: {},// 文本状态id与name对应
|
||||
textStatusMap: {},// 标准状态id与name对应
|
||||
natureMap:{},
|
||||
lawsMap:{},
|
||||
textStatus: '现行有效',
|
||||
@@ -587,7 +587,7 @@ export default {
|
||||
back(){
|
||||
this.$router.push('/phoneHome')
|
||||
},
|
||||
//将文本状态的id和name相对应
|
||||
//将标准状态的id和name相对应
|
||||
setMap(data) {
|
||||
data.forEach(item => {
|
||||
this.$set(this.textStatusMap, item.value, item.label);
|
||||
@@ -625,8 +625,8 @@ export default {
|
||||
this.$http.get("sys/dictype/getDicTypeListCode", {}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.standStateOptions = res.data.WBZTCLASS; // 标准文本状态
|
||||
this.lawsTextStateOptions = res.data.lawsTextState //政策文本状态
|
||||
this.standStateOptions = res.data.WBZTCLASS; // 标准标准状态
|
||||
this.lawsTextStateOptions = res.data.lawsTextState //政策标准状态
|
||||
console.log(this.lawsTextStateOptions);
|
||||
this.standNatureOptions = res.data.SARPROPERTY // 标准性质
|
||||
this.setMap(this.standStateOptions);
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<div style="display: flex;align-items: center">
|
||||
<van-search
|
||||
style="flex: 1;padding-right: 0"
|
||||
v-model="searchQuery.selectValue"
|
||||
v-model="searchQuery.findValue"
|
||||
show-action
|
||||
placeholder="请输入搜索关键词"
|
||||
@search="onSearch"
|
||||
@@ -40,60 +40,44 @@
|
||||
:key="item.id"
|
||||
@click="jumpDetails(item)">
|
||||
<div class="standTitle">
|
||||
<div v-if="$route.query.standType === 'POLICY'" class="title">{{item.lawsNumber}}</div>
|
||||
<div v-else class="title">{{ item.stand_code || item.numbershow }}</div>
|
||||
<div class="title" v-if="$route.query.standType === 'INLAND' || $route.query.standType === 'FOREIGN'">{{ convertTitle(item.standSort, item.standNumber, item.standYear) }}</div>
|
||||
<div class="title" v-else-if="$route.query.standType === 'bussstand'">{{ item.standCode || convertTitle(item.standSort, item.standNumber, item.standYear) }}</div>
|
||||
</div>
|
||||
|
||||
<div class="standContent">
|
||||
<div class="standState">{{(item.nameshow && item.nameshow !== '') ? item.nameshow : (item.standName && item.standName !== '') ? item.standName : item.standEnName }}</div>
|
||||
<div class="standSubTime" v-if="$route.query.standType === 'POLICY'">标准状态:
|
||||
<span v-if="lawsMap[item.lawsTextState] === '作废'"
|
||||
style="color: #F56C6C; padding-left: 5px;">
|
||||
{{ lawsMap[item.lawsTextState] }}
|
||||
</span>
|
||||
<span v-else-if="lawsMap[item.lawsTextState] === '参考' || lawsMap[item.lawsTextState] === '被代替' || lawsMap[item.lawsTextState] === '现行有效'"
|
||||
style="color: #35720B; padding-left: 5px;">
|
||||
{{ lawsMap[item.lawsTextState] }}
|
||||
</span>
|
||||
<span v-else style=" padding-left: 5px;">
|
||||
{{ lawsMap[item.lawsTextState] }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="standSubTime" v-else-if="$route.query.standType === 'bussstand'" >标准状态:
|
||||
<span v-if="item.textStatusBussName === '废止'" style="color: #F56C6C; padding-left: 5px;"> {{ item.textStatusBussName }} </span>
|
||||
<span v-else-if="item.textStatusBussName === '参考' || item.textStatusBussName === '被代替'" style="color: #35720B; padding-left: 5px;">{{ item.textStatusBussName }}</span>
|
||||
<span v-else style=" padding-left: 5px;">{{ item.textStatusBussName }}</span>
|
||||
</div>
|
||||
<div class="standSubTime" v-else >标准状态:
|
||||
<span v-if="textStatusMap[item.textStatus] === '废止'"
|
||||
style="color: #F56C6C; padding-left: 5px;">
|
||||
{{ textStatusMap[item.textStatus] }}
|
||||
</span>
|
||||
<span v-else-if="textStatusMap[item.textStatus] === '参考' || textStatusMap[item.textStatus] === '被代替'"
|
||||
style="color: #35720B; padding-left: 5px;">
|
||||
{{ textStatusMap[item.textStatus] }}
|
||||
</span>
|
||||
<span v-else style=" padding-left: 5px;">
|
||||
{{ textStatusMap[item.textStatus] }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="standState">{{ item.standName || item.standEnName || '-' }}</div>
|
||||
|
||||
<template>
|
||||
<div class="standSubTime" v-if="$route.query.standType === 'INLAND' || $route.query.standType === 'FOREIGN'">
|
||||
标准状态:
|
||||
<span v-if="item.standTextStatusShow === '废止'" style="color: #F56C6C; padding-left: 5px;">{{ item.standTextStatusShow }}</span>
|
||||
<span v-else-if="item.standTextStatusShow === '参考' || item.standTextStatusShow === '被代替'" style="color: #35720B; padding-left: 5px;">{{ item.standTextStatusShow }}</span>
|
||||
<span v-else style=" padding-left: 5px;">{{ item.standTextStatusShow }}</span>
|
||||
</div>
|
||||
|
||||
<div class="standSubTime" v-else-if="$route.query.standType === 'bussstand'">
|
||||
标准状态:
|
||||
<span v-if="item.standStatusShow === '废止'" style="color: #F56C6C; padding-left: 5px;">{{ item.standStatusShow }}</span>
|
||||
<span v-else-if="item.standStatusShow === '参考' || item.standStatusShow === '被代替'" style="color: #35720B; padding-left: 5px;">{{ item.standStatusShow }}</span>
|
||||
<span v-else style=" padding-left: 5px;">{{ item.standStatusShow }}</span>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
|
||||
<div class="content-time">
|
||||
<div style="margin-top: 10px">
|
||||
<span style="padding-left: 10px;min-width: 200px;">
|
||||
发布日期: {{ item.issueTime ? (item.issueTime !== '' ? $moment(item.issueTime).format("YYYY-MM-DD") : " ") : " " }}
|
||||
</span>
|
||||
<span style="padding-left: 15px;" v-if="$route.query.standType === 'POLICY'">实施日期: {{item.XCXSSRQLAWS}}</span>
|
||||
<span style="padding-left: 15px;" v-else-if="$route.query.standType === 'bussstand'">实施日期: {{item.putTime}}</span>
|
||||
<span style="padding-left: 15px;" v-else>实施日期: {{item.SSRQ}}</span>
|
||||
</div>
|
||||
<div style="width: 50%">发布日期: <span style="padding-left: 5px;">{{ convertTime(item.issueTime) }}</span></div>
|
||||
<template>
|
||||
<div v-if="$route.query.standType === 'INLAND' || $route.query.standType === 'FOREIGN'"
|
||||
style="width: 50%">实施日期: <span style="padding-left: 5px;">{{ convertTime(item.ssrq) }}</span></div>
|
||||
<div v-else-if="$route.query.standType === 'bussstand'"
|
||||
style="width: 50%">实施日期: <span style="padding-left: 5px;">{{ convertTime(item.putTime) }}</span></div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</PhoneScroll>
|
||||
|
||||
<standardSystemPopup :init-keys="searchQuery.standSystem" @searchQuery="setSearchQuery" ref="standardSystemPopupRef" />
|
||||
<standardSystemPopup :init-keys="convertId(searchQuery.menuId)" @searchQuery="setSearchQuery" ref="standardSystemPopupRef" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -108,23 +92,25 @@ export default {
|
||||
standardSystemPopup,
|
||||
},
|
||||
data () {
|
||||
const searchQuery = {
|
||||
standType: 'INLAND',
|
||||
findValue: '',
|
||||
textState: '全部',
|
||||
menuId: '',
|
||||
page: 1,
|
||||
pageSize: 20
|
||||
}
|
||||
return {
|
||||
titleName: '',
|
||||
searchQuery: {
|
||||
selectIndex: 'stand',
|
||||
selectValue: '',
|
||||
standSystem: [],
|
||||
textStatus: '全部',
|
||||
selectType: 'titleSearch',
|
||||
standType: 'INLAND',
|
||||
page: 1,
|
||||
pageSize: 20
|
||||
},
|
||||
searchQuery,
|
||||
initSearQuery: { ...searchQuery },
|
||||
total: 0,
|
||||
loading: false,
|
||||
list: [],
|
||||
url: {
|
||||
searchSarBykey: 'search/searchCenter/searchSarBykey'
|
||||
searchSarBykey: 'search/searchCenter/searchSarBykey',
|
||||
getSarStandardsInfoPageForPhone: 'sarStandardsInfo/sar-standards-info/getSarStandardsInfoPageForPhone',
|
||||
getSarBussionStandPageForPhone: 'lawss/sarBussionessStand/getSarBussionStandPageForPhone'
|
||||
},
|
||||
textStatusMap: {},
|
||||
natureMap:{},
|
||||
@@ -145,12 +131,9 @@ export default {
|
||||
case 'bussstand':
|
||||
vm.titleName = '企业标准'
|
||||
break
|
||||
case 'POLICY':
|
||||
vm.titleName = '国内外政策库'
|
||||
break
|
||||
}
|
||||
vm.searchQuery.page = 1
|
||||
vm.$refs.standardSystemPopupRef.popupShow = true
|
||||
vm.searchQuery = { ...vm.initSearQuery }
|
||||
vm.$refs.standardSystemPopupRef.initOpen()
|
||||
vm.$refs.scroll.scrollTo(0, 0)
|
||||
vm.getData()
|
||||
}
|
||||
@@ -181,6 +164,31 @@ export default {
|
||||
// this.getData()
|
||||
},
|
||||
methods: {
|
||||
convertTitle (standSort, standName, standYear) {
|
||||
if (!standYear || standYear === '') {
|
||||
return standSort + ' ' + standName
|
||||
} else {
|
||||
return standSort + ' ' + standName + '-' + standYear
|
||||
}
|
||||
},
|
||||
convertTime (time) {
|
||||
if (!time || time === '') {
|
||||
return '-'
|
||||
} else {
|
||||
const timeArr = time.split(',')
|
||||
if (timeArr.length === 1) {
|
||||
return this.$moment(time).format('YYYY-MM-DD')
|
||||
} else {
|
||||
return this.$moment(timeArr[0]).format('YYYY-MM-DD') + ',...'
|
||||
}
|
||||
}
|
||||
},
|
||||
convertId (idArr) {
|
||||
if (idArr === '') {
|
||||
return []
|
||||
}
|
||||
return idArr.split(',')
|
||||
},
|
||||
onSearch () {
|
||||
this.list = []
|
||||
// this.searchQuery.page = 1
|
||||
@@ -191,21 +199,14 @@ export default {
|
||||
getData (page) {
|
||||
switch (this.$route.query.standType) {
|
||||
case 'INLAND':
|
||||
this.searchQuery.selectIndex = 'stand'
|
||||
this.searchQuery.standType = 'INLAND'
|
||||
break
|
||||
case 'FOREIGN':
|
||||
this.searchQuery.selectIndex = 'stand'
|
||||
this.searchQuery.standType = 'FOREIGN'
|
||||
break
|
||||
case 'bussstand':
|
||||
this.searchQuery.selectIndex = 'bussstand'
|
||||
this.searchQuery.standType = 'bussstand'
|
||||
break
|
||||
case 'POLICY':
|
||||
this.searchQuery.selectIndex = 'laws'
|
||||
this.searchQuery.standType = 'laws'
|
||||
break
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
const config = {
|
||||
@@ -215,7 +216,11 @@ export default {
|
||||
if (page) {
|
||||
this.searchQuery.page = page
|
||||
}
|
||||
this.$http._postData("search/searchCenter/searchSarBykey", this.searchQuery, config).then(res => {
|
||||
let url = this.url.getSarStandardsInfoPageForPhone
|
||||
if (this.$route.query.standType === 'bussstand') {
|
||||
url = this.url.getSarBussionStandPageForPhone
|
||||
}
|
||||
this.$http._getData(url, this.searchQuery, config).then(res => {
|
||||
if (res.ok) {
|
||||
this.total = res.data.count
|
||||
|
||||
@@ -234,16 +239,18 @@ export default {
|
||||
this.$refs.standardSystemPopupRef.open()
|
||||
},
|
||||
setSearchQuery (searchQuery) {
|
||||
this.searchQuery.standSystem = searchQuery.checkedKeys
|
||||
this.searchQuery.textStatus = searchQuery.textStatusName
|
||||
this.searchQuery.menuId = searchQuery.checkedKeys.join(',')
|
||||
this.searchQuery.textState = searchQuery.textStatusName
|
||||
this.onSearch()
|
||||
},
|
||||
getDicTypeListCode () {
|
||||
this.$http._getData('sys/dictype/getDicTypeListCode').then(res => {
|
||||
this.dict = {...res.data}
|
||||
this.setMap(this.dict.WBZTCLASS, 'textStatusMap')
|
||||
this.setMap(this.dict.lawsTextState, 'lawsMap')
|
||||
this.setMap(this.dict.SARPROPERTY, 'natureMap')
|
||||
if (res.ok) {
|
||||
this.dict = {...res.data}
|
||||
this.setMap(this.dict.WBZTCLASS, 'textStatusMap')
|
||||
this.setMap(this.dict.lawsTextState, 'lawsMap')
|
||||
this.setMap(this.dict.SARPROPERTY, 'natureMap')
|
||||
}
|
||||
})
|
||||
},
|
||||
setMap(data, key) {
|
||||
@@ -367,8 +374,10 @@ export default {
|
||||
font-size: 3.4vw;
|
||||
width: 100%;
|
||||
height: 35px;
|
||||
margin-top: 5px;
|
||||
line-height: 35px;
|
||||
padding: 0 10px;
|
||||
border-top: 1px solid #cccccc;
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
.card-content:first-child{
|
||||
|
||||
@@ -219,7 +219,7 @@
|
||||
</template>
|
||||
<el-row :gutter="5" class="half">
|
||||
<el-col :span="8">
|
||||
<label title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。">文本状态</label>
|
||||
<label title="“计划修订”、“修订中”均为现行有效版本;“已修订”标准的有效性根据实际实施情况判定。">标准状态</label>
|
||||
</el-col>
|
||||
<el-col :span="16">
|
||||
<span>{{ textStatusMap[sarStandardsInfoEO.textStatus] || '-' }}</span>
|
||||
@@ -1978,7 +1978,7 @@ export default {
|
||||
FormatDate(date) {
|
||||
return moment(date).format('YYYY-MM-DD');
|
||||
},
|
||||
// 将文本状态的id与name对应
|
||||
// 将标准状态的id与name对应
|
||||
setMap(data) {
|
||||
data.forEach(item => {
|
||||
this.$set(this.textStatusMap, item.value, item.label)
|
||||
@@ -3445,7 +3445,7 @@ export default {
|
||||
this.emergyKindOptions = res.data.ENERGYTYPES
|
||||
this.requestOptions = res.data.REQUESTTYPE
|
||||
this.BZFGGXOUIUJ = res.data.BZFGGXOUIUJ // 企标覆盖关系
|
||||
this.setMap(res.data.WBZTCLASS) // 文本状态
|
||||
this.setMap(res.data.WBZTCLASS) // 标准状态
|
||||
this.setMap(res.data.SARPROPERTY) // 标准性质
|
||||
}, e => {
|
||||
})
|
||||
|
||||
@@ -135,8 +135,8 @@ export default {
|
||||
standList: [],
|
||||
standardReleaseList: [],
|
||||
page: 1,
|
||||
standStateOptions: [], //存放文本状态
|
||||
textStatusMap: {},// 文本状态id与name对应
|
||||
standStateOptions: [], //存放标准状态
|
||||
textStatusMap: {},// 标准状态id与name对应
|
||||
loading: true,
|
||||
scrolled: "",
|
||||
moreFlag: false,
|
||||
@@ -310,7 +310,7 @@ export default {
|
||||
console.log(e);
|
||||
});
|
||||
},
|
||||
//将文本状态的id和name相对应
|
||||
//将标准状态的id和name相对应
|
||||
setMap(data) {
|
||||
data.forEach(item => {
|
||||
this.$set(this.textStatusMap, item.value, item.label);
|
||||
@@ -336,7 +336,7 @@ export default {
|
||||
this.$http.get("sys/dictype/getDicTypeListCode", {}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
this.standStateOptions = res.data.WBZTCLASS; // 文本状态
|
||||
this.standStateOptions = res.data.WBZTCLASS; // 标准状态
|
||||
this.setMap(this.standStateOptions);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -0,0 +1,146 @@
|
||||
<template>
|
||||
<PhoneScroll
|
||||
height="calc(100vh - 101px)"
|
||||
:data="list"
|
||||
:page="searchQuery.page"
|
||||
:pageSize="searchQuery.size"
|
||||
:total="total"
|
||||
:loading="loading"
|
||||
pullUpLoad
|
||||
pullDownRefresh
|
||||
:getDataHandler="getData">
|
||||
<div style="padding-top: 10px">
|
||||
<div class="card-content" v-for="item in list" :key="item.id" @click="jumpDetails(item)">
|
||||
<div class="standTitle">
|
||||
<div class="title">{{ item.cid }}</div>
|
||||
</div>
|
||||
|
||||
<div class="standContent">
|
||||
<div class="standState">{{ item.standardName }}</div>
|
||||
<div class="standState">
|
||||
标准/政策: <span style="color: #35720B; padding-left: 5px;">{{ item.category }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="timeFooter">
|
||||
<div style="width: 50%">开始日期: <span style="padding-left: 5px;">{{ convertTime(item.startTime) }}</span></div>
|
||||
<div style="width: 50%">结束日期: <span style="padding-left: 5px;">{{ convertTime(item.endTime) }}</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</PhoneScroll>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PhoneScroll from "@/components/hzwlComponents/phone/PhoneScroll";
|
||||
|
||||
export default {
|
||||
name: "SolicitOpinions",
|
||||
components: {
|
||||
PhoneScroll
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
searchQuery: {
|
||||
page: 1,
|
||||
size: 10,
|
||||
},
|
||||
total: 0,
|
||||
list: [],
|
||||
loading: false,
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
convertTime (time) {
|
||||
return time !== '' ? this.$moment(time).format('YYYY-MM-DD') : '-'
|
||||
},
|
||||
getData (page) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const config = {
|
||||
_this: this,
|
||||
loading: 'loading'
|
||||
}
|
||||
if (page) {
|
||||
this.searchQuery.page = page
|
||||
}
|
||||
this.$http._getData("slrs/sar-public-idea/SelectAllPage", this.searchQuery, config).then(res => {
|
||||
if (res.ok) {
|
||||
this.total = res.data.total
|
||||
|
||||
if (this.searchQuery.page === 1) {
|
||||
this.list = res.data.records
|
||||
} else {
|
||||
this.list = [...this.list, ...res.data.records]
|
||||
}
|
||||
}
|
||||
}).finally(() => {
|
||||
resolve()
|
||||
})
|
||||
})
|
||||
},
|
||||
jumpDetails () {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.scroll-wrapper {
|
||||
height: calc(100vh - 131px);
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.card-content {
|
||||
width: 95%;
|
||||
height: auto;
|
||||
margin: 10px;
|
||||
background-color: #FFFFFF;
|
||||
border-radius: 5px;
|
||||
box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1);
|
||||
|
||||
.standTitle {
|
||||
.title {
|
||||
font-size: 3.4vw;
|
||||
color: #333333;
|
||||
font-weight: 600;
|
||||
height: auto;
|
||||
line-height: 20px;
|
||||
padding: 5px 10px;
|
||||
text-align: left;
|
||||
border-bottom: 1px solid #cccccc;
|
||||
}
|
||||
}
|
||||
|
||||
.standContent {
|
||||
font-size: 3.4vw;
|
||||
color: #555555;
|
||||
font-weight: 450;
|
||||
margin-top: 5px;
|
||||
|
||||
.standState {
|
||||
padding-left: 10px;
|
||||
//height: 35px;
|
||||
line-height: 25px;
|
||||
}
|
||||
}
|
||||
|
||||
.timeFooter {
|
||||
font-size: 3.4vw;
|
||||
padding: 0 10px;
|
||||
height: 35px;
|
||||
line-height: 35px;
|
||||
border-top: 1px solid #cccccc;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
}
|
||||
.card-content:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -0,0 +1,199 @@
|
||||
<template>
|
||||
<PhoneScroll
|
||||
height="calc(100vh - 101px)"
|
||||
:data="list"
|
||||
:page="searchQuery.page"
|
||||
:pageSize="searchQuery.pageSize"
|
||||
:total="total"
|
||||
:loading="loading"
|
||||
pullUpLoad
|
||||
pullDownRefresh
|
||||
:getDataHandler="getData"
|
||||
>
|
||||
<div style="padding-top: 10px">
|
||||
<div v-for="item in list" :key="item.id" class="card-content" @click="jumpDetails(item)">
|
||||
<div class="standTitle">
|
||||
<div class="title">{{ item.standard || '-' }}</div>
|
||||
</div>
|
||||
|
||||
<div class="standContent">
|
||||
<div class="standState">{{ item.standardName || '-' }}</div>
|
||||
<div class="standState">
|
||||
标准状态: <span style="color: #35720B; padding-left: 5px;">{{ textStateMap[item.textState] || '-' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="timeFooter">
|
||||
<div style="width: 50%">发布日期: <span style="padding-left: 5px;">{{ convertTime(item.releaseDate) }}</span></div>
|
||||
<div style="width: 50%">实施日期: <span style="padding-left: 5px;">{{ convertTime(item.putTime) }}</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</PhoneScroll>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PhoneScroll from '@/components/hzwlComponents/phone/PhoneScroll';
|
||||
|
||||
export default {
|
||||
name: 'Standard',
|
||||
components: {
|
||||
PhoneScroll
|
||||
},
|
||||
props: {
|
||||
messageType: {
|
||||
type: String,
|
||||
default: 'ZYBZFG'
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
searchQuery: {
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
messageType: this.messageType
|
||||
},
|
||||
total: 0,
|
||||
list: [],
|
||||
loading: false,
|
||||
dict: {},
|
||||
textStateMap: {}
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.getDicTypeListCode()
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
convertTime (time) {
|
||||
// return (time && time !== '') ? this.$moment(time).format('YYYY-MM-DD') : '-'
|
||||
if (!time || time === '') {
|
||||
return '-'
|
||||
} else {
|
||||
const timeArr = time.split(',')
|
||||
if (timeArr.length === 1) {
|
||||
return this.$moment(time).format('YYYY-MM-DD')
|
||||
} else {
|
||||
return this.$moment(timeArr[0]).format('YYYY-MM-DD') + ',...'
|
||||
}
|
||||
}
|
||||
},
|
||||
getData (page) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const config = {
|
||||
_this: this,
|
||||
loading: 'loading'
|
||||
}
|
||||
if (page) {
|
||||
this.searchQuery.page = page
|
||||
}
|
||||
this.$http._getData('lawss/NewsFeed/getNewsFeed', this.searchQuery, config).then(res => {
|
||||
if (res.ok) {
|
||||
this.total = res.data.total
|
||||
|
||||
if (this.searchQuery.page === 1) {
|
||||
this.list = res.data.records
|
||||
} else {
|
||||
this.list = [ ...this.list, ...res.data.records ]
|
||||
}
|
||||
}
|
||||
}).finally(() => {
|
||||
resolve()
|
||||
})
|
||||
})
|
||||
},
|
||||
getDicTypeListCode () {
|
||||
this.$http._getData('sys/dictype/getDicTypeListCode').then(res => {
|
||||
this.dict = { ...res.data }
|
||||
// WBZTCLASS 国内、国外 TEXTSTATUSBUSS 企业
|
||||
this.setMap([ ...this.dict.WBZTCLASS, ...this.dict.TEXTSTATUSBUSS ], 'textStateMap')
|
||||
})
|
||||
},
|
||||
setMap (data, key) {
|
||||
data.forEach(item => {
|
||||
this.$set(this[key], item.value, item.label);
|
||||
});
|
||||
},
|
||||
jumpDetails (item) {
|
||||
let pageType = ''
|
||||
switch (item.resourceType) {
|
||||
case 'INLAND':
|
||||
pageType = 'INLAND_STAND'
|
||||
break
|
||||
case 'FOREIGN':
|
||||
pageType = 'FOREIGN_STAND'
|
||||
break
|
||||
case 'BUSINESS':
|
||||
pageType = 'BUSS'
|
||||
break
|
||||
}
|
||||
this.$router.push({
|
||||
name: 'domesticDetails',
|
||||
query: {
|
||||
id: item.standardId,
|
||||
pageType
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.root {
|
||||
height: 100%;
|
||||
}
|
||||
.scroll-wrapper {
|
||||
height: calc(100vh - 131px);
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.card-content {
|
||||
width: 95%;
|
||||
height: auto;
|
||||
margin: 10px;
|
||||
background-color: #FFFFFF;
|
||||
border-radius: 5px;
|
||||
box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1);
|
||||
|
||||
.standTitle {
|
||||
.title {
|
||||
font-size: 3.4vw;
|
||||
color: #333333;
|
||||
font-weight: 600;
|
||||
height: auto;
|
||||
line-height: 20px;
|
||||
padding: 5px 10px;
|
||||
text-align: left;
|
||||
border-bottom: 1px solid #cccccc;
|
||||
}
|
||||
}
|
||||
|
||||
.standContent {
|
||||
font-size: 3.4vw;
|
||||
color: #555555;
|
||||
font-weight: 450;
|
||||
margin-top: 5px;
|
||||
|
||||
.standState {
|
||||
padding-left: 10px;
|
||||
//height: 35px;
|
||||
line-height: 25px;
|
||||
}
|
||||
}
|
||||
|
||||
.timeFooter {
|
||||
font-size: 3.4vw;
|
||||
padding: 0 10px;
|
||||
height: 35px;
|
||||
line-height: 35px;
|
||||
border-top: 1px solid #cccccc;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
}
|
||||
.card-content:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
</style>
|
||||
@@ -1,30 +1,40 @@
|
||||
<template>
|
||||
<van-popup v-model="popupShow"
|
||||
position="right"
|
||||
:style="{ height: '100%', width: '90%' }"
|
||||
round
|
||||
:close-on-click-overlay="false"
|
||||
@click-overlay="handleCancel"
|
||||
get-container="body">
|
||||
<van-popup
|
||||
v-model="popupShow"
|
||||
position="right"
|
||||
:style="{ height: '100%', width: '70%' }"
|
||||
round
|
||||
:close-on-click-overlay="false"
|
||||
get-container="body"
|
||||
@click-overlay="handleCancel"
|
||||
>
|
||||
<h3 class="popup-title">
|
||||
<span>体系结构</span>
|
||||
<van-icon name="cross" size="22px" @click="handleCancel" />
|
||||
</h3>
|
||||
<div class="popup-main">
|
||||
<folderTree ref="folderTreeRef" @checked="getChecked"></folderTree>
|
||||
<folderTree ref="folderTreeRef" @checked="getChecked" />
|
||||
</div>
|
||||
<div class="popup-footer">
|
||||
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="handleReset">重置</el-button>
|
||||
<el-button class="common-button-default" size="mini" icon="el-icon-close" @click="handleCancel">取消</el-button>
|
||||
<el-button class="common-button-primary" size="mini" icon="el-icon-check" type="primary" @click="handleOk">确定</el-button>
|
||||
<el-button
|
||||
class="common-button-primary"
|
||||
size="mini"
|
||||
icon="el-icon-check"
|
||||
type="primary"
|
||||
@click="handleOk"
|
||||
>
|
||||
确定
|
||||
</el-button>
|
||||
</div>
|
||||
</van-popup>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import folderTree from "./folderTree";
|
||||
import folderTree from './folderTree';
|
||||
export default {
|
||||
name: "folderPopup",
|
||||
name: 'FolderPopup',
|
||||
components: {
|
||||
folderTree,
|
||||
},
|
||||
|
||||
@@ -6,36 +6,45 @@
|
||||
<span class="left-title" @click="back"> < </span>
|
||||
<span class="right-title">标准化动态</span>
|
||||
</div>
|
||||
<van-tabs v-model="active">
|
||||
<van-tab name="ZYBZFG" title="在研标准入库">
|
||||
<UnderResearchStandards></UnderResearchStandards>
|
||||
<van-tabs v-model="active" :ellipsis="false" swipeable>
|
||||
<van-tab name="UnderResearchStandards" title="在研标准入库">
|
||||
<Standard message-type="ZYBZFG"></Standard>
|
||||
</van-tab>
|
||||
<van-tab name="GNWBZFG" title="标准法规入库">
|
||||
<StandardRegulations></StandardRegulations>
|
||||
<van-tab name="Domestic" title="国内法规入库">
|
||||
<Standard message-type="GNBZFG"></Standard>
|
||||
</van-tab>
|
||||
<van-tab name="ZLZX" title="资料中心">
|
||||
<van-tab name="Abroad" title="国外法规入库">
|
||||
<Standard message-type="GWBZFG"></Standard>
|
||||
</van-tab>
|
||||
<van-tab name="DataCenter" title="资料中心">
|
||||
<DataCenter></DataCenter>
|
||||
</van-tab>
|
||||
<!--<van-tab name="SolicitOpinions" title="标准征求意见">-->
|
||||
<!-- <SolicitOpinions></SolicitOpinions>-->
|
||||
<!--</van-tab>-->
|
||||
<van-tab name="EnterpriseStandard" title="企业标准发布">
|
||||
<Standard message-type="QYBZFB"></Standard>
|
||||
</van-tab>
|
||||
</van-tabs>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import UnderResearchStandards from "./components/UnderResearchStandards";
|
||||
import StandardRegulations from "./components/StandardRegulations";
|
||||
import Standard from "./components/Standard";
|
||||
import SolicitOpinions from "./components/SolicitOpinions";
|
||||
import DataCenter from "./components/DataCenter";
|
||||
|
||||
export default {
|
||||
name: "standDynamics",
|
||||
components: {
|
||||
UnderResearchStandards,
|
||||
StandardRegulations,
|
||||
Standard,
|
||||
SolicitOpinions,
|
||||
DataCenter
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
active: "ZYBZFG",
|
||||
active: "UnderResearchStandards",
|
||||
isShow: true
|
||||
};
|
||||
},
|
||||
@@ -43,7 +52,7 @@ export default {
|
||||
next(vm => {
|
||||
if (from.name === 'phoneHome') {
|
||||
// 首页进入 重新加载
|
||||
vm.active = "ZYBZFG";
|
||||
vm.active = "UnderResearchStandards";
|
||||
vm.isShow = false
|
||||
vm.$nextTick(() => {
|
||||
vm.isShow = true
|
||||
|
||||
+1796
-1796
File diff suppressed because it is too large
Load Diff
@@ -137,7 +137,7 @@
|
||||
>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination style="position: relative" :page="searchForm.page" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
|
||||
<pagination style="position: relative" :auto-size="true" :page-size="searchForm.pageSize" :page="searchForm.page" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
|
||||
<loading :loading="loading">数据获取中...</loading>
|
||||
</div>
|
||||
<div slot="footer">
|
||||
@@ -163,7 +163,10 @@ export default {
|
||||
]
|
||||
return {
|
||||
show: false,
|
||||
searchForm: {},
|
||||
searchForm: {
|
||||
pageSize:20,
|
||||
page:1
|
||||
},
|
||||
api: {
|
||||
page: 'lawss/sarLawsTopic/page'
|
||||
},
|
||||
@@ -177,7 +180,7 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
async getData () {
|
||||
this.searchForm.pageSize = this.searchForm.pageSize || this.$store.getters.userInfo.configContent
|
||||
this.searchForm.pageSize = this.searchForm.pageSize
|
||||
this.searchForm.page = this.searchForm.page || 1
|
||||
let params = { ...this.searchForm }
|
||||
const res = await this.$http._getData(this.api.page, params, {_this:this,loading: 'loading'})
|
||||
@@ -187,7 +190,10 @@ export default {
|
||||
}
|
||||
},
|
||||
open () {
|
||||
this.$set(this, 'searchForm', {})
|
||||
this.$set(this, 'searchForm', {
|
||||
pageSize:20,
|
||||
page:1
|
||||
})
|
||||
this.getData()
|
||||
this.show = true
|
||||
},
|
||||
|
||||
@@ -1,87 +1,101 @@
|
||||
<template>
|
||||
<el-drawer :title="title"
|
||||
:visible="showDrawer"
|
||||
:wrapperClosable="false"
|
||||
@close="onClose"
|
||||
size="1050px">
|
||||
<el-drawer
|
||||
:title="title"
|
||||
:visible="showDrawer"
|
||||
:wrapperClosable="false"
|
||||
size="1050px"
|
||||
@close="onClose"
|
||||
>
|
||||
<div class="drawer-content">
|
||||
<el-form
|
||||
v-if="showDrawer && reloadForm"
|
||||
ref="formRef"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
class="label-input-form"
|
||||
v-if="showDrawer && reloadForm"
|
||||
ref="formRef"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
class="label-input-form"
|
||||
>
|
||||
<el-col :span="24"><div class="divider-line">基础信息</div></el-col>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="会议名称" prop="meetingName" label-width="150px" class="add-form-item">
|
||||
<el-input v-model="form.meetingName"
|
||||
placeholder="请输入会议名称"
|
||||
clearable></el-input>
|
||||
<el-input
|
||||
v-model="form.meetingName"
|
||||
placeholder="请输入会议名称"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="课题名称" prop="topicName" label-width="150px" class="add-form-item">
|
||||
<el-input v-model="form.topicName"
|
||||
placeholder="请输入课题名称"
|
||||
clearable></el-input>
|
||||
<el-input
|
||||
v-model="form.topicName"
|
||||
placeholder="请输入课题名称"
|
||||
clearable
|
||||
/>
|
||||
<el-button
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="mini"
|
||||
style="position:absolute;top: 10px;right: 0;"
|
||||
@click="handleGetTopic"
|
||||
>调取课题</el-button>
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="mini"
|
||||
style="position:absolute;top: 10px;right: 0;"
|
||||
@click="handleGetTopic"
|
||||
>
|
||||
调取课题
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="会议主办单位" prop="meetingOrganizer" label-width="150px" class="add-form-item">
|
||||
<el-input v-model="form.meetingOrganizer"
|
||||
placeholder="请输入会议主办单位"
|
||||
clearable></el-input>
|
||||
<el-input
|
||||
v-model="form.meetingOrganizer"
|
||||
placeholder="请输入会议主办单位"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<CustomDatePick
|
||||
:config="{
|
||||
attrName: '会议时间',
|
||||
attrField: 'meetingTime'
|
||||
}"
|
||||
v-model="form.meetingTime"
|
||||
></CustomDatePick>
|
||||
v-model="form.meetingTime"
|
||||
:config="{
|
||||
attrName: '会议时间',
|
||||
attrField: 'meetingTime'
|
||||
}"
|
||||
/>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="会议地点" prop="meetingAddress" label-width="150px" class="add-form-item">
|
||||
<el-input v-model="form.meetingAddress"
|
||||
placeholder="请输入会议地点"
|
||||
clearable></el-input>
|
||||
<el-input
|
||||
v-model="form.meetingAddress"
|
||||
placeholder="请输入会议地点"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="参会人员" prop="participants" label-width="150px" class="add-form-item">
|
||||
<el-input v-model="form.participants"
|
||||
placeholder="请输入参会人员"
|
||||
clearable></el-input>
|
||||
<el-input
|
||||
v-model="form.participants"
|
||||
placeholder="请输入参会人员"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<custom-file
|
||||
:config="{
|
||||
attrName: '会议纪要',
|
||||
attrField: 'meetingMinutes'
|
||||
}"
|
||||
v-model="form.meetingMinutes"
|
||||
></custom-file>
|
||||
v-model="form.meetingMinutes"
|
||||
:config="{
|
||||
attrName: '会议纪要',
|
||||
attrField: 'meetingMinutes'
|
||||
}"
|
||||
/>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<CustomTextarea
|
||||
:config="{
|
||||
v-model="form.meetingContent"
|
||||
:config="{
|
||||
attrName: '会议主要内容',
|
||||
attrField: 'meetingContent'
|
||||
}"
|
||||
v-model="form.meetingContent"
|
||||
></CustomTextarea>
|
||||
/>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-col :span="24"><div class="divider-line">会议分类</div></el-col>
|
||||
@@ -89,13 +103,16 @@
|
||||
<el-col :span="12">
|
||||
<el-form-item label="1级会议分类" prop="firstMeetingType" label-width="150px" class="add-form-item">
|
||||
<template slot="label">1级会议分类</template>
|
||||
<el-select v-model="form.firstMeetingType"
|
||||
placeholder="请选择1级会议分类"
|
||||
clearable>
|
||||
<el-select
|
||||
v-model="form.firstMeetingType"
|
||||
placeholder="请选择1级会议分类"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="opt in dict.firstMeetingType"
|
||||
:key="opt.value"
|
||||
:value="opt.value === undefined ? '' :opt.value" :label="opt.label"
|
||||
v-for="opt in dict.firstMeetingType"
|
||||
:key="opt.value"
|
||||
:value="opt.value === undefined ? '' :opt.value"
|
||||
:label="opt.label"
|
||||
>
|
||||
{{ opt.label }}
|
||||
</el-option>
|
||||
@@ -105,13 +122,16 @@
|
||||
<el-col :span="12">
|
||||
<el-form-item label="2级会议分类" prop="secondMeetingType" label-width="150px" class="add-form-item">
|
||||
<template slot="label">2级会议分类</template>
|
||||
<el-select v-model="form.secondMeetingType"
|
||||
placeholder="请选择2级会议分类"
|
||||
clearable>
|
||||
<el-select
|
||||
v-model="form.secondMeetingType"
|
||||
placeholder="请选择2级会议分类"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="opt in dict.secondMeetingType"
|
||||
:key="opt.value"
|
||||
:value="opt.value === undefined ? '' :opt.value" :label="opt.label"
|
||||
v-for="opt in dict.secondMeetingType"
|
||||
:key="opt.value"
|
||||
:value="opt.value === undefined ? '' :opt.value"
|
||||
:label="opt.label"
|
||||
>
|
||||
{{ opt.label }}
|
||||
</el-option>
|
||||
@@ -121,65 +141,115 @@
|
||||
</el-row>
|
||||
<el-row>
|
||||
<template v-for="(item, index) in form.meetingTopicList">
|
||||
<el-col :span="24">
|
||||
<div class="divider-line">
|
||||
会议议题
|
||||
<el-button type="primary" size="mini" icon="el-icon-plus" @click="addMeetingTopic"
|
||||
:style="{visibility: (index === form.meetingTopicList.length - 1) ? 'visible' : 'collapse'}"></el-button>
|
||||
<el-button type="primary" size="mini" icon="el-icon-minus" @click="removeMeetingTopic(index)"
|
||||
:style="{visibility: (form.meetingTopicList.length < 2 && index === 0) ? 'collapse' : 'visible'}"></el-button>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div class="divider-line" style="display: flex;align-items: center;justify-content: space-between">
|
||||
<div>
|
||||
会议议题{{ index + 1 }}
|
||||
<el-button
|
||||
style="margin-left: 10px"
|
||||
type="primary"
|
||||
size="mini"
|
||||
icon="el-icon-plus"
|
||||
:style="{visibility: (index === form.meetingTopicList.length - 1) ? 'visible' : 'collapse'}"
|
||||
@click="addMeetingTopic"
|
||||
/>
|
||||
<el-button
|
||||
type="primary"
|
||||
size="mini"
|
||||
icon="el-icon-minus"
|
||||
:style="{visibility: (form.meetingTopicList.length < 2 && index === 0) ? 'collapse' : 'visible'}"
|
||||
@click="removeMeetingTopic(index)"
|
||||
/>
|
||||
</div>
|
||||
<div style="display: flex;align-items: center">
|
||||
<i
|
||||
class="el-icon-bottom move-icon"
|
||||
style="transform: rotate(180deg)"
|
||||
:style="{visibility: (index === 0) ? 'collapse' : 'visible'}"
|
||||
@click="moveOrder(index, 'top')"
|
||||
/>
|
||||
<i
|
||||
class="el-icon-bottom move-icon"
|
||||
:style="{visibility: (index === form.meetingTopicList.length - 1) ? 'collapse' : 'visible'}"
|
||||
@click="moveOrder(index, 'bottom')"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="议题名称" :prop="'meetingTopicList.' + index + '.agendaName'" :rules="rules.agendaName" label-width="150px" class="add-form-item">
|
||||
<el-input v-model="item.agendaName"
|
||||
placeholder="请输入议题名称"
|
||||
clearable></el-input>
|
||||
<el-form-item
|
||||
label="议题名称"
|
||||
:prop="'meetingTopicList.' + index + '.agendaName'"
|
||||
:rules="rules.agendaName"
|
||||
label-width="150px"
|
||||
class="add-form-item"
|
||||
>
|
||||
<el-input
|
||||
v-model="item.agendaName"
|
||||
placeholder="请输入议题名称"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<customFile
|
||||
v-model="item.agendaMaterials"
|
||||
:config="{
|
||||
attrName: '议题材料',
|
||||
attrField: `meetingTopicList.${index}.agendaMaterials`
|
||||
}"
|
||||
:rules="rules.agendaMaterials"
|
||||
v-model="item.agendaMaterials"
|
||||
></customFile>
|
||||
/>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="汇报人" :prop="'meetingTopicList.' + index + '.reporter'" :rules="rules.reporter" label-width="150px" class="add-form-item">
|
||||
<el-input v-model="item.reporter"
|
||||
placeholder="请输入汇报人"
|
||||
clearable></el-input>
|
||||
<el-form-item
|
||||
label="汇报人"
|
||||
:prop="'meetingTopicList.' + index + '.reporter'"
|
||||
:rules="rules.reporter"
|
||||
label-width="150px"
|
||||
class="add-form-item"
|
||||
>
|
||||
<el-input
|
||||
v-model="item.reporter"
|
||||
placeholder="请输入汇报人"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="汇报人单位" :prop="'meetingTopicList.' + index + '.reportingUnit'" :rules="rules.reportingUnit" label-width="150px" class="add-form-item">
|
||||
<el-input v-model="item.reportingUnit"
|
||||
placeholder="请输入汇报人单位"
|
||||
clearable></el-input>
|
||||
<el-form-item
|
||||
label="汇报人单位"
|
||||
:prop="'meetingTopicList.' + index + '.reportingUnit'"
|
||||
:rules="rules.reportingUnit"
|
||||
label-width="150px"
|
||||
class="add-form-item"
|
||||
>
|
||||
<el-input
|
||||
v-model="item.reportingUnit"
|
||||
placeholder="请输入汇报人单位"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<CustomTextarea
|
||||
:config="{
|
||||
attrName: '议题主要内容',
|
||||
attrField: `meetingTopicList.${index}.agendaContent`
|
||||
}"
|
||||
:rules="rules.agendaContent"
|
||||
v-model="item.agendaContent"
|
||||
></CustomTextarea>
|
||||
v-model="item.agendaContent"
|
||||
:config="{
|
||||
attrName: '议题主要内容',
|
||||
attrField: `meetingTopicList.${index}.agendaContent`
|
||||
}"
|
||||
:rules="rules.agendaContent"
|
||||
/>
|
||||
</el-col>
|
||||
</template>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="drawer-footer">
|
||||
<el-button icon="el-icon-check" type="primary" @click="onSubmit" :loading="isSubmit">提交</el-button>
|
||||
<el-button icon="el-icon-close" @click="onClose" :loading="isSubmit">取消</el-button>
|
||||
<el-button icon="el-icon-check" type="primary" :loading="isSubmit" @click="onSubmit">提交</el-button>
|
||||
<el-button icon="el-icon-close" :loading="isSubmit" @click="onClose">取消</el-button>
|
||||
</div>
|
||||
<TopicsTable ref="TopicsTableRef" @dragIn="dragIn"></TopicsTable>
|
||||
<TopicsTable ref="TopicsTableRef" @dragIn="dragIn" />
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
@@ -187,10 +257,10 @@
|
||||
import CustomDatePick from '@/components/CustomFormComponents/DatePicker'
|
||||
import CustomFile from '@/components/CustomFormComponents/File'
|
||||
import CustomTextarea from '@/components/CustomFormComponents/Textarea'
|
||||
import TopicsTable from "./TopicsTable";
|
||||
import TopicsTable from './TopicsTable';
|
||||
|
||||
export default {
|
||||
name: "editDrawer",
|
||||
name: 'EditDrawer',
|
||||
components: {
|
||||
CustomDatePick,
|
||||
CustomFile,
|
||||
@@ -213,52 +283,52 @@ export default {
|
||||
type: Object
|
||||
}
|
||||
},
|
||||
data (){
|
||||
data () {
|
||||
const rules = {
|
||||
meetingName: [
|
||||
{required: true, type: 'string', message: '会议名称不能为空', trigger: 'change'},
|
||||
{type: 'string', max: 500, message: '会议名称不能超过500个字符', trigger: 'change'}
|
||||
{ required: true, type: 'string', message: '会议名称不能为空', trigger: 'change' },
|
||||
{ type: 'string', max: 500, message: '会议名称不能超过500个字符', trigger: 'change' }
|
||||
],
|
||||
meetingOrganizer: [
|
||||
{required: true, type: 'string', message: '会议主办单位不能为空', trigger: 'change'},
|
||||
{type: 'string', max: 500, message: '会议主办单位不能超过500个字符', trigger: 'change'}
|
||||
{ required: true, type: 'string', message: '会议主办单位不能为空', trigger: 'change' },
|
||||
{ type: 'string', max: 500, message: '会议主办单位不能超过500个字符', trigger: 'change' }
|
||||
],
|
||||
meetingTime: [
|
||||
{required: true, message: '会议时间不能为空', trigger: 'change'}
|
||||
{ required: true, message: '会议时间不能为空', trigger: 'change' }
|
||||
],
|
||||
meetingAddress: [
|
||||
{required: true, type: 'string', message: '会议地点不能为空', trigger: 'change'},
|
||||
{type: 'string', max: 500, message: '会议地点不能超过500个字符', trigger: 'change'}
|
||||
{ required: true, type: 'string', message: '会议地点不能为空', trigger: 'change' },
|
||||
{ type: 'string', max: 500, message: '会议地点不能超过500个字符', trigger: 'change' }
|
||||
],
|
||||
participants: [
|
||||
{required: true, type: 'string', message: '参会人员不能为空', trigger: 'change'},
|
||||
{type: 'string', max: 500, message: '参会人员不能超过500个字符', trigger: 'change'}
|
||||
{ required: true, type: 'string', message: '参会人员不能为空', trigger: 'change' },
|
||||
{ type: 'string', max: 500, message: '参会人员不能超过500个字符', trigger: 'change' }
|
||||
],
|
||||
meetingContent: [
|
||||
{required: true, type: 'string', message: '会议主要内容不能为空', trigger: 'change'},
|
||||
{type: 'string', max: 500, message: '会议主要内容不能超过500个字符', trigger: 'change'}
|
||||
{ required: true, type: 'string', message: '会议主要内容不能为空', trigger: 'change' },
|
||||
{ type: 'string', max: 500, message: '会议主要内容不能超过500个字符', trigger: 'change' }
|
||||
],
|
||||
firstMeetingType: [
|
||||
{required: true, message: '1级会议分类不能为空', trigger: 'change'}
|
||||
{ required: true, message: '1级会议分类不能为空', trigger: 'change' }
|
||||
],
|
||||
secondMeetingType: [
|
||||
{required: true, message: '2级会议分类不能为空', trigger: 'change'}
|
||||
{ required: true, message: '2级会议分类不能为空', trigger: 'change' }
|
||||
],
|
||||
agendaName: [
|
||||
{required: true, type: 'string', message: '议题名称不能为空', trigger: 'change'},
|
||||
{type: 'string', max: 500, message: '议题名称不能超过500个字符', trigger: 'change'}
|
||||
{ required: true, type: 'string', message: '议题名称不能为空', trigger: 'change' },
|
||||
{ type: 'string', max: 500, message: '议题名称不能超过500个字符', trigger: 'change' }
|
||||
],
|
||||
reporter: [
|
||||
{required: true, type: 'string', message: '汇报人不能为空', trigger: 'change'},
|
||||
{type: 'string', max: 500, message: '汇报人不能超过500个字符', trigger: 'change'}
|
||||
{ required: true, type: 'string', message: '汇报人不能为空', trigger: 'change' },
|
||||
{ type: 'string', max: 500, message: '汇报人不能超过500个字符', trigger: 'change' }
|
||||
],
|
||||
reportingUnit: [
|
||||
{required: true, type: 'string', message: '汇报人单位不能为空', trigger: 'change'},
|
||||
{type: 'string', max: 500, message: '汇报人单位不能超过500个字符', trigger: 'change'}
|
||||
{ required: true, type: 'string', message: '汇报人单位不能为空', trigger: 'change' },
|
||||
{ type: 'string', max: 500, message: '汇报人单位不能超过500个字符', trigger: 'change' }
|
||||
],
|
||||
agendaContent: [
|
||||
{required: true, type: 'string', message: '议题主要内容不能为空', trigger: 'change'},
|
||||
{type: 'string', max: 500, message: '议题主要内容不能超过500个字符', trigger: 'change'}
|
||||
{ required: true, type: 'string', message: '议题主要内容不能为空', trigger: 'change' },
|
||||
{ type: 'string', max: 500, message: '议题主要内容不能超过500个字符', trigger: 'change' }
|
||||
],
|
||||
}
|
||||
const form = {
|
||||
@@ -288,7 +358,7 @@ export default {
|
||||
reloadForm: true,
|
||||
api: {
|
||||
add: 'lawss/insideOutsideMeeting/addMeetingInfo',
|
||||
delete :'lawss/insideOutsideMeeting/deleteMeetingInfo',
|
||||
delete: 'lawss/insideOutsideMeeting/deleteMeetingInfo',
|
||||
update: 'lawss/insideOutsideMeeting/updateMeetingInfo'
|
||||
}
|
||||
}
|
||||
@@ -311,10 +381,10 @@ export default {
|
||||
reportingUnit: '',
|
||||
agendaContent: ''
|
||||
}
|
||||
this.form.meetingTopicList = [...this.form.meetingTopicList, meetingTopicItem]
|
||||
this.form.meetingTopicList = [ ...this.form.meetingTopicList, meetingTopicItem ]
|
||||
},
|
||||
removeMeetingTopic (index) {
|
||||
let res = []
|
||||
const res = []
|
||||
this.form.meetingTopicList.forEach((item, i) => {
|
||||
if (i !== index) {
|
||||
res.push(item)
|
||||
@@ -353,6 +423,9 @@ export default {
|
||||
this.$refs.formRef.validate(valid => {
|
||||
if (valid) {
|
||||
this.isSubmit = true
|
||||
this.form.meetingTopicList.forEach((item, index) => {
|
||||
item.sort = index
|
||||
})
|
||||
if (this.title === '新增') {
|
||||
this.$http._postData(this.api.add, this.form).then(res => {
|
||||
if (res.ok) {
|
||||
@@ -382,7 +455,21 @@ export default {
|
||||
},
|
||||
dragIn (val) {
|
||||
this.$set(this.form, 'topicName', val.topicName)
|
||||
}
|
||||
},
|
||||
moveOrder (index, type) {
|
||||
if (type === 'top') {
|
||||
const obj1 = this.form.meetingTopicList[index]
|
||||
const obj2 = this.form.meetingTopicList[index - 1]
|
||||
this.$set(this.form.meetingTopicList, index - 1, obj1)
|
||||
this.$set(this.form.meetingTopicList, index, obj2)
|
||||
}
|
||||
if (type === 'bottom') {
|
||||
const obj1 = this.form.meetingTopicList[index]
|
||||
const obj2 = this.form.meetingTopicList[index + 1]
|
||||
this.$set(this.form.meetingTopicList, index + 1, obj1)
|
||||
this.$set(this.form.meetingTopicList, index, obj2)
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -403,4 +490,11 @@ export default {
|
||||
background: #fff;
|
||||
z-index: 999;
|
||||
}
|
||||
.move-icon {
|
||||
font-size: 20px;
|
||||
cursor: pointer
|
||||
}
|
||||
.move-icon:hover {
|
||||
color: #409EFF;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -4,200 +4,236 @@
|
||||
<div class="search-area">
|
||||
<el-form :modal="searchForm" :inline="true" class="label-input-form">
|
||||
<el-formItem label="会议名称" prop="meetingName" class="search-item">
|
||||
<el-input v-model="searchForm.meetingName" clearable placeholder="请输入会议名称" :maxlength="100" @keyup.enter.native="onSearch"/>
|
||||
<el-input
|
||||
v-model="searchForm.meetingName"
|
||||
clearable
|
||||
placeholder="请输入会议名称"
|
||||
:maxlength="100"
|
||||
@keyup.enter.native="onSearch"
|
||||
/>
|
||||
</el-formItem>
|
||||
<el-formItem label="会议主办单位" prop="meetingOrganizer" class="search-item">
|
||||
<el-input v-model="searchForm.meetingOrganizer" clearable placeholder="请输入会议主办单位" :maxlength="100" @keyup.enter.native="onSearch"/>
|
||||
<el-input
|
||||
v-model="searchForm.meetingOrganizer"
|
||||
clearable
|
||||
placeholder="请输入会议主办单位"
|
||||
:maxlength="100"
|
||||
@keyup.enter.native="onSearch"
|
||||
/>
|
||||
</el-formItem>
|
||||
<el-formItem label="会议时间" class="search-item" style="margin-right: 0">
|
||||
<el-date-picker
|
||||
value-format="yyyy-MM-dd"
|
||||
format="yyyy-MM-dd"
|
||||
type="date"
|
||||
clearable
|
||||
:editable="true"
|
||||
placeholder="选择开始时间"
|
||||
v-model="searchForm.meetingTimeBegin"
|
||||
>
|
||||
</el-date-picker>
|
||||
v-model="searchForm.meetingTimeBegin"
|
||||
value-format="yyyy-MM-dd"
|
||||
format="yyyy-MM-dd"
|
||||
type="date"
|
||||
clearable
|
||||
:editable="true"
|
||||
placeholder="选择开始时间"
|
||||
/>
|
||||
</el-formItem>
|
||||
<el-form-item label="至" label-width="25px" class="search-item">
|
||||
<el-date-picker
|
||||
value-format="yyyy-MM-dd"
|
||||
format="yyyy-MM-dd"
|
||||
type="date"
|
||||
clearable
|
||||
:editable="true"
|
||||
placeholder="选择结束时间"
|
||||
v-model="searchForm.meetingTimeEnd"
|
||||
>
|
||||
</el-date-picker>
|
||||
v-model="searchForm.meetingTimeEnd"
|
||||
value-format="yyyy-MM-dd"
|
||||
format="yyyy-MM-dd"
|
||||
type="date"
|
||||
clearable
|
||||
:editable="true"
|
||||
placeholder="选择结束时间"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item class="search-item btn-box">
|
||||
<el-button
|
||||
type="primary"
|
||||
size="mini"
|
||||
class="common-button-primary"
|
||||
v-btn-permission="'520f8524252e76e751a883a0a8a8615c'"
|
||||
@click="onSearch">
|
||||
v-btn-permission="'520f8524252e76e751a883a0a8a8615c'"
|
||||
type="primary"
|
||||
size="mini"
|
||||
class="common-button-primary"
|
||||
@click="onSearch"
|
||||
>
|
||||
查询
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
class="common-button-default"
|
||||
v-btn-permission="'6a9483964b7b49dd473ef9e6fd4a649e'"
|
||||
@click="onClear">清空
|
||||
v-btn-permission="'6a9483964b7b49dd473ef9e6fd4a649e'"
|
||||
size="mini"
|
||||
class="common-button-default"
|
||||
@click="onClear"
|
||||
>
|
||||
清空
|
||||
</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
v-btn-permission="'7f98cd8b424d6ad83b1770a6576993fc'"
|
||||
@click="advancedSearch">高级检索
|
||||
v-btn-permission="'7f98cd8b424d6ad83b1770a6576993fc'"
|
||||
size="mini"
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
@click="advancedSearch"
|
||||
>
|
||||
高级检索
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<!--按钮区-->
|
||||
<div class="action-bar">
|
||||
<el-button class="common-button-default export-button"
|
||||
size="mini"
|
||||
title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
|
||||
v-btn-permission="'6d749caee927a480fa99e5ddc48d8e05'"
|
||||
@click="exportData"><i class="iconfont"></i>导出
|
||||
<el-button
|
||||
v-btn-permission="'6d749caee927a480fa99e5ddc48d8e05'"
|
||||
class="common-button-default export-button"
|
||||
size="mini"
|
||||
title="不勾选时默认导出所有筛选项;勾选时仅导出勾选项"
|
||||
@click="exportData"
|
||||
>
|
||||
<i class="iconfont"></i>导出
|
||||
</el-button>
|
||||
<el-button class="common-button-default in-button"
|
||||
size="mini"
|
||||
v-btn-permission="'b168e0381ec7ba5d762c36ad2935542f'"
|
||||
@click="addImportModal"><i class="iconfont"></i>导入
|
||||
<el-button
|
||||
v-btn-permission="'b168e0381ec7ba5d762c36ad2935542f'"
|
||||
class="common-button-default in-button"
|
||||
size="mini"
|
||||
@click="addImportModal"
|
||||
>
|
||||
<i class="iconfont"></i>导入
|
||||
</el-button>
|
||||
<el-button class="common-button-default in-button"
|
||||
size="mini"
|
||||
v-btn-permission="'7990fb64c468c2d37cc2246fc3cb694e'"
|
||||
@click="handleMoudel"><i class="iconfont"></i>模板下载
|
||||
<el-button
|
||||
v-btn-permission="'7990fb64c468c2d37cc2246fc3cb694e'"
|
||||
class="common-button-default in-button"
|
||||
size="mini"
|
||||
@click="handleMoudel"
|
||||
>
|
||||
<i class="iconfont"></i>模板下载
|
||||
</el-button>
|
||||
<el-button type="primary"
|
||||
class="common-button-primary add-button"
|
||||
size="mini"
|
||||
v-btn-permission="'f0e663244c1f823caa07e99bfc6535dc'"
|
||||
@click="openDrawer('add')"
|
||||
><i class="el-icon-plus"></i>新增
|
||||
<el-button
|
||||
v-btn-permission="'f0e663244c1f823caa07e99bfc6535dc'"
|
||||
type="primary"
|
||||
class="common-button-primary add-button"
|
||||
size="mini"
|
||||
@click="openDrawer('add')"
|
||||
>
|
||||
<i class="el-icon-plus" />新增
|
||||
</el-button>
|
||||
</div>
|
||||
<!-- 表格 -->
|
||||
<div class="content">
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="data"
|
||||
tooltip-effect="dark"
|
||||
style="width:100%;height: calc(100% - 57px)"
|
||||
height="string"
|
||||
border
|
||||
class="drag-table"
|
||||
@sort-change="sortChange"
|
||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', fontWeight: 'bold', height: '48px', padding: 0}"
|
||||
:cell-style="{padding: 0}"
|
||||
@selection-change="selectionChange"
|
||||
ref="selection"
|
||||
:data="data"
|
||||
tooltip-effect="dark"
|
||||
style="width:100%;height: calc(100% - 57px)"
|
||||
height="string"
|
||||
border
|
||||
class="drag-table"
|
||||
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px', fontWeight: 'bold', height: '48px', padding: 0}"
|
||||
:cell-style="{padding: 0}"
|
||||
@sort-change="sortChange"
|
||||
@selection-change="selectionChange"
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
type="index"
|
||||
width="55"
|
||||
label="序号"
|
||||
align="center">
|
||||
type="index"
|
||||
width="55"
|
||||
label="序号"
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="{scope, column, $index}">
|
||||
{{ ($index + 1) + (searchForm.page - 1) * searchForm.pageSize }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="meetingName"
|
||||
label="会议名称"
|
||||
align="center"
|
||||
sortable="custom"
|
||||
show-overflow-tooltip
|
||||
prop="meetingName"
|
||||
label="会议名称"
|
||||
align="center"
|
||||
sortable="custom"
|
||||
>
|
||||
<template slot-scope="{row, column, $index}">
|
||||
<a class="table-jump" style="color: #2d8cf0" @click="handlePreview(row.id)">{{ row.meetingName }}</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="meetingOrganizer"
|
||||
label="会议主办单位"
|
||||
align="center"
|
||||
sortable="custom"
|
||||
>
|
||||
</el-table-column>
|
||||
show-overflow-tooltip
|
||||
prop="meetingOrganizer"
|
||||
label="会议主办单位"
|
||||
align="center"
|
||||
sortable="custom"
|
||||
/>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="meetingTime"
|
||||
label="会议时间"
|
||||
align="center"
|
||||
sortable="custom"
|
||||
>
|
||||
</el-table-column>
|
||||
show-overflow-tooltip
|
||||
prop="meetingTime"
|
||||
label="会议时间"
|
||||
align="center"
|
||||
sortable="custom"
|
||||
/>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="meetingAddress"
|
||||
label="会议地点"
|
||||
align="center"
|
||||
sortable="custom"
|
||||
>
|
||||
</el-table-column>
|
||||
show-overflow-tooltip
|
||||
prop="meetingAddress"
|
||||
label="会议地点"
|
||||
align="center"
|
||||
sortable="custom"
|
||||
/>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="agendaNameStr"
|
||||
label="议题名称"
|
||||
align="center"
|
||||
sortable="custom"
|
||||
>
|
||||
</el-table-column>
|
||||
show-overflow-tooltip
|
||||
prop="agendaNameStr"
|
||||
label="议题名称"
|
||||
align="center"
|
||||
sortable="custom"
|
||||
/>
|
||||
<el-table-column
|
||||
v-if="isPermission('62cdf3d570941c154d28371632ccfa2e,71155d105e930bb8e7881a8a9809646a') > 0"
|
||||
prop="action"
|
||||
label="操作"
|
||||
align="center"
|
||||
v-if="isPermission('62cdf3d570941c154d28371632ccfa2e,71155d105e930bb8e7881a8a9809646a') > 0"
|
||||
prop="action"
|
||||
label="操作"
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<a class="table-jump" v-btn-permission="'62cdf3d570941c154d28371632ccfa2e'" style="color: #2d8cf0" @click="openDrawer('edit', scope.row)">编辑</a>
|
||||
<a class="table-jump" v-btn-permission="'71155d105e930bb8e7881a8a9809646a'" style="color: #f56c6c;margin-left: 10px" @click="onDelete(scope.row.id)">删除</a>
|
||||
<a v-btn-permission="'62cdf3d570941c154d28371632ccfa2e'" class="table-jump" style="color: #2d8cf0" @click="openDrawer('edit', scope.row)">编辑</a>
|
||||
<a v-btn-permission="'71155d105e930bb8e7881a8a9809646a'" class="table-jump" style="color: #f56c6c;margin-left: 10px" @click="onDelete(scope.row.id)">删除</a>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination :page="searchForm.page" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange"></pagination>
|
||||
<pagination :page="searchForm.page" :total="total" @pageChange="pageChange" @pageSizeChange="pageSizeChange" />
|
||||
<loading :loading="loading">数据获取中...</loading>
|
||||
</div>
|
||||
<!-- 高级搜索 -->
|
||||
<AdvancedSearch :visible.sync="advancedSearchVisible" :form="advancedSearchForm" :dict="dict" @search="onSearch" @resetAdvancedSearchForm="resetAdvancedSearchForm"></AdvancedSearch>
|
||||
<AdvancedSearch
|
||||
:visible.sync="advancedSearchVisible"
|
||||
:form="advancedSearchForm"
|
||||
:dict="dict"
|
||||
@search="onSearch"
|
||||
@resetAdvancedSearchForm="resetAdvancedSearchForm"
|
||||
/>
|
||||
<!-- 新增编辑 -->
|
||||
<editDrawer ref="editDrawerRef" :dict="dict" :showDrawer.sync="showDrawer" :title="titleDrawer" :editForm="editForm" @load="getData"></editDrawer>
|
||||
<editDrawer
|
||||
ref="editDrawerRef"
|
||||
:dict="dict"
|
||||
:showDrawer.sync="showDrawer"
|
||||
:title="titleDrawer"
|
||||
:editForm="editForm"
|
||||
@load="getData"
|
||||
/>
|
||||
<!-- 导入 -->
|
||||
<ImportZip :visible.sync="importModalShowFlag" :action="importExcelUrl" @onSuccess="getData"></ImportZip>
|
||||
<ImportZip :visible.sync="importModalShowFlag" :action="importExcelUrl" @onSuccess="getData" />
|
||||
<!-- 导出 -->
|
||||
<ExportDialog ref="exportDialogRef" @exportName="handleExport"></ExportDialog>
|
||||
<ExportDialog ref="exportDialogRef" @exportName="handleExport" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import editDrawer from "./components/editDrawer";
|
||||
import editDrawer from './components/editDrawer';
|
||||
import AdvancedSearch from './components/advancedSearch'
|
||||
import ImportZip from '@/components/hzwlComponents/importZip'
|
||||
import ExportDialog from '@/components/hzwlComponents/exportDialog'
|
||||
import store from "@/store";
|
||||
import store from '@/store';
|
||||
|
||||
export default {
|
||||
name: "meeting",
|
||||
name: 'Meeting',
|
||||
components: {
|
||||
editDrawer,
|
||||
AdvancedSearch,
|
||||
ImportZip,
|
||||
ExportDialog
|
||||
},
|
||||
data(){
|
||||
data () {
|
||||
return {
|
||||
searchForm: {},
|
||||
advancedSearchForm: {},
|
||||
@@ -216,18 +252,18 @@ export default {
|
||||
editForm: void 0,
|
||||
api: {
|
||||
page: 'lawss/insideOutsideMeeting/page',
|
||||
delete :'lawss/insideOutsideMeeting/deleteMeetingInfo'
|
||||
delete: 'lawss/insideOutsideMeeting/deleteMeetingInfo'
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
created () {
|
||||
this.getDicTypeListCode()
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
// 点击查看
|
||||
handlePreview(id) {
|
||||
let routeUrl = this.$router.resolve({
|
||||
handlePreview (id) {
|
||||
const routeUrl = this.$router.resolve({
|
||||
name: 'meetingDetail',
|
||||
params: { id }
|
||||
})
|
||||
@@ -235,13 +271,13 @@ export default {
|
||||
},
|
||||
isPermission (value) {
|
||||
let hasCount = 0
|
||||
let set =new Set( value.split(","))
|
||||
let menuList = store.getters.getMenuList
|
||||
const set = new Set( value.split(','))
|
||||
const menuList = store.getters.getMenuList
|
||||
if (menuList === '') {
|
||||
return hasCount
|
||||
} else {
|
||||
menuList.map((menu) => {
|
||||
if ( set.has(menu.id)|| value === undefined || value === '') {
|
||||
if ( set.has(menu.id) || value === undefined || value === '') {
|
||||
hasCount++
|
||||
}
|
||||
})
|
||||
@@ -251,14 +287,14 @@ export default {
|
||||
async getData () {
|
||||
this.searchForm.pageSize = this.searchForm.pageSize || this.$store.getters.userInfo.configContent
|
||||
this.searchForm.page = this.searchForm.page || 1
|
||||
let params = { ...this.searchForm, ...this.advancedSearchForm }
|
||||
const res = await this.$http._getData(this.api.page, params, {_this:this,loading: 'loading'})
|
||||
const params = { ...this.searchForm, ...this.advancedSearchForm }
|
||||
const res = await this.$http._getData(this.api.page, params, { _this: this, loading: 'loading' })
|
||||
if (res.ok && res.data) {
|
||||
this.data = res.data.list
|
||||
this.total = res.data.count
|
||||
}
|
||||
},
|
||||
onSearch(){
|
||||
onSearch () {
|
||||
this.getData()
|
||||
},
|
||||
onClear () {
|
||||
@@ -283,7 +319,7 @@ export default {
|
||||
}
|
||||
},
|
||||
// 表格排序
|
||||
sortChange({ column, prop, order }) {
|
||||
sortChange ({ column, prop, order }) {
|
||||
this.searchForm.sortField = prop
|
||||
this.searchForm.sortMode = 'asc'
|
||||
if (order === 'descending') {
|
||||
@@ -317,23 +353,23 @@ export default {
|
||||
exportIds: this.selectedList.join(',')
|
||||
}
|
||||
let query = '?'
|
||||
for(let i in params){
|
||||
if (params[i] && params[i]!=='') {
|
||||
for(const i in params) {
|
||||
if (params[i] && params[i] !== '') {
|
||||
query = query + i + '=' + params[i] + '&'
|
||||
}
|
||||
}
|
||||
query = query.slice(0,-1)
|
||||
query = query.slice(0, -1)
|
||||
window.open('/api/lawss/insideOutsideMeeting/exportMeetingInfo' + query)
|
||||
this.$refs.exportDialogRef.cancel()
|
||||
this.$message.success('导出信息成功')
|
||||
},
|
||||
// 导入
|
||||
addImportModal() {
|
||||
addImportModal () {
|
||||
this.importModalShowFlag = true
|
||||
this.importExcelUrl = '/api/lawss/insideOutsideMeeting/importMeetingInfo'
|
||||
},
|
||||
// 模板下载
|
||||
handleMoudel(){
|
||||
handleMoudel () {
|
||||
window.open('/api/lawss/insideOutsideMeeting/exportTemplateFile?fileName=内外部会议导入模板')
|
||||
},
|
||||
// 新增编辑
|
||||
@@ -348,7 +384,7 @@ export default {
|
||||
this.$set(this, 'editForm', row)
|
||||
break
|
||||
}
|
||||
this.$nextTick(()=>{
|
||||
this.$nextTick(() => {
|
||||
this.showDrawer = true
|
||||
})
|
||||
},
|
||||
|
||||
@@ -1,218 +1,151 @@
|
||||
<template>
|
||||
<el-drawer
|
||||
title="高级搜索"
|
||||
size="800px"
|
||||
:wrapperClosable="false"
|
||||
:visible.sync="isAdvancedSearch">
|
||||
title="高级搜索"
|
||||
size="800px"
|
||||
:wrapperClosable="false"
|
||||
:visible.sync="isAdvancedSearch"
|
||||
>
|
||||
<div class="demo-drawer-content">
|
||||
<el-form
|
||||
:model="lawsStandInfoSearch"
|
||||
class="label-input-form table-lattice"
|
||||
label-width="80px">
|
||||
:model="lawsStandInfoSearch"
|
||||
class="label-input-form table-lattice"
|
||||
label-width="80px"
|
||||
>
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
<div class="prc-content-border">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<SelectFormItem label="1级政策分类"
|
||||
title="1级政策分类"
|
||||
v-model="lawsStandInfoSearch.lawsTypeFirstLevel"
|
||||
:options="dict.lawsTypeFirstLevelOptions">
|
||||
</SelectFormItem>
|
||||
<SelectFormItem label="3级政策分类"
|
||||
title="3级政策分类"
|
||||
v-model="lawsStandInfoSearch.lawsTypeThirdLevel"
|
||||
:options="dict.lawsTypeThirdLevelOptions">
|
||||
</SelectFormItem>
|
||||
<InputFormItem label="政策名称"
|
||||
title="政策名称"
|
||||
v-model="lawsStandInfoSearch.lawsName">
|
||||
</InputFormItem>
|
||||
<InputFormItem label="政策文号"
|
||||
title="政策文号"
|
||||
v-model="lawsStandInfoSearch.lawsNo">
|
||||
</InputFormItem>
|
||||
<InputFormItem label="发文单位"
|
||||
title="发文单位"
|
||||
v-model="lawsStandInfoSearch.issueCompany">
|
||||
</InputFormItem>
|
||||
<SelectFormItem label="文本状态"
|
||||
title="文本状态"
|
||||
v-model="lawsStandInfoSearch.lawsTextState"
|
||||
:options="dict.lawsTextStateOptions">
|
||||
</SelectFormItem>
|
||||
<SelectFormItem label="是否纳入认证清单"
|
||||
title="是否纳入认证清单"
|
||||
v-model="lawsStandInfoSearch.isRelateAccess"
|
||||
:options="isRelateAccessOptions || []">
|
||||
</SelectFormItem>
|
||||
<InputFormItem label="福田转发通知文号"
|
||||
title="福田转发通知文号"
|
||||
v-model="lawsStandInfoSearch.lawsNotisyncNum">
|
||||
</InputFormItem>
|
||||
<InputFormItem label="信息简报"
|
||||
title="信息简报"
|
||||
v-model="lawsStandInfoSearch.lawsBulletin">
|
||||
</InputFormItem>
|
||||
<InputFormItem label="备注(最终政策发布)"
|
||||
title="备注(最终政策发布)"
|
||||
v-model="lawsStandInfoSearch.lawsRemark">
|
||||
</InputFormItem>
|
||||
|
||||
<!--#region-->
|
||||
<!--<el-form-item label="政策分类" title="政策分类" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-select v-model="lawsStandInfoSearch.lawsType" filterable clearable>-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in dict.lawsTypeOptions"-->
|
||||
<!-- placeholder="请选择"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :value="item.value"-->
|
||||
<!-- :label="item.label"-->
|
||||
<!-- ></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--<el-form-item label="发文日期" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-datePicker v-model="lawsStandInfoSearch.issueTime"-->
|
||||
<!-- :editable="false"-->
|
||||
<!-- placeholder="请选择发文日期"-->
|
||||
<!-- value-format="yyyy-MM-dd"-->
|
||||
<!-- clearable></el-datePicker>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--<el-form-item label="适用区域" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-select v-model="lawsStandInfoSearch.lawsSyqy" filterable clearable>-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in dict.lawsSyqyOptions"-->
|
||||
<!-- placeholder="请选择"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :value="item.value"-->
|
||||
<!-- :label="item.label"-->
|
||||
<!-- ></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--<el-form-item label="年度" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-select v-model="lawsStandInfoSearch.lawsYear" filterable clearable>-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in dict.lawsYearOptions"-->
|
||||
<!-- placeholder="请选择"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :value="item.value"-->
|
||||
<!-- :label="item.label"-->
|
||||
<!-- ></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--<el-form-item label="信息简报" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-input v-model="lawsStandInfoSearch.lawsBulletin" clearable-->
|
||||
<!-- placeholder="请输入政策文号"-->
|
||||
<!-- ></el-input>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--#endregion-->
|
||||
|
||||
<SelectFormItem
|
||||
v-model="lawsStandInfoSearch.lawsTypeFirstLevel"
|
||||
label="1级政策分类"
|
||||
title="1级政策分类"
|
||||
:options="dict.lawsTypeFirstLevelOptions"
|
||||
/>
|
||||
<SelectFormItem
|
||||
v-model="lawsStandInfoSearch.lawsTypeThirdLevel"
|
||||
label="3级政策分类"
|
||||
title="3级政策分类"
|
||||
:options="dict.lawsTypeThirdLevelOptions"
|
||||
/>
|
||||
<InputFormItem
|
||||
v-model="lawsStandInfoSearch.lawsName"
|
||||
label="政策名称"
|
||||
title="政策名称"
|
||||
/>
|
||||
<InputFormItem
|
||||
v-model="lawsStandInfoSearch.lawsNo"
|
||||
label="政策文号"
|
||||
title="政策文号"
|
||||
/>
|
||||
<InputFormItem
|
||||
v-model="lawsStandInfoSearch.issueCompany"
|
||||
label="发文单位"
|
||||
title="发文单位"
|
||||
/>
|
||||
<SelectFormItem
|
||||
v-model="lawsStandInfoSearch.lawsTextState"
|
||||
label="政策状态"
|
||||
title="政策状态"
|
||||
:options="dict.lawsTextStateOptions"
|
||||
/>
|
||||
<SelectFormItem
|
||||
v-model="lawsStandInfoSearch.isRelateAccess"
|
||||
label="是否纳入认证清单"
|
||||
title="是否纳入认证清单"
|
||||
:options="isRelateAccessOptions || []"
|
||||
/>
|
||||
<InputFormItem
|
||||
v-model="lawsStandInfoSearch.lawsNotisyncNum"
|
||||
label="福田转发通知文号"
|
||||
title="福田转发通知文号"
|
||||
/>
|
||||
<InputFormItem
|
||||
v-model="lawsStandInfoSearch.lawsBulletin"
|
||||
label="信息月报"
|
||||
title="信息月报"
|
||||
/>
|
||||
<!-- <InputFormItem-->
|
||||
<!-- v-model="lawsStandInfoSearch.lawsRemark"-->
|
||||
<!-- label="备注(最终政策发布)"-->
|
||||
<!-- title="备注(最终政策发布)"-->
|
||||
<!-- />-->
|
||||
<SelectMultipleFormItem
|
||||
v-model="lawsStandInfoSearch.lawsLabel"
|
||||
label="标签"
|
||||
title="标签"
|
||||
:options="dict.lawsLabelOptions"
|
||||
/>
|
||||
<InputFormItem
|
||||
v-model="lawsStandInfoSearch.lawsRemark"
|
||||
label="备注"
|
||||
title="备注"
|
||||
/>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<SelectFormItem label="2级政策分类"
|
||||
title="2级政策分类"
|
||||
v-model="lawsStandInfoSearch.lawsTypeSecondLevel"
|
||||
:options="dict.lawsTypeSecondLevelOptions">
|
||||
</SelectFormItem>
|
||||
<SelectFormItem label="4级政策分类"
|
||||
title="4级政策分类"
|
||||
v-model="lawsStandInfoSearch.lawsTypeFourthLevel"
|
||||
:options="dict.lawsTypeFourthLevelOptions">
|
||||
</SelectFormItem>
|
||||
<InputFormItem label="英文名称"
|
||||
title="英文名称"
|
||||
v-model="lawsStandInfoSearch.lawsEnName">
|
||||
</InputFormItem>
|
||||
<DatePickerFormItem label="发文日期"
|
||||
title="发文日期"
|
||||
v-model="lawsStandInfoSearch.issueTime">
|
||||
</DatePickerFormItem>
|
||||
<DataRangePickerFormItem label="征集意见周期"
|
||||
title="征集意见周期"
|
||||
:startTime.sync="lawsStandInfoSearch.commentCycleStart"
|
||||
:endTime.sync="lawsStandInfoSearch.commentCycleEnd">
|
||||
</DataRangePickerFormItem>
|
||||
<SelectMultipleFormItem label="适用车型"
|
||||
title="适用车型"
|
||||
v-model="lawsStandInfoSearch.lawsSycx"
|
||||
:options="dict.lawsSycxOptions || []">
|
||||
</SelectMultipleFormItem>
|
||||
<SelectFormItem label="年度"
|
||||
title="年度"
|
||||
v-model="lawsStandInfoSearch.lawsYear"
|
||||
:options="dict.lawsYearOptions">
|
||||
</SelectFormItem>
|
||||
<InputFormItem label="通知文号链接"
|
||||
title="通知文号链接"
|
||||
v-model="lawsStandInfoSearch.notisyncNumLink">
|
||||
</InputFormItem>
|
||||
<SelectMultipleFormItem label="标签"
|
||||
title="标签"
|
||||
v-model="lawsStandInfoSearch.lawsLabel"
|
||||
:options="dict.lawsLabelOptions">
|
||||
</SelectMultipleFormItem>
|
||||
|
||||
<!--#region-->
|
||||
<!--<el-form-item label="政策文号" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-input v-model="lawsStandInfoSearch.lawsNo" clearable-->
|
||||
<!-- placeholder="请输入政策文号"></el-input>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--<el-form-item label="发文单位" title="发文单位" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-input v-model="lawsStandInfoSearch.issueCompany" placeholder="请输入发文单位" clearable></el-input>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--<el-form-item label="适用车型" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-select v-model="lawsStandInfoSearch.lawsSycx" filterable clearable>-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in dict.lawsSycxOptions"-->
|
||||
<!-- placeholder="请选择"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :value="item.value"-->
|
||||
<!-- :label="item.label"-->
|
||||
<!-- ></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--<el-form-item label="是否纳入认证清单" title="是否纳入认证清单" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-select v-model="lawsStandInfoSearch.isRelateAccess">-->
|
||||
<!-- <el-option value="1" label="是" key="1"></el-option>-->
|
||||
<!-- <el-option value="2" label="否" key="2"></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--<el-form-item label="福田转发通知文号" title="福田转发通知文号" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-input v-model="lawsStandInfoSearch.lawsNotisyncNum" placeholder="请输入福田转发通知文号" clearable></el-input>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--<el-form-item label="标签" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-select v-model="lawsStandInfoSearch.lawsLabel" filterable clearable>-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in dict.lawsLabelOptions"-->
|
||||
<!-- placeholder="请选择"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :value="item.value"-->
|
||||
<!-- :label="item.label"-->
|
||||
<!-- ></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--#endregion-->
|
||||
<SelectFormItem
|
||||
v-model="lawsStandInfoSearch.lawsTypeSecondLevel"
|
||||
label="2级政策分类"
|
||||
title="2级政策分类"
|
||||
:options="dict.lawsTypeSecondLevelOptions"
|
||||
/>
|
||||
<SelectFormItem
|
||||
v-model="lawsStandInfoSearch.lawsTypeFourthLevel"
|
||||
label="4级政策分类"
|
||||
title="4级政策分类"
|
||||
:options="dict.lawsTypeFourthLevelOptions"
|
||||
/>
|
||||
<InputFormItem
|
||||
v-model="lawsStandInfoSearch.lawsEnName"
|
||||
label="英文名称"
|
||||
title="英文名称"
|
||||
/>
|
||||
<DatePickerFormItem
|
||||
v-model="lawsStandInfoSearch.issueTime"
|
||||
label="发文日期"
|
||||
title="发文日期"
|
||||
/>
|
||||
<DataRangePickerFormItem
|
||||
label="征集意见周期"
|
||||
title="征集意见周期"
|
||||
:startTime.sync="lawsStandInfoSearch.commentCycleStart"
|
||||
:endTime.sync="lawsStandInfoSearch.commentCycleEnd"
|
||||
/>
|
||||
<SelectMultipleFormItem
|
||||
v-model="lawsStandInfoSearch.lawsSycx"
|
||||
label="适用车型"
|
||||
title="适用车型"
|
||||
:options="dict.lawsSycxOptions || []"
|
||||
/>
|
||||
<SelectFormItem
|
||||
v-model="lawsStandInfoSearch.lawsYear"
|
||||
label="年度"
|
||||
title="年度"
|
||||
:options="dict.lawsYearOptions"
|
||||
/>
|
||||
<InputFormItem
|
||||
v-model="lawsStandInfoSearch.notisyncNumLink"
|
||||
label="通知文号链接"
|
||||
title="通知文号链接"
|
||||
/>
|
||||
<InputFormItem
|
||||
v-model="lawsStandInfoSearch.referenceNews"
|
||||
label="参考消息"
|
||||
title="参考消息"
|
||||
/>
|
||||
<InputFormItem
|
||||
v-model="lawsStandInfoSearch.lawsKeyPoint"
|
||||
label="政策要点"
|
||||
title="政策要点"
|
||||
/>
|
||||
<InputFormItem
|
||||
v-model="lawsStandInfoSearch.lawsOriginalLink"
|
||||
label="政策原文链接"
|
||||
title="政策原文链接"
|
||||
/>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!--#region-->
|
||||
<!--<el-row :gutter="24">-->
|
||||
<!-- <el-col :span="24">-->
|
||||
<!-- <el-form-item label="征集意见周期" title="征集意见周期" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-date-picker-->
|
||||
<!-- v-model="commentCycleDate"-->
|
||||
<!-- :picker-options="pickerOptions"-->
|
||||
<!-- type="daterange"-->
|
||||
<!-- range-separator="至"-->
|
||||
<!-- start-placeholder="起始时间"-->
|
||||
<!-- end-placeholder="结束时间"-->
|
||||
<!-- value-format="yyyy-MM-dd"-->
|
||||
<!-- align="right">-->
|
||||
<!-- </el-date-picker>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<!--</el-row>-->
|
||||
<!--#endregion-->
|
||||
</div>
|
||||
<ProcessTitle>
|
||||
<template slot="title">实施日期</template>
|
||||
@@ -220,55 +153,33 @@
|
||||
<div class="prc-content-border">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<DatePickerGroupFormItem label="实施日期"
|
||||
title="实施日期"
|
||||
v-model="lawsStandInfoSearch.SSRQLAWS"
|
||||
></DatePickerGroupFormItem>
|
||||
<DatePickerFormItem label="新生产实施日期"
|
||||
title="新生产实施日期"
|
||||
v-model="lawsStandInfoSearch.ZCXSSRQLAWS">
|
||||
</DatePickerFormItem>
|
||||
<DatePickerFormItem label="生效日期"
|
||||
title="生效日期"
|
||||
v-model="lawsStandInfoSearch.SXRQLAWS">
|
||||
</DatePickerFormItem>
|
||||
|
||||
<!--#region-->
|
||||
<!--<el-form-item label="实施日期" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-datePicker v-model="lawsStandInfoSearch.SSRQLAWS"-->
|
||||
<!-- :editable="false"-->
|
||||
<!-- placeholder="请选择实施日期"-->
|
||||
<!-- value-format="yyyy-MM-dd"-->
|
||||
<!-- clearable></el-datePicker>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--<el-form-item label="新车型实施日期" title="新车型实施日期" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-datePicker v-model="lawsStandInfoSearch.XCXSSRQLAWS"-->
|
||||
<!-- :editable="false"-->
|
||||
<!-- placeholder="请选择实施日期"-->
|
||||
<!-- value-format="yyyy-MM-dd"-->
|
||||
<!-- clearable></el-datePicker>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--#endregion-->
|
||||
<DatePickerGroupFormItem
|
||||
v-model="lawsStandInfoSearch.SSRQLAWS"
|
||||
label="实施日期"
|
||||
title="实施日期"
|
||||
/>
|
||||
<DatePickerFormItem
|
||||
v-model="lawsStandInfoSearch.ZCXSSRQLAWS"
|
||||
label="新生产实施日期"
|
||||
title="新生产实施日期"
|
||||
/>
|
||||
<DatePickerFormItem
|
||||
v-model="lawsStandInfoSearch.SXRQLAWS"
|
||||
label="生效日期"
|
||||
title="生效日期"
|
||||
/>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<DatePickerFormItem label="新认证实施日期"
|
||||
title="新认证实施日期"
|
||||
v-model="lawsStandInfoSearch.XRZSSRQLAWS"
|
||||
></DatePickerFormItem>
|
||||
<DatePickerFormItem label="在用车实施日期"
|
||||
title="在用车实施日期"
|
||||
v-model="lawsStandInfoSearch.XCXSSRQLAWS"
|
||||
></DatePickerFormItem>
|
||||
|
||||
<!--#region-->
|
||||
<!--<el-form-item label="在产车实施日期" title="在产车实施日期" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-datePicker v-model="lawsStandInfoSearch.ZCXSSRQLAWS"-->
|
||||
<!-- :editable="false"-->
|
||||
<!-- placeholder="请选择实施日期"-->
|
||||
<!-- value-format="yyyy-MM-dd"-->
|
||||
<!-- clearable></el-datePicker>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--#endregion-->
|
||||
<DatePickerFormItem
|
||||
v-model="lawsStandInfoSearch.XRZSSRQLAWS"
|
||||
label="新认证实施日期"
|
||||
title="新认证实施日期"
|
||||
/>
|
||||
<DatePickerFormItem
|
||||
v-model="lawsStandInfoSearch.XCXSSRQLAWS"
|
||||
label="在用车实施日期"
|
||||
title="在用车实施日期"
|
||||
/>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
@@ -278,120 +189,42 @@
|
||||
<div class="prc-content-border">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<SelectFormItem label="我司参与深度"
|
||||
title="我司参与深度"
|
||||
v-model="lawsStandInfoSearch.CYSDLAWS"
|
||||
:options="dict.CYSDLAWSOptions">
|
||||
</SelectFormItem>
|
||||
<DepartmentFormItem label="投稿单位"
|
||||
title="投稿单位"
|
||||
v-model="lawsStandInfoSearch.TGDWLAWS"
|
||||
:ids.sync="lawsStandInfoSearch.TGDWLAWSID">
|
||||
</DepartmentFormItem>
|
||||
<DepartmentFormItem label="责任部门"
|
||||
title="责任部门"
|
||||
v-model="lawsStandInfoSearch.ZRBMLAWS"
|
||||
:ids.sync="lawsStandInfoSearch.ZRBMLAWSID">
|
||||
</DepartmentFormItem>
|
||||
<!--#region-->
|
||||
<!--<el-form-item label="发布机构" title="发布机构" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-input v-model="lawsStandInfoSearch.FBJGLAWS" placeholder="请输入发布机构" clearable></el-input>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--<el-form-item label="投稿人" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-select v-model="lawsStandInfoSearch.TGRLAWS" filterable clearable>-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in dict.TGRLAWSOptions"-->
|
||||
<!-- placeholder="请选择"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :value="item.value"-->
|
||||
<!-- :label="item.label"-->
|
||||
<!-- ></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--<el-form-item label="能源类型" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-select v-model="lawsStandInfoSearch.NYLXLAWS" filterable clearable>-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in dict.NYLXLAWSOptions"-->
|
||||
<!-- placeholder="请选择"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :value="item.value"-->
|
||||
<!-- :label="item.label"-->
|
||||
<!-- ></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--<el-form-item label="责任部门" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-select v-model="lawsStandInfoSearch.ZRBMLAWS" filterable clearable>-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in dict.ZRBMLAWSOptions"-->
|
||||
<!-- placeholder="请选择"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :value="item.value"-->
|
||||
<!-- :label="item.label"-->
|
||||
<!-- ></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--#endregion-->
|
||||
<SelectFormItem
|
||||
v-model="lawsStandInfoSearch.CYSDLAWS"
|
||||
label="我司参与深度"
|
||||
title="我司参与深度"
|
||||
:options="dict.CYSDLAWSOptions"
|
||||
/>
|
||||
<DepartmentFormItem
|
||||
v-model="lawsStandInfoSearch.TGDWLAWS"
|
||||
label="投稿单位"
|
||||
title="投稿单位"
|
||||
:ids.sync="lawsStandInfoSearch.TGDWLAWSID"
|
||||
/>
|
||||
<DepartmentFormItem
|
||||
v-model="lawsStandInfoSearch.ZRBMLAWS"
|
||||
label="责任部门"
|
||||
title="责任部门"
|
||||
:ids.sync="lawsStandInfoSearch.ZRBMLAWSID"
|
||||
/>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<personFormItem label="投稿人"
|
||||
title="投稿人"
|
||||
v-model="lawsStandInfoSearch.TGRLAWS">
|
||||
</personFormItem>
|
||||
<SelectMultipleFormItem label="适用认证"
|
||||
title="适用认证"
|
||||
v-model="lawsStandInfoSearch.SYRZLAWS"
|
||||
:options="dict.syrzOptions">
|
||||
</SelectMultipleFormItem>
|
||||
<personFormItem label="责任工程师"
|
||||
title="责任工程师"
|
||||
v-model="lawsStandInfoSearch.ZRGCSLAWS">
|
||||
</personFormItem>
|
||||
<!--#region-->
|
||||
<!--<el-form-item label="我司参与深度" title="我司参与深度" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-select v-model="lawsStandInfoSearch.CYSDLAWS" filterable clearable>-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in dict.CYSDLAWSOptions"-->
|
||||
<!-- placeholder="请选择"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :value="item.value"-->
|
||||
<!-- :label="item.label"-->
|
||||
<!-- ></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--<el-form-item label="投稿单位" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-select v-model="lawsStandInfoSearch.TGDWLAWS" filterable clearable>-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in dict.TGDWLAWSOptions"-->
|
||||
<!-- placeholder="请选择"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :value="item.value"-->
|
||||
<!-- :label="item.label"-->
|
||||
<!-- ></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--<el-form-item label="适用认证" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-select v-model="lawsStandInfoSearch.YYRZLAWS" filterable clearable>-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in dict.YYRZLAWSOptions"-->
|
||||
<!-- placeholder="请选择"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :value="item.value"-->
|
||||
<!-- :label="item.label"-->
|
||||
<!-- ></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--<el-form-item label="责任工程师" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-select v-model="lawsStandInfoSearch.ZRGCSLAWS" filterable clearable>-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="item in dict.ZRGCSLAWSOptions"-->
|
||||
<!-- placeholder="请选择"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :value="item.value"-->
|
||||
<!-- :label="item.label"-->
|
||||
<!-- ></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--#endregion-->
|
||||
<personFormItem
|
||||
v-model="lawsStandInfoSearch.TGRLAWS"
|
||||
label="投稿人"
|
||||
title="投稿人"
|
||||
/>
|
||||
<SelectMultipleFormItem
|
||||
v-model="lawsStandInfoSearch.SYRZLAWS"
|
||||
label="适用认证"
|
||||
title="适用认证"
|
||||
:options="dict.syrzOptions"
|
||||
/>
|
||||
<personFormItem
|
||||
v-model="lawsStandInfoSearch.ZRGCSLAWS"
|
||||
label="责任工程师"
|
||||
title="责任工程师"
|
||||
/>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
@@ -401,38 +234,33 @@
|
||||
<div class="prc-content-border">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<InputForStandardsForLaws label="代替文件号"
|
||||
title="代替文件号"
|
||||
v-model="lawsStandInfoSearch.DTWJHLAWS"
|
||||
></InputForStandardsForLaws>
|
||||
<InputForStandardsForLaws label="引用标准&政策"
|
||||
title="引用标准&政策"
|
||||
v-model="lawsStandInfoSearch.YYBZZCLAWS"
|
||||
></InputForStandardsForLaws>
|
||||
<InputFormItem label="参会记录"
|
||||
title="参会记录"
|
||||
v-model="lawsStandInfoSearch.CHJLLAWS">
|
||||
</InputFormItem>
|
||||
<!--#region-->
|
||||
<!--<el-form-item label="代替文件号" title="代替文件号" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-input v-model="lawsStandInfoSearch.DTWJHLAWS" placeholder="请输入代替文件号" clearable></el-input>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--#endregion-->
|
||||
<InputForStandardsForLaws
|
||||
v-model="lawsStandInfoSearch.DTWJHLAWS"
|
||||
label="代替文件号"
|
||||
title="代替文件号"
|
||||
/>
|
||||
<InputForStandardsForLaws
|
||||
v-model="lawsStandInfoSearch.YYBZZCLAWS"
|
||||
label="引用标准&政策"
|
||||
title="引用标准&政策"
|
||||
/>
|
||||
<InputFormItem
|
||||
v-model="lawsStandInfoSearch.CHJLLAWS"
|
||||
label="参会记录"
|
||||
title="参会记录"
|
||||
/>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<InputForStandardsForLaws label="被代替文件号"
|
||||
title="被代替文件号"
|
||||
v-model="lawsStandInfoSearch.BDTWJHLAWS"
|
||||
></InputForStandardsForLaws>
|
||||
<InputFormItem label="相关流程"
|
||||
title="相关流程"
|
||||
v-model="lawsStandInfoSearch.XGLC">
|
||||
</InputFormItem>
|
||||
<!--#region-->
|
||||
<!--<el-form-item label="被代替文件号" title="被代替文件号" class="add-form-item form-item-disabled">-->
|
||||
<!-- <el-input v-model="lawsStandInfoSearch.BDTWJHLAWS" placeholder="请输入被代替文件号" clearable></el-input>-->
|
||||
<!--</el-form-item>-->
|
||||
<!--#endregion-->
|
||||
<InputForStandardsForLaws
|
||||
v-model="lawsStandInfoSearch.BDTWJHLAWS"
|
||||
label="被代替文件号"
|
||||
title="被代替文件号"
|
||||
/>
|
||||
<InputFormItem
|
||||
v-model="lawsStandInfoSearch.XGLC"
|
||||
label="相关流程"
|
||||
title="相关流程"
|
||||
/>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
@@ -440,15 +268,19 @@
|
||||
</div>
|
||||
<div class="demo-drawer-footer">
|
||||
<el-button
|
||||
class="common-button-primary"
|
||||
icon="el-icon-check"
|
||||
type="primary"
|
||||
@click="getBussionStandTableBtn(lawsStandInfoSearch,'','sel')">搜索
|
||||
class="common-button-primary"
|
||||
icon="el-icon-check"
|
||||
type="primary"
|
||||
@click="getBussionStandTableBtn(lawsStandInfoSearch,'','sel')"
|
||||
>
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button
|
||||
class="common-button-default"
|
||||
icon="el-icon-close"
|
||||
@click="clearAllSearch('lawsStandInfoSearch')">取消
|
||||
class="common-button-default"
|
||||
icon="el-icon-close"
|
||||
@click="clearAllSearch('lawsStandInfoSearch')"
|
||||
>
|
||||
取消
|
||||
</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
@@ -456,18 +288,18 @@
|
||||
|
||||
<script>
|
||||
import ProcessTitle from '@/pages/processCenter/pages/components/ProcessTitle'
|
||||
import SelectFormItem from "@/components/hzwlComponents/SelectFormItem";
|
||||
import InputFormItem from "@/components/hzwlComponents/InputFormItem";
|
||||
import DatePickerFormItem from "@/components/hzwlComponents/DatePickerFormItem";
|
||||
import DataRangePickerFormItem from "@/components/hzwlComponents/DataRangePickerFormItem";
|
||||
import SelectMultipleFormItem from "@/components/hzwlComponents/SelectMultipleFormItem";
|
||||
import DatePickerGroupFormItem from "@/components/hzwlComponents/DatePickerGroupFormItem";
|
||||
import DepartmentFormItem from "@/components/hzwlComponents/DepartmentFormItem";
|
||||
import personFormItem from "@/components/hzwlComponents/personFormItem";
|
||||
import InputForStandardsForLaws from "@/components/hzwlComponents/InputForStandardsForLaws";
|
||||
import SelectFormItem from '@/components/hzwlComponents/SelectFormItem';
|
||||
import InputFormItem from '@/components/hzwlComponents/InputFormItem';
|
||||
import DatePickerFormItem from '@/components/hzwlComponents/DatePickerFormItem';
|
||||
import DataRangePickerFormItem from '@/components/hzwlComponents/DataRangePickerFormItem';
|
||||
import SelectMultipleFormItem from '@/components/hzwlComponents/SelectMultipleFormItem';
|
||||
import DatePickerGroupFormItem from '@/components/hzwlComponents/DatePickerGroupFormItem';
|
||||
import DepartmentFormItem from '@/components/hzwlComponents/DepartmentFormItem';
|
||||
import personFormItem from '@/components/hzwlComponents/personFormItem';
|
||||
import InputForStandardsForLaws from '@/components/hzwlComponents/InputForStandardsForLaws';
|
||||
|
||||
export default {
|
||||
name: "advancedSearch",
|
||||
name: 'AdvancedSearch',
|
||||
components: {
|
||||
ProcessTitle,
|
||||
SelectFormItem,
|
||||
@@ -480,6 +312,16 @@ export default {
|
||||
personFormItem,
|
||||
InputForStandardsForLaws
|
||||
},
|
||||
props: {
|
||||
lawsStandInfoSearch: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
},
|
||||
},
|
||||
data () {
|
||||
return{
|
||||
isAdvancedSearch: false,
|
||||
@@ -495,16 +337,6 @@ export default {
|
||||
]
|
||||
}
|
||||
},
|
||||
props: {
|
||||
lawsStandInfoSearch: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
open () {
|
||||
this.isAdvancedSearch = true
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<!-- 配置标准 -->
|
||||
<el-drawer
|
||||
title="配置政策"
|
||||
:wrapperClosable="false"
|
||||
:visible.sync="configStandFlag"
|
||||
size="1200px"
|
||||
@close="cancelConfigStand"
|
||||
title="配置政策"
|
||||
:wrapperClosable="false"
|
||||
:visible.sync="configStandFlag"
|
||||
size="1200px"
|
||||
@close="cancelConfigStand"
|
||||
>
|
||||
<div class="demo-drawer-content">
|
||||
<div class="search-area">
|
||||
@@ -16,8 +16,12 @@
|
||||
<!-- placeholder="根据标准名称查找" clearable/>-->
|
||||
<!-- </el-formItem>-->
|
||||
<el-formItem label="政策文号" prop="lawsNo" class="search-item">
|
||||
<el-input v-model="sarConfigStandSearch.lawsNo" @keyup.enter.native="searchConfiguraStand"
|
||||
placeholder="根据政策文号查找" clearable/>
|
||||
<el-input
|
||||
v-model="sarConfigStandSearch.lawsNo"
|
||||
placeholder="根据政策文号查找"
|
||||
clearable
|
||||
@keyup.enter.native="searchConfiguraStand"
|
||||
/>
|
||||
</el-formItem>
|
||||
<!-- <el-formItem label="企标类别" prop="standSort" class="search-item">-->
|
||||
<!-- <el-select v-model="sarConfigStandSearch.standSort" placeholder="根据企标类别查找"-->
|
||||
@@ -27,24 +31,32 @@
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-formItem>-->
|
||||
<el-formItem label="政策名称" prop="lawsName" class="search-item">
|
||||
<el-input v-model="sarConfigStandSearch.lawsName" @keyup.enter.native="searchConfiguraStand" placeholder="根据政策名称查找" clearable :maxlength="100"/>
|
||||
<el-input
|
||||
v-model="sarConfigStandSearch.lawsName"
|
||||
placeholder="根据政策名称查找"
|
||||
clearable
|
||||
:maxlength="100"
|
||||
@keyup.enter.native="searchConfiguraStand"
|
||||
/>
|
||||
</el-formItem>
|
||||
<el-form-item class="search-item btn-box">
|
||||
<el-button
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="small"
|
||||
:loading="searching"
|
||||
@click="searchConfiguraStand">
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="small"
|
||||
:loading="searching"
|
||||
@click="searchConfiguraStand"
|
||||
>
|
||||
查询
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item class="search-item btn-box">
|
||||
<el-button
|
||||
class="common-button-default"
|
||||
size="small"
|
||||
@click="clearAllSearch(3)"
|
||||
>清空
|
||||
class="common-button-default"
|
||||
size="small"
|
||||
@click="clearAllSearch(3)"
|
||||
>
|
||||
清空
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@@ -52,95 +64,104 @@
|
||||
</div>
|
||||
<div class="drawer-content">
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="configStandList"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%; flex: auto;"
|
||||
height="100%"
|
||||
border
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||
@sort-change="sortChangeConfig"
|
||||
@selection-change="selectConfigStandChange">
|
||||
ref="selection"
|
||||
:data="configStandList"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%; flex: auto;"
|
||||
height="100%"
|
||||
border
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||
@sort-change="sortChangeConfig"
|
||||
@selection-change="selectConfigStandChange"
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
type="selection"
|
||||
width="55"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
type="index"
|
||||
width="55"
|
||||
label="序号"
|
||||
align="center">
|
||||
type="index"
|
||||
width="55"
|
||||
label="序号"
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="{scope, column, $index}">
|
||||
{{ ($index + 1) + (configPage - 1) * configRows }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="lawsNo"
|
||||
label="政策文号"
|
||||
width="150"
|
||||
align="center"
|
||||
show-overflow-tooltip
|
||||
prop="lawsNo"
|
||||
label="政策文号"
|
||||
width="150"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="lawsName"
|
||||
label="政策名称"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="lawsEnName"
|
||||
label="英文名称"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="issueTime"
|
||||
label="发文日期"
|
||||
width="120"
|
||||
sortable
|
||||
align="center"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="lawsName"
|
||||
label="政策名称"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="lawsEnName"
|
||||
label="英文名称"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="issueTime"
|
||||
label="发文日期"
|
||||
width="120"
|
||||
sortable
|
||||
align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{formatDate(scope.row.issueTime)}}</span>
|
||||
<span>{{ formatDate(scope.row.issueTime) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="ssrqlaws"
|
||||
label="实施日期"
|
||||
width="120"
|
||||
sortable
|
||||
align="center">
|
||||
prop="ssrqlaws"
|
||||
label="实施日期"
|
||||
width="120"
|
||||
sortable
|
||||
align="center"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{formatDate(scope.row.ssrqlaws)}}</span>
|
||||
<span>{{ formatDate(scope.row.ssrqlaws) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standStatusShow"
|
||||
label="文本状态"
|
||||
width="100"
|
||||
align="center">
|
||||
</el-table-column>
|
||||
prop="standStatusShow"
|
||||
label="政策状态"
|
||||
width="100"
|
||||
align="center"
|
||||
/>
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination
|
||||
style="position: relative;"
|
||||
:page="configPage"
|
||||
:pageSize="configRows"
|
||||
:total="configTotal"
|
||||
@pageChange="configuraPageChange"
|
||||
@pageSizeChange="configuraPageSizeChange"></pagination>
|
||||
style="position: relative;"
|
||||
:auto-size="true"
|
||||
:page="configPage"
|
||||
:pageSize="configRows"
|
||||
:total="configTotal"
|
||||
@pageChange="configuraPageChange"
|
||||
@pageSizeChange="configuraPageSizeChange"
|
||||
/>
|
||||
<div class="divDel">
|
||||
<div class="divDel_title">已选政策</div>
|
||||
<div class="divDel_box">
|
||||
<el-tag
|
||||
v-for="tag in selectConfigStand"
|
||||
:key="tag.id"
|
||||
size="mini"
|
||||
closable
|
||||
@close="handleTagClose(tag)">
|
||||
<a v-if="tag.standStatusShow === '作废' "
|
||||
class="table-jump" style="color: #F56C6C"
|
||||
@click="handlePreview(tag)">{{ tag.lawsName }}</a>
|
||||
<a v-else @click="handlePreview(tag)" class="table-jump" style="color: #333333">{{ tag.lawsName }}</a>
|
||||
v-for="tag in selectConfigStand"
|
||||
:key="tag.id"
|
||||
size="mini"
|
||||
closable
|
||||
@close="handleTagClose(tag)"
|
||||
>
|
||||
<a
|
||||
v-if="tag.standStatusShow === '作废' "
|
||||
class="table-jump"
|
||||
style="color: #F56C6C"
|
||||
@click="handlePreview(tag)"
|
||||
>{{ tag.lawsName }}</a>
|
||||
<a v-else class="table-jump" style="color: #333333" @click="handlePreview(tag)">{{ tag.lawsName }}</a>
|
||||
</el-tag>
|
||||
</div>
|
||||
</div>
|
||||
@@ -148,34 +169,55 @@
|
||||
</div>
|
||||
<div class="demo-drawer-footer">
|
||||
<el-button
|
||||
type="primary"
|
||||
round class="common-button-primary"
|
||||
icon="el-icon-check"
|
||||
@click="saveConfigStand"
|
||||
:loading="isSubmit"
|
||||
>提交</el-button>
|
||||
<el-button class="common-button-default" style="padding: 7px 12px;" icon="el-icon-close" type="primary"
|
||||
round @click="cancelConfigStand">取消</el-button>
|
||||
type="primary"
|
||||
round
|
||||
class="common-button-primary"
|
||||
icon="el-icon-check"
|
||||
:loading="isSubmit"
|
||||
@click="saveConfigStand"
|
||||
>
|
||||
提交
|
||||
</el-button>
|
||||
<el-button
|
||||
class="common-button-default"
|
||||
style="padding: 7px 12px;"
|
||||
icon="el-icon-close"
|
||||
type="primary"
|
||||
round
|
||||
@click="cancelConfigStand"
|
||||
>
|
||||
取消
|
||||
</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "configStandDrawer",
|
||||
name: 'ConfigStandDrawer',
|
||||
props: {
|
||||
selectSarMenu: {
|
||||
type: Object,
|
||||
required: true
|
||||
},
|
||||
getBussionStandTable: {
|
||||
type: Function,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
configStandFlag: false, // 控制配置标准表格是否显示
|
||||
configPage: 1,
|
||||
configTotal: 0,
|
||||
configRows: this.$store.getters.userInfo.configContent,
|
||||
configRows: 20,
|
||||
searching: false,
|
||||
configStandList: [],
|
||||
configLoading: false, // 配置表格加载中
|
||||
isSubmit: false,
|
||||
sarConfigStandSearch: {
|
||||
page: this.configPage,
|
||||
pageSize: this.$store.getters.userInfo.configContent,
|
||||
pageSize: 20,
|
||||
standType: 'INLAND',
|
||||
validFlag: '0',
|
||||
// menuId: '',
|
||||
@@ -197,16 +239,6 @@ export default {
|
||||
selectConfigStand: []
|
||||
}
|
||||
},
|
||||
props: {
|
||||
selectSarMenu: {
|
||||
type: Object,
|
||||
required: true
|
||||
},
|
||||
getBussionStandTable: {
|
||||
type: Function,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
open () {
|
||||
this.configStandFlag = true
|
||||
@@ -220,8 +252,8 @@ export default {
|
||||
this.selectConfiguraStand()
|
||||
},
|
||||
clearAllSearch (flag) {
|
||||
this.sarConfigStandSearch.lawsNo=''
|
||||
this.sarConfigStandSearch.lawsName=''
|
||||
this.sarConfigStandSearch.lawsNo = ''
|
||||
this.sarConfigStandSearch.lawsName = ''
|
||||
this.configPage = 1
|
||||
this.sarConfigStandSearch.page = 1
|
||||
this.selectConfiguraStand()
|
||||
@@ -229,8 +261,8 @@ export default {
|
||||
// 取消配置标准
|
||||
cancelConfigStand () {
|
||||
this.configStandFlag = false
|
||||
this.sarConfigStandSearch.lawsNo=''
|
||||
this.sarConfigStandSearch.lawsName=''
|
||||
this.sarConfigStandSearch.lawsNo = ''
|
||||
this.sarConfigStandSearch.lawsName = ''
|
||||
this.configPage = 1
|
||||
this.selectConfigStand = []
|
||||
},
|
||||
@@ -246,7 +278,7 @@ export default {
|
||||
})
|
||||
},
|
||||
// 配置标准-表格排序
|
||||
sortChangeConfig(sortObj) {
|
||||
sortChangeConfig (sortObj) {
|
||||
if (sortObj.column.order !== 'normal') {
|
||||
switch (sortObj.prop) {
|
||||
case 'issueTime' :
|
||||
@@ -298,7 +330,7 @@ export default {
|
||||
},
|
||||
// 提交配置搜索项
|
||||
saveConfigStand () {
|
||||
let search = {}
|
||||
const search = {}
|
||||
search.menuId = this.selectSarMenu.id
|
||||
if (this.selectConfigStand.length === 0) {
|
||||
this.$message({
|
||||
@@ -324,9 +356,9 @@ export default {
|
||||
}
|
||||
},
|
||||
formatDate (dateStr) {
|
||||
if (dateStr && dateStr!== '') {
|
||||
let dateArr = dateStr.split(',')
|
||||
return dateArr.map(date => date.slice(0,10)).join(',')
|
||||
if (dateStr && dateStr !== '') {
|
||||
const dateArr = dateStr.split(',')
|
||||
return dateArr.map(date => date.slice(0, 10)).join(',')
|
||||
}
|
||||
return dateStr
|
||||
},
|
||||
@@ -335,7 +367,7 @@ export default {
|
||||
this.$refs.selection.toggleRowSelection(tag, false)
|
||||
},
|
||||
handlePreview (tag) {
|
||||
let routeUrl = this.$router.resolve({
|
||||
const routeUrl = this.$router.resolve({
|
||||
name: 'OtherLawsStandDetails',
|
||||
params: {
|
||||
id: tag.id,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user