Compare commits
632 Commits
feature/pa
...
login-page
| Author | SHA1 | Date | |
|---|---|---|---|
| e13b7669f2 | |||
| b8fd0cd28f | |||
| 6ed11186d4 | |||
| f8c82f6f13 | |||
| 889023bbb1 | |||
| be97d820bd | |||
| 9e306ab949 | |||
| aed0d157f1 | |||
| b7ab261549 | |||
| 3a822d7d33 | |||
| f8cb159203 | |||
| e33c956306 | |||
| 9ae46c9957 | |||
| 7d740ae559 | |||
| 571de29199 | |||
| a57933b42c | |||
| 1067ad68ec | |||
| 257fd6e92c | |||
| de4e0c4de6 | |||
| ecea562ed8 | |||
| 47d6deb1f6 | |||
| 5875c8416f | |||
| f5f64038c2 | |||
| f85da30008 | |||
| ba81d9be29 | |||
| ff99a1dfb7 | |||
| 3ad13aba00 | |||
| 106e32189a | |||
| 10733e0240 | |||
| 2822ee9920 | |||
| 7e2b37ef85 | |||
| 8c4761f078 | |||
| ae3a8de5a2 | |||
| 2a065d7c6d | |||
| 8d31f21547 | |||
| d2c350f6d1 | |||
| 0cce1559f3 | |||
| d2a6ca1c8a | |||
| ba63f3250d | |||
| 5d9b136898 | |||
| cd84e321e2 | |||
| 549fb8a5c4 | |||
| c9e8779418 | |||
| ae5ca4497e | |||
| eea408944c | |||
| 2b2b2f3ca7 | |||
| 131a8caceb | |||
| 40d46bfc6c | |||
| c5e7182978 | |||
| 678d15519a | |||
| 0ca940305b | |||
| c338af78bc | |||
| 39c6420921 | |||
| 33200a38c3 | |||
| 6b08457f6c | |||
| ab86f198e9 | |||
| 1e3e5ea830 | |||
| b6b0529fc0 | |||
| 9cbd590ec0 | |||
| 2c996dae05 | |||
| b468bf197f | |||
| a85946fad0 | |||
| eb41537083 | |||
| 761e712c51 | |||
| 2bb8081af4 | |||
| 6dffa159ef | |||
| c5298f2eec | |||
| 41b5ba41b0 | |||
| 6ba71ef342 | |||
| 73eb480138 | |||
| a78db667e6 | |||
| 9c97943076 | |||
| cd48729a4b | |||
| 4ba7269e6f | |||
| bc6b0ef9ba | |||
| bc48403573 | |||
| f242420f3a | |||
| 6cecb167ea | |||
| 2ae16dce5c | |||
| 28d48ec390 | |||
| 825b591c67 | |||
| 0778aabadd | |||
| 7a3b01c4e6 | |||
| 18a4740380 | |||
| 303f74c176 | |||
| 5bf1767e6e | |||
| ead9ebb012 | |||
| ace758617f | |||
| e259f53bc2 | |||
| 4ac1eeab24 | |||
| f298ead5bb | |||
| 68ab611223 | |||
| 4f220563a1 | |||
| 567cf4b15a | |||
| 911f4971f3 | |||
| 7cdb840b5a | |||
| 4b89007ea6 | |||
| 8396fa724c | |||
| 8f4646501d | |||
| cadf4acd85 | |||
| 759c829c4d | |||
| d9d9ea2733 | |||
| bdd3b9cc3b | |||
| b49480ef7b | |||
| 46bfecfdc2 | |||
| a59df85c64 | |||
| 17420e5351 | |||
| c0336eb26a | |||
| b394d976a0 | |||
| 48d7a9ba78 | |||
| 01ac9f4e99 | |||
| 376005df54 | |||
| 5777290bf2 | |||
| 59dbb5443c | |||
| 70d1ad980e | |||
| cfe1b803ec | |||
| 5fcdba486e | |||
| 4aadbec7cc | |||
| 9e473d2116 | |||
| 23226b2df0 | |||
| afe542a6a0 | |||
| 8a80a1de3c | |||
| d2bad04985 | |||
| 8311b7c783 | |||
| 182e547ffe | |||
| 98281b6b3a | |||
| 4883a55ce8 | |||
| e330724811 | |||
| dd8f5afaa1 | |||
| 8940aec409 | |||
| b1d769e215 | |||
| 6d703cf325 | |||
| e4e76db5d8 | |||
| 5ebf478c35 | |||
| 120e12c246 | |||
| 8805564acc | |||
| 35b4fafd24 | |||
| 2422bd47b2 | |||
| 06deeb01ce | |||
| cf4d181c02 | |||
| 14cf740b8c | |||
| 9eab67502f | |||
| 2eb9ef930a | |||
| 59c911b639 | |||
| 737dd8d9b1 | |||
| 4f3c5640b5 | |||
| d8de5bfe8b | |||
| 2f67f0ae0b | |||
| d1e01fb203 | |||
| a719dfd6dc | |||
| b0de026701 | |||
| 2d98e91e02 | |||
| 64ac472716 | |||
| bacba43fd2 | |||
| d0f418adc4 | |||
| 688fd03a92 | |||
| ae22b93ac7 | |||
| d499b524f7 | |||
| 6bdcd4e0e6 | |||
| e5b0436a27 | |||
| 56c74c37f2 | |||
| 547918ddaa | |||
| bdfbca6fc0 | |||
| 6ef3718fbc | |||
| 268919bda5 | |||
| d81ae173e2 | |||
| 001455303e | |||
| 36f07fc430 | |||
| 7b5ad7970c | |||
| bc20f1e970 | |||
| 0d49a8e9d0 | |||
| 006a59122b | |||
| 2d17152c43 | |||
| 87dc390eaf | |||
| caf0f98a0e | |||
| c3afc62cb1 | |||
| a6c357e77a | |||
| 85530ad527 | |||
| a125eec1d3 | |||
| 7e4dc24ca9 | |||
| 01290836dc | |||
| 20a4a91444 | |||
| fa6fd67157 | |||
| 5988856e23 | |||
| fcdc765e69 | |||
| 18fc33ad00 | |||
| 500126f019 | |||
| a2abb79379 | |||
| fecb9692b3 | |||
| e7cd51ae30 | |||
| 14d38960b8 | |||
| 7bc18f6469 | |||
| 4dd7acb53a | |||
| 89c03c417d | |||
| 2320ab0960 | |||
| 61b73497a6 | |||
| 95604e68df | |||
| cb3bf2389c | |||
| 44ae7f40c1 | |||
| 206ffaa9b9 | |||
| da7912ea1a | |||
| ebdad86950 | |||
| ae80432b23 | |||
| ed84583bac | |||
| 21009db39b | |||
| 236a69cdd0 | |||
| 4a8fe7df04 | |||
| 7d48edd72b | |||
| 2769384b9f | |||
| 2d0b000242 | |||
| abeed6f4c6 | |||
| 3c39e4395e | |||
| 70213fc40d | |||
| f5b51e9d2c | |||
| c8fef47035 | |||
| bd75592478 | |||
| 98e10f6767 | |||
| e1f4be6b8b | |||
| c97712027d | |||
| 6c47267388 | |||
| 26ae59d300 | |||
| fed2710f5c | |||
| 7b93976dbf | |||
| 2191dbc899 | |||
| 498ff78ae2 | |||
| d97800841d | |||
| ecc9dfe5cf | |||
| cf2e3c6351 | |||
| a11bb90f20 | |||
| 9c9b45f96a | |||
| 75e4c51846 | |||
| ce4f1e1ed1 | |||
| 334a8bf58c | |||
| 0a649e65c2 | |||
| bbd531326a | |||
| 14cba100e4 | |||
| 83deb7c465 | |||
| cc2dc19a3d | |||
| 5d07a64d3b | |||
| 8781bcf586 | |||
| 5fd558627f | |||
| 3db73b9509 | |||
| e6efbd0d20 | |||
| cfba5ed3ad | |||
| 29a18967c9 | |||
| 96a23ebbcf | |||
| 07589c8452 | |||
| 9b7b07397b | |||
| 9894aafcc1 | |||
| cf4498db3e | |||
| f09404d89b | |||
| b5ef3908e8 | |||
| 1e7171cb23 | |||
| 658f1666be | |||
| 83d43d2f15 | |||
| be1e86601a | |||
| 476d3f6587 | |||
| 12cc256741 | |||
| 258fe9f356 | |||
| add1a9bae3 | |||
| 7cfa2cc415 | |||
| 0d12b0bfa1 | |||
| 4d61c136ff | |||
| 31959f9cbf | |||
| 4593e3240e | |||
| e61ba7f25e | |||
| ef1f8e98e7 | |||
| 28837d56a6 | |||
| 1481a0ffd4 | |||
| e231debd6a | |||
| e01ed4dc55 | |||
| d97347e720 | |||
| e066cb7850 | |||
| 2c1ae2ba1f | |||
| 092f0d41e8 | |||
| 1457c37fb5 | |||
| 74e43e1157 | |||
| 77252eb351 | |||
| 916e0f9c0f | |||
| 0230134320 | |||
| 0d36482e6d | |||
| 7b9de7fffc | |||
| 431eb70c66 | |||
| 119408bcf7 | |||
| 07c5ba0884 | |||
| 70d7746f83 | |||
| c3ebf69caa | |||
| 02014f4b21 | |||
| c11d9f3fa0 | |||
| 9f0b3da44c | |||
| 60b101f2bb | |||
| 101eca6093 | |||
| 2bb30f16b3 | |||
| 740d7317d4 | |||
| 198d9bf776 | |||
| abfaba97b0 | |||
| dc8f5eb36c | |||
| 17341ddbee | |||
| ff020f5a35 | |||
| bcb4f3cf56 | |||
| 3f80d30e34 | |||
| c402fedde3 | |||
| c4b7953692 | |||
| 9b22d97696 | |||
| ac5bb6ab7e | |||
| 855615d1ff | |||
| 99d00bafa8 | |||
| d4dd453308 | |||
| dabe8ba00e | |||
| 0307a0852a | |||
| 17ce3dd481 | |||
| ea95821644 | |||
| 3341787481 | |||
| 2c46fd77bd | |||
| 5db0abb42e | |||
| 07553918d0 | |||
| 05b878ddcd | |||
| c32f0ea95b | |||
| 021ce61aca | |||
| 3387c37e6a | |||
| 7463eb6425 | |||
| 9bc65559a1 | |||
| 0270e41c4a | |||
| 52f0f576ac | |||
| b721df986a | |||
| bd6fa847fa | |||
| a98a0592ea | |||
| a1a73bebfa | |||
| 2a3a59737c | |||
| 3b884de222 | |||
| 3ae4aa04e2 | |||
| 779c29fe6c | |||
| 51e7ebf4d3 | |||
| ff9a59a759 | |||
| 82dc8255c1 | |||
| a44a441203 | |||
| 3274d6b5b0 | |||
| 1f806432d1 | |||
| 43a9d48930 | |||
| 2d7f75d90c | |||
| 46227ebd48 | |||
| ad9ee653df | |||
| 2296944130 | |||
| df1bcf4654 | |||
| 263a8323de | |||
| 691567904b | |||
| fc83ed140f | |||
| a6153323dd | |||
| 73c3ce6c4f | |||
| c69e21bd62 | |||
| d57d146689 | |||
| 23b0512e9c | |||
| 9afb89b82b | |||
| d1fa642b83 | |||
| 21cef66d34 | |||
| 805ac57f02 | |||
| d840353041 | |||
| f2926288fa | |||
| 581303f794 | |||
| c66e1ae3a9 | |||
| c37bbdaf56 | |||
| 2e5164fe3c | |||
| 8e8dac953c | |||
| 69ba80fd81 | |||
| 5bb4c67981 | |||
| c1347bd394 | |||
| 60dff3a432 | |||
| dc42b429cf | |||
| 399db8c601 | |||
| b746d33dd2 | |||
| b60bdb4b9d | |||
| 5387c5d882 | |||
| 946bd59ffb | |||
| 90a626c601 | |||
| 60d00f960c | |||
| a8ed4b0000 | |||
| f5c85c6cfc | |||
| a017104170 | |||
| 67e54f2a13 | |||
| bf14ddd7eb | |||
| 6d43d3af33 | |||
| 5a7e7df5c5 | |||
| c7e25414bf | |||
| ec47e67b21 | |||
| 899c708482 | |||
| f3ede6c5f0 | |||
| ce57fe029e | |||
| 3b016972b0 | |||
| 6bcc71ab8e | |||
| 35c459895e | |||
| 01a406dcef | |||
| 46f30b73d1 | |||
| 1155b23859 | |||
| 6b890e638c | |||
| 8994bf293b | |||
| 6908a84e25 | |||
| 1db6ff1c4e | |||
| 4b5e42e7c9 | |||
| a9e132a581 | |||
| ea2b5eec18 | |||
| 82c3801cc6 | |||
| f3e01dcfc1 | |||
| 0ea96ff327 | |||
| 3e08b87143 | |||
| 7b557900b5 | |||
| e2f5538da9 | |||
| 38e3b08b5b | |||
| ce3cb31a3c | |||
| 4b601bda42 | |||
| d04868e8b7 | |||
| 1541b399ba | |||
| 1fb6d0e872 | |||
| ad612a0c82 | |||
| 84a7cd4ddc | |||
| 0d73bbde38 | |||
| ab6f1c6865 | |||
| e66779ecb3 | |||
| 0ae6f030be | |||
| c16b7e82c8 | |||
| 6eeb714434 | |||
| 62e15f69ea | |||
| 38310cb8b6 | |||
| 5731b47703 | |||
| ad13d4b11f | |||
| e2aeba236f | |||
| 8ad305a271 | |||
| ebf2443425 | |||
| b060c0e53c | |||
| 79e79e56e1 | |||
| 90b4337d48 | |||
| 8344c23453 | |||
| 803e3f3f77 | |||
| 59fe0d3b2f | |||
| f2ac497c48 | |||
| dcfb0e08cb | |||
| b61340b451 | |||
| dfda671a33 | |||
| b98ab6cebe | |||
| 024a251cf8 | |||
| e983ba5457 | |||
| ba3cede3d8 | |||
| 9239beba33 | |||
| 1c15aa0813 | |||
| 4553ead247 | |||
| 61960380e8 | |||
| 31b1cf15c4 | |||
| 9aaa481380 | |||
| 36c38de600 | |||
| a6d213b07c | |||
| 4a2a9fa1c0 | |||
| 3608442c40 | |||
| 886a81a19b | |||
| b729266c6a | |||
| 3845400bfa | |||
| 5f8594c3ac | |||
| 73b1521523 | |||
| 36937f229f | |||
| 1866410a23 | |||
| 8aaf8b8ab4 | |||
| 615b70a494 | |||
| 201b0eaa1a | |||
| adbe2a402f | |||
| b9f582e383 | |||
| c56013d9ea | |||
| c20220da1d | |||
| 7c9217dbaa | |||
| 650fe2cbdb | |||
| 46ee90bc8d | |||
| 9be4b2a5f1 | |||
| dfff01a8ee | |||
| 192ed6dfbf | |||
| d974a06c10 | |||
| bbd4daa4f6 | |||
| b405f2403e | |||
| f31b8a0d12 | |||
| ee21385d16 | |||
| b03ed166ed | |||
| 317efcdb2a | |||
| 3088476b67 | |||
| 1253266e23 | |||
| 84d7cf5658 | |||
| bc5e72bc77 | |||
| 4af2374189 | |||
| 88f4d1f195 | |||
| 8b03d58fa2 | |||
| d7742c86df | |||
| 2c42d31ea5 | |||
| 28f4c8077c | |||
| 57d567a8f5 | |||
| b22ef98056 | |||
| 438484699d | |||
| 389c5cd7cf | |||
| 7a6a2454a0 | |||
| 9e439827a5 | |||
| f181229238 | |||
| 857320d5d3 | |||
| 524610ed8a | |||
| c4ea948c73 | |||
| f08a45af4f | |||
| 172ecc6263 | |||
| 804f25d245 | |||
| 5418e008d6 | |||
| 635ead98ce | |||
| cad95183d5 | |||
| a0827b825a | |||
| 8555bb7f39 | |||
| 8e0ea9bf23 | |||
| f3a1e96d86 | |||
| 545b867fc1 | |||
| 756bed1e72 | |||
| 394aba4ba1 | |||
| 6e15440832 | |||
| 03b1d6da82 | |||
| 74e223270e | |||
| abe096d5b5 | |||
| aee194c49a | |||
| a084105110 | |||
| d9e8618848 | |||
| 121ce5c789 | |||
| d88c7f8a70 | |||
| 5b30dc34bb | |||
| eaaa448e3f | |||
| 56ca4e7305 | |||
| a8a160c1cd | |||
| 484a67fbd7 | |||
| f3062a3cad | |||
| d55ff3f838 | |||
| 33b695729a | |||
| be1053eb70 | |||
| cba70f810e | |||
| 23df1cc8fc | |||
| e9c75fdba6 | |||
| dbb52f85bf | |||
| 2b013e0e48 | |||
| 17357934fb | |||
| bd9cf612ff | |||
| 5452dc7f1f | |||
| d5b6e01748 | |||
| 66eb9ad99d | |||
| 579b158b04 | |||
| 5b2d025ee1 | |||
| 064fbc0113 | |||
| c3250853c5 | |||
| 73758b266f | |||
| 8d4c408e95 | |||
| db73552c90 | |||
| 9955d29d76 | |||
| 19a0e94828 | |||
| 5a0ee17710 | |||
| 4685f7ed60 | |||
| a93c4fa051 | |||
| e9e4941bf9 | |||
| 52440f9f66 | |||
| f3a30b5e0e | |||
| 2ac8c31341 | |||
| 9b4c13f596 | |||
| 8da9e7a56f | |||
| deb9848fb7 | |||
| da6bf03ad8 | |||
| d734ec5f72 | |||
| d79ff8fc01 | |||
| 385bbaa82b | |||
| 4520daabe9 | |||
| c7b73031c8 | |||
| 9629a9ee72 | |||
| 5830166b7b | |||
| 30b24c2e7a | |||
| a6c2aa38c4 | |||
| 9d62915ead | |||
| 3c44e98401 | |||
| 0b2c96e212 | |||
| ca31caa229 | |||
| d6238b7fc0 | |||
| 673df55bfe | |||
| 1aa240b296 | |||
| be1ffd4cee | |||
| c1ee31e729 | |||
| 61458da6eb | |||
| 552966a087 | |||
| 891d346ad1 | |||
| 762cdc41e5 | |||
| f666675c47 | |||
| c75f26fcf7 | |||
| 4cd04a0671 | |||
| e7e0d68dcd | |||
| f7cfe15de3 | |||
| 2c2715acf0 | |||
| 7f7ee30ff3 | |||
| 5687f333aa | |||
| c1c36543e7 | |||
| f69d4595a9 | |||
| c1749e383c | |||
| 2107de50d7 | |||
| 36166726ed | |||
| 6dcbdfaf94 | |||
| 90461ee459 | |||
| 97fde5d6b9 | |||
| f7efbe28c0 | |||
| c1f01ad245 | |||
| 51c750a712 | |||
| a37e60ad9f | |||
| 4bf8e47206 | |||
| 24596c388d | |||
| 68806a8d60 | |||
| f39b829d5d | |||
| b0a301564b | |||
| 0e4a6c792b | |||
| af019cb962 | |||
| d06b7ca974 | |||
| d1b933fc2d | |||
| 5fc5dd07a7 | |||
| cbecaeaa15 | |||
| 329bca0f9a | |||
| ad8134c120 | |||
| a4a2b45911 | |||
| 6881329df6 | |||
| 0147e0034d | |||
| f1fde49ea8 | |||
| 18de3e1fbe | |||
| ded7f094e5 | |||
| 3597eff6c8 | |||
| 55f751a22e | |||
| 6f8929037e | |||
| 6fffab32a4 | |||
| f40c5a53a4 | |||
| 01d4c7bc0b | |||
| a1b8ca48cc | |||
| 91a547c570 | |||
| 53a8809f64 | |||
| f763db279d | |||
| 0c7b051d75 | |||
| b9981b5fb1 |
13
angular.json
13
angular.json
@ -35,8 +35,19 @@
|
|||||||
"styles": [
|
"styles": [
|
||||||
"node_modules/perfect-scrollbar/css/perfect-scrollbar.css",
|
"node_modules/perfect-scrollbar/css/perfect-scrollbar.css",
|
||||||
"node_modules/quill/dist/quill.snow.css",
|
"node_modules/quill/dist/quill.snow.css",
|
||||||
"src/styles.less"
|
"src/styles.less",
|
||||||
|
{
|
||||||
|
"input": "src/styles/default.less",
|
||||||
|
"bundleName": "default",
|
||||||
|
"inject": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"input": "src/styles/compact.less",
|
||||||
|
"bundleName": "compact",
|
||||||
|
"inject": false
|
||||||
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
"scripts": [
|
"scripts": [
|
||||||
"node_modules/quill/dist/quill.min.js",
|
"node_modules/quill/dist/quill.min.js",
|
||||||
"node_modules/perfect-scrollbar/dist/perfect-scrollbar.js",
|
"node_modules/perfect-scrollbar/dist/perfect-scrollbar.js",
|
||||||
|
|||||||
40
package-lock.json
generated
40
package-lock.json
generated
@ -5172,6 +5172,14 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"css-line-break": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==",
|
||||||
|
"requires": {
|
||||||
|
"utrie": "^1.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"css-loader": {
|
"css-loader": {
|
||||||
"version": "6.2.0",
|
"version": "6.2.0",
|
||||||
"resolved": "https://registry.npmmirror.com/css-loader/download/css-loader-6.2.0.tgz?cache=0&sync_timestamp=1635967924209&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcss-loader%2Fdownload%2Fcss-loader-6.2.0.tgz",
|
"resolved": "https://registry.npmmirror.com/css-loader/download/css-loader-6.2.0.tgz?cache=0&sync_timestamp=1635967924209&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcss-loader%2Fdownload%2Fcss-loader-6.2.0.tgz",
|
||||||
@ -8113,6 +8121,15 @@
|
|||||||
"integrity": "sha1-e15vfmZen7QfMAB+2eDUHpf7IUA=",
|
"integrity": "sha1-e15vfmZen7QfMAB+2eDUHpf7IUA=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"html2canvas": {
|
||||||
|
"version": "1.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz",
|
||||||
|
"integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
|
||||||
|
"requires": {
|
||||||
|
"css-line-break": "^2.1.0",
|
||||||
|
"text-segmentation": "^1.0.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
"htmlparser2": {
|
"htmlparser2": {
|
||||||
"version": "3.10.1",
|
"version": "3.10.1",
|
||||||
"resolved": "https://registry.npmmirror.com/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&sync_timestamp=1636640940074&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-3.10.1.tgz",
|
"resolved": "https://registry.npmmirror.com/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&sync_timestamp=1636640940074&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-3.10.1.tgz",
|
||||||
@ -22662,6 +22679,14 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"text-segmentation": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz",
|
||||||
|
"integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==",
|
||||||
|
"requires": {
|
||||||
|
"utrie": "^1.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"text-table": {
|
"text-table": {
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz",
|
"resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz",
|
||||||
@ -23211,6 +23236,21 @@
|
|||||||
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
|
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"utrie": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==",
|
||||||
|
"requires": {
|
||||||
|
"base64-arraybuffer": "^1.0.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"base64-arraybuffer": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"uuid": {
|
"uuid": {
|
||||||
"version": "3.4.0",
|
"version": "3.4.0",
|
||||||
"resolved": "https://registry.npmmirror.com/uuid/download/uuid-3.4.0.tgz",
|
"resolved": "https://registry.npmmirror.com/uuid/download/uuid-3.4.0.tgz",
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "tms-obc-web",
|
"name": "tms-obc-web",
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"description": "运营后台-WEB",
|
"description": "运营后台-WEB",
|
||||||
"author": "cipchk <cipchk@qq.com>",
|
"author": "cipchk <cipchk@qq.com>",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@ -12,6 +12,7 @@
|
|||||||
"ng-high-memory": "node --max_old_space_size=8000 ./node_modules/@angular/cli/bin/ng",
|
"ng-high-memory": "node --max_old_space_size=8000 ./node_modules/@angular/cli/bin/ng",
|
||||||
"ng": "ng",
|
"ng": "ng",
|
||||||
"start": "ng s -o --port 4202 --host 0.0.0.0",
|
"start": "ng s -o --port 4202 --host 0.0.0.0",
|
||||||
|
"startIp": "ng serve -o --port 4202 --host 172.29.9.71 --open",
|
||||||
"hmr": "ng s -o --hmr",
|
"hmr": "ng s -o --hmr",
|
||||||
"build": "npm run ng-high-memory build --",
|
"build": "npm run ng-high-memory build --",
|
||||||
"build:dev": "npm run build -- -c dev",
|
"build:dev": "npm run build -- -c dev",
|
||||||
@ -56,6 +57,7 @@
|
|||||||
"@swimlane/ngx-charts": "^18.0.1",
|
"@swimlane/ngx-charts": "^18.0.1",
|
||||||
"ajv": "^8.6.2",
|
"ajv": "^8.6.2",
|
||||||
"file-saver": "^2.0.5",
|
"file-saver": "^2.0.5",
|
||||||
|
"html2canvas": "^1.4.1",
|
||||||
"js-base64": "^3.6.1",
|
"js-base64": "^3.6.1",
|
||||||
"masonry-layout": "^4.2.2",
|
"masonry-layout": "^4.2.2",
|
||||||
"ng-gallery": "^5.0.0",
|
"ng-gallery": "^5.0.0",
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-18 09:51:21
|
* @Date : 2022-01-18 09:51:21
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-02-17 15:57:11
|
* @LastEditTime : 2022-03-23 15:21:39
|
||||||
* @FilePath : \\tms-obc-web\\proxy.conf.js
|
* @FilePath : \\tms-obc-web\\proxy.conf.js
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -20,7 +20,7 @@ module.exports = {
|
|||||||
// }
|
// }
|
||||||
'//api': {
|
'//api': {
|
||||||
target: {
|
target: {
|
||||||
host: 'tms-api-dev.eascs.com',
|
host: 'tms-api-test.eascs.com',
|
||||||
protocol: 'https:',
|
protocol: 'https:',
|
||||||
port: 443
|
port: 443
|
||||||
},
|
},
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import { environment } from '@env/environment';
|
|||||||
import { NzIconService } from 'ng-zorro-antd/icon';
|
import { NzIconService } from 'ng-zorro-antd/icon';
|
||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
import { VERSION as VERSION_ZORRO } from 'ng-zorro-antd/version';
|
import { VERSION as VERSION_ZORRO } from 'ng-zorro-antd/version';
|
||||||
|
import { ThemeService } from './theme.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-root',
|
selector: 'app-root',
|
||||||
@ -17,7 +18,8 @@ export class AppComponent implements OnInit {
|
|||||||
private router: Router,
|
private router: Router,
|
||||||
private titleSrv: TitleService,
|
private titleSrv: TitleService,
|
||||||
private modalSrv: NzModalService,
|
private modalSrv: NzModalService,
|
||||||
private iconService: NzIconService
|
private iconService: NzIconService,
|
||||||
|
private themeService: ThemeService
|
||||||
) {
|
) {
|
||||||
renderer.setAttribute(el.nativeElement, 'ng-alain-version', VERSION_ALAIN.full);
|
renderer.setAttribute(el.nativeElement, 'ng-alain-version', VERSION_ALAIN.full);
|
||||||
renderer.setAttribute(el.nativeElement, 'ng-zorro-version', VERSION_ZORRO.full);
|
renderer.setAttribute(el.nativeElement, 'ng-zorro-version', VERSION_ZORRO.full);
|
||||||
@ -47,5 +49,15 @@ export class AppComponent implements OnInit {
|
|||||||
this.modalSrv.closeAll();
|
this.modalSrv.closeAll();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
// 适配放大150%的屏幕
|
||||||
|
const screen: any = window.screen
|
||||||
|
var zoom = window.devicePixelRatio || screen.deviceXDPI / screen?.logicalXDPI;
|
||||||
|
// console.log(zoom)
|
||||||
|
if (document.body.clientWidth >= 1280) {
|
||||||
|
if (zoom != 1 && zoom != 2 && zoom != 3) {
|
||||||
|
this.themeService.toggleTheme().then();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -34,6 +34,7 @@ export class StartupService {
|
|||||||
private coreSrv: CoreService
|
private coreSrv: CoreService
|
||||||
) {
|
) {
|
||||||
iconSrv.addIcon(...ICONS_AUTO, ...ICONS);
|
iconSrv.addIcon(...ICONS_AUTO, ...ICONS);
|
||||||
|
this.settingService.setLayout('fixSiderbar', true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: 退出登录时需要清理用户信息
|
// TODO: 退出登录时需要清理用户信息
|
||||||
@ -95,7 +96,9 @@ export class StartupService {
|
|||||||
// ACL:设置权限为全量
|
// ACL:设置权限为全量
|
||||||
this.aclService.setFull(false);
|
this.aclService.setFull(false);
|
||||||
// 初始化菜单
|
// 初始化菜单
|
||||||
this.menuService.add(menuData);
|
if (menuData) {
|
||||||
|
this.menuService.add(menuData);
|
||||||
|
}
|
||||||
// 设置页面标题的后缀
|
// 设置页面标题的后缀
|
||||||
this.titleService.default = '';
|
this.titleService.default = '';
|
||||||
this.titleService.suffix = appData.name;
|
this.titleService.suffix = appData.name;
|
||||||
@ -134,12 +137,12 @@ export class StartupService {
|
|||||||
const userData = this.httpClient.post(this.userSrv.$api_get_user_by_token, {}).pipe(map((res: any) => res.data));
|
const userData = this.httpClient.post(this.userSrv.$api_get_user_by_token, {}).pipe(map((res: any) => res.data));
|
||||||
|
|
||||||
// 菜单数据
|
// 菜单数据
|
||||||
// const menuData = this.httpClient
|
const menuData = this.httpClient
|
||||||
// .post(this.coreSrv.$api_get_current_user_menus, {
|
.post(this.coreSrv.$api_get_current_user_menus, {
|
||||||
// appId: this.coreSrv.envSrv.getEnvironment().appId
|
appId: this.coreSrv.envSrv.getEnvironment().appId
|
||||||
// })
|
})
|
||||||
// .pipe(map((res: any) => res.data));
|
.pipe(map((res: any) => res.data));
|
||||||
const menuData = this.httpClient.get('assets/mocks/menu-data.json').pipe(map((res: any) => res.data.menu));
|
// const menuData = this.httpClient.get('assets/mocks/menu-data.json').pipe(map((res: any) => res.data.menu));
|
||||||
|
|
||||||
return zip(appData, userData, menuData);
|
return zip(appData, userData, menuData);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,7 +14,7 @@ const alainConfig: AlainConfig = {
|
|||||||
st: {
|
st: {
|
||||||
req: { method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' } },
|
req: { method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' } },
|
||||||
res: { reName: { list: 'data.records', total: 'data.total' } },
|
res: { reName: { list: 'data.records', total: 'data.total' } },
|
||||||
page: { show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] },
|
page: { show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000], toTop: false },
|
||||||
modal: { size: 'lg' }
|
modal: { size: 'lg' }
|
||||||
},
|
},
|
||||||
sf: { button: { search: '查询' }, ui: { placeholder: '请输入' } },
|
sf: { button: { search: '查询' }, ui: { placeholder: '请输入' } },
|
||||||
|
|||||||
126
src/app/layout/passport/a.scss
Normal file
126
src/app/layout/passport/a.scss
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
body {
|
||||||
|
background : radial-gradient(ellipse at bottom, #1b2735 0%, #090a0f 100%);
|
||||||
|
height : 100vh;
|
||||||
|
overflow : hidden;
|
||||||
|
display : flex;
|
||||||
|
font-family : 'Anton', sans-serif;
|
||||||
|
justify-content: center;
|
||||||
|
align-items : center;
|
||||||
|
}
|
||||||
|
|
||||||
|
$shooting-time: 3000ms;
|
||||||
|
|
||||||
|
.night {
|
||||||
|
position : relative;
|
||||||
|
width : 100%;
|
||||||
|
height : 100%;
|
||||||
|
transform : rotateZ(45deg);
|
||||||
|
// animation: sky 200000ms linear infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.shooting_star {
|
||||||
|
position : absolute;
|
||||||
|
left : 50%;
|
||||||
|
top : 50%;
|
||||||
|
// width: 100px;
|
||||||
|
height : 2px;
|
||||||
|
background : linear-gradient(-45deg, rgba(95, 145, 255, 1), rgba(0, 0, 255, 0));
|
||||||
|
border-radius: 999px;
|
||||||
|
filter : drop-shadow(0 0 6px rgba(105, 155, 255, 1));
|
||||||
|
animation :
|
||||||
|
tail $shooting-time ease-in-out infinite,
|
||||||
|
shooting $shooting-time ease-in-out infinite;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content : '';
|
||||||
|
position : absolute;
|
||||||
|
top : calc(50% - 1px);
|
||||||
|
right : 0;
|
||||||
|
// width: 30px;
|
||||||
|
height : 2px;
|
||||||
|
background : linear-gradient(-45deg, rgba(0, 0, 255, 0), rgba(95, 145, 255, 1), rgba(0, 0, 255, 0));
|
||||||
|
transform : translateX(50%) rotateZ(45deg);
|
||||||
|
border-radius: 100%;
|
||||||
|
animation : shining $shooting-time ease-in-out infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
// CodePen Error
|
||||||
|
// @extend .shooting_star::before;
|
||||||
|
|
||||||
|
content : '';
|
||||||
|
position : absolute;
|
||||||
|
top : calc(50% - 1px);
|
||||||
|
right : 0;
|
||||||
|
// width: 30px;
|
||||||
|
height : 2px;
|
||||||
|
background : linear-gradient(-45deg, rgba(0, 0, 255, 0), rgba(95, 145, 255, 1), rgba(0, 0, 255, 0));
|
||||||
|
transform : translateX(50%) rotateZ(45deg);
|
||||||
|
border-radius: 100%;
|
||||||
|
animation : shining $shooting-time ease-in-out infinite;
|
||||||
|
transform : translateX(50%) rotateZ(-45deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@for $i from 1 through 20 {
|
||||||
|
&:nth-child(#{$i}) {
|
||||||
|
$delay : random(9999) + 0ms;
|
||||||
|
top : calc(50% - #{random(400) - 200px});
|
||||||
|
left : calc(50% - #{random(300) + 0px});
|
||||||
|
// animation-delay: $delay;
|
||||||
|
// opacity: random(50) / 100 + 0.5;
|
||||||
|
|
||||||
|
&::before,
|
||||||
|
&::after {
|
||||||
|
// animation-delay: $delay;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes tail {
|
||||||
|
0% {
|
||||||
|
width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
30% {
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
width: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes shining {
|
||||||
|
0% {
|
||||||
|
width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
width: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
width: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes shooting {
|
||||||
|
0% {
|
||||||
|
transform: translateX(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translateX(300px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes sky {
|
||||||
|
0% {
|
||||||
|
transform: rotate(45deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: rotate(45 + 360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
64
src/app/layout/passport/d.scss
Normal file
64
src/app/layout/passport/d.scss
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
$n: 20; // 流星數量
|
||||||
|
|
||||||
|
|
||||||
|
$shadow: ();
|
||||||
|
|
||||||
|
|
||||||
|
@for $i from 1 through $n {
|
||||||
|
$v: random(90) + 9; // left
|
||||||
|
$h: random(150) + 10; // top
|
||||||
|
$d: random(70)/10 + 12; // 秒數
|
||||||
|
|
||||||
|
.meteor-#{$i} {
|
||||||
|
position : fixed;
|
||||||
|
top : $h + px;
|
||||||
|
left : $v*1%;
|
||||||
|
width : 130px;
|
||||||
|
height : 1px;
|
||||||
|
transform : rotate(-45deg);
|
||||||
|
background-image: linear-gradient(to right, #fff, rgba(255, 255, 255, 0));
|
||||||
|
animation : meteor $d+s linear infinite;
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
content : "";
|
||||||
|
position : fixed;
|
||||||
|
width : 4px;
|
||||||
|
height : 5px;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin-top : -2px;
|
||||||
|
background : rgba(#fff, .7);
|
||||||
|
box-shadow : 0 0 15px 3px #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes meteor {
|
||||||
|
0% {
|
||||||
|
opacity : 1;
|
||||||
|
margin-top : -300px;
|
||||||
|
margin-right: -300px;
|
||||||
|
}
|
||||||
|
|
||||||
|
12% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
13% {
|
||||||
|
margin-top : 600px;
|
||||||
|
margin-left : -900px;
|
||||||
|
opacity : 0.6;
|
||||||
|
animation-delay: 2000ms;
|
||||||
|
}
|
||||||
|
|
||||||
|
15% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
100% {
|
||||||
|
margin-top : 700px;
|
||||||
|
margin-left: -900px;
|
||||||
|
opacity : 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
325
src/app/layout/passport/particle.ts
Normal file
325
src/app/layout/passport/particle.ts
Normal file
@ -0,0 +1,325 @@
|
|||||||
|
export default class Particle {
|
||||||
|
getLimitedRandom = function (min: number, max: number, roundToInteger?: any) {
|
||||||
|
var number = Math.random() * (max - min) + min;
|
||||||
|
if (roundToInteger) {
|
||||||
|
number = Math.round(number);
|
||||||
|
}
|
||||||
|
return number;
|
||||||
|
};
|
||||||
|
|
||||||
|
returnRandomArrayitem = function (array: string | any[]) {
|
||||||
|
return array[Math.floor(Math.random() * array.length)];
|
||||||
|
};
|
||||||
|
|
||||||
|
constructor() {}
|
||||||
|
|
||||||
|
init() {
|
||||||
|
var ParticleNetworkAnimation: any, PNA: any;
|
||||||
|
ParticleNetworkAnimation = PNA = function () {};
|
||||||
|
|
||||||
|
PNA.prototype.init = function (element: any) {
|
||||||
|
console.log(this);
|
||||||
|
this.$el = document.getElementsByClassName(element);
|
||||||
|
|
||||||
|
this.container = element;
|
||||||
|
this.canvas = document.createElement('canvas');
|
||||||
|
this.sizeCanvas();
|
||||||
|
this.container.appendChild(this.canvas);
|
||||||
|
this.ctx = this.canvas.getContext('2d');
|
||||||
|
this.particleNetwork = new ParticleNetwork(this);
|
||||||
|
|
||||||
|
this.bindUiActions();
|
||||||
|
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
|
PNA.prototype.bindUiActions = function () {
|
||||||
|
(window as any).on('resize', () => {
|
||||||
|
// this.sizeContainer();
|
||||||
|
this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
|
||||||
|
this.sizeCanvas();
|
||||||
|
this.particleNetwork.createParticles();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
PNA.prototype.sizeCanvas = function () {
|
||||||
|
this.canvas.width = this.container.offsetWidth;
|
||||||
|
this.canvas.height = this.container.offsetHeight;
|
||||||
|
};
|
||||||
|
|
||||||
|
console.log(PNA);
|
||||||
|
|
||||||
|
const Particle: any = function (parent: any, x?: any, y?: any) {
|
||||||
|
// this.network = parent;
|
||||||
|
// this.canvas = parent.canvas;
|
||||||
|
// this.ctx = parent.ctx;
|
||||||
|
// this.particleColor = ;
|
||||||
|
// this.radius = ;
|
||||||
|
// this.opacity = 0;
|
||||||
|
// this.x = x || Math.random() * this.canvas.width;
|
||||||
|
// this.y = y || Math.random() * this.canvas.height;
|
||||||
|
// this.velocity = {
|
||||||
|
// x: (Math.random() - 0.5) * parent.options.velocity,
|
||||||
|
// y: (Math.random() - 0.5) * parent.options.velocity
|
||||||
|
// };
|
||||||
|
return {
|
||||||
|
network: parent,
|
||||||
|
canvas: parent.canvas,
|
||||||
|
ctx: parent.ctx,
|
||||||
|
// particleColor: this.returnRandomArrayitem(parent.options.particleColors),
|
||||||
|
// radius: this.getLimitedRandom(1.5, 2.5),
|
||||||
|
opacity: 0,
|
||||||
|
x: x || Math.random() * parent.canvas.width,
|
||||||
|
y: y || Math.random() * parent.canvas.height,
|
||||||
|
velocity: {
|
||||||
|
x: (Math.random() - 0.5) * parent.options.velocity,
|
||||||
|
y: (Math.random() - 0.5) * parent.options.velocity
|
||||||
|
}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
console.log(new Particle(this));
|
||||||
|
|
||||||
|
Particle.prototype.update = function () {
|
||||||
|
if (this.opacity < 1) {
|
||||||
|
this.opacity += 0.01;
|
||||||
|
} else {
|
||||||
|
this.opacity = 1;
|
||||||
|
}
|
||||||
|
// Change dir if outside map
|
||||||
|
if (this.x > this.canvas.width + 100 || this.x < -100) {
|
||||||
|
this.velocity.x = -this.velocity.x;
|
||||||
|
}
|
||||||
|
if (this.y > this.canvas.height + 100 || this.y < -100) {
|
||||||
|
this.velocity.y = -this.velocity.y;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update position
|
||||||
|
this.x += this.velocity.x;
|
||||||
|
this.y += this.velocity.y;
|
||||||
|
};
|
||||||
|
|
||||||
|
Particle.prototype.draw = function () {
|
||||||
|
// Draw particle
|
||||||
|
this.ctx.beginPath();
|
||||||
|
this.ctx.fillStyle = this.particleColor;
|
||||||
|
this.ctx.globalAlpha = this.opacity;
|
||||||
|
this.ctx.arc(this.x, this.y, this.radius, 0, 2 * Math.PI);
|
||||||
|
this.ctx.fill();
|
||||||
|
};
|
||||||
|
|
||||||
|
var ParticleNetwork: any = function (this: any, parent: { canvas: any; ctx: any }) {
|
||||||
|
this.options = {
|
||||||
|
velocity: 1, // the higher the faster
|
||||||
|
density: 15000, // the lower the denser
|
||||||
|
netLineDistance: 200,
|
||||||
|
netLineColor: '#929292',
|
||||||
|
particleColors: ['#aaa'] // ['#6D4E5C', '#aaa', '#FFC458' ]
|
||||||
|
};
|
||||||
|
this.canvas = parent.canvas;
|
||||||
|
this.ctx = parent.ctx;
|
||||||
|
|
||||||
|
this.init();
|
||||||
|
};
|
||||||
|
|
||||||
|
ParticleNetwork.prototype.init = function () {
|
||||||
|
// Create particle objects
|
||||||
|
this.createParticles(true);
|
||||||
|
|
||||||
|
// Update canvas
|
||||||
|
this.animationFrame = requestAnimationFrame(this.update.bind(this));
|
||||||
|
|
||||||
|
this.bindUiActions();
|
||||||
|
};
|
||||||
|
|
||||||
|
ParticleNetwork.prototype.createParticles = function (isInitial: any) {
|
||||||
|
// Initialise / reset particles
|
||||||
|
var me = this;
|
||||||
|
this.particles = [];
|
||||||
|
var quantity = (this.canvas.width * this.canvas.height) / this.options.density;
|
||||||
|
|
||||||
|
if (isInitial) {
|
||||||
|
var counter = 0;
|
||||||
|
clearInterval(this.createIntervalId);
|
||||||
|
this.createIntervalId = setInterval(() => {
|
||||||
|
if (counter < quantity - 1) {
|
||||||
|
// Create particle object
|
||||||
|
this.particles.push(new Particle(this));
|
||||||
|
} else {
|
||||||
|
clearInterval(me.createIntervalId);
|
||||||
|
}
|
||||||
|
counter++;
|
||||||
|
}, 50);
|
||||||
|
} else {
|
||||||
|
// Create particle objects
|
||||||
|
for (var i = 0; i < quantity; i++) {
|
||||||
|
this.particles.push(new Particle(this));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
ParticleNetwork.prototype.createInteractionParticle = function () {
|
||||||
|
// Add interaction particle
|
||||||
|
this.interactionParticle = new Particle(this);
|
||||||
|
this.interactionParticle.velocity = {
|
||||||
|
x: 0,
|
||||||
|
y: 0
|
||||||
|
};
|
||||||
|
this.particles.push(this.interactionParticle);
|
||||||
|
return this.interactionParticle;
|
||||||
|
};
|
||||||
|
|
||||||
|
ParticleNetwork.prototype.removeInteractionParticle = function () {
|
||||||
|
// Find it
|
||||||
|
var index = this.particles.indexOf(this.interactionParticle);
|
||||||
|
if (index > -1) {
|
||||||
|
// Remove it
|
||||||
|
this.interactionParticle = undefined;
|
||||||
|
this.particles.splice(index, 1);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
ParticleNetwork.prototype.update = function () {
|
||||||
|
if (this.canvas) {
|
||||||
|
this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
|
||||||
|
this.ctx.globalAlpha = 1;
|
||||||
|
|
||||||
|
// Draw connections
|
||||||
|
for (var i = 0; i < this.particles.length; i++) {
|
||||||
|
for (var j = this.particles.length - 1; j > i; j--) {
|
||||||
|
var distance,
|
||||||
|
p1 = this.particles[i],
|
||||||
|
p2 = this.particles[j];
|
||||||
|
|
||||||
|
// check very simply if the two points are even a candidate for further measurements
|
||||||
|
distance = Math.min(Math.abs(p1.x - p2.x), Math.abs(p1.y - p2.y));
|
||||||
|
if (distance > this.options.netLineDistance) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// the two points seem close enough, now let's measure precisely
|
||||||
|
distance = Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));
|
||||||
|
if (distance > this.options.netLineDistance) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.ctx.beginPath();
|
||||||
|
this.ctx.strokeStyle = this.options.netLineColor;
|
||||||
|
this.ctx.globalAlpha = ((this.options.netLineDistance - distance) / this.options.netLineDistance) * p1.opacity * p2.opacity;
|
||||||
|
this.ctx.lineWidth = 0.7;
|
||||||
|
this.ctx.moveTo(p1.x, p1.y);
|
||||||
|
this.ctx.lineTo(p2.x, p2.y);
|
||||||
|
this.ctx.stroke();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Draw particles
|
||||||
|
for (var i = 0; i < this.particles.length; i++) {
|
||||||
|
this.particles[i].update();
|
||||||
|
this.particles[i].draw();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.options.velocity !== 0) {
|
||||||
|
this.animationFrame = requestAnimationFrame(this.update.bind(this));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
cancelAnimationFrame(this.animationFrame);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
ParticleNetwork.prototype.bindUiActions = function () {
|
||||||
|
// Mouse / touch event handling
|
||||||
|
this.spawnQuantity = 3;
|
||||||
|
this.mouseIsDown = false;
|
||||||
|
this.touchIsMoving = false;
|
||||||
|
|
||||||
|
this.onMouseMove = (e: { offsetX: any; offsetY: any }) => {
|
||||||
|
if (!this.interactionParticle) {
|
||||||
|
this.createInteractionParticle();
|
||||||
|
}
|
||||||
|
this.interactionParticle.x = e.offsetX;
|
||||||
|
this.interactionParticle.y = e.offsetY;
|
||||||
|
};
|
||||||
|
|
||||||
|
this.onTouchMove = (e: { preventDefault: () => void; changedTouches: { clientX: any; clientY: any }[] }) => {
|
||||||
|
e.preventDefault();
|
||||||
|
this.touchIsMoving = true;
|
||||||
|
if (!this.interactionParticle) {
|
||||||
|
this.createInteractionParticle();
|
||||||
|
}
|
||||||
|
this.interactionParticle.x = e.changedTouches[0].clientX;
|
||||||
|
this.interactionParticle.y = e.changedTouches[0].clientY;
|
||||||
|
};
|
||||||
|
|
||||||
|
this.onMouseDown = () => {
|
||||||
|
this.mouseIsDown = true;
|
||||||
|
var counter = 0;
|
||||||
|
var quantity = this.spawnQuantity;
|
||||||
|
var intervalId = setInterval(() => {
|
||||||
|
if (this.mouseIsDown) {
|
||||||
|
if (counter === 1) {
|
||||||
|
quantity = 1;
|
||||||
|
}
|
||||||
|
for (var i = 0; i < quantity; i++) {
|
||||||
|
if (this.interactionParticle) {
|
||||||
|
this.particles.push(new Particle(this, this.interactionParticle.x, this.interactionParticle.y));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
clearInterval(intervalId);
|
||||||
|
}
|
||||||
|
counter++;
|
||||||
|
}, 50);
|
||||||
|
};
|
||||||
|
|
||||||
|
this.onTouchStart = (e: { preventDefault: () => void; changedTouches: { clientX: any; clientY: any }[] }) => {
|
||||||
|
e.preventDefault();
|
||||||
|
setTimeout(() => {
|
||||||
|
if (!this.touchIsMoving) {
|
||||||
|
for (var i = 0; i < this.spawnQuantity; i++) {
|
||||||
|
this.particles.push(new Particle(this, e.changedTouches[0].clientX, e.changedTouches[0].clientY));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, 200);
|
||||||
|
};
|
||||||
|
|
||||||
|
this.onMouseUp = () => {
|
||||||
|
this.mouseIsDown = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
this.onMouseOut = function () {
|
||||||
|
this.removeInteractionParticle();
|
||||||
|
};
|
||||||
|
|
||||||
|
this.onTouchEnd = function (e: { preventDefault: () => void }) {
|
||||||
|
e.preventDefault();
|
||||||
|
this.touchIsMoving = false;
|
||||||
|
this.removeInteractionParticle();
|
||||||
|
};
|
||||||
|
|
||||||
|
// this.canvas.addEventListener('mousemove', this.onMouseMove);
|
||||||
|
// this.canvas.addEventListener('touchmove', this.onTouchMove);
|
||||||
|
// this.canvas.addEventListener('mousedown', this.onMouseDown);
|
||||||
|
// this.canvas.addEventListener('touchstart', this.onTouchStart);
|
||||||
|
// this.canvas.addEventListener('mouseup', this.onMouseUp);
|
||||||
|
// this.canvas.addEventListener('mouseout', this.onMouseOut);
|
||||||
|
// this.canvas.addEventListener('touchend', this.onTouchEnd);
|
||||||
|
};
|
||||||
|
|
||||||
|
ParticleNetwork.prototype.unbindUiActions = function () {
|
||||||
|
if (this.canvas) {
|
||||||
|
// this.canvas.removeEventListener('mousemove', this.onMouseMove);
|
||||||
|
// this.canvas.removeEventListener('touchmove', this.onTouchMove);
|
||||||
|
// this.canvas.removeEventListener('mousedown', this.onMouseDown);
|
||||||
|
// this.canvas.removeEventListener('touchstart', this.onTouchStart);
|
||||||
|
// this.canvas.removeEventListener('mouseup', this.onMouseUp);
|
||||||
|
// this.canvas.removeEventListener('mouseout', this.onMouseOut);
|
||||||
|
// this.canvas.removeEventListener('touchend', this.onTouchEnd);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const pna = new PNA();
|
||||||
|
console.log(pna);
|
||||||
|
|
||||||
|
pna.init(document.getElementsByClassName('particle-network-animation')[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,15 +1,67 @@
|
|||||||
<nz-layout class="layout">
|
<nz-layout class="layout">
|
||||||
<nz-header>
|
<!-- <nz-header style="z-index: 999;">
|
||||||
<div nz-row>
|
<div nz-row>
|
||||||
<div nz-col nzSpan="24" style="display: flex;align-items: center;">
|
<div nz-col nzSpan="24" style="display: flex;align-items: center;">
|
||||||
<img width="32" height="32" src="./assets/images/user/logo.svg" [routerLink]="['/']" />
|
<img width="32" height="32" src="./assets/images/user/logo.svg" [routerLink]="['/']" />
|
||||||
<label class="title ml-sm">运多星网络货运管理平台</label>
|
<label class="title ml-sm">运多星网络货运管理平台</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nz-header>
|
</nz-header> -->
|
||||||
<nz-content class="content">
|
<nz-content class="content" id="content">
|
||||||
<div class="inner-content">
|
<nz-row>
|
||||||
<router-outlet></router-outlet>
|
<nz-col nzXs="0" nzSm="0" nzMd="0" nzLg="14" nzXl="14" nzXXl="14" style="z-index: 9999;">
|
||||||
</div>
|
<div style="width: 100%;height: 100%;display: flex;align-items: center;padding: 60px;">
|
||||||
|
<div class="earth-box">
|
||||||
|
<div class="earth" style="width: 100%;height: 100%;"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nz-col>
|
||||||
|
<nz-col nzXs="24" nzSm="24" nzMd="24" nzLg="9" nzXl="8" nzXXl="7" style="z-index: 9999; ">
|
||||||
|
<router-outlet></router-outlet>
|
||||||
|
</nz-col>
|
||||||
|
</nz-row>
|
||||||
|
<div class="meteor-1"></div>
|
||||||
|
<div class="meteor-2"></div>
|
||||||
|
<div class="meteor-3"></div>
|
||||||
|
<div class="meteor-4"></div>
|
||||||
|
<div class="meteor-5"></div>
|
||||||
|
<div class="meteor-6"></div>
|
||||||
|
<div class="meteor-7"></div>
|
||||||
|
<div class="meteor-8"></div>
|
||||||
|
<div class="meteor-9"></div>
|
||||||
|
<div class="meteor-10"></div>
|
||||||
|
<div class="meteor-11"></div>
|
||||||
|
<div class="meteor-12"></div>
|
||||||
|
<div class="meteor-13"></div>
|
||||||
|
<div class="meteor-14"></div>
|
||||||
|
<div class="meteor-15"></div>
|
||||||
|
<div class="meteor-16"></div>
|
||||||
|
<div class="meteor-17"></div>
|
||||||
|
<div class="meteor-18"></div>
|
||||||
|
<div class="meteor-19"></div>
|
||||||
|
<div class="meteor-20"></div>
|
||||||
|
<div class=" particle-network-animation"></div>
|
||||||
|
<!-- <div class="night">
|
||||||
|
<div class="shooting_star"></div>
|
||||||
|
<div class="shooting_star"></div>
|
||||||
|
<div class="shooting_star"></div>
|
||||||
|
<div class="shooting_star"></div>
|
||||||
|
<div class="shooting_star"></div>
|
||||||
|
<div class="shooting_star"></div>
|
||||||
|
<div class="shooting_star"></div>
|
||||||
|
<div class="shooting_star"></div>
|
||||||
|
<div class="shooting_star"></div>
|
||||||
|
<div class="shooting_star"></div>
|
||||||
|
<div class="shooting_star"></div>
|
||||||
|
<div class="shooting_star"></div>
|
||||||
|
<div class="shooting_star"></div>
|
||||||
|
<div class="shooting_star"></div>
|
||||||
|
<div class="shooting_star"></div>
|
||||||
|
<div class="shooting_star"></div>
|
||||||
|
<div class="shooting_star"></div>
|
||||||
|
<div class="shooting_star"></div>
|
||||||
|
<div class="shooting_star"></div>
|
||||||
|
<div class="shooting_star"></div>
|
||||||
|
</div> -->
|
||||||
</nz-content>
|
</nz-content>
|
||||||
</nz-layout>
|
</nz-layout>
|
||||||
@ -7,11 +7,71 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.ant-layout-header {
|
.ant-layout-header {
|
||||||
background: #ffffff;
|
background : #ffffff;
|
||||||
box-shadow: 0px 5px 5px #d1d1d1;
|
// box-shadow: 0px 5px 5px #d1d1d1;
|
||||||
|
}
|
||||||
|
|
||||||
|
nz-content {
|
||||||
|
background : url('../../../assets/images/login/login-bg.jpg') 100% 100% no-repeat;
|
||||||
|
background-size: cover;
|
||||||
|
// overflow : auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
passport-login {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.earth-box {
|
||||||
|
background : url('../../../assets/images/login/4-界面背景.png') 100% 100% no-repeat;
|
||||||
|
background-size : cover;
|
||||||
|
background-position: center;
|
||||||
|
// overflow : hidden;
|
||||||
|
width : 100%;
|
||||||
|
height : 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.earth {
|
||||||
|
// animation : eatthAnimation 60s linear infinite;
|
||||||
|
// -webkit-animation: eatthAnimation 60s linear infinite;
|
||||||
|
max-width : 100%;
|
||||||
|
height : 100%;
|
||||||
|
// margin-top : -50px;
|
||||||
|
// max-height : calc(100% - 64px);
|
||||||
|
// border-radius : 40%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
position: absolute;
|
||||||
|
left : calc(50% - 82px);
|
||||||
|
width : 164px;
|
||||||
|
top : calc(50% - 82px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.earth:hover {
|
||||||
|
animation-play-state : paused;
|
||||||
|
-webkit-animation-play-state: paused;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes eatthAnimation {
|
||||||
|
0% {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-webkit-keyframes eatthAnimation {
|
||||||
|
0% {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,15 +1,35 @@
|
|||||||
import { Component, Inject, OnInit } from '@angular/core';
|
import { Component, Inject, OnInit } from '@angular/core';
|
||||||
import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth';
|
import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth';
|
||||||
|
import Particle from './particle';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'layout-passport',
|
selector: 'layout-passport',
|
||||||
templateUrl: './passport.component.html',
|
templateUrl: './passport.component.html',
|
||||||
styleUrls: ['./passport.component.less']
|
styleUrls: ['./passport.component.less', './d.scss']
|
||||||
})
|
})
|
||||||
export class LayoutPassportComponent implements OnInit {
|
export class LayoutPassportComponent implements OnInit {
|
||||||
constructor() {}
|
constructor() {}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
// this.tokenService.clear();
|
// this.tokenService.clear();
|
||||||
|
// this.loadJS();
|
||||||
|
|
||||||
|
const particle = new Particle();
|
||||||
|
particle.init();
|
||||||
|
}
|
||||||
|
|
||||||
|
loadJS() {
|
||||||
|
var script = document.createElement('script');
|
||||||
|
script.type = 'text/javascript';
|
||||||
|
script.src = './assets/login/js/script.js';
|
||||||
|
script.id = 'particle';
|
||||||
|
document.getElementsByTagName('head')[0].appendChild(script);
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
var content = document.getElementById('content');
|
||||||
|
if (content) {
|
||||||
|
content.style.overflow = 'auto';
|
||||||
|
}
|
||||||
|
}, 100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -51,7 +51,6 @@ export class LayoutProMenuComponent implements OnInit, OnDestroy {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.menus = res;
|
this.menus = res;
|
||||||
|
|
||||||
this.openStatus();
|
this.openStatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,40 @@
|
|||||||
|
import { AfterViewInit, Component, OnInit } from '@angular/core';
|
||||||
|
import { fromEvent } from 'rxjs';
|
||||||
|
import { debounceTime } from 'rxjs/operators';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
template: ''
|
||||||
|
})
|
||||||
|
export class BasicTableComponent implements AfterViewInit {
|
||||||
|
scrollY = '400px';
|
||||||
|
|
||||||
|
constructor() {}
|
||||||
|
|
||||||
|
ngAfterViewInit(): void {
|
||||||
|
setTimeout(() => {
|
||||||
|
this.getScrollY();
|
||||||
|
}, 100);
|
||||||
|
fromEvent(window, 'resize')
|
||||||
|
.pipe(debounceTime(100))
|
||||||
|
.subscribe(event => {
|
||||||
|
this.getScrollY();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
getScrollY() {
|
||||||
|
const windowHeight = window.innerHeight || Math.max(document.documentElement.clientHeight, document.body.clientHeight);
|
||||||
|
const header = document.getElementsByTagName('layout-pro-header')?.[0];
|
||||||
|
if (windowHeight && header) {
|
||||||
|
let scrollY = windowHeight - header.clientHeight - 35 - 49;
|
||||||
|
const headerWrapper = document.getElementsByTagName('page-header-wrapper')?.[0];
|
||||||
|
if (headerWrapper) {
|
||||||
|
scrollY -= headerWrapper.clientHeight;
|
||||||
|
}
|
||||||
|
const tabset = document.getElementsByTagName('nz-tabset')?.[0];
|
||||||
|
if (tabset) {
|
||||||
|
scrollY -= tabset.clientHeight;
|
||||||
|
}
|
||||||
|
this.scrollY = scrollY + 'px';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -31,4 +31,12 @@
|
|||||||
font-size : 16px;
|
font-size : 16px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.total-footer {
|
||||||
|
position : absolute;
|
||||||
|
bottom : 25px;
|
||||||
|
height : 32px;
|
||||||
|
margin : 16px 0;
|
||||||
|
line-height: 32px;
|
||||||
}
|
}
|
||||||
70
src/app/routes/commom/less/commom-table.less
Normal file
70
src/app/routes/commom/less/commom-table.less
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
:host {
|
||||||
|
::ng-deep {
|
||||||
|
nz-card {
|
||||||
|
margin: -24px -24px 0;
|
||||||
|
|
||||||
|
.ant-tabs-nav {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-tabs-tab {
|
||||||
|
margin: 0 0 0 16px;
|
||||||
|
padding: 12px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-table-body {
|
||||||
|
border-bottom: 1px solid #f0f0f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-box {
|
||||||
|
.ant-card-body {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-table-pagination.ant-pagination {
|
||||||
|
margin: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-table-thead > tr > th,
|
||||||
|
.ant-table-tbody > tr > td,
|
||||||
|
.ant-table tfoot > tr > th,
|
||||||
|
.ant-table tfoot > tr > td {
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-table.ant-table-bordered > .ant-table-container {
|
||||||
|
border-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-pagination-item {
|
||||||
|
min-width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
line-height: 21px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-pagination-total-text {
|
||||||
|
height: 24px;
|
||||||
|
line-height: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-pagination-prev,
|
||||||
|
.ant-pagination-next,
|
||||||
|
.ant-pagination-jump-prev,
|
||||||
|
.ant-pagination-jump-next {
|
||||||
|
min-width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
line-height: 21px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-select-single:not(.ant-select-customize-input) .ant-select-selector {
|
||||||
|
height: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-select-single .ant-select-selector .ant-select-selection-item,
|
||||||
|
.ant-select-single .ant-select-selector .ant-select-selection-placeholder {
|
||||||
|
line-height: 21px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-07 13:29:57
|
* @Date : 2022-01-07 13:29:57
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-02-23 16:04:18
|
* @LastEditTime : 2022-02-24 10:08:53
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-frame\\contract-frame.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-frame\\contract-frame.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -18,7 +18,7 @@
|
|||||||
[ui]="ui"
|
[ui]="ui"
|
||||||
[mode]="'search'"
|
[mode]="'search'"
|
||||||
[disabled]="!sf?.valid"
|
[disabled]="!sf?.valid"
|
||||||
[loading]="service.http.loading"
|
[loading]="false"
|
||||||
(formSubmit)="st?.load(1)"
|
(formSubmit)="st?.load(1)"
|
||||||
(formReset)="resetSF()"
|
(formReset)="resetSF()"
|
||||||
></sf>
|
></sf>
|
||||||
@ -29,8 +29,9 @@
|
|||||||
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
||||||
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'">
|
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'">
|
||||||
<ng-template sf-template="signTime" let-me let-ui="ui" let-schema="schema">
|
<ng-template sf-template="signTime" let-me let-ui="ui" let-schema="schema">
|
||||||
<!-- <input placeholder="请输入1-30" type="number" [ngModel]="sf.value.description3" style="width: 200px;" nz-input />
|
<ng-template sf-template="effectiveEndTime" let-me let-ui="ui" let-schema="schema">
|
||||||
<span> 天内支付运费</span> -->
|
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.effectiveEndTime"></nz-range-picker>
|
||||||
|
</ng-template>
|
||||||
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.signTime"></nz-range-picker>
|
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.signTime"></nz-range-picker>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</sf>
|
</sf>
|
||||||
@ -40,7 +41,7 @@
|
|||||||
nz-button
|
nz-button
|
||||||
nzType="primary"
|
nzType="primary"
|
||||||
[disabled]="!sf.valid"
|
[disabled]="!sf.valid"
|
||||||
[nzLoading]="service.http.loading"
|
[nzLoading]="false"
|
||||||
(click)="st?.load(1)"
|
(click)="st?.load(1)"
|
||||||
acl
|
acl
|
||||||
[acl-ability]="['CONTRACT-INDEX-listFrame']"
|
[acl-ability]="['CONTRACT-INDEX-listFrame']"
|
||||||
@ -74,7 +75,7 @@
|
|||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
[loading]="service.http.loading"
|
[loading]="false"
|
||||||
[scroll]="{ x: '1200px', y: '370px' }"
|
[scroll]="{ x: '1200px', y: '370px' }"
|
||||||
(change)="stChange($event)"
|
(change)="stChange($event)"
|
||||||
>
|
>
|
||||||
|
|||||||
@ -1,14 +1,17 @@
|
|||||||
|
import { DatePipe } from '@angular/common';
|
||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { Router } from '@angular/router';
|
import { Router } from '@angular/router';
|
||||||
import { STComponent, STColumn, STChange } from '@delon/abc/st';
|
import { STComponent, STColumn, STChange } from '@delon/abc/st';
|
||||||
import { SFComponent, SFSchema, SFDateWidgetSchema, SFUISchema } from '@delon/form';
|
import { SFComponent, SFSchema, SFDateWidgetSchema, SFUISchema, SFSelectWidgetSchema } from '@delon/form';
|
||||||
|
import { ShipperBaseService } from '@shared';
|
||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
import { ContractManagementService } from '../../services/contract-management.service';
|
import { ContractManagementService } from '../../services/contract-management.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-contract-management-contract-frame',
|
selector: 'app-contract-management-contract-frame',
|
||||||
templateUrl: './contract-frame.component.html',
|
templateUrl: './contract-frame.component.html',
|
||||||
styleUrls: ['./contract-frame.component.less']
|
styleUrls: ['./contract-frame.component.less'],
|
||||||
|
providers: [DatePipe]
|
||||||
})
|
})
|
||||||
export class ContractManagementFrameComponent implements OnInit {
|
export class ContractManagementFrameComponent implements OnInit {
|
||||||
url = `/rule?_allow_anonymous=true`;
|
url = `/rule?_allow_anonymous=true`;
|
||||||
@ -22,19 +25,48 @@ export class ContractManagementFrameComponent implements OnInit {
|
|||||||
columns: STColumn[] = [];
|
columns: STColumn[] = [];
|
||||||
ui: SFUISchema = {};
|
ui: SFUISchema = {};
|
||||||
_$expand = false;
|
_$expand = false;
|
||||||
|
|
||||||
reqParams = {};
|
|
||||||
selectedRows: any[] = [];
|
selectedRows: any[] = [];
|
||||||
constructor(public service: ContractManagementService, private nzModalService: NzModalService, private router: Router) {}
|
constructor(
|
||||||
|
public service: ContractManagementService,
|
||||||
|
private nzModalService: NzModalService,
|
||||||
|
private router: Router,
|
||||||
|
public shipperservice: ShipperBaseService,
|
||||||
|
private datePipe: DatePipe,
|
||||||
|
) {}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.initST()
|
this.initST();
|
||||||
this.initSF()
|
this.initSF();
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 查询参数
|
||||||
|
*/
|
||||||
|
get reqParams() {
|
||||||
|
const params = {
|
||||||
|
...this.sf?.value,
|
||||||
|
}
|
||||||
|
delete params.signTime;
|
||||||
|
delete params._$expand;
|
||||||
|
if(this.datePipe.transform(this.sf?.value?.signTime?.[0], 'yyyy-MM-dd HH:mm:ss') && this.datePipe.transform(this.sf?.value?.signTime?.[1], 'yyyy-MM-dd HH:mm:ss')) {
|
||||||
|
params.signTime = {
|
||||||
|
start: this.datePipe.transform(this.sf?.value?.signTime?.[0], 'yyyy-MM-dd HH:mm:ss'),
|
||||||
|
end: this.datePipe.transform(this.sf?.value?.signTime?.[1], 'yyyy-MM-dd HH:mm:ss'),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(this.datePipe.transform(this.sf?.value?.effectiveEndTime?.[0], 'yyyy-MM-dd HH:mm:ss') && this.datePipe.transform(this.sf?.value?.effectiveEndTime?.[1], 'yyyy-MM-dd HH:mm:ss')) {
|
||||||
|
params.effectiveEndTime = {
|
||||||
|
start: this.datePipe.transform(this.sf?.value?.effectiveEndTime?.[0], 'yyyy-MM-dd HH:mm:ss'),
|
||||||
|
end: this.datePipe.transform(this.sf?.value?.effectiveEndTime?.[1], 'yyyy-MM-dd HH:mm:ss'),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
...params
|
||||||
|
};
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 初始化数据列表
|
* 初始化数据列表
|
||||||
*/
|
*/
|
||||||
initST() {
|
initST() {
|
||||||
this.columns = [
|
this.columns = [
|
||||||
{
|
{
|
||||||
title: '合同编号',
|
title: '合同编号',
|
||||||
@ -42,14 +74,26 @@ export class ContractManagementFrameComponent implements OnInit {
|
|||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
render: 'contractCode'
|
render: 'contractCode'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: '签约对象',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'signingObjectLabel'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '合同类型',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'contractTypeLabel'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: '合同名称',
|
title: '合同名称',
|
||||||
width: '100px',
|
width: '100px',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
index:'contractName'
|
index: 'templateName'
|
||||||
},
|
},
|
||||||
{ title: '托运人', index: 'shipperName', width: '120px', className: 'text-center' },
|
{ title: '网络货运人', index: 'enterpriseInfoName', width: '120px', className: 'text-center' },
|
||||||
{ title: '承运人', index: 'carrierName', width: '120px', className: 'text-center' },
|
{ title: '合同对象', index: 'contractObjectName', width: '120px', className: 'text-center' },
|
||||||
{
|
{
|
||||||
title: '有效期至',
|
title: '有效期至',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
@ -75,47 +119,108 @@ export class ContractManagementFrameComponent implements OnInit {
|
|||||||
'3': { text: '已撤销', color: 'warning' },
|
'3': { text: '已撤销', color: 'warning' },
|
||||||
'4': { text: '已作废', color: 'warning' },
|
'4': { text: '已作废', color: 'warning' },
|
||||||
'5': { text: '已过期', color: 'warning' },
|
'5': { text: '已过期', color: 'warning' },
|
||||||
'7': { text: '已拒签', color: 'warning' },
|
'7': { text: '已拒签', color: 'warning' }
|
||||||
},
|
}
|
||||||
},
|
}
|
||||||
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 初始化查询表单
|
* 初始化查询表单
|
||||||
*/
|
*/
|
||||||
initSF() {
|
initSF() {
|
||||||
this.schema = {
|
this.schema = {
|
||||||
properties: {
|
properties: {
|
||||||
_$expand: { type: 'boolean', ui: { hidden: true } },
|
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||||
contractCode: {
|
contractCode: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '合同编号',
|
title: '合同编号'
|
||||||
},
|
|
||||||
shipperName: {
|
|
||||||
type: 'string',
|
|
||||||
title: '托运人'
|
|
||||||
},
|
|
||||||
carrierName: {
|
|
||||||
type: 'string',
|
|
||||||
title: '承运人',
|
|
||||||
},
|
|
||||||
signTime: {
|
|
||||||
title: '签署日期',
|
|
||||||
type: 'string',
|
|
||||||
ui: {
|
|
||||||
widget: 'custom',
|
|
||||||
visibleIf: {
|
|
||||||
_$expand: (value: boolean) => value,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
type: 'object',
|
signingObject: {
|
||||||
};
|
type: 'string',
|
||||||
this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } };
|
title: '签约对象',
|
||||||
}
|
enum: [
|
||||||
/**
|
{ label: '全部', value: '' },
|
||||||
|
{ label: '货主', value: 1 },
|
||||||
|
{ label: '司机', value: 2 },
|
||||||
|
],
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contractType: {
|
||||||
|
title: '合同类型',
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
containsAllLable: true,
|
||||||
|
params: { dictKey: 'contract:type' },
|
||||||
|
containAllLable:true,
|
||||||
|
} as SFSelectWidgetSchema,
|
||||||
|
},
|
||||||
|
enterpriseInfoId: {
|
||||||
|
type: 'string',
|
||||||
|
title: '网络货运人',
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择',
|
||||||
|
allowClear: true,
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value
|
||||||
|
},
|
||||||
|
asyncData: () => this.shipperservice.getNetworkFreightForwarder()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contractObjectName: {
|
||||||
|
type: 'string',
|
||||||
|
title: '合同对象',
|
||||||
|
ui: {
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
signTime: {
|
||||||
|
title: '签署日期',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
widget: 'custom',
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
effectiveEndTime: {
|
||||||
|
title: '有效期',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
widget: 'custom',
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
esignFlowStatus: {
|
||||||
|
title: '状态',
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
containsAllLable: true,
|
||||||
|
params: { dictKey: 'esign:flow:status' },
|
||||||
|
containAllLable:true,
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
} as SFSelectWidgetSchema,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
type: 'object'
|
||||||
|
};
|
||||||
|
this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } };
|
||||||
|
}
|
||||||
|
/**
|
||||||
* 查询字段个数
|
* 查询字段个数
|
||||||
*/
|
*/
|
||||||
get queryFieldCount(): number {
|
get queryFieldCount(): number {
|
||||||
@ -193,7 +298,7 @@ export class ContractManagementFrameComponent implements OnInit {
|
|||||||
/**
|
/**
|
||||||
* 伸缩查询条件
|
* 伸缩查询条件
|
||||||
*/
|
*/
|
||||||
expandToggle(): void {
|
expandToggle(): void {
|
||||||
this._$expand = !this._$expand;
|
this._$expand = !this._$expand;
|
||||||
this.sf?.setValue('/_$expand', this._$expand);
|
this.sf?.setValue('/_$expand', this._$expand);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2021-12-07 15:57:49
|
* @Date : 2021-12-07 15:57:49
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-01-18 17:16:12
|
* @LastEditTime : 2022-02-23 20:11:50
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-list\\contract-list.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-list\\contract-list.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -13,7 +13,7 @@
|
|||||||
<div nz-row nzGutter="8">
|
<div nz-row nzGutter="8">
|
||||||
<!-- 查询字段小于或等于3个时,不显示伸缩按钮 -->
|
<!-- 查询字段小于或等于3个时,不显示伸缩按钮 -->
|
||||||
<div nz-col nzSpan="24" *ngIf="queryFieldCount <= 4">
|
<div nz-col nzSpan="24" *ngIf="queryFieldCount <= 4">
|
||||||
<sf #sf [schema]="schema" [ui]="ui" [mode]="'search'" [disabled]="!sf?.valid" [loading]="service.http.loading"
|
<sf #sf [schema]="schema" [ui]="ui" [mode]="'search'" [disabled]="!sf?.valid" [loading]="false"
|
||||||
(formSubmit)="st?.load(1)" (formReset)="resetSF()"></sf>
|
(formSubmit)="st?.load(1)" (formReset)="resetSF()"></sf>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -29,7 +29,7 @@
|
|||||||
</sf>
|
</sf>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
|
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
|
||||||
<button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="service.http.loading"
|
<button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="false"
|
||||||
(click)="st?.load(1)" acl [acl-ability]="['CONTRACT-INDEX-searchDetail']">查询</button>
|
(click)="st?.load(1)" acl [acl-ability]="['CONTRACT-INDEX-searchDetail']">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
@ -49,10 +49,14 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<st #st [data]="service.$api_listDetailed_page" [columns]="columns" [req]="{ params: reqParams }"
|
<st #st [data]="service.$api_listDetailed_page" [columns]="columns" [req]="{ params: reqParams }"
|
||||||
[loading]="service.http.loading" [scroll]="{ x: '1200px', y: '370px' }" (change)="stChange($event)">
|
[loading]="false" [scroll]="{ x: '1200px', y: '370px' }" (change)="stChange($event)">
|
||||||
<ng-template st-row="contractCode" let-item let-index="index">
|
<ng-template st-row="contractCode" let-item let-index="index">
|
||||||
<a [routerLink]="'/contract-management/index/detail/' + item.id">{{ item?.contractCode }}</a>
|
<a [routerLink]="'/contract-management/index/detail/' + item.id">{{ item?.contractCode }}</a>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
<ng-template st-row="signingObject" let-item let-index="index">
|
||||||
|
<span *ngIf="item.signingObject == 0"></span>
|
||||||
|
<span></span>
|
||||||
|
</ng-template>
|
||||||
</st>
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import { SFComponent, SFSchema, SFDateWidgetSchema, SFUISchema, SFSelectWidgetSc
|
|||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
import { ContractManagementService } from '../../services/contract-management.service';
|
import { ContractManagementService } from '../../services/contract-management.service';
|
||||||
import { DatePipe } from '@angular/common';
|
import { DatePipe } from '@angular/common';
|
||||||
|
import { ShipperBaseService } from '@shared';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-contract-management-contract-list',
|
selector: 'app-contract-management-contract-list',
|
||||||
@ -47,6 +48,7 @@ export class ContractManagementContractListComponent implements OnInit {
|
|||||||
constructor(
|
constructor(
|
||||||
public service: ContractManagementService,
|
public service: ContractManagementService,
|
||||||
private nzModalService: NzModalService,
|
private nzModalService: NzModalService,
|
||||||
|
public shipperservice: ShipperBaseService,
|
||||||
private router: Router,
|
private router: Router,
|
||||||
private datePipe: DatePipe,
|
private datePipe: DatePipe,
|
||||||
) { }
|
) { }
|
||||||
@ -67,19 +69,17 @@ export class ContractManagementContractListComponent implements OnInit {
|
|||||||
render: 'contractCode'
|
render: 'contractCode'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '单据类型',
|
title: '签约对象',
|
||||||
width: '100px',
|
width: '100px',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
index: 'documentType'
|
index: 'documentType'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '合同名称',
|
title: '合同类型',
|
||||||
width: '100px',
|
width: '100px',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
index: 'contractName'
|
index: 'contractName'
|
||||||
},
|
},
|
||||||
{ title: '托运人', index: 'shipperName', width: '120px', className: 'text-center' },
|
|
||||||
{ title: '承运人', index: 'carrierName', width: '120px', className: 'text-center' },
|
|
||||||
{
|
{
|
||||||
title: '业务单号',
|
title: '业务单号',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
|
|||||||
@ -0,0 +1,101 @@
|
|||||||
|
<!--
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-01-07 13:29:57
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-02-24 10:08:28
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-partner\\contract-partner.component.html
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
-->
|
||||||
|
<nz-card>
|
||||||
|
<div nz-row nzGutter="8">
|
||||||
|
<!-- 查询字段小于或等于3个时,不显示伸缩按钮 -->
|
||||||
|
<div nz-col nzSpan="24" *ngIf="queryFieldCount <= 4">
|
||||||
|
<sf
|
||||||
|
#sf
|
||||||
|
[schema]="schema"
|
||||||
|
[ui]="ui"
|
||||||
|
[mode]="'search'"
|
||||||
|
[disabled]="!sf?.valid"
|
||||||
|
[loading]="false"
|
||||||
|
(formSubmit)="st?.load(1)"
|
||||||
|
(formReset)="resetSF()"
|
||||||
|
></sf>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 查询字段大于3个时,根据展开状态调整布局 -->
|
||||||
|
<ng-container>
|
||||||
|
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
||||||
|
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'">
|
||||||
|
<ng-template sf-template="signTime" let-me let-ui="ui" let-schema="schema">
|
||||||
|
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.signTime"></nz-range-picker>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template sf-template="effectiveEndTime" let-me let-ui="ui" let-schema="schema">
|
||||||
|
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.effectiveEndTime"></nz-range-picker>
|
||||||
|
</ng-template>
|
||||||
|
</sf>
|
||||||
|
</div>
|
||||||
|
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
|
||||||
|
<button
|
||||||
|
nz-button
|
||||||
|
nzType="primary"
|
||||||
|
[disabled]="!sf.valid"
|
||||||
|
[nzLoading]="false"
|
||||||
|
(click)="st?.load(1)"
|
||||||
|
acl
|
||||||
|
[acl-ability]="['CONTRACT-INDEX-listFrame']"
|
||||||
|
>查询</button
|
||||||
|
>
|
||||||
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
|
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</ng-container>
|
||||||
|
</div>
|
||||||
|
</nz-card>
|
||||||
|
|
||||||
|
<nz-card class="content-box" nzBordered>
|
||||||
|
<div style="position: relative">
|
||||||
|
<nz-alert
|
||||||
|
nzType="info"
|
||||||
|
[nzMessage]="'当前共' + st?.total + '行记录,已选择' + selectedRows.length + '项'"
|
||||||
|
nzShowIcon
|
||||||
|
[ngStyle]="{ margin: '0 0 1rem 0' }"
|
||||||
|
>
|
||||||
|
</nz-alert>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<st
|
||||||
|
#st
|
||||||
|
[data]="service.$api_listPartner_page"
|
||||||
|
[columns]="columns"
|
||||||
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||||
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
|
[loading]="false"
|
||||||
|
[scroll]="{ x: '1200px', y: '370px' }"
|
||||||
|
(change)="stChange($event)"
|
||||||
|
>
|
||||||
|
<ng-template st-row="contractCode" let-item let-index="index">
|
||||||
|
<a [routerLink]="'/contract-management/index/detail/' + item.id">{{ item?.contractCode }}</a>
|
||||||
|
</ng-template>
|
||||||
|
</st>
|
||||||
|
</nz-card>
|
||||||
|
|
||||||
|
<ng-template #auditModal>
|
||||||
|
<div nz-row nzGutter="8">
|
||||||
|
<div nz-col nzSpan="24" se-container [labelWidth]="80">
|
||||||
|
<se [col]="1" label="备注">
|
||||||
|
<textarea
|
||||||
|
nz-input
|
||||||
|
rows="3"
|
||||||
|
placeholder="同意可以不用填写原因 ,拒绝必须说明原因"
|
||||||
|
style="width: 325px; margin-left: 14px"
|
||||||
|
></textarea>
|
||||||
|
</se>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
@ -0,0 +1,35 @@
|
|||||||
|
:host::ng-deep {
|
||||||
|
.search-box {
|
||||||
|
.ant-card-body {
|
||||||
|
padding-bottom: 18px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-box {
|
||||||
|
.ant-card-body {
|
||||||
|
padding-top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
nz-range-picker {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-tabs-tab-btn {
|
||||||
|
padding-right: 16px;
|
||||||
|
padding-left : 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.expend-options {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@media (min-width: 1200px) {
|
||||||
|
.expend-options {
|
||||||
|
z-index : -99;
|
||||||
|
margin-top: -40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,305 @@
|
|||||||
|
import { DatePipe } from '@angular/common';
|
||||||
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
|
import { Router } from '@angular/router';
|
||||||
|
import { STComponent, STColumn, STChange } from '@delon/abc/st';
|
||||||
|
import { SFComponent, SFSchema, SFDateWidgetSchema, SFUISchema, SFSelectWidgetSchema } from '@delon/form';
|
||||||
|
import { ShipperBaseService } from '@shared';
|
||||||
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
|
import { ContractManagementService } from '../../services/contract-management.service';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-contract-management-contract-partner',
|
||||||
|
templateUrl: './contract-partner.component.html',
|
||||||
|
styleUrls: ['./contract-partner.component.less'],
|
||||||
|
providers: [DatePipe]
|
||||||
|
})
|
||||||
|
export class ContractManagementPartnerComponent implements OnInit {
|
||||||
|
url = `/rule?_allow_anonymous=true`;
|
||||||
|
@ViewChild('st', { static: true })
|
||||||
|
st!: STComponent;
|
||||||
|
@ViewChild('sf', { static: false })
|
||||||
|
sf!: SFComponent;
|
||||||
|
@ViewChild('auditModal', { static: false })
|
||||||
|
auditModal!: any;
|
||||||
|
schema: SFSchema = {};
|
||||||
|
columns: STColumn[] = [];
|
||||||
|
ui: SFUISchema = {};
|
||||||
|
_$expand = false;
|
||||||
|
selectedRows: any[] = [];
|
||||||
|
constructor(
|
||||||
|
public service: ContractManagementService,
|
||||||
|
private nzModalService: NzModalService,
|
||||||
|
private router: Router,
|
||||||
|
public shipperservice: ShipperBaseService,
|
||||||
|
private datePipe: DatePipe,
|
||||||
|
) {}
|
||||||
|
|
||||||
|
ngOnInit(): void {
|
||||||
|
this.initST();
|
||||||
|
this.initSF();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 查询参数
|
||||||
|
*/
|
||||||
|
get reqParams() {
|
||||||
|
const params = {
|
||||||
|
...this.sf?.value,
|
||||||
|
}
|
||||||
|
delete params.signTime;
|
||||||
|
delete params._$expand;
|
||||||
|
if(this.datePipe.transform(this.sf?.value?.signTime?.[0], 'yyyy-MM-dd HH:mm:ss') && this.datePipe.transform(this.sf?.value?.signTime?.[1], 'yyyy-MM-dd HH:mm:ss')) {
|
||||||
|
params.signTime = {
|
||||||
|
start: this.datePipe.transform(this.sf?.value?.signTime?.[0], 'yyyy-MM-dd HH:mm:ss'),
|
||||||
|
end: this.datePipe.transform(this.sf?.value?.signTime?.[1], 'yyyy-MM-dd HH:mm:ss'),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(this.datePipe.transform(this.sf?.value?.effectiveEndTime?.[0], 'yyyy-MM-dd HH:mm:ss') && this.datePipe.transform(this.sf?.value?.effectiveEndTime?.[1], 'yyyy-MM-dd HH:mm:ss')) {
|
||||||
|
params.effectiveEndTime = {
|
||||||
|
start: this.datePipe.transform(this.sf?.value?.effectiveEndTime?.[0], 'yyyy-MM-dd HH:mm:ss'),
|
||||||
|
end: this.datePipe.transform(this.sf?.value?.effectiveEndTime?.[1], 'yyyy-MM-dd HH:mm:ss'),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
...params
|
||||||
|
};
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 初始化数据列表
|
||||||
|
*/
|
||||||
|
initST() {
|
||||||
|
this.columns = [
|
||||||
|
{
|
||||||
|
title: '合同编号',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
render: 'contractCode'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '签约对象',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'signingObject'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '合同类型',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'contractType'
|
||||||
|
},
|
||||||
|
{ title: '合同名称', index: 'contractName', width: '120px', className: 'text-center' },
|
||||||
|
{ title: '网络货运人', index: 'enterpriseInfoName', width: '120px', className: 'text-center' },
|
||||||
|
{
|
||||||
|
title: '合同对象',
|
||||||
|
className: 'text-center',
|
||||||
|
width: '120px',
|
||||||
|
index: 'contractObjectName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '有效期至',
|
||||||
|
className: 'text-center',
|
||||||
|
width: '120px',
|
||||||
|
index: 'effectiveEndTime'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '签署日期',
|
||||||
|
className: 'text-center',
|
||||||
|
width: '120px',
|
||||||
|
index: 'signTime'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '状态',
|
||||||
|
className: 'text-center',
|
||||||
|
width: '120px',
|
||||||
|
type: 'badge',
|
||||||
|
index: 'esignFlowStatus',
|
||||||
|
badge: {
|
||||||
|
'0': { text: '未发起', color: 'default' },
|
||||||
|
'1': { text: '待签章', color: 'default' },
|
||||||
|
'2': { text: '已生效', color: 'success' },
|
||||||
|
'3': { text: '已撤销', color: 'warning' },
|
||||||
|
'4': { text: '已作废', color: 'warning' },
|
||||||
|
'5': { text: '已过期', color: 'warning' },
|
||||||
|
'7': { text: '已拒签', color: 'warning' }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 初始化查询表单
|
||||||
|
*/
|
||||||
|
initSF() {
|
||||||
|
this.schema = {
|
||||||
|
properties: {
|
||||||
|
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||||
|
contractCode: {
|
||||||
|
type: 'string',
|
||||||
|
title: '合同编号'
|
||||||
|
},
|
||||||
|
signingObject: {
|
||||||
|
type: 'string',
|
||||||
|
title: '签约对象',
|
||||||
|
enum: [
|
||||||
|
{ label: '全部', value: '' },
|
||||||
|
{ label: '货主', value: 1 },
|
||||||
|
{ label: '司机', value: 2 }
|
||||||
|
],
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contractType: {
|
||||||
|
title: '合同类型',
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
containsAllLable: true,
|
||||||
|
params: { dictKey: 'contract:type' },
|
||||||
|
containAllLable: true,
|
||||||
|
} as SFSelectWidgetSchema
|
||||||
|
},
|
||||||
|
enterpriseInfoId: {
|
||||||
|
type: 'string',
|
||||||
|
title: '网络货运人',
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择',
|
||||||
|
allowClear: true,
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value
|
||||||
|
},
|
||||||
|
asyncData: () => this.shipperservice.getNetworkFreightForwarder()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contractObjectName: {
|
||||||
|
type: 'string',
|
||||||
|
title: '合同对象',
|
||||||
|
ui: {
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
signTime: {
|
||||||
|
title: '签署日期',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
widget: 'custom',
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
effectiveEndTime: {
|
||||||
|
title: '有效期',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
widget: 'custom',
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
esignFlowStatus: {
|
||||||
|
title: '状态',
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
containsAllLable: true,
|
||||||
|
params: { dictKey: 'esign:flow:status' },
|
||||||
|
containAllLable: true,
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value
|
||||||
|
}
|
||||||
|
} as SFSelectWidgetSchema
|
||||||
|
}
|
||||||
|
},
|
||||||
|
type: 'object'
|
||||||
|
};
|
||||||
|
this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } };
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 查询字段个数
|
||||||
|
*/
|
||||||
|
get queryFieldCount(): number {
|
||||||
|
return Object.keys(this.schema?.properties || {}).length;
|
||||||
|
}
|
||||||
|
stChange(e: STChange): void {
|
||||||
|
switch (e.type) {
|
||||||
|
case 'checkbox':
|
||||||
|
this.selectedRows = e.checkbox!;
|
||||||
|
break;
|
||||||
|
case 'filter':
|
||||||
|
this.st.load();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
approval(): void {}
|
||||||
|
|
||||||
|
add(): void {}
|
||||||
|
|
||||||
|
routeTo(item: any) {
|
||||||
|
this.router.navigate(['/ticket/invoice-requested-detail/1']);
|
||||||
|
}
|
||||||
|
|
||||||
|
auditAction(item: any) {
|
||||||
|
const modal = this.nzModalService.create({
|
||||||
|
nzTitle: '审核',
|
||||||
|
nzContent: this.auditModal,
|
||||||
|
nzFooter: [
|
||||||
|
{
|
||||||
|
label: '拒绝',
|
||||||
|
type: 'default',
|
||||||
|
onClick: () => {
|
||||||
|
modal.destroy();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '通过',
|
||||||
|
type: 'primary',
|
||||||
|
onClick: () => {
|
||||||
|
modal.destroy();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
modal.afterClose.subscribe(res => {
|
||||||
|
this.st.load();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
showReason(item: any) {
|
||||||
|
const modal = this.nzModalService.create({
|
||||||
|
nzTitle: '查看原因',
|
||||||
|
nzContent: '运单数据异常,暂时无法开票,请联系客服400-xxxx-xxxx',
|
||||||
|
nzFooter: [
|
||||||
|
{
|
||||||
|
label: '关闭',
|
||||||
|
type: 'primary',
|
||||||
|
onClick: () => {
|
||||||
|
modal.destroy();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重置表单
|
||||||
|
*/
|
||||||
|
resetSF() {
|
||||||
|
this.sf.reset();
|
||||||
|
this._$expand = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 伸缩查询条件
|
||||||
|
*/
|
||||||
|
expandToggle(): void {
|
||||||
|
this._$expand = !this._$expand;
|
||||||
|
this.sf?.setValue('/_$expand', this._$expand);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,10 +1,11 @@
|
|||||||
|
import { OnChanges } from '@angular/core';
|
||||||
/*
|
/*
|
||||||
* @Description :
|
* @Description :
|
||||||
* @Version : 1.0
|
* @Version : 1.0
|
||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-05 11:01:55
|
* @Date : 2022-01-05 11:01:55
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-01-25 14:25:49
|
* @LastEditTime : 2022-02-28 20:22:46
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template-detail\\contract-template-detail.component.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template-detail\\contract-template-detail.component.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -12,22 +13,24 @@ import { DatePipe } from '@angular/common';
|
|||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { ActivatedRoute, Router } from '@angular/router';
|
import { ActivatedRoute, Router } from '@angular/router';
|
||||||
import { SFComponent, SFSchema, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
|
import { SFComponent, SFSchema, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
|
||||||
|
import { ShipperBaseService } from '@shared';
|
||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
import { ContractManagementService } from '../../services/contract-management.service';
|
import { ContractManagementService } from '../../services/contract-management.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-contract-management-template-detail-complaint',
|
selector: 'app-contract-management-template-text-complaint',
|
||||||
templateUrl: './contract-template-detail.component.html',
|
templateUrl: './contract-template-detail.component.html',
|
||||||
styleUrls: ['./contract-template-detail.component.less'],
|
styleUrls: ['./contract-template-detail.component.less'],
|
||||||
providers: [DatePipe]
|
providers: [DatePipe]
|
||||||
})
|
})
|
||||||
export class ContractManagementTemplateDetailComponent implements OnInit {
|
export class ContractManagementTemplateTextComponent implements OnInit {
|
||||||
constructor(
|
constructor(
|
||||||
private nzModalService: NzModalService,
|
private nzModalService: NzModalService,
|
||||||
public service: ContractManagementService,
|
public service: ContractManagementService,
|
||||||
public route: ActivatedRoute,
|
public route: ActivatedRoute,
|
||||||
private datePipe: DatePipe,
|
private datePipe: DatePipe,
|
||||||
private router: Router
|
private router: Router,
|
||||||
|
public shipperservice: ShipperBaseService
|
||||||
) {}
|
) {}
|
||||||
textStatus = '新建模板';
|
textStatus = '新建模板';
|
||||||
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
||||||
@ -38,6 +41,7 @@ export class ContractManagementTemplateDetailComponent implements OnInit {
|
|||||||
sfdata: any;
|
sfdata: any;
|
||||||
sfdata2: any;
|
sfdata2: any;
|
||||||
title: any;
|
title: any;
|
||||||
|
Types: any;
|
||||||
templateHTML: any;
|
templateHTML: any;
|
||||||
detailList: any = {
|
detailList: any = {
|
||||||
templateName: ''
|
templateName: ''
|
||||||
@ -74,28 +78,102 @@ export class ContractManagementTemplateDetailComponent implements OnInit {
|
|||||||
templateType: {
|
templateType: {
|
||||||
title: '模板类型',
|
title: '模板类型',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
default: '',
|
enum: [
|
||||||
|
{ label: '框架合同', value: 'KJ' },
|
||||||
|
{ label: '明细合同', value: 'MX' },
|
||||||
|
{ label: '合伙人合同', value: 'HHR' }
|
||||||
|
],
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'dict-select',
|
widget: 'select',
|
||||||
params: { dictKey: 'contract:template:type' },
|
placeholder: '请选择',
|
||||||
containAllLable: true,
|
change: (tag: any, org: any) => {
|
||||||
visibleIf: {
|
console.log(tag);
|
||||||
_$expand: (value: boolean) => value
|
switch (tag) {
|
||||||
|
case 'MX':
|
||||||
|
this.Types = [
|
||||||
|
{ label: '订单合同', value: '1' },
|
||||||
|
{ label: '订单补充协议', value: '2' },
|
||||||
|
{ label: '运单合同', value: '3' },
|
||||||
|
{ label: '运单补充协议', value: '4' },
|
||||||
|
{ label: '委托代收合同', value: '5' }
|
||||||
|
];
|
||||||
|
this.sf.getProperty('/contractType')!.schema.enum = this.Types;
|
||||||
|
this.sf.getProperty('/contractType')!.widget.reset(this.Types);
|
||||||
|
this.sf.setValue('/contractType', this.Types);
|
||||||
|
return;
|
||||||
|
break;
|
||||||
|
case 'KJ':
|
||||||
|
this.Types = [
|
||||||
|
{ label: '网络货物运输服务合同', value: '6' },
|
||||||
|
{ label: '运输服务承揽合同', value: '7' }
|
||||||
|
];
|
||||||
|
this.sf.getProperty('/contractType')!.schema.enum = this.Types;
|
||||||
|
this.sf.getProperty('/contractType')!.widget.reset(this.Types);
|
||||||
|
this.sf.setValue('/contractType', this.Types);
|
||||||
|
return;
|
||||||
|
break;
|
||||||
|
case 'HHR':
|
||||||
|
this.Types = [
|
||||||
|
{ label: '企业合伙人入驻合同', value: '8' },
|
||||||
|
{ label: '个人合伙人入驻合同', value: '9' }
|
||||||
|
];
|
||||||
|
this.sf.getProperty('/contractType')!.schema.enum = this.Types;
|
||||||
|
this.sf.getProperty('/contractType')!.widget.reset(this.Types);
|
||||||
|
this.sf.setValue('/contractType', this.Types);
|
||||||
|
return;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} as SFSelectWidgetSchema
|
}
|
||||||
|
},
|
||||||
|
signingObject: {
|
||||||
|
type: 'string',
|
||||||
|
title: '承包商对象',
|
||||||
|
enum: [
|
||||||
|
{ label: '货主', value: '1' },
|
||||||
|
{ label: '司机', value: '2' }
|
||||||
|
],
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择'
|
||||||
|
}
|
||||||
},
|
},
|
||||||
contractType: {
|
contractType: {
|
||||||
title: '单据类型',
|
title: '合同类型',
|
||||||
|
type: 'string',
|
||||||
|
enum: this.Types,
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
resourceType: {
|
||||||
|
title: '货源类型',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
default: '',
|
default: '',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'dict-select',
|
widget: 'dict-select',
|
||||||
params: { dictKey: 'contract:document:type' },
|
params: { dictKey: 'goodresource:type' },
|
||||||
containAllLable: true,
|
containsAllLable: true,
|
||||||
visibleIf: {
|
visibleIf: {
|
||||||
templateType: value => value === 'MX'
|
templateType: value => value === 'MX'
|
||||||
}
|
}
|
||||||
} as SFSelectWidgetSchema
|
} as SFSelectWidgetSchema
|
||||||
|
},
|
||||||
|
enterpriseInfoId: {
|
||||||
|
type: 'string',
|
||||||
|
title: '网络货运人',
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择',
|
||||||
|
allowClear: true,
|
||||||
|
visibleIf: {
|
||||||
|
templateType: value => value === 'KJ' || value === 'HHR'
|
||||||
|
},
|
||||||
|
asyncData: () => this.shipperservice.getNetworkFreightForwarder()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
required: ['templateName', 'templateType']
|
required: ['templateName', 'templateType']
|
||||||
@ -126,10 +204,12 @@ export class ContractManagementTemplateDetailComponent implements OnInit {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
initData(url: string) {
|
initData(url: string) {
|
||||||
|
console.log('编辑');
|
||||||
|
|
||||||
this.service.request(url, { id: this.route.snapshot.params.id }).subscribe(res => {
|
this.service.request(url, { id: this.route.snapshot.params.id }).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.detailList = res;
|
this.detailList = res;
|
||||||
this.title = this.detailList?.templateName
|
this.title = this.detailList?.templateName;
|
||||||
this.sfdata = res;
|
this.sfdata = res;
|
||||||
this.sfdata2 = res;
|
this.sfdata2 = res;
|
||||||
}
|
}
|
||||||
@ -140,21 +220,22 @@ export class ContractManagementTemplateDetailComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
save() {
|
save() {
|
||||||
if (!this.sf.value.templateName || !this.sf.value.templateType || !this.sf2.value.templateContent || !this.title) {
|
// if (!this.sf.value.templateName || !this.sf.value.templateType || !this.sf2.value.templateContent || !this.title) {
|
||||||
this.service.msgSrv.error('必填参数为空,请检查再重新保存!');
|
// this.service.msgSrv.error('必填参数为空,请检查再重新保存!');
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
if (this.sf.value.templateType == 'MX') {
|
// if (this.sf.value.templateType == 'MX') {
|
||||||
if (this.sf.value.contractType == '') {
|
// if (this.sf.value.contractType == '') {
|
||||||
this.service.msgSrv.error('必填参数为空,请检查再重新保存!');
|
// this.service.msgSrv.error('必填参数为空,请检查再重新保存!');
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
const params = {
|
const params = {
|
||||||
...this.sf.value,
|
...this.sf.value,
|
||||||
...this.sf2.value,
|
...this.sf2.value,
|
||||||
templateTitle: this.title
|
templateTitle: this.title || this.detailList.templateName
|
||||||
};
|
};
|
||||||
|
console.log(params);
|
||||||
this.service.request(this.service.$api_save_contractTemplate, params).subscribe((res: any) => {
|
this.service.request(this.service.$api_save_contractTemplate, params).subscribe((res: any) => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.service.msgSrv.success('保存成功!');
|
this.service.msgSrv.success('保存成功!');
|
||||||
|
|||||||
@ -0,0 +1,86 @@
|
|||||||
|
<!--
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-01-12 10:52:50
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-02-24 20:01:42
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template-frame\\contract-template-frame.component.html
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- 搜索表单 -->
|
||||||
|
<nz-card>
|
||||||
|
<div nz-row nzGutter="8">
|
||||||
|
<!-- 查询字段小于或等于3个时,不显示伸缩按钮 -->
|
||||||
|
<div nz-col nzSpan="24" *ngIf="queryFieldCount <= 4">
|
||||||
|
<sf
|
||||||
|
#sf
|
||||||
|
[schema]="schema"
|
||||||
|
[ui]="ui"
|
||||||
|
[mode]="'search'"
|
||||||
|
[disabled]="!sf?.valid"
|
||||||
|
[loading]="false"
|
||||||
|
(formSubmit)="st?.load(1)"
|
||||||
|
(formReset)="resetSF()"
|
||||||
|
></sf>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 查询字段大于3个时,根据展开状态调整布局 -->
|
||||||
|
<ng-container>
|
||||||
|
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
||||||
|
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'">
|
||||||
|
<ng-template sf-template="signTime" let-me let-ui="ui" let-schema="schema">
|
||||||
|
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.signTime"></nz-range-picker>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template sf-template="effectiveEndTime" let-me let-ui="ui" let-schema="schema">
|
||||||
|
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.effectiveEndTime"></nz-range-picker>
|
||||||
|
</ng-template>
|
||||||
|
</sf>
|
||||||
|
</div>
|
||||||
|
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
|
||||||
|
<button
|
||||||
|
nz-button
|
||||||
|
nzType="primary"
|
||||||
|
[disabled]="!sf.valid"
|
||||||
|
[nzLoading]="false"
|
||||||
|
(click)="st?.load(1)"
|
||||||
|
acl
|
||||||
|
[acl-ability]="['CONTRACT-INDEX-listFrame']"
|
||||||
|
>查询</button
|
||||||
|
>
|
||||||
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
|
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</ng-container>
|
||||||
|
</div>
|
||||||
|
</nz-card>
|
||||||
|
|
||||||
|
<nz-card>
|
||||||
|
<div class="NewBtn">
|
||||||
|
<button nz-button nzType="primary" (click)="creatTemplate()" acl [acl-ability]="['CONTRACT-TEMPLATE-new']"> 新建 </button>
|
||||||
|
</div>
|
||||||
|
<div style="margin-top: 15px">
|
||||||
|
<st
|
||||||
|
#st
|
||||||
|
[bordered]="true"
|
||||||
|
[data]="service.$api_get_contractTemplate_page"
|
||||||
|
[columns]="columns"
|
||||||
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||||
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
|
[loading]="false"
|
||||||
|
>
|
||||||
|
<ng-template st-row="templateName" let-item let-index="index">
|
||||||
|
<a (click)="view(item)">{{ item.templateName }}</a>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="signingObject" let-item let-index="index">
|
||||||
|
<span *ngIf="item?.signingObject == 1">货主</span>
|
||||||
|
<span *ngIf="item?.signingObject == 2">司机</span>
|
||||||
|
</ng-template>
|
||||||
|
</st>
|
||||||
|
</div>
|
||||||
|
</nz-card>
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
.NewBtn{
|
||||||
|
float: right;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-01-05 09:45:47
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-02-24 10:25:58
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template\\contract-template.component.spec.ts
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
import { ContractManagementTemplateFrameComponent } from './contract-template-frame.component';
|
||||||
|
|
||||||
|
describe('ContractManagementTemplateFrameComponent', () => {
|
||||||
|
let component: ContractManagementTemplateFrameComponent;
|
||||||
|
let fixture: ComponentFixture<ContractManagementTemplateFrameComponent>;
|
||||||
|
|
||||||
|
beforeEach(waitForAsync(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ ContractManagementTemplateFrameComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(ContractManagementTemplateFrameComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,250 @@
|
|||||||
|
import { Router } from '@angular/router';
|
||||||
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
|
import { STColumn, STComponent } from '@delon/abc/st';
|
||||||
|
import { SFComponent, SFDateWidgetSchema, SFSchema, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
|
||||||
|
import { ModalHelper, _HttpClient } from '@delon/theme';
|
||||||
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
|
import { map } from 'rxjs/operators';
|
||||||
|
import { ContractManagementService } from '../../services/contract-management.service';
|
||||||
|
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-contract-management-template-frame-complaint',
|
||||||
|
templateUrl: './contract-template-frame.component.html',
|
||||||
|
styleUrls: ['./contract-template-frame.component.less']
|
||||||
|
})
|
||||||
|
export class ContractManagementTemplateFrameComponent implements OnInit {
|
||||||
|
ui: SFUISchema = {};
|
||||||
|
uiView: SFUISchema = {};
|
||||||
|
schema: SFSchema = {};
|
||||||
|
schemaView: SFSchema = {};
|
||||||
|
auditMany = false;
|
||||||
|
_$expand = false;
|
||||||
|
channelId: any;
|
||||||
|
@ViewChild('st') private readonly st!: STComponent;
|
||||||
|
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
||||||
|
columns: STColumn[] = [];
|
||||||
|
datass: any = [
|
||||||
|
{
|
||||||
|
one: '1',
|
||||||
|
two: '1',
|
||||||
|
three: '1',
|
||||||
|
id: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
one: '2',
|
||||||
|
two: '2',
|
||||||
|
three: '2',
|
||||||
|
id: 2
|
||||||
|
},
|
||||||
|
];
|
||||||
|
constructor(
|
||||||
|
public service: ContractManagementService,
|
||||||
|
private modal: NzModalService,
|
||||||
|
private router: Router
|
||||||
|
) { }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询参数
|
||||||
|
*/
|
||||||
|
get reqParams() {
|
||||||
|
return {
|
||||||
|
templateType: 'kj',
|
||||||
|
...this.sf?.value,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
get selectedRows() {
|
||||||
|
return this.st?.list.filter((item) => item.checked) || [];
|
||||||
|
}
|
||||||
|
ngOnInit(): void {
|
||||||
|
this.initSF();
|
||||||
|
this.initST();
|
||||||
|
this.initSTAudit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 初始化查询表单
|
||||||
|
*/
|
||||||
|
initSF() {
|
||||||
|
this.schema = {
|
||||||
|
properties: {
|
||||||
|
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||||
|
templateName: {
|
||||||
|
type: 'string',
|
||||||
|
title: '模板名称',
|
||||||
|
},
|
||||||
|
signingObject: {
|
||||||
|
type: 'string',
|
||||||
|
title: '签约对象',
|
||||||
|
enum: [
|
||||||
|
{ label: '全部', value: '' },
|
||||||
|
{ label: '货主', value: 1 },
|
||||||
|
{ label: '司机', value: 2 }
|
||||||
|
],
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contractType: {
|
||||||
|
title: '合同类型',
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
containsAllLable: true,
|
||||||
|
params: { dictKey: 'contract:type' },
|
||||||
|
containAllLable: true,
|
||||||
|
} as SFSelectWidgetSchema
|
||||||
|
},
|
||||||
|
resourceType: {
|
||||||
|
title: '货源类型',
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
params: { dictKey: 'goodresource:type' },
|
||||||
|
containsAllLable: true,
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value
|
||||||
|
},
|
||||||
|
} as SFSelectWidgetSchema,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } };
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 初始化数据列表
|
||||||
|
*/
|
||||||
|
initST() {
|
||||||
|
this.columns = [
|
||||||
|
{
|
||||||
|
title: '合同模板名称',
|
||||||
|
className: 'text-center',
|
||||||
|
render: 'templateName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '签约对象',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
render: 'signingObjectLabel'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '合同类型',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'contractTypeLabel'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '货源类型',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'resourceTypeLabel'
|
||||||
|
},
|
||||||
|
{ title: '创建人', index: 'createUserId', width: '120px', className: 'text-center' },
|
||||||
|
{
|
||||||
|
title: '创建时间',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'createTime'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '操作',
|
||||||
|
fixed: 'right',
|
||||||
|
className: 'text-center',
|
||||||
|
buttons: [
|
||||||
|
{
|
||||||
|
text: '编辑',
|
||||||
|
click: (_record) => this.edit(_record),
|
||||||
|
acl: { ability: ['CONTRACT-TEMPLATE-edit'] },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '删除',
|
||||||
|
click: (_record) => this.delete(_record),
|
||||||
|
acl: { ability: ['CONTRACT-TEMPLATE-delete'] },
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
}
|
||||||
|
initSTAudit() {
|
||||||
|
this.schemaView = {
|
||||||
|
properties: {
|
||||||
|
handleResult: {
|
||||||
|
title: '处理结果',
|
||||||
|
type: 'string',
|
||||||
|
maxLength: 50,
|
||||||
|
ui: {
|
||||||
|
placeholder: '最多不超过50字',
|
||||||
|
widget: 'textarea',
|
||||||
|
autosize: { minRows: 3, maxRows: 6 }
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
required: ['handleResult']
|
||||||
|
};
|
||||||
|
this.uiView = { '*': { spanLabelFixed: 110, grid: { span: 24 } } };
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 查询字段个数
|
||||||
|
*/
|
||||||
|
get queryFieldCount(): number {
|
||||||
|
return Object.keys(this.schema?.properties || {}).length;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 伸缩查询条件
|
||||||
|
*/
|
||||||
|
expandToggle(): void {
|
||||||
|
this._$expand = !this._$expand;
|
||||||
|
this.sf?.setValue('/_$expand', this._$expand);
|
||||||
|
}
|
||||||
|
tabChange(item: any) {
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 重置表单
|
||||||
|
*/
|
||||||
|
resetSF(): void {
|
||||||
|
this.sf.reset();
|
||||||
|
this._$expand = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
edit(value: any) {
|
||||||
|
this.router.navigate(['/contract-management/template/text/' + value.id],{
|
||||||
|
queryParams: {
|
||||||
|
status: 2
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
creatTemplate() {
|
||||||
|
this.router.navigate(['/contract-management/template/text/' + 0], {
|
||||||
|
queryParams: {
|
||||||
|
status: 1
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
goBack() {
|
||||||
|
window.history.go(-1)
|
||||||
|
}
|
||||||
|
view(value: any) {
|
||||||
|
this.router.navigate(['/contract-management/template/text/' + value.id],{
|
||||||
|
queryParams: {
|
||||||
|
status: 3
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
delete(value: any) {
|
||||||
|
this.modal.confirm({
|
||||||
|
nzTitle: '<i>删除确认</i>',
|
||||||
|
nzOnOk: () =>
|
||||||
|
this.service.request(this.service.$api_deletebatch_contractTemplate, [value.id]).subscribe(res => {
|
||||||
|
if (res) {
|
||||||
|
this.service.msgSrv.success('删除成功!');
|
||||||
|
this.st.reload(1)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,82 @@
|
|||||||
|
<!--
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-01-12 10:52:50
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-02-24 10:31:05
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template\\contract-template.component.html
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- 搜索表单 -->
|
||||||
|
<nz-card>
|
||||||
|
<div nz-row nzGutter="8">
|
||||||
|
<!-- 查询字段小于或等于3个时,不显示伸缩按钮 -->
|
||||||
|
<div nz-col nzSpan="24" *ngIf="queryFieldCount <= 4">
|
||||||
|
<sf
|
||||||
|
#sf
|
||||||
|
[schema]="schema"
|
||||||
|
[ui]="ui"
|
||||||
|
[mode]="'search'"
|
||||||
|
[disabled]="!sf?.valid"
|
||||||
|
[loading]="false"
|
||||||
|
(formSubmit)="st?.load(1)"
|
||||||
|
(formReset)="resetSF()"
|
||||||
|
></sf>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 查询字段大于3个时,根据展开状态调整布局 -->
|
||||||
|
<ng-container>
|
||||||
|
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
||||||
|
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'">
|
||||||
|
<ng-template sf-template="signTime" let-me let-ui="ui" let-schema="schema">
|
||||||
|
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.signTime"></nz-range-picker>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template sf-template="effectiveEndTime" let-me let-ui="ui" let-schema="schema">
|
||||||
|
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.effectiveEndTime"></nz-range-picker>
|
||||||
|
</ng-template>
|
||||||
|
</sf>
|
||||||
|
</div>
|
||||||
|
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
|
||||||
|
<button
|
||||||
|
nz-button
|
||||||
|
nzType="primary"
|
||||||
|
[disabled]="!sf.valid"
|
||||||
|
[nzLoading]="false"
|
||||||
|
(click)="st?.load(1)"
|
||||||
|
acl
|
||||||
|
[acl-ability]="['CONTRACT-INDEX-listFrame']"
|
||||||
|
>查询</button
|
||||||
|
>
|
||||||
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
|
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</ng-container>
|
||||||
|
</div>
|
||||||
|
</nz-card>
|
||||||
|
|
||||||
|
<nz-card>
|
||||||
|
<div class="NewBtn">
|
||||||
|
<button nz-button nzType="primary" (click)="creatTemplate()" acl [acl-ability]="['CONTRACT-TEMPLATE-new']"> 新建 </button>
|
||||||
|
</div>
|
||||||
|
<div style="margin-top: 15px">
|
||||||
|
<st
|
||||||
|
#st
|
||||||
|
[bordered]="true"
|
||||||
|
[data]="service.$api_get_contractTemplate_page"
|
||||||
|
[columns]="columns"
|
||||||
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||||
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
|
[loading]="false"
|
||||||
|
>
|
||||||
|
<ng-template st-row="templateName" let-item let-index="index">
|
||||||
|
<a (click)="view(item)">{{ item.templateName }}</a>
|
||||||
|
</ng-template>
|
||||||
|
</st>
|
||||||
|
</div>
|
||||||
|
</nz-card>
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
.NewBtn{
|
||||||
|
float: right;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-01-05 09:45:47
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-02-24 14:09:28
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template-partner\\contract-template-partner.component.spec.ts
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
import { ContractManagementTemplatePartnerComponent } from './contract-template-partner.component';
|
||||||
|
|
||||||
|
describe('ContractManagementTemplatePartnerComponent', () => {
|
||||||
|
let component: ContractManagementTemplatePartnerComponent;
|
||||||
|
let fixture: ComponentFixture<ContractManagementTemplatePartnerComponent>;
|
||||||
|
|
||||||
|
beforeEach(waitForAsync(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ ContractManagementTemplatePartnerComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(ContractManagementTemplatePartnerComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,250 @@
|
|||||||
|
import { Router } from '@angular/router';
|
||||||
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
|
import { STColumn, STComponent } from '@delon/abc/st';
|
||||||
|
import { SFComponent, SFDateWidgetSchema, SFSchema, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
|
||||||
|
import { ModalHelper, _HttpClient } from '@delon/theme';
|
||||||
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
|
import { map } from 'rxjs/operators';
|
||||||
|
import { ContractManagementService } from '../../services/contract-management.service';
|
||||||
|
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-contract-management-template-partner-complaint',
|
||||||
|
templateUrl: './contract-template-partner.component.html',
|
||||||
|
styleUrls: ['./contract-template-partner.component.less']
|
||||||
|
})
|
||||||
|
export class ContractManagementTemplatePartnerComponent implements OnInit {
|
||||||
|
ui: SFUISchema = {};
|
||||||
|
uiView: SFUISchema = {};
|
||||||
|
schema: SFSchema = {};
|
||||||
|
schemaView: SFSchema = {};
|
||||||
|
auditMany = false;
|
||||||
|
_$expand = false;
|
||||||
|
channelId: any;
|
||||||
|
@ViewChild('st') private readonly st!: STComponent;
|
||||||
|
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
||||||
|
columns: STColumn[] = [];
|
||||||
|
datass: any = [
|
||||||
|
{
|
||||||
|
one: '1',
|
||||||
|
two: '1',
|
||||||
|
three: '1',
|
||||||
|
id: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
one: '2',
|
||||||
|
two: '2',
|
||||||
|
three: '2',
|
||||||
|
id: 2
|
||||||
|
},
|
||||||
|
];
|
||||||
|
constructor(
|
||||||
|
public service: ContractManagementService,
|
||||||
|
private modal: NzModalService,
|
||||||
|
private router: Router
|
||||||
|
) { }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询参数
|
||||||
|
*/
|
||||||
|
get reqParams() {
|
||||||
|
return {
|
||||||
|
templateType: 'HHR',
|
||||||
|
...this.sf?.value,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
get selectedRows() {
|
||||||
|
return this.st?.list.filter((item) => item.checked) || [];
|
||||||
|
}
|
||||||
|
ngOnInit(): void {
|
||||||
|
this.initSF();
|
||||||
|
this.initST();
|
||||||
|
this.initSTAudit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 初始化查询表单
|
||||||
|
*/
|
||||||
|
initSF() {
|
||||||
|
this.schema = {
|
||||||
|
properties: {
|
||||||
|
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||||
|
templateName: {
|
||||||
|
type: 'string',
|
||||||
|
title: '模板名称',
|
||||||
|
},
|
||||||
|
signingObject: {
|
||||||
|
type: 'string',
|
||||||
|
title: '签约对象',
|
||||||
|
enum: [
|
||||||
|
{ label: '全部', value: '' },
|
||||||
|
{ label: '货主', value: 1 },
|
||||||
|
{ label: '司机', value: 2 }
|
||||||
|
],
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contractType: {
|
||||||
|
title: '合同类型',
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
containsAllLable: true,
|
||||||
|
params: { dictKey: 'contract:type' },
|
||||||
|
containAllLable: true,
|
||||||
|
} as SFSelectWidgetSchema
|
||||||
|
},
|
||||||
|
resourceType: {
|
||||||
|
title: '货源类型',
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
params: { dictKey: 'goodresource:type' },
|
||||||
|
containsAllLable: true,
|
||||||
|
visibleIf: {
|
||||||
|
_$expand: (value: boolean) => value
|
||||||
|
},
|
||||||
|
} as SFSelectWidgetSchema,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
this.ui = { '*': { spanLabelFixed: 110, grid: { span: 8, gutter: 4 } } };
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 初始化数据列表
|
||||||
|
*/
|
||||||
|
initST() {
|
||||||
|
this.columns = [
|
||||||
|
{
|
||||||
|
title: '合同模板名称',
|
||||||
|
className: 'text-center',
|
||||||
|
render: 'templateName'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '签约对象',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'signingObjectLabel'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '合同类型',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'contractTypeLabel'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '货源类型',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'resourceTypeLabel'
|
||||||
|
},
|
||||||
|
{ title: '创建人', index: 'createUserId', width: '120px', className: 'text-center' },
|
||||||
|
{
|
||||||
|
title: '创建时间',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'createTime'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '操作',
|
||||||
|
fixed: 'right',
|
||||||
|
className: 'text-center',
|
||||||
|
buttons: [
|
||||||
|
{
|
||||||
|
text: '编辑',
|
||||||
|
click: (_record) => this.edit(_record),
|
||||||
|
acl: { ability: ['CONTRACT-TEMPLATE-edit'] },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '删除',
|
||||||
|
click: (_record) => this.delete(_record),
|
||||||
|
acl: { ability: ['CONTRACT-TEMPLATE-delete'] },
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
}
|
||||||
|
initSTAudit() {
|
||||||
|
this.schemaView = {
|
||||||
|
properties: {
|
||||||
|
handleResult: {
|
||||||
|
title: '处理结果',
|
||||||
|
type: 'string',
|
||||||
|
maxLength: 50,
|
||||||
|
ui: {
|
||||||
|
placeholder: '最多不超过50字',
|
||||||
|
widget: 'textarea',
|
||||||
|
autosize: { minRows: 3, maxRows: 6 }
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
required: ['handleResult']
|
||||||
|
};
|
||||||
|
this.uiView = { '*': { spanLabelFixed: 110, grid: { span: 24 } } };
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 查询字段个数
|
||||||
|
*/
|
||||||
|
get queryFieldCount(): number {
|
||||||
|
return Object.keys(this.schema?.properties || {}).length;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 伸缩查询条件
|
||||||
|
*/
|
||||||
|
expandToggle(): void {
|
||||||
|
this._$expand = !this._$expand;
|
||||||
|
this.sf?.setValue('/_$expand', this._$expand);
|
||||||
|
}
|
||||||
|
tabChange(item: any) {
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 重置表单
|
||||||
|
*/
|
||||||
|
resetSF(): void {
|
||||||
|
this.sf.reset();
|
||||||
|
this._$expand = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
edit(value: any) {
|
||||||
|
this.router.navigate(['/contract-management/template/text/' + value.id],{
|
||||||
|
queryParams: {
|
||||||
|
status: 2
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
creatTemplate() {
|
||||||
|
this.router.navigate(['/contract-management/template/text/' + 0], {
|
||||||
|
queryParams: {
|
||||||
|
status: 1
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
goBack() {
|
||||||
|
window.history.go(-1)
|
||||||
|
}
|
||||||
|
view(value: any) {
|
||||||
|
this.router.navigate(['/contract-management/template/text/' + value.id],{
|
||||||
|
queryParams: {
|
||||||
|
status: 3
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
delete(value: any) {
|
||||||
|
this.modal.confirm({
|
||||||
|
nzTitle: '<i>删除确认</i>',
|
||||||
|
nzOnOk: () =>
|
||||||
|
this.service.request(this.service.$api_deletebatch_contractTemplate, [value.id]).subscribe(res => {
|
||||||
|
if (res) {
|
||||||
|
this.service.msgSrv.success('删除成功!');
|
||||||
|
this.st.reload(1)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -4,13 +4,12 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-12 10:52:50
|
* @Date : 2022-01-12 10:52:50
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-01-18 17:16:18
|
* @LastEditTime : 2022-02-24 10:31:05
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template\\contract-template.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template\\contract-template.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- 搜索表单 -->
|
<!-- 搜索表单 -->
|
||||||
<page-header-wrapper [title]="'合同模板'"> </page-header-wrapper>
|
|
||||||
<nz-card>
|
<nz-card>
|
||||||
<div nz-row nzGutter="8">
|
<div nz-row nzGutter="8">
|
||||||
<!-- 查询字段小于或等于3个时,不显示伸缩按钮 -->
|
<!-- 查询字段小于或等于3个时,不显示伸缩按钮 -->
|
||||||
@ -21,29 +20,35 @@
|
|||||||
[ui]="ui"
|
[ui]="ui"
|
||||||
[mode]="'search'"
|
[mode]="'search'"
|
||||||
[disabled]="!sf?.valid"
|
[disabled]="!sf?.valid"
|
||||||
[loading]="service.http.loading"
|
[loading]="false"
|
||||||
(formSubmit)="st?.load(1)"
|
(formSubmit)="st?.load(1)"
|
||||||
(formReset)="resetSF()"
|
(formReset)="resetSF()"
|
||||||
></sf>
|
></sf>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 查询字段大于3个时,根据展开状态调整布局 -->
|
<!-- 查询字段大于3个时,根据展开状态调整布局 -->
|
||||||
<ng-container *ngIf="queryFieldCount > 4">
|
<ng-container>
|
||||||
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
||||||
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
|
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'">
|
||||||
|
<ng-template sf-template="signTime" let-me let-ui="ui" let-schema="schema">
|
||||||
|
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.signTime"></nz-range-picker>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template sf-template="effectiveEndTime" let-me let-ui="ui" let-schema="schema">
|
||||||
|
<nz-range-picker [nzShowTime]="true" [(ngModel)]="sf.value.effectiveEndTime"></nz-range-picker>
|
||||||
|
</ng-template>
|
||||||
|
</sf>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
|
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
|
||||||
<button
|
<button
|
||||||
nz-button
|
nz-button
|
||||||
nzType="primary"
|
nzType="primary"
|
||||||
[disabled]="!sf.valid"
|
[disabled]="!sf.valid"
|
||||||
[nzLoading]="service.http.loading"
|
[nzLoading]="false"
|
||||||
(click)="st?.load(1)"
|
(click)="st?.load(1)"
|
||||||
acl
|
acl
|
||||||
[acl-ability]="['CONTRACT-TEMPLATE-search']"
|
[acl-ability]="['CONTRACT-INDEX-listFrame']"
|
||||||
>查询</button
|
>查询</button
|
||||||
>
|
>
|
||||||
<button nz-button nzType="primary" acl [acl-ability]="['CONTRACT-TEMPLATE-export']">导出</button>
|
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
{{ !_$expand ? '展开' : '收起' }}
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
@ -67,7 +72,7 @@
|
|||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
[loading]="service.http.loading"
|
[loading]="false"
|
||||||
>
|
>
|
||||||
<ng-template st-row="templateName" let-item let-index="index">
|
<ng-template st-row="templateName" let-item let-index="index">
|
||||||
<a (click)="view(item)">{{ item.templateName }}</a>
|
<a (click)="view(item)">{{ item.templateName }}</a>
|
||||||
|
|||||||
@ -4,27 +4,27 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-05 09:45:47
|
* @Date : 2022-01-05 09:45:47
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-01-18 17:16:22
|
* @LastEditTime : 2022-02-24 10:25:58
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template\\contract-template.component.spec.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\contract-template\\contract-template.component.spec.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
import { ContractManagementTemplateComponent } from './contract-template.component';
|
import { ContractManagementTemplateDetailComponent } from './contract-template.component';
|
||||||
|
|
||||||
describe('ContractManagementTemplateComponent', () => {
|
describe('ContractManagementTemplateDetailComponent', () => {
|
||||||
let component: ContractManagementTemplateComponent;
|
let component: ContractManagementTemplateDetailComponent;
|
||||||
let fixture: ComponentFixture<ContractManagementTemplateComponent>;
|
let fixture: ComponentFixture<ContractManagementTemplateDetailComponent>;
|
||||||
|
|
||||||
beforeEach(waitForAsync(() => {
|
beforeEach(waitForAsync(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
declarations: [ ContractManagementTemplateComponent ]
|
declarations: [ ContractManagementTemplateDetailComponent ]
|
||||||
})
|
})
|
||||||
.compileComponents();
|
.compileComponents();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
fixture = TestBed.createComponent(ContractManagementTemplateComponent);
|
fixture = TestBed.createComponent(ContractManagementTemplateDetailComponent);
|
||||||
component = fixture.componentInstance;
|
component = fixture.componentInstance;
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
});
|
});
|
||||||
|
|||||||
@ -9,11 +9,11 @@ import { ContractManagementService } from '../../services/contract-management.se
|
|||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-contract-management-template-complaint',
|
selector: 'app-contract-management-template-detail-complaint',
|
||||||
templateUrl: './contract-template.component.html',
|
templateUrl: './contract-template.component.html',
|
||||||
styleUrls: ['./contract-template.component.less']
|
styleUrls: ['./contract-template.component.less']
|
||||||
})
|
})
|
||||||
export class ContractManagementTemplateComponent implements OnInit {
|
export class ContractManagementTemplateDetailComponent implements OnInit {
|
||||||
ui: SFUISchema = {};
|
ui: SFUISchema = {};
|
||||||
uiView: SFUISchema = {};
|
uiView: SFUISchema = {};
|
||||||
schema: SFSchema = {};
|
schema: SFSchema = {};
|
||||||
@ -49,6 +49,7 @@ export class ContractManagementTemplateComponent implements OnInit {
|
|||||||
*/
|
*/
|
||||||
get reqParams() {
|
get reqParams() {
|
||||||
return {
|
return {
|
||||||
|
templateType: 'MX',
|
||||||
...this.sf?.value,
|
...this.sf?.value,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -69,20 +70,45 @@ export class ContractManagementTemplateComponent implements OnInit {
|
|||||||
initSF() {
|
initSF() {
|
||||||
this.schema = {
|
this.schema = {
|
||||||
properties: {
|
properties: {
|
||||||
|
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||||
templateName: {
|
templateName: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '模板名称',
|
title: '模板名称',
|
||||||
},
|
},
|
||||||
templateType: {
|
signingObject: {
|
||||||
title: '模板类型',
|
type: 'string',
|
||||||
|
title: '签约对象',
|
||||||
|
enum: [
|
||||||
|
{ label: '全部', value: '' },
|
||||||
|
{ label: '货主', value: 1 },
|
||||||
|
{ label: '司机', value: 2 }
|
||||||
|
],
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contractType: {
|
||||||
|
title: '合同类型',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
default: '',
|
default: '',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'dict-select',
|
widget: 'dict-select',
|
||||||
params: { dictKey: 'contract:template:type' },
|
containsAllLable: true,
|
||||||
containsAllLabel: true,
|
params: { dictKey: 'contract:type' },
|
||||||
|
containAllLable: true,
|
||||||
|
} as SFSelectWidgetSchema
|
||||||
|
},
|
||||||
|
resourceType: {
|
||||||
|
title: '货源类型',
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'dict-select',
|
||||||
|
params: { dictKey: 'goodresource:type' },
|
||||||
|
containsAllLable: true,
|
||||||
visibleIf: {
|
visibleIf: {
|
||||||
_$expand: (value: boolean) => value,
|
_$expand: (value: boolean) => value
|
||||||
},
|
},
|
||||||
} as SFSelectWidgetSchema,
|
} as SFSelectWidgetSchema,
|
||||||
},
|
},
|
||||||
@ -102,14 +128,22 @@ export class ContractManagementTemplateComponent implements OnInit {
|
|||||||
render: 'templateName'
|
render: 'templateName'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '模板类型',
|
title: '签约对象',
|
||||||
|
width: '100px',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
index: 'templateType'
|
index: 'signingObjectLabel'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '单据类型',
|
title: '合同类型',
|
||||||
index: 'contractType',
|
width: '100px',
|
||||||
className: 'text-center',
|
className: 'text-center',
|
||||||
|
index: 'contractTypeLabel'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '货源类型',
|
||||||
|
width: '100px',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'resourceTypeLabel'
|
||||||
},
|
},
|
||||||
{ title: '创建人', index: 'createUserId', width: '120px', className: 'text-center' },
|
{ title: '创建人', index: 'createUserId', width: '120px', className: 'text-center' },
|
||||||
{
|
{
|
||||||
@ -120,7 +154,7 @@ export class ContractManagementTemplateComponent implements OnInit {
|
|||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
className: 'text-left',
|
className: 'text-center',
|
||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
text: '编辑',
|
text: '编辑',
|
||||||
@ -160,9 +194,9 @@ export class ContractManagementTemplateComponent implements OnInit {
|
|||||||
get queryFieldCount(): number {
|
get queryFieldCount(): number {
|
||||||
return Object.keys(this.schema?.properties || {}).length;
|
return Object.keys(this.schema?.properties || {}).length;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 伸缩查询条件
|
* 伸缩查询条件
|
||||||
*/
|
*/
|
||||||
expandToggle(): void {
|
expandToggle(): void {
|
||||||
this._$expand = !this._$expand;
|
this._$expand = !this._$expand;
|
||||||
this.sf?.setValue('/_$expand', this._$expand);
|
this.sf?.setValue('/_$expand', this._$expand);
|
||||||
@ -178,14 +212,14 @@ export class ContractManagementTemplateComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
edit(value: any) {
|
edit(value: any) {
|
||||||
this.router.navigate(['/contract-management/template/detail/' + value.id], {
|
this.router.navigate(['/contract-management/template/text/' + value.id],{
|
||||||
queryParams: {
|
queryParams: {
|
||||||
status: 2
|
status: 2
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
creatTemplate() {
|
creatTemplate() {
|
||||||
this.router.navigate(['/contract-management/template/detail/' + 0], {
|
this.router.navigate(['/contract-management/template/text/' + 0], {
|
||||||
queryParams: {
|
queryParams: {
|
||||||
status: 1
|
status: 1
|
||||||
}
|
}
|
||||||
@ -195,7 +229,7 @@ export class ContractManagementTemplateComponent implements OnInit {
|
|||||||
window.history.go(-1)
|
window.history.go(-1)
|
||||||
}
|
}
|
||||||
view(value: any) {
|
view(value: any) {
|
||||||
this.router.navigate(['/contract-management/template/detail/' + value.id], {
|
this.router.navigate(['/contract-management/template/text/' + value.id],{
|
||||||
queryParams: {
|
queryParams: {
|
||||||
status: 3
|
status: 3
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-07 13:27:10
|
* @Date : 2022-01-07 13:27:10
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-01-18 17:16:56
|
* @LastEditTime : 2022-02-23 19:39:38
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\index\\index.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\index\\index.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -19,5 +19,8 @@
|
|||||||
<nz-tab nzTitle="框架合同">
|
<nz-tab nzTitle="框架合同">
|
||||||
<app-contract-management-contract-frame></app-contract-management-contract-frame>
|
<app-contract-management-contract-frame></app-contract-management-contract-frame>
|
||||||
</nz-tab>
|
</nz-tab>
|
||||||
|
<nz-tab nzTitle="合伙人合同">
|
||||||
|
<app-contract-management-contract-partner></app-contract-management-contract-partner>
|
||||||
|
</nz-tab>
|
||||||
</nz-tabset>
|
</nz-tabset>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
@ -4,14 +4,12 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-12 10:52:50
|
* @Date : 2022-01-12 10:52:50
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-02-23 15:57:26
|
* @LastEditTime : 2022-03-23 13:56:14
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\policy\\policy.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\policy\\policy.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
<page-header [action]="phActionTpl">
|
<page-header-wrapper title="保单管理" >
|
||||||
<ng-template #phActionTpl> </ng-template>
|
</page-header-wrapper>
|
||||||
</page-header>
|
|
||||||
|
|
||||||
<nz-card>
|
<nz-card>
|
||||||
<div nz-row nzGutter="8">
|
<div nz-row nzGutter="8">
|
||||||
<!-- 查询字段小于或等于3个时,不显示伸缩按钮 -->
|
<!-- 查询字段小于或等于3个时,不显示伸缩按钮 -->
|
||||||
@ -22,7 +20,7 @@
|
|||||||
[ui]="ui"
|
[ui]="ui"
|
||||||
[mode]="'search'"
|
[mode]="'search'"
|
||||||
[disabled]="!sf?.valid"
|
[disabled]="!sf?.valid"
|
||||||
[loading]="service.http.loading"
|
[loading]="false"
|
||||||
(formSubmit)="st?.load(1)"
|
(formSubmit)="st?.load(1)"
|
||||||
(formReset)="resetSF()"
|
(formReset)="resetSF()"
|
||||||
></sf>
|
></sf>
|
||||||
@ -34,7 +32,7 @@
|
|||||||
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
|
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
|
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
|
||||||
<button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="service.http.loading" (click)="st?.load(1)" acl [acl-ability]="['CONTRACT-POLICY-search']">查询</button>
|
<button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="false" (click)="st?.load(1)" acl [acl-ability]="['CONTRACT-POLICY-search']">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
{{ !_$expand ? '展开' : '收起' }}
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
@ -53,7 +51,7 @@
|
|||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
[loading]="service.http.loading"
|
[loading]="false"
|
||||||
>
|
>
|
||||||
|
|
||||||
</st>
|
</st>
|
||||||
|
|||||||
@ -0,0 +1,26 @@
|
|||||||
|
<!--
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-01-07 13:27:10
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-02-24 14:10:45
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\template\\template.component.html
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<page-header-wrapper title="合同模板" [tab]="tpTab">
|
||||||
|
</page-header-wrapper>
|
||||||
|
<ng-template #tpTab>
|
||||||
|
<nz-tabset [(nzSelectedIndex)]="selectedIndex">
|
||||||
|
<nz-tab nzTitle="明细合同">
|
||||||
|
<app-contract-management-template-detail-complaint></app-contract-management-template-detail-complaint>
|
||||||
|
</nz-tab>
|
||||||
|
<nz-tab nzTitle="框架合同">
|
||||||
|
<app-contract-management-template-frame-complaint></app-contract-management-template-frame-complaint>
|
||||||
|
</nz-tab>
|
||||||
|
<nz-tab nzTitle="合伙人合同">
|
||||||
|
<app-contract-management-template-partner-complaint></app-contract-management-template-partner-complaint>
|
||||||
|
</nz-tab>
|
||||||
|
</nz-tabset>
|
||||||
|
</ng-template>
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
import { ContractManagementTemplateComponent } from './template.component';
|
||||||
|
|
||||||
|
describe('ContractManagementTemplateComponent', () => {
|
||||||
|
let component: ContractManagementTemplateComponent;
|
||||||
|
let fixture: ComponentFixture<ContractManagementTemplateComponent>;
|
||||||
|
|
||||||
|
beforeEach(waitForAsync(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ ContractManagementTemplateComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(ContractManagementTemplateComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-01-07 13:27:10
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-02-24 10:20:23
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\components\\template\\template.component.ts
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
import { ModalHelper, _HttpClient } from '@delon/theme';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-supply-management-template',
|
||||||
|
templateUrl: './template.component.html',
|
||||||
|
})
|
||||||
|
export class ContractManagementTemplateComponent implements OnInit {
|
||||||
|
selectedIndex = 0;
|
||||||
|
|
||||||
|
constructor(private http: _HttpClient, private modal: ModalHelper) { }
|
||||||
|
|
||||||
|
ngOnInit(): void { }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-04 21:05:49
|
* @Date : 2022-01-04 21:05:49
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-01-18 17:15:03
|
* @LastEditTime : 2022-02-24 10:24:16
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\contract-management-routing.module.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\contract-management-routing.module.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -13,16 +13,18 @@ import { NgModule } from '@angular/core';
|
|||||||
import { RouterModule, Routes } from '@angular/router';
|
import { RouterModule, Routes } from '@angular/router';
|
||||||
import { ContractManagementDetailComponent } from './components/contract-detail/contract-detail.component';
|
import { ContractManagementDetailComponent } from './components/contract-detail/contract-detail.component';
|
||||||
import { ContractManagementContractListComponent } from './components/contract-list/contract-list.component';
|
import { ContractManagementContractListComponent } from './components/contract-list/contract-list.component';
|
||||||
import { ContractManagementTemplateDetailComponent } from './components/contract-template-detail/contract-template-detail.component';
|
import { ContractManagementPartnerComponent } from './components/contract-partner/contract-partner.component';
|
||||||
import { ContractManagementTemplateComponent } from './components/contract-template/contract-template.component';
|
import { ContractManagementTemplateTextComponent } from './components/contract-template-detail/contract-template-detail.component';
|
||||||
import { ContractManagementIndexComponent } from './components/index/index.component';
|
import { ContractManagementIndexComponent } from './components/index/index.component';
|
||||||
import { ContractManagementPolicyComponent } from './components/policy/policy.component';
|
import { ContractManagementPolicyComponent } from './components/policy/policy.component';
|
||||||
|
import { ContractManagementTemplateComponent } from './components/template/template.component';
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
{ path: 'index', component: ContractManagementIndexComponent },
|
{ path: 'index', component: ContractManagementIndexComponent },
|
||||||
{ path: 'index/detail/:id', component: ContractManagementDetailComponent },
|
{ path: 'index/detail/:id', component: ContractManagementDetailComponent },
|
||||||
{ path: 'template', component: ContractManagementTemplateComponent },
|
{ path: 'template', component: ContractManagementTemplateComponent },
|
||||||
{ path: 'template/detail/:id', component: ContractManagementTemplateDetailComponent },
|
{ path: 'template/text/:id', component: ContractManagementTemplateTextComponent },
|
||||||
{ path: 'policy', component: ContractManagementPolicyComponent }
|
{ path: 'policy', component: ContractManagementPolicyComponent },
|
||||||
|
{ path: 'partner', component: ContractManagementPartnerComponent },
|
||||||
];
|
];
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-04 21:05:49
|
* @Date : 2022-01-04 21:05:49
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-01-18 17:15:08
|
* @LastEditTime : 2022-02-24 14:09:24
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\contract-management.module.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\contract-management.module.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -15,20 +15,29 @@ import { SharedModule } from '@shared';
|
|||||||
import { ContractManagementManagementRoutingModule } from './contract-management-routing.module';
|
import { ContractManagementManagementRoutingModule } from './contract-management-routing.module';
|
||||||
import { ContractManagementContractListComponent } from './components/contract-list/contract-list.component';
|
import { ContractManagementContractListComponent } from './components/contract-list/contract-list.component';
|
||||||
import { ContractManagementPolicyComponent } from './components/policy/policy.component';
|
import { ContractManagementPolicyComponent } from './components/policy/policy.component';
|
||||||
import { ContractManagementTemplateComponent } from './components/contract-template/contract-template.component';
|
import { ContractManagementTemplateDetailComponent } from './components/contract-template/contract-template.component';
|
||||||
import { ContractManagementIndexComponent } from './components/index/index.component';
|
import { ContractManagementIndexComponent } from './components/index/index.component';
|
||||||
import { ContractManagementFrameComponent } from './components/contract-frame/contract-frame.component';
|
import { ContractManagementFrameComponent } from './components/contract-frame/contract-frame.component';
|
||||||
import { ContractManagementTemplateDetailComponent } from './components/contract-template-detail/contract-template-detail.component';
|
|
||||||
import { ContractManagementDetailComponent } from './components/contract-detail/contract-detail.component';
|
import { ContractManagementDetailComponent } from './components/contract-detail/contract-detail.component';
|
||||||
|
import { ContractManagementPartnerComponent } from './components/contract-partner/contract-partner.component';
|
||||||
|
import { ContractManagementTemplateComponent } from './components/template/template.component';
|
||||||
|
import { ContractManagementTemplateTextComponent } from './components/contract-template-detail/contract-template-detail.component';
|
||||||
|
import { ContractManagementTemplateFrameComponent } from './components/contract-template-frame/contract-template-frame.component';
|
||||||
|
import { ContractManagementTemplatePartnerComponent } from './components/contract-template-partner/contract-template-partner.component';
|
||||||
|
|
||||||
const COMPONENTS: any = [
|
const COMPONENTS: any = [
|
||||||
ContractManagementContractListComponent,
|
ContractManagementContractListComponent,
|
||||||
ContractManagementPolicyComponent,
|
ContractManagementPolicyComponent,
|
||||||
ContractManagementTemplateComponent,
|
ContractManagementTemplateDetailComponent,
|
||||||
ContractManagementTemplateDetailComponent,
|
ContractManagementTemplateDetailComponent,
|
||||||
ContractManagementIndexComponent,
|
ContractManagementIndexComponent,
|
||||||
ContractManagementFrameComponent,
|
ContractManagementFrameComponent,
|
||||||
ContractManagementDetailComponent
|
ContractManagementDetailComponent,
|
||||||
|
ContractManagementPartnerComponent,
|
||||||
|
ContractManagementTemplateComponent,
|
||||||
|
ContractManagementTemplateTextComponent,
|
||||||
|
ContractManagementTemplateFrameComponent,
|
||||||
|
ContractManagementTemplatePartnerComponent
|
||||||
];
|
];
|
||||||
const NOTROUTECOMPONENTS: any = [];
|
const NOTROUTECOMPONENTS: any = [];
|
||||||
@NgModule({
|
@NgModule({
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-04 21:05:49
|
* @Date : 2022-01-04 21:05:49
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-01-18 17:17:10
|
* @LastEditTime : 2022-02-24 10:00:59
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\services\\contract-management.service.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\contract-management\\services\\contract-management.service.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -31,6 +31,8 @@ export class ContractManagementService extends BaseService {
|
|||||||
$api_listDetailed_page = `/api/sdc/contract/listDetailed/page`;
|
$api_listDetailed_page = `/api/sdc/contract/listDetailed/page`;
|
||||||
// 查询框架合同
|
// 查询框架合同
|
||||||
$api_listFrame_page = `/api/sdc/contract/listFrame/page`;
|
$api_listFrame_page = `/api/sdc/contract/listFrame/page`;
|
||||||
|
// 查询合伙人合同
|
||||||
|
$api_listPartner_page = `/api/sdc/contract/listPartner/page`;
|
||||||
// 获取订单合同表
|
// 获取订单合同表
|
||||||
$api_contract_get = `/api/sdc/contract/get`;
|
$api_contract_get = `/api/sdc/contract/get`;
|
||||||
constructor(public injector: Injector) {
|
constructor(public injector: Injector) {
|
||||||
|
|||||||
@ -8,6 +8,6 @@
|
|||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
[loading]="service.http.loading">
|
[loading]="false">
|
||||||
</st>
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -11,7 +11,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
||||||
class="text-right">
|
class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button> 导出</button>
|
<button nz-button> 导出</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
@ -30,6 +30,6 @@
|
|||||||
<nz-tab nzTitle="全部"></nz-tab>
|
<nz-tab nzTitle="全部"></nz-tab>
|
||||||
</nz-tabset>
|
</nz-tabset>
|
||||||
|
|
||||||
<st #st [data]="service.$api_get_abnormal_gold_page" [columns]="columns" [req]="{ process: beforeReq }"
|
<st #st [data]="service.$api_get_abnormal_gold_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
|
||||||
[loading]="service.http.loading" [scroll]="{ x:'1200px' }"></st>
|
[loading]="false" [scroll]="{ x:'1200px' }"></st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -9,7 +9,7 @@
|
|||||||
<nz-card class="search-box">
|
<nz-card class="search-box">
|
||||||
<div nz-row>
|
<div nz-row>
|
||||||
<div nz-col nzSpan="24">
|
<div nz-col nzSpan="24">
|
||||||
<se-container col="3" labelWidth="100">
|
<se-container col="3" labelWidth="120">
|
||||||
<se-title class="mb-md" style="font-size: 18px">基本信息</se-title>
|
<se-title class="mb-md" style="font-size: 18px">基本信息</se-title>
|
||||||
<se label="网络货运人" required>
|
<se label="网络货运人" required>
|
||||||
{{ costInfo?.ltdName }}
|
{{ costInfo?.ltdName }}
|
||||||
@ -21,13 +21,13 @@
|
|||||||
{{ costInfo?.artoname }}
|
{{ costInfo?.artoname }}
|
||||||
</se>
|
</se>
|
||||||
<se label="结算客户" required>
|
<se label="结算客户" required>
|
||||||
{{ costInfo?.shipperId }}
|
{{ costInfo?.cnoName }}
|
||||||
</se>
|
</se>
|
||||||
<se label="收款账户">
|
<se label="收款账户">
|
||||||
{{ costInfo?.ltdaccountId }}
|
{{ costInfo?.ltdaccountId }}
|
||||||
</se>
|
</se>
|
||||||
<se label="预收金额">
|
<se label="预收金额">
|
||||||
{{ costInfo?.premoney |currency }}
|
{{ costInfo?.brmmoney |currency }}
|
||||||
</se>
|
</se>
|
||||||
<se label="收款类型" required>
|
<se label="收款类型" required>
|
||||||
{{ costInfo?.brmtypeLabel }}
|
{{ costInfo?.brmtypeLabel }}
|
||||||
@ -47,38 +47,40 @@
|
|||||||
[button]="'none'"></sf>
|
[button]="'none'"></sf>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="8" [nzLg]="6" [nzSm]="24" [nzXs]="24">
|
<div nz-col [nzXl]="8" [nzLg]="6" [nzSm]="24" [nzXs]="24">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading"
|
<button nz-button nzType="primary" [nzLoading]="false"
|
||||||
(click)="inputST?.load(1)">查询</button>
|
(click)="inputST?.load(1)">查询</button>
|
||||||
<button nz-button (click)="resetInputSF()">重置</button>
|
<button nz-button (click)="resetInputSF()">重置</button>
|
||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
<st #inputST [data]="service.$api_get_advance_collection_detail" [columns]="columns.input"
|
<st #inputST [data]="service.$api_get_advance_collection_detail" [columns]="columns.input"
|
||||||
[page]="{ show: false }" [req]="{ process: beforeReq }" [res]="{ reName: { list: 'data' } }"
|
[page]="{ show: false }" [req]="{ process: beforeReq }" [res]="{ reName: { list: 'data' } }"
|
||||||
[loading]="service.http.loading" [scroll]="{ x: '1200px', y: '370px' }" class="mt-md">
|
[loading]="false" [scroll]="{ x: '1200px', y: '370px' }" class="mt-md">
|
||||||
<ng-template st-row="no" let-item let-index="index" let-column="column">
|
<ng-template st-row="no" let-item let-index="index" let-column="column">
|
||||||
{{index+1}}
|
{{index+1}}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</st>
|
</st>
|
||||||
</nz-tab>
|
</nz-tab>
|
||||||
<!-- <nz-tab nzTitle="核销信息">
|
<nz-tab nzTitle="核销信息">
|
||||||
<div nz-row nzGutter="8">
|
<!-- <div nz-row nzGutter="8">
|
||||||
<div nz-col [nzXl]="16" [nzLg]="18" [nzSm]="24" [nzXs]="24">
|
<div nz-col [nzXl]="16" [nzLg]="18" [nzSm]="24" [nzXs]="24">
|
||||||
<sf #sf [schema]="infoSearchSchema"
|
<sf #sf [schema]="infoSearchSchema"
|
||||||
[ui]="{ '*': { spanLabelFixed: 90,grid: { lg: 12, md: 12, sm: 12, xs: 24 } }}" [compact]="true"
|
[ui]="{ '*': { spanLabelFixed: 90,grid: { lg: 12, md: 12, sm: 12, xs: 24 } }}" [compact]="true"
|
||||||
[button]="'none'"></sf>
|
[button]="'none'"></sf>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="8" [nzLg]="6" [nzSm]="24" [nzXs]="24">
|
<div nz-col [nzXl]="8" [nzLg]="6" [nzSm]="24" [nzXs]="24">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading"
|
<button nz-button nzType="primary" [nzLoading]="false"
|
||||||
(click)="infoST?.load(1)">查询</button>
|
(click)="infoST?.load(1)">查询</button>
|
||||||
<button nz-button (click)="resetInfoSF()">重置</button>
|
<button nz-button (click)="resetInfoSF()">重置</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
<st #infoST [scroll]="{ x: '2000px' }" [data]="[]" [columns]="columns.info" [req]="{ process: beforeReq }"
|
<st #infoST [scroll]="{ x: '2000px' }" [data]="service.$api_get_advance_collection_hrxiao"
|
||||||
[loading]="service.http.loading" [scroll]="{ x: '1200px', y: '370px' }" class="mt-md">
|
[columns]="columns.info" [page]="{ show: false }" [req]="{ process: beforeReq }"
|
||||||
|
[res]="{ reName: { list: 'data' } }" [loading]="false" [scroll]="{ x: '1200px', y: '370px' }"
|
||||||
|
class="mt-md">
|
||||||
<ng-template st-row="no" let-item let-index="index" let-column="column">
|
<ng-template st-row="no" let-item let-index="index" let-column="column">
|
||||||
{{index+1}}
|
{{index+1}}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</st>
|
</st>
|
||||||
</nz-tab> -->
|
</nz-tab>
|
||||||
</nz-tabset>
|
</nz-tabset>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -133,17 +133,17 @@ export class AdvanceCollectionDetailComponent implements OnInit {
|
|||||||
],
|
],
|
||||||
info: [
|
info: [
|
||||||
{ title: '序号', render: 'no', width: 70, className: 'text-left' },
|
{ title: '序号', render: 'no', width: 70, className: 'text-left' },
|
||||||
{ title: '核销单号', index: 'cnoName', className: 'text-left', width: 200 },
|
{ title: '核销单号', index: 'ahxcode', className: 'text-left', width: 200 },
|
||||||
{ title: '核销日期', index: 'billHId', className: 'text-center', width: 150 },
|
{ title: '核销日期', index: 'ahxdate', className: 'text-center', width: 150 },
|
||||||
{
|
{
|
||||||
title: '核销金额',
|
title: '核销金额',
|
||||||
index: 'yskmoney',
|
index: 'ahxmoney',
|
||||||
type: 'widget',
|
type: 'widget',
|
||||||
className: 'text-right',
|
className: 'text-right',
|
||||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.yskmoney }) },
|
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.ahxmoney }) },
|
||||||
width: 200
|
width: 200
|
||||||
},
|
},
|
||||||
{ title: '核销备注', index: 'vatapptype', className: 'text-left', width: 200 }
|
{ title: '核销备注', index: 'remarks', className: 'text-left', width: 200 }
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,7 +10,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
||||||
class="text-right">
|
class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button (click)="exportList()"> 导出</button>
|
<button nz-button (click)="exportList()"> 导出</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
@ -22,7 +22,7 @@
|
|||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-card class="content-box">
|
<nz-card class="content-box">
|
||||||
<st #st [data]="service.$api_get_advance_collection_page" [columns]="columns" [req]="{ process: beforeReq }"
|
<st #st [data]="service.$api_get_advance_collection_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
|
||||||
[loading]="service.http.loading" [scroll]="{ x: '1200px' }">
|
[loading]="false" [scroll]="{ x: '1200px' }">
|
||||||
</st>
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -1,9 +1,9 @@
|
|||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, ViewChild } from '@angular/core';
|
||||||
import { Router } from '@angular/router';
|
import { Router } from '@angular/router';
|
||||||
import { STComponent, STColumn, STRequestOptions } from '@delon/abc/st';
|
import { STComponent, STColumn, STRequestOptions } from '@delon/abc/st';
|
||||||
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
|
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
|
||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
import { AccountDetailComponent } from 'src/app/shared/components/account-detail/account-detail.component';
|
|
||||||
import { FreightAccountService } from '../../services/freight-account.service';
|
import { FreightAccountService } from '../../services/freight-account.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -11,7 +11,7 @@ import { FreightAccountService } from '../../services/freight-account.service';
|
|||||||
templateUrl: './advance-collection.component.html',
|
templateUrl: './advance-collection.component.html',
|
||||||
styleUrls: ['../../../commom/less/box.less', '../../../commom/less/expend-but.less']
|
styleUrls: ['../../../commom/less/box.less', '../../../commom/less/expend-but.less']
|
||||||
})
|
})
|
||||||
export class AdvanceCollectionComponent implements OnInit {
|
export class AdvanceCollectionComponent {
|
||||||
@ViewChild('st', { static: true })
|
@ViewChild('st', { static: true })
|
||||||
st!: STComponent;
|
st!: STComponent;
|
||||||
@ViewChild('sf', { static: false })
|
@ViewChild('sf', { static: false })
|
||||||
@ -23,8 +23,6 @@ export class AdvanceCollectionComponent implements OnInit {
|
|||||||
|
|
||||||
constructor(public service: FreightAccountService, private router: Router, private modal: NzModalService) {}
|
constructor(public service: FreightAccountService, private router: Router, private modal: NzModalService) {}
|
||||||
|
|
||||||
ngOnInit(): void {}
|
|
||||||
|
|
||||||
beforeReq = (requestOptions: STRequestOptions) => {
|
beforeReq = (requestOptions: STRequestOptions) => {
|
||||||
if (this.sf) {
|
if (this.sf) {
|
||||||
Object.assign(requestOptions.body, { ...this.sf.value });
|
Object.assign(requestOptions.body, { ...this.sf.value });
|
||||||
@ -49,7 +47,7 @@ export class AdvanceCollectionComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
exportList() {
|
exportList() {
|
||||||
this.service.downloadFile(this.service.$mock_url, { ...this.sf.value, pageIndex: this.st.pi, pageSize: this.st.ps });
|
this.service.downloadFile(this.service.$mock_url, { ...this.sf.value, pageSize: -1 });
|
||||||
}
|
}
|
||||||
|
|
||||||
private initSF(): SFSchema {
|
private initSF(): SFSchema {
|
||||||
@ -149,14 +147,14 @@ export class AdvanceCollectionComponent implements OnInit {
|
|||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
text: '浏览',
|
text: '浏览',
|
||||||
click: item => this.router.navigate(['/financial-management/advance-collection/detail/' + item.id])
|
click: item => this.router.navigate([`/financial-management/advance-collection/detail/${item.id}`])
|
||||||
},
|
|
||||||
{
|
|
||||||
text: '核销'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
text: '退款'
|
|
||||||
}
|
}
|
||||||
|
// {
|
||||||
|
// text: '核销'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// text: '退款'
|
||||||
|
// }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
<nz-card class="search-box">
|
<nz-card class="search-box">
|
||||||
<div nz-row>
|
<div nz-row>
|
||||||
<div nz-col nzSpan="24">
|
<div nz-col nzSpan="24">
|
||||||
<se-container col="3" labelWidth="100" *ngIf="!textStatus">
|
<se-container col="3" labelWidth="120" *ngIf="!textStatus">
|
||||||
<se-title class="mb-md" style="font-size: 18px">基本信息(应收费用)</se-title>
|
<se-title class="mb-md" style="font-size: 18px">基本信息(应收费用)</se-title>
|
||||||
<se label="网络货运人" required>
|
<se label="网络货运人" required>
|
||||||
{{ costInfo?.ltdName }}
|
{{ costInfo?.ltdName }}
|
||||||
@ -27,16 +27,16 @@
|
|||||||
{{ costInfo?.arvattypeLabel }}
|
{{ costInfo?.arvattypeLabel }}
|
||||||
</se>
|
</se>
|
||||||
<se label="应收金额" required>
|
<se label="应收金额" required>
|
||||||
{{ costInfo?.armoeny }}
|
{{ costInfo?.armoeny | currency }}
|
||||||
</se>
|
</se>
|
||||||
<se label="开票金额" required>
|
<se label="开票金额" required>
|
||||||
{{ costInfo?.arkpmoney }}
|
{{ costInfo?.armoeny | currency }}
|
||||||
</se>
|
</se>
|
||||||
<se label="收款金额" required>
|
<se label="收款金额" required>
|
||||||
{{ costInfo?.armoeny }}
|
{{ costInfo?.armoeny | currency }}
|
||||||
</se>
|
</se>
|
||||||
</se-container>
|
</se-container>
|
||||||
<se-container col="3" labelWidth="100" *ngIf="textStatus" class="mt-md">
|
<se-container col="3" labelWidth="120" *ngIf="textStatus" class="mt-md">
|
||||||
<se-title class="mb-md" style="font-size: 18px">基本信息(应付费用)</se-title>
|
<se-title class="mb-md" style="font-size: 18px">基本信息(应付费用)</se-title>
|
||||||
<se label="网络货运人" required>
|
<se label="网络货运人" required>
|
||||||
{{ costInfo?.ltdName }}
|
{{ costInfo?.ltdName }}
|
||||||
@ -44,7 +44,7 @@
|
|||||||
<se label="费用类型" required>
|
<se label="费用类型" required>
|
||||||
{{ costInfo?.feetypeLabel }}
|
{{ costInfo?.feetypeLabel }}
|
||||||
</se>
|
</se>
|
||||||
<se label="应付核销" required> </se>
|
<se label="应付核销" required> {{ costInfo?.hrmoney | currency}}</se>
|
||||||
<se label="费用备注">
|
<se label="费用备注">
|
||||||
{{ costInfo?.hrremarks }}
|
{{ costInfo?.hrremarks }}
|
||||||
</se>
|
</se>
|
||||||
@ -55,13 +55,13 @@
|
|||||||
{{ costInfo?.hrvattypeLabel }}
|
{{ costInfo?.hrvattypeLabel }}
|
||||||
</se>
|
</se>
|
||||||
<se label="应付金额" required>
|
<se label="应付金额" required>
|
||||||
{{ costInfo?.hrmoney }}
|
{{ costInfo?.hrmoney | currency}}
|
||||||
</se>
|
</se>
|
||||||
<se label="收票金额" required>
|
<se label="收票金额" required>
|
||||||
{{ costInfo?.hrvatmoney }}
|
{{ (costInfo?.hrvatmoney || 0) | currency }}
|
||||||
</se>
|
</se>
|
||||||
<se label="付款金额" required>
|
<se label="付款金额" required>
|
||||||
{{ costInfo?.hrpaymoney }}
|
{{ costInfo?.hrmoney | currency}}
|
||||||
</se>
|
</se>
|
||||||
</se-container>
|
</se-container>
|
||||||
</div>
|
</div>
|
||||||
@ -71,31 +71,29 @@
|
|||||||
<nz-card class="content-box" nzBordered>
|
<nz-card class="content-box" nzBordered>
|
||||||
<nz-tabset>
|
<nz-tabset>
|
||||||
<nz-tab nzTitle="费用明细">
|
<nz-tab nzTitle="费用明细">
|
||||||
<st
|
<st #st [scroll]="{ x: '2000px' }" [data]="costInfo?.ficoFeeLList" [columns]="columns.cost"
|
||||||
#st
|
[page]="{ show: false }" [loading]="false" [scroll]="{ x: '1200px', y: '370px' }">
|
||||||
[scroll]="{ x: '2000px' }"
|
|
||||||
[data]="costInfo?.ficoFeeLList"
|
|
||||||
[columns]="columns.cost"
|
|
||||||
[page]="{ show: false }"
|
|
||||||
[loading]="service.http.loading"
|
|
||||||
[scroll]="{ x: '1200px', y: '370px' }"
|
|
||||||
>
|
|
||||||
<ng-template st-row="artocode" let-item let-index="index">
|
|
||||||
{{ costInfo?.artocode}}/{{ costInfo?.artonames}}
|
|
||||||
</ng-template>
|
|
||||||
<ng-template st-row="hrvatmoney" let-item let-index="index">
|
|
||||||
<span *ngIf="!textStatus">{{ item.armoney | currency}}</span>
|
|
||||||
<span *ngIf="textStatus">{{ item.hrmoney | currency}}</span>
|
|
||||||
</ng-template>
|
|
||||||
<ng-template st-row="armoney" let-item let-index="index">
|
|
||||||
{{ item.armoney | currency}}
|
|
||||||
</ng-template>
|
|
||||||
<ng-template st-row="arkpmoney" let-item let-index="index">
|
|
||||||
{{ item.arkpmoney | currency}}
|
|
||||||
</ng-template>
|
|
||||||
<ng-template st-row="no" let-item let-index="index" let-column="column">
|
<ng-template st-row="no" let-item let-index="index" let-column="column">
|
||||||
{{ textStatus ? item.hrmoney : item.hrvatmoney }}
|
{{ index + 1 }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
<ng-template st-row="artocode" let-item let-index="index">
|
||||||
|
{{ costInfo?.artocode}}/{{ costInfo?.artonames}}
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="hrvatmoney" let-item let-index="index">
|
||||||
|
<span *ngIf="!textStatus">{{ item.armoney | currency}}</span>
|
||||||
|
<span *ngIf="textStatus">{{ item.hrmoney | currency}}</span>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="armoney" let-item let-index="index">
|
||||||
|
<!-- {{ item.armoney | currency}} -->
|
||||||
|
<span *ngIf="!textStatus">{{ item.armoney | currency}}</span>
|
||||||
|
<span *ngIf="textStatus">{{ item.hrmoney | currency}}</span>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="arkpmoney" let-item let-index="index">
|
||||||
|
{{ item.arkpmoney | currency}}
|
||||||
|
</ng-template>
|
||||||
|
<!-- <ng-template st-row="no" let-item let-index="index" let-column="column">
|
||||||
|
{{ textStatus ? item.hrmoney : item.hrvatmoney }}
|
||||||
|
</ng-template> -->
|
||||||
<ng-template st-row="billTime" let-item let-index="index" let-column="column">
|
<ng-template st-row="billTime" let-item let-index="index" let-column="column">
|
||||||
{{costInfo.billTime}}
|
{{costInfo.billTime}}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
@ -105,42 +103,28 @@
|
|||||||
</st>
|
</st>
|
||||||
</nz-tab>
|
</nz-tab>
|
||||||
<nz-tab nzTitle="开票信息">
|
<nz-tab nzTitle="开票信息">
|
||||||
<st
|
<st #st [scroll]="{ x: '2000px' }" [data]="costInfo?.ficoVatappDatailList" [columns]="columns.requested"
|
||||||
#st
|
[page]="{ show: false }" [loading]="false" [scroll]="{ x: '1200px', y: '370px' }">
|
||||||
[scroll]="{ x: '2000px' }"
|
<ng-template st-row="armoney" let-item let-index="index">
|
||||||
[data]="costInfo?.ficoVatappDatailList"
|
{{ item.armoney | currency}}
|
||||||
[columns]="columns.requested"
|
</ng-template>
|
||||||
[page]="{ show: false }"
|
<ng-template st-row="vatmoney" let-item let-index="index">
|
||||||
[loading]="service.http.loading"
|
{{ item.vatmoney | currency}}
|
||||||
[scroll]="{ x: '1200px', y: '370px' }"
|
</ng-template>
|
||||||
>
|
|
||||||
<ng-template st-row="vatnotax" let-item let-index="index">
|
|
||||||
{{ item.vatnotax | currency}}
|
|
||||||
</ng-template>
|
|
||||||
<ng-template st-row="vatmoney" let-item let-index="index">
|
|
||||||
{{ item.vatmoney | currency}}
|
|
||||||
</ng-template>
|
|
||||||
<ng-template st-row="no" let-item let-index="index" let-column="column">
|
<ng-template st-row="no" let-item let-index="index" let-column="column">
|
||||||
{{ index + 1 }}
|
{{ index + 1 }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</st>
|
</st>
|
||||||
</nz-tab>
|
</nz-tab>
|
||||||
<nz-tab nzTitle="收款信息">
|
<nz-tab nzTitle="收款信息" *ngIf="!textStatus">
|
||||||
<st
|
<st #st [scroll]="{ x: '2000px' }" [data]="costInfo?.ficoAhxLList" [columns]="columns.collection"
|
||||||
#st
|
[page]="{ show: false }" [loading]="false" [scroll]="{ x: '1200px', y: '370px' }">
|
||||||
[scroll]="{ x: '2000px' }"
|
<ng-template st-row="ahxmoney" let-item let-index="index">
|
||||||
[data]="costInfo?.ficoAhxLList"
|
{{ item.ahxmoney | currency}}
|
||||||
[columns]="columns.collection"
|
</ng-template>
|
||||||
[page]="{ show: false }"
|
<ng-template st-row="ahxmoney" let-item let-index="index">
|
||||||
[loading]="service.http.loading"
|
{{ item.ahxmoney | currency}}
|
||||||
[scroll]="{ x: '1200px', y: '370px' }"
|
</ng-template>
|
||||||
>
|
|
||||||
<ng-template st-row="ahxmoney" let-item let-index="index">
|
|
||||||
{{ item.ahxmoney | currency}}
|
|
||||||
</ng-template>
|
|
||||||
<ng-template st-row="ahxmoney" let-item let-index="index">
|
|
||||||
{{ item.ahxmoney | currency}}
|
|
||||||
</ng-template>
|
|
||||||
<ng-template st-row="no" let-item let-index="index" let-column="column">
|
<ng-template st-row="no" let-item let-index="index" let-column="column">
|
||||||
{{ index + 1 }}
|
{{ index + 1 }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
@ -148,30 +132,19 @@
|
|||||||
</st>
|
</st>
|
||||||
</nz-tab>
|
</nz-tab>
|
||||||
<nz-tab nzTitle="收票信息">
|
<nz-tab nzTitle="收票信息">
|
||||||
<st
|
<st #st [data]="data" [scroll]="{ x: '2000px' }" [columns]="columns.ticket" [page]="{ show: false }"
|
||||||
#st
|
[loading]="false" [scroll]="{ x: '1200px', y: '370px' }"></st>
|
||||||
[data]="data"
|
|
||||||
[scroll]="{ x: '2000px' }"
|
|
||||||
[columns]="columns.ticket"
|
|
||||||
[page]="{ show: false }"
|
|
||||||
[loading]="service.http.loading"
|
|
||||||
[scroll]="{ x: '1200px', y: '370px' }"
|
|
||||||
></st>
|
|
||||||
</nz-tab>
|
</nz-tab>
|
||||||
<nz-tab nzTitle="付款信息">
|
<nz-tab nzTitle="付款信息" *ngIf="textStatus">
|
||||||
<st
|
<st #st [scroll]="{ x: '2000px' }" [data]="costInfo?.ficoPhxLList" [columns]="columns.payment"
|
||||||
#st
|
[page]="{ show: false }" [loading]="false" [scroll]="{ x: '1200px', y: '370px' }">
|
||||||
[scroll]="{ x: '2000px' }"
|
|
||||||
[data]="costInfo?.ficoPhxLList"
|
|
||||||
[columns]="columns.payment"
|
|
||||||
[page]="{ show: false }"
|
|
||||||
[loading]="service.http.loading"
|
|
||||||
[scroll]="{ x: '1200px', y: '370px' }"
|
|
||||||
>
|
|
||||||
<ng-template st-row="no" let-item let-index="index" let-column="column">
|
<ng-template st-row="no" let-item let-index="index" let-column="column">
|
||||||
{{ index + 1 }}
|
{{ index + 1 }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
<ng-template st-row="phxmoney" let-item let-index="index" let-column="column">
|
||||||
|
{{ item.phxmoney | currency}}
|
||||||
|
</ng-template>
|
||||||
</st>
|
</st>
|
||||||
</nz-tab>
|
</nz-tab>
|
||||||
</nz-tabset>
|
</nz-tabset>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -52,7 +52,13 @@ export class CostManagementDetailComponent implements OnInit {
|
|||||||
{ title: '结算客户', render: 'cnoName', className: 'text-left', width: 200 },
|
{ title: '结算客户', render: 'cnoName', className: 'text-left', width: 200 },
|
||||||
{ title: '订单费用类型', index: 'billLTypeLabel', className: 'text-left', width: 200 },
|
{ title: '订单费用类型', index: 'billLTypeLabel', className: 'text-left', width: 200 },
|
||||||
{ title: '费用科目', index: 'feeSubName', className: 'text-left', width: 200 },
|
{ title: '费用科目', index: 'feeSubName', className: 'text-left', width: 200 },
|
||||||
{ title: '税率', index: 'hrvatrate', className: 'text-right', width: 200 },
|
{
|
||||||
|
title: '税率',
|
||||||
|
index: 'arvatrate',
|
||||||
|
className: 'text-right',
|
||||||
|
width: 200,
|
||||||
|
format: item => `${item.arvatrate ? ((item.arvatrate as number) * 100).toFixed(2) : 0}%`
|
||||||
|
},
|
||||||
{ title: '费用金额', render: 'hrvatmoney', className: 'text-right', width: 200 },
|
{ title: '费用金额', render: 'hrvatmoney', className: 'text-right', width: 200 },
|
||||||
{ title: '收/付款金额', render: 'armoney', className: 'text-right', width: 200 },
|
{ title: '收/付款金额', render: 'armoney', className: 'text-right', width: 200 },
|
||||||
{ title: '开/收票金额', render: 'arkpmoney', className: 'text-right', width: 200 }
|
{ title: '开/收票金额', render: 'arkpmoney', className: 'text-right', width: 200 }
|
||||||
@ -61,9 +67,9 @@ export class CostManagementDetailComponent implements OnInit {
|
|||||||
{ title: '序号', render: 'no', width: 70, className: 'text-left' },
|
{ title: '序号', render: 'no', width: 70, className: 'text-left' },
|
||||||
{ title: '费用明细号', index: 'feeLId', className: 'text-left', width: 200 },
|
{ title: '费用明细号', index: 'feeLId', className: 'text-left', width: 200 },
|
||||||
{ title: '发票申请', index: 'vatinvcode', className: 'text-left', width: 200 },
|
{ title: '发票申请', index: 'vatinvcode', className: 'text-left', width: 200 },
|
||||||
{ title: '发票类型', index: 'vatapptype', className: 'text-left', width: 200 },
|
{ title: '发票类型', index: 'invoicetypeLabel', className: 'text-left', width: 200 },
|
||||||
{ title: '发票号', index: 'vatappcode', className: 'text-left', width: 200 },
|
{ title: '发票号', index: 'invoiceno', className: 'text-left', width: 200 },
|
||||||
{ title: '发票日期', index: 'vatappdate', className: 'text-left', width: 200 },
|
{ title: '发票日期', index: 'invoicedate', className: 'text-left', width: 200 },
|
||||||
{ title: '发票状态', index: 'stsLabel', className: 'text-left', width: 200 },
|
{ title: '发票状态', index: 'stsLabel', className: 'text-left', width: 200 },
|
||||||
{ title: '应收金额', render: 'armoney', className: 'text-left', width: 200 },
|
{ title: '应收金额', render: 'armoney', className: 'text-left', width: 200 },
|
||||||
{ title: '开票金额', render: 'vatmoney', className: 'text-left', width: 200 }
|
{ title: '开票金额', render: 'vatmoney', className: 'text-left', width: 200 }
|
||||||
@ -94,9 +100,9 @@ export class CostManagementDetailComponent implements OnInit {
|
|||||||
{ title: '付款单号', index: 'phxHId' },
|
{ title: '付款单号', index: 'phxHId' },
|
||||||
{ title: '要求日期', index: 'billTime' },
|
{ title: '要求日期', index: 'billTime' },
|
||||||
{ title: '确认日期', index: 'feedate' },
|
{ title: '确认日期', index: 'feedate' },
|
||||||
{ title: '付款状态', index: 'callNo' },
|
// { title: '付款状态', index: 'callNo' },
|
||||||
{ title: '应付金额', index: 'callNo' },
|
{ title: '应付金额', render: 'phxmoney' },
|
||||||
{ title: '付款金额', index: 'phxmoney' }
|
{ title: '付款金额', render: 'phxmoney' }
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2021-12-30 19:36:30
|
* @Date : 2021-12-30 19:36:30
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-01-20 17:14:57
|
* @LastEditTime : 2022-02-23 16:35:15
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\financial-management\\components\\cost-management\\cost-management.component.html
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\financial-management\\components\\cost-management\\cost-management.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
-->
|
-->
|
||||||
@ -17,7 +17,8 @@
|
|||||||
[compact]="true" [button]="'none'"></sf>
|
[compact]="true" [button]="'none'"></sf>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)" acl
|
||||||
|
[acl-ability]="['FINANCIAL-COST-list']">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<!-- <button nz-button (click)="exportList()"> 导出</button>
|
<!-- <button nz-button (click)="exportList()"> 导出</button>
|
||||||
<button nz-button (click)="exportList()"> 导出明细</button> -->
|
<button nz-button (click)="exportList()"> 导出明细</button> -->
|
||||||
@ -32,29 +33,27 @@
|
|||||||
<nz-card class="content-box">
|
<nz-card class="content-box">
|
||||||
<div nz-row class="mb-sm">
|
<div nz-row class="mb-sm">
|
||||||
<div nz-col nzSpan="24">
|
<div nz-col nzSpan="24">
|
||||||
<!-- <button nz-button nzType="primary" [nzLoading]="service.http.loading"
|
<!-- <button nz-button nzType="primary" [nzLoading]="false"
|
||||||
(click)="routeTo('/financial-management/cost-management/expenses-receivable/1')">添加应收费用</button>
|
(click)="routeTo('/financial-management/cost-management/expenses-receivable/1')">添加应收费用</button>
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading"
|
<button nz-button nzType="primary" [nzLoading]="false"
|
||||||
(click)="routeTo('/financial-management/cost-management/expenses-payable/1')">添加应付费用</button>
|
(click)="routeTo('/financial-management/cost-management/expenses-payable/1')">添加应付费用</button>
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading">导入费用</button> -->
|
<button nz-button nzType="primary" [nzLoading]="false">导入费用</button> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<st #st [data]="service.$api_get_cost_page" [columns]="columns" [req]="{ process: beforeReq }"
|
<st #st [data]="service.$api_get_cost_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
|
||||||
[loading]="service.http.loading" [scroll]="{ x: '2000px' }">
|
[loading]="false" [scroll]="{ x: '2000px' }">
|
||||||
<ng-template st-row="armoeny" let-item let-index="index">
|
<ng-template st-row="armoeny" let-item let-index="index">
|
||||||
{{ item.armoeny | currency}}
|
{{ item.armoeny | currency }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="hrmoney" let-item let-index="index">
|
<ng-template st-row="hrmoney" let-item let-index="index">
|
||||||
{{ item.hrmoney | currency}}
|
{{ item.hrmoney | currency }}
|
||||||
</ng-template>
|
|
||||||
<ng-template st-row="artocode" let-item let-index="index">
|
|
||||||
{{ item.cnoCode}}/{{ item.cnoName}}
|
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
<ng-template st-row="artocode" let-item let-index="index"> {{ item.cnoCode }}/{{ item.cnoName }} </ng-template>
|
||||||
<ng-template st-row="hrpaymoney" let-item let-index="index">
|
<ng-template st-row="hrpaymoney" let-item let-index="index">
|
||||||
{{ item.hrpaymoney | currency}}
|
{{ item.hrpaymoney | currency }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="hrvatmoney" let-item let-index="index">
|
<ng-template st-row="hrvatmoney" let-item let-index="index">
|
||||||
{{ item.hrvatmoney | currency}}
|
{{ item.hrvatmoney | currency }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</st>
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|||||||
@ -90,7 +90,7 @@ export class CostManagementComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
exportList() {
|
exportList() {
|
||||||
this.service.downloadFile(this.service.$mock_url, { ...this.sf.value, pageIndex: this.st.pi, pageSize: this.st.ps });
|
this.service.downloadFile(this.service.$mock_url, { ...this.sf.value, pageSize: -1 });
|
||||||
}
|
}
|
||||||
|
|
||||||
routeTo(url: string, params?: any, status?: any) {
|
routeTo(url: string, params?: any, status?: any) {
|
||||||
@ -188,9 +188,10 @@ export class CostManagementComponent implements OnInit {
|
|||||||
searchLoadingText: '搜索中...',
|
searchLoadingText: '搜索中...',
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
onSearch: (q: any) => {
|
onSearch: (q: any) => {
|
||||||
if (!!q) {
|
let str = q.replace(/^\s+|\s+$/g, '');
|
||||||
|
if (str) {
|
||||||
return this.service
|
return this.service
|
||||||
.request(this.service.$api_enterpriceList, { enterpriseName: q })
|
.request(this.service.$api_enterpriceList, { enterpriseName: str })
|
||||||
.pipe(map((res: any) => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
.pipe(map((res: any) => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||||
.toPromise();
|
.toPromise();
|
||||||
} else {
|
} else {
|
||||||
@ -212,9 +213,10 @@ export class CostManagementComponent implements OnInit {
|
|||||||
searchLoadingText: '搜索中...',
|
searchLoadingText: '搜索中...',
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
onSearch: (q: any) => {
|
onSearch: (q: any) => {
|
||||||
if (!!q) {
|
let str = q.replace(/^\s+|\s+$/g, '');
|
||||||
|
if (str) {
|
||||||
return this.service
|
return this.service
|
||||||
.request(this.service.$api_enterpriceList, { enterpriseName: q })
|
.request(this.service.$api_enterpriceList, { enterpriseName: str })
|
||||||
.pipe(map((res: any) => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
.pipe(map((res: any) => (res as any[]).map(i => ({ label: i.enterpriseName, value: i.id } as SFSchemaEnum))))
|
||||||
.toPromise();
|
.toPromise();
|
||||||
} else {
|
} else {
|
||||||
@ -285,12 +287,12 @@ export class CostManagementComponent implements OnInit {
|
|||||||
{ title: '结算客户', render: 'artocode', width: 200, className: 'text-left' },
|
{ title: '结算客户', render: 'artocode', width: 200, className: 'text-left' },
|
||||||
{ title: '应收对象', index: 'artoname', width: 200, className: 'text-left' },
|
{ title: '应收对象', index: 'artoname', width: 200, className: 'text-left' },
|
||||||
{ title: '应付对象', index: 'hrtoname', width: 200, className: 'text-left' },
|
{ title: '应付对象', index: 'hrtoname', width: 200, className: 'text-left' },
|
||||||
{ title: '应收金额', render: 'armoeny', width: 100, className: 'text-right' },
|
{ title: '应收金额', render: 'armoeny', width: 150, className: 'text-right' },
|
||||||
{ title: '应付金额', render: 'hrmoney', width: 100, className: 'text-right' },
|
{ title: '应付金额', render: 'hrmoney', width: 150, className: 'text-right' },
|
||||||
{ title: '收/付款金额', render: 'hrpaymoney', width: 120, className: 'text-right' },
|
{ title: '收/付款金额', render: 'hrpaymoney', width: 150, className: 'text-right' },
|
||||||
{ title: '开/收票金额', render: 'hrvatmoney', width: 120, className: 'text-right' },
|
{ title: '开/收票金额', render: 'hrvatmoney', width: 150, className: 'text-right' },
|
||||||
{ title: '创建时间', index: 'createTime', type: 'date', width: 200, className: 'text-center' },
|
{ title: '创建时间', index: 'createTime', type: 'date', width: 200, className: 'text-center' },
|
||||||
{ title: '状态', index: 'stsLabel', width: 90, className: 'text-center' },
|
{ title: '状态', index: 'stsLabel', width: 120, className: 'text-center' },
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
@ -299,12 +301,14 @@ export class CostManagementComponent implements OnInit {
|
|||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
text: '浏览',
|
text: '浏览',
|
||||||
click: item => this.routeTo('/financial-management/cost-management/detail/' + item.id, { status: item?.feetypeLabel })
|
click: item => this.routeTo('/financial-management/cost-management/detail/' + item.id, { status: item?.feetypeLabel }),
|
||||||
|
acl: { ability: ['FINANCIAL-COST-view'] }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '审核',
|
text: '审核',
|
||||||
click: item => this.auditAction(item),
|
click: item => this.auditAction(item),
|
||||||
iif: item => item.sts === 2
|
iif: item => item.sts === 2,
|
||||||
|
acl: { ability: ['FINANCIAL-COST-audit'] }
|
||||||
}
|
}
|
||||||
// {
|
// {
|
||||||
// text: '修改',
|
// text: '修改',
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
<nz-card [nzExtra]="cardTemplate" nzTitle="基本信息">
|
<nz-card [nzExtra]="cardTemplate" nzTitle="基本信息">
|
||||||
<ng-template #cardTemplate>
|
<ng-template #cardTemplate>
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading">保存</button>
|
<button nz-button nzType="primary" [nzLoading]="false">保存</button>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<div nz-row nzGutter="8">
|
<div nz-row nzGutter="8">
|
||||||
@ -18,7 +18,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<st #st [data]="data" [columns]="columns" [page]="{ show: false}" [loading]="service.http.loading" size="small"
|
<st #st [data]="data" [columns]="columns" [page]="{ show: false}" [loading]="false" size="small"
|
||||||
[scroll]="{ y: '370px' }" class="mt-sm">
|
[scroll]="{ y: '370px' }" class="mt-sm">
|
||||||
<ng-template st-row="description1" let-item let-index="index">
|
<ng-template st-row="description1" let-item let-index="index">
|
||||||
<nz-select [ngModel]="item.description" (ngModelChange)="st.setRow(index, { description: $event })"
|
<nz-select [ngModel]="item.description" (ngModelChange)="st.setRow(index, { description: $event })"
|
||||||
|
|||||||
@ -10,7 +10,6 @@ import { FreightAccountService } from '../../../services/freight-account.service
|
|||||||
styleUrls: ['./expenses-payable.component.less']
|
styleUrls: ['./expenses-payable.component.less']
|
||||||
})
|
})
|
||||||
export class ExpensesPayableComponent implements OnInit {
|
export class ExpensesPayableComponent implements OnInit {
|
||||||
|
|
||||||
@ViewChild('st', { static: true })
|
@ViewChild('st', { static: true })
|
||||||
st!: STComponent;
|
st!: STComponent;
|
||||||
@ViewChild('sf', { static: false })
|
@ViewChild('sf', { static: false })
|
||||||
@ -125,7 +124,12 @@ export class ExpensesPayableComponent implements OnInit {
|
|||||||
return [
|
return [
|
||||||
{ title: '结算客户', render: 'description1', width: 150 },
|
{ title: '结算客户', render: 'description1', width: 150 },
|
||||||
{ title: '费用科目', render: 'description2', width: 120 },
|
{ title: '费用科目', render: 'description2', width: 120 },
|
||||||
{ title: '税率', render: 'description3', width: 120 },
|
{
|
||||||
|
title: '税率',
|
||||||
|
render: 'description3',
|
||||||
|
width: 120,
|
||||||
|
format: item => `${item.description3 ? ((item.description3 as number) * 100).toFixed(2) : 0}%`
|
||||||
|
},
|
||||||
{ title: '应付金额', render: 'num', width: 120 },
|
{ title: '应付金额', render: 'num', width: 120 },
|
||||||
{ title: '备注', render: 'description5', width: 150 },
|
{ title: '备注', render: 'description5', width: 150 },
|
||||||
{
|
{
|
||||||
|
|||||||
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
<nz-card [nzExtra]="cardTemplate" nzTitle="基本信息">
|
<nz-card [nzExtra]="cardTemplate" nzTitle="基本信息">
|
||||||
<ng-template #cardTemplate>
|
<ng-template #cardTemplate>
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading">保存</button>
|
<button nz-button nzType="primary" [nzLoading]="false">保存</button>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<div nz-row nzGutter="8">
|
<div nz-row nzGutter="8">
|
||||||
@ -28,7 +28,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<st #st [data]="data" [columns]="columns" [page]="{ show: false}" [loading]="service.http.loading" size="small"
|
<st #st [data]="data" [columns]="columns" [page]="{ show: false}" [loading]="false" size="small"
|
||||||
[scroll]="{ y: '370px' }" class="mt-sm">
|
[scroll]="{ y: '370px' }" class="mt-sm">
|
||||||
<ng-template st-row="description1" let-item let-index="index">
|
<ng-template st-row="description1" let-item let-index="index">
|
||||||
<nz-select [ngModel]="item.description" (ngModelChange)="st.setRow(index, { description: $event })"
|
<nz-select [ngModel]="item.description" (ngModelChange)="st.setRow(index, { description: $event })"
|
||||||
|
|||||||
@ -124,7 +124,12 @@ export class ExpensesReceivableComponent implements OnInit {
|
|||||||
return [
|
return [
|
||||||
{ title: '结算客户', render: 'description1', width: 150 },
|
{ title: '结算客户', render: 'description1', width: 150 },
|
||||||
{ title: '费用科目', render: 'description2', width: 120 },
|
{ title: '费用科目', render: 'description2', width: 120 },
|
||||||
{ title: '税率', render: 'description3', width: 120 },
|
{
|
||||||
|
title: '税率',
|
||||||
|
render: 'description3',
|
||||||
|
width: 120,
|
||||||
|
format: item => `${item.description3 ? ((item.description3 as number) * 100).toFixed(2) : 0}%`
|
||||||
|
},
|
||||||
{ title: '应收金额', render: 'num', width: 120 },
|
{ title: '应收金额', render: 'num', width: 120 },
|
||||||
{ title: '备注', render: 'description5', width: 150 },
|
{ title: '备注', render: 'description5', width: 150 },
|
||||||
{
|
{
|
||||||
|
|||||||
@ -15,17 +15,17 @@
|
|||||||
</nz-statistic>
|
</nz-statistic>
|
||||||
</nz-col>
|
</nz-col>
|
||||||
<nz-col [nzXl]="5" [nzLg]="8" [nzSm]="12">
|
<nz-col [nzXl]="5" [nzLg]="8" [nzSm]="12">
|
||||||
<nz-statistic [nzValue]="(params?.availableBalance || 0)+'元' " [nzTitle]="'账户余额'"
|
<nz-statistic [nzValue]="((params?.availableBalance || 0) | currency)+'元' " [nzTitle]="'账户余额'"
|
||||||
[nzValueStyle]="{'font-size':'16px',color:'red'}">
|
[nzValueStyle]="{'font-size':'16px',color:'red'}">
|
||||||
</nz-statistic>
|
</nz-statistic>
|
||||||
</nz-col>
|
</nz-col>
|
||||||
<nz-col [nzXl]="5" [nzLg]="8" [nzSm]="12">
|
<nz-col [nzXl]="5" [nzLg]="8" [nzSm]="12">
|
||||||
<nz-statistic [nzValue]="(info?.incomeAmount || 0) +'元'" [nzTitle]="'收入金额'"
|
<nz-statistic [nzValue]="((info?.incomeAmount || 0) | currency) +'元'" [nzTitle]="'收入金额'"
|
||||||
[nzValueStyle]="{'font-size':'16px',color:'red'}">
|
[nzValueStyle]="{'font-size':'16px',color:'red'}">
|
||||||
</nz-statistic>
|
</nz-statistic>
|
||||||
</nz-col>
|
</nz-col>
|
||||||
<nz-col [nzXl]="5" [nzLg]="8" [nzSm]="12">
|
<nz-col [nzXl]="5" [nzLg]="8" [nzSm]="12">
|
||||||
<nz-statistic [nzValue]="(info?.payAmount || 0) +'元'" [nzTitle]="'支出金额'"
|
<nz-statistic [nzValue]="((info?.payAmount || 0)| currency) +'元'" [nzTitle]="'支出金额'"
|
||||||
[nzValueStyle]="{'font-size':'16px',color:'red'}">
|
[nzValueStyle]="{'font-size':'16px',color:'red'}">
|
||||||
</nz-statistic>
|
</nz-statistic>
|
||||||
</nz-col>
|
</nz-col>
|
||||||
@ -41,7 +41,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
||||||
class="text-right">
|
class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button (click)="exportList()"> 导出</button>
|
<button nz-button (click)="exportList()"> 导出</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
@ -57,5 +57,5 @@
|
|||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '300px' }" (change)="stChange($event)"></st>
|
[loading]="false" [scroll]="{ x:'1200px',y: '300px' }" (change)="stChange($event)"></st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -74,7 +74,7 @@ export class DriverAccountDetailComponent implements OnInit {
|
|||||||
stChange(e: STChange): void {}
|
stChange(e: STChange): void {}
|
||||||
|
|
||||||
exportList() {
|
exportList() {
|
||||||
this.service.downloadFile(this.service.$mock_url, { ...this.sf.value, pageIndex: this.st.pi, pageSize: this.st.ps });
|
this.service.downloadFile(this.service.$mock_url, { ...this.sf.value, pageSize: -1 });
|
||||||
}
|
}
|
||||||
|
|
||||||
goBack() {
|
goBack() {
|
||||||
|
|||||||
@ -10,7 +10,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
||||||
class="text-right">
|
class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button (click)="exportList()"> 导出</button>
|
<button nz-button (click)="exportList()"> 导出</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
@ -22,8 +22,8 @@
|
|||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-card class="content-box">
|
<nz-card class="content-box">
|
||||||
<st #st [data]="service.$api_get_driver_account_page" [columns]="columns" [req]="{ process: beforeReq }"
|
<st #st [data]="service.$api_get_driver_account_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
|
||||||
[loading]="service.http.loading" [scroll]="{ x: '1200px' }">
|
[loading]="false" [scroll]="{ x: '1200px' }">
|
||||||
<ng-template st-row="availableBalance" let-item let-index="index">
|
<ng-template st-row="availableBalance" let-item let-index="index">
|
||||||
<a (click)="showAccountDetail(item)">{{ (parseFloat(item.availableBalance) +
|
<a (click)="showAccountDetail(item)">{{ (parseFloat(item.availableBalance) +
|
||||||
parseFloat(item.freezeBalance)).toFixed(2) | currency}}</a>
|
parseFloat(item.freezeBalance)).toFixed(2) | currency}}</a>
|
||||||
|
|||||||
@ -74,7 +74,7 @@ export class DriverAccountComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
exportList() {
|
exportList() {
|
||||||
this.service.downloadFile(this.service.$mock_url, { ...this.sf.value, pageIndex: this.st.pi, pageSize: this.st.ps });
|
this.service.downloadFile(this.service.$mock_url, { ...this.sf.value, pageSize: -1 });
|
||||||
}
|
}
|
||||||
|
|
||||||
private initSF(): SFSchema {
|
private initSF(): SFSchema {
|
||||||
|
|||||||
@ -14,24 +14,24 @@
|
|||||||
</nz-statistic>
|
</nz-statistic>
|
||||||
</nz-col>
|
</nz-col>
|
||||||
<nz-col [nzXl]="5" [nzLg]="8" [nzSm]="12">
|
<nz-col [nzXl]="5" [nzLg]="8" [nzSm]="12">
|
||||||
<nz-statistic [nzValue]="params?.availableBalance+'元' " [nzTitle]="'账户余额'"
|
<nz-statistic [nzValue]="(params?.availableBalance | currency)+'元' " [nzTitle]="'账户余额'"
|
||||||
[nzValueStyle]="{'font-size':'16px',color:'red'}">
|
[nzValueStyle]="{'font-size':'16px',color:'red'}">
|
||||||
</nz-statistic>
|
</nz-statistic>
|
||||||
</nz-col>
|
</nz-col>
|
||||||
<nz-col [nzXl]="5" [nzLg]="8" [nzSm]="12">
|
<nz-col [nzXl]="5" [nzLg]="8" [nzSm]="12">
|
||||||
<nz-statistic [nzValue]="(info?.incomeAmount || 0) +'元'" [nzTitle]="'收入金额'"
|
<nz-statistic [nzValue]="((info?.incomeAmount | currency) || 0) +'元'" [nzTitle]="'收入金额'"
|
||||||
[nzValueStyle]="{'font-size':'16px',color:'red'}">
|
[nzValueStyle]="{'font-size':'16px',color:'red'}">
|
||||||
</nz-statistic>
|
</nz-statistic>
|
||||||
</nz-col>
|
</nz-col>
|
||||||
<nz-col [nzXl]="5" [nzLg]="8" [nzSm]="12">
|
<nz-col [nzXl]="5" [nzLg]="8" [nzSm]="12">
|
||||||
<nz-statistic [nzValue]="(info?.payAmount || 0) +'元'" [nzTitle]="'支出金额'"
|
<nz-statistic [nzValue]="((info?.payAmount | currency) || 0) +'元'" [nzTitle]="'支出金额'"
|
||||||
[nzValueStyle]="{'font-size':'16px',color:'red'}">
|
[nzValueStyle]="{'font-size':'16px',color:'red'}">
|
||||||
</nz-statistic>
|
</nz-statistic>
|
||||||
</nz-col>
|
</nz-col>
|
||||||
</nz-row>
|
</nz-row>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-card nzBordered>
|
<nz-card nzBordered>
|
||||||
<div nz-row nzGutter="8">
|
<div nz-row nzGutter="8">
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24">
|
<div nz-col [nzXl]="_$expand ? 24 : 18" [nzLg]="24" [nzSm]="24" [nzXs]="24">
|
||||||
<sf #sf [schema]="searchSchema"
|
<sf #sf [schema]="searchSchema"
|
||||||
@ -39,7 +39,7 @@
|
|||||||
[button]="'none'"></sf>
|
[button]="'none'"></sf>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading"
|
<button nz-button nzType="primary" [nzLoading]="false"
|
||||||
(click)="st?.load(1);loadInfo();">查询</button>
|
(click)="st?.load(1);loadInfo();">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button (click)="exportList()"> 导出</button>
|
<button nz-button (click)="exportList()"> 导出</button>
|
||||||
@ -56,5 +56,10 @@
|
|||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '300px' }" (change)="stChange($event)"></st>
|
[loading]="false" [scroll]="{ x:'1200px',y: '300px' }" (change)="stChange($event)"></st>
|
||||||
|
<div class="total-footer text-md" *ngIf="st?.list?.length !== 0 ">
|
||||||
|
合计 <label class="text-red-dark">{{ static?.total }}</label> 项,收入
|
||||||
|
<label class="text-red-dark font-weight-bold">{{ static?.incomeAmount | currency }}</label>,支出
|
||||||
|
<label class="text-red-dark font-weight-bold">{{static?.payAmount | currency }}</label>
|
||||||
|
</div>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -20,7 +20,7 @@ export class FreightAccountDetailComponent implements OnInit {
|
|||||||
|
|
||||||
info: any = {};
|
info: any = {};
|
||||||
params: any = {};
|
params: any = {};
|
||||||
|
static: any = {};
|
||||||
_$expand = false;
|
_$expand = false;
|
||||||
constructor(public service: FreightAccountService, private nzModalService: NzModalService, private route: ActivatedRoute) {
|
constructor(public service: FreightAccountService, private nzModalService: NzModalService, private route: ActivatedRoute) {
|
||||||
this.params = route.snapshot.queryParams;
|
this.params = route.snapshot.queryParams;
|
||||||
@ -46,6 +46,7 @@ export class FreightAccountDetailComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
this.loadStatistics(requestOptions.body);
|
||||||
return requestOptions;
|
return requestOptions;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -71,10 +72,18 @@ export class FreightAccountDetailComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
loadStatistics(params: any) {
|
||||||
|
this.service.request(this.service.$api_get_shipper_account_balance_detail, params).subscribe(res => {
|
||||||
|
if (res) {
|
||||||
|
this.static = res;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
stChange(e: STChange): void {}
|
stChange(e: STChange): void {}
|
||||||
|
|
||||||
exportList() {
|
exportList() {
|
||||||
this.service.downloadFile(this.service.$mock_url, { ...this.sf.value, pageIndex: this.st.pi, pageSize: this.st.ps });
|
this.service.downloadFile(this.service.$mock_url, { ...this.sf.value, pageSize: -1 });
|
||||||
}
|
}
|
||||||
|
|
||||||
goBack() {
|
goBack() {
|
||||||
@ -186,12 +195,15 @@ export class FreightAccountDetailComponent implements OnInit {
|
|||||||
|
|
||||||
private initST(): STColumn[] {
|
private initST(): STColumn[] {
|
||||||
return [
|
return [
|
||||||
{ title: '交易时间', index: 'createTime', type: 'date' },
|
{ title: '交易时间', index: 'createTime', type: 'date', width: 170 },
|
||||||
{ title: '流水号', index: 'transactionNumber' },
|
{ title: '流水号', index: 'transactionNumber', width: 170 },
|
||||||
{ title: '交易类型', index: 'tradeTypeLabel', className: 'text-center' },
|
{ title: '交易类型', index: 'tradeTypeLabel', className: 'text-center', width: 140 },
|
||||||
{ title: '关联单号', index: 'businessNumber' },
|
{ title: '交易单号', index: 'businessNumber', width: 170 },
|
||||||
{ title: '所属项目', index: 'projectId' },
|
{ title: '订单号', index: 'orderSn', width: 170 },
|
||||||
{ title: '收支类型', index: 'incomeTypeLabel', className: 'text-center' },
|
{ title: '运单号', index: 'transportSn', width: 170 },
|
||||||
|
{ title: '货主', index: 'enterpriseName' , width: 170},
|
||||||
|
{ title: '所属项目', index: 'projectName' , width: 170},
|
||||||
|
{ title: '收支类型', index: 'incomeTypeLabel', className: 'text-center', width: 140 },
|
||||||
{
|
{
|
||||||
title: '交易金额',
|
title: '交易金额',
|
||||||
index: 'amount',
|
index: 'amount',
|
||||||
@ -207,7 +219,10 @@ export class FreightAccountDetailComponent implements OnInit {
|
|||||||
type: 'widget',
|
type: 'widget',
|
||||||
className: 'text-right',
|
className: 'text-right',
|
||||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.accountBalance }) }
|
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.accountBalance }) }
|
||||||
}
|
},
|
||||||
|
{ title: '付款方', index: 'payName' , width: 170},
|
||||||
|
{ title: '收款方', index: 'payeeName', width: 170 },
|
||||||
|
{ title: '备注', index: 'tradeContent', width: 170 }
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,7 +10,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
||||||
class="text-right">
|
class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button (click)="exportList()"> 导出</button>
|
<button nz-button (click)="exportList()"> 导出</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
@ -22,8 +22,8 @@
|
|||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-card class="content-box">
|
<nz-card class="content-box">
|
||||||
<st #st [data]="service.$api_get_shipper_account_page" [columns]="columns" [req]="{ process: beforeReq }"
|
<st #st [data]="service.$api_get_shipper_account_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
|
||||||
[loading]="service.http.loading" [scroll]="{ x: '1200px' }">
|
[loading]="false" [scroll]="{ x: '1200px' }">
|
||||||
<ng-template st-row="description" let-item let-index="index">
|
<ng-template st-row="description" let-item let-index="index">
|
||||||
<a (click)="showAccountDetail(item)">{{ (parseFloat(item.availableBalance) +
|
<a (click)="showAccountDetail(item)">{{ (parseFloat(item.availableBalance) +
|
||||||
parseFloat(item.freezeBalance)).toFixed(2) | currency}}</a>
|
parseFloat(item.freezeBalance)).toFixed(2) | currency}}</a>
|
||||||
|
|||||||
@ -80,7 +80,7 @@ export class FreightAccountComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
exportList() {
|
exportList() {
|
||||||
this.service.downloadFile(this.service.$mock_url, { ...this.sf.value, pageIndex: this.st.pi, pageSize: this.st.ps });
|
this.service.downloadFile(this.service.$mock_url, { ...this.sf.value, pageSize: -1 });
|
||||||
}
|
}
|
||||||
|
|
||||||
private initSF(): SFSchema {
|
private initSF(): SFSchema {
|
||||||
@ -167,11 +167,11 @@ export class FreightAccountComponent implements OnInit {
|
|||||||
|
|
||||||
private initST(): STColumn[] {
|
private initST(): STColumn[] {
|
||||||
return [
|
return [
|
||||||
{ title: '企业名称', width: 140, index: 'tenantName' },
|
{ title: '企业名称', width: 170, index: 'tenantName' },
|
||||||
{ title: '联系人', width: 120, index: 'name' },
|
{ title: '联系人', width: 120, index: 'name' },
|
||||||
{ title: '联系人电话', width: 140, index: 'phone' },
|
{ title: '联系人电话', width: 140, index: 'phone' },
|
||||||
{ title: '网络货运人', width: 140, index: 'ltdName' },
|
{ title: '网络货运人', width: 170, index: 'ltdName' },
|
||||||
{ title: '银行类型',width: 120, index: 'bankTypeLabel' },
|
{ title: '银行类型', width: 120, index: 'bankTypeLabel' },
|
||||||
{ title: '虚拟账户', width: 140, index: 'virtualAccount' },
|
{ title: '虚拟账户', width: 140, index: 'virtualAccount' },
|
||||||
{
|
{
|
||||||
title: '可用余额',
|
title: '可用余额',
|
||||||
@ -199,7 +199,7 @@ export class FreightAccountComponent implements OnInit {
|
|||||||
{
|
{
|
||||||
title: '状态',
|
title: '状态',
|
||||||
index: 'stateDeletedLabel',
|
index: 'stateDeletedLabel',
|
||||||
width: 80,
|
width: 80
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
|
|||||||
@ -40,7 +40,7 @@
|
|||||||
{{headerInfo?.driver2IdName}}
|
{{headerInfo?.driver2IdName}}
|
||||||
</se>
|
</se>
|
||||||
<se label="收款账户" required>
|
<se label="收款账户" required>
|
||||||
{{headerInfo?.ltdaccount}}
|
{{headerInfo?.ltdaccountId}}
|
||||||
</se>
|
</se>
|
||||||
<se label="应付金额">
|
<se label="应付金额">
|
||||||
{{headerInfo?.prmoney | currency}}
|
{{headerInfo?.prmoney | currency}}
|
||||||
@ -72,7 +72,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
||||||
class="text-right">
|
class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
{{ !_$expand ? '展开' : '收起' }}
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
@ -87,7 +87,7 @@
|
|||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '200px' }">
|
[loading]="false" [scroll]="{ x:'1200px',y: '200px' }">
|
||||||
<ng-template st-row="no" let-item let-index="index" let-column="column">
|
<ng-template st-row="no" let-item let-index="index" let-column="column">
|
||||||
{{index+1}}
|
{{index+1}}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|||||||
@ -41,7 +41,7 @@ export class PayableOrderDetailComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
beforeReq = (requestOptions: STRequestOptions) => {
|
beforeReq = (requestOptions: STRequestOptions) => {
|
||||||
Object.assign(requestOptions.body, { billHId: this.billHId });
|
Object.assign(requestOptions.body, { phxHId: this.billHId });
|
||||||
if (this.sf) {
|
if (this.sf) {
|
||||||
Object.assign(requestOptions.body, {
|
Object.assign(requestOptions.body, {
|
||||||
...this.sf.value,
|
...this.sf.value,
|
||||||
@ -159,14 +159,14 @@ export class PayableOrderDetailComponent implements OnInit {
|
|||||||
private initST(): STColumn[] {
|
private initST(): STColumn[] {
|
||||||
return [
|
return [
|
||||||
{ title: '序号', render: 'no', width: 80 },
|
{ title: '序号', render: 'no', width: 80 },
|
||||||
{ title: '费用号', index: 'feeHCode', width: 100 },
|
{ title: '费用号', index: 'feeHCode', width: 140 },
|
||||||
{ title: '费用日期', index: 'feedate', type: 'date', width: 150 },
|
{ title: '费用日期', index: 'feedate', type: 'date', width: 150 },
|
||||||
{ title: '订单号', index: 'billHCode', width: 100 },
|
{ title: '订单号', index: 'billHCode', width: 140 },
|
||||||
{ title: '订单日期', index: 'billTime', width: 150 },
|
{ title: '订单日期', index: 'billTime', width: 150 },
|
||||||
{ title: '费用类型', index: 'feetype', width: 90 },
|
{ title: '费用类型', index: 'feetype', width: 90 },
|
||||||
{ title: '订单费用科目', index: 'billLTypeLabel', width: 100 },
|
{ title: '订单费用科目', index: 'billLTypeLabel', width: 100 },
|
||||||
{ title: '费用科目', index: 'feeSubIdName', width: 140 },
|
{ title: '费用科目', index: 'feeSubIdName', width: 140 },
|
||||||
{ title: '结算客户', index: 'cnoName', width: 100 },
|
{ title: '结算客户', index: 'cnoName', width: 140 },
|
||||||
{
|
{
|
||||||
title: '已收金额',
|
title: '已收金额',
|
||||||
index: 'phxmoney',
|
index: 'phxmoney',
|
||||||
|
|||||||
@ -20,10 +20,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right"
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right"
|
||||||
[class.expend-options]="_$expand">
|
[class.expend-options]="_$expand">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button [disabled]="service.http.loading" (click)="resetSF()">重置</button>
|
<button nz-button [disabled]="false" (click)="resetSF()">重置</button>
|
||||||
<!-- <button nz-button [disabled]="service.http.loading"> 导出</button>
|
<!-- <button nz-button [disabled]="false"> 导出</button>
|
||||||
<button nz-button [disabled]="service.http.loading"> 导出核销</button> -->
|
<button nz-button [disabled]="false"> 导出核销</button> -->
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
{{ !_$expand ? '展开' : '收起' }}
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
||||||
@ -33,7 +33,7 @@
|
|||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-card class="content-box" nzBordered>
|
<nz-card class="content-box" nzBordered>
|
||||||
<st #st [data]="service.$api_get_fico_ph_page" [columns]="columns" [req]="{ process: beforeReq }"
|
<st #st [data]="service.$api_get_fico_ph_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
|
||||||
[loading]="service.http.loading" [scroll]="{ x:'1200px' }" (change)="stChange($event)">
|
[loading]="false" [scroll]="{ x:'1200px' }" (change)="stChange($event)">
|
||||||
</st>
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -4,8 +4,6 @@ import { Router } from '@angular/router';
|
|||||||
import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st';
|
import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st';
|
||||||
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
|
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
|
||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
import { AddCollectionInvoiceModalComponent } from 'src/app/routes/ticket-management/components/input-invoice/add-collection-invoice-modal/add-collection-invoice-modal.component';
|
|
||||||
import { TicketService } from 'src/app/routes/ticket-management/services/ticket.service';
|
|
||||||
import { FreightAccountService } from '../../services/freight-account.service';
|
import { FreightAccountService } from '../../services/freight-account.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -229,10 +227,10 @@ export class PayableOrderComponent implements OnInit {
|
|||||||
return [
|
return [
|
||||||
{ title: '', index: 'key', type: 'checkbox' },
|
{ title: '', index: 'key', type: 'checkbox' },
|
||||||
{ title: '核销单号', index: 'phxcode', type: 'link', width: 140 },
|
{ title: '核销单号', index: 'phxcode', type: 'link', width: 140 },
|
||||||
{ title: '网络货运人', index: 'ltdName', width: 140 },
|
{ title: '网络货运人', index: 'ltdName', width: 160 },
|
||||||
{ title: '核销日期', index: 'phxdate', type: 'date', width: 160 },
|
{ title: '核销日期', index: 'phxdate', type: 'date', width: 160 },
|
||||||
{ title: '付款账户', index: 'shipperaccount', width: 120 },
|
{ title: '付款账户', index: 'shipperaccount', width: 170 },
|
||||||
{ title: '收款账户', index: 'ltdaccount', width: 120 },
|
{ title: '收款账户', index: 'ltdaccountId', width: 170 },
|
||||||
{
|
{
|
||||||
title: '核销金额',
|
title: '核销金额',
|
||||||
index: 'phxmoney',
|
index: 'phxmoney',
|
||||||
@ -253,7 +251,7 @@ export class PayableOrderComponent implements OnInit {
|
|||||||
{ title: '结算客户', index: 'cno', width: 120 },
|
{ title: '结算客户', index: 'cno', width: 120 },
|
||||||
{ title: '银行水单', index: 'bankreceipt', width: 120 },
|
{ title: '银行水单', index: 'bankreceipt', width: 120 },
|
||||||
{ title: '创建时间', index: 'createTime', width: 160 },
|
{ title: '创建时间', index: 'createTime', width: 160 },
|
||||||
{ title: '创建人', index: 'createUserIdLabel', width: 120 },
|
// { title: '创建人', index: 'createUserIdLabel', width: 120 },
|
||||||
{ title: '核销状态', index: 'sts', type: 'enum', enum: { 0: '待核销', 1: '已核销' }, width: 120 },
|
{ title: '核销状态', index: 'sts', type: 'enum', enum: { 0: '待核销', 1: '已核销' }, width: 120 },
|
||||||
{ title: '核销备注', index: 'remarks', width: 120 },
|
{ title: '核销备注', index: 'remarks', width: 120 },
|
||||||
{
|
{
|
||||||
@ -265,7 +263,7 @@ export class PayableOrderComponent implements OnInit {
|
|||||||
{
|
{
|
||||||
text: '浏览',
|
text: '浏览',
|
||||||
click: item =>
|
click: item =>
|
||||||
this.router.navigate(['/financial-management/payable-order/detail/' + item.id], { queryParams: { billHId: item.billHId } })
|
this.router.navigate(['/financial-management/payable-order/detail/' + item.id], { queryParams: { billHId: item.id } })
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,7 +29,7 @@
|
|||||||
{{headerInfo?.ltdAccountId}}
|
{{headerInfo?.ltdAccountId}}
|
||||||
</se>
|
</se>
|
||||||
<se label="应付已核销" required>
|
<se label="应付已核销" required>
|
||||||
{{headerInfo?.payMoney}}
|
{{headerInfo?.payMoney | currency}}
|
||||||
</se>
|
</se>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="8" [nzLg]="8" [nzSm]="8" [nzXs]="8" se-container [labelWidth]="150" col="1">
|
<div nz-col [nzXl]="8" [nzLg]="8" [nzSm]="8" [nzXs]="8" se-container [labelWidth]="150" col="1">
|
||||||
@ -37,7 +37,7 @@
|
|||||||
{{headerInfo?.payDate}}
|
{{headerInfo?.payDate}}
|
||||||
</se>
|
</se>
|
||||||
<se label="收款账户" required>
|
<se label="收款账户" required>
|
||||||
{{headerInfo?.payBankTypeLabel}}
|
{{headerInfo?.hrBankName}} - {{headerInfo?.hrBankNo}}
|
||||||
</se>
|
</se>
|
||||||
<se label="确认日期" required>
|
<se label="确认日期" required>
|
||||||
{{headerInfo?.payDate}}
|
{{headerInfo?.payDate}}
|
||||||
@ -51,7 +51,7 @@
|
|||||||
{{headerInfo?.payModeLabel}}
|
{{headerInfo?.payModeLabel}}
|
||||||
</se>
|
</se>
|
||||||
<se label="付款类型" required>
|
<se label="付款类型" required>
|
||||||
{{headerInfo?.payType}}
|
{{headerInfo?.payTypeLabel}}
|
||||||
</se>
|
</se>
|
||||||
<se label="付款金额" required>
|
<se label="付款金额" required>
|
||||||
{{headerInfo?.payMoney |currency}}
|
{{headerInfo?.payMoney |currency}}
|
||||||
@ -69,7 +69,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
||||||
class="text-right">
|
class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
{{ !_$expand ? '展开' : '收起' }}
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
@ -84,7 +84,7 @@
|
|||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '200px' }">
|
[loading]="false" [scroll]="{ x:'1200px',y: '200px' }">
|
||||||
<ng-template st-row="billHCode" let-item let-index="index" let-column="column">
|
<ng-template st-row="billHCode" let-item let-index="index" let-column="column">
|
||||||
{{index+1}}
|
{{index+1}}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|||||||
@ -8,9 +8,8 @@
|
|||||||
[ui]="{ '*': { spanLabelFixed: 110,grid: { lg: 8, md: 12, sm: 12, xs: 24 } }}" [compact]="true"
|
[ui]="{ '*': { spanLabelFixed: 110,grid: { lg: 8, md: 12, sm: 12, xs: 24 } }}" [compact]="true"
|
||||||
[button]="'none'"></sf>
|
[button]="'none'"></sf>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 7" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right"
|
<div nz-col [nzXl]="_$expand ? 24 : 7" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
|
||||||
[class.expend-options]="_$expand">
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<!-- <button nz-button nzType="primary" > 导出</button>
|
<!-- <button nz-button nzType="primary" > 导出</button>
|
||||||
<button nz-button nzType="primary" > 导出明细</button> -->
|
<button nz-button nzType="primary" > 导出明细</button> -->
|
||||||
@ -34,7 +33,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<st #st [data]="service.$api_get_payment_page" [columns]="columns" [req]="{ process: beforeReq }"
|
<st #st [data]="service.$api_get_payment_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
|
||||||
[loading]="service.http.loading" [scroll]="{ x:'1200px' }" (change)="stChange($event)">
|
[loading]="false" [scroll]="{ x:'1200px' }" (change)="stChange($event)">
|
||||||
</st>
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -108,16 +108,16 @@ export class PaymentOrderComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
default: null
|
default: null
|
||||||
},
|
},
|
||||||
orderS2n: {
|
// orderS2n: {
|
||||||
type: 'string',
|
// type: 'string',
|
||||||
title: '付款状态',
|
// title: '付款状态',
|
||||||
ui: {
|
// ui: {
|
||||||
widget: 'dict-select',
|
// widget: 'dict-select',
|
||||||
containsAllLabel: true,
|
// containsAllLable: true,
|
||||||
params: { dictKey: 'refund:apply:status' },
|
// params: { dictKey: 'refund:apply:status' },
|
||||||
placeholder: '请选择'
|
// placeholder: '请选择'
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
paytype: {
|
paytype: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '付款类型',
|
title: '付款类型',
|
||||||
@ -126,9 +126,6 @@ export class PaymentOrderComponent implements OnInit {
|
|||||||
containsAllLabel: true,
|
containsAllLabel: true,
|
||||||
params: { dictKey: 'pay:type' },
|
params: { dictKey: 'pay:type' },
|
||||||
placeholder: '请选择',
|
placeholder: '请选择',
|
||||||
visibleIf: {
|
|
||||||
expand: (value: boolean) => value
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
paymode: {
|
paymode: {
|
||||||
@ -237,7 +234,7 @@ export class PaymentOrderComponent implements OnInit {
|
|||||||
return [
|
return [
|
||||||
{ title: '', index: 'key', type: 'checkbox', fixed: 'left', className: 'text-center' },
|
{ title: '', index: 'key', type: 'checkbox', fixed: 'left', className: 'text-center' },
|
||||||
{ title: '付款单号', index: 'payCode', type: 'link', width: 180 },
|
{ title: '付款单号', index: 'payCode', type: 'link', width: 180 },
|
||||||
{ title: '网络货运人', index: 'ltdName', width: 160 },
|
{ title: '网络货运人', index: 'ltdName', width: 180 },
|
||||||
{ title: '要求付款日期', index: 'payDate', type: 'date', className: 'text-center', width: 150 },
|
{ title: '要求付款日期', index: 'payDate', type: 'date', className: 'text-center', width: 150 },
|
||||||
{
|
{
|
||||||
title: '付款金额',
|
title: '付款金额',
|
||||||
@ -252,7 +249,7 @@ export class PaymentOrderComponent implements OnInit {
|
|||||||
{ title: '结算客户', index: 'cnoName', width: 160 },
|
{ title: '结算客户', index: 'cnoName', width: 160 },
|
||||||
{ title: '收款人', index: 'hrToLabel', width: 150 },
|
{ title: '收款人', index: 'hrToLabel', width: 150 },
|
||||||
{ title: '应付已核销', index: 'ishrhxLabel', width: 150 },
|
{ title: '应付已核销', index: 'ishrhxLabel', width: 150 },
|
||||||
{ title: '确认日期', index: 'payDate', type: 'date', className: 'text-center', width: 150 },
|
{ title: '确认日期', index: 'payDate2', type: 'date', className: 'text-center', width: 150 },
|
||||||
{ title: '创建时间', index: 'payDate', type: 'date', className: 'text-center', width: 150 },
|
{ title: '创建时间', index: 'payDate', type: 'date', className: 'text-center', width: 150 },
|
||||||
{ title: '创建人', index: 'createUserIdLabel', width: 160 },
|
{ title: '创建人', index: 'createUserIdLabel', width: 160 },
|
||||||
{ title: '付款备注', index: 'payRemarks', width: 200 },
|
{ title: '付款备注', index: 'payRemarks', width: 200 },
|
||||||
|
|||||||
@ -1,3 +1,13 @@
|
|||||||
|
<!--
|
||||||
|
* @Description :
|
||||||
|
* @Version : 1.0
|
||||||
|
* @Author : Shiming
|
||||||
|
* @Date : 2022-03-21 14:19:21
|
||||||
|
* @LastEditors : Shiming
|
||||||
|
* @LastEditTime : 2022-03-21 15:03:40
|
||||||
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\financial-management\\components\\payment-record\\payment-record.component.html
|
||||||
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
|
-->
|
||||||
<page-header-wrapper [title]="'支付记录'">
|
<page-header-wrapper [title]="'支付记录'">
|
||||||
</page-header-wrapper>
|
</page-header-wrapper>
|
||||||
|
|
||||||
@ -10,7 +20,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
||||||
class="text-right">
|
class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button> 导出</button>
|
<button nz-button> 导出</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
@ -30,28 +40,27 @@
|
|||||||
<nz-tab nzTitle="支付失败" (nzClick)="changePaymentStatus('5')"></nz-tab>
|
<nz-tab nzTitle="支付失败" (nzClick)="changePaymentStatus('5')"></nz-tab>
|
||||||
</nz-tabset>
|
</nz-tabset>
|
||||||
|
|
||||||
<st #st [data]="service.$api_get_order_payment_page" [columns]="columns" [req]="{ process: beforeReq }"
|
<st #st [data]="service.$api_get_order_payment_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
|
||||||
[loading]="service.http.loading" [scroll]="{ x:'1200px' }">
|
[loading]="false" [scroll]="{ x:'1200px' }">
|
||||||
<ng-template st-row="orderPaymentCode" let-item let-index="index" let-column="column">
|
<ng-template st-row="orderPaymentCode" let-item let-index="index" let-column="column">
|
||||||
{{ item.orderPaymentCode }} <br> <a>{{ item.paymentStatusLabel }}</a>
|
{{ item?.orderPaymentCode }} <br> <a>{{ item?.paymentStatusLabel }}</a>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="amountDetails" let-item let-index="index" let-column="column">
|
<ng-template st-row="amountDetails" let-item let-index="index" let-column="column">
|
||||||
预付:¥{{ item.price }}<br />
|
<ng-container *ngFor="let detail of item?.amountDetails">
|
||||||
<ng-container *ngIf="item.payType==='1'">
|
{{detail.costName}}:{{ detail.price | currency }}<br />
|
||||||
附加费:¥ {{ item.surcharge }}
|
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="billCode" let-item let-index="index" let-column="column">
|
<ng-template st-row="billCode" let-item let-index="index" let-column="column">
|
||||||
{{ item.billCode }} <br> {{item.billStatusLabel }}
|
{{ item?.billCode }} <br> {{item?.billStatusLabel }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="wayBillCode" let-item let-index="index" let-column="column">
|
<ng-template st-row="wayBillCode" let-item let-index="index" let-column="column">
|
||||||
{{ item.wayBillCode }} <br> {{item.wayBillStatusLabel }}
|
{{ item?.wayBillCode }} <br> {{item?.wayBillStatusLabel }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="driverId" let-item let-index="index" let-column="column">
|
<ng-template st-row="driverId" let-item let-index="index" let-column="column">
|
||||||
{{ item.driverName }} <br> {{ item.driverTelephone }} <br> {{ item.driverLicensePlate }}
|
{{ item?.driverName }} <br> {{ item?.driverTelephone }} {{ item?.driverLicencePlate }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="captainName" let-item let-index="index" let-column="column">
|
<ng-template st-row="captainName" let-item let-index="index" let-column="column">
|
||||||
{{ item.captainName }} <br> {{ item.captainTelephone }}
|
{{ item?.captainName }} <br> {{ item?.captainTelephone }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
</st>
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -82,7 +82,7 @@ export class PaymentRecordComponent implements OnInit {
|
|||||||
hidden: true
|
hidden: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
orderSn: {
|
orderPaymentCode: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '支付编号',
|
title: '支付编号',
|
||||||
ui: {
|
ui: {
|
||||||
@ -166,9 +166,9 @@ export class PaymentRecordComponent implements OnInit {
|
|||||||
payType: {
|
payType: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '支付类型',
|
title: '支付类型',
|
||||||
enum: [{ label: '全部', value: '' }],
|
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'dict-select',
|
||||||
|
params: { dictKey: 'paybill:type' },
|
||||||
placeholder: '请选择',
|
placeholder: '请选择',
|
||||||
visibleIf: {
|
visibleIf: {
|
||||||
expand: (value: boolean) => value
|
expand: (value: boolean) => value
|
||||||
@ -238,11 +238,11 @@ export class PaymentRecordComponent implements OnInit {
|
|||||||
|
|
||||||
private initST(): STColumn[] {
|
private initST(): STColumn[] {
|
||||||
return [
|
return [
|
||||||
{ title: '支付编号', render: 'orderPaymentCode', width: 180 },
|
{ title: '支付编号', render: 'orderPaymentCode', width: 200 },
|
||||||
{
|
{
|
||||||
title: '支付金额',
|
title: '支付金额',
|
||||||
render: 'payAmount',
|
render: 'payAmount',
|
||||||
width: 120,
|
width: 140,
|
||||||
type: 'widget',
|
type: 'widget',
|
||||||
className: 'text-right',
|
className: 'text-right',
|
||||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.payAmount }) }
|
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.payAmount }) }
|
||||||
@ -250,40 +250,40 @@ export class PaymentRecordComponent implements OnInit {
|
|||||||
{
|
{
|
||||||
title: '运费明细',
|
title: '运费明细',
|
||||||
render: 'amountDetails',
|
render: 'amountDetails',
|
||||||
width: 150,
|
width: 160
|
||||||
format: item => {
|
// format: item => {
|
||||||
let surcharge = 0;
|
// (item.amountDetails as Array<any>).forEach(detail => {
|
||||||
(item.amountDetails as Array<any>).forEach(detail => {
|
// detail.surcharge = detail.price + (detail.surcharge || 0);
|
||||||
surcharge += detail.surcharge || 0;
|
// });
|
||||||
});
|
// console.log(item.amountDetails);
|
||||||
item.surcharge = surcharge;
|
|
||||||
item.price = item.amountDetails?.[0]?.price || 0;
|
// return '';
|
||||||
return '';
|
// }
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '支付类型',
|
title: '支付类型',
|
||||||
index: 'payTypeLabel',
|
index: 'payTypeLabel',
|
||||||
width: 130
|
width: 140
|
||||||
},
|
},
|
||||||
{ title: '货主', index: 'enterpriseInfoName', width: 160 },
|
{ title: '货主', index: 'enterpriseInfoName', width: 180 },
|
||||||
{ title: '订单号', render: 'billCode', width: 160 },
|
{ title: '订单号', render: 'billCode', width: 170 },
|
||||||
{ title: '运单号', render: 'wayBillCode', width: 160 },
|
{ title: '运单号', render: 'wayBillCode', width: 170 },
|
||||||
{ title: '货源编号', index: 'resourceCode', width: 160 },
|
{ title: '货源编号', index: 'resourceCode', width: 160 },
|
||||||
{
|
{
|
||||||
title: '服务类型',
|
title: '服务类型',
|
||||||
index: 'serviceTypeLabel',
|
index: 'serviceTypeLabel',
|
||||||
width: 150
|
width: 150
|
||||||
},
|
},
|
||||||
{ title: '承运司机', render: 'driverId', width: 120 },
|
{ title: '承运司机', render: 'driverId', width: 140 },
|
||||||
{ title: '收款人', render: 'captainName', width: 120 },
|
{ title: '收款人', render: 'captainName', width: 140 },
|
||||||
{ title: '银行类型', index: 'bankType', width: 150, type: 'enum', enum: { 1: '平安银行', 2: '浦发银行' } },
|
{ title: '银行类型', index: 'bankType', width: 150, type: 'enum', enum: { 1: '平安银行', 2: '浦发银行' } },
|
||||||
{ title: '网络货运人', index: 'ltdName', width: 160 },
|
{ title: '网络货运人', index: 'ltdName', width: 160 },
|
||||||
{ title: '申请时间', index: 'applyTime', width: 160 },
|
{ title: '申请时间', index: 'applyTime', width: 160 },
|
||||||
{ title: '申请人', index: 'applyUserName', width: 90 },
|
{ title: '申请人', index: 'applyUserName', width: 90 },
|
||||||
{ title: '处理时间', index: 'handlerTime', width: 180 },
|
{ title: '处理时间', index: 'handlerTime', width: 180 },
|
||||||
{ title: '处理人', index: 'handlerUserName', width: 90 },
|
{ title: '处理人', index: 'handlerUserName', width: 90 },
|
||||||
{ title: '失败原因', index: 'failCause', width: 250 },
|
{ title: '退款状态', index: 'refundStatusLabel', width: 220 },
|
||||||
|
{ title: '备注', index: 'failCause', width: 250 },
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
|
|||||||
@ -51,7 +51,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
||||||
class="text-right">
|
class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button (click)="exportList()"> 导出</button>
|
<button nz-button (click)="exportList()"> 导出</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
@ -64,5 +64,5 @@
|
|||||||
|
|
||||||
<nz-card nzBordered>
|
<nz-card nzBordered>
|
||||||
<st #st [data]="service.$api_get_platform_account_detail_page" [columns]="columns" [req]="{ process: beforeReq }"
|
<st #st [data]="service.$api_get_platform_account_detail_page" [columns]="columns" [req]="{ process: beforeReq }"
|
||||||
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '300px' }" (change)="stChange($event)"></st>
|
[loading]="false" [scroll]="{ x:'1200px',y: '300px' }" (change)="stChange($event)"></st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -2,6 +2,7 @@ import { Component, OnInit, ViewChild } from '@angular/core';
|
|||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st';
|
import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st';
|
||||||
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
|
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
|
||||||
|
|
||||||
import { FreightAccountService } from '../../../services/freight-account.service';
|
import { FreightAccountService } from '../../../services/freight-account.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -65,7 +66,7 @@ export class PlatformAccountDetailComponent implements OnInit {
|
|||||||
stChange(e: STChange): void {}
|
stChange(e: STChange): void {}
|
||||||
|
|
||||||
exportList() {
|
exportList() {
|
||||||
this.service.downloadFile(this.service.$mock_url, { ...this.sf.value, pageIndex: this.st.pi, pageSize: this.st.ps });
|
this.service.downloadFile(this.service.$mock_url, { ...this.sf.value, pageSize: -1 });
|
||||||
}
|
}
|
||||||
|
|
||||||
goBack() {
|
goBack() {
|
||||||
@ -134,6 +135,24 @@ export class PlatformAccountDetailComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
default: ''
|
default: ''
|
||||||
},
|
},
|
||||||
|
channelSource: {
|
||||||
|
type: 'string',
|
||||||
|
title: '账户类型',
|
||||||
|
enum: [
|
||||||
|
{ value: '', label: '全部' },
|
||||||
|
{ value: '1', label: '货主账户' },
|
||||||
|
{ value: '2', label: '司机账户' },
|
||||||
|
{ value: '3', label: '运营商账户' }
|
||||||
|
],
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
placeholder: '请选择',
|
||||||
|
visibleIf: {
|
||||||
|
expand: (value: boolean) => value
|
||||||
|
}
|
||||||
|
},
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
incomeType: {
|
incomeType: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '收支类型',
|
title: '收支类型',
|
||||||
|
|||||||
@ -44,7 +44,7 @@
|
|||||||
[button]="'none'"></sf>
|
[button]="'none'"></sf>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
|
<div nz-col [nzXl]="6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button> 导出</button>
|
<button nz-button> 导出</button>
|
||||||
</div>
|
</div>
|
||||||
@ -53,6 +53,12 @@
|
|||||||
|
|
||||||
<nz-card class="content-box">
|
<nz-card class="content-box">
|
||||||
<st #st [data]="service.$api_get_platform_account_page" [columns]="columns" [req]="{ process: beforeReq }"
|
<st #st [data]="service.$api_get_platform_account_page" [columns]="columns" [req]="{ process: beforeReq }"
|
||||||
[scroll]="{ x: '1200px' }" [loading]="service.http.loading">
|
[page]="{}" [scroll]="{ x: '1200px' }" [loading]="false">
|
||||||
</st>
|
</st>
|
||||||
|
<div class="total-footer text-md" *ngIf="st?.list?.length !== 0 ">
|
||||||
|
合计 <label class="text-red-dark">{{ static?.total }}</label> 项,收入
|
||||||
|
<label class="text-red-dark font-weight-bold">{{ static?.incomeAmount | currency }}</label>,支出
|
||||||
|
<label class="text-red-dark font-weight-bold">{{static?.payAmount | currency }}</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -19,6 +19,8 @@ export class PlatformAccountComponent implements OnInit {
|
|||||||
columns: STColumn[] = this.initST();
|
columns: STColumn[] = this.initST();
|
||||||
|
|
||||||
info: any = {};
|
info: any = {};
|
||||||
|
|
||||||
|
static: any = {};
|
||||||
constructor(public service: FreightAccountService, private router: Router, private nzModalService: NzModalService) {}
|
constructor(public service: FreightAccountService, private router: Router, private nzModalService: NzModalService) {}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
@ -29,6 +31,7 @@ export class PlatformAccountComponent implements OnInit {
|
|||||||
if (this.sf) {
|
if (this.sf) {
|
||||||
Object.assign(requestOptions.body, { ...this.sf.value });
|
Object.assign(requestOptions.body, { ...this.sf.value });
|
||||||
}
|
}
|
||||||
|
this.loadStatistics(requestOptions.body);
|
||||||
return requestOptions;
|
return requestOptions;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -44,6 +47,14 @@ export class PlatformAccountComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
loadStatistics(params: any) {
|
||||||
|
this.service.request(this.service.$api_get_platform_account_statistics, params).subscribe(res => {
|
||||||
|
if (res) {
|
||||||
|
this.static = res;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 重置表单
|
* 重置表单
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -62,7 +62,7 @@
|
|||||||
<nz-tabset>
|
<nz-tabset>
|
||||||
<!-- <nz-tab nzTitle="核销信息">
|
<!-- <nz-tab nzTitle="核销信息">
|
||||||
<st #st [scroll]="{ x: '2000px' }" [data]="[]" [columns]="columns.cost" [page]="{ show: false }"
|
<st #st [scroll]="{ x: '2000px' }" [data]="[]" [columns]="columns.cost" [page]="{ show: false }"
|
||||||
[loading]="service.http.loading" [scroll]="{ x: '1200px', y: '370px' }">
|
[loading]="false" [scroll]="{ x: '1200px', y: '370px' }">
|
||||||
<ng-template st-row="hrvatmoney" let-item let-index="index">
|
<ng-template st-row="hrvatmoney" let-item let-index="index">
|
||||||
{{ item.hrvatmoney | currency}}
|
{{ item.hrvatmoney | currency}}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
@ -79,7 +79,7 @@
|
|||||||
<nz-tab nzTitle="预收信息">
|
<nz-tab nzTitle="预收信息">
|
||||||
<st #st [scroll]="{ x: '2000px' }" [data]="service.$api_get_receipt_detail" [columns]="columns.requested"
|
<st #st [scroll]="{ x: '2000px' }" [data]="service.$api_get_receipt_detail" [columns]="columns.requested"
|
||||||
[req]="{ method: 'POST', allInBody: true, process: beforeReq }" [res]="{ reName: { list: 'data' } }"
|
[req]="{ method: 'POST', allInBody: true, process: beforeReq }" [res]="{ reName: { list: 'data' } }"
|
||||||
[page]="{ show: false }" [loading]="service.http.loading" [scroll]="{ x: '1200px', y: '370px' }">
|
[page]="{ show: false }" [loading]="false" [scroll]="{ x: '1200px', y: '370px' }">
|
||||||
<ng-template st-row="vatnotax" let-item let-index="index">
|
<ng-template st-row="vatnotax" let-item let-index="index">
|
||||||
{{ item.vatnotax | currency}}
|
{{ item.vatnotax | currency}}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|||||||
@ -17,7 +17,7 @@
|
|||||||
[compact]="true" [button]="'none'"></sf>
|
[compact]="true" [button]="'none'"></sf>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 7" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
|
<div nz-col [nzXl]="_$expand ? 24 : 7" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<!-- <button nz-button nzType="primary"> 导出</button>
|
<!-- <button nz-button nzType="primary"> 导出</button>
|
||||||
<button nz-button nzType="primary"> 导出核销</button> -->
|
<button nz-button nzType="primary"> 导出核销</button> -->
|
||||||
@ -40,7 +40,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<st #st [data]="service.$api_get_receipt_page" [columns]="columns" [req]="{ process: beforeReq }"
|
<st #st [data]="service.$api_get_receipt_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
|
||||||
[loading]="service.http.loading" [scroll]="{ x: '1200px' }" (change)="stChange($event)">
|
[loading]="false" [scroll]="{ x: '1200px' }" (change)="stChange($event)">
|
||||||
</st>
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -13,10 +13,10 @@
|
|||||||
{{headerInfo?.ltdName}}
|
{{headerInfo?.ltdName}}
|
||||||
</se>
|
</se>
|
||||||
<se label="结算客户">
|
<se label="结算客户">
|
||||||
{{headerInfo?.cno}}
|
{{headerInfo?.cnoName}}
|
||||||
</se>
|
</se>
|
||||||
<se label="收款账户" required>
|
<se label="收款账户" required>
|
||||||
{{headerInfo?.ltdaccount}}
|
{{headerInfo?.ltdaccountId}}
|
||||||
</se>
|
</se>
|
||||||
<se label="核销金额" required>
|
<se label="核销金额" required>
|
||||||
{{headerInfo?.ahxmoney | currency}}
|
{{headerInfo?.ahxmoney | currency}}
|
||||||
@ -27,10 +27,10 @@
|
|||||||
{{headerInfo?.ahxdate}}
|
{{headerInfo?.ahxdate}}
|
||||||
</se>
|
</se>
|
||||||
<se label="付款人" required>
|
<se label="付款人" required>
|
||||||
{{headerInfo?.arto}}
|
{{headerInfo?.artoname}}
|
||||||
</se>
|
</se>
|
||||||
<se label="付款账户" required>
|
<se label="付款账户" required>
|
||||||
{{headerInfo?.shipperaccount}}
|
{{headerInfo?.artocode}}
|
||||||
</se>
|
</se>
|
||||||
<se label="应收金额">
|
<se label="应收金额">
|
||||||
{{headerInfo?.armoney | currency}}
|
{{headerInfo?.armoney | currency}}
|
||||||
@ -41,7 +41,7 @@
|
|||||||
{{headerInfo?.banktypeLabel}}
|
{{headerInfo?.banktypeLabel}}
|
||||||
</se>
|
</se>
|
||||||
<se label="收款类型" required>
|
<se label="收款类型" required>
|
||||||
{{headerInfo?.arvattype==='1'?'费用款项':''}}
|
{{headerInfo?.brmtypeLabel}}
|
||||||
</se>
|
</se>
|
||||||
<se label="银行水单">
|
<se label="银行水单">
|
||||||
{{headerInfo?.bankreceipt}}
|
{{headerInfo?.bankreceipt}}
|
||||||
@ -62,7 +62,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
||||||
class="text-right">
|
class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
{{ !_$expand ? '展开' : '收起' }}
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
@ -77,7 +77,7 @@
|
|||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '200px' }">
|
[loading]="false" [scroll]="{ x:'1200px',y: '200px' }">
|
||||||
<ng-template st-row="no" let-item let-index="index" let-column="column">
|
<ng-template st-row="no" let-item let-index="index" let-column="column">
|
||||||
{{index+1}}
|
{{index+1}}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|||||||
@ -42,16 +42,16 @@ export class ReceivableOrderDetailComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
beforeReq = (requestOptions: STRequestOptions) => {
|
beforeReq = (requestOptions: STRequestOptions) => {
|
||||||
Object.assign(requestOptions.body, { billHId: this.billHId });
|
Object.assign(requestOptions.body, { ahxHId: this.id });
|
||||||
if (this.sf) {
|
if (this.sf) {
|
||||||
Object.assign(requestOptions.body, {
|
Object.assign(requestOptions.body, {
|
||||||
...this.sf.value,
|
...this.sf.value
|
||||||
});
|
});
|
||||||
if (this.sf.value.feedate?.[0]) {
|
if (this.sf.value.feedate?.[0]) {
|
||||||
Object.assign(requestOptions.body, {
|
Object.assign(requestOptions.body, {
|
||||||
feedate: {
|
feedate: {
|
||||||
start: this.sf.value.feedate?.[0] || '',
|
start: this.sf.value.feedate?.[0] || '',
|
||||||
end: this.sf.value.feedate?.[1] || ''
|
end: this.sf.value.feedate?.[1] || ''
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -108,7 +108,7 @@ export class ReceivableOrderDetailComponent implements OnInit {
|
|||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
placeholder: '请选择',
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
asyncData: () => this.service.getCloseAccount(),
|
asyncData: () => this.service.getCloseAccount()
|
||||||
},
|
},
|
||||||
default: ''
|
default: ''
|
||||||
},
|
},
|
||||||
@ -122,7 +122,7 @@ export class ReceivableOrderDetailComponent implements OnInit {
|
|||||||
expand: (value: boolean) => value
|
expand: (value: boolean) => value
|
||||||
}
|
}
|
||||||
} as SFDateWidgetSchema
|
} as SFDateWidgetSchema
|
||||||
},
|
}
|
||||||
// billTime: {
|
// billTime: {
|
||||||
// title: '订单日期',
|
// title: '订单日期',
|
||||||
// type: 'string',
|
// type: 'string',
|
||||||
@ -146,8 +146,8 @@ export class ReceivableOrderDetailComponent implements OnInit {
|
|||||||
{ title: '订单号', index: 'billHCode', width: 100 },
|
{ title: '订单号', index: 'billHCode', width: 100 },
|
||||||
// { title: '订单日期', index: 'billTime', width: 150 },
|
// { title: '订单日期', index: 'billTime', width: 150 },
|
||||||
// { title: '费用类型', index: 'cnoName', width: 90 },
|
// { title: '费用类型', index: 'cnoName', width: 90 },
|
||||||
// { title: '订单费用科目', index: 'feeSubId', width: 100 },
|
{ title: '订单费用科目', index: 'billLTypeLabel', width: 100 },
|
||||||
{ title: '费用科目', index: 'feeSubId', width: 140 },
|
{ title: '费用科目', index: 'feeSubName', width: 140 },
|
||||||
{ title: '结算客户', index: 'cnoName', width: 100 },
|
{ title: '结算客户', index: 'cnoName', width: 100 },
|
||||||
{
|
{
|
||||||
title: '已收金额',
|
title: '已收金额',
|
||||||
|
|||||||
@ -18,10 +18,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right"
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right"
|
||||||
[class.expend-options]="_$expand">
|
[class.expend-options]="_$expand">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button [disabled]="service.http.loading" (click)="resetSF()">重置</button>
|
<button nz-button [disabled]="false" (click)="resetSF()">重置</button>
|
||||||
<!-- <button nz-button [disabled]="service.http.loading"> 导出</button>
|
<!-- <button nz-button [disabled]="false"> 导出</button>
|
||||||
<button nz-button [disabled]="service.http.loading"> 导出核销</button> -->
|
<button nz-button [disabled]="false"> 导出核销</button> -->
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
{{ !_$expand ? '展开' : '收起' }}
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
||||||
@ -31,7 +31,7 @@
|
|||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-card class="content-box" nzBordered>
|
<nz-card class="content-box" nzBordered>
|
||||||
<st #st [data]="service.$api_get_fico_page" [columns]="columns" [req]="{ process: beforeReq }"
|
<st #st [data]="service.$api_get_fico_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
|
||||||
[loading]="service.http.loading" [scroll]="{ x: '1200px' }" (change)="stChange($event)">
|
[loading]="false" [scroll]="{ x: '1200px' }" (change)="stChange($event)">
|
||||||
</st>
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -242,10 +242,10 @@ export class ReceivableOrderComponent implements OnInit {
|
|||||||
return [
|
return [
|
||||||
{ title: '', index: 'key', type: 'checkbox' },
|
{ title: '', index: 'key', type: 'checkbox' },
|
||||||
{ title: '核销单号', index: 'ahxcode', type: 'link', width: 140 },
|
{ title: '核销单号', index: 'ahxcode', type: 'link', width: 140 },
|
||||||
{ title: '网络货运人', index: 'ltdName', width: 140 },
|
{ title: '网络货运人', index: 'ltdName', width: 160 },
|
||||||
{ title: '核销日期', index: 'ahxdate', type: 'date', width: 160 },
|
{ title: '核销日期', index: 'ahxdate', type: 'date', width: 160 },
|
||||||
{ title: '付款账户', index: 'shipperaccount', width: 120 },
|
{ title: '付款账户', index: 'shipperaccount', width: 170 },
|
||||||
{ title: '收款账户', index: 'ltdaccountId', width: 120 },
|
{ title: '收款账户', index: 'ltdaccountId', width: 160 },
|
||||||
{ title: '核销类型', index: 'ahxType', type: 'enum', enum: { '1': '预收款' }, width: 120 },
|
{ title: '核销类型', index: 'ahxType', type: 'enum', enum: { '1': '预收款' }, width: 120 },
|
||||||
{
|
{
|
||||||
title: '核销金额',
|
title: '核销金额',
|
||||||
@ -266,7 +266,7 @@ export class ReceivableOrderComponent implements OnInit {
|
|||||||
{ title: '付款人', index: 'artoname', width: 200 },
|
{ title: '付款人', index: 'artoname', width: 200 },
|
||||||
{ title: '结算客户', index: 'cnoName', width: 120 },
|
{ title: '结算客户', index: 'cnoName', width: 120 },
|
||||||
{ title: '银行水单', index: 'bankreceipt', width: 200 },
|
{ title: '银行水单', index: 'bankreceipt', width: 200 },
|
||||||
{ title: '创建时间', index: 'createTime', width: 160 },
|
{ title: '创建时间', index: 'createTime', width: 180 },
|
||||||
// { title: '收款人', index: 'driver2IdName', width: 120 },
|
// { title: '收款人', index: 'driver2IdName', width: 120 },
|
||||||
// { title: '创建人', index: 'createUserIdLabel', width: 120 },
|
// { title: '创建人', index: 'createUserIdLabel', width: 120 },
|
||||||
{ title: '核销状态', index: 'sts', type: 'enum', enum: { 0: '待核销', 1: '已核销' }, width: 120 },
|
{ title: '核销状态', index: 'sts', type: 'enum', enum: { 0: '待核销', 1: '已核销' }, width: 120 },
|
||||||
@ -275,6 +275,7 @@ export class ReceivableOrderComponent implements OnInit {
|
|||||||
title: '操作',
|
title: '操作',
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
width: 120,
|
width: 120,
|
||||||
|
className: 'text-center',
|
||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
text: '浏览',
|
text: '浏览',
|
||||||
|
|||||||
@ -24,7 +24,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
||||||
class="text-right">
|
class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button (click)="exportList()"> 导出</button>
|
<button nz-button (click)="exportList()"> 导出</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
@ -36,8 +36,8 @@
|
|||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-card class="content-box" nzBordered>
|
<nz-card class="content-box" nzBordered>
|
||||||
<st #st [data]="service.$api_get_recharge_page" [columns]="columns" [req]="{ process: beforeReq }"
|
<st #st [data]="service.$api_get_recharge_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
|
||||||
[loading]="service.http.loading" [scroll]="{ x:'1200px' }">
|
[loading]="false" [scroll]="{ x:'1200px' }">
|
||||||
<ng-template st-row="transferBankAccount" let-item let-index="index" let-column="column">
|
<ng-template st-row="transferBankAccount" let-item let-index="index" let-column="column">
|
||||||
{{ item.transferBankOpenName }} <br> {{ item.transferBankCardNumber }}
|
{{ item.transferBankOpenName }} <br> {{ item.transferBankCardNumber }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|||||||
@ -49,7 +49,7 @@ export class RechargeRecordComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
exportList() {
|
exportList() {
|
||||||
this.service.downloadFile(this.service.$mock_url, { ...this.sf.value, pageIndex: this.st.pi, pageSize: this.st.ps });
|
this.service.downloadFile(this.service.$mock_url, { ...this.sf.value, pageSize: -1 });
|
||||||
}
|
}
|
||||||
|
|
||||||
private initSF(): SFSchema {
|
private initSF(): SFSchema {
|
||||||
@ -92,7 +92,7 @@ export class RechargeRecordComponent implements OnInit {
|
|||||||
format: 'yyyy-MM-dd'
|
format: 'yyyy-MM-dd'
|
||||||
} as SFDateWidgetSchema
|
} as SFDateWidgetSchema
|
||||||
},
|
},
|
||||||
rechargeName: {
|
roleName: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '账户名称',
|
title: '账户名称',
|
||||||
ui: {
|
ui: {
|
||||||
@ -162,9 +162,16 @@ export class RechargeRecordComponent implements OnInit {
|
|||||||
{ title: '网络货运人', index: 'ltdName', width: 160 },
|
{ title: '网络货运人', index: 'ltdName', width: 160 },
|
||||||
{ title: '银行类型', index: 'bankTypeLabel', width: 100 },
|
{ title: '银行类型', index: 'bankTypeLabel', width: 100 },
|
||||||
{ title: '账户类型', index: 'accountTypeLabel', width: 100 },
|
{ title: '账户类型', index: 'accountTypeLabel', width: 100 },
|
||||||
{ title: '账户名称', index: 'rechargeName', width: 140 },
|
{ title: '账户名称', index: 'roleName', width: 160 },
|
||||||
{ title: '虚拟账户', index: 'virtualAccount', width: 100 },
|
{ title: '虚拟账户', index: 'virtualAccount', width: 100 },
|
||||||
{ title: '充值金额', index: 'rechargeAmount', width: 100 },
|
{
|
||||||
|
title: '充值金额',
|
||||||
|
index: 'rechargeAmount',
|
||||||
|
width: 160,
|
||||||
|
type: 'widget',
|
||||||
|
className: 'text-right',
|
||||||
|
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.rechargeAmount }) }
|
||||||
|
},
|
||||||
{ title: '充值银行账户', render: 'transferBankAccount', width: 200 },
|
{ title: '充值银行账户', render: 'transferBankAccount', width: 200 },
|
||||||
{ title: '充值方式', index: 'payChannelLabel', width: 100 },
|
{ title: '充值方式', index: 'payChannelLabel', width: 100 },
|
||||||
{ title: '充值状态', index: 'rechargeStatusLabel', width: 100 },
|
{ title: '充值状态', index: 'rechargeStatusLabel', width: 100 },
|
||||||
|
|||||||
@ -10,7 +10,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
||||||
class="text-right">
|
class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button> 导出</button>
|
<button nz-button> 导出</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
@ -25,18 +25,20 @@
|
|||||||
<nz-tabset>
|
<nz-tabset>
|
||||||
<nz-tab nzTitle="全部" (nzClick)="changeRefundStatus()"></nz-tab>
|
<nz-tab nzTitle="全部" (nzClick)="changeRefundStatus()"></nz-tab>
|
||||||
<nz-tab nzTitle="待审核" (nzClick)="changeRefundStatus('1')"></nz-tab>
|
<nz-tab nzTitle="待审核" (nzClick)="changeRefundStatus('1')"></nz-tab>
|
||||||
<nz-tab nzTitle="退款中" (nzClick)="changeRefundStatus('2')"></nz-tab>
|
<nz-tab nzTitle="退款中" (nzClick)="changeRefundStatus('4')"></nz-tab>
|
||||||
<nz-tab nzTitle="退款成功" (nzClick)="changeRefundStatus('3')"></nz-tab>
|
<nz-tab nzTitle="退款成功" (nzClick)="changeRefundStatus('2')"></nz-tab>
|
||||||
<nz-tab nzTitle="退款失败" (nzClick)="changeRefundStatus('5')"></nz-tab>
|
<nz-tab nzTitle="退款失败" (nzClick)="changeRefundStatus('5')"></nz-tab>
|
||||||
</nz-tabset>
|
</nz-tabset>
|
||||||
|
|
||||||
<st #st [data]="service.$api_get_refund_record_page" [columns]="columns" [req]="{ process: beforeReq }"
|
<st #st [data]="service.$api_get_refund_record_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
|
||||||
[loading]="service.http.loading" [scroll]="{ x:'1200px' }">
|
[loading]="false" [scroll]="{ x:'1200px' }">
|
||||||
<ng-template st-row="orderRefundCode" let-item let-index="index" let-column="column">
|
<ng-template st-row="orderRefundCode" let-item let-index="index" let-column="column">
|
||||||
{{ item.orderRefundCode }} <br> {{ item.refundStatusLabel }}
|
{{ item.orderRefundCode }} <br> {{ item.refundStatusLabel }}
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="refundAmount" let-item let-index="index" let-column="column">
|
<ng-template st-row="refundAmount" let-item let-index="index" let-column="column">
|
||||||
{{ item.refundAmount |currency }}
|
<ng-container *ngFor="let cost of item.billRefundDetailVOS">
|
||||||
|
{{cost.costName}}:{{ cost.refundAmount |currency }}<br>
|
||||||
|
</ng-container>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
<ng-template st-row="billRefundPaymentVOS" let-item let-index="index" let-column="column">
|
<ng-template st-row="billRefundPaymentVOS" let-item let-index="index" let-column="column">
|
||||||
<ng-container *ngFor="let bill of item.billRefundPaymentVOS">
|
<ng-container *ngFor="let bill of item.billRefundPaymentVOS">
|
||||||
|
|||||||
@ -24,18 +24,20 @@ export class RefundRecordComponent implements OnInit {
|
|||||||
refundStatus: any = '';
|
refundStatus: any = '';
|
||||||
|
|
||||||
msg = '';
|
msg = '';
|
||||||
|
|
||||||
constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) {}
|
constructor(public service: FreightAccountService, private nzModalService: NzModalService, private router: Router) {}
|
||||||
|
|
||||||
ngOnInit(): void {}
|
ngOnInit(): void {
|
||||||
|
}
|
||||||
|
|
||||||
beforeReq = (requestOptions: STRequestOptions) => {
|
beforeReq = (requestOptions: STRequestOptions) => {
|
||||||
Object.assign(requestOptions.body, { refundStatus: this.refundStatus || null });
|
Object.assign(requestOptions.body, { refundStatus: this.refundStatus || null });
|
||||||
if (this.sf) {
|
if (this.sf) {
|
||||||
Object.assign(requestOptions.body, {
|
Object.assign(requestOptions.body, {
|
||||||
...this.sf.value,
|
...this.sf.value,
|
||||||
createTime: {
|
refundExecuteTime: {
|
||||||
start: this.sf.value.createTime?.[0] || '',
|
start: this.sf.value.refundExecuteTime?.[0] || '',
|
||||||
end: this.sf.value.createTime?.[1] || ''
|
end: this.sf.value.refundExecuteTime?.[1] || ''
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -57,6 +59,10 @@ export class RefundRecordComponent implements OnInit {
|
|||||||
label: '拒绝',
|
label: '拒绝',
|
||||||
type: 'default',
|
type: 'default',
|
||||||
onClick: () => {
|
onClick: () => {
|
||||||
|
if (!this.msg) {
|
||||||
|
this.service.msgSrv.warning('请填写原因');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
this.service
|
this.service
|
||||||
.request(this.service.$api_disagree_refund_record, {
|
.request(this.service.$api_disagree_refund_record, {
|
||||||
applicationId: item.id,
|
applicationId: item.id,
|
||||||
@ -152,7 +158,7 @@ export class RefundRecordComponent implements OnInit {
|
|||||||
title: '退款类型',
|
title: '退款类型',
|
||||||
enum: [
|
enum: [
|
||||||
{ value: '1', label: '平台退款货主' },
|
{ value: '1', label: '平台退款货主' },
|
||||||
{ value: '2', label: '司机退款平' },
|
{ value: '2', label: '司机退款平台' },
|
||||||
{ value: '3', label: '车队长退款司机' },
|
{ value: '3', label: '车队长退款司机' },
|
||||||
{ value: '4', label: '车队长退款平台' }
|
{ value: '4', label: '车队长退款平台' }
|
||||||
],
|
],
|
||||||
@ -161,7 +167,7 @@ export class RefundRecordComponent implements OnInit {
|
|||||||
placeholder: '请选择'
|
placeholder: '请选择'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
shipperId: {
|
enterpriseInfoName: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '货主',
|
title: '货主',
|
||||||
ui: {
|
ui: {
|
||||||
@ -178,20 +184,17 @@ export class RefundRecordComponent implements OnInit {
|
|||||||
placeholder: '请输入'
|
placeholder: '请输入'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
enterpriseProjectId: {
|
enterpriseProjectName: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '所属项目',
|
title: '所属项目',
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
placeholder: '请输入',
|
||||||
placeholder: '请选择',
|
|
||||||
allowClear: true,
|
|
||||||
asyncData: () => this.service.getEnterpriseProject(),
|
|
||||||
visibleIf: {
|
visibleIf: {
|
||||||
expand: (value: boolean) => value
|
expand: (value: boolean) => value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
resourceId: {
|
resourceCode: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '货源号',
|
title: '货源号',
|
||||||
ui: {
|
ui: {
|
||||||
@ -214,7 +217,7 @@ export class RefundRecordComponent implements OnInit {
|
|||||||
nzShowTime: true
|
nzShowTime: true
|
||||||
} as SFDateWidgetSchema
|
} as SFDateWidgetSchema
|
||||||
},
|
},
|
||||||
ltdid: {
|
ltdId: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '网络货运人',
|
title: '网络货运人',
|
||||||
ui: {
|
ui: {
|
||||||
@ -245,11 +248,11 @@ export class RefundRecordComponent implements OnInit {
|
|||||||
|
|
||||||
private initST(): STColumn[] {
|
private initST(): STColumn[] {
|
||||||
return [
|
return [
|
||||||
{ title: '退款单号', render: 'orderRefundCode', width: 180 },
|
{ title: '退款单号', render: 'orderRefundCode', width: 190 },
|
||||||
{ title: '退款类型', index: 'refundType', width: 120 },
|
{ title: '退款类型', index: 'refundTypeLabel', width: 140 },
|
||||||
{ title: '退款金额', render: 'refundAmount', width: 120 },
|
{ title: '退款金额', render: 'refundAmount', className: 'text-right', width: 180 },
|
||||||
{ title: '退款时间', index: 'applyTime', width: 160 },
|
{ title: '退款时间', index: 'refundExecuteTime', width: 170 },
|
||||||
{ title: '货主', index: 'shipperId', width: 150 },
|
{ title: '货主', index: 'enterpriseInfoName', width: 150 },
|
||||||
{ title: '所属项目', index: 'enterpriseProjectName', width: 140 },
|
{ title: '所属项目', index: 'enterpriseProjectName', width: 140 },
|
||||||
{ title: '支付单', render: 'billRefundPaymentVOS', width: 150 },
|
{ title: '支付单', render: 'billRefundPaymentVOS', width: 150 },
|
||||||
{ title: '订单号', index: 'billCode', width: 150 },
|
{ title: '订单号', index: 'billCode', width: 150 },
|
||||||
@ -258,8 +261,8 @@ export class RefundRecordComponent implements OnInit {
|
|||||||
{ title: '收款人', render: 'captain', width: 150 },
|
{ title: '收款人', render: 'captain', width: 150 },
|
||||||
{ title: '网络货运人', index: 'ltdName', width: 180 },
|
{ title: '网络货运人', index: 'ltdName', width: 180 },
|
||||||
{ title: '银行类型', index: 'bankTypeLabel', width: 120 },
|
{ title: '银行类型', index: 'bankTypeLabel', width: 120 },
|
||||||
{ title: '退款原因', index: 'rejectionCause', width: 150 },
|
{ title: '退款原因', index: 'reason', width: 170 },
|
||||||
{ title: '失败原因', index: 'failCause', width: 150 },
|
{ title: '失败原因', index: 'failCause', width: 170 },
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
@ -273,6 +276,7 @@ export class RefundRecordComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '重新发起',
|
text: '重新发起',
|
||||||
|
iif: item => item.refundStatus === '5',
|
||||||
click: item => this.reApply(item)
|
click: item => this.reApply(item)
|
||||||
}
|
}
|
||||||
// {
|
// {
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" [class.expend-options]="_$expand"
|
||||||
class="text-right">
|
class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button (click)="resetSF()">重置</button>
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
<button nz-button> 导出</button>
|
<button nz-button> 导出</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
@ -21,8 +21,8 @@
|
|||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-card class="content-box pt-xl" nzBordered>
|
<nz-card class="content-box pt-xl" nzBordered>
|
||||||
<st #st [data]="service.$api_get_account_blance" [columns]="columns" [req]="{ process: beforeReq }"
|
<st #st [data]="service.$api_get_account_blance" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
|
||||||
[loading]="service.http.loading" [scroll]="{ x: '1200px' }">
|
[loading]="false" [scroll]="{ x: '1200px' }">
|
||||||
<ng-template st-row="amount">
|
<ng-template st-row="amount">
|
||||||
|
|
||||||
</ng-template>
|
</ng-template>
|
||||||
|
|||||||
@ -1,10 +1,11 @@
|
|||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { CurrencyPipe } from '@angular/common';
|
||||||
|
import { Component, ViewChild } from '@angular/core';
|
||||||
import { Router } from '@angular/router';
|
import { Router } from '@angular/router';
|
||||||
import { STComponent, STColumn, STRequestOptions } from '@delon/abc/st';
|
import { STComponent, STColumn, STRequestOptions } from '@delon/abc/st';
|
||||||
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
|
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
|
||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
|
|
||||||
import { FreightAccountService } from '../../services/freight-account.service';
|
import { FreightAccountService } from '../../services/freight-account.service';
|
||||||
import { CurrencyPipe } from '@angular/common';
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-transaction-flow',
|
selector: 'app-transaction-flow',
|
||||||
@ -12,7 +13,7 @@ import { CurrencyPipe } from '@angular/common';
|
|||||||
styleUrls: ['./transaction-flow.component.less'],
|
styleUrls: ['./transaction-flow.component.less'],
|
||||||
providers: [CurrencyPipe]
|
providers: [CurrencyPipe]
|
||||||
})
|
})
|
||||||
export class TransactionFlowComponent implements OnInit {
|
export class TransactionFlowComponent {
|
||||||
@ViewChild('st', { static: true })
|
@ViewChild('st', { static: true })
|
||||||
st!: STComponent;
|
st!: STComponent;
|
||||||
@ViewChild('sf', { static: false })
|
@ViewChild('sf', { static: false })
|
||||||
@ -29,8 +30,6 @@ export class TransactionFlowComponent implements OnInit {
|
|||||||
private currencyPipe: CurrencyPipe
|
private currencyPipe: CurrencyPipe
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
ngOnInit(): void {}
|
|
||||||
|
|
||||||
beforeReq = (requestOptions: STRequestOptions) => {
|
beforeReq = (requestOptions: STRequestOptions) => {
|
||||||
if (this.sf) {
|
if (this.sf) {
|
||||||
Object.assign(requestOptions.body, {
|
Object.assign(requestOptions.body, {
|
||||||
@ -152,7 +151,7 @@ export class TransactionFlowComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
default: ''
|
default: ''
|
||||||
},
|
},
|
||||||
orderS2n2221: {
|
enterpriseName: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '账户名称',
|
title: '账户名称',
|
||||||
ui: {
|
ui: {
|
||||||
@ -162,7 +161,7 @@ export class TransactionFlowComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
orderSn221f: {
|
projectId: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '所属项目',
|
title: '所属项目',
|
||||||
ui: {
|
ui: {
|
||||||
@ -214,11 +213,11 @@ export class TransactionFlowComponent implements OnInit {
|
|||||||
private initST(): STColumn[] {
|
private initST(): STColumn[] {
|
||||||
return [
|
return [
|
||||||
{ title: '交易时间', index: 'createTime', width: 180 },
|
{ title: '交易时间', index: 'createTime', width: 180 },
|
||||||
{ title: '流水号', index: 'transactionNumber', width: 150 },
|
{ title: '流水号', index: 'transactionNumber', width: 180 },
|
||||||
{ title: '交易类型', index: 'tradeTypeLabel', width: 120 },
|
{ title: '交易类型', index: 'tradeTypeLabel', width: 120 },
|
||||||
{ title: '关联单号', index: 'businessNumber', width: 150 },
|
{ title: '关联单号', index: 'businessNumber', width: 150 },
|
||||||
{ title: '账户类型', index: 'accountTypeLabel', width: 130 },
|
{ title: '账户类型', index: 'accountTypeLabel', width: 130 },
|
||||||
{ title: '账户名称', index: 'roleName', width: 100 },
|
{ title: '账户名称', index: 'roleName', width: 180 },
|
||||||
{ title: '所属项目', index: 'projectName', width: 140 },
|
{ title: '所属项目', index: 'projectName', width: 140 },
|
||||||
{ title: '收支类型', index: 'incomeTypeLabel', width: 100, className: 'text-center' },
|
{ title: '收支类型', index: 'incomeTypeLabel', width: 100, className: 'text-center' },
|
||||||
{
|
{
|
||||||
@ -236,9 +235,9 @@ export class TransactionFlowComponent implements OnInit {
|
|||||||
className: 'text-right',
|
className: 'text-right',
|
||||||
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.accountBalance }) }
|
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.accountBalance }) }
|
||||||
},
|
},
|
||||||
{ title: '网络货运人', index: 'ltdName', width: 140 },
|
{ title: '网络货运人', index: 'ltdName', width: 180 },
|
||||||
{ title: '银行类型', index: 'bankTypeLabel', width: 100 },
|
{ title: '银行类型', index: 'bankTypeLabel', width: 100 },
|
||||||
{ title: '银行流水号', index: 'channelPaySn', width: 120 },
|
{ title: '银行流水号', index: 'channelPaySn', width: 170 },
|
||||||
{
|
{
|
||||||
title: '操作',
|
title: '操作',
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
@ -253,7 +252,7 @@ export class TransactionFlowComponent implements OnInit {
|
|||||||
bankType: item.bankType,
|
bankType: item.bankType,
|
||||||
rmYll: item.roleId,
|
rmYll: item.roleId,
|
||||||
snglFlgCd: item.channelPaySn,
|
snglFlgCd: item.channelPaySn,
|
||||||
bussType: '07',
|
bussType: item.tradeType === '7' ? '05' : item.tradeType === '8' ? '06' : '07',
|
||||||
ltdId: item.ltdId
|
ltdId: item.ltdId
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,10 +19,10 @@
|
|||||||
<nz-card>
|
<nz-card>
|
||||||
<div se-container labelWidth="150" gutter="32" col="3">
|
<div se-container labelWidth="150" gutter="32" col="3">
|
||||||
<se-title class="text-center font-weight-bold text-xl">记账凭证
|
<se-title class="text-center font-weight-bold text-xl">记账凭证
|
||||||
<!-- <button nz-button nzType="primary" [nzLoading]="service.http.loading" style="float: right;">打印</button> -->
|
<!-- <button nz-button nzType="primary" [nzLoading]="false" style="float: right;">打印</button> -->
|
||||||
</se-title>
|
</se-title>
|
||||||
<se label="帐套" required>
|
<se label="帐套" required>
|
||||||
{{info?.ltdId}}
|
{{info?.vcltdcode}} - {{info?.vcltdname}}
|
||||||
</se>
|
</se>
|
||||||
<se label="凭证类型" required>
|
<se label="凭证类型" required>
|
||||||
{{info?.vctype}}
|
{{info?.vctype}}
|
||||||
@ -33,7 +33,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<st #st [data]="info?.faShowVOList" [columns]="columns" [footer]="footerTpl" bordered
|
<st #st [data]="info?.faShowVOList" [columns]="columns" [footer]="footerTpl" bordered
|
||||||
[scroll]="{ x:'1200px',y: '420px' }" [page]="{ show: false }" [loading]="service.http.loading">
|
[scroll]="{ x:'1200px',y: '420px' }" [page]="{ show: false }" [loading]="false">
|
||||||
<ng-template #footerTpl let-s>
|
<ng-template #footerTpl let-s>
|
||||||
<ng-container *ngIf="st.count > 0">
|
<ng-container *ngIf="st.count > 0">
|
||||||
<div style="display: flex;justify-content: flex-end;">
|
<div style="display: flex;justify-content: flex-end;">
|
||||||
|
|||||||
@ -9,10 +9,10 @@
|
|||||||
[button]="'none'"></sf>
|
[button]="'none'"></sf>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)" acl [acl-ability]="['FINANCIAL-VOUCHER-list']">查询</button>
|
||||||
<button nz-button [disabled]="service.http.loading" (click)="resetSF()">重置</button>
|
<button nz-button [disabled]="false" (click)="resetSF()">重置</button>
|
||||||
<!-- <button nz-button [disabled]="service.http.loading"> 导出</button>
|
<!-- <button nz-button [disabled]="false"> 导出</button>
|
||||||
<button nz-button [disabled]="service.http.loading"> 导出明细</button> -->
|
<button nz-button [disabled]="false"> 导出明细</button> -->
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
{{ !_$expand ? '展开' : '收起' }}
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
||||||
@ -33,7 +33,7 @@
|
|||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<st #st [data]="service.$api_get_fico_vch_page" [columns]="columns" [req]="{ process: beforeReq }"
|
<st #st [data]="service.$api_get_fico_vch_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
|
||||||
[loading]="service.http.loading" [scroll]="{ x:'1200px' }" (change)="stChange($event)">
|
[loading]="false" [scroll]="{ x:'1200px' }" (change)="stChange($event)">
|
||||||
</st>
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* @Description :
|
* @Description :
|
||||||
* @Version : 1.0
|
* @Version : 1.0
|
||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2022-01-18 15:57:44
|
* @Date : 2022-01-18 15:57:44
|
||||||
@ -13,9 +13,7 @@ import { Component, OnInit, ViewChild } from '@angular/core';
|
|||||||
import { Router } from '@angular/router';
|
import { Router } from '@angular/router';
|
||||||
import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st';
|
import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st';
|
||||||
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
|
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
|
||||||
import { ShipperBaseService } from '@shared';
|
|
||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
import { AddCollectionInvoiceModalComponent } from 'src/app/routes/ticket-management/components/input-invoice/add-collection-invoice-modal/add-collection-invoice-modal.component';
|
|
||||||
import { FreightAccountService } from '../../services/freight-account.service';
|
import { FreightAccountService } from '../../services/freight-account.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -139,6 +137,22 @@ export class VoucherManagementComponent implements OnInit {
|
|||||||
sourceType: {
|
sourceType: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '原始单类型',
|
title: '原始单类型',
|
||||||
|
enum: [
|
||||||
|
{ value: '', label: '全部' },
|
||||||
|
{ value: 1, label: '收款' },
|
||||||
|
{ value: 2, label: '收款(退款)' },
|
||||||
|
{ value: 3, label: '应收费用' },
|
||||||
|
{ value: 4, label: '应收费用(负数)' },
|
||||||
|
{ value: 5, label: '应收核销' },
|
||||||
|
{ value: 6, label: '应收核销(负数)' },
|
||||||
|
{ value: 7, label: '应付费用' },
|
||||||
|
{ value: 8, label: '应付费用(负数)' },
|
||||||
|
{ value: 9, label: '应付核销' },
|
||||||
|
{ value: 10, label: '应付核销(负数)' },
|
||||||
|
{ value: 11, label: '分票开票' },
|
||||||
|
{ value: 12, label: '删除分票' },
|
||||||
|
{ value: 13, label: '付款' }
|
||||||
|
],
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
widget: 'select',
|
||||||
placeholder: '请选择',
|
placeholder: '请选择',
|
||||||
@ -294,10 +308,10 @@ export class VoucherManagementComponent implements OnInit {
|
|||||||
return [
|
return [
|
||||||
{ title: '', index: 'key', type: 'checkbox', width: 60, className: 'text-center', fixed: 'left' },
|
{ title: '', index: 'key', type: 'checkbox', width: 60, className: 'text-center', fixed: 'left' },
|
||||||
{ title: '凭证号', index: 'vccode', type: 'link', width: 200 },
|
{ title: '凭证号', index: 'vccode', type: 'link', width: 200 },
|
||||||
{ title: '帐套', index: 'ltdId', width: 200 },
|
{ title: '帐套', index: 'ltdId', width: 200, format: item => `${item.vcltdcode}-${item.vcltdname}` },
|
||||||
{ title: '凭证时间', index: 'vctime', type: 'date', width: 200 },
|
{ title: '凭证时间', index: 'vctime', type: 'date', width: 200 },
|
||||||
{ title: '凭证类型', index: 'vctype', width: 200 },
|
{ title: '凭证类型', index: 'vctype', width: 200 },
|
||||||
{ title: '序号', index: 'invmoney', width: 200, format: _ => '1' },
|
// { title: '序号', index: 'invmoney', width: 200, format: _ => '1' },
|
||||||
{ title: '摘要', index: 'remarks', width: 300 },
|
{ title: '摘要', index: 'remarks', width: 300 },
|
||||||
{ title: '币种', index: 'currency', width: 100 },
|
{ title: '币种', index: 'currency', width: 100 },
|
||||||
{
|
{
|
||||||
@ -325,11 +339,13 @@ export class VoucherManagementComponent implements OnInit {
|
|||||||
title: '操作',
|
title: '操作',
|
||||||
width: '130px',
|
width: '130px',
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
|
className: 'text-center',
|
||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
text: '浏览',
|
text: '浏览',
|
||||||
click: (item: any) => this.router.navigate(['/financial-management/voucher-management/detail/' + item.id])
|
click: (item: any) => this.router.navigate(['/financial-management/voucher-management/detail/' + item.id]),
|
||||||
},
|
acl: { ability: ['FINANCIAL-VOUCHER-view'] }
|
||||||
|
}
|
||||||
// {
|
// {
|
||||||
// text: '修改'
|
// text: '修改'
|
||||||
// },
|
// },
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
<nz-card>
|
<nz-card>
|
||||||
<div se-container labelWidth="150" gutter="32" col="3">
|
<div se-container labelWidth="150" gutter="32" col="3">
|
||||||
<se-title class="text-center font-weight-bold text-xl">记账凭证
|
<se-title class="text-center font-weight-bold text-xl">记账凭证
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" style="float: right;">打印</button>
|
<button nz-button nzType="primary" [nzLoading]="false" style="float: right;">打印</button>
|
||||||
</se-title>
|
</se-title>
|
||||||
<se label="帐套" required>
|
<se label="帐套" required>
|
||||||
{{info?.vcltdcode}}
|
{{info?.vcltdcode}}
|
||||||
@ -23,7 +23,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<st #st [data]="info?.faShowVOList" [columns]="columns" [footer]="footerTpl" bordered
|
<st #st [data]="info?.faShowVOList" [columns]="columns" [footer]="footerTpl" bordered
|
||||||
[scroll]="{ x:'1200px',y: '420px' }" [page]="{ show: false }" [loading]="service.http.loading">
|
[scroll]="{ x:'1200px',y: '420px' }" [page]="{ show: false }" [loading]="false">
|
||||||
<ng-template #footerTpl let-s>
|
<ng-template #footerTpl let-s>
|
||||||
<ng-container *ngIf="st.count > 0">
|
<ng-container *ngIf="st.count > 0">
|
||||||
<div style="display: flex;justify-content: flex-end;">
|
<div style="display: flex;justify-content: flex-end;">
|
||||||
|
|||||||
@ -9,10 +9,10 @@
|
|||||||
[button]="'none'"></sf>
|
[button]="'none'"></sf>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
|
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button [disabled]="service.http.loading" (click)="resetSF()">重置</button>
|
<button nz-button [disabled]="false" (click)="resetSF()">重置</button>
|
||||||
<button nz-button [disabled]="service.http.loading"> 导出</button>
|
<button nz-button [disabled]="false"> 导出</button>
|
||||||
<button nz-button [disabled]="service.http.loading"> 导出明细</button>
|
<button nz-button [disabled]="false"> 导出明细</button>
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
{{ !_$expand ? '展开' : '收起' }}
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
||||||
@ -26,6 +26,6 @@
|
|||||||
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, process: beforeReq }"
|
||||||
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
|
||||||
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
[loading]="service.http.loading" [scroll]="{ x:'1200px',y: '370px' }" (change)="stChange($event)" class="mt-md">
|
[loading]="false" [scroll]="{ x:'1200px',y: '370px' }" (change)="stChange($event)" class="mt-md">
|
||||||
</st>
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -213,6 +213,7 @@ export class VoucherListComponent implements OnInit {
|
|||||||
title: '操作',
|
title: '操作',
|
||||||
width: '130px',
|
width: '130px',
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
|
className: 'text-center',
|
||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
text: '浏览',
|
text: '浏览',
|
||||||
|
|||||||
@ -19,11 +19,11 @@
|
|||||||
[button]="'none'"></sf>
|
[button]="'none'"></sf>
|
||||||
</div>
|
</div>
|
||||||
<div nz-col [nzXl]="_$expand ? 24 : 8" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
|
<div nz-col [nzXl]="_$expand ? 24 : 8" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
|
||||||
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
<button nz-button nzType="primary" [nzLoading]="false" (click)="st?.load(1)">查询</button>
|
||||||
<button nz-button [disabled]="service.http.loading" (click)="resetSF()">重置</button>
|
<button nz-button [disabled]="false" (click)="resetSF()">重置</button>
|
||||||
<!-- <button nz-button nzType="primary" [disabled]="service.http.loading"> 导出</button>
|
<!-- <button nz-button nzType="primary" [disabled]="false"> 导出</button>
|
||||||
<button nz-button nzType="primary" [disabled]="service.http.loading"> 导出明细</button>
|
<button nz-button nzType="primary" [disabled]="false"> 导出明细</button>
|
||||||
<button nz-button nzType="primary" [disabled]="service.http.loading"> 导出凭证</button> -->
|
<button nz-button nzType="primary" [disabled]="false"> 导出凭证</button> -->
|
||||||
<button nz-button nzType="link" (click)="expandToggle()">
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
{{ !_$expand ? '展开' : '收起' }}
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
||||||
@ -33,7 +33,7 @@
|
|||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<nz-card nzBordered>
|
<nz-card nzBordered>
|
||||||
<st #st [data]="service.$api_get_fico_vch_page" [columns]="columns" [req]="{ process: beforeReq }"
|
<st #st [data]="service.$api_get_fico_vch_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
|
||||||
[loading]="service.http.loading" [scroll]="{ x:'1200px' }" (change)="stChange($event)">
|
[loading]="false" [scroll]="{ x:'1200px' }" (change)="stChange($event)">
|
||||||
</st>
|
</st>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
@ -16,9 +16,9 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
</page-header-wrapper>
|
</page-header-wrapper>
|
||||||
|
|
||||||
<nz-card>
|
<nz-card [nzLoading]="false">
|
||||||
<nz-alert nzType="info" nzMessage="提现信息" class="mb-md"></nz-alert>
|
<nz-alert nzType="info" nzMessage="提现信息" class="mb-md"></nz-alert>
|
||||||
<div se-container [labelWidth]="100">
|
<div se-container [labelWidth]="130">
|
||||||
<se label="网络货运人">
|
<se label="网络货运人">
|
||||||
{{formData?.ltdName}}
|
{{formData?.ltdName}}
|
||||||
</se>
|
</se>
|
||||||
@ -41,16 +41,16 @@
|
|||||||
{{formData?.refundStatusLabel}}
|
{{formData?.refundStatusLabel}}
|
||||||
</se>
|
</se>
|
||||||
<se label="提现金额">
|
<se label="提现金额">
|
||||||
{{formData?.amount}}
|
{{formData?.amount | currency}}
|
||||||
</se>
|
</se>
|
||||||
<se label="银行流水号">
|
<se label="银行流水号">
|
||||||
{{formData?.bankSerialNumber}}
|
{{formData?.bankSerialNumber}}
|
||||||
</se>
|
</se>
|
||||||
<se label="提现至银行卡">
|
<se label="提现至银行卡">
|
||||||
{{formData?.bankId}}
|
{{formData?.bankCardNumber}}
|
||||||
</se>
|
</se>
|
||||||
<se label="银行回单" col="1">
|
<se label="银行回单" col="1">
|
||||||
<img [src]="formData?.bankCardNumber" alt="" style="width: 200px;height: 160px;">
|
<a (click)="downBack()">{{formData?.refundStatus==='3'?'下载回单':'暂无回单'}}</a>
|
||||||
</se>
|
</se>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -67,6 +67,19 @@ export class WithdrawalsDetailComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
downBack() {
|
||||||
|
if (this.formData?.refundStatus !== '3') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.service.getReceiptUrl(this.formData.receiptUrl, {
|
||||||
|
bankType: this.formData.bankType,
|
||||||
|
rmYll: this.formData.userId,
|
||||||
|
snglFlgCd: this.formData.coreSerNo,
|
||||||
|
bussType: '06',
|
||||||
|
ltdId: this.formData.ltdId
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
goBack() {
|
goBack() {
|
||||||
history.go(-1);
|
history.go(-1);
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user