diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a5c8eea --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +codeTemp +.DS_Store +.idea diff --git a/BiVisualPath/banner/banner1.png b/BiVisualPath/banner/banner1.png new file mode 100644 index 0000000..dde96a4 Binary files /dev/null and b/BiVisualPath/banner/banner1.png differ diff --git a/BiVisualPath/banner/banner10.png b/BiVisualPath/banner/banner10.png new file mode 100644 index 0000000..63f9f6b Binary files /dev/null and b/BiVisualPath/banner/banner10.png differ diff --git a/BiVisualPath/banner/banner2.png b/BiVisualPath/banner/banner2.png new file mode 100644 index 0000000..a2f8905 Binary files /dev/null and b/BiVisualPath/banner/banner2.png differ diff --git a/BiVisualPath/banner/banner3.png b/BiVisualPath/banner/banner3.png new file mode 100644 index 0000000..22d0369 Binary files /dev/null and b/BiVisualPath/banner/banner3.png differ diff --git a/BiVisualPath/banner/banner4.png b/BiVisualPath/banner/banner4.png new file mode 100644 index 0000000..3ffe1bd Binary files /dev/null and b/BiVisualPath/banner/banner4.png differ diff --git a/BiVisualPath/banner/banner5.png b/BiVisualPath/banner/banner5.png new file mode 100644 index 0000000..e3e3423 Binary files /dev/null and b/BiVisualPath/banner/banner5.png differ diff --git a/BiVisualPath/banner/banner6.png b/BiVisualPath/banner/banner6.png new file mode 100644 index 0000000..1b8a7e6 Binary files /dev/null and b/BiVisualPath/banner/banner6.png differ diff --git a/BiVisualPath/banner/banner7.png b/BiVisualPath/banner/banner7.png new file mode 100644 index 0000000..6cad215 Binary files /dev/null and b/BiVisualPath/banner/banner7.png differ diff --git a/BiVisualPath/banner/banner8.png b/BiVisualPath/banner/banner8.png new file mode 100644 index 0000000..614a943 Binary files /dev/null and b/BiVisualPath/banner/banner8.png differ diff --git a/BiVisualPath/bg/006f118515bb096cc7548066440516f1.png b/BiVisualPath/bg/006f118515bb096cc7548066440516f1.png new file mode 100644 index 0000000..fb0be91 Binary files /dev/null and b/BiVisualPath/bg/006f118515bb096cc7548066440516f1.png differ diff --git a/BiVisualPath/bg/12a019173ebabbfc82e0b68470f9154c.png b/BiVisualPath/bg/12a019173ebabbfc82e0b68470f9154c.png new file mode 100644 index 0000000..fb0be91 Binary files /dev/null and b/BiVisualPath/bg/12a019173ebabbfc82e0b68470f9154c.png differ diff --git a/BiVisualPath/bg/187851df0776ea1a89615b89870b0863.gif b/BiVisualPath/bg/187851df0776ea1a89615b89870b0863.gif new file mode 100644 index 0000000..2fdb295 Binary files /dev/null and b/BiVisualPath/bg/187851df0776ea1a89615b89870b0863.gif differ diff --git a/BiVisualPath/bg/21bcada45972a76252d5405b6aeb0ad6.png b/BiVisualPath/bg/21bcada45972a76252d5405b6aeb0ad6.png new file mode 100644 index 0000000..e9964ad Binary files /dev/null and b/BiVisualPath/bg/21bcada45972a76252d5405b6aeb0ad6.png differ diff --git a/BiVisualPath/bg/2497cfa849d49faf40d47b2669f761aa.png b/BiVisualPath/bg/2497cfa849d49faf40d47b2669f761aa.png new file mode 100644 index 0000000..fecf3bf Binary files /dev/null and b/BiVisualPath/bg/2497cfa849d49faf40d47b2669f761aa.png differ diff --git a/BiVisualPath/bg/24dbbed4e5dd1f87f3bc1540e59ae2e8.jpg b/BiVisualPath/bg/24dbbed4e5dd1f87f3bc1540e59ae2e8.jpg new file mode 100644 index 0000000..ef1a845 Binary files /dev/null and b/BiVisualPath/bg/24dbbed4e5dd1f87f3bc1540e59ae2e8.jpg differ diff --git a/BiVisualPath/bg/37b95696b2bc392e59b0282ef4b8c7eb.png b/BiVisualPath/bg/37b95696b2bc392e59b0282ef4b8c7eb.png new file mode 100644 index 0000000..a6225c4 Binary files /dev/null and b/BiVisualPath/bg/37b95696b2bc392e59b0282ef4b8c7eb.png differ diff --git a/BiVisualPath/bg/37d1f39b739fa9d8c640b19e5c6b0410.png b/BiVisualPath/bg/37d1f39b739fa9d8c640b19e5c6b0410.png new file mode 100644 index 0000000..a4835bf Binary files /dev/null and b/BiVisualPath/bg/37d1f39b739fa9d8c640b19e5c6b0410.png differ diff --git a/BiVisualPath/bg/391d20010e0931733f5fb84111b2f3f0.jpg b/BiVisualPath/bg/391d20010e0931733f5fb84111b2f3f0.jpg new file mode 100644 index 0000000..8ccb1f1 Binary files /dev/null and b/BiVisualPath/bg/391d20010e0931733f5fb84111b2f3f0.jpg differ diff --git a/BiVisualPath/bg/438e867a8de106e8a17feda3f8dd4c7f.png b/BiVisualPath/bg/438e867a8de106e8a17feda3f8dd4c7f.png new file mode 100644 index 0000000..c108a7b Binary files /dev/null and b/BiVisualPath/bg/438e867a8de106e8a17feda3f8dd4c7f.png differ diff --git a/BiVisualPath/bg/5ffa560b6145e930184c675bb497c00d.png b/BiVisualPath/bg/5ffa560b6145e930184c675bb497c00d.png new file mode 100644 index 0000000..1a5cad9 Binary files /dev/null and b/BiVisualPath/bg/5ffa560b6145e930184c675bb497c00d.png differ diff --git a/BiVisualPath/bg/72c004ddb076b0d13d4c7f249d53ccb9.jpg b/BiVisualPath/bg/72c004ddb076b0d13d4c7f249d53ccb9.jpg new file mode 100644 index 0000000..06dec9b Binary files /dev/null and b/BiVisualPath/bg/72c004ddb076b0d13d4c7f249d53ccb9.jpg differ diff --git a/BiVisualPath/bg/7a530761aafa60ec659721e48766496f.jpg b/BiVisualPath/bg/7a530761aafa60ec659721e48766496f.jpg new file mode 100644 index 0000000..5a951ee Binary files /dev/null and b/BiVisualPath/bg/7a530761aafa60ec659721e48766496f.jpg differ diff --git a/BiVisualPath/bg/806e75531d6175dffe11bfe69a51ccaa.png b/BiVisualPath/bg/806e75531d6175dffe11bfe69a51ccaa.png new file mode 100644 index 0000000..4cf5066 Binary files /dev/null and b/BiVisualPath/bg/806e75531d6175dffe11bfe69a51ccaa.png differ diff --git a/BiVisualPath/bg/83f5425eb297a05807c34f80881cd945.png b/BiVisualPath/bg/83f5425eb297a05807c34f80881cd945.png new file mode 100644 index 0000000..32b69a4 Binary files /dev/null and b/BiVisualPath/bg/83f5425eb297a05807c34f80881cd945.png differ diff --git a/BiVisualPath/bg/86d7f2b2728ef94d88fb228fc539abd1.png b/BiVisualPath/bg/86d7f2b2728ef94d88fb228fc539abd1.png new file mode 100644 index 0000000..c24590a Binary files /dev/null and b/BiVisualPath/bg/86d7f2b2728ef94d88fb228fc539abd1.png differ diff --git a/BiVisualPath/bg/8e7550048fce86166b027707877f8c1e.png b/BiVisualPath/bg/8e7550048fce86166b027707877f8c1e.png new file mode 100644 index 0000000..7491fae Binary files /dev/null and b/BiVisualPath/bg/8e7550048fce86166b027707877f8c1e.png differ diff --git a/BiVisualPath/bg/9dd14f99668767b049e803bd791e13a7.png b/BiVisualPath/bg/9dd14f99668767b049e803bd791e13a7.png new file mode 100644 index 0000000..9be7fb8 Binary files /dev/null and b/BiVisualPath/bg/9dd14f99668767b049e803bd791e13a7.png differ diff --git a/BiVisualPath/bg/9eece7e25357619ef071b848f25298a8.jpg b/BiVisualPath/bg/9eece7e25357619ef071b848f25298a8.jpg new file mode 100644 index 0000000..f29a6a0 Binary files /dev/null and b/BiVisualPath/bg/9eece7e25357619ef071b848f25298a8.jpg differ diff --git a/BiVisualPath/bg/a2869b05303ce912d9e78fbfc40300a4.png b/BiVisualPath/bg/a2869b05303ce912d9e78fbfc40300a4.png new file mode 100644 index 0000000..efc8e71 Binary files /dev/null and b/BiVisualPath/bg/a2869b05303ce912d9e78fbfc40300a4.png differ diff --git a/BiVisualPath/bg/a2e53fb3274434e2486443b951ae86e3.png b/BiVisualPath/bg/a2e53fb3274434e2486443b951ae86e3.png new file mode 100644 index 0000000..c51c6b7 Binary files /dev/null and b/BiVisualPath/bg/a2e53fb3274434e2486443b951ae86e3.png differ diff --git a/BiVisualPath/bg/af640461d4e055e3875cf0eaf733b552.png b/BiVisualPath/bg/af640461d4e055e3875cf0eaf733b552.png new file mode 100644 index 0000000..c3d6c35 Binary files /dev/null and b/BiVisualPath/bg/af640461d4e055e3875cf0eaf733b552.png differ diff --git a/BiVisualPath/bg/b082c94e70e93e03048420a3c830ae62.png b/BiVisualPath/bg/b082c94e70e93e03048420a3c830ae62.png new file mode 100644 index 0000000..3deba12 Binary files /dev/null and b/BiVisualPath/bg/b082c94e70e93e03048420a3c830ae62.png differ diff --git a/BiVisualPath/bg/banner1.png b/BiVisualPath/bg/banner1.png new file mode 100644 index 0000000..dde96a4 Binary files /dev/null and b/BiVisualPath/bg/banner1.png differ diff --git a/BiVisualPath/bg/banner10.png b/BiVisualPath/bg/banner10.png new file mode 100644 index 0000000..63f9f6b Binary files /dev/null and b/BiVisualPath/bg/banner10.png differ diff --git a/BiVisualPath/bg/banner2.png b/BiVisualPath/bg/banner2.png new file mode 100644 index 0000000..a2f8905 Binary files /dev/null and b/BiVisualPath/bg/banner2.png differ diff --git a/BiVisualPath/bg/banner3.png b/BiVisualPath/bg/banner3.png new file mode 100644 index 0000000..22d0369 Binary files /dev/null and b/BiVisualPath/bg/banner3.png differ diff --git a/BiVisualPath/bg/banner4.png b/BiVisualPath/bg/banner4.png new file mode 100644 index 0000000..3ffe1bd Binary files /dev/null and b/BiVisualPath/bg/banner4.png differ diff --git a/BiVisualPath/bg/banner5.png b/BiVisualPath/bg/banner5.png new file mode 100644 index 0000000..e3e3423 Binary files /dev/null and b/BiVisualPath/bg/banner5.png differ diff --git a/BiVisualPath/bg/banner6.png b/BiVisualPath/bg/banner6.png new file mode 100644 index 0000000..1b8a7e6 Binary files /dev/null and b/BiVisualPath/bg/banner6.png differ diff --git a/BiVisualPath/bg/banner7.png b/BiVisualPath/bg/banner7.png new file mode 100644 index 0000000..6cad215 Binary files /dev/null and b/BiVisualPath/bg/banner7.png differ diff --git a/BiVisualPath/bg/banner8.png b/BiVisualPath/bg/banner8.png new file mode 100644 index 0000000..614a943 Binary files /dev/null and b/BiVisualPath/bg/banner8.png differ diff --git a/BiVisualPath/bg/be76680ce0b6a1cdb1908d7be50da0fc.png b/BiVisualPath/bg/be76680ce0b6a1cdb1908d7be50da0fc.png new file mode 100644 index 0000000..126b2f9 Binary files /dev/null and b/BiVisualPath/bg/be76680ce0b6a1cdb1908d7be50da0fc.png differ diff --git a/BiVisualPath/bg/bf0bdb6d3d171c9192aad95dcd34e534.png b/BiVisualPath/bg/bf0bdb6d3d171c9192aad95dcd34e534.png new file mode 100644 index 0000000..93bd197 Binary files /dev/null and b/BiVisualPath/bg/bf0bdb6d3d171c9192aad95dcd34e534.png differ diff --git a/BiVisualPath/bg/bg.png b/BiVisualPath/bg/bg.png new file mode 100644 index 0000000..059bbae Binary files /dev/null and b/BiVisualPath/bg/bg.png differ diff --git a/BiVisualPath/bg/bg1.png b/BiVisualPath/bg/bg1.png new file mode 100644 index 0000000..400d5e7 Binary files /dev/null and b/BiVisualPath/bg/bg1.png differ diff --git a/BiVisualPath/bg/bg10.jpg b/BiVisualPath/bg/bg10.jpg new file mode 100644 index 0000000..511345c Binary files /dev/null and b/BiVisualPath/bg/bg10.jpg differ diff --git a/BiVisualPath/bg/bg11.jpg b/BiVisualPath/bg/bg11.jpg new file mode 100644 index 0000000..43670af Binary files /dev/null and b/BiVisualPath/bg/bg11.jpg differ diff --git a/BiVisualPath/bg/bg12.jpg b/BiVisualPath/bg/bg12.jpg new file mode 100644 index 0000000..3cf5da8 Binary files /dev/null and b/BiVisualPath/bg/bg12.jpg differ diff --git a/BiVisualPath/bg/bg13.jpg b/BiVisualPath/bg/bg13.jpg new file mode 100644 index 0000000..ddf5414 Binary files /dev/null and b/BiVisualPath/bg/bg13.jpg differ diff --git a/BiVisualPath/bg/bg14.jpg b/BiVisualPath/bg/bg14.jpg new file mode 100644 index 0000000..538aff4 Binary files /dev/null and b/BiVisualPath/bg/bg14.jpg differ diff --git a/BiVisualPath/bg/bg15.jpg b/BiVisualPath/bg/bg15.jpg new file mode 100644 index 0000000..3919432 Binary files /dev/null and b/BiVisualPath/bg/bg15.jpg differ diff --git a/BiVisualPath/bg/bg16.jpg b/BiVisualPath/bg/bg16.jpg new file mode 100644 index 0000000..3593f75 Binary files /dev/null and b/BiVisualPath/bg/bg16.jpg differ diff --git a/BiVisualPath/bg/bg17.jpg b/BiVisualPath/bg/bg17.jpg new file mode 100644 index 0000000..c069f3e Binary files /dev/null and b/BiVisualPath/bg/bg17.jpg differ diff --git a/BiVisualPath/bg/bg18.jpg b/BiVisualPath/bg/bg18.jpg new file mode 100644 index 0000000..93455d1 Binary files /dev/null and b/BiVisualPath/bg/bg18.jpg differ diff --git a/BiVisualPath/bg/bg2.png b/BiVisualPath/bg/bg2.png new file mode 100644 index 0000000..f3442ce Binary files /dev/null and b/BiVisualPath/bg/bg2.png differ diff --git a/BiVisualPath/bg/bg3.png b/BiVisualPath/bg/bg3.png new file mode 100644 index 0000000..5bdd026 Binary files /dev/null and b/BiVisualPath/bg/bg3.png differ diff --git a/BiVisualPath/bg/bg4.jpg b/BiVisualPath/bg/bg4.jpg new file mode 100644 index 0000000..c12ad6a Binary files /dev/null and b/BiVisualPath/bg/bg4.jpg differ diff --git a/BiVisualPath/bg/bg5.jpg b/BiVisualPath/bg/bg5.jpg new file mode 100644 index 0000000..733c230 Binary files /dev/null and b/BiVisualPath/bg/bg5.jpg differ diff --git a/BiVisualPath/bg/bg6.jpg b/BiVisualPath/bg/bg6.jpg new file mode 100644 index 0000000..1f2b95e Binary files /dev/null and b/BiVisualPath/bg/bg6.jpg differ diff --git a/BiVisualPath/bg/bg7.jpg b/BiVisualPath/bg/bg7.jpg new file mode 100644 index 0000000..ddf5414 Binary files /dev/null and b/BiVisualPath/bg/bg7.jpg differ diff --git a/BiVisualPath/bg/bg8.jpg b/BiVisualPath/bg/bg8.jpg new file mode 100644 index 0000000..9b7d796 Binary files /dev/null and b/BiVisualPath/bg/bg8.jpg differ diff --git a/BiVisualPath/bg/bg9.jpg b/BiVisualPath/bg/bg9.jpg new file mode 100644 index 0000000..1f2b95e Binary files /dev/null and b/BiVisualPath/bg/bg9.jpg differ diff --git a/BiVisualPath/bg/c77249bc6414936d47261c9d01efa5dc.png b/BiVisualPath/bg/c77249bc6414936d47261c9d01efa5dc.png new file mode 100644 index 0000000..c24590a Binary files /dev/null and b/BiVisualPath/bg/c77249bc6414936d47261c9d01efa5dc.png differ diff --git a/BiVisualPath/bg/ce8c3d6b7050b4bc1e2b1278b1f2e38e.png b/BiVisualPath/bg/ce8c3d6b7050b4bc1e2b1278b1f2e38e.png new file mode 100644 index 0000000..8c2bee1 Binary files /dev/null and b/BiVisualPath/bg/ce8c3d6b7050b4bc1e2b1278b1f2e38e.png differ diff --git a/BiVisualPath/bg/f7fabc2af6c38aebb7ef2376d0386a79.png b/BiVisualPath/bg/f7fabc2af6c38aebb7ef2376d0386a79.png new file mode 100644 index 0000000..3f053c7 Binary files /dev/null and b/BiVisualPath/bg/f7fabc2af6c38aebb7ef2376d0386a79.png differ diff --git a/BiVisualPath/border/border1.png b/BiVisualPath/border/border1.png new file mode 100644 index 0000000..8a745e2 Binary files /dev/null and b/BiVisualPath/border/border1.png differ diff --git a/BiVisualPath/border/border10.png b/BiVisualPath/border/border10.png new file mode 100644 index 0000000..652df81 Binary files /dev/null and b/BiVisualPath/border/border10.png differ diff --git a/BiVisualPath/border/border12.png b/BiVisualPath/border/border12.png new file mode 100644 index 0000000..becc20f Binary files /dev/null and b/BiVisualPath/border/border12.png differ diff --git a/BiVisualPath/border/border14.png b/BiVisualPath/border/border14.png new file mode 100644 index 0000000..9e335a8 Binary files /dev/null and b/BiVisualPath/border/border14.png differ diff --git a/BiVisualPath/border/border15.png b/BiVisualPath/border/border15.png new file mode 100644 index 0000000..ca1fb31 Binary files /dev/null and b/BiVisualPath/border/border15.png differ diff --git a/BiVisualPath/border/border16.png b/BiVisualPath/border/border16.png new file mode 100644 index 0000000..df1b722 Binary files /dev/null and b/BiVisualPath/border/border16.png differ diff --git a/BiVisualPath/border/border17.jpg b/BiVisualPath/border/border17.jpg new file mode 100644 index 0000000..45ed6c9 Binary files /dev/null and b/BiVisualPath/border/border17.jpg differ diff --git a/BiVisualPath/border/border2.png b/BiVisualPath/border/border2.png new file mode 100644 index 0000000..b41c531 Binary files /dev/null and b/BiVisualPath/border/border2.png differ diff --git a/BiVisualPath/border/border3.png b/BiVisualPath/border/border3.png new file mode 100644 index 0000000..ba5d077 Binary files /dev/null and b/BiVisualPath/border/border3.png differ diff --git a/BiVisualPath/border/border4.png b/BiVisualPath/border/border4.png new file mode 100644 index 0000000..bbf4c79 Binary files /dev/null and b/BiVisualPath/border/border4.png differ diff --git a/BiVisualPath/border/border6.png b/BiVisualPath/border/border6.png new file mode 100644 index 0000000..87d953a Binary files /dev/null and b/BiVisualPath/border/border6.png differ diff --git a/BiVisualPath/border/border7.png b/BiVisualPath/border/border7.png new file mode 100644 index 0000000..11f7761 Binary files /dev/null and b/BiVisualPath/border/border7.png differ diff --git a/BiVisualPath/border/border8.png b/BiVisualPath/border/border8.png new file mode 100644 index 0000000..1082281 Binary files /dev/null and b/BiVisualPath/border/border8.png differ diff --git a/BiVisualPath/border/border9.png b/BiVisualPath/border/border9.png new file mode 100644 index 0000000..35af3cd Binary files /dev/null and b/BiVisualPath/border/border9.png differ diff --git a/BiVisualPath/screenShot/06224f6035a76c40de8a226260e9b35e.jpg b/BiVisualPath/screenShot/06224f6035a76c40de8a226260e9b35e.jpg new file mode 100644 index 0000000..e007477 Binary files /dev/null and b/BiVisualPath/screenShot/06224f6035a76c40de8a226260e9b35e.jpg differ diff --git a/BiVisualPath/screenShot/0c7c0e6a0cccd70a25ddf3a42d5164e6.jpg b/BiVisualPath/screenShot/0c7c0e6a0cccd70a25ddf3a42d5164e6.jpg new file mode 100644 index 0000000..878a056 Binary files /dev/null and b/BiVisualPath/screenShot/0c7c0e6a0cccd70a25ddf3a42d5164e6.jpg differ diff --git a/BiVisualPath/screenShot/0d26df7b3d96fc7311879937ffec62eb.jpg b/BiVisualPath/screenShot/0d26df7b3d96fc7311879937ffec62eb.jpg new file mode 100644 index 0000000..6260aed Binary files /dev/null and b/BiVisualPath/screenShot/0d26df7b3d96fc7311879937ffec62eb.jpg differ diff --git a/BiVisualPath/screenShot/10710bd3f76396caec35cd6e1878b1ef.jpg b/BiVisualPath/screenShot/10710bd3f76396caec35cd6e1878b1ef.jpg new file mode 100644 index 0000000..d06b723 Binary files /dev/null and b/BiVisualPath/screenShot/10710bd3f76396caec35cd6e1878b1ef.jpg differ diff --git a/BiVisualPath/screenShot/18ed0260289afacf09b7ac0fd523f8e0.jpg b/BiVisualPath/screenShot/18ed0260289afacf09b7ac0fd523f8e0.jpg new file mode 100644 index 0000000..aca1605 Binary files /dev/null and b/BiVisualPath/screenShot/18ed0260289afacf09b7ac0fd523f8e0.jpg differ diff --git a/BiVisualPath/screenShot/1a5e4f6a01af703a9d7d374329302b9b.jpg b/BiVisualPath/screenShot/1a5e4f6a01af703a9d7d374329302b9b.jpg new file mode 100644 index 0000000..66c4c6a Binary files /dev/null and b/BiVisualPath/screenShot/1a5e4f6a01af703a9d7d374329302b9b.jpg differ diff --git a/BiVisualPath/screenShot/21427aef5045204a103fe502eacfaeb1.jpg b/BiVisualPath/screenShot/21427aef5045204a103fe502eacfaeb1.jpg new file mode 100644 index 0000000..dd22ef3 Binary files /dev/null and b/BiVisualPath/screenShot/21427aef5045204a103fe502eacfaeb1.jpg differ diff --git a/BiVisualPath/screenShot/2252eff7c006006883db99b77d738c4b.jpg b/BiVisualPath/screenShot/2252eff7c006006883db99b77d738c4b.jpg new file mode 100644 index 0000000..18f8dc2 Binary files /dev/null and b/BiVisualPath/screenShot/2252eff7c006006883db99b77d738c4b.jpg differ diff --git a/BiVisualPath/screenShot/2528b0cecc5bb4c322fb3f9dcaa7024f.jpg b/BiVisualPath/screenShot/2528b0cecc5bb4c322fb3f9dcaa7024f.jpg new file mode 100644 index 0000000..7189787 Binary files /dev/null and b/BiVisualPath/screenShot/2528b0cecc5bb4c322fb3f9dcaa7024f.jpg differ diff --git a/BiVisualPath/screenShot/2603641a5f510994ccc740191673e96f.jpg b/BiVisualPath/screenShot/2603641a5f510994ccc740191673e96f.jpg new file mode 100644 index 0000000..4738e21 Binary files /dev/null and b/BiVisualPath/screenShot/2603641a5f510994ccc740191673e96f.jpg differ diff --git a/BiVisualPath/screenShot/2a39ea2aaf023468f0ef9ce9cf23aa66.jpg b/BiVisualPath/screenShot/2a39ea2aaf023468f0ef9ce9cf23aa66.jpg new file mode 100644 index 0000000..df7c533 Binary files /dev/null and b/BiVisualPath/screenShot/2a39ea2aaf023468f0ef9ce9cf23aa66.jpg differ diff --git a/BiVisualPath/screenShot/2bcf7deba047b28954099fea71b64c29.jpg b/BiVisualPath/screenShot/2bcf7deba047b28954099fea71b64c29.jpg new file mode 100644 index 0000000..5f127a9 Binary files /dev/null and b/BiVisualPath/screenShot/2bcf7deba047b28954099fea71b64c29.jpg differ diff --git a/BiVisualPath/screenShot/2ff10990454fdf25b9948d9a4b80e394.jpg b/BiVisualPath/screenShot/2ff10990454fdf25b9948d9a4b80e394.jpg new file mode 100644 index 0000000..feb4a38 Binary files /dev/null and b/BiVisualPath/screenShot/2ff10990454fdf25b9948d9a4b80e394.jpg differ diff --git a/BiVisualPath/screenShot/31fcbd5df9c3f27bad492768c4ce3d60.jpg b/BiVisualPath/screenShot/31fcbd5df9c3f27bad492768c4ce3d60.jpg new file mode 100644 index 0000000..fd51d64 Binary files /dev/null and b/BiVisualPath/screenShot/31fcbd5df9c3f27bad492768c4ce3d60.jpg differ diff --git a/BiVisualPath/screenShot/3269fadef412e527d3b7e82d5c3f0205.jpg b/BiVisualPath/screenShot/3269fadef412e527d3b7e82d5c3f0205.jpg new file mode 100644 index 0000000..07777b4 Binary files /dev/null and b/BiVisualPath/screenShot/3269fadef412e527d3b7e82d5c3f0205.jpg differ diff --git a/BiVisualPath/screenShot/3b00d8307c51914265f28ae59b349264.jpg b/BiVisualPath/screenShot/3b00d8307c51914265f28ae59b349264.jpg new file mode 100644 index 0000000..e150336 Binary files /dev/null and b/BiVisualPath/screenShot/3b00d8307c51914265f28ae59b349264.jpg differ diff --git a/BiVisualPath/screenShot/45e71508fd51b1cf06d056bc74acac3a.jpg b/BiVisualPath/screenShot/45e71508fd51b1cf06d056bc74acac3a.jpg new file mode 100644 index 0000000..dfdebba Binary files /dev/null and b/BiVisualPath/screenShot/45e71508fd51b1cf06d056bc74acac3a.jpg differ diff --git a/BiVisualPath/screenShot/469ecb292907bee5866b6212bfcc011c.jpg b/BiVisualPath/screenShot/469ecb292907bee5866b6212bfcc011c.jpg new file mode 100644 index 0000000..81bffae Binary files /dev/null and b/BiVisualPath/screenShot/469ecb292907bee5866b6212bfcc011c.jpg differ diff --git a/BiVisualPath/screenShot/498d0be500f0c5339296e74bbff83bd6.jpg b/BiVisualPath/screenShot/498d0be500f0c5339296e74bbff83bd6.jpg new file mode 100644 index 0000000..d9b3a1f Binary files /dev/null and b/BiVisualPath/screenShot/498d0be500f0c5339296e74bbff83bd6.jpg differ diff --git a/BiVisualPath/screenShot/519219afbfee5542478f9b62db4c4991.jpg b/BiVisualPath/screenShot/519219afbfee5542478f9b62db4c4991.jpg new file mode 100644 index 0000000..c7d279e Binary files /dev/null and b/BiVisualPath/screenShot/519219afbfee5542478f9b62db4c4991.jpg differ diff --git a/BiVisualPath/screenShot/59d40b9a627c994ff5e6d59f3e04db76.jpg b/BiVisualPath/screenShot/59d40b9a627c994ff5e6d59f3e04db76.jpg new file mode 100644 index 0000000..e831e69 Binary files /dev/null and b/BiVisualPath/screenShot/59d40b9a627c994ff5e6d59f3e04db76.jpg differ diff --git a/BiVisualPath/screenShot/5e0129ea973df30204d0b1781289123c.jpg b/BiVisualPath/screenShot/5e0129ea973df30204d0b1781289123c.jpg new file mode 100644 index 0000000..0b14331 Binary files /dev/null and b/BiVisualPath/screenShot/5e0129ea973df30204d0b1781289123c.jpg differ diff --git a/BiVisualPath/screenShot/63513d591885fcb56d6ecbbf2306da8c.jpg b/BiVisualPath/screenShot/63513d591885fcb56d6ecbbf2306da8c.jpg new file mode 100644 index 0000000..493ebdb Binary files /dev/null and b/BiVisualPath/screenShot/63513d591885fcb56d6ecbbf2306da8c.jpg differ diff --git a/BiVisualPath/screenShot/64ca32562263a8a5dd9bed23.jpg b/BiVisualPath/screenShot/64ca32562263a8a5dd9bed23.jpg new file mode 100644 index 0000000..97fb475 Binary files /dev/null and b/BiVisualPath/screenShot/64ca32562263a8a5dd9bed23.jpg differ diff --git a/BiVisualPath/screenShot/64ca32742263a8a5dd9bed24.jpg b/BiVisualPath/screenShot/64ca32742263a8a5dd9bed24.jpg new file mode 100644 index 0000000..50fbf11 Binary files /dev/null and b/BiVisualPath/screenShot/64ca32742263a8a5dd9bed24.jpg differ diff --git a/BiVisualPath/screenShot/64ca3c5122637eb9697fb93e.jpg b/BiVisualPath/screenShot/64ca3c5122637eb9697fb93e.jpg new file mode 100644 index 0000000..593cc88 Binary files /dev/null and b/BiVisualPath/screenShot/64ca3c5122637eb9697fb93e.jpg differ diff --git a/BiVisualPath/screenShot/64ca3cfb22637eb9697fb93f.jpg b/BiVisualPath/screenShot/64ca3cfb22637eb9697fb93f.jpg new file mode 100644 index 0000000..4fd32a2 Binary files /dev/null and b/BiVisualPath/screenShot/64ca3cfb22637eb9697fb93f.jpg differ diff --git a/BiVisualPath/screenShot/64ca3d6b22637eb9697fb940.jpg b/BiVisualPath/screenShot/64ca3d6b22637eb9697fb940.jpg new file mode 100644 index 0000000..9448555 Binary files /dev/null and b/BiVisualPath/screenShot/64ca3d6b22637eb9697fb940.jpg differ diff --git a/BiVisualPath/screenShot/64ca3e7222637eb9697fb941.jpg b/BiVisualPath/screenShot/64ca3e7222637eb9697fb941.jpg new file mode 100644 index 0000000..a9659a6 Binary files /dev/null and b/BiVisualPath/screenShot/64ca3e7222637eb9697fb941.jpg differ diff --git a/BiVisualPath/screenShot/64ca3ed622637eb9697fb942.jpg b/BiVisualPath/screenShot/64ca3ed622637eb9697fb942.jpg new file mode 100644 index 0000000..199e066 Binary files /dev/null and b/BiVisualPath/screenShot/64ca3ed622637eb9697fb942.jpg differ diff --git a/BiVisualPath/screenShot/64ca3f6c22637eb9697fb944.jpg b/BiVisualPath/screenShot/64ca3f6c22637eb9697fb944.jpg new file mode 100644 index 0000000..b9e65d2 Binary files /dev/null and b/BiVisualPath/screenShot/64ca3f6c22637eb9697fb944.jpg differ diff --git a/BiVisualPath/screenShot/64ca3f8322637eb9697fb945.jpg b/BiVisualPath/screenShot/64ca3f8322637eb9697fb945.jpg new file mode 100644 index 0000000..20b898a Binary files /dev/null and b/BiVisualPath/screenShot/64ca3f8322637eb9697fb945.jpg differ diff --git a/BiVisualPath/screenShot/64ca401922637eb9697fb946.jpg b/BiVisualPath/screenShot/64ca401922637eb9697fb946.jpg new file mode 100644 index 0000000..f1db048 Binary files /dev/null and b/BiVisualPath/screenShot/64ca401922637eb9697fb946.jpg differ diff --git a/BiVisualPath/screenShot/64ca403c22637eb9697fb947.jpg b/BiVisualPath/screenShot/64ca403c22637eb9697fb947.jpg new file mode 100644 index 0000000..c02cbad Binary files /dev/null and b/BiVisualPath/screenShot/64ca403c22637eb9697fb947.jpg differ diff --git a/BiVisualPath/screenShot/64ca405b22637eb9697fb948.jpg b/BiVisualPath/screenShot/64ca405b22637eb9697fb948.jpg new file mode 100644 index 0000000..1ea9320 Binary files /dev/null and b/BiVisualPath/screenShot/64ca405b22637eb9697fb948.jpg differ diff --git a/BiVisualPath/screenShot/64ca416922637eb9697fb949.jpg b/BiVisualPath/screenShot/64ca416922637eb9697fb949.jpg new file mode 100644 index 0000000..31fe092 Binary files /dev/null and b/BiVisualPath/screenShot/64ca416922637eb9697fb949.jpg differ diff --git a/BiVisualPath/screenShot/64ca42bb22637eb9697fb94a.jpg b/BiVisualPath/screenShot/64ca42bb22637eb9697fb94a.jpg new file mode 100644 index 0000000..3be1ba8 Binary files /dev/null and b/BiVisualPath/screenShot/64ca42bb22637eb9697fb94a.jpg differ diff --git a/BiVisualPath/screenShot/64ca432222637eb9697fb94b.jpg b/BiVisualPath/screenShot/64ca432222637eb9697fb94b.jpg new file mode 100644 index 0000000..5487713 Binary files /dev/null and b/BiVisualPath/screenShot/64ca432222637eb9697fb94b.jpg differ diff --git a/BiVisualPath/screenShot/64ca454c22637eb9697fb94c.jpg b/BiVisualPath/screenShot/64ca454c22637eb9697fb94c.jpg new file mode 100644 index 0000000..e75bed6 Binary files /dev/null and b/BiVisualPath/screenShot/64ca454c22637eb9697fb94c.jpg differ diff --git a/BiVisualPath/screenShot/64ca456a22637eb9697fb94d.jpg b/BiVisualPath/screenShot/64ca456a22637eb9697fb94d.jpg new file mode 100644 index 0000000..e9021e6 Binary files /dev/null and b/BiVisualPath/screenShot/64ca456a22637eb9697fb94d.jpg differ diff --git a/BiVisualPath/screenShot/64ca457f22637eb9697fb94e.jpg b/BiVisualPath/screenShot/64ca457f22637eb9697fb94e.jpg new file mode 100644 index 0000000..a4d97f4 Binary files /dev/null and b/BiVisualPath/screenShot/64ca457f22637eb9697fb94e.jpg differ diff --git a/BiVisualPath/screenShot/64ca45a422637eb9697fb94f.jpg b/BiVisualPath/screenShot/64ca45a422637eb9697fb94f.jpg new file mode 100644 index 0000000..4e4ce4f Binary files /dev/null and b/BiVisualPath/screenShot/64ca45a422637eb9697fb94f.jpg differ diff --git a/BiVisualPath/screenShot/64ca45d122637eb9697fb950.jpg b/BiVisualPath/screenShot/64ca45d122637eb9697fb950.jpg new file mode 100644 index 0000000..342b2eb Binary files /dev/null and b/BiVisualPath/screenShot/64ca45d122637eb9697fb950.jpg differ diff --git a/BiVisualPath/screenShot/64ca460a22637eb9697fb951.jpg b/BiVisualPath/screenShot/64ca460a22637eb9697fb951.jpg new file mode 100644 index 0000000..4c7868d Binary files /dev/null and b/BiVisualPath/screenShot/64ca460a22637eb9697fb951.jpg differ diff --git a/BiVisualPath/screenShot/64cc939076311d4e3085d9bd.jpg b/BiVisualPath/screenShot/64cc939076311d4e3085d9bd.jpg new file mode 100644 index 0000000..e0f217a Binary files /dev/null and b/BiVisualPath/screenShot/64cc939076311d4e3085d9bd.jpg differ diff --git a/BiVisualPath/screenShot/64cc93b176311d4e3085d9be.jpg b/BiVisualPath/screenShot/64cc93b176311d4e3085d9be.jpg new file mode 100644 index 0000000..497ba3c Binary files /dev/null and b/BiVisualPath/screenShot/64cc93b176311d4e3085d9be.jpg differ diff --git a/BiVisualPath/screenShot/64cc93b576311d4e3085d9bf.jpg b/BiVisualPath/screenShot/64cc93b576311d4e3085d9bf.jpg new file mode 100644 index 0000000..ed87fdf Binary files /dev/null and b/BiVisualPath/screenShot/64cc93b576311d4e3085d9bf.jpg differ diff --git a/BiVisualPath/screenShot/64cc93bd76311d4e3085d9c0.jpg b/BiVisualPath/screenShot/64cc93bd76311d4e3085d9c0.jpg new file mode 100644 index 0000000..e75bed6 Binary files /dev/null and b/BiVisualPath/screenShot/64cc93bd76311d4e3085d9c0.jpg differ diff --git a/BiVisualPath/screenShot/64cc93c376311d4e3085d9c1.jpg b/BiVisualPath/screenShot/64cc93c376311d4e3085d9c1.jpg new file mode 100644 index 0000000..e9021e6 Binary files /dev/null and b/BiVisualPath/screenShot/64cc93c376311d4e3085d9c1.jpg differ diff --git a/BiVisualPath/screenShot/64cc93e676311d4e3085d9c2.jpg b/BiVisualPath/screenShot/64cc93e676311d4e3085d9c2.jpg new file mode 100644 index 0000000..c7938e2 Binary files /dev/null and b/BiVisualPath/screenShot/64cc93e676311d4e3085d9c2.jpg differ diff --git a/BiVisualPath/screenShot/64cc93e976311d4e3085d9c3.jpg b/BiVisualPath/screenShot/64cc93e976311d4e3085d9c3.jpg new file mode 100644 index 0000000..4e4ce4f Binary files /dev/null and b/BiVisualPath/screenShot/64cc93e976311d4e3085d9c3.jpg differ diff --git a/BiVisualPath/screenShot/64cc93ec76311d4e3085d9c4.jpg b/BiVisualPath/screenShot/64cc93ec76311d4e3085d9c4.jpg new file mode 100644 index 0000000..342b2eb Binary files /dev/null and b/BiVisualPath/screenShot/64cc93ec76311d4e3085d9c4.jpg differ diff --git a/BiVisualPath/screenShot/64cc93f276311d4e3085d9c5.jpg b/BiVisualPath/screenShot/64cc93f276311d4e3085d9c5.jpg new file mode 100644 index 0000000..cb28832 Binary files /dev/null and b/BiVisualPath/screenShot/64cc93f276311d4e3085d9c5.jpg differ diff --git a/BiVisualPath/screenShot/64cc940676311d4e3085d9c6.jpg b/BiVisualPath/screenShot/64cc940676311d4e3085d9c6.jpg new file mode 100644 index 0000000..df5cfcb Binary files /dev/null and b/BiVisualPath/screenShot/64cc940676311d4e3085d9c6.jpg differ diff --git a/BiVisualPath/screenShot/64cc940a76311d4e3085d9c7.jpg b/BiVisualPath/screenShot/64cc940a76311d4e3085d9c7.jpg new file mode 100644 index 0000000..ea11d60 Binary files /dev/null and b/BiVisualPath/screenShot/64cc940a76311d4e3085d9c7.jpg differ diff --git a/BiVisualPath/screenShot/64cc940d76311d4e3085d9c8.jpg b/BiVisualPath/screenShot/64cc940d76311d4e3085d9c8.jpg new file mode 100644 index 0000000..c52d9c4 Binary files /dev/null and b/BiVisualPath/screenShot/64cc940d76311d4e3085d9c8.jpg differ diff --git a/BiVisualPath/screenShot/64cc941076311d4e3085d9c9.jpg b/BiVisualPath/screenShot/64cc941076311d4e3085d9c9.jpg new file mode 100644 index 0000000..c01d635 Binary files /dev/null and b/BiVisualPath/screenShot/64cc941076311d4e3085d9c9.jpg differ diff --git a/BiVisualPath/screenShot/64cc941476311d4e3085d9ca.jpg b/BiVisualPath/screenShot/64cc941476311d4e3085d9ca.jpg new file mode 100644 index 0000000..0ad6158 Binary files /dev/null and b/BiVisualPath/screenShot/64cc941476311d4e3085d9ca.jpg differ diff --git a/BiVisualPath/screenShot/64cc941776311d4e3085d9cb.jpg b/BiVisualPath/screenShot/64cc941776311d4e3085d9cb.jpg new file mode 100644 index 0000000..045c414 Binary files /dev/null and b/BiVisualPath/screenShot/64cc941776311d4e3085d9cb.jpg differ diff --git a/BiVisualPath/screenShot/64cc941c76311d4e3085d9cc.jpg b/BiVisualPath/screenShot/64cc941c76311d4e3085d9cc.jpg new file mode 100644 index 0000000..0453e4d Binary files /dev/null and b/BiVisualPath/screenShot/64cc941c76311d4e3085d9cc.jpg differ diff --git a/BiVisualPath/screenShot/64cc942076311d4e3085d9cd.jpg b/BiVisualPath/screenShot/64cc942076311d4e3085d9cd.jpg new file mode 100644 index 0000000..ef26c49 Binary files /dev/null and b/BiVisualPath/screenShot/64cc942076311d4e3085d9cd.jpg differ diff --git a/BiVisualPath/screenShot/64cc942376311d4e3085d9ce.jpg b/BiVisualPath/screenShot/64cc942376311d4e3085d9ce.jpg new file mode 100644 index 0000000..c4c2f26 Binary files /dev/null and b/BiVisualPath/screenShot/64cc942376311d4e3085d9ce.jpg differ diff --git a/BiVisualPath/screenShot/64cc942676311d4e3085d9cf.jpg b/BiVisualPath/screenShot/64cc942676311d4e3085d9cf.jpg new file mode 100644 index 0000000..ba7a832 Binary files /dev/null and b/BiVisualPath/screenShot/64cc942676311d4e3085d9cf.jpg differ diff --git a/BiVisualPath/screenShot/64cc942976311d4e3085d9d0.jpg b/BiVisualPath/screenShot/64cc942976311d4e3085d9d0.jpg new file mode 100644 index 0000000..afd8331 Binary files /dev/null and b/BiVisualPath/screenShot/64cc942976311d4e3085d9d0.jpg differ diff --git a/BiVisualPath/screenShot/64cc942c76311d4e3085d9d1.jpg b/BiVisualPath/screenShot/64cc942c76311d4e3085d9d1.jpg new file mode 100644 index 0000000..555eedb Binary files /dev/null and b/BiVisualPath/screenShot/64cc942c76311d4e3085d9d1.jpg differ diff --git a/BiVisualPath/screenShot/64cc943176311d4e3085d9d2.jpg b/BiVisualPath/screenShot/64cc943176311d4e3085d9d2.jpg new file mode 100644 index 0000000..40945a3 Binary files /dev/null and b/BiVisualPath/screenShot/64cc943176311d4e3085d9d2.jpg differ diff --git a/BiVisualPath/screenShot/64cc943376311d4e3085d9d3.jpg b/BiVisualPath/screenShot/64cc943376311d4e3085d9d3.jpg new file mode 100644 index 0000000..dd1e6ad Binary files /dev/null and b/BiVisualPath/screenShot/64cc943376311d4e3085d9d3.jpg differ diff --git a/BiVisualPath/screenShot/64cc943776311d4e3085d9d4.jpg b/BiVisualPath/screenShot/64cc943776311d4e3085d9d4.jpg new file mode 100644 index 0000000..01b54a2 Binary files /dev/null and b/BiVisualPath/screenShot/64cc943776311d4e3085d9d4.jpg differ diff --git a/BiVisualPath/screenShot/64cc943a76311d4e3085d9d5.jpg b/BiVisualPath/screenShot/64cc943a76311d4e3085d9d5.jpg new file mode 100644 index 0000000..8275e4f Binary files /dev/null and b/BiVisualPath/screenShot/64cc943a76311d4e3085d9d5.jpg differ diff --git a/BiVisualPath/screenShot/64cc943c76311d4e3085d9d6.jpg b/BiVisualPath/screenShot/64cc943c76311d4e3085d9d6.jpg new file mode 100644 index 0000000..1f10edb Binary files /dev/null and b/BiVisualPath/screenShot/64cc943c76311d4e3085d9d6.jpg differ diff --git a/BiVisualPath/screenShot/64cc944076311d4e3085d9d7.jpg b/BiVisualPath/screenShot/64cc944076311d4e3085d9d7.jpg new file mode 100644 index 0000000..0bce894 Binary files /dev/null and b/BiVisualPath/screenShot/64cc944076311d4e3085d9d7.jpg differ diff --git a/BiVisualPath/screenShot/64cc944376311d4e3085d9d8.jpg b/BiVisualPath/screenShot/64cc944376311d4e3085d9d8.jpg new file mode 100644 index 0000000..3637133 Binary files /dev/null and b/BiVisualPath/screenShot/64cc944376311d4e3085d9d8.jpg differ diff --git a/BiVisualPath/screenShot/64cc944676311d4e3085d9d9.jpg b/BiVisualPath/screenShot/64cc944676311d4e3085d9d9.jpg new file mode 100644 index 0000000..6c33918 Binary files /dev/null and b/BiVisualPath/screenShot/64cc944676311d4e3085d9d9.jpg differ diff --git a/BiVisualPath/screenShot/64cc944976311d4e3085d9da.jpg b/BiVisualPath/screenShot/64cc944976311d4e3085d9da.jpg new file mode 100644 index 0000000..905852f Binary files /dev/null and b/BiVisualPath/screenShot/64cc944976311d4e3085d9da.jpg differ diff --git a/BiVisualPath/screenShot/64cc944c76311d4e3085d9db.jpg b/BiVisualPath/screenShot/64cc944c76311d4e3085d9db.jpg new file mode 100644 index 0000000..e251390 Binary files /dev/null and b/BiVisualPath/screenShot/64cc944c76311d4e3085d9db.jpg differ diff --git a/BiVisualPath/screenShot/64cc945076311d4e3085d9dc.jpg b/BiVisualPath/screenShot/64cc945076311d4e3085d9dc.jpg new file mode 100644 index 0000000..8470e99 Binary files /dev/null and b/BiVisualPath/screenShot/64cc945076311d4e3085d9dc.jpg differ diff --git a/BiVisualPath/screenShot/64cc945476311d4e3085d9dd.jpg b/BiVisualPath/screenShot/64cc945476311d4e3085d9dd.jpg new file mode 100644 index 0000000..992b2aa Binary files /dev/null and b/BiVisualPath/screenShot/64cc945476311d4e3085d9dd.jpg differ diff --git a/BiVisualPath/screenShot/64cc945876311d4e3085d9de.jpg b/BiVisualPath/screenShot/64cc945876311d4e3085d9de.jpg new file mode 100644 index 0000000..da90140 Binary files /dev/null and b/BiVisualPath/screenShot/64cc945876311d4e3085d9de.jpg differ diff --git a/BiVisualPath/screenShot/64cc945c76311d4e3085d9df.jpg b/BiVisualPath/screenShot/64cc945c76311d4e3085d9df.jpg new file mode 100644 index 0000000..cc86b85 Binary files /dev/null and b/BiVisualPath/screenShot/64cc945c76311d4e3085d9df.jpg differ diff --git a/BiVisualPath/screenShot/64cc946176311d4e3085d9e0.jpg b/BiVisualPath/screenShot/64cc946176311d4e3085d9e0.jpg new file mode 100644 index 0000000..a4b7b81 Binary files /dev/null and b/BiVisualPath/screenShot/64cc946176311d4e3085d9e0.jpg differ diff --git a/BiVisualPath/screenShot/64cc946576311d4e3085d9e1.jpg b/BiVisualPath/screenShot/64cc946576311d4e3085d9e1.jpg new file mode 100644 index 0000000..6f0c949 Binary files /dev/null and b/BiVisualPath/screenShot/64cc946576311d4e3085d9e1.jpg differ diff --git a/BiVisualPath/screenShot/64cc946876311d4e3085d9e2.jpg b/BiVisualPath/screenShot/64cc946876311d4e3085d9e2.jpg new file mode 100644 index 0000000..3551e31 Binary files /dev/null and b/BiVisualPath/screenShot/64cc946876311d4e3085d9e2.jpg differ diff --git a/BiVisualPath/screenShot/64cc946b76311d4e3085d9e3.jpg b/BiVisualPath/screenShot/64cc946b76311d4e3085d9e3.jpg new file mode 100644 index 0000000..1fc1606 Binary files /dev/null and b/BiVisualPath/screenShot/64cc946b76311d4e3085d9e3.jpg differ diff --git a/BiVisualPath/screenShot/64cc946e76311d4e3085d9e4.jpg b/BiVisualPath/screenShot/64cc946e76311d4e3085d9e4.jpg new file mode 100644 index 0000000..e022872 Binary files /dev/null and b/BiVisualPath/screenShot/64cc946e76311d4e3085d9e4.jpg differ diff --git a/BiVisualPath/screenShot/64cc947176311d4e3085d9e5.jpg b/BiVisualPath/screenShot/64cc947176311d4e3085d9e5.jpg new file mode 100644 index 0000000..d4bf47e Binary files /dev/null and b/BiVisualPath/screenShot/64cc947176311d4e3085d9e5.jpg differ diff --git a/BiVisualPath/screenShot/64cc947476311d4e3085d9e6.jpg b/BiVisualPath/screenShot/64cc947476311d4e3085d9e6.jpg new file mode 100644 index 0000000..e34f4eb Binary files /dev/null and b/BiVisualPath/screenShot/64cc947476311d4e3085d9e6.jpg differ diff --git a/BiVisualPath/screenShot/6599606c255cb9824353d7692fc2e3d8.jpg b/BiVisualPath/screenShot/6599606c255cb9824353d7692fc2e3d8.jpg new file mode 100644 index 0000000..b38f151 Binary files /dev/null and b/BiVisualPath/screenShot/6599606c255cb9824353d7692fc2e3d8.jpg differ diff --git a/BiVisualPath/screenShot/65ae1c2d22636bb7039d9e08.jpg b/BiVisualPath/screenShot/65ae1c2d22636bb7039d9e08.jpg new file mode 100644 index 0000000..e2c2931 Binary files /dev/null and b/BiVisualPath/screenShot/65ae1c2d22636bb7039d9e08.jpg differ diff --git a/BiVisualPath/screenShot/65ae1c2d22636bb7039d9e08.jpg.thumb.jpg b/BiVisualPath/screenShot/65ae1c2d22636bb7039d9e08.jpg.thumb.jpg new file mode 100644 index 0000000..09ed635 Binary files /dev/null and b/BiVisualPath/screenShot/65ae1c2d22636bb7039d9e08.jpg.thumb.jpg differ diff --git a/BiVisualPath/screenShot/65ae1c3e22636bb7039d9e09.jpg b/BiVisualPath/screenShot/65ae1c3e22636bb7039d9e09.jpg new file mode 100644 index 0000000..7c0b52a Binary files /dev/null and b/BiVisualPath/screenShot/65ae1c3e22636bb7039d9e09.jpg differ diff --git a/BiVisualPath/screenShot/65ae1c3e22636bb7039d9e09.jpg.thumb.jpg b/BiVisualPath/screenShot/65ae1c3e22636bb7039d9e09.jpg.thumb.jpg new file mode 100644 index 0000000..d78ffb3 Binary files /dev/null and b/BiVisualPath/screenShot/65ae1c3e22636bb7039d9e09.jpg.thumb.jpg differ diff --git a/BiVisualPath/screenShot/6683ad261b3b240dcf2006da.jpg b/BiVisualPath/screenShot/6683ad261b3b240dcf2006da.jpg new file mode 100644 index 0000000..9192721 Binary files /dev/null and b/BiVisualPath/screenShot/6683ad261b3b240dcf2006da.jpg differ diff --git a/BiVisualPath/screenShot/669f46a9ec2e17cecdea16f7.jpg b/BiVisualPath/screenShot/669f46a9ec2e17cecdea16f7.jpg new file mode 100644 index 0000000..1123c0d Binary files /dev/null and b/BiVisualPath/screenShot/669f46a9ec2e17cecdea16f7.jpg differ diff --git a/BiVisualPath/screenShot/669f47dcec2eda2075627ef6.jpg b/BiVisualPath/screenShot/669f47dcec2eda2075627ef6.jpg new file mode 100644 index 0000000..6f87f2f Binary files /dev/null and b/BiVisualPath/screenShot/669f47dcec2eda2075627ef6.jpg differ diff --git a/BiVisualPath/screenShot/669f4846ec2eda2075627ef7.jpg b/BiVisualPath/screenShot/669f4846ec2eda2075627ef7.jpg new file mode 100644 index 0000000..b55da93 Binary files /dev/null and b/BiVisualPath/screenShot/669f4846ec2eda2075627ef7.jpg differ diff --git a/BiVisualPath/screenShot/669f48a3ec2eda2075627ef8.jpg b/BiVisualPath/screenShot/669f48a3ec2eda2075627ef8.jpg new file mode 100644 index 0000000..04ce808 Binary files /dev/null and b/BiVisualPath/screenShot/669f48a3ec2eda2075627ef8.jpg differ diff --git a/BiVisualPath/screenShot/669f48dbec2eda2075627ef9.jpg b/BiVisualPath/screenShot/669f48dbec2eda2075627ef9.jpg new file mode 100644 index 0000000..9014ee8 Binary files /dev/null and b/BiVisualPath/screenShot/669f48dbec2eda2075627ef9.jpg differ diff --git a/BiVisualPath/screenShot/669f48f7ec2eda2075627efa.jpg b/BiVisualPath/screenShot/669f48f7ec2eda2075627efa.jpg new file mode 100644 index 0000000..c8dfc05 Binary files /dev/null and b/BiVisualPath/screenShot/669f48f7ec2eda2075627efa.jpg differ diff --git a/BiVisualPath/screenShot/669f4983ec2eda2075627efb.jpg b/BiVisualPath/screenShot/669f4983ec2eda2075627efb.jpg new file mode 100644 index 0000000..bc9ba1c Binary files /dev/null and b/BiVisualPath/screenShot/669f4983ec2eda2075627efb.jpg differ diff --git a/BiVisualPath/screenShot/669f49caec2eda2075627efc.jpg b/BiVisualPath/screenShot/669f49caec2eda2075627efc.jpg new file mode 100644 index 0000000..b03b307 Binary files /dev/null and b/BiVisualPath/screenShot/669f49caec2eda2075627efc.jpg differ diff --git a/BiVisualPath/screenShot/669f49f1ec2eda2075627efd.jpg b/BiVisualPath/screenShot/669f49f1ec2eda2075627efd.jpg new file mode 100644 index 0000000..060633d Binary files /dev/null and b/BiVisualPath/screenShot/669f49f1ec2eda2075627efd.jpg differ diff --git a/BiVisualPath/screenShot/669f4aa9ec2eda2075627efe.jpg b/BiVisualPath/screenShot/669f4aa9ec2eda2075627efe.jpg new file mode 100644 index 0000000..8d2502e Binary files /dev/null and b/BiVisualPath/screenShot/669f4aa9ec2eda2075627efe.jpg differ diff --git a/BiVisualPath/screenShot/669f4b1eec2eda2075627eff.jpg b/BiVisualPath/screenShot/669f4b1eec2eda2075627eff.jpg new file mode 100644 index 0000000..c9c24fa Binary files /dev/null and b/BiVisualPath/screenShot/669f4b1eec2eda2075627eff.jpg differ diff --git a/BiVisualPath/screenShot/669f4b30ec2eda2075627f00.jpg b/BiVisualPath/screenShot/669f4b30ec2eda2075627f00.jpg new file mode 100644 index 0000000..c8bdd50 Binary files /dev/null and b/BiVisualPath/screenShot/669f4b30ec2eda2075627f00.jpg differ diff --git a/BiVisualPath/screenShot/669f4b97ec2eda2075627f01.jpg b/BiVisualPath/screenShot/669f4b97ec2eda2075627f01.jpg new file mode 100644 index 0000000..35af6e8 Binary files /dev/null and b/BiVisualPath/screenShot/669f4b97ec2eda2075627f01.jpg differ diff --git a/BiVisualPath/screenShot/669f4ba4ec2eda2075627f02.jpg b/BiVisualPath/screenShot/669f4ba4ec2eda2075627f02.jpg new file mode 100644 index 0000000..c73f2f6 Binary files /dev/null and b/BiVisualPath/screenShot/669f4ba4ec2eda2075627f02.jpg differ diff --git a/BiVisualPath/screenShot/669f4bcdec2eda2075627f03.jpg b/BiVisualPath/screenShot/669f4bcdec2eda2075627f03.jpg new file mode 100644 index 0000000..d6f8d1f Binary files /dev/null and b/BiVisualPath/screenShot/669f4bcdec2eda2075627f03.jpg differ diff --git a/BiVisualPath/screenShot/669f4c41ec2eda2075627f04.jpg b/BiVisualPath/screenShot/669f4c41ec2eda2075627f04.jpg new file mode 100644 index 0000000..bda90d9 Binary files /dev/null and b/BiVisualPath/screenShot/669f4c41ec2eda2075627f04.jpg differ diff --git a/BiVisualPath/screenShot/669f4c67ec2eda2075627f05.jpg b/BiVisualPath/screenShot/669f4c67ec2eda2075627f05.jpg new file mode 100644 index 0000000..6145e03 Binary files /dev/null and b/BiVisualPath/screenShot/669f4c67ec2eda2075627f05.jpg differ diff --git a/BiVisualPath/screenShot/669f4c7fec2eda2075627f06.jpg b/BiVisualPath/screenShot/669f4c7fec2eda2075627f06.jpg new file mode 100644 index 0000000..5b98fa8 Binary files /dev/null and b/BiVisualPath/screenShot/669f4c7fec2eda2075627f06.jpg differ diff --git a/BiVisualPath/screenShot/669f4c97ec2eda2075627f07.jpg b/BiVisualPath/screenShot/669f4c97ec2eda2075627f07.jpg new file mode 100644 index 0000000..5b98fa8 Binary files /dev/null and b/BiVisualPath/screenShot/669f4c97ec2eda2075627f07.jpg differ diff --git a/BiVisualPath/screenShot/669f4cbaec2eda2075627f08.jpg b/BiVisualPath/screenShot/669f4cbaec2eda2075627f08.jpg new file mode 100644 index 0000000..9b5b870 Binary files /dev/null and b/BiVisualPath/screenShot/669f4cbaec2eda2075627f08.jpg differ diff --git a/BiVisualPath/screenShot/669f4ce1ec2eda2075627f09.jpg b/BiVisualPath/screenShot/669f4ce1ec2eda2075627f09.jpg new file mode 100644 index 0000000..d755c89 Binary files /dev/null and b/BiVisualPath/screenShot/669f4ce1ec2eda2075627f09.jpg differ diff --git a/BiVisualPath/screenShot/669f4cffec2eda2075627f0a.jpg b/BiVisualPath/screenShot/669f4cffec2eda2075627f0a.jpg new file mode 100644 index 0000000..69664c7 Binary files /dev/null and b/BiVisualPath/screenShot/669f4cffec2eda2075627f0a.jpg differ diff --git a/BiVisualPath/screenShot/669f4d22ec2eda2075627f0b.jpg b/BiVisualPath/screenShot/669f4d22ec2eda2075627f0b.jpg new file mode 100644 index 0000000..c9d6f9c Binary files /dev/null and b/BiVisualPath/screenShot/669f4d22ec2eda2075627f0b.jpg differ diff --git a/BiVisualPath/screenShot/669f4dbaec2eda2075627f0c.jpg b/BiVisualPath/screenShot/669f4dbaec2eda2075627f0c.jpg new file mode 100644 index 0000000..f7ee896 Binary files /dev/null and b/BiVisualPath/screenShot/669f4dbaec2eda2075627f0c.jpg differ diff --git a/BiVisualPath/screenShot/669f4e22ec2eda2075627f0d.jpg b/BiVisualPath/screenShot/669f4e22ec2eda2075627f0d.jpg new file mode 100644 index 0000000..167e3f8 Binary files /dev/null and b/BiVisualPath/screenShot/669f4e22ec2eda2075627f0d.jpg differ diff --git a/BiVisualPath/screenShot/669f4eb1ec2eda2075627f0e.jpg b/BiVisualPath/screenShot/669f4eb1ec2eda2075627f0e.jpg new file mode 100644 index 0000000..bb1be48 Binary files /dev/null and b/BiVisualPath/screenShot/669f4eb1ec2eda2075627f0e.jpg differ diff --git a/BiVisualPath/screenShot/669f4ec4ec2eda2075627f0f.jpg b/BiVisualPath/screenShot/669f4ec4ec2eda2075627f0f.jpg new file mode 100644 index 0000000..ea3f3a7 Binary files /dev/null and b/BiVisualPath/screenShot/669f4ec4ec2eda2075627f0f.jpg differ diff --git a/BiVisualPath/screenShot/669f4f0cec2eda2075627f10.jpg b/BiVisualPath/screenShot/669f4f0cec2eda2075627f10.jpg new file mode 100644 index 0000000..6970327 Binary files /dev/null and b/BiVisualPath/screenShot/669f4f0cec2eda2075627f10.jpg differ diff --git a/BiVisualPath/screenShot/669f4f96ec2eda2075627f11.jpg b/BiVisualPath/screenShot/669f4f96ec2eda2075627f11.jpg new file mode 100644 index 0000000..2692e19 Binary files /dev/null and b/BiVisualPath/screenShot/669f4f96ec2eda2075627f11.jpg differ diff --git a/BiVisualPath/screenShot/669f541aec2eda2075627f12.jpg b/BiVisualPath/screenShot/669f541aec2eda2075627f12.jpg new file mode 100644 index 0000000..2457460 Binary files /dev/null and b/BiVisualPath/screenShot/669f541aec2eda2075627f12.jpg differ diff --git a/BiVisualPath/screenShot/669f550fec2eda2075627f13.jpg b/BiVisualPath/screenShot/669f550fec2eda2075627f13.jpg new file mode 100644 index 0000000..f9b2f76 Binary files /dev/null and b/BiVisualPath/screenShot/669f550fec2eda2075627f13.jpg differ diff --git a/BiVisualPath/screenShot/66a0a697ec2e0c215038a09b.jpg b/BiVisualPath/screenShot/66a0a697ec2e0c215038a09b.jpg new file mode 100644 index 0000000..357dc04 Binary files /dev/null and b/BiVisualPath/screenShot/66a0a697ec2e0c215038a09b.jpg differ diff --git a/BiVisualPath/screenShot/6767b598a077be0695255da10bb518d4.jpg b/BiVisualPath/screenShot/6767b598a077be0695255da10bb518d4.jpg new file mode 100644 index 0000000..e187d1c Binary files /dev/null and b/BiVisualPath/screenShot/6767b598a077be0695255da10bb518d4.jpg differ diff --git a/BiVisualPath/screenShot/6d5502f8bc7b148656ecf92842987dd8.jpg b/BiVisualPath/screenShot/6d5502f8bc7b148656ecf92842987dd8.jpg new file mode 100644 index 0000000..87444b2 Binary files /dev/null and b/BiVisualPath/screenShot/6d5502f8bc7b148656ecf92842987dd8.jpg differ diff --git a/BiVisualPath/screenShot/709e18fb7f555fde7d1804db785565ff.jpg b/BiVisualPath/screenShot/709e18fb7f555fde7d1804db785565ff.jpg new file mode 100644 index 0000000..df8d553 Binary files /dev/null and b/BiVisualPath/screenShot/709e18fb7f555fde7d1804db785565ff.jpg differ diff --git a/BiVisualPath/screenShot/75a2c56d496e45b1fde455e8f9cabaa5.jpg b/BiVisualPath/screenShot/75a2c56d496e45b1fde455e8f9cabaa5.jpg new file mode 100644 index 0000000..27d7b21 Binary files /dev/null and b/BiVisualPath/screenShot/75a2c56d496e45b1fde455e8f9cabaa5.jpg differ diff --git a/BiVisualPath/screenShot/78058bacd0037eff21b3e5611110938f.jpg b/BiVisualPath/screenShot/78058bacd0037eff21b3e5611110938f.jpg new file mode 100644 index 0000000..60c3c4a Binary files /dev/null and b/BiVisualPath/screenShot/78058bacd0037eff21b3e5611110938f.jpg differ diff --git a/BiVisualPath/screenShot/7abb2c799253a2c8093b725b7c70398a.jpg b/BiVisualPath/screenShot/7abb2c799253a2c8093b725b7c70398a.jpg new file mode 100644 index 0000000..df54925 Binary files /dev/null and b/BiVisualPath/screenShot/7abb2c799253a2c8093b725b7c70398a.jpg differ diff --git a/BiVisualPath/screenShot/7edd8f3f2b4ccdfca151bc1a0ec65b70.jpg b/BiVisualPath/screenShot/7edd8f3f2b4ccdfca151bc1a0ec65b70.jpg new file mode 100644 index 0000000..341cc42 Binary files /dev/null and b/BiVisualPath/screenShot/7edd8f3f2b4ccdfca151bc1a0ec65b70.jpg differ diff --git a/BiVisualPath/screenShot/820f7f4f095a69ce61bc9e4ab13c8b4e.jpg b/BiVisualPath/screenShot/820f7f4f095a69ce61bc9e4ab13c8b4e.jpg new file mode 100644 index 0000000..9dd0c85 Binary files /dev/null and b/BiVisualPath/screenShot/820f7f4f095a69ce61bc9e4ab13c8b4e.jpg differ diff --git a/BiVisualPath/screenShot/85d107196017e9b268bd6a64f334ae1e.jpg b/BiVisualPath/screenShot/85d107196017e9b268bd6a64f334ae1e.jpg new file mode 100644 index 0000000..03bb6c2 Binary files /dev/null and b/BiVisualPath/screenShot/85d107196017e9b268bd6a64f334ae1e.jpg differ diff --git a/BiVisualPath/screenShot/86e04a63792952a1b57b2e519272d7f3.jpg b/BiVisualPath/screenShot/86e04a63792952a1b57b2e519272d7f3.jpg new file mode 100644 index 0000000..9e8c070 Binary files /dev/null and b/BiVisualPath/screenShot/86e04a63792952a1b57b2e519272d7f3.jpg differ diff --git a/BiVisualPath/screenShot/8fcf144d7ba54e166dad6110e878bd18.jpg b/BiVisualPath/screenShot/8fcf144d7ba54e166dad6110e878bd18.jpg new file mode 100644 index 0000000..f4d245a Binary files /dev/null and b/BiVisualPath/screenShot/8fcf144d7ba54e166dad6110e878bd18.jpg differ diff --git a/BiVisualPath/screenShot/a084c02c40341af87d7a3f899ae03cce.jpg b/BiVisualPath/screenShot/a084c02c40341af87d7a3f899ae03cce.jpg new file mode 100644 index 0000000..e6401d4 Binary files /dev/null and b/BiVisualPath/screenShot/a084c02c40341af87d7a3f899ae03cce.jpg differ diff --git a/BiVisualPath/screenShot/a5b594bf7cce334a591830323ab216ee.jpg b/BiVisualPath/screenShot/a5b594bf7cce334a591830323ab216ee.jpg new file mode 100644 index 0000000..604113b Binary files /dev/null and b/BiVisualPath/screenShot/a5b594bf7cce334a591830323ab216ee.jpg differ diff --git a/BiVisualPath/screenShot/a6849c296760529eea8a9b466254faef.jpg b/BiVisualPath/screenShot/a6849c296760529eea8a9b466254faef.jpg new file mode 100644 index 0000000..e1a3a6e Binary files /dev/null and b/BiVisualPath/screenShot/a6849c296760529eea8a9b466254faef.jpg differ diff --git a/BiVisualPath/screenShot/a752bf33260dd8db5c11360bbff39728.jpg b/BiVisualPath/screenShot/a752bf33260dd8db5c11360bbff39728.jpg new file mode 100644 index 0000000..9ae17f2 Binary files /dev/null and b/BiVisualPath/screenShot/a752bf33260dd8db5c11360bbff39728.jpg differ diff --git a/BiVisualPath/screenShot/aa00a0f4261252e95d65583ea120d4f4.jpg b/BiVisualPath/screenShot/aa00a0f4261252e95d65583ea120d4f4.jpg new file mode 100644 index 0000000..3661e35 Binary files /dev/null and b/BiVisualPath/screenShot/aa00a0f4261252e95d65583ea120d4f4.jpg differ diff --git a/BiVisualPath/screenShot/abe47c7959de86f7b1b7e6134b7c8e7c.jpg b/BiVisualPath/screenShot/abe47c7959de86f7b1b7e6134b7c8e7c.jpg new file mode 100644 index 0000000..25a39c8 Binary files /dev/null and b/BiVisualPath/screenShot/abe47c7959de86f7b1b7e6134b7c8e7c.jpg differ diff --git a/BiVisualPath/screenShot/ae2aa07e3ef85037201e192cea4763f3.jpg b/BiVisualPath/screenShot/ae2aa07e3ef85037201e192cea4763f3.jpg new file mode 100644 index 0000000..d3963f6 Binary files /dev/null and b/BiVisualPath/screenShot/ae2aa07e3ef85037201e192cea4763f3.jpg differ diff --git a/BiVisualPath/screenShot/afb9f9615cec030e8b04b326688bc9c0.jpg b/BiVisualPath/screenShot/afb9f9615cec030e8b04b326688bc9c0.jpg new file mode 100644 index 0000000..6c6b670 Binary files /dev/null and b/BiVisualPath/screenShot/afb9f9615cec030e8b04b326688bc9c0.jpg differ diff --git a/BiVisualPath/screenShot/b15eaf86c1cad0ac605279dac8ff9fe7.jpg b/BiVisualPath/screenShot/b15eaf86c1cad0ac605279dac8ff9fe7.jpg new file mode 100644 index 0000000..b7388ec Binary files /dev/null and b/BiVisualPath/screenShot/b15eaf86c1cad0ac605279dac8ff9fe7.jpg differ diff --git a/BiVisualPath/screenShot/b215d60661e5b896db5c26948f130a59.jpg b/BiVisualPath/screenShot/b215d60661e5b896db5c26948f130a59.jpg new file mode 100644 index 0000000..9d443d1 Binary files /dev/null and b/BiVisualPath/screenShot/b215d60661e5b896db5c26948f130a59.jpg differ diff --git a/BiVisualPath/screenShot/b3e21d4182e107ebb307f46e08572701.jpg b/BiVisualPath/screenShot/b3e21d4182e107ebb307f46e08572701.jpg new file mode 100644 index 0000000..2552440 Binary files /dev/null and b/BiVisualPath/screenShot/b3e21d4182e107ebb307f46e08572701.jpg differ diff --git a/BiVisualPath/screenShot/b81ffab8dcc6d2cde005397986b3dba4.jpg b/BiVisualPath/screenShot/b81ffab8dcc6d2cde005397986b3dba4.jpg new file mode 100644 index 0000000..fa3504f Binary files /dev/null and b/BiVisualPath/screenShot/b81ffab8dcc6d2cde005397986b3dba4.jpg differ diff --git a/BiVisualPath/screenShot/ba6387c840d534047d55dc65e97b2ae4.jpg b/BiVisualPath/screenShot/ba6387c840d534047d55dc65e97b2ae4.jpg new file mode 100644 index 0000000..4a1706f Binary files /dev/null and b/BiVisualPath/screenShot/ba6387c840d534047d55dc65e97b2ae4.jpg differ diff --git a/BiVisualPath/screenShot/bb77c84dfb15a80c33e11357ec370003.jpg b/BiVisualPath/screenShot/bb77c84dfb15a80c33e11357ec370003.jpg new file mode 100644 index 0000000..58c125c Binary files /dev/null and b/BiVisualPath/screenShot/bb77c84dfb15a80c33e11357ec370003.jpg differ diff --git a/BiVisualPath/screenShot/bc65a08a22e1169c1f6854d0b0b3d108.jpg b/BiVisualPath/screenShot/bc65a08a22e1169c1f6854d0b0b3d108.jpg new file mode 100644 index 0000000..68ca253 Binary files /dev/null and b/BiVisualPath/screenShot/bc65a08a22e1169c1f6854d0b0b3d108.jpg differ diff --git a/BiVisualPath/screenShot/c185eda08436d4184854124454386268.jpg b/BiVisualPath/screenShot/c185eda08436d4184854124454386268.jpg new file mode 100644 index 0000000..4373427 Binary files /dev/null and b/BiVisualPath/screenShot/c185eda08436d4184854124454386268.jpg differ diff --git a/BiVisualPath/screenShot/c316a23870b88e78a0f2b74532968516.jpg b/BiVisualPath/screenShot/c316a23870b88e78a0f2b74532968516.jpg new file mode 100644 index 0000000..c788be7 Binary files /dev/null and b/BiVisualPath/screenShot/c316a23870b88e78a0f2b74532968516.jpg differ diff --git a/BiVisualPath/screenShot/c538a902087ea03f96267dcacfa80398.jpg b/BiVisualPath/screenShot/c538a902087ea03f96267dcacfa80398.jpg new file mode 100644 index 0000000..0cfbe95 Binary files /dev/null and b/BiVisualPath/screenShot/c538a902087ea03f96267dcacfa80398.jpg differ diff --git a/BiVisualPath/screenShot/c86e8012b0b0052a9550ed242ae4e00b.jpg b/BiVisualPath/screenShot/c86e8012b0b0052a9550ed242ae4e00b.jpg new file mode 100644 index 0000000..3fbd169 Binary files /dev/null and b/BiVisualPath/screenShot/c86e8012b0b0052a9550ed242ae4e00b.jpg differ diff --git a/BiVisualPath/screenShot/c8e489b4ef33152e9a7fb8e2051ad9db.jpg b/BiVisualPath/screenShot/c8e489b4ef33152e9a7fb8e2051ad9db.jpg new file mode 100644 index 0000000..0a3ab05 Binary files /dev/null and b/BiVisualPath/screenShot/c8e489b4ef33152e9a7fb8e2051ad9db.jpg differ diff --git a/BiVisualPath/screenShot/ca5a657f9ec5df5cf20855d23d2e2ba8.jpg b/BiVisualPath/screenShot/ca5a657f9ec5df5cf20855d23d2e2ba8.jpg new file mode 100644 index 0000000..7e0693b Binary files /dev/null and b/BiVisualPath/screenShot/ca5a657f9ec5df5cf20855d23d2e2ba8.jpg differ diff --git a/BiVisualPath/screenShot/d0a752d227a8a95d9aa572bcd017bce0.jpg b/BiVisualPath/screenShot/d0a752d227a8a95d9aa572bcd017bce0.jpg new file mode 100644 index 0000000..323687c Binary files /dev/null and b/BiVisualPath/screenShot/d0a752d227a8a95d9aa572bcd017bce0.jpg differ diff --git a/BiVisualPath/screenShot/d0ae9e2ff127ad7de6a69fc471cb8d54.jpg b/BiVisualPath/screenShot/d0ae9e2ff127ad7de6a69fc471cb8d54.jpg new file mode 100644 index 0000000..ab197de Binary files /dev/null and b/BiVisualPath/screenShot/d0ae9e2ff127ad7de6a69fc471cb8d54.jpg differ diff --git a/BiVisualPath/screenShot/d27b573357a88357e0dd36a2760196a0.jpg b/BiVisualPath/screenShot/d27b573357a88357e0dd36a2760196a0.jpg new file mode 100644 index 0000000..1993ece Binary files /dev/null and b/BiVisualPath/screenShot/d27b573357a88357e0dd36a2760196a0.jpg differ diff --git a/BiVisualPath/screenShot/ddf15a0ec948e811832ae5011ca66029.jpg b/BiVisualPath/screenShot/ddf15a0ec948e811832ae5011ca66029.jpg new file mode 100644 index 0000000..f591a7a Binary files /dev/null and b/BiVisualPath/screenShot/ddf15a0ec948e811832ae5011ca66029.jpg differ diff --git a/BiVisualPath/screenShot/df8c1918b95574a8e49b98aa34f6e0ce.jpg b/BiVisualPath/screenShot/df8c1918b95574a8e49b98aa34f6e0ce.jpg new file mode 100644 index 0000000..7b897c4 Binary files /dev/null and b/BiVisualPath/screenShot/df8c1918b95574a8e49b98aa34f6e0ce.jpg differ diff --git a/BiVisualPath/screenShot/e32800d1596742771a072687e1c76851.jpg b/BiVisualPath/screenShot/e32800d1596742771a072687e1c76851.jpg new file mode 100644 index 0000000..be86efc Binary files /dev/null and b/BiVisualPath/screenShot/e32800d1596742771a072687e1c76851.jpg differ diff --git a/BiVisualPath/screenShot/e401b54c1fe49fbd87284b4c0ec30bb6.jpg b/BiVisualPath/screenShot/e401b54c1fe49fbd87284b4c0ec30bb6.jpg new file mode 100644 index 0000000..f01bcf7 Binary files /dev/null and b/BiVisualPath/screenShot/e401b54c1fe49fbd87284b4c0ec30bb6.jpg differ diff --git a/BiVisualPath/screenShot/e5e3cdfa6e4459d0f92f69ba384bdbfd.jpg b/BiVisualPath/screenShot/e5e3cdfa6e4459d0f92f69ba384bdbfd.jpg new file mode 100644 index 0000000..70fce1d Binary files /dev/null and b/BiVisualPath/screenShot/e5e3cdfa6e4459d0f92f69ba384bdbfd.jpg differ diff --git a/BiVisualPath/screenShot/e6750e9388175e5dedf32329172f5180.jpg b/BiVisualPath/screenShot/e6750e9388175e5dedf32329172f5180.jpg new file mode 100644 index 0000000..d164c32 Binary files /dev/null and b/BiVisualPath/screenShot/e6750e9388175e5dedf32329172f5180.jpg differ diff --git a/BiVisualPath/screenShot/e7a5c8c25f9fd8e27cc7cfa7dad55335.jpg b/BiVisualPath/screenShot/e7a5c8c25f9fd8e27cc7cfa7dad55335.jpg new file mode 100644 index 0000000..f36a609 Binary files /dev/null and b/BiVisualPath/screenShot/e7a5c8c25f9fd8e27cc7cfa7dad55335.jpg differ diff --git a/BiVisualPath/screenShot/e8a8266fec6a6499e16511b33bfedcd2.jpg b/BiVisualPath/screenShot/e8a8266fec6a6499e16511b33bfedcd2.jpg new file mode 100644 index 0000000..feec693 Binary files /dev/null and b/BiVisualPath/screenShot/e8a8266fec6a6499e16511b33bfedcd2.jpg differ diff --git a/BiVisualPath/screenShot/f00fd4d6acf0a55e75382db5c4b4b089.jpg b/BiVisualPath/screenShot/f00fd4d6acf0a55e75382db5c4b4b089.jpg new file mode 100644 index 0000000..b5842dd Binary files /dev/null and b/BiVisualPath/screenShot/f00fd4d6acf0a55e75382db5c4b4b089.jpg differ diff --git a/BiVisualPath/screenShot/f099d1868ede923dba8d015d7e38ac74.jpg b/BiVisualPath/screenShot/f099d1868ede923dba8d015d7e38ac74.jpg new file mode 100644 index 0000000..bde7df6 Binary files /dev/null and b/BiVisualPath/screenShot/f099d1868ede923dba8d015d7e38ac74.jpg differ diff --git a/BiVisualPath/screenShot/f1d2aa70279ccebcfb1db79cf1607fea.jpg b/BiVisualPath/screenShot/f1d2aa70279ccebcfb1db79cf1607fea.jpg new file mode 100644 index 0000000..c283781 Binary files /dev/null and b/BiVisualPath/screenShot/f1d2aa70279ccebcfb1db79cf1607fea.jpg differ diff --git a/BiVisualPath/screenShot/f24094f21be4c419cae4245efff2dc25.jpg b/BiVisualPath/screenShot/f24094f21be4c419cae4245efff2dc25.jpg new file mode 100644 index 0000000..2d5fe10 Binary files /dev/null and b/BiVisualPath/screenShot/f24094f21be4c419cae4245efff2dc25.jpg differ diff --git a/BiVisualPath/screenShot/f3b5b0c45bfc7563036a3818b8b0efa3.jpg b/BiVisualPath/screenShot/f3b5b0c45bfc7563036a3818b8b0efa3.jpg new file mode 100644 index 0000000..552fe50 Binary files /dev/null and b/BiVisualPath/screenShot/f3b5b0c45bfc7563036a3818b8b0efa3.jpg differ diff --git a/BiVisualPath/screenShot/f69c0faabe9762a1c51dca402ae63931.jpg b/BiVisualPath/screenShot/f69c0faabe9762a1c51dca402ae63931.jpg new file mode 100644 index 0000000..ff9bbd8 Binary files /dev/null and b/BiVisualPath/screenShot/f69c0faabe9762a1c51dca402ae63931.jpg differ diff --git a/BiVisualPath/screenShot/f949c7ac4bbeb1dcbbfc01eeb0056248.jpg b/BiVisualPath/screenShot/f949c7ac4bbeb1dcbbfc01eeb0056248.jpg new file mode 100644 index 0000000..9712771 Binary files /dev/null and b/BiVisualPath/screenShot/f949c7ac4bbeb1dcbbfc01eeb0056248.jpg differ diff --git a/BiVisualPath/screenShot/fa2f0f608e6d0087a66baa89e9b35543.jpg b/BiVisualPath/screenShot/fa2f0f608e6d0087a66baa89e9b35543.jpg new file mode 100644 index 0000000..ac25c52 Binary files /dev/null and b/BiVisualPath/screenShot/fa2f0f608e6d0087a66baa89e9b35543.jpg differ diff --git a/BiVisualPath/screenShot/fc39fa980cbd3a22eb4ae5d60932ec89.jpg b/BiVisualPath/screenShot/fc39fa980cbd3a22eb4ae5d60932ec89.jpg new file mode 100644 index 0000000..52467d8 Binary files /dev/null and b/BiVisualPath/screenShot/fc39fa980cbd3a22eb4ae5d60932ec89.jpg differ diff --git a/BiVisualPath/screenShot/ffbbf2289594622fa7bb458507eee1c6.jpg b/BiVisualPath/screenShot/ffbbf2289594622fa7bb458507eee1c6.jpg new file mode 100644 index 0000000..0faaaab Binary files /dev/null and b/BiVisualPath/screenShot/ffbbf2289594622fa7bb458507eee1c6.jpg differ diff --git a/BiVisualPath/source/006be8923f682af314ba8d8642de000d.png b/BiVisualPath/source/006be8923f682af314ba8d8642de000d.png new file mode 100644 index 0000000..9795838 Binary files /dev/null and b/BiVisualPath/source/006be8923f682af314ba8d8642de000d.png differ diff --git a/BiVisualPath/source/006f118515bb096cc7548066440516f1.png b/BiVisualPath/source/006f118515bb096cc7548066440516f1.png new file mode 100644 index 0000000..fb0be91 Binary files /dev/null and b/BiVisualPath/source/006f118515bb096cc7548066440516f1.png differ diff --git a/BiVisualPath/source/009e38dfffee4bec9286cdce7942d251.png b/BiVisualPath/source/009e38dfffee4bec9286cdce7942d251.png new file mode 100644 index 0000000..746cc28 Binary files /dev/null and b/BiVisualPath/source/009e38dfffee4bec9286cdce7942d251.png differ diff --git a/BiVisualPath/source/00a6f7805b675a80e03930eb8d92f1d1.jpg b/BiVisualPath/source/00a6f7805b675a80e03930eb8d92f1d1.jpg new file mode 100644 index 0000000..c4a2f9c Binary files /dev/null and b/BiVisualPath/source/00a6f7805b675a80e03930eb8d92f1d1.jpg differ diff --git a/BiVisualPath/source/00c032776ccdcaa289eebfb2e2333dd4.jpg b/BiVisualPath/source/00c032776ccdcaa289eebfb2e2333dd4.jpg new file mode 100644 index 0000000..f9d145d Binary files /dev/null and b/BiVisualPath/source/00c032776ccdcaa289eebfb2e2333dd4.jpg differ diff --git a/BiVisualPath/source/00eb5205de64e1ef2f26cc08fc304907.png b/BiVisualPath/source/00eb5205de64e1ef2f26cc08fc304907.png new file mode 100644 index 0000000..450ca6f Binary files /dev/null and b/BiVisualPath/source/00eb5205de64e1ef2f26cc08fc304907.png differ diff --git a/BiVisualPath/source/01ffce29bd41fc626a292cc8df294d00.png b/BiVisualPath/source/01ffce29bd41fc626a292cc8df294d00.png new file mode 100644 index 0000000..c483201 Binary files /dev/null and b/BiVisualPath/source/01ffce29bd41fc626a292cc8df294d00.png differ diff --git a/BiVisualPath/source/0249b50898a93030820089c76e0e0119.png b/BiVisualPath/source/0249b50898a93030820089c76e0e0119.png new file mode 100644 index 0000000..2578db5 Binary files /dev/null and b/BiVisualPath/source/0249b50898a93030820089c76e0e0119.png differ diff --git a/BiVisualPath/source/03ba3af49ee7278fff979db8ae487fac.jpg b/BiVisualPath/source/03ba3af49ee7278fff979db8ae487fac.jpg new file mode 100644 index 0000000..6242220 Binary files /dev/null and b/BiVisualPath/source/03ba3af49ee7278fff979db8ae487fac.jpg differ diff --git a/BiVisualPath/source/03fa9cce3fea7de7514900149f3b8473.jpg b/BiVisualPath/source/03fa9cce3fea7de7514900149f3b8473.jpg new file mode 100644 index 0000000..5482280 Binary files /dev/null and b/BiVisualPath/source/03fa9cce3fea7de7514900149f3b8473.jpg differ diff --git a/BiVisualPath/source/0454f3eb4093ddb771f841a831799764.jpg b/BiVisualPath/source/0454f3eb4093ddb771f841a831799764.jpg new file mode 100644 index 0000000..f2d62a9 Binary files /dev/null and b/BiVisualPath/source/0454f3eb4093ddb771f841a831799764.jpg differ diff --git a/BiVisualPath/source/05516a187509882e150606022c1f4e7b.jpg b/BiVisualPath/source/05516a187509882e150606022c1f4e7b.jpg new file mode 100644 index 0000000..bee29b1 Binary files /dev/null and b/BiVisualPath/source/05516a187509882e150606022c1f4e7b.jpg differ diff --git a/BiVisualPath/source/05b85db3f3d4964d8bd2c2b8c67d9a4e.jpg b/BiVisualPath/source/05b85db3f3d4964d8bd2c2b8c67d9a4e.jpg new file mode 100644 index 0000000..840f095 Binary files /dev/null and b/BiVisualPath/source/05b85db3f3d4964d8bd2c2b8c67d9a4e.jpg differ diff --git a/BiVisualPath/source/05f9dff3dfaa5c2e83c228e94d024f09.png b/BiVisualPath/source/05f9dff3dfaa5c2e83c228e94d024f09.png new file mode 100644 index 0000000..f06fec3 Binary files /dev/null and b/BiVisualPath/source/05f9dff3dfaa5c2e83c228e94d024f09.png differ diff --git a/BiVisualPath/source/06224f6035a76c40de8a226260e9b35e.jpg b/BiVisualPath/source/06224f6035a76c40de8a226260e9b35e.jpg new file mode 100644 index 0000000..e007477 Binary files /dev/null and b/BiVisualPath/source/06224f6035a76c40de8a226260e9b35e.jpg differ diff --git a/BiVisualPath/source/06f20cf84e08ea55bedbfd9b43df5d15.png b/BiVisualPath/source/06f20cf84e08ea55bedbfd9b43df5d15.png new file mode 100644 index 0000000..f55eb42 Binary files /dev/null and b/BiVisualPath/source/06f20cf84e08ea55bedbfd9b43df5d15.png differ diff --git a/BiVisualPath/source/07c9cfc164a84d398c6f69b6421f1006.jpg b/BiVisualPath/source/07c9cfc164a84d398c6f69b6421f1006.jpg new file mode 100644 index 0000000..dcdfe49 Binary files /dev/null and b/BiVisualPath/source/07c9cfc164a84d398c6f69b6421f1006.jpg differ diff --git a/BiVisualPath/source/0824a72255c6dd5e287217e01652a9a0.apng b/BiVisualPath/source/0824a72255c6dd5e287217e01652a9a0.apng new file mode 100644 index 0000000..1889b97 Binary files /dev/null and b/BiVisualPath/source/0824a72255c6dd5e287217e01652a9a0.apng differ diff --git a/BiVisualPath/source/088d75c774c57e77cdb40355275665e5.png b/BiVisualPath/source/088d75c774c57e77cdb40355275665e5.png new file mode 100644 index 0000000..2e96e9d Binary files /dev/null and b/BiVisualPath/source/088d75c774c57e77cdb40355275665e5.png differ diff --git a/BiVisualPath/source/08bea048a08fa8397ef03582841ad879.png b/BiVisualPath/source/08bea048a08fa8397ef03582841ad879.png new file mode 100644 index 0000000..da0f3be Binary files /dev/null and b/BiVisualPath/source/08bea048a08fa8397ef03582841ad879.png differ diff --git a/BiVisualPath/source/08ed7703beb2c8764aa70fb9929dd0ed.jpg b/BiVisualPath/source/08ed7703beb2c8764aa70fb9929dd0ed.jpg new file mode 100644 index 0000000..db23ebf Binary files /dev/null and b/BiVisualPath/source/08ed7703beb2c8764aa70fb9929dd0ed.jpg differ diff --git a/BiVisualPath/source/0909164be1762f2d09d2152e81a18b2a.png b/BiVisualPath/source/0909164be1762f2d09d2152e81a18b2a.png new file mode 100644 index 0000000..6d77e76 Binary files /dev/null and b/BiVisualPath/source/0909164be1762f2d09d2152e81a18b2a.png differ diff --git a/BiVisualPath/source/09f4762ac9ea69af08720314347d31e8.jpg b/BiVisualPath/source/09f4762ac9ea69af08720314347d31e8.jpg new file mode 100644 index 0000000..eee7194 Binary files /dev/null and b/BiVisualPath/source/09f4762ac9ea69af08720314347d31e8.jpg differ diff --git a/BiVisualPath/source/0ac43ba24532160790b3199dc295cf03.jpg b/BiVisualPath/source/0ac43ba24532160790b3199dc295cf03.jpg new file mode 100644 index 0000000..f4d982a Binary files /dev/null and b/BiVisualPath/source/0ac43ba24532160790b3199dc295cf03.jpg differ diff --git a/BiVisualPath/source/0babb53098cad262a572cf01dfc2230c.jpg b/BiVisualPath/source/0babb53098cad262a572cf01dfc2230c.jpg new file mode 100644 index 0000000..2d862ce Binary files /dev/null and b/BiVisualPath/source/0babb53098cad262a572cf01dfc2230c.jpg differ diff --git a/BiVisualPath/source/0bb9eeec17944e87133fad76835f84c8.png b/BiVisualPath/source/0bb9eeec17944e87133fad76835f84c8.png new file mode 100644 index 0000000..4eb3346 Binary files /dev/null and b/BiVisualPath/source/0bb9eeec17944e87133fad76835f84c8.png differ diff --git a/BiVisualPath/source/0c8751d1697cf85264051cbc4ff01e4c.png b/BiVisualPath/source/0c8751d1697cf85264051cbc4ff01e4c.png new file mode 100644 index 0000000..1084ad4 Binary files /dev/null and b/BiVisualPath/source/0c8751d1697cf85264051cbc4ff01e4c.png differ diff --git a/BiVisualPath/source/0cf80d78faefbffba6d8c38901983c68.png b/BiVisualPath/source/0cf80d78faefbffba6d8c38901983c68.png new file mode 100644 index 0000000..2e96e9d Binary files /dev/null and b/BiVisualPath/source/0cf80d78faefbffba6d8c38901983c68.png differ diff --git a/BiVisualPath/source/0d26df7b3d96fc7311879937ffec62eb.jpg b/BiVisualPath/source/0d26df7b3d96fc7311879937ffec62eb.jpg new file mode 100644 index 0000000..6260aed Binary files /dev/null and b/BiVisualPath/source/0d26df7b3d96fc7311879937ffec62eb.jpg differ diff --git a/BiVisualPath/source/0ddc97e6eba788ba75a8ad444ddaa78b.jpg b/BiVisualPath/source/0ddc97e6eba788ba75a8ad444ddaa78b.jpg new file mode 100644 index 0000000..469009f Binary files /dev/null and b/BiVisualPath/source/0ddc97e6eba788ba75a8ad444ddaa78b.jpg differ diff --git a/BiVisualPath/source/0e42cd9ca5bc76b00a40a84a0e76f162.jpg b/BiVisualPath/source/0e42cd9ca5bc76b00a40a84a0e76f162.jpg new file mode 100644 index 0000000..9db9c47 Binary files /dev/null and b/BiVisualPath/source/0e42cd9ca5bc76b00a40a84a0e76f162.jpg differ diff --git a/BiVisualPath/source/0ee86ee82f9c9e2d094190e443229ff0.png b/BiVisualPath/source/0ee86ee82f9c9e2d094190e443229ff0.png new file mode 100644 index 0000000..04b0b57 Binary files /dev/null and b/BiVisualPath/source/0ee86ee82f9c9e2d094190e443229ff0.png differ diff --git a/BiVisualPath/source/0f6579e129bc3be8aca676396407d8fc.png b/BiVisualPath/source/0f6579e129bc3be8aca676396407d8fc.png new file mode 100644 index 0000000..5e4b95f Binary files /dev/null and b/BiVisualPath/source/0f6579e129bc3be8aca676396407d8fc.png differ diff --git a/BiVisualPath/source/0fa5788584407b1b8e6c7575b3142daf.jpg b/BiVisualPath/source/0fa5788584407b1b8e6c7575b3142daf.jpg new file mode 100644 index 0000000..81ad36b Binary files /dev/null and b/BiVisualPath/source/0fa5788584407b1b8e6c7575b3142daf.jpg differ diff --git a/BiVisualPath/source/100327d12590a2eca841ba0749b6e88f.png b/BiVisualPath/source/100327d12590a2eca841ba0749b6e88f.png new file mode 100644 index 0000000..75da65d Binary files /dev/null and b/BiVisualPath/source/100327d12590a2eca841ba0749b6e88f.png differ diff --git a/BiVisualPath/source/10710bd3f76396caec35cd6e1878b1ef.jpg b/BiVisualPath/source/10710bd3f76396caec35cd6e1878b1ef.jpg new file mode 100644 index 0000000..d06b723 Binary files /dev/null and b/BiVisualPath/source/10710bd3f76396caec35cd6e1878b1ef.jpg differ diff --git a/BiVisualPath/source/118101ba3d24065a2cc34e6385417de4.png b/BiVisualPath/source/118101ba3d24065a2cc34e6385417de4.png new file mode 100644 index 0000000..263bcb5 Binary files /dev/null and b/BiVisualPath/source/118101ba3d24065a2cc34e6385417de4.png differ diff --git a/BiVisualPath/source/11b64ce2cfaa7dc1d46c59adc6b3b85b.jpg b/BiVisualPath/source/11b64ce2cfaa7dc1d46c59adc6b3b85b.jpg new file mode 100644 index 0000000..19e9974 Binary files /dev/null and b/BiVisualPath/source/11b64ce2cfaa7dc1d46c59adc6b3b85b.jpg differ diff --git a/BiVisualPath/source/1298650d59224e2d6b76c56ad553b70b.png b/BiVisualPath/source/1298650d59224e2d6b76c56ad553b70b.png new file mode 100644 index 0000000..b421584 Binary files /dev/null and b/BiVisualPath/source/1298650d59224e2d6b76c56ad553b70b.png differ diff --git a/BiVisualPath/source/12a019173ebabbfc82e0b68470f9154c.png b/BiVisualPath/source/12a019173ebabbfc82e0b68470f9154c.png new file mode 100644 index 0000000..fb0be91 Binary files /dev/null and b/BiVisualPath/source/12a019173ebabbfc82e0b68470f9154c.png differ diff --git a/BiVisualPath/source/12b4418be3ac67ec71c17b05fefdcb85.jpg b/BiVisualPath/source/12b4418be3ac67ec71c17b05fefdcb85.jpg new file mode 100644 index 0000000..0feff21 Binary files /dev/null and b/BiVisualPath/source/12b4418be3ac67ec71c17b05fefdcb85.jpg differ diff --git a/BiVisualPath/source/12f44d67504e29e6d30daec0d5a64430.png b/BiVisualPath/source/12f44d67504e29e6d30daec0d5a64430.png new file mode 100644 index 0000000..cc59390 Binary files /dev/null and b/BiVisualPath/source/12f44d67504e29e6d30daec0d5a64430.png differ diff --git a/BiVisualPath/source/13e24d1ce811b883da7ae79002d0d3c4.jpg b/BiVisualPath/source/13e24d1ce811b883da7ae79002d0d3c4.jpg new file mode 100644 index 0000000..7bccdf6 Binary files /dev/null and b/BiVisualPath/source/13e24d1ce811b883da7ae79002d0d3c4.jpg differ diff --git a/BiVisualPath/source/13eed6057560ff1987929459fa033a53.png b/BiVisualPath/source/13eed6057560ff1987929459fa033a53.png new file mode 100644 index 0000000..e03b6b9 Binary files /dev/null and b/BiVisualPath/source/13eed6057560ff1987929459fa033a53.png differ diff --git a/BiVisualPath/source/141eb6f8d10d7030509be8614f6098e2.png b/BiVisualPath/source/141eb6f8d10d7030509be8614f6098e2.png new file mode 100644 index 0000000..71e2eb7 Binary files /dev/null and b/BiVisualPath/source/141eb6f8d10d7030509be8614f6098e2.png differ diff --git a/BiVisualPath/source/14235349b9a20f3044069b2773364b86.png b/BiVisualPath/source/14235349b9a20f3044069b2773364b86.png new file mode 100644 index 0000000..d4d70e1 Binary files /dev/null and b/BiVisualPath/source/14235349b9a20f3044069b2773364b86.png differ diff --git a/BiVisualPath/source/157837e9e194485ada59de75c52c8c1d.png b/BiVisualPath/source/157837e9e194485ada59de75c52c8c1d.png new file mode 100644 index 0000000..2efa6fe Binary files /dev/null and b/BiVisualPath/source/157837e9e194485ada59de75c52c8c1d.png differ diff --git a/BiVisualPath/source/15b5595d15d5f78e3ef6f28ab8b18d7a.png b/BiVisualPath/source/15b5595d15d5f78e3ef6f28ab8b18d7a.png new file mode 100644 index 0000000..42bf94c Binary files /dev/null and b/BiVisualPath/source/15b5595d15d5f78e3ef6f28ab8b18d7a.png differ diff --git a/BiVisualPath/source/165513f141e4d0dcab601a6428f3c389.png b/BiVisualPath/source/165513f141e4d0dcab601a6428f3c389.png new file mode 100644 index 0000000..3e67b54 Binary files /dev/null and b/BiVisualPath/source/165513f141e4d0dcab601a6428f3c389.png differ diff --git a/BiVisualPath/source/1660fd995c22b23128c17943df805776.png b/BiVisualPath/source/1660fd995c22b23128c17943df805776.png new file mode 100644 index 0000000..5418cee Binary files /dev/null and b/BiVisualPath/source/1660fd995c22b23128c17943df805776.png differ diff --git a/BiVisualPath/source/16af20a73313cb2e0f061f9307adf344.png b/BiVisualPath/source/16af20a73313cb2e0f061f9307adf344.png new file mode 100644 index 0000000..fbd7bf1 Binary files /dev/null and b/BiVisualPath/source/16af20a73313cb2e0f061f9307adf344.png differ diff --git a/BiVisualPath/source/172071eb01a25047c505aff31991a898.png b/BiVisualPath/source/172071eb01a25047c505aff31991a898.png new file mode 100644 index 0000000..8457fb9 Binary files /dev/null and b/BiVisualPath/source/172071eb01a25047c505aff31991a898.png differ diff --git a/BiVisualPath/source/187851df0776ea1a89615b89870b0863.gif b/BiVisualPath/source/187851df0776ea1a89615b89870b0863.gif new file mode 100644 index 0000000..2fdb295 Binary files /dev/null and b/BiVisualPath/source/187851df0776ea1a89615b89870b0863.gif differ diff --git a/BiVisualPath/source/18b8500d62f162b1a247608fd64286d3.jpg b/BiVisualPath/source/18b8500d62f162b1a247608fd64286d3.jpg new file mode 100644 index 0000000..1a42e0b Binary files /dev/null and b/BiVisualPath/source/18b8500d62f162b1a247608fd64286d3.jpg differ diff --git a/BiVisualPath/source/18eb7336fa8708f0d9866a4cbc771ae3.png b/BiVisualPath/source/18eb7336fa8708f0d9866a4cbc771ae3.png new file mode 100644 index 0000000..40774c4 Binary files /dev/null and b/BiVisualPath/source/18eb7336fa8708f0d9866a4cbc771ae3.png differ diff --git a/BiVisualPath/source/18ed0260289afacf09b7ac0fd523f8e0.jpg b/BiVisualPath/source/18ed0260289afacf09b7ac0fd523f8e0.jpg new file mode 100644 index 0000000..aca1605 Binary files /dev/null and b/BiVisualPath/source/18ed0260289afacf09b7ac0fd523f8e0.jpg differ diff --git a/BiVisualPath/source/1929a41782538e4be443e19377a7faab.jpg b/BiVisualPath/source/1929a41782538e4be443e19377a7faab.jpg new file mode 100644 index 0000000..baccf29 Binary files /dev/null and b/BiVisualPath/source/1929a41782538e4be443e19377a7faab.jpg differ diff --git a/BiVisualPath/source/199e98e18331d67976a267e9c81f744c.png b/BiVisualPath/source/199e98e18331d67976a267e9c81f744c.png new file mode 100644 index 0000000..b4bf667 Binary files /dev/null and b/BiVisualPath/source/199e98e18331d67976a267e9c81f744c.png differ diff --git a/BiVisualPath/source/1a8b5d1c0e6e53572613e98ad8d3f16f.jpg b/BiVisualPath/source/1a8b5d1c0e6e53572613e98ad8d3f16f.jpg new file mode 100644 index 0000000..19e9974 Binary files /dev/null and b/BiVisualPath/source/1a8b5d1c0e6e53572613e98ad8d3f16f.jpg differ diff --git a/BiVisualPath/source/1ac9494f9a36126fa65e8d7c2339c108.png b/BiVisualPath/source/1ac9494f9a36126fa65e8d7c2339c108.png new file mode 100644 index 0000000..f736732 Binary files /dev/null and b/BiVisualPath/source/1ac9494f9a36126fa65e8d7c2339c108.png differ diff --git a/BiVisualPath/source/1b25167f38d499855a8c90f079592c7b.png b/BiVisualPath/source/1b25167f38d499855a8c90f079592c7b.png new file mode 100644 index 0000000..90c81ce Binary files /dev/null and b/BiVisualPath/source/1b25167f38d499855a8c90f079592c7b.png differ diff --git a/BiVisualPath/source/1b4f7619416a1adf847dcd38b0a5ae7e.png b/BiVisualPath/source/1b4f7619416a1adf847dcd38b0a5ae7e.png new file mode 100644 index 0000000..d5c2e23 Binary files /dev/null and b/BiVisualPath/source/1b4f7619416a1adf847dcd38b0a5ae7e.png differ diff --git a/BiVisualPath/source/1b5f8b58fb90fc1ba6c410988db4bd98.jpg b/BiVisualPath/source/1b5f8b58fb90fc1ba6c410988db4bd98.jpg new file mode 100644 index 0000000..c2a3b26 Binary files /dev/null and b/BiVisualPath/source/1b5f8b58fb90fc1ba6c410988db4bd98.jpg differ diff --git a/BiVisualPath/source/1beb7b73199a0f743bcd77fa23d0237b.jpg b/BiVisualPath/source/1beb7b73199a0f743bcd77fa23d0237b.jpg new file mode 100644 index 0000000..d382c50 Binary files /dev/null and b/BiVisualPath/source/1beb7b73199a0f743bcd77fa23d0237b.jpg differ diff --git a/BiVisualPath/source/1d5ae9f8975e1cd7e7e6f6345faed615.jpg b/BiVisualPath/source/1d5ae9f8975e1cd7e7e6f6345faed615.jpg new file mode 100644 index 0000000..2791b6b Binary files /dev/null and b/BiVisualPath/source/1d5ae9f8975e1cd7e7e6f6345faed615.jpg differ diff --git a/BiVisualPath/source/1d7c9d87e24f8ea64725b85d18df62e4.png b/BiVisualPath/source/1d7c9d87e24f8ea64725b85d18df62e4.png new file mode 100644 index 0000000..aa9c2ca Binary files /dev/null and b/BiVisualPath/source/1d7c9d87e24f8ea64725b85d18df62e4.png differ diff --git a/BiVisualPath/source/1e6644b5616ae8dd9e4256738fdb00e7.png b/BiVisualPath/source/1e6644b5616ae8dd9e4256738fdb00e7.png new file mode 100644 index 0000000..52aeeef Binary files /dev/null and b/BiVisualPath/source/1e6644b5616ae8dd9e4256738fdb00e7.png differ diff --git a/BiVisualPath/source/1e853833f7b9ff8d17cc57e357072d1a.jpg b/BiVisualPath/source/1e853833f7b9ff8d17cc57e357072d1a.jpg new file mode 100644 index 0000000..45cc305 Binary files /dev/null and b/BiVisualPath/source/1e853833f7b9ff8d17cc57e357072d1a.jpg differ diff --git a/BiVisualPath/source/1eae4260c5dccf920f78cb03fe191653.jpg b/BiVisualPath/source/1eae4260c5dccf920f78cb03fe191653.jpg new file mode 100644 index 0000000..3e047bf Binary files /dev/null and b/BiVisualPath/source/1eae4260c5dccf920f78cb03fe191653.jpg differ diff --git a/BiVisualPath/source/1eb303b6e44f8415bdfdf7dc0eb9cc41.jpg b/BiVisualPath/source/1eb303b6e44f8415bdfdf7dc0eb9cc41.jpg new file mode 100644 index 0000000..9720e90 Binary files /dev/null and b/BiVisualPath/source/1eb303b6e44f8415bdfdf7dc0eb9cc41.jpg differ diff --git a/BiVisualPath/source/20152f72c0701a9d28e29475069ed554.png b/BiVisualPath/source/20152f72c0701a9d28e29475069ed554.png new file mode 100644 index 0000000..ba1a8b3 Binary files /dev/null and b/BiVisualPath/source/20152f72c0701a9d28e29475069ed554.png differ diff --git a/BiVisualPath/source/2016aaf6f2afb11eff05178c74064ce9.png b/BiVisualPath/source/2016aaf6f2afb11eff05178c74064ce9.png new file mode 100644 index 0000000..9dcd756 Binary files /dev/null and b/BiVisualPath/source/2016aaf6f2afb11eff05178c74064ce9.png differ diff --git a/BiVisualPath/source/2035913868b5a66b39848889aa468560.png b/BiVisualPath/source/2035913868b5a66b39848889aa468560.png new file mode 100644 index 0000000..891a400 Binary files /dev/null and b/BiVisualPath/source/2035913868b5a66b39848889aa468560.png differ diff --git a/BiVisualPath/source/2095ec76966ece3cf0c3ca7a64e5d383.png b/BiVisualPath/source/2095ec76966ece3cf0c3ca7a64e5d383.png new file mode 100644 index 0000000..6ba47ee Binary files /dev/null and b/BiVisualPath/source/2095ec76966ece3cf0c3ca7a64e5d383.png differ diff --git a/BiVisualPath/source/21427aef5045204a103fe502eacfaeb1.jpg b/BiVisualPath/source/21427aef5045204a103fe502eacfaeb1.jpg new file mode 100644 index 0000000..dd22ef3 Binary files /dev/null and b/BiVisualPath/source/21427aef5045204a103fe502eacfaeb1.jpg differ diff --git a/BiVisualPath/source/21bcada45972a76252d5405b6aeb0ad6.png b/BiVisualPath/source/21bcada45972a76252d5405b6aeb0ad6.png new file mode 100644 index 0000000..e9964ad Binary files /dev/null and b/BiVisualPath/source/21bcada45972a76252d5405b6aeb0ad6.png differ diff --git a/BiVisualPath/source/21d4356d63666163034850b9e87b520d.jpg b/BiVisualPath/source/21d4356d63666163034850b9e87b520d.jpg new file mode 100644 index 0000000..ef74aa0 Binary files /dev/null and b/BiVisualPath/source/21d4356d63666163034850b9e87b520d.jpg differ diff --git a/BiVisualPath/source/221d311bb1f13081497d80184e47342f.jpg b/BiVisualPath/source/221d311bb1f13081497d80184e47342f.jpg new file mode 100644 index 0000000..166efa2 Binary files /dev/null and b/BiVisualPath/source/221d311bb1f13081497d80184e47342f.jpg differ diff --git a/BiVisualPath/source/2252eff7c006006883db99b77d738c4b.jpg b/BiVisualPath/source/2252eff7c006006883db99b77d738c4b.jpg new file mode 100644 index 0000000..18f8dc2 Binary files /dev/null and b/BiVisualPath/source/2252eff7c006006883db99b77d738c4b.jpg differ diff --git a/BiVisualPath/source/226f258dd0658fb7697d29ded47f9a0c.png b/BiVisualPath/source/226f258dd0658fb7697d29ded47f9a0c.png new file mode 100644 index 0000000..c6fc2ca Binary files /dev/null and b/BiVisualPath/source/226f258dd0658fb7697d29ded47f9a0c.png differ diff --git a/BiVisualPath/source/22900de287dc88a15aefaf36b3bdb260.jpg b/BiVisualPath/source/22900de287dc88a15aefaf36b3bdb260.jpg new file mode 100644 index 0000000..56b3062 Binary files /dev/null and b/BiVisualPath/source/22900de287dc88a15aefaf36b3bdb260.jpg differ diff --git a/BiVisualPath/source/22dbf9921abcb507c9f6d668a9f6aaa1.png b/BiVisualPath/source/22dbf9921abcb507c9f6d668a9f6aaa1.png new file mode 100644 index 0000000..5487cb1 Binary files /dev/null and b/BiVisualPath/source/22dbf9921abcb507c9f6d668a9f6aaa1.png differ diff --git a/BiVisualPath/source/23729450eec84074d4ff640ad1851df1.jpg b/BiVisualPath/source/23729450eec84074d4ff640ad1851df1.jpg new file mode 100644 index 0000000..5451d2d Binary files /dev/null and b/BiVisualPath/source/23729450eec84074d4ff640ad1851df1.jpg differ diff --git a/BiVisualPath/source/23e3cc4774267450d51fea0ac1ca66a5.png b/BiVisualPath/source/23e3cc4774267450d51fea0ac1ca66a5.png new file mode 100644 index 0000000..3234ef3 Binary files /dev/null and b/BiVisualPath/source/23e3cc4774267450d51fea0ac1ca66a5.png differ diff --git a/BiVisualPath/source/2443718b07f8984fde8bf8cad39866af.png b/BiVisualPath/source/2443718b07f8984fde8bf8cad39866af.png new file mode 100644 index 0000000..2e65456 Binary files /dev/null and b/BiVisualPath/source/2443718b07f8984fde8bf8cad39866af.png differ diff --git a/BiVisualPath/source/2449f0ab0bbb1b395337327a6ff6386b.jpg b/BiVisualPath/source/2449f0ab0bbb1b395337327a6ff6386b.jpg new file mode 100644 index 0000000..34dc2b5 Binary files /dev/null and b/BiVisualPath/source/2449f0ab0bbb1b395337327a6ff6386b.jpg differ diff --git a/BiVisualPath/source/248aa16038450c26d4fd1e88cbca26ae.jpg b/BiVisualPath/source/248aa16038450c26d4fd1e88cbca26ae.jpg new file mode 100644 index 0000000..8b5fa0d Binary files /dev/null and b/BiVisualPath/source/248aa16038450c26d4fd1e88cbca26ae.jpg differ diff --git a/BiVisualPath/source/2497b33795c28ecb19aea870a2195133.png b/BiVisualPath/source/2497b33795c28ecb19aea870a2195133.png new file mode 100644 index 0000000..aeef7f0 Binary files /dev/null and b/BiVisualPath/source/2497b33795c28ecb19aea870a2195133.png differ diff --git a/BiVisualPath/source/2497cfa849d49faf40d47b2669f761aa.png b/BiVisualPath/source/2497cfa849d49faf40d47b2669f761aa.png new file mode 100644 index 0000000..fecf3bf Binary files /dev/null and b/BiVisualPath/source/2497cfa849d49faf40d47b2669f761aa.png differ diff --git a/BiVisualPath/source/24dbbed4e5dd1f87f3bc1540e59ae2e8.jpg b/BiVisualPath/source/24dbbed4e5dd1f87f3bc1540e59ae2e8.jpg new file mode 100644 index 0000000..ef1a845 Binary files /dev/null and b/BiVisualPath/source/24dbbed4e5dd1f87f3bc1540e59ae2e8.jpg differ diff --git a/BiVisualPath/source/24f857c47a5b9de425f45f2794a875b6.jpg b/BiVisualPath/source/24f857c47a5b9de425f45f2794a875b6.jpg new file mode 100644 index 0000000..dae9669 Binary files /dev/null and b/BiVisualPath/source/24f857c47a5b9de425f45f2794a875b6.jpg differ diff --git a/BiVisualPath/source/2528b0cecc5bb4c322fb3f9dcaa7024f.jpg b/BiVisualPath/source/2528b0cecc5bb4c322fb3f9dcaa7024f.jpg new file mode 100644 index 0000000..7189787 Binary files /dev/null and b/BiVisualPath/source/2528b0cecc5bb4c322fb3f9dcaa7024f.jpg differ diff --git a/BiVisualPath/source/25fb5c26d01122e8cd1aaccb026a5733.png b/BiVisualPath/source/25fb5c26d01122e8cd1aaccb026a5733.png new file mode 100644 index 0000000..e3ad0b5 Binary files /dev/null and b/BiVisualPath/source/25fb5c26d01122e8cd1aaccb026a5733.png differ diff --git a/BiVisualPath/source/26b10d63f4819d290175846192768e39.png b/BiVisualPath/source/26b10d63f4819d290175846192768e39.png new file mode 100644 index 0000000..9e52f4c Binary files /dev/null and b/BiVisualPath/source/26b10d63f4819d290175846192768e39.png differ diff --git a/BiVisualPath/source/2795f4fef5b80b09894d239d7cd80592.jpg b/BiVisualPath/source/2795f4fef5b80b09894d239d7cd80592.jpg new file mode 100644 index 0000000..a70cbb6 Binary files /dev/null and b/BiVisualPath/source/2795f4fef5b80b09894d239d7cd80592.jpg differ diff --git a/BiVisualPath/source/279ca09b6537f55c57f7cd474f33a222.png b/BiVisualPath/source/279ca09b6537f55c57f7cd474f33a222.png new file mode 100644 index 0000000..07f0679 Binary files /dev/null and b/BiVisualPath/source/279ca09b6537f55c57f7cd474f33a222.png differ diff --git a/BiVisualPath/source/27da3b9816528766dfda6947028ca106.jpg b/BiVisualPath/source/27da3b9816528766dfda6947028ca106.jpg new file mode 100644 index 0000000..ad14e6b Binary files /dev/null and b/BiVisualPath/source/27da3b9816528766dfda6947028ca106.jpg differ diff --git a/BiVisualPath/source/280f750f83ef8f18935c2dd14b57b029.jpg b/BiVisualPath/source/280f750f83ef8f18935c2dd14b57b029.jpg new file mode 100644 index 0000000..b50ea0a Binary files /dev/null and b/BiVisualPath/source/280f750f83ef8f18935c2dd14b57b029.jpg differ diff --git a/BiVisualPath/source/28eeb73c6b7dcf105630cc01b51a3d04.png b/BiVisualPath/source/28eeb73c6b7dcf105630cc01b51a3d04.png new file mode 100644 index 0000000..50d80cd Binary files /dev/null and b/BiVisualPath/source/28eeb73c6b7dcf105630cc01b51a3d04.png differ diff --git a/BiVisualPath/source/2a03d2f52762e6569d597eb5cf728f0e.png b/BiVisualPath/source/2a03d2f52762e6569d597eb5cf728f0e.png new file mode 100644 index 0000000..937518b Binary files /dev/null and b/BiVisualPath/source/2a03d2f52762e6569d597eb5cf728f0e.png differ diff --git a/BiVisualPath/source/2a97f25f3871fee29b6179e47f943743.png b/BiVisualPath/source/2a97f25f3871fee29b6179e47f943743.png new file mode 100644 index 0000000..e96b3c3 Binary files /dev/null and b/BiVisualPath/source/2a97f25f3871fee29b6179e47f943743.png differ diff --git a/BiVisualPath/source/2afa9cd044a32dd2b79dea8fd83828df.png b/BiVisualPath/source/2afa9cd044a32dd2b79dea8fd83828df.png new file mode 100644 index 0000000..7897400 Binary files /dev/null and b/BiVisualPath/source/2afa9cd044a32dd2b79dea8fd83828df.png differ diff --git a/BiVisualPath/source/2b38e9c31533d7f4c18f0330546cb814.jpg b/BiVisualPath/source/2b38e9c31533d7f4c18f0330546cb814.jpg new file mode 100644 index 0000000..d402fbd Binary files /dev/null and b/BiVisualPath/source/2b38e9c31533d7f4c18f0330546cb814.jpg differ diff --git a/BiVisualPath/source/2b59bc0a52ae4f4730135eb5a29d4db3.png b/BiVisualPath/source/2b59bc0a52ae4f4730135eb5a29d4db3.png new file mode 100644 index 0000000..8509d81 Binary files /dev/null and b/BiVisualPath/source/2b59bc0a52ae4f4730135eb5a29d4db3.png differ diff --git a/BiVisualPath/source/2caa0205861ff2dac00555da531bc282.jpg b/BiVisualPath/source/2caa0205861ff2dac00555da531bc282.jpg new file mode 100644 index 0000000..dffdf34 Binary files /dev/null and b/BiVisualPath/source/2caa0205861ff2dac00555da531bc282.jpg differ diff --git a/BiVisualPath/source/2db5bcc4ed35a88edf89eebb211a8fcc.png b/BiVisualPath/source/2db5bcc4ed35a88edf89eebb211a8fcc.png new file mode 100644 index 0000000..c6a14ce Binary files /dev/null and b/BiVisualPath/source/2db5bcc4ed35a88edf89eebb211a8fcc.png differ diff --git a/BiVisualPath/source/2e07124d54a5d27d8148714dc3e1ec66.jpg b/BiVisualPath/source/2e07124d54a5d27d8148714dc3e1ec66.jpg new file mode 100644 index 0000000..769f9a3 Binary files /dev/null and b/BiVisualPath/source/2e07124d54a5d27d8148714dc3e1ec66.jpg differ diff --git a/BiVisualPath/source/2e14bf260c45c5615bf99cac4c3a93c4.png b/BiVisualPath/source/2e14bf260c45c5615bf99cac4c3a93c4.png new file mode 100644 index 0000000..00e5e26 Binary files /dev/null and b/BiVisualPath/source/2e14bf260c45c5615bf99cac4c3a93c4.png differ diff --git a/BiVisualPath/source/2e70fb339aa8097602961193d30dd35b.png b/BiVisualPath/source/2e70fb339aa8097602961193d30dd35b.png new file mode 100644 index 0000000..5130dfe Binary files /dev/null and b/BiVisualPath/source/2e70fb339aa8097602961193d30dd35b.png differ diff --git a/BiVisualPath/source/2e71c8cabd0fc80c7e7d9fa2fc1cb24b.png b/BiVisualPath/source/2e71c8cabd0fc80c7e7d9fa2fc1cb24b.png new file mode 100644 index 0000000..7471945 Binary files /dev/null and b/BiVisualPath/source/2e71c8cabd0fc80c7e7d9fa2fc1cb24b.png differ diff --git a/BiVisualPath/source/2e7373217476e8cb8dbad822397ffb23.png b/BiVisualPath/source/2e7373217476e8cb8dbad822397ffb23.png new file mode 100644 index 0000000..e592d8a Binary files /dev/null and b/BiVisualPath/source/2e7373217476e8cb8dbad822397ffb23.png differ diff --git a/BiVisualPath/source/2e86c66f1dee9f262fad480a4b5aa948.png b/BiVisualPath/source/2e86c66f1dee9f262fad480a4b5aa948.png new file mode 100644 index 0000000..aff42a1 Binary files /dev/null and b/BiVisualPath/source/2e86c66f1dee9f262fad480a4b5aa948.png differ diff --git a/BiVisualPath/source/2f2b8fa1dc0d7daa785f950a71591f30.jpg b/BiVisualPath/source/2f2b8fa1dc0d7daa785f950a71591f30.jpg new file mode 100644 index 0000000..04ae1d4 Binary files /dev/null and b/BiVisualPath/source/2f2b8fa1dc0d7daa785f950a71591f30.jpg differ diff --git a/BiVisualPath/source/2ff10990454fdf25b9948d9a4b80e394.jpg b/BiVisualPath/source/2ff10990454fdf25b9948d9a4b80e394.jpg new file mode 100644 index 0000000..feb4a38 Binary files /dev/null and b/BiVisualPath/source/2ff10990454fdf25b9948d9a4b80e394.jpg differ diff --git a/BiVisualPath/source/31fcbd5df9c3f27bad492768c4ce3d60.jpg b/BiVisualPath/source/31fcbd5df9c3f27bad492768c4ce3d60.jpg new file mode 100644 index 0000000..fd51d64 Binary files /dev/null and b/BiVisualPath/source/31fcbd5df9c3f27bad492768c4ce3d60.jpg differ diff --git a/BiVisualPath/source/345f5c1bd50ffbcda3887fa77864efc1.jpg b/BiVisualPath/source/345f5c1bd50ffbcda3887fa77864efc1.jpg new file mode 100644 index 0000000..ba68685 Binary files /dev/null and b/BiVisualPath/source/345f5c1bd50ffbcda3887fa77864efc1.jpg differ diff --git a/BiVisualPath/source/354e109175977ae1756c800bff78c649.jpg b/BiVisualPath/source/354e109175977ae1756c800bff78c649.jpg new file mode 100644 index 0000000..9b62288 Binary files /dev/null and b/BiVisualPath/source/354e109175977ae1756c800bff78c649.jpg differ diff --git a/BiVisualPath/source/355e0112e15f19bfb7c4e37c583a39bb.jpg b/BiVisualPath/source/355e0112e15f19bfb7c4e37c583a39bb.jpg new file mode 100644 index 0000000..c5ecc2b Binary files /dev/null and b/BiVisualPath/source/355e0112e15f19bfb7c4e37c583a39bb.jpg differ diff --git a/BiVisualPath/source/3586e51ba14c39d1c8056ad936a1415f.jpg b/BiVisualPath/source/3586e51ba14c39d1c8056ad936a1415f.jpg new file mode 100644 index 0000000..f0d6300 Binary files /dev/null and b/BiVisualPath/source/3586e51ba14c39d1c8056ad936a1415f.jpg differ diff --git a/BiVisualPath/source/35d0e30949ad7e55e2e81e609d4c52ea.png b/BiVisualPath/source/35d0e30949ad7e55e2e81e609d4c52ea.png new file mode 100644 index 0000000..dad63da Binary files /dev/null and b/BiVisualPath/source/35d0e30949ad7e55e2e81e609d4c52ea.png differ diff --git a/BiVisualPath/source/36a41efdbe8c4984bd10e116fa50b741.png b/BiVisualPath/source/36a41efdbe8c4984bd10e116fa50b741.png new file mode 100644 index 0000000..a2f55c8 Binary files /dev/null and b/BiVisualPath/source/36a41efdbe8c4984bd10e116fa50b741.png differ diff --git a/BiVisualPath/source/373823d30cfd2b564c7ea078f44df477.jpg b/BiVisualPath/source/373823d30cfd2b564c7ea078f44df477.jpg new file mode 100644 index 0000000..2744a00 Binary files /dev/null and b/BiVisualPath/source/373823d30cfd2b564c7ea078f44df477.jpg differ diff --git a/BiVisualPath/source/37af816a8d8b2b8b1f8c36cdc0a02641.png b/BiVisualPath/source/37af816a8d8b2b8b1f8c36cdc0a02641.png new file mode 100644 index 0000000..b43ae08 Binary files /dev/null and b/BiVisualPath/source/37af816a8d8b2b8b1f8c36cdc0a02641.png differ diff --git a/BiVisualPath/source/37b95696b2bc392e59b0282ef4b8c7eb.png b/BiVisualPath/source/37b95696b2bc392e59b0282ef4b8c7eb.png new file mode 100644 index 0000000..a6225c4 Binary files /dev/null and b/BiVisualPath/source/37b95696b2bc392e59b0282ef4b8c7eb.png differ diff --git a/BiVisualPath/source/37d1f39b739fa9d8c640b19e5c6b0410.png b/BiVisualPath/source/37d1f39b739fa9d8c640b19e5c6b0410.png new file mode 100644 index 0000000..a4835bf Binary files /dev/null and b/BiVisualPath/source/37d1f39b739fa9d8c640b19e5c6b0410.png differ diff --git a/BiVisualPath/source/380e5f8960d6916b80efd64c837dc1ad.png b/BiVisualPath/source/380e5f8960d6916b80efd64c837dc1ad.png new file mode 100644 index 0000000..941fe5b Binary files /dev/null and b/BiVisualPath/source/380e5f8960d6916b80efd64c837dc1ad.png differ diff --git a/BiVisualPath/source/389e2b50e58e98985fa7d8be47f25274.png b/BiVisualPath/source/389e2b50e58e98985fa7d8be47f25274.png new file mode 100644 index 0000000..57c0587 Binary files /dev/null and b/BiVisualPath/source/389e2b50e58e98985fa7d8be47f25274.png differ diff --git a/BiVisualPath/source/3a4b4a1b7bfecdc04657eaff36c5c51a.png b/BiVisualPath/source/3a4b4a1b7bfecdc04657eaff36c5c51a.png new file mode 100644 index 0000000..b752820 Binary files /dev/null and b/BiVisualPath/source/3a4b4a1b7bfecdc04657eaff36c5c51a.png differ diff --git a/BiVisualPath/source/3adf26b7efd4028b02342a58f1270ef9.png b/BiVisualPath/source/3adf26b7efd4028b02342a58f1270ef9.png new file mode 100644 index 0000000..0bcba22 Binary files /dev/null and b/BiVisualPath/source/3adf26b7efd4028b02342a58f1270ef9.png differ diff --git a/BiVisualPath/source/3b00d8307c51914265f28ae59b349264.jpg b/BiVisualPath/source/3b00d8307c51914265f28ae59b349264.jpg new file mode 100644 index 0000000..e150336 Binary files /dev/null and b/BiVisualPath/source/3b00d8307c51914265f28ae59b349264.jpg differ diff --git a/BiVisualPath/source/3b5f1d4faf78acfd25675c0774436a35.jpg b/BiVisualPath/source/3b5f1d4faf78acfd25675c0774436a35.jpg new file mode 100644 index 0000000..b63345d Binary files /dev/null and b/BiVisualPath/source/3b5f1d4faf78acfd25675c0774436a35.jpg differ diff --git a/BiVisualPath/source/3c41fd8bc69c6bddbebc07086dc4c662.jpg b/BiVisualPath/source/3c41fd8bc69c6bddbebc07086dc4c662.jpg new file mode 100644 index 0000000..bb0d157 Binary files /dev/null and b/BiVisualPath/source/3c41fd8bc69c6bddbebc07086dc4c662.jpg differ diff --git a/BiVisualPath/source/3d36af95836e1e5e9d9bc3b8d2f2ece9.png b/BiVisualPath/source/3d36af95836e1e5e9d9bc3b8d2f2ece9.png new file mode 100644 index 0000000..0e44779 Binary files /dev/null and b/BiVisualPath/source/3d36af95836e1e5e9d9bc3b8d2f2ece9.png differ diff --git a/BiVisualPath/source/3d72896a2876deb4371c3b7c7685710e.jpg b/BiVisualPath/source/3d72896a2876deb4371c3b7c7685710e.jpg new file mode 100644 index 0000000..025f5bb Binary files /dev/null and b/BiVisualPath/source/3d72896a2876deb4371c3b7c7685710e.jpg differ diff --git a/BiVisualPath/source/3d87fd54355824ffa4bf503d4d852934.png b/BiVisualPath/source/3d87fd54355824ffa4bf503d4d852934.png new file mode 100644 index 0000000..09bab06 Binary files /dev/null and b/BiVisualPath/source/3d87fd54355824ffa4bf503d4d852934.png differ diff --git a/BiVisualPath/source/3e07f2e7378646001ab281c8073d28c7.png b/BiVisualPath/source/3e07f2e7378646001ab281c8073d28c7.png new file mode 100644 index 0000000..14f0566 Binary files /dev/null and b/BiVisualPath/source/3e07f2e7378646001ab281c8073d28c7.png differ diff --git a/BiVisualPath/source/3f9abcbe28da4e66219526614b381127.png b/BiVisualPath/source/3f9abcbe28da4e66219526614b381127.png new file mode 100644 index 0000000..2e732f9 Binary files /dev/null and b/BiVisualPath/source/3f9abcbe28da4e66219526614b381127.png differ diff --git a/BiVisualPath/source/410af6bb2c6af7860d18b34d555befdd.png b/BiVisualPath/source/410af6bb2c6af7860d18b34d555befdd.png new file mode 100644 index 0000000..c901792 Binary files /dev/null and b/BiVisualPath/source/410af6bb2c6af7860d18b34d555befdd.png differ diff --git a/BiVisualPath/source/41ac842a988d7810c6435393ed2b75f5.png b/BiVisualPath/source/41ac842a988d7810c6435393ed2b75f5.png new file mode 100644 index 0000000..ee68f2f Binary files /dev/null and b/BiVisualPath/source/41ac842a988d7810c6435393ed2b75f5.png differ diff --git a/BiVisualPath/source/41f62022573ef5a08a72f2c86f61988c.png b/BiVisualPath/source/41f62022573ef5a08a72f2c86f61988c.png new file mode 100644 index 0000000..04e198f Binary files /dev/null and b/BiVisualPath/source/41f62022573ef5a08a72f2c86f61988c.png differ diff --git a/BiVisualPath/source/423c04c18542b15778e92f91095534e8.jpg b/BiVisualPath/source/423c04c18542b15778e92f91095534e8.jpg new file mode 100644 index 0000000..e28f9d9 Binary files /dev/null and b/BiVisualPath/source/423c04c18542b15778e92f91095534e8.jpg differ diff --git a/BiVisualPath/source/42867c94a8d39754f13b1386f98931c3.png b/BiVisualPath/source/42867c94a8d39754f13b1386f98931c3.png new file mode 100644 index 0000000..4c5b5eb Binary files /dev/null and b/BiVisualPath/source/42867c94a8d39754f13b1386f98931c3.png differ diff --git a/BiVisualPath/source/431574b32a48ea8895bc9ac5c1279da4.png b/BiVisualPath/source/431574b32a48ea8895bc9ac5c1279da4.png new file mode 100644 index 0000000..b9b1b23 Binary files /dev/null and b/BiVisualPath/source/431574b32a48ea8895bc9ac5c1279da4.png differ diff --git a/BiVisualPath/source/438e867a8de106e8a17feda3f8dd4c7f.png b/BiVisualPath/source/438e867a8de106e8a17feda3f8dd4c7f.png new file mode 100644 index 0000000..c108a7b Binary files /dev/null and b/BiVisualPath/source/438e867a8de106e8a17feda3f8dd4c7f.png differ diff --git a/BiVisualPath/source/43a840e4d60f01def833993d244dc99d.jpg b/BiVisualPath/source/43a840e4d60f01def833993d244dc99d.jpg new file mode 100644 index 0000000..7b52686 Binary files /dev/null and b/BiVisualPath/source/43a840e4d60f01def833993d244dc99d.jpg differ diff --git a/BiVisualPath/source/440ae88d487d0deaf962ace47b731844.png b/BiVisualPath/source/440ae88d487d0deaf962ace47b731844.png new file mode 100644 index 0000000..f0a01e0 Binary files /dev/null and b/BiVisualPath/source/440ae88d487d0deaf962ace47b731844.png differ diff --git a/BiVisualPath/source/44615183dcb7b4b57a5025ba91252581.jpg b/BiVisualPath/source/44615183dcb7b4b57a5025ba91252581.jpg new file mode 100644 index 0000000..b2da1b9 Binary files /dev/null and b/BiVisualPath/source/44615183dcb7b4b57a5025ba91252581.jpg differ diff --git a/BiVisualPath/source/44f039586bf73bf505da5beeb2afc02b.png b/BiVisualPath/source/44f039586bf73bf505da5beeb2afc02b.png new file mode 100644 index 0000000..479f8ba Binary files /dev/null and b/BiVisualPath/source/44f039586bf73bf505da5beeb2afc02b.png differ diff --git a/BiVisualPath/source/454203bcb73c2f63455bc4ad75322768.png b/BiVisualPath/source/454203bcb73c2f63455bc4ad75322768.png new file mode 100644 index 0000000..8802cfe Binary files /dev/null and b/BiVisualPath/source/454203bcb73c2f63455bc4ad75322768.png differ diff --git a/BiVisualPath/source/45e71508fd51b1cf06d056bc74acac3a.jpg b/BiVisualPath/source/45e71508fd51b1cf06d056bc74acac3a.jpg new file mode 100644 index 0000000..dfdebba Binary files /dev/null and b/BiVisualPath/source/45e71508fd51b1cf06d056bc74acac3a.jpg differ diff --git a/BiVisualPath/source/4633823f95fcbb57e5058b9f29b449cf.png b/BiVisualPath/source/4633823f95fcbb57e5058b9f29b449cf.png new file mode 100644 index 0000000..abbc6dd Binary files /dev/null and b/BiVisualPath/source/4633823f95fcbb57e5058b9f29b449cf.png differ diff --git a/BiVisualPath/source/469ecb292907bee5866b6212bfcc011c.jpg b/BiVisualPath/source/469ecb292907bee5866b6212bfcc011c.jpg new file mode 100644 index 0000000..81bffae Binary files /dev/null and b/BiVisualPath/source/469ecb292907bee5866b6212bfcc011c.jpg differ diff --git a/BiVisualPath/source/46c4f8e22085e283059fcfcbc389f3dc.jpg b/BiVisualPath/source/46c4f8e22085e283059fcfcbc389f3dc.jpg new file mode 100644 index 0000000..c469eae Binary files /dev/null and b/BiVisualPath/source/46c4f8e22085e283059fcfcbc389f3dc.jpg differ diff --git a/BiVisualPath/source/46de3e8813fc696d9a4240a3bf540400.png b/BiVisualPath/source/46de3e8813fc696d9a4240a3bf540400.png new file mode 100644 index 0000000..e76eeec Binary files /dev/null and b/BiVisualPath/source/46de3e8813fc696d9a4240a3bf540400.png differ diff --git a/BiVisualPath/source/4727c0a961f208ae1e06084ad9e172ca.png b/BiVisualPath/source/4727c0a961f208ae1e06084ad9e172ca.png new file mode 100644 index 0000000..8751338 Binary files /dev/null and b/BiVisualPath/source/4727c0a961f208ae1e06084ad9e172ca.png differ diff --git a/BiVisualPath/source/4741116e8a977d004fa5f30349c28d1d.png b/BiVisualPath/source/4741116e8a977d004fa5f30349c28d1d.png new file mode 100644 index 0000000..12e105e Binary files /dev/null and b/BiVisualPath/source/4741116e8a977d004fa5f30349c28d1d.png differ diff --git a/BiVisualPath/source/483ccf5a404227dcd6a9673d50de16fc.png b/BiVisualPath/source/483ccf5a404227dcd6a9673d50de16fc.png new file mode 100644 index 0000000..c8a7ca5 Binary files /dev/null and b/BiVisualPath/source/483ccf5a404227dcd6a9673d50de16fc.png differ diff --git a/BiVisualPath/source/498d0be500f0c5339296e74bbff83bd6.jpg b/BiVisualPath/source/498d0be500f0c5339296e74bbff83bd6.jpg new file mode 100644 index 0000000..d9b3a1f Binary files /dev/null and b/BiVisualPath/source/498d0be500f0c5339296e74bbff83bd6.jpg differ diff --git a/BiVisualPath/source/4a30c25b49f9d414ac195cc03e4b66d9.png b/BiVisualPath/source/4a30c25b49f9d414ac195cc03e4b66d9.png new file mode 100644 index 0000000..ef4d24c Binary files /dev/null and b/BiVisualPath/source/4a30c25b49f9d414ac195cc03e4b66d9.png differ diff --git a/BiVisualPath/source/4a4e651dcb60acf993aeff713dea75ec.png b/BiVisualPath/source/4a4e651dcb60acf993aeff713dea75ec.png new file mode 100644 index 0000000..1c5a260 Binary files /dev/null and b/BiVisualPath/source/4a4e651dcb60acf993aeff713dea75ec.png differ diff --git a/BiVisualPath/source/4a618842ffb16aaebeaeffa60b8bb2a5.jpg b/BiVisualPath/source/4a618842ffb16aaebeaeffa60b8bb2a5.jpg new file mode 100644 index 0000000..b2ba567 Binary files /dev/null and b/BiVisualPath/source/4a618842ffb16aaebeaeffa60b8bb2a5.jpg differ diff --git a/BiVisualPath/source/4a9d22fbe2a29b4c12f0dded409866ad.jpg b/BiVisualPath/source/4a9d22fbe2a29b4c12f0dded409866ad.jpg new file mode 100644 index 0000000..2b9c33d Binary files /dev/null and b/BiVisualPath/source/4a9d22fbe2a29b4c12f0dded409866ad.jpg differ diff --git a/BiVisualPath/source/4aa5357552bbed2c61c4d1d92bf2e345.jpg b/BiVisualPath/source/4aa5357552bbed2c61c4d1d92bf2e345.jpg new file mode 100644 index 0000000..60e7334 Binary files /dev/null and b/BiVisualPath/source/4aa5357552bbed2c61c4d1d92bf2e345.jpg differ diff --git a/BiVisualPath/source/4c168eb83d4d2a038ff1ffb478a112d3.png b/BiVisualPath/source/4c168eb83d4d2a038ff1ffb478a112d3.png new file mode 100644 index 0000000..46aa0e9 Binary files /dev/null and b/BiVisualPath/source/4c168eb83d4d2a038ff1ffb478a112d3.png differ diff --git a/BiVisualPath/source/4c593da0fe406a58000bf57828b35e6d.jpg b/BiVisualPath/source/4c593da0fe406a58000bf57828b35e6d.jpg new file mode 100644 index 0000000..6a8d6fa Binary files /dev/null and b/BiVisualPath/source/4c593da0fe406a58000bf57828b35e6d.jpg differ diff --git a/BiVisualPath/source/4e8e8fad09a43eca1743096d2f8e79c6.png b/BiVisualPath/source/4e8e8fad09a43eca1743096d2f8e79c6.png new file mode 100644 index 0000000..689b268 Binary files /dev/null and b/BiVisualPath/source/4e8e8fad09a43eca1743096d2f8e79c6.png differ diff --git a/BiVisualPath/source/4f09f282ffd16fc1f677fd370c925e34.jpg b/BiVisualPath/source/4f09f282ffd16fc1f677fd370c925e34.jpg new file mode 100644 index 0000000..63b9463 Binary files /dev/null and b/BiVisualPath/source/4f09f282ffd16fc1f677fd370c925e34.jpg differ diff --git a/BiVisualPath/source/4f515e78e3723334a6b36abf90443eee.png b/BiVisualPath/source/4f515e78e3723334a6b36abf90443eee.png new file mode 100644 index 0000000..305ccb6 Binary files /dev/null and b/BiVisualPath/source/4f515e78e3723334a6b36abf90443eee.png differ diff --git a/BiVisualPath/source/5019139c88ada11be199745f9b767897.png b/BiVisualPath/source/5019139c88ada11be199745f9b767897.png new file mode 100644 index 0000000..c483201 Binary files /dev/null and b/BiVisualPath/source/5019139c88ada11be199745f9b767897.png differ diff --git a/BiVisualPath/source/507f9024298709dd096ed0f463a76c5b.png b/BiVisualPath/source/507f9024298709dd096ed0f463a76c5b.png new file mode 100644 index 0000000..b319df5 Binary files /dev/null and b/BiVisualPath/source/507f9024298709dd096ed0f463a76c5b.png differ diff --git a/BiVisualPath/source/50d497b79ed0d4cc22205c09cd5faa37.png b/BiVisualPath/source/50d497b79ed0d4cc22205c09cd5faa37.png new file mode 100644 index 0000000..e86aa63 Binary files /dev/null and b/BiVisualPath/source/50d497b79ed0d4cc22205c09cd5faa37.png differ diff --git a/BiVisualPath/source/519219afbfee5542478f9b62db4c4991.jpg b/BiVisualPath/source/519219afbfee5542478f9b62db4c4991.jpg new file mode 100644 index 0000000..c7d279e Binary files /dev/null and b/BiVisualPath/source/519219afbfee5542478f9b62db4c4991.jpg differ diff --git a/BiVisualPath/source/520d911442bcc14ab70859fb8b35967f.jpg b/BiVisualPath/source/520d911442bcc14ab70859fb8b35967f.jpg new file mode 100644 index 0000000..855c735 Binary files /dev/null and b/BiVisualPath/source/520d911442bcc14ab70859fb8b35967f.jpg differ diff --git a/BiVisualPath/source/529ee2f65fbe4e5e9a52e287d9fd3733.png b/BiVisualPath/source/529ee2f65fbe4e5e9a52e287d9fd3733.png new file mode 100644 index 0000000..ffcd1cc Binary files /dev/null and b/BiVisualPath/source/529ee2f65fbe4e5e9a52e287d9fd3733.png differ diff --git a/BiVisualPath/source/532d31cf1a6b7be0e7a377f8c9cab064.jpg b/BiVisualPath/source/532d31cf1a6b7be0e7a377f8c9cab064.jpg new file mode 100644 index 0000000..23955a4 Binary files /dev/null and b/BiVisualPath/source/532d31cf1a6b7be0e7a377f8c9cab064.jpg differ diff --git a/BiVisualPath/source/53bada190154f6af1d3fa2f2c14c90ba.jpg b/BiVisualPath/source/53bada190154f6af1d3fa2f2c14c90ba.jpg new file mode 100644 index 0000000..745e552 Binary files /dev/null and b/BiVisualPath/source/53bada190154f6af1d3fa2f2c14c90ba.jpg differ diff --git a/BiVisualPath/source/5490836edce27d1856eb0646ad369fd9.png b/BiVisualPath/source/5490836edce27d1856eb0646ad369fd9.png new file mode 100644 index 0000000..96644db Binary files /dev/null and b/BiVisualPath/source/5490836edce27d1856eb0646ad369fd9.png differ diff --git a/BiVisualPath/source/54b144203745f5afcd1329033d5ffdcf.png b/BiVisualPath/source/54b144203745f5afcd1329033d5ffdcf.png new file mode 100644 index 0000000..6f53e22 Binary files /dev/null and b/BiVisualPath/source/54b144203745f5afcd1329033d5ffdcf.png differ diff --git a/BiVisualPath/source/54edcf5183c8572403e471e36e2ff5bd.jpg b/BiVisualPath/source/54edcf5183c8572403e471e36e2ff5bd.jpg new file mode 100644 index 0000000..c699e1b Binary files /dev/null and b/BiVisualPath/source/54edcf5183c8572403e471e36e2ff5bd.jpg differ diff --git a/BiVisualPath/source/55019d5f67c5199b7a8a59b64dfc679b.jpg b/BiVisualPath/source/55019d5f67c5199b7a8a59b64dfc679b.jpg new file mode 100644 index 0000000..d6003f3 Binary files /dev/null and b/BiVisualPath/source/55019d5f67c5199b7a8a59b64dfc679b.jpg differ diff --git a/BiVisualPath/source/55879ae8f920b5cf72ce13945b1a8909.jpg b/BiVisualPath/source/55879ae8f920b5cf72ce13945b1a8909.jpg new file mode 100644 index 0000000..620d582 Binary files /dev/null and b/BiVisualPath/source/55879ae8f920b5cf72ce13945b1a8909.jpg differ diff --git a/BiVisualPath/source/5681f3565b979303f7b9b11c30dc7c03.jpg b/BiVisualPath/source/5681f3565b979303f7b9b11c30dc7c03.jpg new file mode 100644 index 0000000..24d3589 Binary files /dev/null and b/BiVisualPath/source/5681f3565b979303f7b9b11c30dc7c03.jpg differ diff --git a/BiVisualPath/source/56b7a98745df58771be2b4a31a544357.png b/BiVisualPath/source/56b7a98745df58771be2b4a31a544357.png new file mode 100644 index 0000000..7897400 Binary files /dev/null and b/BiVisualPath/source/56b7a98745df58771be2b4a31a544357.png differ diff --git a/BiVisualPath/source/58155545378489426b68f396d88dc463.png b/BiVisualPath/source/58155545378489426b68f396d88dc463.png new file mode 100644 index 0000000..122363d Binary files /dev/null and b/BiVisualPath/source/58155545378489426b68f396d88dc463.png differ diff --git a/BiVisualPath/source/58d5c33e0f575f722c0f336be5448f87.png b/BiVisualPath/source/58d5c33e0f575f722c0f336be5448f87.png new file mode 100644 index 0000000..cc06a59 Binary files /dev/null and b/BiVisualPath/source/58d5c33e0f575f722c0f336be5448f87.png differ diff --git a/BiVisualPath/source/59d40b9a627c994ff5e6d59f3e04db76.jpg b/BiVisualPath/source/59d40b9a627c994ff5e6d59f3e04db76.jpg new file mode 100644 index 0000000..e831e69 Binary files /dev/null and b/BiVisualPath/source/59d40b9a627c994ff5e6d59f3e04db76.jpg differ diff --git a/BiVisualPath/source/5a1590ef7ea98c43b6c98fd72e75af51.png b/BiVisualPath/source/5a1590ef7ea98c43b6c98fd72e75af51.png new file mode 100644 index 0000000..8c991f6 Binary files /dev/null and b/BiVisualPath/source/5a1590ef7ea98c43b6c98fd72e75af51.png differ diff --git a/BiVisualPath/source/5a4171c9f954c9e05ebd6bce30a61f31.png b/BiVisualPath/source/5a4171c9f954c9e05ebd6bce30a61f31.png new file mode 100644 index 0000000..188a3b7 Binary files /dev/null and b/BiVisualPath/source/5a4171c9f954c9e05ebd6bce30a61f31.png differ diff --git a/BiVisualPath/source/5a68e13ced00dfcc93b08413fa74c49c.png b/BiVisualPath/source/5a68e13ced00dfcc93b08413fa74c49c.png new file mode 100644 index 0000000..735bd65 Binary files /dev/null and b/BiVisualPath/source/5a68e13ced00dfcc93b08413fa74c49c.png differ diff --git a/BiVisualPath/source/5adbbf32648916f951ceaf5594ec738d.png b/BiVisualPath/source/5adbbf32648916f951ceaf5594ec738d.png new file mode 100644 index 0000000..d769545 Binary files /dev/null and b/BiVisualPath/source/5adbbf32648916f951ceaf5594ec738d.png differ diff --git a/BiVisualPath/source/5bde06424d6b7793314a56cbe99738f5.jpg b/BiVisualPath/source/5bde06424d6b7793314a56cbe99738f5.jpg new file mode 100644 index 0000000..7a8ec9b Binary files /dev/null and b/BiVisualPath/source/5bde06424d6b7793314a56cbe99738f5.jpg differ diff --git a/BiVisualPath/source/5c4b1d92598756c81f62e13ccde57310.jpg b/BiVisualPath/source/5c4b1d92598756c81f62e13ccde57310.jpg new file mode 100644 index 0000000..98165a0 Binary files /dev/null and b/BiVisualPath/source/5c4b1d92598756c81f62e13ccde57310.jpg differ diff --git a/BiVisualPath/source/5cdcf6262d43e0e5ade93f23a8347ce7.png b/BiVisualPath/source/5cdcf6262d43e0e5ade93f23a8347ce7.png new file mode 100644 index 0000000..56b187e Binary files /dev/null and b/BiVisualPath/source/5cdcf6262d43e0e5ade93f23a8347ce7.png differ diff --git a/BiVisualPath/source/5dc89283b9402cab7aee5cf48e79bdda.png b/BiVisualPath/source/5dc89283b9402cab7aee5cf48e79bdda.png new file mode 100644 index 0000000..34c8089 Binary files /dev/null and b/BiVisualPath/source/5dc89283b9402cab7aee5cf48e79bdda.png differ diff --git a/BiVisualPath/source/5e0129ea973df30204d0b1781289123c.jpg b/BiVisualPath/source/5e0129ea973df30204d0b1781289123c.jpg new file mode 100644 index 0000000..0b14331 Binary files /dev/null and b/BiVisualPath/source/5e0129ea973df30204d0b1781289123c.jpg differ diff --git a/BiVisualPath/source/5e8e43f5ad6374c1dd08d8398087ee35.jpg b/BiVisualPath/source/5e8e43f5ad6374c1dd08d8398087ee35.jpg new file mode 100644 index 0000000..3b9c4a4 Binary files /dev/null and b/BiVisualPath/source/5e8e43f5ad6374c1dd08d8398087ee35.jpg differ diff --git a/BiVisualPath/source/5eb9d0469e8ce9aecfa27d9e3f4e0471.jpg b/BiVisualPath/source/5eb9d0469e8ce9aecfa27d9e3f4e0471.jpg new file mode 100644 index 0000000..b13263d Binary files /dev/null and b/BiVisualPath/source/5eb9d0469e8ce9aecfa27d9e3f4e0471.jpg differ diff --git a/BiVisualPath/source/5f1917578e88e0608b93797f0f038111.png b/BiVisualPath/source/5f1917578e88e0608b93797f0f038111.png new file mode 100644 index 0000000..4d53496 Binary files /dev/null and b/BiVisualPath/source/5f1917578e88e0608b93797f0f038111.png differ diff --git a/BiVisualPath/source/5f56f6766e9cfba607543b96e1de9d23.png b/BiVisualPath/source/5f56f6766e9cfba607543b96e1de9d23.png new file mode 100644 index 0000000..8431191 Binary files /dev/null and b/BiVisualPath/source/5f56f6766e9cfba607543b96e1de9d23.png differ diff --git a/BiVisualPath/source/5ffa560b6145e930184c675bb497c00d.png b/BiVisualPath/source/5ffa560b6145e930184c675bb497c00d.png new file mode 100644 index 0000000..1a5cad9 Binary files /dev/null and b/BiVisualPath/source/5ffa560b6145e930184c675bb497c00d.png differ diff --git a/BiVisualPath/source/601f01063c5e7ab890e2590268a405a6.jpg b/BiVisualPath/source/601f01063c5e7ab890e2590268a405a6.jpg new file mode 100644 index 0000000..5db9e15 Binary files /dev/null and b/BiVisualPath/source/601f01063c5e7ab890e2590268a405a6.jpg differ diff --git a/BiVisualPath/source/60b24d7ebd72f3da3ef76a072a98efe1.jpg b/BiVisualPath/source/60b24d7ebd72f3da3ef76a072a98efe1.jpg new file mode 100644 index 0000000..481113e Binary files /dev/null and b/BiVisualPath/source/60b24d7ebd72f3da3ef76a072a98efe1.jpg differ diff --git a/BiVisualPath/source/61769187bafa733f359056d4a9dd435e.png b/BiVisualPath/source/61769187bafa733f359056d4a9dd435e.png new file mode 100644 index 0000000..59b3907 Binary files /dev/null and b/BiVisualPath/source/61769187bafa733f359056d4a9dd435e.png differ diff --git a/BiVisualPath/source/62337020aca4477ef5be75a46c3fd41c.jpg b/BiVisualPath/source/62337020aca4477ef5be75a46c3fd41c.jpg new file mode 100644 index 0000000..0428296 Binary files /dev/null and b/BiVisualPath/source/62337020aca4477ef5be75a46c3fd41c.jpg differ diff --git a/BiVisualPath/source/6338dfeda923396b11aadbbcd38f5638.png b/BiVisualPath/source/6338dfeda923396b11aadbbcd38f5638.png new file mode 100644 index 0000000..d39ba48 Binary files /dev/null and b/BiVisualPath/source/6338dfeda923396b11aadbbcd38f5638.png differ diff --git a/BiVisualPath/source/637e65d341f020b3d6ad5d5cf350de71.jpg b/BiVisualPath/source/637e65d341f020b3d6ad5d5cf350de71.jpg new file mode 100644 index 0000000..526be13 Binary files /dev/null and b/BiVisualPath/source/637e65d341f020b3d6ad5d5cf350de71.jpg differ diff --git a/BiVisualPath/source/63b51876a5f982035eebede89fc8d09a.jpg b/BiVisualPath/source/63b51876a5f982035eebede89fc8d09a.jpg new file mode 100644 index 0000000..95c5bf0 Binary files /dev/null and b/BiVisualPath/source/63b51876a5f982035eebede89fc8d09a.jpg differ diff --git a/BiVisualPath/source/64ab653251456706f961b4fd6b765a7d.jpg b/BiVisualPath/source/64ab653251456706f961b4fd6b765a7d.jpg new file mode 100644 index 0000000..6d8d795 Binary files /dev/null and b/BiVisualPath/source/64ab653251456706f961b4fd6b765a7d.jpg differ diff --git a/BiVisualPath/source/64b515887631958d7331cfd0.jpg b/BiVisualPath/source/64b515887631958d7331cfd0.jpg new file mode 100644 index 0000000..6d2bf96 Binary files /dev/null and b/BiVisualPath/source/64b515887631958d7331cfd0.jpg differ diff --git a/BiVisualPath/source/64b515987631958d7331cfd1.jpg b/BiVisualPath/source/64b515987631958d7331cfd1.jpg new file mode 100644 index 0000000..a0d809d Binary files /dev/null and b/BiVisualPath/source/64b515987631958d7331cfd1.jpg differ diff --git a/BiVisualPath/source/655bbff5cb71838d0bafc0af64782457.png b/BiVisualPath/source/655bbff5cb71838d0bafc0af64782457.png new file mode 100644 index 0000000..a0f8c73 Binary files /dev/null and b/BiVisualPath/source/655bbff5cb71838d0bafc0af64782457.png differ diff --git a/BiVisualPath/source/655c8353dcad55a9c2b6afc82df314ca.png b/BiVisualPath/source/655c8353dcad55a9c2b6afc82df314ca.png new file mode 100644 index 0000000..2aaa1c3 Binary files /dev/null and b/BiVisualPath/source/655c8353dcad55a9c2b6afc82df314ca.png differ diff --git a/BiVisualPath/source/6599606c255cb9824353d7692fc2e3d8.jpg b/BiVisualPath/source/6599606c255cb9824353d7692fc2e3d8.jpg new file mode 100644 index 0000000..b38f151 Binary files /dev/null and b/BiVisualPath/source/6599606c255cb9824353d7692fc2e3d8.jpg differ diff --git a/BiVisualPath/source/665337ec270585f19fa1888d6c40a276.jpg b/BiVisualPath/source/665337ec270585f19fa1888d6c40a276.jpg new file mode 100644 index 0000000..e9840ff Binary files /dev/null and b/BiVisualPath/source/665337ec270585f19fa1888d6c40a276.jpg differ diff --git a/BiVisualPath/source/6683ad081b3b240dcf2006d9.jpg b/BiVisualPath/source/6683ad081b3b240dcf2006d9.jpg new file mode 100644 index 0000000..9192721 Binary files /dev/null and b/BiVisualPath/source/6683ad081b3b240dcf2006d9.jpg differ diff --git a/BiVisualPath/source/6683ad081b3b240dcf2006d9.jpg.thumb.jpg b/BiVisualPath/source/6683ad081b3b240dcf2006d9.jpg.thumb.jpg new file mode 100644 index 0000000..2a0536f Binary files /dev/null and b/BiVisualPath/source/6683ad081b3b240dcf2006d9.jpg.thumb.jpg differ diff --git a/BiVisualPath/source/669f10dc1b3b73c8f87be2de.jpg b/BiVisualPath/source/669f10dc1b3b73c8f87be2de.jpg new file mode 100644 index 0000000..43fc387 Binary files /dev/null and b/BiVisualPath/source/669f10dc1b3b73c8f87be2de.jpg differ diff --git a/BiVisualPath/source/66f3591afb94efe20b6d195c7f8ead13.jpg b/BiVisualPath/source/66f3591afb94efe20b6d195c7f8ead13.jpg new file mode 100644 index 0000000..64c957c Binary files /dev/null and b/BiVisualPath/source/66f3591afb94efe20b6d195c7f8ead13.jpg differ diff --git a/BiVisualPath/source/6767b598a077be0695255da10bb518d4.jpg b/BiVisualPath/source/6767b598a077be0695255da10bb518d4.jpg new file mode 100644 index 0000000..e187d1c Binary files /dev/null and b/BiVisualPath/source/6767b598a077be0695255da10bb518d4.jpg differ diff --git a/BiVisualPath/source/67e2dbf9e54c6a1a7e7e0988cdb01c77.png b/BiVisualPath/source/67e2dbf9e54c6a1a7e7e0988cdb01c77.png new file mode 100644 index 0000000..c80bbc5 Binary files /dev/null and b/BiVisualPath/source/67e2dbf9e54c6a1a7e7e0988cdb01c77.png differ diff --git a/BiVisualPath/source/68f814fcb33c5b8430b4719c47d5c4ee.png b/BiVisualPath/source/68f814fcb33c5b8430b4719c47d5c4ee.png new file mode 100644 index 0000000..f1f9d58 Binary files /dev/null and b/BiVisualPath/source/68f814fcb33c5b8430b4719c47d5c4ee.png differ diff --git a/BiVisualPath/source/697863eb584dd6eb200771575983cc1f.png b/BiVisualPath/source/697863eb584dd6eb200771575983cc1f.png new file mode 100644 index 0000000..e2fedc6 Binary files /dev/null and b/BiVisualPath/source/697863eb584dd6eb200771575983cc1f.png differ diff --git a/BiVisualPath/source/69e72f5e8dcd0087b6b2237ea1afa497.png b/BiVisualPath/source/69e72f5e8dcd0087b6b2237ea1afa497.png new file mode 100644 index 0000000..91d44b8 Binary files /dev/null and b/BiVisualPath/source/69e72f5e8dcd0087b6b2237ea1afa497.png differ diff --git a/BiVisualPath/source/6a2a23b140cfd1409f7641ae295236b2.png b/BiVisualPath/source/6a2a23b140cfd1409f7641ae295236b2.png new file mode 100644 index 0000000..0d17543 Binary files /dev/null and b/BiVisualPath/source/6a2a23b140cfd1409f7641ae295236b2.png differ diff --git a/BiVisualPath/source/6ad3817db3ae498c08c269764830a889.jpg b/BiVisualPath/source/6ad3817db3ae498c08c269764830a889.jpg new file mode 100644 index 0000000..b2e6fda Binary files /dev/null and b/BiVisualPath/source/6ad3817db3ae498c08c269764830a889.jpg differ diff --git a/BiVisualPath/source/6b271a18491e9602360c18f300dbf623.png b/BiVisualPath/source/6b271a18491e9602360c18f300dbf623.png new file mode 100644 index 0000000..2473149 Binary files /dev/null and b/BiVisualPath/source/6b271a18491e9602360c18f300dbf623.png differ diff --git a/BiVisualPath/source/6cc8eb9c37fd9a77e3d7c72a38615ce0.jpg b/BiVisualPath/source/6cc8eb9c37fd9a77e3d7c72a38615ce0.jpg new file mode 100644 index 0000000..50ce1c1 Binary files /dev/null and b/BiVisualPath/source/6cc8eb9c37fd9a77e3d7c72a38615ce0.jpg differ diff --git a/BiVisualPath/source/6d5502f8bc7b148656ecf92842987dd8.jpg b/BiVisualPath/source/6d5502f8bc7b148656ecf92842987dd8.jpg new file mode 100644 index 0000000..87444b2 Binary files /dev/null and b/BiVisualPath/source/6d5502f8bc7b148656ecf92842987dd8.jpg differ diff --git a/BiVisualPath/source/6eb285836ad3bd92af9153a0aab8dce8.jpg b/BiVisualPath/source/6eb285836ad3bd92af9153a0aab8dce8.jpg new file mode 100644 index 0000000..82f4071 Binary files /dev/null and b/BiVisualPath/source/6eb285836ad3bd92af9153a0aab8dce8.jpg differ diff --git a/BiVisualPath/source/7089e448bfa6e92a18103bbb10024f7d.png b/BiVisualPath/source/7089e448bfa6e92a18103bbb10024f7d.png new file mode 100644 index 0000000..fd7f30d Binary files /dev/null and b/BiVisualPath/source/7089e448bfa6e92a18103bbb10024f7d.png differ diff --git a/BiVisualPath/source/710d2fdd1ccc02f51efc98f201042ee2.png b/BiVisualPath/source/710d2fdd1ccc02f51efc98f201042ee2.png new file mode 100644 index 0000000..f228925 Binary files /dev/null and b/BiVisualPath/source/710d2fdd1ccc02f51efc98f201042ee2.png differ diff --git a/BiVisualPath/source/71918a06d64fc8ae065f1bd1d523948c.png b/BiVisualPath/source/71918a06d64fc8ae065f1bd1d523948c.png new file mode 100644 index 0000000..94b494e Binary files /dev/null and b/BiVisualPath/source/71918a06d64fc8ae065f1bd1d523948c.png differ diff --git a/BiVisualPath/source/721c65480f173c69e08795e655c9b70b.jpg b/BiVisualPath/source/721c65480f173c69e08795e655c9b70b.jpg new file mode 100644 index 0000000..aa8d288 Binary files /dev/null and b/BiVisualPath/source/721c65480f173c69e08795e655c9b70b.jpg differ diff --git a/BiVisualPath/source/72c004ddb076b0d13d4c7f249d53ccb9.jpg b/BiVisualPath/source/72c004ddb076b0d13d4c7f249d53ccb9.jpg new file mode 100644 index 0000000..06dec9b Binary files /dev/null and b/BiVisualPath/source/72c004ddb076b0d13d4c7f249d53ccb9.jpg differ diff --git a/BiVisualPath/source/72d1e6ba0c06521d79e6f1e74266ade2.png b/BiVisualPath/source/72d1e6ba0c06521d79e6f1e74266ade2.png new file mode 100644 index 0000000..fca1041 Binary files /dev/null and b/BiVisualPath/source/72d1e6ba0c06521d79e6f1e74266ade2.png differ diff --git a/BiVisualPath/source/73b5e4e806560eb12b7acc87a923ea2c.png b/BiVisualPath/source/73b5e4e806560eb12b7acc87a923ea2c.png new file mode 100644 index 0000000..9330d4c Binary files /dev/null and b/BiVisualPath/source/73b5e4e806560eb12b7acc87a923ea2c.png differ diff --git a/BiVisualPath/source/74988dab44ec7e0ec9c21d7b4637f472.png b/BiVisualPath/source/74988dab44ec7e0ec9c21d7b4637f472.png new file mode 100644 index 0000000..9a95543 Binary files /dev/null and b/BiVisualPath/source/74988dab44ec7e0ec9c21d7b4637f472.png differ diff --git a/BiVisualPath/source/752074a83cc487e60f536e91457ecf50.png b/BiVisualPath/source/752074a83cc487e60f536e91457ecf50.png new file mode 100644 index 0000000..1af9640 Binary files /dev/null and b/BiVisualPath/source/752074a83cc487e60f536e91457ecf50.png differ diff --git a/BiVisualPath/source/752691578b80e09f803700efe885c162.png b/BiVisualPath/source/752691578b80e09f803700efe885c162.png new file mode 100644 index 0000000..fd7f30d Binary files /dev/null and b/BiVisualPath/source/752691578b80e09f803700efe885c162.png differ diff --git a/BiVisualPath/source/757d5634cf2d7a43771edf3076ead160.png b/BiVisualPath/source/757d5634cf2d7a43771edf3076ead160.png new file mode 100644 index 0000000..e0cc106 Binary files /dev/null and b/BiVisualPath/source/757d5634cf2d7a43771edf3076ead160.png differ diff --git a/BiVisualPath/source/75a2c56d496e45b1fde455e8f9cabaa5.jpg b/BiVisualPath/source/75a2c56d496e45b1fde455e8f9cabaa5.jpg new file mode 100644 index 0000000..27d7b21 Binary files /dev/null and b/BiVisualPath/source/75a2c56d496e45b1fde455e8f9cabaa5.jpg differ diff --git a/BiVisualPath/source/7696dafb5044ca54bb1bde6ce0750cf6.jpg b/BiVisualPath/source/7696dafb5044ca54bb1bde6ce0750cf6.jpg new file mode 100644 index 0000000..18406da Binary files /dev/null and b/BiVisualPath/source/7696dafb5044ca54bb1bde6ce0750cf6.jpg differ diff --git a/BiVisualPath/source/76da34c90129e2486abf74df3c3d287c.png b/BiVisualPath/source/76da34c90129e2486abf74df3c3d287c.png new file mode 100644 index 0000000..23212c3 Binary files /dev/null and b/BiVisualPath/source/76da34c90129e2486abf74df3c3d287c.png differ diff --git a/BiVisualPath/source/76f65ee0c8478e77f662e9f840caad43.jpg b/BiVisualPath/source/76f65ee0c8478e77f662e9f840caad43.jpg new file mode 100644 index 0000000..1058599 Binary files /dev/null and b/BiVisualPath/source/76f65ee0c8478e77f662e9f840caad43.jpg differ diff --git a/BiVisualPath/source/773bb26e5678b8afb6300424bb493b42.jpg b/BiVisualPath/source/773bb26e5678b8afb6300424bb493b42.jpg new file mode 100644 index 0000000..32733b4 Binary files /dev/null and b/BiVisualPath/source/773bb26e5678b8afb6300424bb493b42.jpg differ diff --git a/BiVisualPath/source/775a5d04838b531c9a79bf98d0af5c9e.png b/BiVisualPath/source/775a5d04838b531c9a79bf98d0af5c9e.png new file mode 100644 index 0000000..6d96fd2 Binary files /dev/null and b/BiVisualPath/source/775a5d04838b531c9a79bf98d0af5c9e.png differ diff --git a/BiVisualPath/source/777de220d94b72104bfb3f0910601f07.jpg b/BiVisualPath/source/777de220d94b72104bfb3f0910601f07.jpg new file mode 100644 index 0000000..1e011c2 Binary files /dev/null and b/BiVisualPath/source/777de220d94b72104bfb3f0910601f07.jpg differ diff --git a/BiVisualPath/source/78058bacd0037eff21b3e5611110938f.jpg b/BiVisualPath/source/78058bacd0037eff21b3e5611110938f.jpg new file mode 100644 index 0000000..60c3c4a Binary files /dev/null and b/BiVisualPath/source/78058bacd0037eff21b3e5611110938f.jpg differ diff --git a/BiVisualPath/source/78256b97f7babae3981a525aae4c8336.png b/BiVisualPath/source/78256b97f7babae3981a525aae4c8336.png new file mode 100644 index 0000000..8853291 Binary files /dev/null and b/BiVisualPath/source/78256b97f7babae3981a525aae4c8336.png differ diff --git a/BiVisualPath/source/7982ec334f30035607023d78ccfc891a.png b/BiVisualPath/source/7982ec334f30035607023d78ccfc891a.png new file mode 100644 index 0000000..3207f74 Binary files /dev/null and b/BiVisualPath/source/7982ec334f30035607023d78ccfc891a.png differ diff --git a/BiVisualPath/source/79d821ef81b24593da7d0fcfeb1589c5.png b/BiVisualPath/source/79d821ef81b24593da7d0fcfeb1589c5.png new file mode 100644 index 0000000..e6fcb6d Binary files /dev/null and b/BiVisualPath/source/79d821ef81b24593da7d0fcfeb1589c5.png differ diff --git a/BiVisualPath/source/7abb2c799253a2c8093b725b7c70398a.jpg b/BiVisualPath/source/7abb2c799253a2c8093b725b7c70398a.jpg new file mode 100644 index 0000000..df54925 Binary files /dev/null and b/BiVisualPath/source/7abb2c799253a2c8093b725b7c70398a.jpg differ diff --git a/BiVisualPath/source/7b10b5505052dd6925a45fd3117b17d3.png b/BiVisualPath/source/7b10b5505052dd6925a45fd3117b17d3.png new file mode 100644 index 0000000..a5c58e0 Binary files /dev/null and b/BiVisualPath/source/7b10b5505052dd6925a45fd3117b17d3.png differ diff --git a/BiVisualPath/source/7c5f152b38ddacfd9d502da46763308b.png b/BiVisualPath/source/7c5f152b38ddacfd9d502da46763308b.png new file mode 100644 index 0000000..5a2cf9b Binary files /dev/null and b/BiVisualPath/source/7c5f152b38ddacfd9d502da46763308b.png differ diff --git a/BiVisualPath/source/7cfe7ddb445d467be88737f9b260284c.jpg b/BiVisualPath/source/7cfe7ddb445d467be88737f9b260284c.jpg new file mode 100644 index 0000000..335922c Binary files /dev/null and b/BiVisualPath/source/7cfe7ddb445d467be88737f9b260284c.jpg differ diff --git a/BiVisualPath/source/7d2c2337cd5ec928e326cdd5773e8e13.png b/BiVisualPath/source/7d2c2337cd5ec928e326cdd5773e8e13.png new file mode 100644 index 0000000..63bb588 Binary files /dev/null and b/BiVisualPath/source/7d2c2337cd5ec928e326cdd5773e8e13.png differ diff --git a/BiVisualPath/source/7edd8f3f2b4ccdfca151bc1a0ec65b70.jpg b/BiVisualPath/source/7edd8f3f2b4ccdfca151bc1a0ec65b70.jpg new file mode 100644 index 0000000..341cc42 Binary files /dev/null and b/BiVisualPath/source/7edd8f3f2b4ccdfca151bc1a0ec65b70.jpg differ diff --git a/BiVisualPath/source/7f37adb4c07da80aea595b1d7b3f4cf5.jpg b/BiVisualPath/source/7f37adb4c07da80aea595b1d7b3f4cf5.jpg new file mode 100644 index 0000000..a52918a Binary files /dev/null and b/BiVisualPath/source/7f37adb4c07da80aea595b1d7b3f4cf5.jpg differ diff --git a/BiVisualPath/source/7f97fb6ebe218f86fa970bd4aafd01f6.png b/BiVisualPath/source/7f97fb6ebe218f86fa970bd4aafd01f6.png new file mode 100644 index 0000000..968abe4 Binary files /dev/null and b/BiVisualPath/source/7f97fb6ebe218f86fa970bd4aafd01f6.png differ diff --git a/BiVisualPath/source/806e75531d6175dffe11bfe69a51ccaa.png b/BiVisualPath/source/806e75531d6175dffe11bfe69a51ccaa.png new file mode 100644 index 0000000..4cf5066 Binary files /dev/null and b/BiVisualPath/source/806e75531d6175dffe11bfe69a51ccaa.png differ diff --git a/BiVisualPath/source/80f6858a27d86b0f9233023544a89414.png b/BiVisualPath/source/80f6858a27d86b0f9233023544a89414.png new file mode 100644 index 0000000..425e9c6 Binary files /dev/null and b/BiVisualPath/source/80f6858a27d86b0f9233023544a89414.png differ diff --git a/BiVisualPath/source/819b72c21fe7a6e0593380e575195eba.jpg b/BiVisualPath/source/819b72c21fe7a6e0593380e575195eba.jpg new file mode 100644 index 0000000..ca9aef3 Binary files /dev/null and b/BiVisualPath/source/819b72c21fe7a6e0593380e575195eba.jpg differ diff --git a/BiVisualPath/source/820f7f4f095a69ce61bc9e4ab13c8b4e.jpg b/BiVisualPath/source/820f7f4f095a69ce61bc9e4ab13c8b4e.jpg new file mode 100644 index 0000000..9dd0c85 Binary files /dev/null and b/BiVisualPath/source/820f7f4f095a69ce61bc9e4ab13c8b4e.jpg differ diff --git a/BiVisualPath/source/8267555e03793b38374da7ef9822b305.png b/BiVisualPath/source/8267555e03793b38374da7ef9822b305.png new file mode 100644 index 0000000..9936e78 Binary files /dev/null and b/BiVisualPath/source/8267555e03793b38374da7ef9822b305.png differ diff --git a/BiVisualPath/source/8356cfe1992a912f1afe7dc68355f42b.jpg b/BiVisualPath/source/8356cfe1992a912f1afe7dc68355f42b.jpg new file mode 100644 index 0000000..95a3ece Binary files /dev/null and b/BiVisualPath/source/8356cfe1992a912f1afe7dc68355f42b.jpg differ diff --git a/BiVisualPath/source/83f5425eb297a05807c34f80881cd945.png b/BiVisualPath/source/83f5425eb297a05807c34f80881cd945.png new file mode 100644 index 0000000..32b69a4 Binary files /dev/null and b/BiVisualPath/source/83f5425eb297a05807c34f80881cd945.png differ diff --git a/BiVisualPath/source/8508414a84604b4f65977429cdb8d7cc.png b/BiVisualPath/source/8508414a84604b4f65977429cdb8d7cc.png new file mode 100644 index 0000000..e851626 Binary files /dev/null and b/BiVisualPath/source/8508414a84604b4f65977429cdb8d7cc.png differ diff --git a/BiVisualPath/source/85d107196017e9b268bd6a64f334ae1e.jpg b/BiVisualPath/source/85d107196017e9b268bd6a64f334ae1e.jpg new file mode 100644 index 0000000..03bb6c2 Binary files /dev/null and b/BiVisualPath/source/85d107196017e9b268bd6a64f334ae1e.jpg differ diff --git a/BiVisualPath/source/85e0dcf5f1487c02b9b2e2fcdf8caa0e.png b/BiVisualPath/source/85e0dcf5f1487c02b9b2e2fcdf8caa0e.png new file mode 100644 index 0000000..8700eae Binary files /dev/null and b/BiVisualPath/source/85e0dcf5f1487c02b9b2e2fcdf8caa0e.png differ diff --git a/BiVisualPath/source/86bd656a1a0436a895e4ae499801de30.jpg b/BiVisualPath/source/86bd656a1a0436a895e4ae499801de30.jpg new file mode 100644 index 0000000..9c31658 Binary files /dev/null and b/BiVisualPath/source/86bd656a1a0436a895e4ae499801de30.jpg differ diff --git a/BiVisualPath/source/86c4bfab5fd8f35b25a2b4ee39ba0575.png b/BiVisualPath/source/86c4bfab5fd8f35b25a2b4ee39ba0575.png new file mode 100644 index 0000000..a682ecc Binary files /dev/null and b/BiVisualPath/source/86c4bfab5fd8f35b25a2b4ee39ba0575.png differ diff --git a/BiVisualPath/source/86d7f2b2728ef94d88fb228fc539abd1.png b/BiVisualPath/source/86d7f2b2728ef94d88fb228fc539abd1.png new file mode 100644 index 0000000..c24590a Binary files /dev/null and b/BiVisualPath/source/86d7f2b2728ef94d88fb228fc539abd1.png differ diff --git a/BiVisualPath/source/86e04a63792952a1b57b2e519272d7f3.jpg b/BiVisualPath/source/86e04a63792952a1b57b2e519272d7f3.jpg new file mode 100644 index 0000000..9e8c070 Binary files /dev/null and b/BiVisualPath/source/86e04a63792952a1b57b2e519272d7f3.jpg differ diff --git a/BiVisualPath/source/875bcfe29fc31ede7d01e182bdae1e34.png b/BiVisualPath/source/875bcfe29fc31ede7d01e182bdae1e34.png new file mode 100644 index 0000000..08036fb Binary files /dev/null and b/BiVisualPath/source/875bcfe29fc31ede7d01e182bdae1e34.png differ diff --git a/BiVisualPath/source/8788a3954fdd51d8f942b6bfebc28e99.jpg b/BiVisualPath/source/8788a3954fdd51d8f942b6bfebc28e99.jpg new file mode 100644 index 0000000..19e9974 Binary files /dev/null and b/BiVisualPath/source/8788a3954fdd51d8f942b6bfebc28e99.jpg differ diff --git a/BiVisualPath/source/87aee76acb60b4e4a3254274854dfa87.jpg b/BiVisualPath/source/87aee76acb60b4e4a3254274854dfa87.jpg new file mode 100644 index 0000000..9d1664f Binary files /dev/null and b/BiVisualPath/source/87aee76acb60b4e4a3254274854dfa87.jpg differ diff --git a/BiVisualPath/source/87ea7c2007e24b92f1323a882f89428d.jpg b/BiVisualPath/source/87ea7c2007e24b92f1323a882f89428d.jpg new file mode 100644 index 0000000..f23acf7 Binary files /dev/null and b/BiVisualPath/source/87ea7c2007e24b92f1323a882f89428d.jpg differ diff --git a/BiVisualPath/source/88bbc7562933e9159273793497fa0017.png b/BiVisualPath/source/88bbc7562933e9159273793497fa0017.png new file mode 100644 index 0000000..568dda7 Binary files /dev/null and b/BiVisualPath/source/88bbc7562933e9159273793497fa0017.png differ diff --git a/BiVisualPath/source/89007e55dae55c5c164adf86f5dd33e4.png b/BiVisualPath/source/89007e55dae55c5c164adf86f5dd33e4.png new file mode 100644 index 0000000..b9cb7ca Binary files /dev/null and b/BiVisualPath/source/89007e55dae55c5c164adf86f5dd33e4.png differ diff --git a/BiVisualPath/source/8aa45fab0b40d3fdfa43a3587ce5ce06.jpg b/BiVisualPath/source/8aa45fab0b40d3fdfa43a3587ce5ce06.jpg new file mode 100644 index 0000000..6c80512 Binary files /dev/null and b/BiVisualPath/source/8aa45fab0b40d3fdfa43a3587ce5ce06.jpg differ diff --git a/BiVisualPath/source/8ab81ca6e1e0eed2a399509f92c834dc.jpg b/BiVisualPath/source/8ab81ca6e1e0eed2a399509f92c834dc.jpg new file mode 100644 index 0000000..3876a3f Binary files /dev/null and b/BiVisualPath/source/8ab81ca6e1e0eed2a399509f92c834dc.jpg differ diff --git a/BiVisualPath/source/8abcc1dbdb40173016c70a5a74750a44.jpg b/BiVisualPath/source/8abcc1dbdb40173016c70a5a74750a44.jpg new file mode 100644 index 0000000..d9c2aec Binary files /dev/null and b/BiVisualPath/source/8abcc1dbdb40173016c70a5a74750a44.jpg differ diff --git a/BiVisualPath/source/8bfdf95f6856be2eac46c8e31759ddba.jpg b/BiVisualPath/source/8bfdf95f6856be2eac46c8e31759ddba.jpg new file mode 100644 index 0000000..44dfa86 Binary files /dev/null and b/BiVisualPath/source/8bfdf95f6856be2eac46c8e31759ddba.jpg differ diff --git a/BiVisualPath/source/8c1192db686a170b21946812578f1c59.jpg b/BiVisualPath/source/8c1192db686a170b21946812578f1c59.jpg new file mode 100644 index 0000000..425fe91 Binary files /dev/null and b/BiVisualPath/source/8c1192db686a170b21946812578f1c59.jpg differ diff --git a/BiVisualPath/source/8d08fa236df1b212aa91309a619bf5d8.png b/BiVisualPath/source/8d08fa236df1b212aa91309a619bf5d8.png new file mode 100644 index 0000000..d840a32 Binary files /dev/null and b/BiVisualPath/source/8d08fa236df1b212aa91309a619bf5d8.png differ diff --git a/BiVisualPath/source/8d4e9daf781894d1e4483b5332bb60d6.jpg b/BiVisualPath/source/8d4e9daf781894d1e4483b5332bb60d6.jpg new file mode 100644 index 0000000..f9c733a Binary files /dev/null and b/BiVisualPath/source/8d4e9daf781894d1e4483b5332bb60d6.jpg differ diff --git a/BiVisualPath/source/8d5a31a5e5caa7c7643c4485cc14539e.png b/BiVisualPath/source/8d5a31a5e5caa7c7643c4485cc14539e.png new file mode 100644 index 0000000..5b58f02 Binary files /dev/null and b/BiVisualPath/source/8d5a31a5e5caa7c7643c4485cc14539e.png differ diff --git a/BiVisualPath/source/8da4e5b70903f2aec7f8635428600930.jpg b/BiVisualPath/source/8da4e5b70903f2aec7f8635428600930.jpg new file mode 100644 index 0000000..f6a5b3a Binary files /dev/null and b/BiVisualPath/source/8da4e5b70903f2aec7f8635428600930.jpg differ diff --git a/BiVisualPath/source/8e7550048fce86166b027707877f8c1e.png b/BiVisualPath/source/8e7550048fce86166b027707877f8c1e.png new file mode 100644 index 0000000..7491fae Binary files /dev/null and b/BiVisualPath/source/8e7550048fce86166b027707877f8c1e.png differ diff --git a/BiVisualPath/source/8f3009eb157a3aa3b4098540fecb6d41.jpg b/BiVisualPath/source/8f3009eb157a3aa3b4098540fecb6d41.jpg new file mode 100644 index 0000000..0a3b07a Binary files /dev/null and b/BiVisualPath/source/8f3009eb157a3aa3b4098540fecb6d41.jpg differ diff --git a/BiVisualPath/source/8fcf144d7ba54e166dad6110e878bd18.jpg b/BiVisualPath/source/8fcf144d7ba54e166dad6110e878bd18.jpg new file mode 100644 index 0000000..f4d245a Binary files /dev/null and b/BiVisualPath/source/8fcf144d7ba54e166dad6110e878bd18.jpg differ diff --git a/BiVisualPath/source/900e7ac01f4bbc0f26f2317c3c6c2834.jpg b/BiVisualPath/source/900e7ac01f4bbc0f26f2317c3c6c2834.jpg new file mode 100644 index 0000000..c9217dd Binary files /dev/null and b/BiVisualPath/source/900e7ac01f4bbc0f26f2317c3c6c2834.jpg differ diff --git a/BiVisualPath/source/91a0fd4db6c5456ec7a72a4835ebaed2.png b/BiVisualPath/source/91a0fd4db6c5456ec7a72a4835ebaed2.png new file mode 100644 index 0000000..9c23eb8 Binary files /dev/null and b/BiVisualPath/source/91a0fd4db6c5456ec7a72a4835ebaed2.png differ diff --git a/BiVisualPath/source/929055c10ccad0703589cf2d01585e69.jpg b/BiVisualPath/source/929055c10ccad0703589cf2d01585e69.jpg new file mode 100644 index 0000000..f8a73ea Binary files /dev/null and b/BiVisualPath/source/929055c10ccad0703589cf2d01585e69.jpg differ diff --git a/BiVisualPath/source/9305ffb6ac357b562dd7efde07ff786d.jpg b/BiVisualPath/source/9305ffb6ac357b562dd7efde07ff786d.jpg new file mode 100644 index 0000000..2bdf50e Binary files /dev/null and b/BiVisualPath/source/9305ffb6ac357b562dd7efde07ff786d.jpg differ diff --git a/BiVisualPath/source/933f3fb1623ba21a520c62a1942e09e0.jpg b/BiVisualPath/source/933f3fb1623ba21a520c62a1942e09e0.jpg new file mode 100644 index 0000000..c727863 Binary files /dev/null and b/BiVisualPath/source/933f3fb1623ba21a520c62a1942e09e0.jpg differ diff --git a/BiVisualPath/source/9343b7022f08b05bd2fd6731f8fad034.png b/BiVisualPath/source/9343b7022f08b05bd2fd6731f8fad034.png new file mode 100644 index 0000000..161029f Binary files /dev/null and b/BiVisualPath/source/9343b7022f08b05bd2fd6731f8fad034.png differ diff --git a/BiVisualPath/source/93b7680e16202c4a6f6ac9e46d44a691.png b/BiVisualPath/source/93b7680e16202c4a6f6ac9e46d44a691.png new file mode 100644 index 0000000..c16854a Binary files /dev/null and b/BiVisualPath/source/93b7680e16202c4a6f6ac9e46d44a691.png differ diff --git a/BiVisualPath/source/93c9563b840fea0711a30e6612b0c1fd.png b/BiVisualPath/source/93c9563b840fea0711a30e6612b0c1fd.png new file mode 100644 index 0000000..cfd68c6 Binary files /dev/null and b/BiVisualPath/source/93c9563b840fea0711a30e6612b0c1fd.png differ diff --git a/BiVisualPath/source/94efe07ce2e6efc79eb2078b427b3699.jpg b/BiVisualPath/source/94efe07ce2e6efc79eb2078b427b3699.jpg new file mode 100644 index 0000000..12694d2 Binary files /dev/null and b/BiVisualPath/source/94efe07ce2e6efc79eb2078b427b3699.jpg differ diff --git a/BiVisualPath/source/9745c366e5d0380dd7cd89cce0e1ade4.png b/BiVisualPath/source/9745c366e5d0380dd7cd89cce0e1ade4.png new file mode 100644 index 0000000..c53f37e Binary files /dev/null and b/BiVisualPath/source/9745c366e5d0380dd7cd89cce0e1ade4.png differ diff --git a/BiVisualPath/source/97c3252f5a6239b08e8cc9b77e33336b.jpg b/BiVisualPath/source/97c3252f5a6239b08e8cc9b77e33336b.jpg new file mode 100644 index 0000000..5e83166 Binary files /dev/null and b/BiVisualPath/source/97c3252f5a6239b08e8cc9b77e33336b.jpg differ diff --git a/BiVisualPath/source/9859016df2bf6d76ba29dc1e67b6ecf3.png b/BiVisualPath/source/9859016df2bf6d76ba29dc1e67b6ecf3.png new file mode 100644 index 0000000..81943c1 Binary files /dev/null and b/BiVisualPath/source/9859016df2bf6d76ba29dc1e67b6ecf3.png differ diff --git a/BiVisualPath/source/9859c0b246496d9dc21627120ee01ff0.png b/BiVisualPath/source/9859c0b246496d9dc21627120ee01ff0.png new file mode 100644 index 0000000..2918d65 Binary files /dev/null and b/BiVisualPath/source/9859c0b246496d9dc21627120ee01ff0.png differ diff --git a/BiVisualPath/source/992b1562f04610f0ef6dfcc7d55e94ad.png b/BiVisualPath/source/992b1562f04610f0ef6dfcc7d55e94ad.png new file mode 100644 index 0000000..d852911 Binary files /dev/null and b/BiVisualPath/source/992b1562f04610f0ef6dfcc7d55e94ad.png differ diff --git a/BiVisualPath/source/993d41a7d60b5930e68f5033d0672fc0.png b/BiVisualPath/source/993d41a7d60b5930e68f5033d0672fc0.png new file mode 100644 index 0000000..30dbb19 Binary files /dev/null and b/BiVisualPath/source/993d41a7d60b5930e68f5033d0672fc0.png differ diff --git a/BiVisualPath/source/9a8e39d9f6a5a3ae585e66a3680704c4.jpg b/BiVisualPath/source/9a8e39d9f6a5a3ae585e66a3680704c4.jpg new file mode 100644 index 0000000..f280a70 Binary files /dev/null and b/BiVisualPath/source/9a8e39d9f6a5a3ae585e66a3680704c4.jpg differ diff --git a/BiVisualPath/source/9acb559d3e856d7792985fc599d0d81d.jpg b/BiVisualPath/source/9acb559d3e856d7792985fc599d0d81d.jpg new file mode 100644 index 0000000..c57807d Binary files /dev/null and b/BiVisualPath/source/9acb559d3e856d7792985fc599d0d81d.jpg differ diff --git a/BiVisualPath/source/9b28e2743e3521ace039166b572fc311.png b/BiVisualPath/source/9b28e2743e3521ace039166b572fc311.png new file mode 100644 index 0000000..a183e96 Binary files /dev/null and b/BiVisualPath/source/9b28e2743e3521ace039166b572fc311.png differ diff --git a/BiVisualPath/source/9c16783734699460f61915e89a7e9552.jpg b/BiVisualPath/source/9c16783734699460f61915e89a7e9552.jpg new file mode 100644 index 0000000..a735d25 Binary files /dev/null and b/BiVisualPath/source/9c16783734699460f61915e89a7e9552.jpg differ diff --git a/BiVisualPath/source/9ceb8df4baa27df7e6bd390c6c8ef771.jpg b/BiVisualPath/source/9ceb8df4baa27df7e6bd390c6c8ef771.jpg new file mode 100644 index 0000000..d030b2f Binary files /dev/null and b/BiVisualPath/source/9ceb8df4baa27df7e6bd390c6c8ef771.jpg differ diff --git a/BiVisualPath/source/9dd14f99668767b049e803bd791e13a7.png b/BiVisualPath/source/9dd14f99668767b049e803bd791e13a7.png new file mode 100644 index 0000000..9be7fb8 Binary files /dev/null and b/BiVisualPath/source/9dd14f99668767b049e803bd791e13a7.png differ diff --git a/BiVisualPath/source/9eff66892e6a1e2a66230da82c1827fb.png b/BiVisualPath/source/9eff66892e6a1e2a66230da82c1827fb.png new file mode 100644 index 0000000..f8a842a Binary files /dev/null and b/BiVisualPath/source/9eff66892e6a1e2a66230da82c1827fb.png differ diff --git a/BiVisualPath/source/9faf95fdbd1f21a2c290a7714b4ce6f2.jpg b/BiVisualPath/source/9faf95fdbd1f21a2c290a7714b4ce6f2.jpg new file mode 100644 index 0000000..9d2da92 Binary files /dev/null and b/BiVisualPath/source/9faf95fdbd1f21a2c290a7714b4ce6f2.jpg differ diff --git a/BiVisualPath/source/DQM2kT.jpg b/BiVisualPath/source/DQM2kT.jpg new file mode 100644 index 0000000..efbcd08 Binary files /dev/null and b/BiVisualPath/source/DQM2kT.jpg differ diff --git a/BiVisualPath/source/DQMFSJ.jpg b/BiVisualPath/source/DQMFSJ.jpg new file mode 100644 index 0000000..48f25cc Binary files /dev/null and b/BiVisualPath/source/DQMFSJ.jpg differ diff --git a/BiVisualPath/source/DQMY0P.jpg b/BiVisualPath/source/DQMY0P.jpg new file mode 100644 index 0000000..d7fe7de Binary files /dev/null and b/BiVisualPath/source/DQMY0P.jpg differ diff --git a/BiVisualPath/source/a041fe53dd283d52a9e1edc190e58ad6.png b/BiVisualPath/source/a041fe53dd283d52a9e1edc190e58ad6.png new file mode 100644 index 0000000..ae09344 Binary files /dev/null and b/BiVisualPath/source/a041fe53dd283d52a9e1edc190e58ad6.png differ diff --git a/BiVisualPath/source/a084c02c40341af87d7a3f899ae03cce.jpg b/BiVisualPath/source/a084c02c40341af87d7a3f899ae03cce.jpg new file mode 100644 index 0000000..e6401d4 Binary files /dev/null and b/BiVisualPath/source/a084c02c40341af87d7a3f899ae03cce.jpg differ diff --git a/BiVisualPath/source/a0a041e8eed72f4ff7fdcbe71611aff9.png b/BiVisualPath/source/a0a041e8eed72f4ff7fdcbe71611aff9.png new file mode 100644 index 0000000..59efef0 Binary files /dev/null and b/BiVisualPath/source/a0a041e8eed72f4ff7fdcbe71611aff9.png differ diff --git a/BiVisualPath/source/a198a27fe91cbcbc679b948247f23ed8.png b/BiVisualPath/source/a198a27fe91cbcbc679b948247f23ed8.png new file mode 100644 index 0000000..cba3824 Binary files /dev/null and b/BiVisualPath/source/a198a27fe91cbcbc679b948247f23ed8.png differ diff --git a/BiVisualPath/source/a24980fed0c14e2538e2e17dd8815024.png b/BiVisualPath/source/a24980fed0c14e2538e2e17dd8815024.png new file mode 100644 index 0000000..d25a918 Binary files /dev/null and b/BiVisualPath/source/a24980fed0c14e2538e2e17dd8815024.png differ diff --git a/BiVisualPath/source/a2869b05303ce912d9e78fbfc40300a4.png b/BiVisualPath/source/a2869b05303ce912d9e78fbfc40300a4.png new file mode 100644 index 0000000..efc8e71 Binary files /dev/null and b/BiVisualPath/source/a2869b05303ce912d9e78fbfc40300a4.png differ diff --git a/BiVisualPath/source/a2e53fb3274434e2486443b951ae86e3.png b/BiVisualPath/source/a2e53fb3274434e2486443b951ae86e3.png new file mode 100644 index 0000000..c51c6b7 Binary files /dev/null and b/BiVisualPath/source/a2e53fb3274434e2486443b951ae86e3.png differ diff --git a/BiVisualPath/source/a5154b72c4514b6bd2d21821c1bd5943.png b/BiVisualPath/source/a5154b72c4514b6bd2d21821c1bd5943.png new file mode 100644 index 0000000..4a32eb4 Binary files /dev/null and b/BiVisualPath/source/a5154b72c4514b6bd2d21821c1bd5943.png differ diff --git a/BiVisualPath/source/a576e946facb36ffd985a48a2398840c.png b/BiVisualPath/source/a576e946facb36ffd985a48a2398840c.png new file mode 100644 index 0000000..0b27dc6 Binary files /dev/null and b/BiVisualPath/source/a576e946facb36ffd985a48a2398840c.png differ diff --git a/BiVisualPath/source/a595bc7fbb1cffe7f40a4144b7623486.jpg b/BiVisualPath/source/a595bc7fbb1cffe7f40a4144b7623486.jpg new file mode 100644 index 0000000..cc289a0 Binary files /dev/null and b/BiVisualPath/source/a595bc7fbb1cffe7f40a4144b7623486.jpg differ diff --git a/BiVisualPath/source/a5b594bf7cce334a591830323ab216ee.jpg b/BiVisualPath/source/a5b594bf7cce334a591830323ab216ee.jpg new file mode 100644 index 0000000..604113b Binary files /dev/null and b/BiVisualPath/source/a5b594bf7cce334a591830323ab216ee.jpg differ diff --git a/BiVisualPath/source/a5edbc26a6062d682b4b2576afb17efb.png b/BiVisualPath/source/a5edbc26a6062d682b4b2576afb17efb.png new file mode 100644 index 0000000..60eac1f Binary files /dev/null and b/BiVisualPath/source/a5edbc26a6062d682b4b2576afb17efb.png differ diff --git a/BiVisualPath/source/a607cb92f2ed3ea56f7e70d15f5f087b.jpg b/BiVisualPath/source/a607cb92f2ed3ea56f7e70d15f5f087b.jpg new file mode 100644 index 0000000..19e9974 Binary files /dev/null and b/BiVisualPath/source/a607cb92f2ed3ea56f7e70d15f5f087b.jpg differ diff --git a/BiVisualPath/source/a6849c296760529eea8a9b466254faef.jpg b/BiVisualPath/source/a6849c296760529eea8a9b466254faef.jpg new file mode 100644 index 0000000..e1a3a6e Binary files /dev/null and b/BiVisualPath/source/a6849c296760529eea8a9b466254faef.jpg differ diff --git a/BiVisualPath/source/a71765f0a0fd18f1bece44a865820617.jpg b/BiVisualPath/source/a71765f0a0fd18f1bece44a865820617.jpg new file mode 100644 index 0000000..92e3e3f Binary files /dev/null and b/BiVisualPath/source/a71765f0a0fd18f1bece44a865820617.jpg differ diff --git a/BiVisualPath/source/a717c7ad9b57ac1eaf0d2c624871d1ac.png b/BiVisualPath/source/a717c7ad9b57ac1eaf0d2c624871d1ac.png new file mode 100644 index 0000000..fd7f30d Binary files /dev/null and b/BiVisualPath/source/a717c7ad9b57ac1eaf0d2c624871d1ac.png differ diff --git a/BiVisualPath/source/a752bf33260dd8db5c11360bbff39728.jpg b/BiVisualPath/source/a752bf33260dd8db5c11360bbff39728.jpg new file mode 100644 index 0000000..9ae17f2 Binary files /dev/null and b/BiVisualPath/source/a752bf33260dd8db5c11360bbff39728.jpg differ diff --git a/BiVisualPath/source/a7cce1cb722ccb32b08577a150a72393.png b/BiVisualPath/source/a7cce1cb722ccb32b08577a150a72393.png new file mode 100644 index 0000000..0a3f4b9 Binary files /dev/null and b/BiVisualPath/source/a7cce1cb722ccb32b08577a150a72393.png differ diff --git a/BiVisualPath/source/a86bac7e8b8e6a326922f7884b2b40b9.jpg b/BiVisualPath/source/a86bac7e8b8e6a326922f7884b2b40b9.jpg new file mode 100644 index 0000000..5ee17da Binary files /dev/null and b/BiVisualPath/source/a86bac7e8b8e6a326922f7884b2b40b9.jpg differ diff --git a/BiVisualPath/source/a8af1bcd911ecb6bf911815af22abd3e.jpg b/BiVisualPath/source/a8af1bcd911ecb6bf911815af22abd3e.jpg new file mode 100644 index 0000000..99599d5 Binary files /dev/null and b/BiVisualPath/source/a8af1bcd911ecb6bf911815af22abd3e.jpg differ diff --git a/BiVisualPath/source/aa8e6b77f7cb3f65d47bc0b9d006f50a.jpg b/BiVisualPath/source/aa8e6b77f7cb3f65d47bc0b9d006f50a.jpg new file mode 100644 index 0000000..1631e61 Binary files /dev/null and b/BiVisualPath/source/aa8e6b77f7cb3f65d47bc0b9d006f50a.jpg differ diff --git a/BiVisualPath/source/aab398b6100795982300161d1314969f.png b/BiVisualPath/source/aab398b6100795982300161d1314969f.png new file mode 100644 index 0000000..72d0ac1 Binary files /dev/null and b/BiVisualPath/source/aab398b6100795982300161d1314969f.png differ diff --git a/BiVisualPath/source/ac32d3370b70b07339188b49d67f83d0.jpg b/BiVisualPath/source/ac32d3370b70b07339188b49d67f83d0.jpg new file mode 100644 index 0000000..6de453d Binary files /dev/null and b/BiVisualPath/source/ac32d3370b70b07339188b49d67f83d0.jpg differ diff --git a/BiVisualPath/source/ac815c539416a600850b73f0d2ade100.jpg b/BiVisualPath/source/ac815c539416a600850b73f0d2ade100.jpg new file mode 100644 index 0000000..4ba400d Binary files /dev/null and b/BiVisualPath/source/ac815c539416a600850b73f0d2ade100.jpg differ diff --git a/BiVisualPath/source/acee3e867ae7eae302a647ef076cfcb2.png b/BiVisualPath/source/acee3e867ae7eae302a647ef076cfcb2.png new file mode 100644 index 0000000..bd87465 Binary files /dev/null and b/BiVisualPath/source/acee3e867ae7eae302a647ef076cfcb2.png differ diff --git a/BiVisualPath/source/ad42848021a2cdce8edce2ed187e2eda.png b/BiVisualPath/source/ad42848021a2cdce8edce2ed187e2eda.png new file mode 100644 index 0000000..1e0ed48 Binary files /dev/null and b/BiVisualPath/source/ad42848021a2cdce8edce2ed187e2eda.png differ diff --git a/BiVisualPath/source/ad8f786b1ecaf47b876bc096eac75797.png b/BiVisualPath/source/ad8f786b1ecaf47b876bc096eac75797.png new file mode 100644 index 0000000..9e009d8 Binary files /dev/null and b/BiVisualPath/source/ad8f786b1ecaf47b876bc096eac75797.png differ diff --git a/BiVisualPath/source/ae638d34c84bf0b20f6dc11cb64c15a3.png b/BiVisualPath/source/ae638d34c84bf0b20f6dc11cb64c15a3.png new file mode 100644 index 0000000..7e88a85 Binary files /dev/null and b/BiVisualPath/source/ae638d34c84bf0b20f6dc11cb64c15a3.png differ diff --git a/BiVisualPath/source/af640461d4e055e3875cf0eaf733b552.png b/BiVisualPath/source/af640461d4e055e3875cf0eaf733b552.png new file mode 100644 index 0000000..c3d6c35 Binary files /dev/null and b/BiVisualPath/source/af640461d4e055e3875cf0eaf733b552.png differ diff --git a/BiVisualPath/source/af7f942c8cf1d36a21e3e76a51db028f.png b/BiVisualPath/source/af7f942c8cf1d36a21e3e76a51db028f.png new file mode 100644 index 0000000..b105b29 Binary files /dev/null and b/BiVisualPath/source/af7f942c8cf1d36a21e3e76a51db028f.png differ diff --git a/BiVisualPath/source/afb9f9615cec030e8b04b326688bc9c0.jpg b/BiVisualPath/source/afb9f9615cec030e8b04b326688bc9c0.jpg new file mode 100644 index 0000000..6c6b670 Binary files /dev/null and b/BiVisualPath/source/afb9f9615cec030e8b04b326688bc9c0.jpg differ diff --git a/BiVisualPath/source/afd456601d4329eba6c7e2f570f51d70.png b/BiVisualPath/source/afd456601d4329eba6c7e2f570f51d70.png new file mode 100644 index 0000000..9705926 Binary files /dev/null and b/BiVisualPath/source/afd456601d4329eba6c7e2f570f51d70.png differ diff --git a/BiVisualPath/source/b01ad77f927e3d7be0ccce99ecc37f20.png b/BiVisualPath/source/b01ad77f927e3d7be0ccce99ecc37f20.png new file mode 100644 index 0000000..fabe5a7 Binary files /dev/null and b/BiVisualPath/source/b01ad77f927e3d7be0ccce99ecc37f20.png differ diff --git a/BiVisualPath/source/b15eaf86c1cad0ac605279dac8ff9fe7.jpg b/BiVisualPath/source/b15eaf86c1cad0ac605279dac8ff9fe7.jpg new file mode 100644 index 0000000..b7388ec Binary files /dev/null and b/BiVisualPath/source/b15eaf86c1cad0ac605279dac8ff9fe7.jpg differ diff --git a/BiVisualPath/source/b1bffa4a689c6c021d1aad0f0a89b4df.png b/BiVisualPath/source/b1bffa4a689c6c021d1aad0f0a89b4df.png new file mode 100644 index 0000000..4d91084 Binary files /dev/null and b/BiVisualPath/source/b1bffa4a689c6c021d1aad0f0a89b4df.png differ diff --git a/BiVisualPath/source/b215d60661e5b896db5c26948f130a59.jpg b/BiVisualPath/source/b215d60661e5b896db5c26948f130a59.jpg new file mode 100644 index 0000000..9d443d1 Binary files /dev/null and b/BiVisualPath/source/b215d60661e5b896db5c26948f130a59.jpg differ diff --git a/BiVisualPath/source/b21dcee297a53b7aab4aaa676080cd60.png b/BiVisualPath/source/b21dcee297a53b7aab4aaa676080cd60.png new file mode 100644 index 0000000..046aecd Binary files /dev/null and b/BiVisualPath/source/b21dcee297a53b7aab4aaa676080cd60.png differ diff --git a/BiVisualPath/source/b291ba34bb1b7e7b5fde813fca46290a.png b/BiVisualPath/source/b291ba34bb1b7e7b5fde813fca46290a.png new file mode 100644 index 0000000..ae4cf81 Binary files /dev/null and b/BiVisualPath/source/b291ba34bb1b7e7b5fde813fca46290a.png differ diff --git a/BiVisualPath/source/b2aceb271dd5932b6a36a88fe1a0d182.png b/BiVisualPath/source/b2aceb271dd5932b6a36a88fe1a0d182.png new file mode 100644 index 0000000..91789be Binary files /dev/null and b/BiVisualPath/source/b2aceb271dd5932b6a36a88fe1a0d182.png differ diff --git a/BiVisualPath/source/b3063c8d5a58e5a4cd4ac14ac05231d0.png b/BiVisualPath/source/b3063c8d5a58e5a4cd4ac14ac05231d0.png new file mode 100644 index 0000000..a2f55c8 Binary files /dev/null and b/BiVisualPath/source/b3063c8d5a58e5a4cd4ac14ac05231d0.png differ diff --git a/BiVisualPath/source/b373fa755e8b547db05fb2a9912770b9.jpg b/BiVisualPath/source/b373fa755e8b547db05fb2a9912770b9.jpg new file mode 100644 index 0000000..61bdf6a Binary files /dev/null and b/BiVisualPath/source/b373fa755e8b547db05fb2a9912770b9.jpg differ diff --git a/BiVisualPath/source/b3d90cc3e8877c19ad6ce545f5801033.png b/BiVisualPath/source/b3d90cc3e8877c19ad6ce545f5801033.png new file mode 100644 index 0000000..0ebf15a Binary files /dev/null and b/BiVisualPath/source/b3d90cc3e8877c19ad6ce545f5801033.png differ diff --git a/BiVisualPath/source/b3e21d4182e107ebb307f46e08572701.jpg b/BiVisualPath/source/b3e21d4182e107ebb307f46e08572701.jpg new file mode 100644 index 0000000..2552440 Binary files /dev/null and b/BiVisualPath/source/b3e21d4182e107ebb307f46e08572701.jpg differ diff --git a/BiVisualPath/source/b405c22d9d9e00999c5b4c6272b5de35.png b/BiVisualPath/source/b405c22d9d9e00999c5b4c6272b5de35.png new file mode 100644 index 0000000..945a1ac Binary files /dev/null and b/BiVisualPath/source/b405c22d9d9e00999c5b4c6272b5de35.png differ diff --git a/BiVisualPath/source/b4558041a4637b487b4544dd43e77db3.png b/BiVisualPath/source/b4558041a4637b487b4544dd43e77db3.png new file mode 100644 index 0000000..efc44b9 Binary files /dev/null and b/BiVisualPath/source/b4558041a4637b487b4544dd43e77db3.png differ diff --git a/BiVisualPath/source/b5add3c7b9ac5c0616b3874bbef50a7f.jpg b/BiVisualPath/source/b5add3c7b9ac5c0616b3874bbef50a7f.jpg new file mode 100644 index 0000000..9fbe4c4 Binary files /dev/null and b/BiVisualPath/source/b5add3c7b9ac5c0616b3874bbef50a7f.jpg differ diff --git a/BiVisualPath/source/b7ceb59463c4a9df171f2d9089c57570.png b/BiVisualPath/source/b7ceb59463c4a9df171f2d9089c57570.png new file mode 100644 index 0000000..7897400 Binary files /dev/null and b/BiVisualPath/source/b7ceb59463c4a9df171f2d9089c57570.png differ diff --git a/BiVisualPath/source/b81ffab8dcc6d2cde005397986b3dba4.jpg b/BiVisualPath/source/b81ffab8dcc6d2cde005397986b3dba4.jpg new file mode 100644 index 0000000..fa3504f Binary files /dev/null and b/BiVisualPath/source/b81ffab8dcc6d2cde005397986b3dba4.jpg differ diff --git a/BiVisualPath/source/b85fd38be5d7723db1b6e6b8914952bf.png b/BiVisualPath/source/b85fd38be5d7723db1b6e6b8914952bf.png new file mode 100644 index 0000000..e3ad0b5 Binary files /dev/null and b/BiVisualPath/source/b85fd38be5d7723db1b6e6b8914952bf.png differ diff --git a/BiVisualPath/source/b876d8a37a05aa13d09c6abb9e30b86d.png b/BiVisualPath/source/b876d8a37a05aa13d09c6abb9e30b86d.png new file mode 100644 index 0000000..8ca632f Binary files /dev/null and b/BiVisualPath/source/b876d8a37a05aa13d09c6abb9e30b86d.png differ diff --git a/BiVisualPath/source/b98d2cc506c4f0fb4d42c559260d8d06.png b/BiVisualPath/source/b98d2cc506c4f0fb4d42c559260d8d06.png new file mode 100644 index 0000000..ff8b9ff Binary files /dev/null and b/BiVisualPath/source/b98d2cc506c4f0fb4d42c559260d8d06.png differ diff --git a/BiVisualPath/source/b99391b1351cb84e5e6a3f8fe9425320.png b/BiVisualPath/source/b99391b1351cb84e5e6a3f8fe9425320.png new file mode 100644 index 0000000..9754efb Binary files /dev/null and b/BiVisualPath/source/b99391b1351cb84e5e6a3f8fe9425320.png differ diff --git a/BiVisualPath/source/b9cb7cd8f78fa8ff50c5687355c63f6c.png b/BiVisualPath/source/b9cb7cd8f78fa8ff50c5687355c63f6c.png new file mode 100644 index 0000000..9bd73c7 Binary files /dev/null and b/BiVisualPath/source/b9cb7cd8f78fa8ff50c5687355c63f6c.png differ diff --git a/BiVisualPath/source/baaae71a4faaccfc25d52f85cd5661ff.jpg b/BiVisualPath/source/baaae71a4faaccfc25d52f85cd5661ff.jpg new file mode 100644 index 0000000..c088e2d Binary files /dev/null and b/BiVisualPath/source/baaae71a4faaccfc25d52f85cd5661ff.jpg differ diff --git a/BiVisualPath/source/baaee8b0b202933ce436704517041483.png b/BiVisualPath/source/baaee8b0b202933ce436704517041483.png new file mode 100644 index 0000000..b1143a7 Binary files /dev/null and b/BiVisualPath/source/baaee8b0b202933ce436704517041483.png differ diff --git a/BiVisualPath/source/banner1.png b/BiVisualPath/source/banner1.png new file mode 100644 index 0000000..dde96a4 Binary files /dev/null and b/BiVisualPath/source/banner1.png differ diff --git a/BiVisualPath/source/banner10.png b/BiVisualPath/source/banner10.png new file mode 100644 index 0000000..63f9f6b Binary files /dev/null and b/BiVisualPath/source/banner10.png differ diff --git a/BiVisualPath/source/banner2.png b/BiVisualPath/source/banner2.png new file mode 100644 index 0000000..a2f8905 Binary files /dev/null and b/BiVisualPath/source/banner2.png differ diff --git a/BiVisualPath/source/banner3.png b/BiVisualPath/source/banner3.png new file mode 100644 index 0000000..22d0369 Binary files /dev/null and b/BiVisualPath/source/banner3.png differ diff --git a/BiVisualPath/source/banner4.png b/BiVisualPath/source/banner4.png new file mode 100644 index 0000000..3ffe1bd Binary files /dev/null and b/BiVisualPath/source/banner4.png differ diff --git a/BiVisualPath/source/banner5.png b/BiVisualPath/source/banner5.png new file mode 100644 index 0000000..e3e3423 Binary files /dev/null and b/BiVisualPath/source/banner5.png differ diff --git a/BiVisualPath/source/banner6.png b/BiVisualPath/source/banner6.png new file mode 100644 index 0000000..1b8a7e6 Binary files /dev/null and b/BiVisualPath/source/banner6.png differ diff --git a/BiVisualPath/source/banner7.png b/BiVisualPath/source/banner7.png new file mode 100644 index 0000000..6cad215 Binary files /dev/null and b/BiVisualPath/source/banner7.png differ diff --git a/BiVisualPath/source/banner8.png b/BiVisualPath/source/banner8.png new file mode 100644 index 0000000..614a943 Binary files /dev/null and b/BiVisualPath/source/banner8.png differ diff --git a/BiVisualPath/source/bb77c84dfb15a80c33e11357ec370003.jpg b/BiVisualPath/source/bb77c84dfb15a80c33e11357ec370003.jpg new file mode 100644 index 0000000..58c125c Binary files /dev/null and b/BiVisualPath/source/bb77c84dfb15a80c33e11357ec370003.jpg differ diff --git a/BiVisualPath/source/bbcf78692e44a5c058e86ad36cca1ba8.png b/BiVisualPath/source/bbcf78692e44a5c058e86ad36cca1ba8.png new file mode 100644 index 0000000..07de46a Binary files /dev/null and b/BiVisualPath/source/bbcf78692e44a5c058e86ad36cca1ba8.png differ diff --git a/BiVisualPath/source/bbe89e9468f19b37cab01f2488e7a112.png b/BiVisualPath/source/bbe89e9468f19b37cab01f2488e7a112.png new file mode 100644 index 0000000..a87d3e8 Binary files /dev/null and b/BiVisualPath/source/bbe89e9468f19b37cab01f2488e7a112.png differ diff --git a/BiVisualPath/source/bbee7f6b5f2f7288633666f0ec900881.png b/BiVisualPath/source/bbee7f6b5f2f7288633666f0ec900881.png new file mode 100644 index 0000000..0ef9f4e Binary files /dev/null and b/BiVisualPath/source/bbee7f6b5f2f7288633666f0ec900881.png differ diff --git a/BiVisualPath/source/bc65a08a22e1169c1f6854d0b0b3d108.jpg b/BiVisualPath/source/bc65a08a22e1169c1f6854d0b0b3d108.jpg new file mode 100644 index 0000000..68ca253 Binary files /dev/null and b/BiVisualPath/source/bc65a08a22e1169c1f6854d0b0b3d108.jpg differ diff --git a/BiVisualPath/source/bcde92d60f70c0ec47103191314a4220.png b/BiVisualPath/source/bcde92d60f70c0ec47103191314a4220.png new file mode 100644 index 0000000..8853291 Binary files /dev/null and b/BiVisualPath/source/bcde92d60f70c0ec47103191314a4220.png differ diff --git a/BiVisualPath/source/be754ef85e2e4a5d86cb5db4827637d7.jpg b/BiVisualPath/source/be754ef85e2e4a5d86cb5db4827637d7.jpg new file mode 100644 index 0000000..3dcb8ab Binary files /dev/null and b/BiVisualPath/source/be754ef85e2e4a5d86cb5db4827637d7.jpg differ diff --git a/BiVisualPath/source/be76680ce0b6a1cdb1908d7be50da0fc.png b/BiVisualPath/source/be76680ce0b6a1cdb1908d7be50da0fc.png new file mode 100644 index 0000000..126b2f9 Binary files /dev/null and b/BiVisualPath/source/be76680ce0b6a1cdb1908d7be50da0fc.png differ diff --git a/BiVisualPath/source/bf0bdb6d3d171c9192aad95dcd34e534.png b/BiVisualPath/source/bf0bdb6d3d171c9192aad95dcd34e534.png new file mode 100644 index 0000000..93bd197 Binary files /dev/null and b/BiVisualPath/source/bf0bdb6d3d171c9192aad95dcd34e534.png differ diff --git a/BiVisualPath/source/c0280dbd75f8488785f262a9b62f8176.jpg b/BiVisualPath/source/c0280dbd75f8488785f262a9b62f8176.jpg new file mode 100644 index 0000000..853c798 Binary files /dev/null and b/BiVisualPath/source/c0280dbd75f8488785f262a9b62f8176.jpg differ diff --git a/BiVisualPath/source/c0bc9acc5f9f6a03b860ca5eb34a481c.png b/BiVisualPath/source/c0bc9acc5f9f6a03b860ca5eb34a481c.png new file mode 100644 index 0000000..67371f6 Binary files /dev/null and b/BiVisualPath/source/c0bc9acc5f9f6a03b860ca5eb34a481c.png differ diff --git a/BiVisualPath/source/c0c16552d74ea127494bb678dbcacb66.jpg b/BiVisualPath/source/c0c16552d74ea127494bb678dbcacb66.jpg new file mode 100644 index 0000000..2239f62 Binary files /dev/null and b/BiVisualPath/source/c0c16552d74ea127494bb678dbcacb66.jpg differ diff --git a/BiVisualPath/source/c0e8ce35d8832584847a8d32cfb4d771.png b/BiVisualPath/source/c0e8ce35d8832584847a8d32cfb4d771.png new file mode 100644 index 0000000..38c627b Binary files /dev/null and b/BiVisualPath/source/c0e8ce35d8832584847a8d32cfb4d771.png differ diff --git a/BiVisualPath/source/c1071640efdb9761b7c44860ff6a217a.jpg b/BiVisualPath/source/c1071640efdb9761b7c44860ff6a217a.jpg new file mode 100644 index 0000000..ffda535 Binary files /dev/null and b/BiVisualPath/source/c1071640efdb9761b7c44860ff6a217a.jpg differ diff --git a/BiVisualPath/source/c12717baecc0671cfc3d51457e597adc.png b/BiVisualPath/source/c12717baecc0671cfc3d51457e597adc.png new file mode 100644 index 0000000..6f42bb6 Binary files /dev/null and b/BiVisualPath/source/c12717baecc0671cfc3d51457e597adc.png differ diff --git a/BiVisualPath/source/c185eda08436d4184854124454386268.jpg b/BiVisualPath/source/c185eda08436d4184854124454386268.jpg new file mode 100644 index 0000000..4373427 Binary files /dev/null and b/BiVisualPath/source/c185eda08436d4184854124454386268.jpg differ diff --git a/BiVisualPath/source/c3.png b/BiVisualPath/source/c3.png new file mode 100644 index 0000000..dfe2ce8 --- /dev/null +++ b/BiVisualPath/source/c3.png @@ -0,0 +1,242 @@ + + + + + + + + + + + +登录 + + + + + + + + + + + + + + + + + +
+
+
+ + + +
+
+
+
+ +
+ + +
+ +
+ +
+
+ + + + + + + + +
+
+
+
+
Copyright © 2018 ESENSOFT All Rights Reserved 北京亿信华辰软件有限责任公司 版权所有 Version:标准版 V5.2.3_20200701195413
+
+
+ + + + + diff --git a/BiVisualPath/source/c316a23870b88e78a0f2b74532968516.jpg b/BiVisualPath/source/c316a23870b88e78a0f2b74532968516.jpg new file mode 100644 index 0000000..c788be7 Binary files /dev/null and b/BiVisualPath/source/c316a23870b88e78a0f2b74532968516.jpg differ diff --git a/BiVisualPath/source/c360c77cf6bedb81f92fab285766a390.jpg b/BiVisualPath/source/c360c77cf6bedb81f92fab285766a390.jpg new file mode 100644 index 0000000..d631b73 Binary files /dev/null and b/BiVisualPath/source/c360c77cf6bedb81f92fab285766a390.jpg differ diff --git a/BiVisualPath/source/c38d5b4cddb3c8f359fe5c0065453a77.png b/BiVisualPath/source/c38d5b4cddb3c8f359fe5c0065453a77.png new file mode 100644 index 0000000..32b5519 Binary files /dev/null and b/BiVisualPath/source/c38d5b4cddb3c8f359fe5c0065453a77.png differ diff --git a/BiVisualPath/source/c44433bd7bbc4d0e48c77e853f08f7cc.png b/BiVisualPath/source/c44433bd7bbc4d0e48c77e853f08f7cc.png new file mode 100644 index 0000000..32b5519 Binary files /dev/null and b/BiVisualPath/source/c44433bd7bbc4d0e48c77e853f08f7cc.png differ diff --git a/BiVisualPath/source/c475087505275c8bd1b8c223fa3e2f0c.png b/BiVisualPath/source/c475087505275c8bd1b8c223fa3e2f0c.png new file mode 100644 index 0000000..d62c0a1 Binary files /dev/null and b/BiVisualPath/source/c475087505275c8bd1b8c223fa3e2f0c.png differ diff --git a/BiVisualPath/source/c4b908fbcc2138bf77e3ba57acf52977.jpg b/BiVisualPath/source/c4b908fbcc2138bf77e3ba57acf52977.jpg new file mode 100644 index 0000000..5c296b9 Binary files /dev/null and b/BiVisualPath/source/c4b908fbcc2138bf77e3ba57acf52977.jpg differ diff --git a/BiVisualPath/source/c538a902087ea03f96267dcacfa80398.jpg b/BiVisualPath/source/c538a902087ea03f96267dcacfa80398.jpg new file mode 100644 index 0000000..0cfbe95 Binary files /dev/null and b/BiVisualPath/source/c538a902087ea03f96267dcacfa80398.jpg differ diff --git a/BiVisualPath/source/c5c43a856a50566f141e7e7216134d04.png b/BiVisualPath/source/c5c43a856a50566f141e7e7216134d04.png new file mode 100644 index 0000000..ffcd1cc Binary files /dev/null and b/BiVisualPath/source/c5c43a856a50566f141e7e7216134d04.png differ diff --git a/BiVisualPath/source/c620aba9ee3aeeb268894c4d32c3b6d7.png b/BiVisualPath/source/c620aba9ee3aeeb268894c4d32c3b6d7.png new file mode 100644 index 0000000..6950071 Binary files /dev/null and b/BiVisualPath/source/c620aba9ee3aeeb268894c4d32c3b6d7.png differ diff --git a/BiVisualPath/source/c7604ffa89aa005272793dd2e304b31b.jpg b/BiVisualPath/source/c7604ffa89aa005272793dd2e304b31b.jpg new file mode 100644 index 0000000..d1e3cad Binary files /dev/null and b/BiVisualPath/source/c7604ffa89aa005272793dd2e304b31b.jpg differ diff --git a/BiVisualPath/source/c77249bc6414936d47261c9d01efa5dc.png b/BiVisualPath/source/c77249bc6414936d47261c9d01efa5dc.png new file mode 100644 index 0000000..c24590a Binary files /dev/null and b/BiVisualPath/source/c77249bc6414936d47261c9d01efa5dc.png differ diff --git a/BiVisualPath/source/c7f34975793d3b84a0a2935679b3a689.png b/BiVisualPath/source/c7f34975793d3b84a0a2935679b3a689.png new file mode 100644 index 0000000..c94d2bd Binary files /dev/null and b/BiVisualPath/source/c7f34975793d3b84a0a2935679b3a689.png differ diff --git a/BiVisualPath/source/c7f866e35daa296d00fe713bdda28bec.png b/BiVisualPath/source/c7f866e35daa296d00fe713bdda28bec.png new file mode 100644 index 0000000..00864d7 Binary files /dev/null and b/BiVisualPath/source/c7f866e35daa296d00fe713bdda28bec.png differ diff --git a/BiVisualPath/source/c85bae562ea2c58c5649789619ff354f.jpg b/BiVisualPath/source/c85bae562ea2c58c5649789619ff354f.jpg new file mode 100644 index 0000000..3ab2cd4 Binary files /dev/null and b/BiVisualPath/source/c85bae562ea2c58c5649789619ff354f.jpg differ diff --git a/BiVisualPath/source/c86e8012b0b0052a9550ed242ae4e00b.jpg b/BiVisualPath/source/c86e8012b0b0052a9550ed242ae4e00b.jpg new file mode 100644 index 0000000..3fbd169 Binary files /dev/null and b/BiVisualPath/source/c86e8012b0b0052a9550ed242ae4e00b.jpg differ diff --git a/BiVisualPath/source/c8e489b4ef33152e9a7fb8e2051ad9db.jpg b/BiVisualPath/source/c8e489b4ef33152e9a7fb8e2051ad9db.jpg new file mode 100644 index 0000000..0a3ab05 Binary files /dev/null and b/BiVisualPath/source/c8e489b4ef33152e9a7fb8e2051ad9db.jpg differ diff --git a/BiVisualPath/source/c91edeb7c7466e2df363ec477234da33.png b/BiVisualPath/source/c91edeb7c7466e2df363ec477234da33.png new file mode 100644 index 0000000..c801e94 Binary files /dev/null and b/BiVisualPath/source/c91edeb7c7466e2df363ec477234da33.png differ diff --git a/BiVisualPath/source/ca04cf394050678c4e576387d3ff1830.png b/BiVisualPath/source/ca04cf394050678c4e576387d3ff1830.png new file mode 100644 index 0000000..b562a7a Binary files /dev/null and b/BiVisualPath/source/ca04cf394050678c4e576387d3ff1830.png differ diff --git a/BiVisualPath/source/ca0d9f18ad579da42d57f0815af943f4.jpg b/BiVisualPath/source/ca0d9f18ad579da42d57f0815af943f4.jpg new file mode 100644 index 0000000..f800e31 Binary files /dev/null and b/BiVisualPath/source/ca0d9f18ad579da42d57f0815af943f4.jpg differ diff --git a/BiVisualPath/source/ca5a657f9ec5df5cf20855d23d2e2ba8.jpg b/BiVisualPath/source/ca5a657f9ec5df5cf20855d23d2e2ba8.jpg new file mode 100644 index 0000000..7e0693b Binary files /dev/null and b/BiVisualPath/source/ca5a657f9ec5df5cf20855d23d2e2ba8.jpg differ diff --git a/BiVisualPath/source/ca9096321d6dbede76489e333d0fe6e9.png b/BiVisualPath/source/ca9096321d6dbede76489e333d0fe6e9.png new file mode 100644 index 0000000..355bee1 Binary files /dev/null and b/BiVisualPath/source/ca9096321d6dbede76489e333d0fe6e9.png differ diff --git a/BiVisualPath/source/caa9905e2e98ad602ce0014f16325a21.png b/BiVisualPath/source/caa9905e2e98ad602ce0014f16325a21.png new file mode 100644 index 0000000..54d392d Binary files /dev/null and b/BiVisualPath/source/caa9905e2e98ad602ce0014f16325a21.png differ diff --git a/BiVisualPath/source/cb33c05d990c21c027b06c2e5da336c7.png b/BiVisualPath/source/cb33c05d990c21c027b06c2e5da336c7.png new file mode 100644 index 0000000..fae381b Binary files /dev/null and b/BiVisualPath/source/cb33c05d990c21c027b06c2e5da336c7.png differ diff --git a/BiVisualPath/source/cb3b7ea4917c4dfe0e94aa644eacbbf2.jpg b/BiVisualPath/source/cb3b7ea4917c4dfe0e94aa644eacbbf2.jpg new file mode 100644 index 0000000..50daec7 Binary files /dev/null and b/BiVisualPath/source/cb3b7ea4917c4dfe0e94aa644eacbbf2.jpg differ diff --git a/BiVisualPath/source/cbb75499cab34adf5b77197e121c64c7.png b/BiVisualPath/source/cbb75499cab34adf5b77197e121c64c7.png new file mode 100644 index 0000000..2ee599e Binary files /dev/null and b/BiVisualPath/source/cbb75499cab34adf5b77197e121c64c7.png differ diff --git a/BiVisualPath/source/cbd28d2b2351fa4fabbd722ddde1237f.png b/BiVisualPath/source/cbd28d2b2351fa4fabbd722ddde1237f.png new file mode 100644 index 0000000..183106d Binary files /dev/null and b/BiVisualPath/source/cbd28d2b2351fa4fabbd722ddde1237f.png differ diff --git a/BiVisualPath/source/cbdf5c656c41ddcdb59e9c3710e1082f.jpg b/BiVisualPath/source/cbdf5c656c41ddcdb59e9c3710e1082f.jpg new file mode 100644 index 0000000..b394ff2 Binary files /dev/null and b/BiVisualPath/source/cbdf5c656c41ddcdb59e9c3710e1082f.jpg differ diff --git a/BiVisualPath/source/cc3b10dde727b0393f764cf5613271b9.jpg b/BiVisualPath/source/cc3b10dde727b0393f764cf5613271b9.jpg new file mode 100644 index 0000000..17abff4 Binary files /dev/null and b/BiVisualPath/source/cc3b10dde727b0393f764cf5613271b9.jpg differ diff --git a/BiVisualPath/source/cc55325d91dc753eea6fab5f8575d4ff.png b/BiVisualPath/source/cc55325d91dc753eea6fab5f8575d4ff.png new file mode 100644 index 0000000..6f98b59 Binary files /dev/null and b/BiVisualPath/source/cc55325d91dc753eea6fab5f8575d4ff.png differ diff --git a/BiVisualPath/source/cc82014e20c1644d6ce8310b82301b6b.png b/BiVisualPath/source/cc82014e20c1644d6ce8310b82301b6b.png new file mode 100644 index 0000000..1dc2809 Binary files /dev/null and b/BiVisualPath/source/cc82014e20c1644d6ce8310b82301b6b.png differ diff --git a/BiVisualPath/source/ce8c3d6b7050b4bc1e2b1278b1f2e38e.png b/BiVisualPath/source/ce8c3d6b7050b4bc1e2b1278b1f2e38e.png new file mode 100644 index 0000000..8c2bee1 Binary files /dev/null and b/BiVisualPath/source/ce8c3d6b7050b4bc1e2b1278b1f2e38e.png differ diff --git a/BiVisualPath/source/cee22ac0d66cd441c1539b18d93cc466.png b/BiVisualPath/source/cee22ac0d66cd441c1539b18d93cc466.png new file mode 100644 index 0000000..32845d2 Binary files /dev/null and b/BiVisualPath/source/cee22ac0d66cd441c1539b18d93cc466.png differ diff --git a/BiVisualPath/source/cffc4e7f881e291a019f92e31c27773e.png b/BiVisualPath/source/cffc4e7f881e291a019f92e31c27773e.png new file mode 100644 index 0000000..523b798 Binary files /dev/null and b/BiVisualPath/source/cffc4e7f881e291a019f92e31c27773e.png differ diff --git a/BiVisualPath/source/d051be66fa38ce3761dbd9c66c887bb3.png b/BiVisualPath/source/d051be66fa38ce3761dbd9c66c887bb3.png new file mode 100644 index 0000000..2b5de1d Binary files /dev/null and b/BiVisualPath/source/d051be66fa38ce3761dbd9c66c887bb3.png differ diff --git a/BiVisualPath/source/d06c266425ca3d4b56750f2095a393e3.jpg b/BiVisualPath/source/d06c266425ca3d4b56750f2095a393e3.jpg new file mode 100644 index 0000000..3a89833 Binary files /dev/null and b/BiVisualPath/source/d06c266425ca3d4b56750f2095a393e3.jpg differ diff --git a/BiVisualPath/source/d0a752d227a8a95d9aa572bcd017bce0.jpg b/BiVisualPath/source/d0a752d227a8a95d9aa572bcd017bce0.jpg new file mode 100644 index 0000000..323687c Binary files /dev/null and b/BiVisualPath/source/d0a752d227a8a95d9aa572bcd017bce0.jpg differ diff --git a/BiVisualPath/source/d0ad8e0c567d363bc4560554593139c3.png b/BiVisualPath/source/d0ad8e0c567d363bc4560554593139c3.png new file mode 100644 index 0000000..ee54118 Binary files /dev/null and b/BiVisualPath/source/d0ad8e0c567d363bc4560554593139c3.png differ diff --git a/BiVisualPath/source/d132e390cd57d6284c6ae2661e95ff65.png b/BiVisualPath/source/d132e390cd57d6284c6ae2661e95ff65.png new file mode 100644 index 0000000..959c3be Binary files /dev/null and b/BiVisualPath/source/d132e390cd57d6284c6ae2661e95ff65.png differ diff --git a/BiVisualPath/source/d22b935346a55f5ddf3defe658fd07b0.png b/BiVisualPath/source/d22b935346a55f5ddf3defe658fd07b0.png new file mode 100644 index 0000000..9a92bdf Binary files /dev/null and b/BiVisualPath/source/d22b935346a55f5ddf3defe658fd07b0.png differ diff --git a/BiVisualPath/source/d27b573357a88357e0dd36a2760196a0.jpg b/BiVisualPath/source/d27b573357a88357e0dd36a2760196a0.jpg new file mode 100644 index 0000000..1993ece Binary files /dev/null and b/BiVisualPath/source/d27b573357a88357e0dd36a2760196a0.jpg differ diff --git a/BiVisualPath/source/d30435a0d89ac84c0ab1151a748dc38c.png b/BiVisualPath/source/d30435a0d89ac84c0ab1151a748dc38c.png new file mode 100644 index 0000000..454274c Binary files /dev/null and b/BiVisualPath/source/d30435a0d89ac84c0ab1151a748dc38c.png differ diff --git a/BiVisualPath/source/d3dec39cbfda6db99f76dd588a2dcd7a.png b/BiVisualPath/source/d3dec39cbfda6db99f76dd588a2dcd7a.png new file mode 100644 index 0000000..8b1b282 Binary files /dev/null and b/BiVisualPath/source/d3dec39cbfda6db99f76dd588a2dcd7a.png differ diff --git a/BiVisualPath/source/d41aa98e3299d00279f9ce371efa0ed5.png b/BiVisualPath/source/d41aa98e3299d00279f9ce371efa0ed5.png new file mode 100644 index 0000000..1dc07cb Binary files /dev/null and b/BiVisualPath/source/d41aa98e3299d00279f9ce371efa0ed5.png differ diff --git a/BiVisualPath/source/d4502b11605d2c815423d546eceb4e18.jpg b/BiVisualPath/source/d4502b11605d2c815423d546eceb4e18.jpg new file mode 100644 index 0000000..fb89119 Binary files /dev/null and b/BiVisualPath/source/d4502b11605d2c815423d546eceb4e18.jpg differ diff --git a/BiVisualPath/source/d4ffe5c98b93a312f5a0f90c1b9a3b81.png b/BiVisualPath/source/d4ffe5c98b93a312f5a0f90c1b9a3b81.png new file mode 100644 index 0000000..60fdcc9 Binary files /dev/null and b/BiVisualPath/source/d4ffe5c98b93a312f5a0f90c1b9a3b81.png differ diff --git a/BiVisualPath/source/d52a4e7e5741842c1abac7c4c1323795.png b/BiVisualPath/source/d52a4e7e5741842c1abac7c4c1323795.png new file mode 100644 index 0000000..30c2af4 Binary files /dev/null and b/BiVisualPath/source/d52a4e7e5741842c1abac7c4c1323795.png differ diff --git a/BiVisualPath/source/d5760039be5960628c2753adf25c7cbb.jpg b/BiVisualPath/source/d5760039be5960628c2753adf25c7cbb.jpg new file mode 100644 index 0000000..4188423 Binary files /dev/null and b/BiVisualPath/source/d5760039be5960628c2753adf25c7cbb.jpg differ diff --git a/BiVisualPath/source/d5d01b437b5760f870135e93a3f38712.png b/BiVisualPath/source/d5d01b437b5760f870135e93a3f38712.png new file mode 100644 index 0000000..20f93bc Binary files /dev/null and b/BiVisualPath/source/d5d01b437b5760f870135e93a3f38712.png differ diff --git a/BiVisualPath/source/d6929b94b78a351424092ed425f3b58b.png b/BiVisualPath/source/d6929b94b78a351424092ed425f3b58b.png new file mode 100644 index 0000000..96644db Binary files /dev/null and b/BiVisualPath/source/d6929b94b78a351424092ed425f3b58b.png differ diff --git a/BiVisualPath/source/d8c73e25ef69e79d026899e240032387.png b/BiVisualPath/source/d8c73e25ef69e79d026899e240032387.png new file mode 100644 index 0000000..3dd7bc2 Binary files /dev/null and b/BiVisualPath/source/d8c73e25ef69e79d026899e240032387.png differ diff --git a/BiVisualPath/source/d931a42b77bc66fffa751a62aed36ce7.png b/BiVisualPath/source/d931a42b77bc66fffa751a62aed36ce7.png new file mode 100644 index 0000000..c3d6c35 Binary files /dev/null and b/BiVisualPath/source/d931a42b77bc66fffa751a62aed36ce7.png differ diff --git a/BiVisualPath/source/d9811f84d1a088cfec45cc799d822d5a.png b/BiVisualPath/source/d9811f84d1a088cfec45cc799d822d5a.png new file mode 100644 index 0000000..55ea865 Binary files /dev/null and b/BiVisualPath/source/d9811f84d1a088cfec45cc799d822d5a.png differ diff --git a/BiVisualPath/source/d99e58f49778ab3e724296d17be9f715.jpg b/BiVisualPath/source/d99e58f49778ab3e724296d17be9f715.jpg new file mode 100644 index 0000000..7436582 Binary files /dev/null and b/BiVisualPath/source/d99e58f49778ab3e724296d17be9f715.jpg differ diff --git a/BiVisualPath/source/d9d0c64a12a226e4d28b7b1e6d8a3182.png b/BiVisualPath/source/d9d0c64a12a226e4d28b7b1e6d8a3182.png new file mode 100644 index 0000000..c4c7b30 Binary files /dev/null and b/BiVisualPath/source/d9d0c64a12a226e4d28b7b1e6d8a3182.png differ diff --git a/BiVisualPath/source/da71cd36ffc45cba02b88c5a8a40a75b.png b/BiVisualPath/source/da71cd36ffc45cba02b88c5a8a40a75b.png new file mode 100644 index 0000000..13f83b1 Binary files /dev/null and b/BiVisualPath/source/da71cd36ffc45cba02b88c5a8a40a75b.png differ diff --git a/BiVisualPath/source/db58068672687395088017bba348d7e3.jpg b/BiVisualPath/source/db58068672687395088017bba348d7e3.jpg new file mode 100644 index 0000000..ace86d3 Binary files /dev/null and b/BiVisualPath/source/db58068672687395088017bba348d7e3.jpg differ diff --git a/BiVisualPath/source/dbfe76ce0cfdbc20a8edd8c70e743bc5.png b/BiVisualPath/source/dbfe76ce0cfdbc20a8edd8c70e743bc5.png new file mode 100644 index 0000000..ef48269 Binary files /dev/null and b/BiVisualPath/source/dbfe76ce0cfdbc20a8edd8c70e743bc5.png differ diff --git a/BiVisualPath/source/dc45a39fa8b4ffeda7ec67844202d8c6.png b/BiVisualPath/source/dc45a39fa8b4ffeda7ec67844202d8c6.png new file mode 100644 index 0000000..85b37fa Binary files /dev/null and b/BiVisualPath/source/dc45a39fa8b4ffeda7ec67844202d8c6.png differ diff --git a/BiVisualPath/source/dc7417166b1ca2913010abb348fa1f78.png b/BiVisualPath/source/dc7417166b1ca2913010abb348fa1f78.png new file mode 100644 index 0000000..cc3e429 Binary files /dev/null and b/BiVisualPath/source/dc7417166b1ca2913010abb348fa1f78.png differ diff --git a/BiVisualPath/source/dca82f6b6b81442b10c8cb676e9b84cf.png b/BiVisualPath/source/dca82f6b6b81442b10c8cb676e9b84cf.png new file mode 100644 index 0000000..4e9e0e0 Binary files /dev/null and b/BiVisualPath/source/dca82f6b6b81442b10c8cb676e9b84cf.png differ diff --git a/BiVisualPath/source/dcb08c849945bde541d77618baa74dad.jpg b/BiVisualPath/source/dcb08c849945bde541d77618baa74dad.jpg new file mode 100644 index 0000000..430190d Binary files /dev/null and b/BiVisualPath/source/dcb08c849945bde541d77618baa74dad.jpg differ diff --git a/BiVisualPath/source/dd0988d88de57329db028c7588a23c1a.png b/BiVisualPath/source/dd0988d88de57329db028c7588a23c1a.png new file mode 100644 index 0000000..230c12d Binary files /dev/null and b/BiVisualPath/source/dd0988d88de57329db028c7588a23c1a.png differ diff --git a/BiVisualPath/source/ddf15a0ec948e811832ae5011ca66029.jpg b/BiVisualPath/source/ddf15a0ec948e811832ae5011ca66029.jpg new file mode 100644 index 0000000..f591a7a Binary files /dev/null and b/BiVisualPath/source/ddf15a0ec948e811832ae5011ca66029.jpg differ diff --git a/BiVisualPath/source/df00fd559c175f6987496584dc0b1c82.png b/BiVisualPath/source/df00fd559c175f6987496584dc0b1c82.png new file mode 100644 index 0000000..10dc6b6 Binary files /dev/null and b/BiVisualPath/source/df00fd559c175f6987496584dc0b1c82.png differ diff --git a/BiVisualPath/source/df06cf53f7100e4ca21a1341108a9d75.png b/BiVisualPath/source/df06cf53f7100e4ca21a1341108a9d75.png new file mode 100644 index 0000000..1b7b5f3 Binary files /dev/null and b/BiVisualPath/source/df06cf53f7100e4ca21a1341108a9d75.png differ diff --git a/BiVisualPath/source/df8c1918b95574a8e49b98aa34f6e0ce.jpg b/BiVisualPath/source/df8c1918b95574a8e49b98aa34f6e0ce.jpg new file mode 100644 index 0000000..7b897c4 Binary files /dev/null and b/BiVisualPath/source/df8c1918b95574a8e49b98aa34f6e0ce.jpg differ diff --git a/BiVisualPath/source/dfe9592ec6a490228eea9899218edba1.jpg b/BiVisualPath/source/dfe9592ec6a490228eea9899218edba1.jpg new file mode 100644 index 0000000..9730d32 Binary files /dev/null and b/BiVisualPath/source/dfe9592ec6a490228eea9899218edba1.jpg differ diff --git a/BiVisualPath/source/e08639ee99cb3894b8d504077d47efdb.png b/BiVisualPath/source/e08639ee99cb3894b8d504077d47efdb.png new file mode 100644 index 0000000..ff0d7a1 Binary files /dev/null and b/BiVisualPath/source/e08639ee99cb3894b8d504077d47efdb.png differ diff --git a/BiVisualPath/source/e0de188ff3f4ef86d8f50701cf6ec784.png b/BiVisualPath/source/e0de188ff3f4ef86d8f50701cf6ec784.png new file mode 100644 index 0000000..84dc7e2 Binary files /dev/null and b/BiVisualPath/source/e0de188ff3f4ef86d8f50701cf6ec784.png differ diff --git a/BiVisualPath/source/e1eaecd27e6a4d97b50fce84666cfe11.jpg b/BiVisualPath/source/e1eaecd27e6a4d97b50fce84666cfe11.jpg new file mode 100644 index 0000000..9cd610b Binary files /dev/null and b/BiVisualPath/source/e1eaecd27e6a4d97b50fce84666cfe11.jpg differ diff --git a/BiVisualPath/source/e2d36ff6a2f268954640bbcb88277cc8.png b/BiVisualPath/source/e2d36ff6a2f268954640bbcb88277cc8.png new file mode 100644 index 0000000..9298ae3 Binary files /dev/null and b/BiVisualPath/source/e2d36ff6a2f268954640bbcb88277cc8.png differ diff --git a/BiVisualPath/source/e32800d1596742771a072687e1c76851.jpg b/BiVisualPath/source/e32800d1596742771a072687e1c76851.jpg new file mode 100644 index 0000000..be86efc Binary files /dev/null and b/BiVisualPath/source/e32800d1596742771a072687e1c76851.jpg differ diff --git a/BiVisualPath/source/e3b82d59bd23447d7eabb4250ab2bb25.png b/BiVisualPath/source/e3b82d59bd23447d7eabb4250ab2bb25.png new file mode 100644 index 0000000..9acd86d Binary files /dev/null and b/BiVisualPath/source/e3b82d59bd23447d7eabb4250ab2bb25.png differ diff --git a/BiVisualPath/source/e401b54c1fe49fbd87284b4c0ec30bb6.jpg b/BiVisualPath/source/e401b54c1fe49fbd87284b4c0ec30bb6.jpg new file mode 100644 index 0000000..f01bcf7 Binary files /dev/null and b/BiVisualPath/source/e401b54c1fe49fbd87284b4c0ec30bb6.jpg differ diff --git a/BiVisualPath/source/e41daf5cfa6184ef432555f28b345037.jpg b/BiVisualPath/source/e41daf5cfa6184ef432555f28b345037.jpg new file mode 100644 index 0000000..f6af215 Binary files /dev/null and b/BiVisualPath/source/e41daf5cfa6184ef432555f28b345037.jpg differ diff --git a/BiVisualPath/source/e5ec7bbf01af4ad99019202524225a42.png b/BiVisualPath/source/e5ec7bbf01af4ad99019202524225a42.png new file mode 100644 index 0000000..54e6d58 Binary files /dev/null and b/BiVisualPath/source/e5ec7bbf01af4ad99019202524225a42.png differ diff --git a/BiVisualPath/source/e611d5d26c6bef9fe0739f37d3dfe828.png b/BiVisualPath/source/e611d5d26c6bef9fe0739f37d3dfe828.png new file mode 100644 index 0000000..1845e93 Binary files /dev/null and b/BiVisualPath/source/e611d5d26c6bef9fe0739f37d3dfe828.png differ diff --git a/BiVisualPath/source/e62932e518d64e75029cb5ddbe3ae002.jpg b/BiVisualPath/source/e62932e518d64e75029cb5ddbe3ae002.jpg new file mode 100644 index 0000000..e9f4769 Binary files /dev/null and b/BiVisualPath/source/e62932e518d64e75029cb5ddbe3ae002.jpg differ diff --git a/BiVisualPath/source/e6457a80930b6fc22d43bf5b38f013fc.jpg b/BiVisualPath/source/e6457a80930b6fc22d43bf5b38f013fc.jpg new file mode 100644 index 0000000..cc289a0 Binary files /dev/null and b/BiVisualPath/source/e6457a80930b6fc22d43bf5b38f013fc.jpg differ diff --git a/BiVisualPath/source/e65ce10d9dd310305f9bbe534e6538fb.jpg b/BiVisualPath/source/e65ce10d9dd310305f9bbe534e6538fb.jpg new file mode 100644 index 0000000..c951ef8 Binary files /dev/null and b/BiVisualPath/source/e65ce10d9dd310305f9bbe534e6538fb.jpg differ diff --git a/BiVisualPath/source/e669f5a931e09f18bb668d347b9e71ca.png b/BiVisualPath/source/e669f5a931e09f18bb668d347b9e71ca.png new file mode 100644 index 0000000..7365fc9 Binary files /dev/null and b/BiVisualPath/source/e669f5a931e09f18bb668d347b9e71ca.png differ diff --git a/BiVisualPath/source/e6750e9388175e5dedf32329172f5180.jpg b/BiVisualPath/source/e6750e9388175e5dedf32329172f5180.jpg new file mode 100644 index 0000000..d164c32 Binary files /dev/null and b/BiVisualPath/source/e6750e9388175e5dedf32329172f5180.jpg differ diff --git a/BiVisualPath/source/e7a5c8c25f9fd8e27cc7cfa7dad55335.jpg b/BiVisualPath/source/e7a5c8c25f9fd8e27cc7cfa7dad55335.jpg new file mode 100644 index 0000000..f36a609 Binary files /dev/null and b/BiVisualPath/source/e7a5c8c25f9fd8e27cc7cfa7dad55335.jpg differ diff --git a/BiVisualPath/source/e7e8658bdd04648260b0dae780999627.jpg b/BiVisualPath/source/e7e8658bdd04648260b0dae780999627.jpg new file mode 100644 index 0000000..79001ce Binary files /dev/null and b/BiVisualPath/source/e7e8658bdd04648260b0dae780999627.jpg differ diff --git a/BiVisualPath/source/e7ec2a0a4108586a3a997c3bdf1b0ee5.jpg b/BiVisualPath/source/e7ec2a0a4108586a3a997c3bdf1b0ee5.jpg new file mode 100644 index 0000000..e5e404f Binary files /dev/null and b/BiVisualPath/source/e7ec2a0a4108586a3a997c3bdf1b0ee5.jpg differ diff --git a/BiVisualPath/source/e8455860e6da564ac6d9590f5bfef2c8.jpg b/BiVisualPath/source/e8455860e6da564ac6d9590f5bfef2c8.jpg new file mode 100644 index 0000000..ec31dfd Binary files /dev/null and b/BiVisualPath/source/e8455860e6da564ac6d9590f5bfef2c8.jpg differ diff --git a/BiVisualPath/source/e8a8266fec6a6499e16511b33bfedcd2.jpg b/BiVisualPath/source/e8a8266fec6a6499e16511b33bfedcd2.jpg new file mode 100644 index 0000000..feec693 Binary files /dev/null and b/BiVisualPath/source/e8a8266fec6a6499e16511b33bfedcd2.jpg differ diff --git a/BiVisualPath/source/e941dafc18cfad2849b9dbbd9bb54554.png b/BiVisualPath/source/e941dafc18cfad2849b9dbbd9bb54554.png new file mode 100644 index 0000000..162b3bc Binary files /dev/null and b/BiVisualPath/source/e941dafc18cfad2849b9dbbd9bb54554.png differ diff --git a/BiVisualPath/source/ea2669906d53f5fcf8cc9870fe9e996a.png b/BiVisualPath/source/ea2669906d53f5fcf8cc9870fe9e996a.png new file mode 100644 index 0000000..8899a18 Binary files /dev/null and b/BiVisualPath/source/ea2669906d53f5fcf8cc9870fe9e996a.png differ diff --git a/BiVisualPath/source/ec4c3f795dbd4fdb82c233a89fd1d52b.png b/BiVisualPath/source/ec4c3f795dbd4fdb82c233a89fd1d52b.png new file mode 100644 index 0000000..2374c4e Binary files /dev/null and b/BiVisualPath/source/ec4c3f795dbd4fdb82c233a89fd1d52b.png differ diff --git a/BiVisualPath/source/edb62d4144bd0d0b4404afd2910c003a.png b/BiVisualPath/source/edb62d4144bd0d0b4404afd2910c003a.png new file mode 100644 index 0000000..94ac365 Binary files /dev/null and b/BiVisualPath/source/edb62d4144bd0d0b4404afd2910c003a.png differ diff --git a/BiVisualPath/source/edb86b99c498b74a1b6bf26973cc34d5.png b/BiVisualPath/source/edb86b99c498b74a1b6bf26973cc34d5.png new file mode 100644 index 0000000..8c10183 Binary files /dev/null and b/BiVisualPath/source/edb86b99c498b74a1b6bf26973cc34d5.png differ diff --git a/BiVisualPath/source/edbc8994c86cf7d7ea8f918cb79a61af.jpg b/BiVisualPath/source/edbc8994c86cf7d7ea8f918cb79a61af.jpg new file mode 100644 index 0000000..4a4b2c1 Binary files /dev/null and b/BiVisualPath/source/edbc8994c86cf7d7ea8f918cb79a61af.jpg differ diff --git a/BiVisualPath/source/edd0879c1b6ba793a20cd1741f01a773.jpg b/BiVisualPath/source/edd0879c1b6ba793a20cd1741f01a773.jpg new file mode 100644 index 0000000..988a1f2 Binary files /dev/null and b/BiVisualPath/source/edd0879c1b6ba793a20cd1741f01a773.jpg differ diff --git a/BiVisualPath/source/ee050d0ce25daac499965658766a5d85.png b/BiVisualPath/source/ee050d0ce25daac499965658766a5d85.png new file mode 100644 index 0000000..2e65456 Binary files /dev/null and b/BiVisualPath/source/ee050d0ce25daac499965658766a5d85.png differ diff --git a/BiVisualPath/source/ee667d526bf98300ea52a97f210853d5.jpg b/BiVisualPath/source/ee667d526bf98300ea52a97f210853d5.jpg new file mode 100644 index 0000000..94d9dc0 Binary files /dev/null and b/BiVisualPath/source/ee667d526bf98300ea52a97f210853d5.jpg differ diff --git a/BiVisualPath/source/eeaafa1a5cb61b886d48ba9fa12b8702.jpg b/BiVisualPath/source/eeaafa1a5cb61b886d48ba9fa12b8702.jpg new file mode 100644 index 0000000..a64e4bd Binary files /dev/null and b/BiVisualPath/source/eeaafa1a5cb61b886d48ba9fa12b8702.jpg differ diff --git a/BiVisualPath/source/eee212f069901beb6c91cc93e06bdd24.png b/BiVisualPath/source/eee212f069901beb6c91cc93e06bdd24.png new file mode 100644 index 0000000..656c80c Binary files /dev/null and b/BiVisualPath/source/eee212f069901beb6c91cc93e06bdd24.png differ diff --git a/BiVisualPath/source/efa858c26ba95344626f3ee0c202cb1c.png b/BiVisualPath/source/efa858c26ba95344626f3ee0c202cb1c.png new file mode 100644 index 0000000..230c12d Binary files /dev/null and b/BiVisualPath/source/efa858c26ba95344626f3ee0c202cb1c.png differ diff --git a/BiVisualPath/source/efdb460f9fbc4f1bf83d5a6f9a597868.png b/BiVisualPath/source/efdb460f9fbc4f1bf83d5a6f9a597868.png new file mode 100644 index 0000000..ca7cdf8 Binary files /dev/null and b/BiVisualPath/source/efdb460f9fbc4f1bf83d5a6f9a597868.png differ diff --git a/BiVisualPath/source/f121b3b2a3c3308869907aa4ceae0c38.png b/BiVisualPath/source/f121b3b2a3c3308869907aa4ceae0c38.png new file mode 100644 index 0000000..3f22db6 Binary files /dev/null and b/BiVisualPath/source/f121b3b2a3c3308869907aa4ceae0c38.png differ diff --git a/BiVisualPath/source/f1d2aa70279ccebcfb1db79cf1607fea.jpg b/BiVisualPath/source/f1d2aa70279ccebcfb1db79cf1607fea.jpg new file mode 100644 index 0000000..c283781 Binary files /dev/null and b/BiVisualPath/source/f1d2aa70279ccebcfb1db79cf1607fea.jpg differ diff --git a/BiVisualPath/source/f1da391309a2586ab23d4e1134020fd4.png b/BiVisualPath/source/f1da391309a2586ab23d4e1134020fd4.png new file mode 100644 index 0000000..2881864 Binary files /dev/null and b/BiVisualPath/source/f1da391309a2586ab23d4e1134020fd4.png differ diff --git a/BiVisualPath/source/f2088a27e960ebeed23c00a8c81bcca9.jpg b/BiVisualPath/source/f2088a27e960ebeed23c00a8c81bcca9.jpg new file mode 100644 index 0000000..67fac6e Binary files /dev/null and b/BiVisualPath/source/f2088a27e960ebeed23c00a8c81bcca9.jpg differ diff --git a/BiVisualPath/source/f24094f21be4c419cae4245efff2dc25.jpg b/BiVisualPath/source/f24094f21be4c419cae4245efff2dc25.jpg new file mode 100644 index 0000000..2d5fe10 Binary files /dev/null and b/BiVisualPath/source/f24094f21be4c419cae4245efff2dc25.jpg differ diff --git a/BiVisualPath/source/f3b5b0c45bfc7563036a3818b8b0efa3.jpg b/BiVisualPath/source/f3b5b0c45bfc7563036a3818b8b0efa3.jpg new file mode 100644 index 0000000..552fe50 Binary files /dev/null and b/BiVisualPath/source/f3b5b0c45bfc7563036a3818b8b0efa3.jpg differ diff --git a/BiVisualPath/source/f3bb77149c9db89b595c6c5600e0da56.png b/BiVisualPath/source/f3bb77149c9db89b595c6c5600e0da56.png new file mode 100644 index 0000000..8c21105 Binary files /dev/null and b/BiVisualPath/source/f3bb77149c9db89b595c6c5600e0da56.png differ diff --git a/BiVisualPath/source/f4f69e1ecbc20d2e7ee19b5cd70d1d58.png b/BiVisualPath/source/f4f69e1ecbc20d2e7ee19b5cd70d1d58.png new file mode 100644 index 0000000..98df766 Binary files /dev/null and b/BiVisualPath/source/f4f69e1ecbc20d2e7ee19b5cd70d1d58.png differ diff --git a/BiVisualPath/source/f562471b176a86cb3b2f7f359e8b0167.jpg b/BiVisualPath/source/f562471b176a86cb3b2f7f359e8b0167.jpg new file mode 100644 index 0000000..d2ae7b6 Binary files /dev/null and b/BiVisualPath/source/f562471b176a86cb3b2f7f359e8b0167.jpg differ diff --git a/BiVisualPath/source/f633900f0eabaa59121044b2b2005acf.jpg b/BiVisualPath/source/f633900f0eabaa59121044b2b2005acf.jpg new file mode 100644 index 0000000..eeae129 Binary files /dev/null and b/BiVisualPath/source/f633900f0eabaa59121044b2b2005acf.jpg differ diff --git a/BiVisualPath/source/f64e4da43a7d3153f05eaff82f102c80.png b/BiVisualPath/source/f64e4da43a7d3153f05eaff82f102c80.png new file mode 100644 index 0000000..975d4c7 Binary files /dev/null and b/BiVisualPath/source/f64e4da43a7d3153f05eaff82f102c80.png differ diff --git a/BiVisualPath/source/f688b2b549513cb6354e9c49171da386.png b/BiVisualPath/source/f688b2b549513cb6354e9c49171da386.png new file mode 100644 index 0000000..46ce8dd Binary files /dev/null and b/BiVisualPath/source/f688b2b549513cb6354e9c49171da386.png differ diff --git a/BiVisualPath/source/f69c0faabe9762a1c51dca402ae63931.jpg b/BiVisualPath/source/f69c0faabe9762a1c51dca402ae63931.jpg new file mode 100644 index 0000000..ff9bbd8 Binary files /dev/null and b/BiVisualPath/source/f69c0faabe9762a1c51dca402ae63931.jpg differ diff --git a/BiVisualPath/source/f7fabc2af6c38aebb7ef2376d0386a79.png b/BiVisualPath/source/f7fabc2af6c38aebb7ef2376d0386a79.png new file mode 100644 index 0000000..3f053c7 Binary files /dev/null and b/BiVisualPath/source/f7fabc2af6c38aebb7ef2376d0386a79.png differ diff --git a/BiVisualPath/source/f8c8c800c84862f2aaf72c569a0cadad.png b/BiVisualPath/source/f8c8c800c84862f2aaf72c569a0cadad.png new file mode 100644 index 0000000..ba1a8cf Binary files /dev/null and b/BiVisualPath/source/f8c8c800c84862f2aaf72c569a0cadad.png differ diff --git a/BiVisualPath/source/f949c7ac4bbeb1dcbbfc01eeb0056248.jpg b/BiVisualPath/source/f949c7ac4bbeb1dcbbfc01eeb0056248.jpg new file mode 100644 index 0000000..9712771 Binary files /dev/null and b/BiVisualPath/source/f949c7ac4bbeb1dcbbfc01eeb0056248.jpg differ diff --git a/BiVisualPath/source/fa2f0f608e6d0087a66baa89e9b35543.jpg b/BiVisualPath/source/fa2f0f608e6d0087a66baa89e9b35543.jpg new file mode 100644 index 0000000..ac25c52 Binary files /dev/null and b/BiVisualPath/source/fa2f0f608e6d0087a66baa89e9b35543.jpg differ diff --git a/BiVisualPath/source/fa734f9cca26be28012282abcd2009ce.jpg b/BiVisualPath/source/fa734f9cca26be28012282abcd2009ce.jpg new file mode 100644 index 0000000..14bb6e8 Binary files /dev/null and b/BiVisualPath/source/fa734f9cca26be28012282abcd2009ce.jpg differ diff --git a/BiVisualPath/source/fa98c9762afd9fd042b145aaa4fa55fc.png b/BiVisualPath/source/fa98c9762afd9fd042b145aaa4fa55fc.png new file mode 100644 index 0000000..7db39ab Binary files /dev/null and b/BiVisualPath/source/fa98c9762afd9fd042b145aaa4fa55fc.png differ diff --git a/BiVisualPath/source/fab5cd52a3448637c0ecb7ee3e91628c.jpg b/BiVisualPath/source/fab5cd52a3448637c0ecb7ee3e91628c.jpg new file mode 100644 index 0000000..596742a Binary files /dev/null and b/BiVisualPath/source/fab5cd52a3448637c0ecb7ee3e91628c.jpg differ diff --git a/BiVisualPath/source/fb36a0b6e1887eb7426975d9200d09c7.jpg b/BiVisualPath/source/fb36a0b6e1887eb7426975d9200d09c7.jpg new file mode 100644 index 0000000..d6003f3 Binary files /dev/null and b/BiVisualPath/source/fb36a0b6e1887eb7426975d9200d09c7.jpg differ diff --git a/BiVisualPath/source/fbb098d0b7c5455111985ebf0b24fa57.jpg b/BiVisualPath/source/fbb098d0b7c5455111985ebf0b24fa57.jpg new file mode 100644 index 0000000..de7d527 Binary files /dev/null and b/BiVisualPath/source/fbb098d0b7c5455111985ebf0b24fa57.jpg differ diff --git a/BiVisualPath/source/fc39fa980cbd3a22eb4ae5d60932ec89.jpg b/BiVisualPath/source/fc39fa980cbd3a22eb4ae5d60932ec89.jpg new file mode 100644 index 0000000..52467d8 Binary files /dev/null and b/BiVisualPath/source/fc39fa980cbd3a22eb4ae5d60932ec89.jpg differ diff --git a/BiVisualPath/source/fc969616f50e682a8dba46c824c4b234.png b/BiVisualPath/source/fc969616f50e682a8dba46c824c4b234.png new file mode 100644 index 0000000..1c5a260 Binary files /dev/null and b/BiVisualPath/source/fc969616f50e682a8dba46c824c4b234.png differ diff --git a/BiVisualPath/source/fc9b835649bc1d504ac9ac1fc07dff69.png b/BiVisualPath/source/fc9b835649bc1d504ac9ac1fc07dff69.png new file mode 100644 index 0000000..71d3a1d Binary files /dev/null and b/BiVisualPath/source/fc9b835649bc1d504ac9ac1fc07dff69.png differ diff --git a/BiVisualPath/source/fd14f902c400960c363170799895d2a5.png b/BiVisualPath/source/fd14f902c400960c363170799895d2a5.png new file mode 100644 index 0000000..e86aa63 Binary files /dev/null and b/BiVisualPath/source/fd14f902c400960c363170799895d2a5.png differ diff --git a/BiVisualPath/source/fd65df0098199d70a8aedcf45af4fade.jpg b/BiVisualPath/source/fd65df0098199d70a8aedcf45af4fade.jpg new file mode 100644 index 0000000..d80a239 Binary files /dev/null and b/BiVisualPath/source/fd65df0098199d70a8aedcf45af4fade.jpg differ diff --git a/BiVisualPath/source/fdd0c0aa4a79becbf145d076be0039aa.png b/BiVisualPath/source/fdd0c0aa4a79becbf145d076be0039aa.png new file mode 100644 index 0000000..d167c67 Binary files /dev/null and b/BiVisualPath/source/fdd0c0aa4a79becbf145d076be0039aa.png differ diff --git a/BiVisualPath/source/fea8a347a8e7b61a09daa51c17ab2558.jpg b/BiVisualPath/source/fea8a347a8e7b61a09daa51c17ab2558.jpg new file mode 100644 index 0000000..87fdd02 Binary files /dev/null and b/BiVisualPath/source/fea8a347a8e7b61a09daa51c17ab2558.jpg differ diff --git a/BiVisualPath/source/ffbbf2289594622fa7bb458507eee1c6.jpg b/BiVisualPath/source/ffbbf2289594622fa7bb458507eee1c6.jpg new file mode 100644 index 0000000..0faaaab Binary files /dev/null and b/BiVisualPath/source/ffbbf2289594622fa7bb458507eee1c6.jpg differ diff --git a/BiVisualPath/source/movie.ogg b/BiVisualPath/source/movie.ogg new file mode 100644 index 0000000..9c5a775 Binary files /dev/null and b/BiVisualPath/source/movie.ogg differ diff --git a/BiVisualPath/source/samiao.png b/BiVisualPath/source/samiao.png new file mode 100644 index 0000000..7897400 Binary files /dev/null and b/BiVisualPath/source/samiao.png differ diff --git a/BiVisualPath/source/source1.png b/BiVisualPath/source/source1.png new file mode 100644 index 0000000..81ffa18 Binary files /dev/null and b/BiVisualPath/source/source1.png differ diff --git a/BiVisualPath/source/source10.svg b/BiVisualPath/source/source10.svg new file mode 100644 index 0000000..aa391ae --- /dev/null +++ b/BiVisualPath/source/source10.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source100.svg b/BiVisualPath/source/source100.svg new file mode 100644 index 0000000..9e5f0a5 --- /dev/null +++ b/BiVisualPath/source/source100.svg @@ -0,0 +1 @@ +资源 10 \ No newline at end of file diff --git a/BiVisualPath/source/source101.svg b/BiVisualPath/source/source101.svg new file mode 100644 index 0000000..a55e476 --- /dev/null +++ b/BiVisualPath/source/source101.svg @@ -0,0 +1 @@ +资源 11 \ No newline at end of file diff --git a/BiVisualPath/source/source102.svg b/BiVisualPath/source/source102.svg new file mode 100644 index 0000000..b37f65a --- /dev/null +++ b/BiVisualPath/source/source102.svg @@ -0,0 +1 @@ +资源 13 \ No newline at end of file diff --git a/BiVisualPath/source/source103.svg b/BiVisualPath/source/source103.svg new file mode 100644 index 0000000..4d3992c --- /dev/null +++ b/BiVisualPath/source/source103.svg @@ -0,0 +1 @@ +资源 12 \ No newline at end of file diff --git a/BiVisualPath/source/source104.svg b/BiVisualPath/source/source104.svg new file mode 100644 index 0000000..97d89a3 --- /dev/null +++ b/BiVisualPath/source/source104.svg @@ -0,0 +1 @@ +资源 14 \ No newline at end of file diff --git a/BiVisualPath/source/source105.svg b/BiVisualPath/source/source105.svg new file mode 100644 index 0000000..a52928e --- /dev/null +++ b/BiVisualPath/source/source105.svg @@ -0,0 +1 @@ +资源 15 \ No newline at end of file diff --git a/BiVisualPath/source/source106.svg b/BiVisualPath/source/source106.svg new file mode 100644 index 0000000..b303a1e --- /dev/null +++ b/BiVisualPath/source/source106.svg @@ -0,0 +1 @@ +资源 16 \ No newline at end of file diff --git a/BiVisualPath/source/source107.svg b/BiVisualPath/source/source107.svg new file mode 100644 index 0000000..4a82d9d --- /dev/null +++ b/BiVisualPath/source/source107.svg @@ -0,0 +1 @@ +资源 17 \ No newline at end of file diff --git a/BiVisualPath/source/source108.svg b/BiVisualPath/source/source108.svg new file mode 100644 index 0000000..f4ba6fb --- /dev/null +++ b/BiVisualPath/source/source108.svg @@ -0,0 +1 @@ +资源 18 \ No newline at end of file diff --git a/BiVisualPath/source/source109.svg b/BiVisualPath/source/source109.svg new file mode 100644 index 0000000..aaf127e --- /dev/null +++ b/BiVisualPath/source/source109.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source11.svg b/BiVisualPath/source/source11.svg new file mode 100644 index 0000000..a038709 --- /dev/null +++ b/BiVisualPath/source/source11.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source110.svg b/BiVisualPath/source/source110.svg new file mode 100644 index 0000000..63733df --- /dev/null +++ b/BiVisualPath/source/source110.svg @@ -0,0 +1 @@ +资源 19 \ No newline at end of file diff --git a/BiVisualPath/source/source111.svg b/BiVisualPath/source/source111.svg new file mode 100644 index 0000000..ddd5824 --- /dev/null +++ b/BiVisualPath/source/source111.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source112.svg b/BiVisualPath/source/source112.svg new file mode 100644 index 0000000..f67d2ea --- /dev/null +++ b/BiVisualPath/source/source112.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source113.svg b/BiVisualPath/source/source113.svg new file mode 100644 index 0000000..5b1339e --- /dev/null +++ b/BiVisualPath/source/source113.svg @@ -0,0 +1 @@ +资源 5 \ No newline at end of file diff --git a/BiVisualPath/source/source114.svg b/BiVisualPath/source/source114.svg new file mode 100644 index 0000000..f66e647 --- /dev/null +++ b/BiVisualPath/source/source114.svg @@ -0,0 +1 @@ +资源 6 \ No newline at end of file diff --git a/BiVisualPath/source/source115.svg b/BiVisualPath/source/source115.svg new file mode 100644 index 0000000..ef32850 --- /dev/null +++ b/BiVisualPath/source/source115.svg @@ -0,0 +1 @@ +资源 7 \ No newline at end of file diff --git a/BiVisualPath/source/source116.svg b/BiVisualPath/source/source116.svg new file mode 100644 index 0000000..4b24396 --- /dev/null +++ b/BiVisualPath/source/source116.svg @@ -0,0 +1 @@ +资源 8 \ No newline at end of file diff --git a/BiVisualPath/source/source117.svg b/BiVisualPath/source/source117.svg new file mode 100644 index 0000000..fe00021 --- /dev/null +++ b/BiVisualPath/source/source117.svg @@ -0,0 +1 @@ +资源 9 \ No newline at end of file diff --git a/BiVisualPath/source/source118.svg b/BiVisualPath/source/source118.svg new file mode 100644 index 0000000..8611639 --- /dev/null +++ b/BiVisualPath/source/source118.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source119.svg b/BiVisualPath/source/source119.svg new file mode 100644 index 0000000..c0d9058 --- /dev/null +++ b/BiVisualPath/source/source119.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source12.svg b/BiVisualPath/source/source12.svg new file mode 100644 index 0000000..3e5fec4 --- /dev/null +++ b/BiVisualPath/source/source12.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source120.svg b/BiVisualPath/source/source120.svg new file mode 100644 index 0000000..a4ead12 --- /dev/null +++ b/BiVisualPath/source/source120.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source13.svg b/BiVisualPath/source/source13.svg new file mode 100644 index 0000000..443e1a7 --- /dev/null +++ b/BiVisualPath/source/source13.svg @@ -0,0 +1 @@ +资源 19 \ No newline at end of file diff --git a/BiVisualPath/source/source130.svg b/BiVisualPath/source/source130.svg new file mode 100644 index 0000000..850a9bb --- /dev/null +++ b/BiVisualPath/source/source130.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source131.svg b/BiVisualPath/source/source131.svg new file mode 100644 index 0000000..795613d --- /dev/null +++ b/BiVisualPath/source/source131.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source132.svg b/BiVisualPath/source/source132.svg new file mode 100644 index 0000000..20f37c5 --- /dev/null +++ b/BiVisualPath/source/source132.svg @@ -0,0 +1 @@ +资源 10 \ No newline at end of file diff --git a/BiVisualPath/source/source133.svg b/BiVisualPath/source/source133.svg new file mode 100644 index 0000000..4ce7d0c --- /dev/null +++ b/BiVisualPath/source/source133.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source134.svg b/BiVisualPath/source/source134.svg new file mode 100644 index 0000000..1ff7b78 --- /dev/null +++ b/BiVisualPath/source/source134.svg @@ -0,0 +1 @@ +资源 11 \ No newline at end of file diff --git a/BiVisualPath/source/source135.svg b/BiVisualPath/source/source135.svg new file mode 100644 index 0000000..a64a07c --- /dev/null +++ b/BiVisualPath/source/source135.svg @@ -0,0 +1 @@ +资源 12 \ No newline at end of file diff --git a/BiVisualPath/source/source136.svg b/BiVisualPath/source/source136.svg new file mode 100644 index 0000000..2fd596f --- /dev/null +++ b/BiVisualPath/source/source136.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source137.svg b/BiVisualPath/source/source137.svg new file mode 100644 index 0000000..781d7c5 --- /dev/null +++ b/BiVisualPath/source/source137.svg @@ -0,0 +1 @@ +资源 5 \ No newline at end of file diff --git a/BiVisualPath/source/source138.svg b/BiVisualPath/source/source138.svg new file mode 100644 index 0000000..48c5713 --- /dev/null +++ b/BiVisualPath/source/source138.svg @@ -0,0 +1 @@ +资源 6 \ No newline at end of file diff --git a/BiVisualPath/source/source139.svg b/BiVisualPath/source/source139.svg new file mode 100644 index 0000000..2790dcd --- /dev/null +++ b/BiVisualPath/source/source139.svg @@ -0,0 +1 @@ +资源 7 \ No newline at end of file diff --git a/BiVisualPath/source/source14.svg b/BiVisualPath/source/source14.svg new file mode 100644 index 0000000..23f11b2 --- /dev/null +++ b/BiVisualPath/source/source14.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source140.svg b/BiVisualPath/source/source140.svg new file mode 100644 index 0000000..c6679b1 --- /dev/null +++ b/BiVisualPath/source/source140.svg @@ -0,0 +1 @@ +资源 10 \ No newline at end of file diff --git a/BiVisualPath/source/source141.svg b/BiVisualPath/source/source141.svg new file mode 100644 index 0000000..1a3092f --- /dev/null +++ b/BiVisualPath/source/source141.svg @@ -0,0 +1 @@ +资源 8 \ No newline at end of file diff --git a/BiVisualPath/source/source142.svg b/BiVisualPath/source/source142.svg new file mode 100644 index 0000000..2717c45 --- /dev/null +++ b/BiVisualPath/source/source142.svg @@ -0,0 +1 @@ +资源 9 \ No newline at end of file diff --git a/BiVisualPath/source/source143.svg b/BiVisualPath/source/source143.svg new file mode 100644 index 0000000..e2df76d --- /dev/null +++ b/BiVisualPath/source/source143.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source144.svg b/BiVisualPath/source/source144.svg new file mode 100644 index 0000000..9c1efb4 --- /dev/null +++ b/BiVisualPath/source/source144.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source145.svg b/BiVisualPath/source/source145.svg new file mode 100644 index 0000000..cdf26e9 --- /dev/null +++ b/BiVisualPath/source/source145.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source146.svg b/BiVisualPath/source/source146.svg new file mode 100644 index 0000000..e83e7a0 --- /dev/null +++ b/BiVisualPath/source/source146.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source147.svg b/BiVisualPath/source/source147.svg new file mode 100644 index 0000000..a70ec3c --- /dev/null +++ b/BiVisualPath/source/source147.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source148.svg b/BiVisualPath/source/source148.svg new file mode 100644 index 0000000..3e4b5ee --- /dev/null +++ b/BiVisualPath/source/source148.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source149.svg b/BiVisualPath/source/source149.svg new file mode 100644 index 0000000..f4eaf3f --- /dev/null +++ b/BiVisualPath/source/source149.svg @@ -0,0 +1 @@ +资源 5 \ No newline at end of file diff --git a/BiVisualPath/source/source15.png b/BiVisualPath/source/source15.png new file mode 100644 index 0000000..4bcb4be Binary files /dev/null and b/BiVisualPath/source/source15.png differ diff --git a/BiVisualPath/source/source150.svg b/BiVisualPath/source/source150.svg new file mode 100644 index 0000000..28e91d5 --- /dev/null +++ b/BiVisualPath/source/source150.svg @@ -0,0 +1 @@ +资源 6 \ No newline at end of file diff --git a/BiVisualPath/source/source151.svg b/BiVisualPath/source/source151.svg new file mode 100644 index 0000000..291e2c3 --- /dev/null +++ b/BiVisualPath/source/source151.svg @@ -0,0 +1 @@ +资源 7 \ No newline at end of file diff --git a/BiVisualPath/source/source152.svg b/BiVisualPath/source/source152.svg new file mode 100644 index 0000000..ad01c9f --- /dev/null +++ b/BiVisualPath/source/source152.svg @@ -0,0 +1 @@ +资源 8 \ No newline at end of file diff --git a/BiVisualPath/source/source153.svg b/BiVisualPath/source/source153.svg new file mode 100644 index 0000000..507fe25 --- /dev/null +++ b/BiVisualPath/source/source153.svg @@ -0,0 +1 @@ +资源 5 \ No newline at end of file diff --git a/BiVisualPath/source/source154.svg b/BiVisualPath/source/source154.svg new file mode 100644 index 0000000..bb8db7c --- /dev/null +++ b/BiVisualPath/source/source154.svg @@ -0,0 +1 @@ +资源 9 \ No newline at end of file diff --git a/BiVisualPath/source/source155.svg b/BiVisualPath/source/source155.svg new file mode 100644 index 0000000..2b9819e --- /dev/null +++ b/BiVisualPath/source/source155.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source156.svg b/BiVisualPath/source/source156.svg new file mode 100644 index 0000000..232f701 --- /dev/null +++ b/BiVisualPath/source/source156.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source157.svg b/BiVisualPath/source/source157.svg new file mode 100644 index 0000000..dca0bdf --- /dev/null +++ b/BiVisualPath/source/source157.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source158.svg b/BiVisualPath/source/source158.svg new file mode 100644 index 0000000..2096260 --- /dev/null +++ b/BiVisualPath/source/source158.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source159.svg b/BiVisualPath/source/source159.svg new file mode 100644 index 0000000..e566c10 --- /dev/null +++ b/BiVisualPath/source/source159.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source16.png b/BiVisualPath/source/source16.png new file mode 100644 index 0000000..1567f39 Binary files /dev/null and b/BiVisualPath/source/source16.png differ diff --git a/BiVisualPath/source/source160.svg b/BiVisualPath/source/source160.svg new file mode 100644 index 0000000..4e4b632 --- /dev/null +++ b/BiVisualPath/source/source160.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source161.svg b/BiVisualPath/source/source161.svg new file mode 100644 index 0000000..5e707fa --- /dev/null +++ b/BiVisualPath/source/source161.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source162.svg b/BiVisualPath/source/source162.svg new file mode 100644 index 0000000..552747d --- /dev/null +++ b/BiVisualPath/source/source162.svg @@ -0,0 +1 @@ +资源 5 \ No newline at end of file diff --git a/BiVisualPath/source/source163.svg b/BiVisualPath/source/source163.svg new file mode 100644 index 0000000..f97423e --- /dev/null +++ b/BiVisualPath/source/source163.svg @@ -0,0 +1 @@ +资源 6 \ No newline at end of file diff --git a/BiVisualPath/source/source164.svg b/BiVisualPath/source/source164.svg new file mode 100644 index 0000000..3eb88c1 --- /dev/null +++ b/BiVisualPath/source/source164.svg @@ -0,0 +1 @@ +资源 7 \ No newline at end of file diff --git a/BiVisualPath/source/source165.svg b/BiVisualPath/source/source165.svg new file mode 100644 index 0000000..bad9edf --- /dev/null +++ b/BiVisualPath/source/source165.svg @@ -0,0 +1 @@ +资源 8 \ No newline at end of file diff --git a/BiVisualPath/source/source166.svg b/BiVisualPath/source/source166.svg new file mode 100644 index 0000000..2bac851 --- /dev/null +++ b/BiVisualPath/source/source166.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source167.svg b/BiVisualPath/source/source167.svg new file mode 100644 index 0000000..8ad6139 --- /dev/null +++ b/BiVisualPath/source/source167.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source168.svg b/BiVisualPath/source/source168.svg new file mode 100644 index 0000000..0660187 --- /dev/null +++ b/BiVisualPath/source/source168.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source169.svg b/BiVisualPath/source/source169.svg new file mode 100644 index 0000000..4855dd7 --- /dev/null +++ b/BiVisualPath/source/source169.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source17.svg b/BiVisualPath/source/source17.svg new file mode 100644 index 0000000..d45436d --- /dev/null +++ b/BiVisualPath/source/source17.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source170.svg b/BiVisualPath/source/source170.svg new file mode 100644 index 0000000..260b026 --- /dev/null +++ b/BiVisualPath/source/source170.svg @@ -0,0 +1 @@ +资源 5 \ No newline at end of file diff --git a/BiVisualPath/source/source171.svg b/BiVisualPath/source/source171.svg new file mode 100644 index 0000000..5825170 --- /dev/null +++ b/BiVisualPath/source/source171.svg @@ -0,0 +1 @@ +资源 5 \ No newline at end of file diff --git a/BiVisualPath/source/source172.svg b/BiVisualPath/source/source172.svg new file mode 100644 index 0000000..d66b19e --- /dev/null +++ b/BiVisualPath/source/source172.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source173.svg b/BiVisualPath/source/source173.svg new file mode 100644 index 0000000..79db33c --- /dev/null +++ b/BiVisualPath/source/source173.svg @@ -0,0 +1 @@ +资源 5 \ No newline at end of file diff --git a/BiVisualPath/source/source174.svg b/BiVisualPath/source/source174.svg new file mode 100644 index 0000000..147c0a4 --- /dev/null +++ b/BiVisualPath/source/source174.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source175.svg b/BiVisualPath/source/source175.svg new file mode 100644 index 0000000..1ea421a --- /dev/null +++ b/BiVisualPath/source/source175.svg @@ -0,0 +1 @@ +资源 6 \ No newline at end of file diff --git a/BiVisualPath/source/source176.svg b/BiVisualPath/source/source176.svg new file mode 100644 index 0000000..4bedc86 --- /dev/null +++ b/BiVisualPath/source/source176.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source177.svg b/BiVisualPath/source/source177.svg new file mode 100644 index 0000000..00a61f5 --- /dev/null +++ b/BiVisualPath/source/source177.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source178.svg b/BiVisualPath/source/source178.svg new file mode 100644 index 0000000..cd14a50 --- /dev/null +++ b/BiVisualPath/source/source178.svg @@ -0,0 +1 @@ +资源 11 \ No newline at end of file diff --git a/BiVisualPath/source/source179.svg b/BiVisualPath/source/source179.svg new file mode 100644 index 0000000..8c01f0a --- /dev/null +++ b/BiVisualPath/source/source179.svg @@ -0,0 +1 @@ +资源 10 \ No newline at end of file diff --git a/BiVisualPath/source/source18.svg b/BiVisualPath/source/source18.svg new file mode 100644 index 0000000..59f18f4 --- /dev/null +++ b/BiVisualPath/source/source18.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source180.svg b/BiVisualPath/source/source180.svg new file mode 100644 index 0000000..9f50261 --- /dev/null +++ b/BiVisualPath/source/source180.svg @@ -0,0 +1 @@ +资源 12 \ No newline at end of file diff --git a/BiVisualPath/source/source181.svg b/BiVisualPath/source/source181.svg new file mode 100644 index 0000000..bf5fd36 --- /dev/null +++ b/BiVisualPath/source/source181.svg @@ -0,0 +1 @@ +资源 13 \ No newline at end of file diff --git a/BiVisualPath/source/source182.svg b/BiVisualPath/source/source182.svg new file mode 100644 index 0000000..fb3c432 --- /dev/null +++ b/BiVisualPath/source/source182.svg @@ -0,0 +1 @@ +资源 11 \ No newline at end of file diff --git a/BiVisualPath/source/source183.svg b/BiVisualPath/source/source183.svg new file mode 100644 index 0000000..284898f --- /dev/null +++ b/BiVisualPath/source/source183.svg @@ -0,0 +1 @@ +资源 14 \ No newline at end of file diff --git a/BiVisualPath/source/source184.svg b/BiVisualPath/source/source184.svg new file mode 100644 index 0000000..48149d3 --- /dev/null +++ b/BiVisualPath/source/source184.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source185.svg b/BiVisualPath/source/source185.svg new file mode 100644 index 0000000..db95332 --- /dev/null +++ b/BiVisualPath/source/source185.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source186.svg b/BiVisualPath/source/source186.svg new file mode 100644 index 0000000..b0248fc --- /dev/null +++ b/BiVisualPath/source/source186.svg @@ -0,0 +1 @@ +资源 9 \ No newline at end of file diff --git a/BiVisualPath/source/source187.svg b/BiVisualPath/source/source187.svg new file mode 100644 index 0000000..8e2b48c --- /dev/null +++ b/BiVisualPath/source/source187.svg @@ -0,0 +1 @@ +资源 8 \ No newline at end of file diff --git a/BiVisualPath/source/source188.svg b/BiVisualPath/source/source188.svg new file mode 100644 index 0000000..ece0230 --- /dev/null +++ b/BiVisualPath/source/source188.svg @@ -0,0 +1 @@ +资源 5 \ No newline at end of file diff --git a/BiVisualPath/source/source189.svg b/BiVisualPath/source/source189.svg new file mode 100644 index 0000000..4dc6d17 --- /dev/null +++ b/BiVisualPath/source/source189.svg @@ -0,0 +1 @@ +资源 6 \ No newline at end of file diff --git a/BiVisualPath/source/source19.svg b/BiVisualPath/source/source19.svg new file mode 100644 index 0000000..614b56c --- /dev/null +++ b/BiVisualPath/source/source19.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source190.svg b/BiVisualPath/source/source190.svg new file mode 100644 index 0000000..05ef778 --- /dev/null +++ b/BiVisualPath/source/source190.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source191.svg b/BiVisualPath/source/source191.svg new file mode 100644 index 0000000..a8c4d76 --- /dev/null +++ b/BiVisualPath/source/source191.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source192.svg b/BiVisualPath/source/source192.svg new file mode 100644 index 0000000..af5a01c --- /dev/null +++ b/BiVisualPath/source/source192.svg @@ -0,0 +1 @@ +资源 13 \ No newline at end of file diff --git a/BiVisualPath/source/source193.svg b/BiVisualPath/source/source193.svg new file mode 100644 index 0000000..a5b1b46 --- /dev/null +++ b/BiVisualPath/source/source193.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source194.svg b/BiVisualPath/source/source194.svg new file mode 100644 index 0000000..755f5fe --- /dev/null +++ b/BiVisualPath/source/source194.svg @@ -0,0 +1 @@ +资源 5 \ No newline at end of file diff --git a/BiVisualPath/source/source195.svg b/BiVisualPath/source/source195.svg new file mode 100644 index 0000000..788fa31 --- /dev/null +++ b/BiVisualPath/source/source195.svg @@ -0,0 +1 @@ +资源 6 \ No newline at end of file diff --git a/BiVisualPath/source/source196.svg b/BiVisualPath/source/source196.svg new file mode 100644 index 0000000..d34baad --- /dev/null +++ b/BiVisualPath/source/source196.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source197.svg b/BiVisualPath/source/source197.svg new file mode 100644 index 0000000..c95c951 --- /dev/null +++ b/BiVisualPath/source/source197.svg @@ -0,0 +1 @@ +g4670 \ No newline at end of file diff --git a/BiVisualPath/source/source198.svg b/BiVisualPath/source/source198.svg new file mode 100644 index 0000000..47b332f --- /dev/null +++ b/BiVisualPath/source/source198.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source199.svg b/BiVisualPath/source/source199.svg new file mode 100644 index 0000000..d7f45b4 --- /dev/null +++ b/BiVisualPath/source/source199.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source2.svg b/BiVisualPath/source/source2.svg new file mode 100644 index 0000000..09797a1 --- /dev/null +++ b/BiVisualPath/source/source2.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source20.png b/BiVisualPath/source/source20.png new file mode 100644 index 0000000..475c956 Binary files /dev/null and b/BiVisualPath/source/source20.png differ diff --git a/BiVisualPath/source/source200.svg b/BiVisualPath/source/source200.svg new file mode 100644 index 0000000..fd6fe76 --- /dev/null +++ b/BiVisualPath/source/source200.svg @@ -0,0 +1 @@ +资源 5 \ No newline at end of file diff --git a/BiVisualPath/source/source201.svg b/BiVisualPath/source/source201.svg new file mode 100644 index 0000000..90a9d4a --- /dev/null +++ b/BiVisualPath/source/source201.svg @@ -0,0 +1 @@ +资源 6 \ No newline at end of file diff --git a/BiVisualPath/source/source202.svg b/BiVisualPath/source/source202.svg new file mode 100644 index 0000000..338c5b6 --- /dev/null +++ b/BiVisualPath/source/source202.svg @@ -0,0 +1 @@ +资源 14 \ No newline at end of file diff --git a/BiVisualPath/source/source203.svg b/BiVisualPath/source/source203.svg new file mode 100644 index 0000000..9b2f63c --- /dev/null +++ b/BiVisualPath/source/source203.svg @@ -0,0 +1 @@ +资源 7 \ No newline at end of file diff --git a/BiVisualPath/source/source204.svg b/BiVisualPath/source/source204.svg new file mode 100644 index 0000000..c4b172b --- /dev/null +++ b/BiVisualPath/source/source204.svg @@ -0,0 +1 @@ +资源 8 \ No newline at end of file diff --git a/BiVisualPath/source/source205.svg b/BiVisualPath/source/source205.svg new file mode 100644 index 0000000..d765a0b --- /dev/null +++ b/BiVisualPath/source/source205.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source206.svg b/BiVisualPath/source/source206.svg new file mode 100644 index 0000000..8899b3f --- /dev/null +++ b/BiVisualPath/source/source206.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source207.svg b/BiVisualPath/source/source207.svg new file mode 100644 index 0000000..22f3967 --- /dev/null +++ b/BiVisualPath/source/source207.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source208.svg b/BiVisualPath/source/source208.svg new file mode 100644 index 0000000..103640a --- /dev/null +++ b/BiVisualPath/source/source208.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source209.svg b/BiVisualPath/source/source209.svg new file mode 100644 index 0000000..98f812c --- /dev/null +++ b/BiVisualPath/source/source209.svg @@ -0,0 +1 @@ +资源 10 \ No newline at end of file diff --git a/BiVisualPath/source/source21.svg b/BiVisualPath/source/source21.svg new file mode 100644 index 0000000..bb47f36 --- /dev/null +++ b/BiVisualPath/source/source21.svg @@ -0,0 +1 @@ +资源 10 \ No newline at end of file diff --git a/BiVisualPath/source/source210.svg b/BiVisualPath/source/source210.svg new file mode 100644 index 0000000..5e737ce --- /dev/null +++ b/BiVisualPath/source/source210.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source211.svg b/BiVisualPath/source/source211.svg new file mode 100644 index 0000000..f432cdc --- /dev/null +++ b/BiVisualPath/source/source211.svg @@ -0,0 +1 @@ +资源 11 \ No newline at end of file diff --git a/BiVisualPath/source/source212.svg b/BiVisualPath/source/source212.svg new file mode 100644 index 0000000..0731d14 --- /dev/null +++ b/BiVisualPath/source/source212.svg @@ -0,0 +1 @@ +资源 12 \ No newline at end of file diff --git a/BiVisualPath/source/source213.svg b/BiVisualPath/source/source213.svg new file mode 100644 index 0000000..fdc017e --- /dev/null +++ b/BiVisualPath/source/source213.svg @@ -0,0 +1 @@ +资源 13 \ No newline at end of file diff --git a/BiVisualPath/source/source214.svg b/BiVisualPath/source/source214.svg new file mode 100644 index 0000000..0d4970b --- /dev/null +++ b/BiVisualPath/source/source214.svg @@ -0,0 +1 @@ +资源 17 \ No newline at end of file diff --git a/BiVisualPath/source/source215.svg b/BiVisualPath/source/source215.svg new file mode 100644 index 0000000..a1a0270 --- /dev/null +++ b/BiVisualPath/source/source215.svg @@ -0,0 +1 @@ +资源 15 \ No newline at end of file diff --git a/BiVisualPath/source/source216.svg b/BiVisualPath/source/source216.svg new file mode 100644 index 0000000..cecaaa7 --- /dev/null +++ b/BiVisualPath/source/source216.svg @@ -0,0 +1 @@ +资源 16 \ No newline at end of file diff --git a/BiVisualPath/source/source217.svg b/BiVisualPath/source/source217.svg new file mode 100644 index 0000000..1bf1f0f --- /dev/null +++ b/BiVisualPath/source/source217.svg @@ -0,0 +1 @@ +资源 18 \ No newline at end of file diff --git a/BiVisualPath/source/source218.svg b/BiVisualPath/source/source218.svg new file mode 100644 index 0000000..83a2698 --- /dev/null +++ b/BiVisualPath/source/source218.svg @@ -0,0 +1 @@ +资源 14 \ No newline at end of file diff --git a/BiVisualPath/source/source219.svg b/BiVisualPath/source/source219.svg new file mode 100644 index 0000000..42ccad8 --- /dev/null +++ b/BiVisualPath/source/source219.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source22.svg b/BiVisualPath/source/source22.svg new file mode 100644 index 0000000..d1671d2 --- /dev/null +++ b/BiVisualPath/source/source22.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source220.svg b/BiVisualPath/source/source220.svg new file mode 100644 index 0000000..e78f05b --- /dev/null +++ b/BiVisualPath/source/source220.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source221.svg b/BiVisualPath/source/source221.svg new file mode 100644 index 0000000..8dcc257 --- /dev/null +++ b/BiVisualPath/source/source221.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source222.svg b/BiVisualPath/source/source222.svg new file mode 100644 index 0000000..17f6981 --- /dev/null +++ b/BiVisualPath/source/source222.svg @@ -0,0 +1 @@ +资源 6 \ No newline at end of file diff --git a/BiVisualPath/source/source223.svg b/BiVisualPath/source/source223.svg new file mode 100644 index 0000000..cb75a77 --- /dev/null +++ b/BiVisualPath/source/source223.svg @@ -0,0 +1 @@ +资源 8 \ No newline at end of file diff --git a/BiVisualPath/source/source224.svg b/BiVisualPath/source/source224.svg new file mode 100644 index 0000000..4b16123 --- /dev/null +++ b/BiVisualPath/source/source224.svg @@ -0,0 +1 @@ +资源 9 \ No newline at end of file diff --git a/BiVisualPath/source/source225.svg b/BiVisualPath/source/source225.svg new file mode 100644 index 0000000..240f200 --- /dev/null +++ b/BiVisualPath/source/source225.svg @@ -0,0 +1 @@ +资源 7 \ No newline at end of file diff --git a/BiVisualPath/source/source226.svg b/BiVisualPath/source/source226.svg new file mode 100644 index 0000000..499692a --- /dev/null +++ b/BiVisualPath/source/source226.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source227.svg b/BiVisualPath/source/source227.svg new file mode 100644 index 0000000..43f517e --- /dev/null +++ b/BiVisualPath/source/source227.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source228.svg b/BiVisualPath/source/source228.svg new file mode 100644 index 0000000..4d11f18 --- /dev/null +++ b/BiVisualPath/source/source228.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source229.svg b/BiVisualPath/source/source229.svg new file mode 100644 index 0000000..8385d8b --- /dev/null +++ b/BiVisualPath/source/source229.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source23.svg b/BiVisualPath/source/source23.svg new file mode 100644 index 0000000..e4d79c0 --- /dev/null +++ b/BiVisualPath/source/source23.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source230.svg b/BiVisualPath/source/source230.svg new file mode 100644 index 0000000..da92f4c --- /dev/null +++ b/BiVisualPath/source/source230.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source231.svg b/BiVisualPath/source/source231.svg new file mode 100644 index 0000000..fafffd0 --- /dev/null +++ b/BiVisualPath/source/source231.svg @@ -0,0 +1 @@ +资源 5 \ No newline at end of file diff --git a/BiVisualPath/source/source232.svg b/BiVisualPath/source/source232.svg new file mode 100644 index 0000000..0585d5d --- /dev/null +++ b/BiVisualPath/source/source232.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source233.svg b/BiVisualPath/source/source233.svg new file mode 100644 index 0000000..4847f73 --- /dev/null +++ b/BiVisualPath/source/source233.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source234.svg b/BiVisualPath/source/source234.svg new file mode 100644 index 0000000..7ca992f --- /dev/null +++ b/BiVisualPath/source/source234.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source235.svg b/BiVisualPath/source/source235.svg new file mode 100644 index 0000000..03d242d --- /dev/null +++ b/BiVisualPath/source/source235.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source236.svg b/BiVisualPath/source/source236.svg new file mode 100644 index 0000000..8c31dc2 --- /dev/null +++ b/BiVisualPath/source/source236.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source237.svg b/BiVisualPath/source/source237.svg new file mode 100644 index 0000000..cb0e144 --- /dev/null +++ b/BiVisualPath/source/source237.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source238.svg b/BiVisualPath/source/source238.svg new file mode 100644 index 0000000..f5b554c --- /dev/null +++ b/BiVisualPath/source/source238.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source239.png b/BiVisualPath/source/source239.png new file mode 100644 index 0000000..9ef9025 Binary files /dev/null and b/BiVisualPath/source/source239.png differ diff --git a/BiVisualPath/source/source24.svg b/BiVisualPath/source/source24.svg new file mode 100644 index 0000000..d5ef1b4 --- /dev/null +++ b/BiVisualPath/source/source24.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source240.png b/BiVisualPath/source/source240.png new file mode 100644 index 0000000..94bc71d Binary files /dev/null and b/BiVisualPath/source/source240.png differ diff --git a/BiVisualPath/source/source241.png b/BiVisualPath/source/source241.png new file mode 100644 index 0000000..80dbe84 Binary files /dev/null and b/BiVisualPath/source/source241.png differ diff --git a/BiVisualPath/source/source242.png b/BiVisualPath/source/source242.png new file mode 100644 index 0000000..80b8a6e Binary files /dev/null and b/BiVisualPath/source/source242.png differ diff --git a/BiVisualPath/source/source243.png b/BiVisualPath/source/source243.png new file mode 100644 index 0000000..83f7a50 Binary files /dev/null and b/BiVisualPath/source/source243.png differ diff --git a/BiVisualPath/source/source244.png b/BiVisualPath/source/source244.png new file mode 100644 index 0000000..10aed21 Binary files /dev/null and b/BiVisualPath/source/source244.png differ diff --git a/BiVisualPath/source/source245.png b/BiVisualPath/source/source245.png new file mode 100644 index 0000000..7ff7644 Binary files /dev/null and b/BiVisualPath/source/source245.png differ diff --git a/BiVisualPath/source/source246.png b/BiVisualPath/source/source246.png new file mode 100644 index 0000000..ef4c769 Binary files /dev/null and b/BiVisualPath/source/source246.png differ diff --git a/BiVisualPath/source/source247.png b/BiVisualPath/source/source247.png new file mode 100644 index 0000000..34f2b60 Binary files /dev/null and b/BiVisualPath/source/source247.png differ diff --git a/BiVisualPath/source/source248.png b/BiVisualPath/source/source248.png new file mode 100644 index 0000000..796ac5a Binary files /dev/null and b/BiVisualPath/source/source248.png differ diff --git a/BiVisualPath/source/source249.png b/BiVisualPath/source/source249.png new file mode 100644 index 0000000..88a29fe Binary files /dev/null and b/BiVisualPath/source/source249.png differ diff --git a/BiVisualPath/source/source25.svg b/BiVisualPath/source/source25.svg new file mode 100644 index 0000000..9456f53 --- /dev/null +++ b/BiVisualPath/source/source25.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source250.png b/BiVisualPath/source/source250.png new file mode 100644 index 0000000..7e252c4 Binary files /dev/null and b/BiVisualPath/source/source250.png differ diff --git a/BiVisualPath/source/source251.png b/BiVisualPath/source/source251.png new file mode 100644 index 0000000..73066e2 Binary files /dev/null and b/BiVisualPath/source/source251.png differ diff --git a/BiVisualPath/source/source252.png b/BiVisualPath/source/source252.png new file mode 100644 index 0000000..3dffed3 Binary files /dev/null and b/BiVisualPath/source/source252.png differ diff --git a/BiVisualPath/source/source253.png b/BiVisualPath/source/source253.png new file mode 100644 index 0000000..961a657 Binary files /dev/null and b/BiVisualPath/source/source253.png differ diff --git a/BiVisualPath/source/source254.png b/BiVisualPath/source/source254.png new file mode 100644 index 0000000..4157cc3 Binary files /dev/null and b/BiVisualPath/source/source254.png differ diff --git a/BiVisualPath/source/source255.png b/BiVisualPath/source/source255.png new file mode 100644 index 0000000..4ddb467 Binary files /dev/null and b/BiVisualPath/source/source255.png differ diff --git a/BiVisualPath/source/source256.png b/BiVisualPath/source/source256.png new file mode 100644 index 0000000..2dd4ef9 Binary files /dev/null and b/BiVisualPath/source/source256.png differ diff --git a/BiVisualPath/source/source257.png b/BiVisualPath/source/source257.png new file mode 100644 index 0000000..e54f830 Binary files /dev/null and b/BiVisualPath/source/source257.png differ diff --git a/BiVisualPath/source/source258.png b/BiVisualPath/source/source258.png new file mode 100644 index 0000000..a07001c Binary files /dev/null and b/BiVisualPath/source/source258.png differ diff --git a/BiVisualPath/source/source259.png b/BiVisualPath/source/source259.png new file mode 100644 index 0000000..101b9ae Binary files /dev/null and b/BiVisualPath/source/source259.png differ diff --git a/BiVisualPath/source/source26.svg b/BiVisualPath/source/source26.svg new file mode 100644 index 0000000..bbea1fb --- /dev/null +++ b/BiVisualPath/source/source26.svg @@ -0,0 +1 @@ +资源 5 \ No newline at end of file diff --git a/BiVisualPath/source/source260.png b/BiVisualPath/source/source260.png new file mode 100644 index 0000000..992661c Binary files /dev/null and b/BiVisualPath/source/source260.png differ diff --git a/BiVisualPath/source/source27.svg b/BiVisualPath/source/source27.svg new file mode 100644 index 0000000..53398dd --- /dev/null +++ b/BiVisualPath/source/source27.svg @@ -0,0 +1 @@ +资源 6 \ No newline at end of file diff --git a/BiVisualPath/source/source28.svg b/BiVisualPath/source/source28.svg new file mode 100644 index 0000000..cc38c36 --- /dev/null +++ b/BiVisualPath/source/source28.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source29.svg b/BiVisualPath/source/source29.svg new file mode 100644 index 0000000..8927a0d --- /dev/null +++ b/BiVisualPath/source/source29.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source3.svg b/BiVisualPath/source/source3.svg new file mode 100644 index 0000000..5c697fc --- /dev/null +++ b/BiVisualPath/source/source3.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source30.svg b/BiVisualPath/source/source30.svg new file mode 100644 index 0000000..2c71dd0 --- /dev/null +++ b/BiVisualPath/source/source30.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source31.svg b/BiVisualPath/source/source31.svg new file mode 100644 index 0000000..2475be9 --- /dev/null +++ b/BiVisualPath/source/source31.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source32.svg b/BiVisualPath/source/source32.svg new file mode 100644 index 0000000..4c91119 --- /dev/null +++ b/BiVisualPath/source/source32.svg @@ -0,0 +1 @@ +资源 12 \ No newline at end of file diff --git a/BiVisualPath/source/source33.svg b/BiVisualPath/source/source33.svg new file mode 100644 index 0000000..1b9c10c --- /dev/null +++ b/BiVisualPath/source/source33.svg @@ -0,0 +1 @@ +资源 11 \ No newline at end of file diff --git a/BiVisualPath/source/source34.svg b/BiVisualPath/source/source34.svg new file mode 100644 index 0000000..21057fb --- /dev/null +++ b/BiVisualPath/source/source34.svg @@ -0,0 +1 @@ +资源 14 \ No newline at end of file diff --git a/BiVisualPath/source/source35.svg b/BiVisualPath/source/source35.svg new file mode 100644 index 0000000..d8afe3d --- /dev/null +++ b/BiVisualPath/source/source35.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source36.svg b/BiVisualPath/source/source36.svg new file mode 100644 index 0000000..09d2c99 --- /dev/null +++ b/BiVisualPath/source/source36.svg @@ -0,0 +1 @@ +资源 17 \ No newline at end of file diff --git a/BiVisualPath/source/source37.svg b/BiVisualPath/source/source37.svg new file mode 100644 index 0000000..96067a7 --- /dev/null +++ b/BiVisualPath/source/source37.svg @@ -0,0 +1 @@ +资源 19 \ No newline at end of file diff --git a/BiVisualPath/source/source38.svg b/BiVisualPath/source/source38.svg new file mode 100644 index 0000000..9976ab3 --- /dev/null +++ b/BiVisualPath/source/source38.svg @@ -0,0 +1 @@ +资源 20 \ No newline at end of file diff --git a/BiVisualPath/source/source39.svg b/BiVisualPath/source/source39.svg new file mode 100644 index 0000000..b5e5cf8 --- /dev/null +++ b/BiVisualPath/source/source39.svg @@ -0,0 +1 @@ +资源 18 \ No newline at end of file diff --git a/BiVisualPath/source/source4.svg b/BiVisualPath/source/source4.svg new file mode 100644 index 0000000..08194c3 --- /dev/null +++ b/BiVisualPath/source/source4.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source40.svg b/BiVisualPath/source/source40.svg new file mode 100644 index 0000000..04043be --- /dev/null +++ b/BiVisualPath/source/source40.svg @@ -0,0 +1 @@ +资源 21 \ No newline at end of file diff --git a/BiVisualPath/source/source41.svg b/BiVisualPath/source/source41.svg new file mode 100644 index 0000000..51dd8c7 --- /dev/null +++ b/BiVisualPath/source/source41.svg @@ -0,0 +1 @@ +资源 23 \ No newline at end of file diff --git a/BiVisualPath/source/source42.svg b/BiVisualPath/source/source42.svg new file mode 100644 index 0000000..6db1416 --- /dev/null +++ b/BiVisualPath/source/source42.svg @@ -0,0 +1 @@ +资源 24 \ No newline at end of file diff --git a/BiVisualPath/source/source43.svg b/BiVisualPath/source/source43.svg new file mode 100644 index 0000000..ce0fd4d --- /dev/null +++ b/BiVisualPath/source/source43.svg @@ -0,0 +1 @@ +资源 26 \ No newline at end of file diff --git a/BiVisualPath/source/source44.svg b/BiVisualPath/source/source44.svg new file mode 100644 index 0000000..d5c2e39 --- /dev/null +++ b/BiVisualPath/source/source44.svg @@ -0,0 +1 @@ +资源 27 \ No newline at end of file diff --git a/BiVisualPath/source/source45.svg b/BiVisualPath/source/source45.svg new file mode 100644 index 0000000..528d780 --- /dev/null +++ b/BiVisualPath/source/source45.svg @@ -0,0 +1 @@ +资源 6 \ No newline at end of file diff --git a/BiVisualPath/source/source46.svg b/BiVisualPath/source/source46.svg new file mode 100644 index 0000000..95faa72 --- /dev/null +++ b/BiVisualPath/source/source46.svg @@ -0,0 +1 @@ +资源 25 \ No newline at end of file diff --git a/BiVisualPath/source/source47.svg b/BiVisualPath/source/source47.svg new file mode 100644 index 0000000..aab404c --- /dev/null +++ b/BiVisualPath/source/source47.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source48.svg b/BiVisualPath/source/source48.svg new file mode 100644 index 0000000..ef869d9 --- /dev/null +++ b/BiVisualPath/source/source48.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source49.svg b/BiVisualPath/source/source49.svg new file mode 100644 index 0000000..a4a87c7 --- /dev/null +++ b/BiVisualPath/source/source49.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source5.svg b/BiVisualPath/source/source5.svg new file mode 100644 index 0000000..31240b0 --- /dev/null +++ b/BiVisualPath/source/source5.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source50.svg b/BiVisualPath/source/source50.svg new file mode 100644 index 0000000..8949232 --- /dev/null +++ b/BiVisualPath/source/source50.svg @@ -0,0 +1 @@ +资源 7 \ No newline at end of file diff --git a/BiVisualPath/source/source51.svg b/BiVisualPath/source/source51.svg new file mode 100644 index 0000000..389ad76 --- /dev/null +++ b/BiVisualPath/source/source51.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source52.svg b/BiVisualPath/source/source52.svg new file mode 100644 index 0000000..0f6918d --- /dev/null +++ b/BiVisualPath/source/source52.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source53.svg b/BiVisualPath/source/source53.svg new file mode 100644 index 0000000..7bb2b56 --- /dev/null +++ b/BiVisualPath/source/source53.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source54.svg b/BiVisualPath/source/source54.svg new file mode 100644 index 0000000..82c406d --- /dev/null +++ b/BiVisualPath/source/source54.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source55.svg b/BiVisualPath/source/source55.svg new file mode 100644 index 0000000..e3604cd --- /dev/null +++ b/BiVisualPath/source/source55.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source56.svg b/BiVisualPath/source/source56.svg new file mode 100644 index 0000000..c359578 --- /dev/null +++ b/BiVisualPath/source/source56.svg @@ -0,0 +1 @@ +资源 5 \ No newline at end of file diff --git a/BiVisualPath/source/source57.svg b/BiVisualPath/source/source57.svg new file mode 100644 index 0000000..f3c5b3f --- /dev/null +++ b/BiVisualPath/source/source57.svg @@ -0,0 +1 @@ +资源 6 \ No newline at end of file diff --git a/BiVisualPath/source/source58.svg b/BiVisualPath/source/source58.svg new file mode 100644 index 0000000..0e8bd92 --- /dev/null +++ b/BiVisualPath/source/source58.svg @@ -0,0 +1 @@ +资源 7 \ No newline at end of file diff --git a/BiVisualPath/source/source59.svg b/BiVisualPath/source/source59.svg new file mode 100644 index 0000000..f30c615 --- /dev/null +++ b/BiVisualPath/source/source59.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source6.svg b/BiVisualPath/source/source6.svg new file mode 100644 index 0000000..1554236 --- /dev/null +++ b/BiVisualPath/source/source6.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source60.svg b/BiVisualPath/source/source60.svg new file mode 100644 index 0000000..f43faf3 --- /dev/null +++ b/BiVisualPath/source/source60.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source61.svg b/BiVisualPath/source/source61.svg new file mode 100644 index 0000000..4bb9646 --- /dev/null +++ b/BiVisualPath/source/source61.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source62.svg b/BiVisualPath/source/source62.svg new file mode 100644 index 0000000..fa1cbc6 --- /dev/null +++ b/BiVisualPath/source/source62.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source63.svg b/BiVisualPath/source/source63.svg new file mode 100644 index 0000000..a530757 --- /dev/null +++ b/BiVisualPath/source/source63.svg @@ -0,0 +1 @@ +资源 5 \ No newline at end of file diff --git a/BiVisualPath/source/source64.svg b/BiVisualPath/source/source64.svg new file mode 100644 index 0000000..4612207 --- /dev/null +++ b/BiVisualPath/source/source64.svg @@ -0,0 +1 @@ +资源 7 \ No newline at end of file diff --git a/BiVisualPath/source/source65.svg b/BiVisualPath/source/source65.svg new file mode 100644 index 0000000..08003fe --- /dev/null +++ b/BiVisualPath/source/source65.svg @@ -0,0 +1 @@ +资源 6 \ No newline at end of file diff --git a/BiVisualPath/source/source66.svg b/BiVisualPath/source/source66.svg new file mode 100644 index 0000000..0f4a4a7 --- /dev/null +++ b/BiVisualPath/source/source66.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source67.svg b/BiVisualPath/source/source67.svg new file mode 100644 index 0000000..3d4c1e1 --- /dev/null +++ b/BiVisualPath/source/source67.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source68.svg b/BiVisualPath/source/source68.svg new file mode 100644 index 0000000..088ee1b --- /dev/null +++ b/BiVisualPath/source/source68.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source69.svg b/BiVisualPath/source/source69.svg new file mode 100644 index 0000000..20a8fcf --- /dev/null +++ b/BiVisualPath/source/source69.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source7.svg b/BiVisualPath/source/source7.svg new file mode 100644 index 0000000..9863d0d --- /dev/null +++ b/BiVisualPath/source/source7.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source70.svg b/BiVisualPath/source/source70.svg new file mode 100644 index 0000000..f09af80 --- /dev/null +++ b/BiVisualPath/source/source70.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source71.svg b/BiVisualPath/source/source71.svg new file mode 100644 index 0000000..9fd72cf --- /dev/null +++ b/BiVisualPath/source/source71.svg @@ -0,0 +1 @@ +资源 10 \ No newline at end of file diff --git a/BiVisualPath/source/source72.svg b/BiVisualPath/source/source72.svg new file mode 100644 index 0000000..8fc02e6 --- /dev/null +++ b/BiVisualPath/source/source72.svg @@ -0,0 +1 @@ +资源 11 \ No newline at end of file diff --git a/BiVisualPath/source/source73.svg b/BiVisualPath/source/source73.svg new file mode 100644 index 0000000..2871233 --- /dev/null +++ b/BiVisualPath/source/source73.svg @@ -0,0 +1 @@ +资源 5 \ No newline at end of file diff --git a/BiVisualPath/source/source74.svg b/BiVisualPath/source/source74.svg new file mode 100644 index 0000000..504e2a2 --- /dev/null +++ b/BiVisualPath/source/source74.svg @@ -0,0 +1 @@ +资源 12 \ No newline at end of file diff --git a/BiVisualPath/source/source75.svg b/BiVisualPath/source/source75.svg new file mode 100644 index 0000000..39de6bb --- /dev/null +++ b/BiVisualPath/source/source75.svg @@ -0,0 +1 @@ +资源 13 \ No newline at end of file diff --git a/BiVisualPath/source/source76.svg b/BiVisualPath/source/source76.svg new file mode 100644 index 0000000..c9fc151 --- /dev/null +++ b/BiVisualPath/source/source76.svg @@ -0,0 +1 @@ +资源 14 \ No newline at end of file diff --git a/BiVisualPath/source/source77.svg b/BiVisualPath/source/source77.svg new file mode 100644 index 0000000..c9d42ab --- /dev/null +++ b/BiVisualPath/source/source77.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source78.svg b/BiVisualPath/source/source78.svg new file mode 100644 index 0000000..abf2704 --- /dev/null +++ b/BiVisualPath/source/source78.svg @@ -0,0 +1 @@ +资源 16 \ No newline at end of file diff --git a/BiVisualPath/source/source79.svg b/BiVisualPath/source/source79.svg new file mode 100644 index 0000000..f578f57 --- /dev/null +++ b/BiVisualPath/source/source79.svg @@ -0,0 +1 @@ +资源 15 \ No newline at end of file diff --git a/BiVisualPath/source/source8.svg b/BiVisualPath/source/source8.svg new file mode 100644 index 0000000..10123cc --- /dev/null +++ b/BiVisualPath/source/source8.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source80.svg b/BiVisualPath/source/source80.svg new file mode 100644 index 0000000..eeecce5 --- /dev/null +++ b/BiVisualPath/source/source80.svg @@ -0,0 +1 @@ +资源 19 \ No newline at end of file diff --git a/BiVisualPath/source/source81.svg b/BiVisualPath/source/source81.svg new file mode 100644 index 0000000..488687d --- /dev/null +++ b/BiVisualPath/source/source81.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source82.svg b/BiVisualPath/source/source82.svg new file mode 100644 index 0000000..1d08992 --- /dev/null +++ b/BiVisualPath/source/source82.svg @@ -0,0 +1 @@ +资源 18 \ No newline at end of file diff --git a/BiVisualPath/source/source83.svg b/BiVisualPath/source/source83.svg new file mode 100644 index 0000000..1046249 --- /dev/null +++ b/BiVisualPath/source/source83.svg @@ -0,0 +1 @@ +资源 20 \ No newline at end of file diff --git a/BiVisualPath/source/source84.svg b/BiVisualPath/source/source84.svg new file mode 100644 index 0000000..eea8a47 --- /dev/null +++ b/BiVisualPath/source/source84.svg @@ -0,0 +1 @@ +资源 17 \ No newline at end of file diff --git a/BiVisualPath/source/source85.svg b/BiVisualPath/source/source85.svg new file mode 100644 index 0000000..5985c9e --- /dev/null +++ b/BiVisualPath/source/source85.svg @@ -0,0 +1 @@ +资源 3 \ No newline at end of file diff --git a/BiVisualPath/source/source86.svg b/BiVisualPath/source/source86.svg new file mode 100644 index 0000000..bedb3c0 --- /dev/null +++ b/BiVisualPath/source/source86.svg @@ -0,0 +1 @@ +资源 4 \ No newline at end of file diff --git a/BiVisualPath/source/source87.svg b/BiVisualPath/source/source87.svg new file mode 100644 index 0000000..7e64653 --- /dev/null +++ b/BiVisualPath/source/source87.svg @@ -0,0 +1 @@ +资源 5 \ No newline at end of file diff --git a/BiVisualPath/source/source88.svg b/BiVisualPath/source/source88.svg new file mode 100644 index 0000000..027be04 --- /dev/null +++ b/BiVisualPath/source/source88.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source89.svg b/BiVisualPath/source/source89.svg new file mode 100644 index 0000000..e559287 --- /dev/null +++ b/BiVisualPath/source/source89.svg @@ -0,0 +1 @@ +资源 7 \ No newline at end of file diff --git a/BiVisualPath/source/source9.svg b/BiVisualPath/source/source9.svg new file mode 100644 index 0000000..7c85dc7 --- /dev/null +++ b/BiVisualPath/source/source9.svg @@ -0,0 +1 @@ +资源 5 \ No newline at end of file diff --git a/BiVisualPath/source/source90.svg b/BiVisualPath/source/source90.svg new file mode 100644 index 0000000..9e561a9 --- /dev/null +++ b/BiVisualPath/source/source90.svg @@ -0,0 +1 @@ +资源 6 \ No newline at end of file diff --git a/BiVisualPath/source/source91.svg b/BiVisualPath/source/source91.svg new file mode 100644 index 0000000..c2628f4 --- /dev/null +++ b/BiVisualPath/source/source91.svg @@ -0,0 +1 @@ +资源 8 \ No newline at end of file diff --git a/BiVisualPath/source/source92.svg b/BiVisualPath/source/source92.svg new file mode 100644 index 0000000..3832617 --- /dev/null +++ b/BiVisualPath/source/source92.svg @@ -0,0 +1 @@ +资源 9 \ No newline at end of file diff --git a/BiVisualPath/source/source93.svg b/BiVisualPath/source/source93.svg new file mode 100644 index 0000000..faba13b --- /dev/null +++ b/BiVisualPath/source/source93.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source94.svg b/BiVisualPath/source/source94.svg new file mode 100644 index 0000000..342001f --- /dev/null +++ b/BiVisualPath/source/source94.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source95.svg b/BiVisualPath/source/source95.svg new file mode 100644 index 0000000..bfb7693 --- /dev/null +++ b/BiVisualPath/source/source95.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source96.svg b/BiVisualPath/source/source96.svg new file mode 100644 index 0000000..6da3e79 --- /dev/null +++ b/BiVisualPath/source/source96.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/BiVisualPath/source/source97.svg b/BiVisualPath/source/source97.svg new file mode 100644 index 0000000..bab35d8 --- /dev/null +++ b/BiVisualPath/source/source97.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source98.svg b/BiVisualPath/source/source98.svg new file mode 100644 index 0000000..37d6c75 --- /dev/null +++ b/BiVisualPath/source/source98.svg @@ -0,0 +1 @@ +资源 1 \ No newline at end of file diff --git a/BiVisualPath/source/source99.svg b/BiVisualPath/source/source99.svg new file mode 100644 index 0000000..93bf3c6 --- /dev/null +++ b/BiVisualPath/source/source99.svg @@ -0,0 +1 @@ +资源 2 \ No newline at end of file diff --git a/DocumentFile/69e05a6580fa10b37d5cf249.pdf b/DocumentFile/69e05a6580fa10b37d5cf249.pdf new file mode 100644 index 0000000..63c00c0 Binary files /dev/null and b/DocumentFile/69e05a6580fa10b37d5cf249.pdf differ diff --git a/DocumentFile/69e075eb6199806c0592254b.pdf b/DocumentFile/69e075eb6199806c0592254b.pdf new file mode 100644 index 0000000..069ed9b --- /dev/null +++ b/DocumentFile/69e075eb6199806c0592254b.pdf @@ -0,0 +1,17 @@ +TemplateCode1 -> 发起表单(流程表单) + +TemplateCode2 -> 功能表单(表单列表) + +TemplateCode3 -> 功能流程(表单列表流程) + +TemplateCode4 -> 纯表单 + +TemplateCode5 -> 纯表单+流程 + +TemplateCode6 -> 视图代码生成 + +helper-> 前端调用api接口 + +java -> 后端模板,各表单类型使用同一套模板 + +PublicMacro -> 公用宏(通用方法和变量) diff --git a/DocumentFile/69e078986199806c0592254c.pdf b/DocumentFile/69e078986199806c0592254c.pdf new file mode 100644 index 0000000..069ed9b --- /dev/null +++ b/DocumentFile/69e078986199806c0592254c.pdf @@ -0,0 +1,17 @@ +TemplateCode1 -> 发起表单(流程表单) + +TemplateCode2 -> 功能表单(表单列表) + +TemplateCode3 -> 功能流程(表单列表流程) + +TemplateCode4 -> 纯表单 + +TemplateCode5 -> 纯表单+流程 + +TemplateCode6 -> 视图代码生成 + +helper-> 前端调用api接口 + +java -> 后端模板,各表单类型使用同一套模板 + +PublicMacro -> 公用宏(通用方法和变量) diff --git a/DocumentFile/69e079176199806c0592254d.pdf b/DocumentFile/69e079176199806c0592254d.pdf new file mode 100644 index 0000000..069ed9b --- /dev/null +++ b/DocumentFile/69e079176199806c0592254d.pdf @@ -0,0 +1,17 @@ +TemplateCode1 -> 发起表单(流程表单) + +TemplateCode2 -> 功能表单(表单列表) + +TemplateCode3 -> 功能流程(表单列表流程) + +TemplateCode4 -> 纯表单 + +TemplateCode5 -> 纯表单+流程 + +TemplateCode6 -> 视图代码生成 + +helper-> 前端调用api接口 + +java -> 后端模板,各表单类型使用同一套模板 + +PublicMacro -> 公用宏(通用方法和变量) diff --git a/DocumentFile/69e0794f6199806c0592254e.pdf b/DocumentFile/69e0794f6199806c0592254e.pdf new file mode 100644 index 0000000..069ed9b --- /dev/null +++ b/DocumentFile/69e0794f6199806c0592254e.pdf @@ -0,0 +1,17 @@ +TemplateCode1 -> 发起表单(流程表单) + +TemplateCode2 -> 功能表单(表单列表) + +TemplateCode3 -> 功能流程(表单列表流程) + +TemplateCode4 -> 纯表单 + +TemplateCode5 -> 纯表单+流程 + +TemplateCode6 -> 视图代码生成 + +helper-> 前端调用api接口 + +java -> 后端模板,各表单类型使用同一套模板 + +PublicMacro -> 公用宏(通用方法和变量) diff --git a/DocumentFile/69e07b086199806c0592254f.pdf b/DocumentFile/69e07b086199806c0592254f.pdf new file mode 100644 index 0000000..069ed9b --- /dev/null +++ b/DocumentFile/69e07b086199806c0592254f.pdf @@ -0,0 +1,17 @@ +TemplateCode1 -> 发起表单(流程表单) + +TemplateCode2 -> 功能表单(表单列表) + +TemplateCode3 -> 功能流程(表单列表流程) + +TemplateCode4 -> 纯表单 + +TemplateCode5 -> 纯表单+流程 + +TemplateCode6 -> 视图代码生成 + +helper-> 前端调用api接口 + +java -> 后端模板,各表单类型使用同一套模板 + +PublicMacro -> 公用宏(通用方法和变量) diff --git a/DocumentFile/69e07c2f6199806c05922550.txt b/DocumentFile/69e07c2f6199806c05922550.txt new file mode 100644 index 0000000..069ed9b --- /dev/null +++ b/DocumentFile/69e07c2f6199806c05922550.txt @@ -0,0 +1,17 @@ +TemplateCode1 -> 发起表单(流程表单) + +TemplateCode2 -> 功能表单(表单列表) + +TemplateCode3 -> 功能流程(表单列表流程) + +TemplateCode4 -> 纯表单 + +TemplateCode5 -> 纯表单+流程 + +TemplateCode6 -> 视图代码生成 + +helper-> 前端调用api接口 + +java -> 后端模板,各表单类型使用同一套模板 + +PublicMacro -> 公用宏(通用方法和变量) diff --git a/README b/DocumentFile/文档.txt similarity index 100% rename from README rename to DocumentFile/文档.txt diff --git a/DocumentPreview/RE.doc b/DocumentPreview/RE.doc new file mode 100644 index 0000000..2f85668 Binary files /dev/null and b/DocumentPreview/RE.doc differ diff --git a/DocumentPreview/RE.pdf b/DocumentPreview/RE.pdf new file mode 100644 index 0000000..0d7110b Binary files /dev/null and b/DocumentPreview/RE.pdf differ diff --git a/DocumentPreview/中央财政预算、决算收支.pdf b/DocumentPreview/中央财政预算、决算收支.pdf new file mode 100644 index 0000000..83a84da Binary files /dev/null and b/DocumentPreview/中央财政预算、决算收支.pdf differ diff --git a/DocumentPreview/中央财政预算、决算收支.xls b/DocumentPreview/中央财政预算、决算收支.xls new file mode 100644 index 0000000..a0272bd Binary files /dev/null and b/DocumentPreview/中央财政预算、决算收支.xls differ diff --git a/DocumentPreview/任务申请.doc b/DocumentPreview/任务申请.doc new file mode 100644 index 0000000..7a78dde Binary files /dev/null and b/DocumentPreview/任务申请.doc differ diff --git a/DocumentPreview/任务申请.pdf b/DocumentPreview/任务申请.pdf new file mode 100644 index 0000000..96576b7 Binary files /dev/null and b/DocumentPreview/任务申请.pdf differ diff --git a/DocumentPreview/单元测试阶段--单元测试报告.doc b/DocumentPreview/单元测试阶段--单元测试报告.doc new file mode 100644 index 0000000..80565ec Binary files /dev/null and b/DocumentPreview/单元测试阶段--单元测试报告.doc differ diff --git a/DocumentPreview/可行性与计划阶段--可行性研究报告.doc b/DocumentPreview/可行性与计划阶段--可行性研究报告.doc new file mode 100644 index 0000000..23d50f8 Binary files /dev/null and b/DocumentPreview/可行性与计划阶段--可行性研究报告.doc differ diff --git a/DocumentPreview/可行性与计划阶段--项目开发计划.doc b/DocumentPreview/可行性与计划阶段--项目开发计划.doc new file mode 100644 index 0000000..dea32e9 Binary files /dev/null and b/DocumentPreview/可行性与计划阶段--项目开发计划.doc differ diff --git a/DocumentPreview/可行性研究报告.doc b/DocumentPreview/可行性研究报告.doc new file mode 100644 index 0000000..adf2390 Binary files /dev/null and b/DocumentPreview/可行性研究报告.doc differ diff --git a/DocumentPreview/可行性研究报告.pdf b/DocumentPreview/可行性研究报告.pdf new file mode 100644 index 0000000..6e077be Binary files /dev/null and b/DocumentPreview/可行性研究报告.pdf differ diff --git a/DocumentPreview/实现阶段--模块开发说明.doc b/DocumentPreview/实现阶段--模块开发说明.doc new file mode 100644 index 0000000..72cb21e Binary files /dev/null and b/DocumentPreview/实现阶段--模块开发说明.doc differ diff --git a/DocumentPreview/实现阶段--用户操作手册.doc b/DocumentPreview/实现阶段--用户操作手册.doc new file mode 100644 index 0000000..2355d59 Binary files /dev/null and b/DocumentPreview/实现阶段--用户操作手册.doc differ diff --git a/DocumentPreview/实现阶段--详细设计说明书.doc b/DocumentPreview/实现阶段--详细设计说明书.doc new file mode 100644 index 0000000..cd705f4 Binary files /dev/null and b/DocumentPreview/实现阶段--详细设计说明书.doc differ diff --git a/DocumentPreview/开发进度月报.doc b/DocumentPreview/开发进度月报.doc new file mode 100644 index 0000000..99a2151 Binary files /dev/null and b/DocumentPreview/开发进度月报.doc differ diff --git a/DocumentPreview/总帐模板.xls b/DocumentPreview/总帐模板.xls new file mode 100644 index 0000000..0222d28 Binary files /dev/null and b/DocumentPreview/总帐模板.xls differ diff --git a/DocumentPreview/总结性报告1.doc b/DocumentPreview/总结性报告1.doc new file mode 100644 index 0000000..ef5efc0 Binary files /dev/null and b/DocumentPreview/总结性报告1.doc differ diff --git a/DocumentPreview/报价单.xls b/DocumentPreview/报价单.xls new file mode 100644 index 0000000..c81c3ae Binary files /dev/null and b/DocumentPreview/报价单.xls differ diff --git a/DocumentPreview/报税明细表.xls b/DocumentPreview/报税明细表.xls new file mode 100644 index 0000000..c5faa66 Binary files /dev/null and b/DocumentPreview/报税明细表.xls differ diff --git a/DocumentPreview/操作手册.doc b/DocumentPreview/操作手册.doc new file mode 100644 index 0000000..7a87f46 Binary files /dev/null and b/DocumentPreview/操作手册.doc differ diff --git a/DocumentPreview/数据库变更管理.doc b/DocumentPreview/数据库变更管理.doc new file mode 100644 index 0000000..c4d8465 Binary files /dev/null and b/DocumentPreview/数据库变更管理.doc differ diff --git a/DocumentPreview/数据库设计说明书.doc b/DocumentPreview/数据库设计说明书.doc new file mode 100644 index 0000000..4beb5e3 Binary files /dev/null and b/DocumentPreview/数据库设计说明书.doc differ diff --git a/DocumentPreview/数据要求说明书.doc b/DocumentPreview/数据要求说明书.doc new file mode 100644 index 0000000..6102612 Binary files /dev/null and b/DocumentPreview/数据要求说明书.doc differ diff --git a/DocumentPreview/文件给制实施规定.doc b/DocumentPreview/文件给制实施规定.doc new file mode 100644 index 0000000..ab5f2c6 Binary files /dev/null and b/DocumentPreview/文件给制实施规定.doc differ diff --git a/DocumentPreview/概要设计.doc b/DocumentPreview/概要设计.doc new file mode 100644 index 0000000..58e80eb Binary files /dev/null and b/DocumentPreview/概要设计.doc differ diff --git a/DocumentPreview/概要设计说明书.doc b/DocumentPreview/概要设计说明书.doc new file mode 100644 index 0000000..37d5883 Binary files /dev/null and b/DocumentPreview/概要设计说明书.doc differ diff --git a/DocumentPreview/概要设计阶段--数据库设计说明书.doc b/DocumentPreview/概要设计阶段--数据库设计说明书.doc new file mode 100644 index 0000000..eb4f854 Binary files /dev/null and b/DocumentPreview/概要设计阶段--数据库设计说明书.doc differ diff --git a/DocumentPreview/概要设计阶段--概要设计说明书.doc b/DocumentPreview/概要设计阶段--概要设计说明书.doc new file mode 100644 index 0000000..54e38a0 Binary files /dev/null and b/DocumentPreview/概要设计阶段--概要设计说明书.doc differ diff --git a/DocumentPreview/概要设计阶段--组装测试计划.doc b/DocumentPreview/概要设计阶段--组装测试计划.doc new file mode 100644 index 0000000..2bf9bda Binary files /dev/null and b/DocumentPreview/概要设计阶段--组装测试计划.doc differ diff --git a/DocumentPreview/模块开发卷宗.doc b/DocumentPreview/模块开发卷宗.doc new file mode 100644 index 0000000..3c7b608 Binary files /dev/null and b/DocumentPreview/模块开发卷宗.doc differ diff --git a/DocumentPreview/测试.doc b/DocumentPreview/测试.doc new file mode 100644 index 0000000..68b2da9 Binary files /dev/null and b/DocumentPreview/测试.doc differ diff --git a/DocumentPreview/测试分析报告.doc b/DocumentPreview/测试分析报告.doc new file mode 100644 index 0000000..dc30a5f Binary files /dev/null and b/DocumentPreview/测试分析报告.doc differ diff --git a/DocumentPreview/测试计划.doc b/DocumentPreview/测试计划.doc new file mode 100644 index 0000000..ef5547b Binary files /dev/null and b/DocumentPreview/测试计划.doc differ diff --git a/DocumentPreview/用户手册.doc b/DocumentPreview/用户手册.doc new file mode 100644 index 0000000..c3a3705 Binary files /dev/null and b/DocumentPreview/用户手册.doc differ diff --git a/DocumentPreview/用户操作手册1.doc b/DocumentPreview/用户操作手册1.doc new file mode 100644 index 0000000..b3267b3 Binary files /dev/null and b/DocumentPreview/用户操作手册1.doc differ diff --git a/DocumentPreview/程序维护手册1.doc b/DocumentPreview/程序维护手册1.doc new file mode 100644 index 0000000..65f8637 Binary files /dev/null and b/DocumentPreview/程序维护手册1.doc differ diff --git a/DocumentPreview/第10章 技术预研.doc b/DocumentPreview/第10章 技术预研.doc new file mode 100644 index 0000000..a57aef6 Binary files /dev/null and b/DocumentPreview/第10章 技术预研.doc differ diff --git a/DocumentPreview/第11章 系统设计.doc b/DocumentPreview/第11章 系统设计.doc new file mode 100644 index 0000000..1a2ed36 Binary files /dev/null and b/DocumentPreview/第11章 系统设计.doc differ diff --git a/DocumentPreview/第12章 实现与测试.doc b/DocumentPreview/第12章 实现与测试.doc new file mode 100644 index 0000000..73096a1 Binary files /dev/null and b/DocumentPreview/第12章 实现与测试.doc differ diff --git a/DocumentPreview/第13章 系统测试.doc b/DocumentPreview/第13章 系统测试.doc new file mode 100644 index 0000000..610dbd5 Binary files /dev/null and b/DocumentPreview/第13章 系统测试.doc differ diff --git a/DocumentPreview/第14章 Beta测试.doc b/DocumentPreview/第14章 Beta测试.doc new file mode 100644 index 0000000..721dacd Binary files /dev/null and b/DocumentPreview/第14章 Beta测试.doc differ diff --git a/DocumentPreview/第15章 客户验收.doc b/DocumentPreview/第15章 客户验收.doc new file mode 100644 index 0000000..d9f6e4f Binary files /dev/null and b/DocumentPreview/第15章 客户验收.doc differ diff --git a/DocumentPreview/第16章 技术评审.doc b/DocumentPreview/第16章 技术评审.doc new file mode 100644 index 0000000..1f49bbe Binary files /dev/null and b/DocumentPreview/第16章 技术评审.doc differ diff --git a/DocumentPreview/第17章 配置管理.doc b/DocumentPreview/第17章 配置管理.doc new file mode 100644 index 0000000..2874ff9 Binary files /dev/null and b/DocumentPreview/第17章 配置管理.doc differ diff --git a/DocumentPreview/第18章 质量保证.doc b/DocumentPreview/第18章 质量保证.doc new file mode 100644 index 0000000..60cc7bb Binary files /dev/null and b/DocumentPreview/第18章 质量保证.doc differ diff --git a/DocumentPreview/第19章 外包与采购管理.doc b/DocumentPreview/第19章 外包与采购管理.doc new file mode 100644 index 0000000..fc89929 Binary files /dev/null and b/DocumentPreview/第19章 外包与采购管理.doc differ diff --git a/DocumentPreview/第20章 培训管理.doc b/DocumentPreview/第20章 培训管理.doc new file mode 100644 index 0000000..265ed0e Binary files /dev/null and b/DocumentPreview/第20章 培训管理.doc differ diff --git a/DocumentPreview/第21章 服务与维护.doc b/DocumentPreview/第21章 服务与维护.doc new file mode 100644 index 0000000..fc3f88d Binary files /dev/null and b/DocumentPreview/第21章 服务与维护.doc differ diff --git a/DocumentPreview/第3章 立项管理1.doc b/DocumentPreview/第3章 立项管理1.doc new file mode 100644 index 0000000..98d3f99 Binary files /dev/null and b/DocumentPreview/第3章 立项管理1.doc differ diff --git a/DocumentPreview/第4章 结项管理1.doc b/DocumentPreview/第4章 结项管理1.doc new file mode 100644 index 0000000..58e7c54 Binary files /dev/null and b/DocumentPreview/第4章 结项管理1.doc differ diff --git a/DocumentPreview/第5章 项目规划1.doc b/DocumentPreview/第5章 项目规划1.doc new file mode 100644 index 0000000..9d0d15c Binary files /dev/null and b/DocumentPreview/第5章 项目规划1.doc differ diff --git a/DocumentPreview/第6章 项目监控1.doc b/DocumentPreview/第6章 项目监控1.doc new file mode 100644 index 0000000..aeedd8b Binary files /dev/null and b/DocumentPreview/第6章 项目监控1.doc differ diff --git a/DocumentPreview/第7章 风险管理1.doc b/DocumentPreview/第7章 风险管理1.doc new file mode 100644 index 0000000..29c2f32 Binary files /dev/null and b/DocumentPreview/第7章 风险管理1.doc differ diff --git a/DocumentPreview/第8章 需求管理1.doc b/DocumentPreview/第8章 需求管理1.doc new file mode 100644 index 0000000..95e4bbf Binary files /dev/null and b/DocumentPreview/第8章 需求管理1.doc differ diff --git a/DocumentPreview/第9章 需求开发.doc b/DocumentPreview/第9章 需求开发.doc new file mode 100644 index 0000000..2de2e97 Binary files /dev/null and b/DocumentPreview/第9章 需求开发.doc differ diff --git a/DocumentPreview/结构.doc b/DocumentPreview/结构.doc new file mode 100644 index 0000000..a93a6ae Binary files /dev/null and b/DocumentPreview/结构.doc differ diff --git a/DocumentPreview/详细设计.doc b/DocumentPreview/详细设计.doc new file mode 100644 index 0000000..af6c786 Binary files /dev/null and b/DocumentPreview/详细设计.doc differ diff --git a/DocumentPreview/详细设计说明书1.doc b/DocumentPreview/详细设计说明书1.doc new file mode 100644 index 0000000..b534479 Binary files /dev/null and b/DocumentPreview/详细设计说明书1.doc differ diff --git a/DocumentPreview/软件需求说明书.doc b/DocumentPreview/软件需求说明书.doc new file mode 100644 index 0000000..49a0329 Binary files /dev/null and b/DocumentPreview/软件需求说明书.doc differ diff --git a/DocumentPreview/采购报表.xls b/DocumentPreview/采购报表.xls new file mode 100644 index 0000000..e2f5b65 Binary files /dev/null and b/DocumentPreview/采购报表.xls differ diff --git a/DocumentPreview/附录A-1 立项建议书1.doc b/DocumentPreview/附录A-1 立项建议书1.doc new file mode 100644 index 0000000..bffc5c7 Binary files /dev/null and b/DocumentPreview/附录A-1 立项建议书1.doc differ diff --git a/DocumentPreview/附录A-2 立项调查报告1.doc b/DocumentPreview/附录A-2 立项调查报告1.doc new file mode 100644 index 0000000..ce93dea Binary files /dev/null and b/DocumentPreview/附录A-2 立项调查报告1.doc differ diff --git a/DocumentPreview/附录A-3 立项可行性分析报告1.doc b/DocumentPreview/附录A-3 立项可行性分析报告1.doc new file mode 100644 index 0000000..78df830 Binary files /dev/null and b/DocumentPreview/附录A-3 立项可行性分析报告1.doc differ diff --git a/DocumentPreview/附录A-4 立项评审报告1.doc b/DocumentPreview/附录A-4 立项评审报告1.doc new file mode 100644 index 0000000..f206c52 Binary files /dev/null and b/DocumentPreview/附录A-4 立项评审报告1.doc differ diff --git a/DocumentPreview/附录A-4 立项评审报告2.doc b/DocumentPreview/附录A-4 立项评审报告2.doc new file mode 100644 index 0000000..7b748b7 Binary files /dev/null and b/DocumentPreview/附录A-4 立项评审报告2.doc differ diff --git a/DocumentPreview/附录B-1 结项申请书1.doc b/DocumentPreview/附录B-1 结项申请书1.doc new file mode 100644 index 0000000..accd6f9 Binary files /dev/null and b/DocumentPreview/附录B-1 结项申请书1.doc differ diff --git a/DocumentPreview/附录B-2 结项评审报告1.doc b/DocumentPreview/附录B-2 结项评审报告1.doc new file mode 100644 index 0000000..7653588 Binary files /dev/null and b/DocumentPreview/附录B-2 结项评审报告1.doc differ diff --git a/DocumentPreview/附录C-1 项目估计表1.doc b/DocumentPreview/附录C-1 项目估计表1.doc new file mode 100644 index 0000000..95b9c92 Binary files /dev/null and b/DocumentPreview/附录C-1 项目估计表1.doc differ diff --git a/DocumentPreview/附录C-2 项目计划1.doc b/DocumentPreview/附录C-2 项目计划1.doc new file mode 100644 index 0000000..650ca5a Binary files /dev/null and b/DocumentPreview/附录C-2 项目计划1.doc differ diff --git a/DocumentPreview/附录C-3 项目计划变更控制报告1.doc b/DocumentPreview/附录C-3 项目计划变更控制报告1.doc new file mode 100644 index 0000000..e4245be Binary files /dev/null and b/DocumentPreview/附录C-3 项目计划变更控制报告1.doc differ diff --git a/DocumentPreview/附录D-1 项目监控数据表1.doc b/DocumentPreview/附录D-1 项目监控数据表1.doc new file mode 100644 index 0000000..6fa18a4 Binary files /dev/null and b/DocumentPreview/附录D-1 项目监控数据表1.doc differ diff --git a/DocumentPreview/附录D-2 项目偏差控制报告1.doc b/DocumentPreview/附录D-2 项目偏差控制报告1.doc new file mode 100644 index 0000000..ac5227b Binary files /dev/null and b/DocumentPreview/附录D-2 项目偏差控制报告1.doc differ diff --git a/DocumentPreview/附录D-3 项目进展报告1.doc b/DocumentPreview/附录D-3 项目进展报告1.doc new file mode 100644 index 0000000..ea55f7a Binary files /dev/null and b/DocumentPreview/附录D-3 项目进展报告1.doc differ diff --git a/DocumentPreview/附录E-1 风险检查表1.doc b/DocumentPreview/附录E-1 风险检查表1.doc new file mode 100644 index 0000000..312ed10 Binary files /dev/null and b/DocumentPreview/附录E-1 风险检查表1.doc differ diff --git a/DocumentPreview/附录E-2 风险管理报告1.doc b/DocumentPreview/附录E-2 风险管理报告1.doc new file mode 100644 index 0000000..c55a7f5 Binary files /dev/null and b/DocumentPreview/附录E-2 风险管理报告1.doc differ diff --git a/DocumentPreview/附录F-1 需求跟踪报告1.doc b/DocumentPreview/附录F-1 需求跟踪报告1.doc new file mode 100644 index 0000000..3f35be7 Binary files /dev/null and b/DocumentPreview/附录F-1 需求跟踪报告1.doc differ diff --git a/DocumentPreview/附录F-2 数据库设计变更控制报告1.doc b/DocumentPreview/附录F-2 数据库设计变更控制报告1.doc new file mode 100644 index 0000000..53a5b33 Binary files /dev/null and b/DocumentPreview/附录F-2 数据库设计变更控制报告1.doc differ diff --git a/DocumentPreview/附录F-2 需求变更控制报告1.doc b/DocumentPreview/附录F-2 需求变更控制报告1.doc new file mode 100644 index 0000000..8bfa612 Binary files /dev/null and b/DocumentPreview/附录F-2 需求变更控制报告1.doc differ diff --git a/DocumentPreview/附录G-1 用户需求说明书.doc b/DocumentPreview/附录G-1 用户需求说明书.doc new file mode 100644 index 0000000..35e973b Binary files /dev/null and b/DocumentPreview/附录G-1 用户需求说明书.doc differ diff --git a/DocumentPreview/附录G-2 产品需求规格说明书.doc b/DocumentPreview/附录G-2 产品需求规格说明书.doc new file mode 100644 index 0000000..d9abe3c Binary files /dev/null and b/DocumentPreview/附录G-2 产品需求规格说明书.doc differ diff --git a/DocumentPreview/附录H-1 技术预研计划.doc b/DocumentPreview/附录H-1 技术预研计划.doc new file mode 100644 index 0000000..824da82 Binary files /dev/null and b/DocumentPreview/附录H-1 技术预研计划.doc differ diff --git a/DocumentPreview/附录H-2 技术预研报告.doc b/DocumentPreview/附录H-2 技术预研报告.doc new file mode 100644 index 0000000..2bddb92 Binary files /dev/null and b/DocumentPreview/附录H-2 技术预研报告.doc differ diff --git a/DocumentPreview/附录I-1 体系结构设计报告.doc b/DocumentPreview/附录I-1 体系结构设计报告.doc new file mode 100644 index 0000000..3e0b6f0 Binary files /dev/null and b/DocumentPreview/附录I-1 体系结构设计报告.doc differ diff --git a/DocumentPreview/附录I-2 用户界面设计.doc b/DocumentPreview/附录I-2 用户界面设计.doc new file mode 100644 index 0000000..17acc0f Binary files /dev/null and b/DocumentPreview/附录I-2 用户界面设计.doc differ diff --git a/DocumentPreview/附录I-3 数据库设计报告.doc b/DocumentPreview/附录I-3 数据库设计报告.doc new file mode 100644 index 0000000..aab2e6a Binary files /dev/null and b/DocumentPreview/附录I-3 数据库设计报告.doc differ diff --git a/DocumentPreview/附录I-4 模块设计报告.doc b/DocumentPreview/附录I-4 模块设计报告.doc new file mode 100644 index 0000000..9950339 Binary files /dev/null and b/DocumentPreview/附录I-4 模块设计报告.doc differ diff --git a/DocumentPreview/附录J-1 实现与测试计划.doc b/DocumentPreview/附录J-1 实现与测试计划.doc new file mode 100644 index 0000000..1a69466 Binary files /dev/null and b/DocumentPreview/附录J-1 实现与测试计划.doc differ diff --git a/DocumentPreview/附录J-2 编程文档.doc b/DocumentPreview/附录J-2 编程文档.doc new file mode 100644 index 0000000..b548dc7 Binary files /dev/null and b/DocumentPreview/附录J-2 编程文档.doc differ diff --git a/DocumentPreview/附录K-1 系统测试计划.doc b/DocumentPreview/附录K-1 系统测试计划.doc new file mode 100644 index 0000000..875f4d2 Binary files /dev/null and b/DocumentPreview/附录K-1 系统测试计划.doc differ diff --git a/DocumentPreview/附录K-2 测试用例.doc b/DocumentPreview/附录K-2 测试用例.doc new file mode 100644 index 0000000..5c8912c Binary files /dev/null and b/DocumentPreview/附录K-2 测试用例.doc differ diff --git a/DocumentPreview/附录K-3 测试报告.doc b/DocumentPreview/附录K-3 测试报告.doc new file mode 100644 index 0000000..31fe9f3 Binary files /dev/null and b/DocumentPreview/附录K-3 测试报告.doc differ diff --git a/DocumentPreview/附录L-1 Beta测试协议.doc b/DocumentPreview/附录L-1 Beta测试协议.doc new file mode 100644 index 0000000..238fe93 Binary files /dev/null and b/DocumentPreview/附录L-1 Beta测试协议.doc differ diff --git a/DocumentPreview/附录L-2 Beta测试报告.doc b/DocumentPreview/附录L-2 Beta测试报告.doc new file mode 100644 index 0000000..9319d94 Binary files /dev/null and b/DocumentPreview/附录L-2 Beta测试报告.doc differ diff --git a/DocumentPreview/附录M-1 客户验收计划.doc b/DocumentPreview/附录M-1 客户验收计划.doc new file mode 100644 index 0000000..1dd20c6 Binary files /dev/null and b/DocumentPreview/附录M-1 客户验收计划.doc differ diff --git a/DocumentPreview/附录M-2 客户验收报告.doc b/DocumentPreview/附录M-2 客户验收报告.doc new file mode 100644 index 0000000..3b78ed8 Binary files /dev/null and b/DocumentPreview/附录M-2 客户验收报告.doc differ diff --git a/DocumentPreview/附录N-1 技术评审计划.doc b/DocumentPreview/附录N-1 技术评审计划.doc new file mode 100644 index 0000000..844ae20 Binary files /dev/null and b/DocumentPreview/附录N-1 技术评审计划.doc differ diff --git a/DocumentPreview/附录N-2 技术评审通知.doc b/DocumentPreview/附录N-2 技术评审通知.doc new file mode 100644 index 0000000..4818d12 Binary files /dev/null and b/DocumentPreview/附录N-2 技术评审通知.doc differ diff --git a/DocumentPreview/附录N-3 技术评审报告.doc b/DocumentPreview/附录N-3 技术评审报告.doc new file mode 100644 index 0000000..f138358 Binary files /dev/null and b/DocumentPreview/附录N-3 技术评审报告.doc differ diff --git a/DocumentPreview/附录N-4 技术评审检查表.doc b/DocumentPreview/附录N-4 技术评审检查表.doc new file mode 100644 index 0000000..242dae4 Binary files /dev/null and b/DocumentPreview/附录N-4 技术评审检查表.doc differ diff --git a/DocumentPreview/附录O-1 配置管理计划.doc b/DocumentPreview/附录O-1 配置管理计划.doc new file mode 100644 index 0000000..08839ed Binary files /dev/null and b/DocumentPreview/附录O-1 配置管理计划.doc differ diff --git a/DocumentPreview/附录O-2 配置库管理报告.doc b/DocumentPreview/附录O-2 配置库管理报告.doc new file mode 100644 index 0000000..0a7cbb2 Binary files /dev/null and b/DocumentPreview/附录O-2 配置库管理报告.doc differ diff --git a/DocumentPreview/附录O-3 配置项变更控制报告.doc b/DocumentPreview/附录O-3 配置项变更控制报告.doc new file mode 100644 index 0000000..9667074 Binary files /dev/null and b/DocumentPreview/附录O-3 配置项变更控制报告.doc differ diff --git a/DocumentPreview/附录P-1 质量保证计划.doc b/DocumentPreview/附录P-1 质量保证计划.doc new file mode 100644 index 0000000..c200b02 Binary files /dev/null and b/DocumentPreview/附录P-1 质量保证计划.doc differ diff --git a/DocumentPreview/附录P-2 质量保证检查表.doc b/DocumentPreview/附录P-2 质量保证检查表.doc new file mode 100644 index 0000000..5f79eb3 Binary files /dev/null and b/DocumentPreview/附录P-2 质量保证检查表.doc differ diff --git a/DocumentPreview/附录P-3 质量保证报告.doc b/DocumentPreview/附录P-3 质量保证报告.doc new file mode 100644 index 0000000..2e71604 Binary files /dev/null and b/DocumentPreview/附录P-3 质量保证报告.doc differ diff --git a/DocumentPreview/附录P-4 质量问题跟踪表.doc b/DocumentPreview/附录P-4 质量问题跟踪表.doc new file mode 100644 index 0000000..ff643f8 Binary files /dev/null and b/DocumentPreview/附录P-4 质量问题跟踪表.doc differ diff --git a/DocumentPreview/附录Q-1 外包开发竞标邀请书.doc b/DocumentPreview/附录Q-1 外包开发竞标邀请书.doc new file mode 100644 index 0000000..adadd87 Binary files /dev/null and b/DocumentPreview/附录Q-1 外包开发竞标邀请书.doc differ diff --git a/DocumentPreview/附录Q-2 承包商评估报告.doc b/DocumentPreview/附录Q-2 承包商评估报告.doc new file mode 100644 index 0000000..8ccb47e Binary files /dev/null and b/DocumentPreview/附录Q-2 承包商评估报告.doc differ diff --git a/DocumentPreview/附录Q-3 外包开发合同.doc b/DocumentPreview/附录Q-3 外包开发合同.doc new file mode 100644 index 0000000..0c3d2e1 Binary files /dev/null and b/DocumentPreview/附录Q-3 外包开发合同.doc differ diff --git a/DocumentPreview/附录Q-4 外包开发过程监控报告.doc b/DocumentPreview/附录Q-4 外包开发过程监控报告.doc new file mode 100644 index 0000000..68a7076 Binary files /dev/null and b/DocumentPreview/附录Q-4 外包开发过程监控报告.doc differ diff --git a/DocumentPreview/附录Q-5 外包开发成果验收报告.doc b/DocumentPreview/附录Q-5 外包开发成果验收报告.doc new file mode 100644 index 0000000..a235c14 Binary files /dev/null and b/DocumentPreview/附录Q-5 外包开发成果验收报告.doc differ diff --git a/DocumentPreview/附录Q-6 采购竞标邀请书.doc b/DocumentPreview/附录Q-6 采购竞标邀请书.doc new file mode 100644 index 0000000..095c1b7 Binary files /dev/null and b/DocumentPreview/附录Q-6 采购竞标邀请书.doc differ diff --git a/DocumentPreview/附录Q-7 供应商评估报告.doc b/DocumentPreview/附录Q-7 供应商评估报告.doc new file mode 100644 index 0000000..8100ed3 Binary files /dev/null and b/DocumentPreview/附录Q-7 供应商评估报告.doc differ diff --git a/DocumentPreview/附录Q-8 采购合同.doc b/DocumentPreview/附录Q-8 采购合同.doc new file mode 100644 index 0000000..e52a7c1 Binary files /dev/null and b/DocumentPreview/附录Q-8 采购合同.doc differ diff --git a/DocumentPreview/附录Q-9 采购物品验收报告.doc b/DocumentPreview/附录Q-9 采购物品验收报告.doc new file mode 100644 index 0000000..ac12ebc Binary files /dev/null and b/DocumentPreview/附录Q-9 采购物品验收报告.doc differ diff --git a/DocumentPreview/附录R-1 培训计划.doc b/DocumentPreview/附录R-1 培训计划.doc new file mode 100644 index 0000000..6d670f4 Binary files /dev/null and b/DocumentPreview/附录R-1 培训计划.doc differ diff --git a/DocumentPreview/附录R-2 培训通知.doc b/DocumentPreview/附录R-2 培训通知.doc new file mode 100644 index 0000000..31f87fd Binary files /dev/null and b/DocumentPreview/附录R-2 培训通知.doc differ diff --git a/DocumentPreview/附录R-3 培训评估报告.doc b/DocumentPreview/附录R-3 培训评估报告.doc new file mode 100644 index 0000000..bae61d3 Binary files /dev/null and b/DocumentPreview/附录R-3 培训评估报告.doc differ diff --git a/DocumentPreview/附录S-1 客户服务计划.doc b/DocumentPreview/附录S-1 客户服务计划.doc new file mode 100644 index 0000000..69292a5 Binary files /dev/null and b/DocumentPreview/附录S-1 客户服务计划.doc differ diff --git a/DocumentPreview/附录S-2 客户服务报告.doc b/DocumentPreview/附录S-2 客户服务报告.doc new file mode 100644 index 0000000..cc2694c Binary files /dev/null and b/DocumentPreview/附录S-2 客户服务报告.doc differ diff --git a/DocumentPreview/附录S-3 产品维护计划.doc b/DocumentPreview/附录S-3 产品维护计划.doc new file mode 100644 index 0000000..d98ff26 Binary files /dev/null and b/DocumentPreview/附录S-3 产品维护计划.doc differ diff --git a/DocumentPreview/附录S-4 产品维护报告.doc b/DocumentPreview/附录S-4 产品维护报告.doc new file mode 100644 index 0000000..aedf012 Binary files /dev/null and b/DocumentPreview/附录S-4 产品维护报告.doc differ diff --git a/DocumentPreview/需求分析说明书1.doc b/DocumentPreview/需求分析说明书1.doc new file mode 100644 index 0000000..742b7a8 Binary files /dev/null and b/DocumentPreview/需求分析说明书1.doc differ diff --git a/DocumentPreview/需求分析阶段--数据要求说明书.doc b/DocumentPreview/需求分析阶段--数据要求说明书.doc new file mode 100644 index 0000000..02430a2 Binary files /dev/null and b/DocumentPreview/需求分析阶段--数据要求说明书.doc differ diff --git a/DocumentPreview/需求分析阶段--用户手册概要.doc b/DocumentPreview/需求分析阶段--用户手册概要.doc new file mode 100644 index 0000000..9c7499c Binary files /dev/null and b/DocumentPreview/需求分析阶段--用户手册概要.doc differ diff --git a/DocumentPreview/需求分析阶段--需求说明书.doc b/DocumentPreview/需求分析阶段--需求说明书.doc new file mode 100644 index 0000000..381d787 Binary files /dev/null and b/DocumentPreview/需求分析阶段--需求说明书.doc differ diff --git a/DocumentPreview/需求说明.doc b/DocumentPreview/需求说明.doc new file mode 100644 index 0000000..60375f9 Binary files /dev/null and b/DocumentPreview/需求说明.doc differ diff --git a/DocumentPreview/项目开发计划1.doc b/DocumentPreview/项目开发计划1.doc new file mode 100644 index 0000000..ea7aef8 Binary files /dev/null and b/DocumentPreview/项目开发计划1.doc differ diff --git a/EmailFile/邮件文件.txt b/EmailFile/邮件文件.txt new file mode 100644 index 0000000..e69de29 diff --git a/IMContentFile/IM内容.txt b/IMContentFile/IM内容.txt new file mode 100644 index 0000000..e69de29 diff --git a/Language/java/en.json b/Language/java/en.json new file mode 100644 index 0000000..bc4a6a3 --- /dev/null +++ b/Language/java/en.json @@ -0,0 +1,757 @@ +{ + "common": { + "okText": "OK", + "continueText": "OK & Continue", + "continueAndAddText": "OK & Add", + "closeText": "Close", + "cancelText": "Cancel", + "loadingText": "Loading...", + "saveText": "Save", + "delText": "Delete", + "resetText": "Reset", + "searchText": "Search", + "queryText": "Search", + "addText": "Add", + "add1Text": "Add", + "add2Text": "Add", + "editText": "Edit", + "detailText": "Detail", + "moreText": "More", + "exportText": "Export", + "importText": "Import", + "copyText": "Copy", + "printText": "Print", + "batchPrintText": "Batch Print", + "batchDelText": "Batch Delete", + "previewText": "Preview", + "submitText": "Submit", + "syncText": "Sync", + "cleanText": "Clean Up", + "closeList": "Close List", + "inputText": "Please enter", + "chooseText": "Please select", + "inputTextPrefix": "Please enter ", + "chooseTextPrefix": "Please select ", + "redo": "Refresh", + "back": "Back", + "expandAll": "Expand All", + "collapseAll": "Collapse All", + "superQuery": "Super Query", + "light": "Light", + "dark": "Dark", + "tipTitle": "Tips", + "delTip": "This operation will permanently delete the data. Do you want to continue?", + "selectDataTip": "Please select a piece of data", + "prev": "Prev", + "next": "Next", + "prevRecord": "Prev", + "nextRecord": "Next", + "keyword": "Keyword", + "enterKeyword": "Please Enter", + "leftTreeSearchText": "Enter Keyword", + "drawerSearchText": "Please Enter Keyword", + "inputPlaceholder": "Please enter", + "selectPlaceholder": "Please select", + "selectI18nCode": "Select translation markers", + "undoText": "undo", + "redoText": "redo", + "noData": "No Data" + }, + "component": { + "app": { + "searchNotData": "No search results yet", + "toSearch": "to search", + "toNavigate": "to navigate" + }, + "countdown": { + "normalText": "Get SMS code", + "sendText": "Reacquire in {0}s" + }, + "cropper": { + "selectImage": "Select Image", + "uploadSuccess": "Uploaded success!", + "modalTitle": "Avatar upload", + "okText": "Confirm and upload", + "btn_reset": "Reset", + "btn_rotate_left": "Counterclockwise rotation", + "btn_rotate_right": "Clockwise rotation", + "btn_scale_x": "Flip horizontal", + "btn_scale_y": "Flip vertical", + "btn_zoom_in": "Zoom in", + "btn_zoom_out": "Zoom out", + "preview": "Preivew" + }, + "drawer": { + "loadingText": "Loading...", + "cancelText": "Close", + "okText": "Confirm" + }, + "excel": { + "exportModalTitle": "Export data", + "fileType": "File type", + "fileName": "File name" + }, + "form": { + "fold": "Fold", + "unfold": "Unfold", + "maxTip": "The number of characters should be less than {0}", + "apiSelectNotFound": "Wait for data loading to complete..." + }, + "icon": { + "placeholder": "Click the select icon", + "search": "Search icon", + "copy": "Copy icon successfully!" + }, + "menu": { + "search": "Menu search" + }, + "modal": { + "cancelText": "Close", + "okText": "Confirm", + "close": "Close", + "maximize": "Maximize", + "restore": "Restore" + }, + "table": { + "settingDens": "Density", + "settingDensDefault": "Default", + "settingDensMiddle": "Middle", + "settingDensSmall": "Compact", + "settingColumn": "Column settings", + "settingColumnShow": "Column display", + "settingIndexColumnShow": "Index Column", + "settingSelectColumnShow": "Selection Column", + "settingFixedLeft": "Fixed Left", + "settingFixedRight": "Fixed Right", + "settingFullScreen": "Full Screen", + "index": "No.", + "status": "Status", + "action": "Action", + "summary": "Total", + "total": "total of {total}" + }, + "time": { + "before": " ago", + "after": " after", + "just": "just now", + "seconds": " seconds", + "minutes": " minutes", + "hours": " hours", + "days": " days" + }, + "tree": { + "reload": "Reload", + "selectAll": "Select All", + "unSelectAll": "Cancel Select", + "expandAll": "Expand All", + "unExpandAll": "Collapse all", + "checkStrictly": "Hierarchical association", + "checkUnStrictly": "Hierarchical independence" + }, + "upload": { + "save": "Save", + "upload": "Upload", + "buttonText": "Upload", + "imgUpload": "ImageUpload", + "uploaded": "Uploaded", + "operating": "Operating", + "del": "Delete", + "download": "Download", + "downloadAll": "Download all", + "saveWarn": "Please wait for the file to upload and save!", + "saveError": "There is no file successfully uploaded and cannot be saved!", + "preview": "Preview", + "choose": "Select the file", + "accept": "Support {0} format", + "acceptUpload": "Only upload files in {0} format", + "maxSize": "A single file does not exceed {0}MB ", + "maxSizeMultiple": "Only upload files up to {0}MB!", + "maxNumber": "Only upload up to {0} files", + "legend": "Legend", + "fileName": "File name", + "fileSize": "File size", + "fileStatue": "File status", + "startUpload": "Start upload", + "uploadSuccess": "Upload successfully", + "uploadError": "Upload failed", + "uploading": "Uploading", + "paused": "Paused", + "waiting": "Waiting", + "checking": "Checking", + "uploadWait": "Please wait for the file upload to finish", + "reUploadFailed": "Re-upload failed files", + "uploadImg": "Please upload Image", + "viewImage": "View Image", + "view": "View", + "imageMaxNumber": "Up to {0} images can be uploaded", + "imageMaxSize": "Image size exceeds {size}{unit}", + "fileMaxNumber": "Up to {0} files can be uploaded", + "fileMaxSize": "File size exceeds {size}{unit}", + "fileTypeCheck": "Please select a file of {0} type", + "fileReadError": "File {0} reading error, please check the file", + "videoNoPreview": "Audio and video files cannot be previewed", + "zipNoPreview": "Compressed package cannot be previewed", + "image": "image", + "video": "video", + "audio": "audio" + }, + "verify": { + "error": "verification failed!", + "time": "The verification is successful and it takes {time} seconds!", + "redoTip": "Click the picture to refresh", + "dragText": "Hold down the slider and drag", + "successText": "Verified" + }, + "com.zero": { + "common": { + "allData": "All data", + "selected": "Selected", + "clearAll": "Clear all", + "autoGenerate": "Automatically generated by the system" + }, + "areaSelect": { + "modalTitle": "Select area" + }, + "calculate": { + "storage": "The data will also be saved and stored in the database", + "unStorage": "The data will not be saved" + }, + "dateRange": { + "startPlaceholder": "Start date", + "endPlaceholder": "End date" + }, + "timeRange": { + "startPlaceholder": "Start time", + "endPlaceholder": "End time" + }, + "iconPicker": { + "select": "Select", + "modalTitle": "Select icon", + "searchPlaceholder": "Please Enter Keyword", + "ymIcon": "ymIcon icon", + "ymCustom": "ymCustom icon" + }, + "location": { + "modalTitle": "Select position", + "searchPlaceholder": "Enter or click to select on the map", + "relocation": "Relocation", + "location": "Location" + }, + "numberRange": { + "min": "Min", + "max": "Max" + }, + "organizeSelect": { + "modalTitle": "Select organize" + }, + "depSelect": { + "modalTitle": "Select department" + }, + "posSelect": { + "modalTitle": "Select position" + }, + "roleSelect": { + "modalTitle": "Select role" + }, + "groupSelect": { + "modalTitle": "Select group" + }, + "userSelect": { + "modalTitle": "Select user" + }, + "popupAttr": { + "storage": "The data will also be saved and stored in the database", + "unStorage": "The data will not be saved" + }, + "popupSelect": { + "modalTitle": "Select data" + }, + "relationFormAttr": { + "storage": "The data will also be saved and stored in the database", + "unStorage": "The data will not be saved" + }, + "sign": { + "signTip": "signature", + "signPlaceholder": "Please signature", + "operateTip": "Please use the mouse to handwrite your signature in this area" + } + } + }, + "layout": { + "footer": { + "onlinePreview": "Preview", + "onlineDocument": "Document" + }, + "header": { + "dropdownItemDoc": "Document", + "dropdownItemLoginOut": "Login Out", + "systemChange": "Toggle App", + "standingChange": "Toggle Standing", + "profile": "Profile", + "feedback": "Feedback", + "about": "About", + "statement": "Statement", + "commonMenus": "Common Menus", + "tooltipErrorLog": "Error log", + "tooltipLock": "Lock screen", + "tooltipNotify": "Notification", + "tooltipChat": "Chat", + "tooltipEntryFull": "Full Screen", + "tooltipExitFull": "Exit Full Screen", + "setting": "Setting", + "lockScreenPassword": "Lock screen password", + "lockScreen": "Lock screen", + "lockScreenBtn": "Locking", + "home": "Home" + }, + "multipleTab": { + "setCommon": "Set Common", + "reload": "Refresh current", + "close": "Close current", + "closeLeft": "Close Left", + "closeRight": "Close Right", + "closeOther": "Close Other", + "closeAll": "Close All" + }, + "setting": { + "contentModeFull": "Full", + "contentModeFixed": "Fixed width", + "topMenuAlignLeft": "Left", + "topMenuAlignRight": "Center", + "topMenuAlignCenter": "Right", + "menuTriggerNone": "Not Show", + "menuTriggerBottom": "Bottom", + "menuTriggerTop": "Top", + "menuTypeSidebar": "Left menu mode", + "menuTypeMixSidebar": "Left mixed mode", + "menuTypeMix": "Top Mix mode", + "menuTypeTopMenu": "Top menu mode", + "defaultBg": "Default", + "blueBg": "Blue", + "purpleBg": "Purple", + "greenBg": "Green", + "on": "On", + "off": "Off", + "minute": "Minute", + "operatingTitle": "Successful!", + "operatingContent": "The copy is successful, please go to src/settings/projectSetting.ts to modify the configuration!", + "resetSuccess": "Successfully reset!", + "copyBtn": "Copy", + "clearBtn": "Clear cache and to the login page", + "drawerTitle": "Configuration", + "darkMode": "Dark mode", + "navMode": "Navigation mode", + "systemBackground": "System background", + "interfaceFunction": "Interface function", + "interfaceDisplay": "Interface display", + "animation": "Animation", + "splitMenu": "Split menu", + "closeMixSidebarOnChange": "Switch page to close menu", + "sysTheme": "System theme", + "headerTheme": "Header theme", + "sidebarTheme": "Menu theme", + "menuDrag": "Drag Sidebar", + "menuSearch": "Menu search", + "toggleLocale": "Locale Toggle", + "menuAccordion": "Sidebar accordion", + "menuCollapse": "Collapse menu", + "collapseMenuDisplayName": "Collapse menu display name", + "topMenuLayout": "Top menu layout", + "menuCollapseButton": "Menu collapse button", + "contentMode": "Content area width", + "expandedMenuWidth": "Expanded menu width", + "breadcrumb": "Breadcrumbs", + "breadcrumbIcon": "Breadcrumbs Icon", + "tabs": "Tabs", + "tabsIcon": "Tabs Icon", + "tabDetail": "Tab Detail", + "tabsQuickBtn": "Tabs quick button", + "tabsRedoBtn": "Tabs redo button", + "tabsFoldBtn": "Tabs flod button", + "sidebar": "Sidebar", + "header": "Header", + "footer": "Footer", + "fullContent": "Full content", + "grayMode": "Gray mode", + "colorWeak": "Color Weak Mode", + "cachePage": "Cache Page", + "progress": "Progress", + "switchLoading": "Switch Loading", + "switchAnimation": "Switch animation", + "animationType": "Animation type", + "autoScreenLock": "Auto screen lock", + "notAutoScreenLock": "Not auto lock", + "fixedHeader": "Fixed header", + "fixedSideBar": "Fixed Sidebar", + "mixSidebarTrigger": "Mixed menu Trigger", + "triggerHover": "Hover", + "triggerClick": "Click", + "mixSidebarFixed": "Fixed expanded menu" + } + }, + "routes": { + "basic": { + "login": "Login", + "errorLogList": "Error Log", + "home": "Home", + "externalLink": "ExternalLink", + "workFlowDetail": "WorkFlow Detail", + "emailDetail": "Email Detail", + "previewModel": "Model Preview" + }, + "mainSystem": "MainSystem", + "workSystem": "WorkSystem", + "onlineDev": "OnlineDev", + "onlineDev-webDesign": "FormDesign", + "onlineDev-appDesign": "APPDesign", + "onlineDev-dataReport": "DataReport", + "onlineDev-dataScreen": "DataScreen", + "onlineDev-visualPortal": "VisualPortal", + "onlineDev-integration": "Integration", + "onlineDev-printDev": "PrintDesign", + "generator": "Generator", + "generator-webForm": "WebForm", + "generator-appForm": "AppForm", + "generator-flowForm": "FlowForm", + "system": "System", + "system-sysConfig": "SysConfig", + "system-notice": "Notice", + "system-task": "Task", + "system-cache": "CacheManage", + "system-log": "Log", + "system-monitor": "Monitor", + "system-icons": "Icons", + "system-language": "Language", + "system-menu": "Menu", + "system-area": "Area", + "system-billRule": "BillRule", + "system-systemTemplate": "SystemTemplate", + "system-smsTemplate": "SmsTemplate", + "system-messageTemplate": "MessageTemplate", + "system-signature": "Signature", + "systemData": "SystemData", + "systemData-dataSource": "DataSource", + "systemData-dataModel": "DataModel", + "systemData-dataSync": "DataSync", + "systemData-dataBackup": "DataBackup", + "systemData-dataInterface": "DataInterface", + "systemData-interfaceAuth": "InterfaceAuth", + "systemData-dictionary": "Dictionary", + "systemData-map": "Map", + "commonWords": "CommonWords", + "weChat": "WeChat", + "weChat-mpConfig": "MPConfig", + "weChat-mpMenu": "MPMenu", + "weChat-mpUser": "MPUser", + "weChat-mpMessage": "MPMessage", + "weChat-mpMaterial": "MPMaterial", + "weChat-qyhConfig": "QYHConfig", + "weChat-qyDepartment": "QYDepartment", + "weChat-qyUser": "QYUser", + "weChat-qyMessage": "QYMessage", + "permission": "Permission", + "permission-grade": "Grade", + "permission-organize": "Organize", + "permission-department": "Department", + "permission-position": "Position", + "permission-user": "User", + "permission-role": "Role", + "permission-group": "Group", + "permission-authorize": "AuthGroup", + "permission-auth": "Authorize", + "permission-userOnline": "UserOnline", + "flowEngine": "FlowEngine", + "formDesign": "SystemForm", + "workFlow": "WorkFlow", + "workFlow-form": "Form", + "workFlow-flowEngine": "FlowDesign", + "workFlow-addFlow": "AddFlow", + "workFlow-flowLaunch": "FlowLaunch", + "workFlow-flowToSign": "FlowToSign", + "workFlow-flowTodo": "FlowTodo", + "workFlow-flowDoing": "FlowDoing", + "workFlow-flowDone": "FlowDone", + "workFlow-flowCirculate": "FlowCirculate", + "workFlow-entrust": "Entrust", + "workFlow-flowMonitor": "FlowMonitor", + "workFlow-schedule": "Schedule", + "workFlow-document": "Document", + "msgCenter": "MsgCenter", + "msgCenter-accountConfig": "AccountConfig", + "msgCenter-accountConfig-mail": "Mail", + "msgCenter-accountConfig-shortMsg": "ShortMsg", + "msgCenter-accountConfig-weCom": "WeCom", + "msgCenter-accountConfig-ding": "DingTalk", + "msgCenter-accountConfig-webhook": "Webhook", + "msgCenter-accountConfig-mp": "MP", + "msgCenter-msgTemplate": "MsgTemplate", + "msgCenter-sendConfig": "SendConfig", + "msgCenter-msgMonitor": "MsgMonitor", + "extend-graphDemo": "Graph Demo", + "extend-graphDemo-echartsBar": "E-Bar", + "extend-graphDemo-echartsPie": "E-Pie", + "extend-graphDemo-echartsBarAcross": "E-BarAcross", + "extend-graphDemo-echartsGauge": "E-Gauge", + "extend-graphDemo-echartsLineArea": "E-LineArea", + "extend-graphDemo-echartsScatter": "E-Scatter", + "extend-graphDemo-echartsCandlestick": "E-Candlestick", + "extend-graphDemo-echartsLineBar": "E-LineBar", + "extend-graphDemo-echartsTree": "E-Tree", + "extend-graphDemo-echartsFunnel": "E-Funnel", + "extend-graphDemo-highchartsScatter": "H-Scatter", + "extend-graphDemo-highchartsWordcloud": "H-Wordcloud", + "extend-graphDemo-highchartsLine": "H-Line", + "extend-graphDemo-highchartsArea": "H-Area", + "extend-graphDemo-highchartsGauge": "H-Gauge", + "extend-graphDemo-highchartsBellcurve": "H-Bellcurve", + "extend-graphDemo-highchartsFunnel": "H-Funnel", + "extend-graphDemo-highchartsBullet": "H-Bullet", + "extend-graphDemo-highchartsColumn": "H-Column", + "extend-graphDemo-highchartsPie": "H-Pie", + "extend-tableDemo": "Table Demo", + "extend-tableDemo-commonTable": "CommonTable", + "extend-tableDemo-statisticsTable": "StatisticsTable", + "extend-tableDemo-lockTable": "LockTable", + "extend-tableDemo-groupingTable": "GroupingTable", + "extend-tableDemo-redactTable": "RedactTable", + "extend-tableDemo-complexHeader": "ComplexHeader", + "extend-tableDemo-mergeTable": "MergeTable", + "extend-tableDemo-printTable": "PrintTable", + "extend-tableDemo-extension": "Extension", + "extend-tableDemo-treeTable": "TreeTable", + "extend-tableDemo-postilTable": "PostilTable", + "extend-tableDemo-tableTree": "TableTree", + "extend-tableDemo-signTable": "SignTable", + "extend-formDemo": "Form Demo", + "extend-formDemo-verifyForm": "VerifyForm", + "extend-formDemo-verifyForm1": "VerifyForm1", + "extend-formDemo-fieldForm1": "FieldForm1", + "extend-formDemo-fieldForm2": "FieldForm2", + "extend-formDemo-fieldForm3": "FieldForm3", + "extend-formDemo-fieldForm4": "FieldForm4", + "extend-formDemo-fieldForm5": "FieldForm5", + "extend-formDemo-fieldForm6": "FieldForm6", + "extend": "Examples", + "extend-functionDemo": "Function Demo", + "extend-portalDemo": "Portal Demo", + "extend-orderDemo": "Order Demo", + "extend-bigData": "BigData", + "extend-importAndExport": "ImportAndExport", + "extend-signet": "Signet", + "extend-signature": "Signature", + "extend-schedule": "Schedule", + "extend-email": "Email", + "extend-documentPreview": "Document Demo", + "extend-barCode": "BarCode", + "extend-printData": "PrintData", + "extend-map": "Map", + "extend-order": "Order", + "extend-projectGantt": "ProjectGantt", + "moreMenu": "More...", + "dataReport": "DataReport Demo", + "reportBI": "ReportBI Demo" + }, + "sys": { + "api": { + "operationFailed": "Operation failed", + "errorTip": "Error Tip", + "errorMessage": "The operation failed, the system is abnormal!", + "timeoutMessage": "Login timed out, please log in again!", + "apiTimeoutMessage": "The interface request timed out, please refresh the page and try again!", + "apiRequestFailed": "The interface request failed, please try again later!", + "networkException": "network anomaly", + "networkExceptionMsg": "Please check if your network connection is normal! The network is abnormal", + "errMsg401": "The user does not have permission (token, user name, password error)!", + "errMsg403": "The user is authorized, but access is forbidden!", + "errMsg404": "Network request error, the resource was not found!", + "errMsg405": "Network request error, request method not allowed!", + "errMsg408": "Network request timed out!", + "errMsg500": "Server error, please contact the administrator!", + "errMsg501": "The network is not implemented!", + "errMsg502": "Network Error!", + "errMsg503": "The service is unavailable, the server is temporarily overloaded or maintained!", + "errMsg504": "Network timeout!", + "errMsg505": "The http version does not support the request!" + }, + "app": { + "logoutTip": "Reminder", + "logoutMessage": "Confirm to exit the system?", + "menuLoading": "Menu loading..." + }, + "validate": { + "textRequiredSuffix": " cannot be empty", + "arrayRequiredPrefix": "Please select at least one ", + "number": "Please enter the correct number", + "money": "Please enter the correct amount", + "telephone": "Please enter the correct telephone number", + "mobilePhone": "Please enter the correct mobile phone number", + "phone": "Please enter the correct phone number", + "email": "Please enter the correct email address", + "url": "Please enter the correct website address", + "date": "Please enter the correct date", + "idCard": "Please enter the correct ID number" + }, + "errorLog": { + "tableTitle": "Error log list", + "tableColumnType": "Type", + "tableColumnDate": "Time", + "tableColumnFile": "File", + "tableColumnMsg": "Error message", + "tableColumnStackMsg": "Stack info", + "tableActionDesc": "Details", + "modalTitle": "Error details", + "fireVueError": "Fire vue error", + "fireResourceError": "Fire resource error", + "fireAjaxError": "Fire ajax error", + "enableMessage": "Only effective when useErrorHandle=true in `/src/settings/projectSetting.ts`." + }, + "exception": { + "backLogin": "Back Login", + "backHome": "Back Home", + "subTitle403": "Sorry, you don't have access to this page.", + "subTitle404": "Sorry, the page you visited does not exist.", + "subTitle500": "Sorry, the server is reporting an error.", + "noDataTitle": "No data on the current page.", + "networkErrorTitle": "Network Error", + "networkErrorSubTitle": "Sorry,Your network connection has been disconnected, please check your network!" + }, + "lock": { + "unlock": "Click to unlock", + "alert": "Lock screen password error", + "backToLogin": "Back to login", + "entry": "Enter the system", + "placeholder": "Please enter the user password" + }, + "login": { + "otherLogin": "Other login", + "backSignIn": "Back sign in", + "signInFormTitle": "Account Login", + "mobileSignInFormTitle": "Verify Code Login", + "qrSignInFormTitle": "APP Scan Login", + "signUpFormTitle": "Sign up", + "forgetFormTitle": "Reset password", + "qrCodeTip": "Please use the app to scan the code to login. The code will expire after 180 seconds.", + "signInTitle": "Backstage management system", + "signInDesc": "Enter your personal details and get started!", + "policy": "I agree to the xxx Privacy Policy", + "scanSign": "scanning the code to complete the login", + "loginButton": "Login", + "registerButton": "Sign up", + "rememberMe": "Remember me", + "forgetPassword": "Forget Password?", + "otherSignIn": "Sign in with", + "lastLoginInfo": "Last login information", + "accountPlaceholder": "Please input username", + "passwordPlaceholder": "Please input password", + "smsPlaceholder": "Please input sms code", + "mobilePlaceholder": "Please input mobile", + "policyPlaceholder": "Register after checking", + "diffPwd": "The two passwords are inconsistent", + "userName": "Username", + "confirmPassword": "Confirm Password", + "email": "Email", + "title": "Account Login", + "scanTitle": "APP Scan Login", + "codeTitle": "Verify Code Login", + "logIn": "Login", + "username": "Username", + "password": "Password", + "version": "V", + "upper": "Caps locked", + "scanTip": "APP Scan code login", + "accountTip": "Please enter the account number", + "passwordTip": "Please enter your password", + "codeTip": "Please enter your verification code", + "changeCode": "Click to switch verification code", + "mobile": "Please enter mobile number", + "rightMobile": "Please enter the correct mobile number", + "smsCode": "Please enter the verification code", + "getCode": "Get code", + "reSend": "Resend", + "company": "Please enter company name", + "contacts": "Please enter contact", + "rule": "Sub Account: mobile{'@'}account example:18577778888{'@'}101001", + "scanSuccessful": "Scanned", + "confirmLogin": "Confirm login on phone", + "refreshCode": "Refresh", + "recoverCode": "Cancel", + "expired": "Qrcode has expired" + } + }, + "formGenerator": { + "component": { + "input": "Input", + "textarea": "Textarea", + "inputNumber": "InputNumber", + "switch": "Switch", + "radio": "Radio", + "checkbox": "Checkbox", + "select": "Select", + "cascader": "Cascader", + "datePicker": "DatePicker", + "timePicker": "TimePicker", + "uploadFile": "UploadFile", + "uploadImg": "UploadImage", + "colorPicker": "ColorPicker", + "rate": "Rate", + "slider": "Slider", + "editor": "Editor", + "link": "Link", + "button": "Button", + "text": "Text", + "alert": "Alert", + "iframe": "Iframe", + "qrcode": "Qrcode", + "barcode": "Barcode", + "organizeSelect": "OrganizeSelect", + "depSelect": "DepartmentSelect", + "posSelect": "PositionSelect", + "userSelect": "UserSelect", + "roleSelect": "RoleSelect", + "groupSelect": "GroupSelect", + "usersSelect": "UsersSelect", + "table": "Table", + "treeSelect": "TreeSelect", + "popupTableSelect": "PopupTableSelect", + "autoComplete": "AutoComplete", + "areaSelect": "AreaSelect", + "billRule": "BillRule", + "relationForm": "RelationForm", + "popupSelect": "PopupSelect", + "relationFormAttr": "RelationFormAttr", + "popupAttr": "PopupAttr", + "sign": "Sign", + "location": "Location", + "calculate": "Calculate", + "createUser": "CreateUser", + "createTime": "CreateTime", + "modifyUser": "ModifyUser", + "modifyTime": "ModifyTime", + "currOrganize": "CurrentOrganize", + "currPosition": "CurrentPosition", + "groupTitle": "GroupTitle", + "divider": "Divider", + "collapse": "Collapse", + "tab": "Tab", + "row": "Row", + "card": "Card", + "tableGrid": "TableGrid" + }, + "delComponentTip": "Delete this component?", + "cleanComponentTip": "Clear all components?", + "copyComponentTip": "Copy this component?" + }, + "views": { + "http404": { + "tips": "Sorry, the page you visited does not exist or you do not have permission to access it!", + "subTips": "Please check if the URL you entered is correct, or click the button to return to the homepage.", + "goBackBtn": "Go homepage" + }, + "dynamicModel": { + "passwordPlaceholder": "Please enter your password", + "scanAndShare": "Scan & Share", + "showMore": "Show more", + "hideSome": "Hide some" + } + } +} diff --git a/Language/java/zh_CN.json b/Language/java/zh_CN.json new file mode 100644 index 0000000..6d6f951 --- /dev/null +++ b/Language/java/zh_CN.json @@ -0,0 +1,757 @@ +{ + "common": { + "okText": "确定", + "continueText": "确定并继续", + "continueAndAddText": "确定并新增", + "closeText": "关闭", + "cancelText": "取消", + "loadingText": "加载中...", + "saveText": "保存", + "delText": "删除", + "resetText": "重置", + "searchText": "搜索", + "queryText": "查询", + "addText": "新建", + "add1Text": "添加", + "add2Text": "新增", + "editText": "编辑", + "detailText": "详情", + "moreText": "更多", + "exportText": "导出", + "importText": "导入", + "copyText": "复制", + "printText": "打印", + "batchPrintText": "批量打印", + "batchDelText": "批量删除", + "previewText": "预览", + "submitText": "提交", + "syncText": "第三方同步", + "cleanText": "清空", + "closeList": "关闭列表", + "inputText": "请输入", + "chooseText": "请选择", + "inputTextPrefix": "请输入", + "chooseTextPrefix": "请选择", + "redo": "刷新", + "back": "返回", + "expandAll": "展开", + "collapseAll": "折叠", + "superQuery": "高级查询", + "light": "亮色主题", + "dark": "黑暗主题", + "tipTitle": "提示", + "delTip": "此操作将永久删除该数据, 是否继续?", + "selectDataTip": "请选择一条数据", + "prev": "上一步", + "next": "下一步", + "prevRecord": "上一条", + "nextRecord": "下一条", + "keyword": "关键词", + "enterKeyword": "请输入关键词", + "leftTreeSearchText": "请输入关键词", + "drawerSearchText": "请输入关键词", + "inputPlaceholder": "请输入", + "selectPlaceholder": "请选择", + "selectI18nCode": "选择翻译标记", + "undoText": "撤销", + "redoText": "重做", + "noData": "暂无数据" + }, + "component": { + "app": { + "searchNotData": "暂无搜索结果", + "toSearch": "确认", + "toNavigate": "切换" + }, + "countdown": { + "normalText": "获取验证码", + "sendText": "{0}秒后重新获取" + }, + "cropper": { + "selectImage": "选择图片", + "uploadSuccess": "上传成功", + "modalTitle": "头像上传", + "okText": "确认并上传", + "btn_reset": "重置", + "btn_rotate_left": "逆时针旋转", + "btn_rotate_right": "顺时针旋转", + "btn_scale_x": "水平翻转", + "btn_scale_y": "垂直翻转", + "btn_zoom_in": "放大", + "btn_zoom_out": "缩小", + "preview": "预览" + }, + "drawer": { + "loadingText": "加载中...", + "cancelText": "关闭", + "okText": "确认" + }, + "excel": { + "exportModalTitle": "导出数据", + "fileType": "文件类型", + "fileName": "文件名" + }, + "form": { + "fold": "收起", + "unfold": "展开", + "maxTip": "字符数应小于{0}位", + "apiSelectNotFound": "请等待数据加载完成..." + }, + "icon": { + "placeholder": "点击选择图标", + "search": "搜索图标", + "copy": "复制图标成功!" + }, + "menu": { + "search": "菜单搜索" + }, + "modal": { + "cancelText": "关闭", + "okText": "确认", + "close": "关闭", + "maximize": "最大化", + "restore": "还原" + }, + "table": { + "settingDens": "密度", + "settingDensDefault": "默认", + "settingDensMiddle": "中等", + "settingDensSmall": "紧凑", + "settingColumn": "列设置", + "settingColumnShow": "列展示", + "settingIndexColumnShow": "序号列", + "settingSelectColumnShow": "勾选列", + "settingFixedLeft": "固定到左侧", + "settingFixedRight": "固定到右侧", + "settingFullScreen": "全屏", + "index": "序号", + "status": "状态", + "action": "操作", + "summary": "合计", + "total": "共 {total} 条数据" + }, + "time": { + "before": "前", + "after": "后", + "just": "刚刚", + "seconds": "秒", + "minutes": "分钟", + "hours": "小时", + "days": "天" + }, + "tree": { + "reload": "刷新数据", + "selectAll": "选择全部", + "unSelectAll": "取消选择", + "expandAll": "展开全部", + "unExpandAll": "折叠全部", + "checkStrictly": "层级关联", + "checkUnStrictly": "层级独立" + }, + "upload": { + "save": "保存", + "upload": "上传", + "buttonText": "点击上传", + "imgUpload": "图片上传", + "uploaded": "已上传", + "operating": "操作", + "del": "删除", + "download": "下载", + "downloadAll": "全部下载", + "saveWarn": "请等待文件上传后,保存!", + "saveError": "没有上传成功的文件,无法保存!", + "preview": "预览", + "choose": "选择文件", + "accept": "支持{0}格式", + "acceptUpload": "只能上传{0}格式文件", + "maxSize": "单个文件不超过{0}MB", + "maxSizeMultiple": "只能上传不超过{0}MB的文件!", + "maxNumber": "最多只能上传{0}个文件", + "legend": "略缩图", + "fileName": "文件名", + "fileSize": "文件大小", + "fileStatue": "状态", + "startUpload": "开始上传", + "uploadSuccess": "上传成功", + "uploadError": "上传失败", + "uploading": "上传中", + "paused": "暂停中", + "waiting": "等待中", + "checking": "文件校验中", + "uploadWait": "请等待文件上传结束后操作", + "reUploadFailed": "重新上传失败文件", + "uploadImg": "请上传图片", + "viewImage": "查看图片", + "view": "查看", + "imageMaxNumber": "最多可以上传{0}张图片", + "imageMaxSize": "图片大小超过{size}{unit}", + "fileMaxNumber": "最多可以上传{0}个文件", + "fileMaxSize": "文件大小超过{size}{unit}", + "fileTypeCheck": "请选择{0}类型的文件", + "fileReadError": "文件{0}读取出错,请检查该文件", + "videoNoPreview": "音视频文件不能预览", + "zipNoPreview": "压缩包不能预览", + "image": "图片", + "video": "视频", + "audio": "音频" + }, + "verify": { + "error": "验证失败!", + "time": "验证校验成功,耗时{time}秒!", + "redoTip": "点击图片可刷新", + "dragText": "请按住滑块拖动", + "successText": "验证通过" + }, + "com.zero": { + "common": { + "allData": "全部数据", + "selected": "已选", + "clearAll": "清空列表", + "autoGenerate": "系统自动生成" + }, + "areaSelect": { + "modalTitle": "省市区" + }, + "calculate": { + "storage": "用于展示计算结果,且数据同时会保存入库", + "unStorage": "用于展示计算结果,且数据不会保存" + }, + "dateRange": { + "startPlaceholder": "开始日期", + "endPlaceholder": "结束日期" + }, + "timeRange": { + "startPlaceholder": "开始时间", + "endPlaceholder": "结束时间" + }, + "iconPicker": { + "select": "选择", + "modalTitle": "图标选择", + "searchPlaceholder": "请输入关键词", + "ymIcon": "ymIcon图标", + "ymCustom": "ymCustom图标" + }, + "location": { + "modalTitle": "选择位置", + "searchPlaceholder": "搜索或直接在地图上点选", + "relocation": "重新定位", + "location": "添加定位" + }, + "numberRange": { + "min": "最小值", + "max": "最大值" + }, + "organizeSelect": { + "modalTitle": "选择组织" + }, + "depSelect": { + "modalTitle": "选择部门" + }, + "posSelect": { + "modalTitle": "选择岗位" + }, + "roleSelect": { + "modalTitle": "选择角色" + }, + "groupSelect": { + "modalTitle": "选择分组" + }, + "userSelect": { + "modalTitle": "选择用户" + }, + "popupAttr": { + "storage": "用于展示关联弹窗的属性,且数据同时会保存入库", + "unStorage": "用于展示关联弹窗的属性,且数据不会保存" + }, + "popupSelect": { + "modalTitle": "选择数据" + }, + "relationFormAttr": { + "storage": "用于展示关联表单的属性,且数据同时会保存入库", + "unStorage": "用于展示关联表单的属性,且数据不会保存" + }, + "sign": { + "signTip": "手写签名", + "signPlaceholder": "请签名", + "operateTip": "请在此区域使用鼠标手写签名" + } + } + }, + "layout": { + "footer": { + "onlinePreview": "在线预览", + "onlineDocument": "在线文档" + }, + "header": { + "dropdownItemDoc": "文档", + "dropdownItemLoginOut": "退出系统", + "systemChange": "应用切换", + "standingChange": "切换身份", + "profile": "个人信息", + "feedback": "反馈问题", + "about": "关于平台", + "statement": "官方声明", + "commonMenus": "常用菜单", + "tooltipErrorLog": "错误日志", + "tooltipLock": "锁定屏幕", + "tooltipNotify": "消息", + "tooltipChat": "聊天", + "tooltipEntryFull": "全屏", + "tooltipExitFull": "退出全屏", + "setting": "设置", + "lockScreenPassword": "锁屏密码", + "lockScreen": "锁定屏幕", + "lockScreenBtn": "锁定", + "home": "首页" + }, + "multipleTab": { + "setCommon": "设为常用", + "reload": "重新加载", + "close": "关闭标签页", + "closeLeft": "关闭左侧标签页", + "closeRight": "关闭右侧标签页", + "closeOther": "关闭其它标签页", + "closeAll": "关闭全部标签页" + }, + "setting": { + "contentModeFull": "流式", + "contentModeFixed": "定宽", + "topMenuAlignLeft": "居左", + "topMenuAlignRight": "居中", + "topMenuAlignCenter": "居右", + "menuTriggerNone": "不显示", + "menuTriggerBottom": "底部", + "menuTriggerTop": "顶部", + "menuTypeSidebar": "左侧菜单模式", + "menuTypeMixSidebar": "左侧混合模式", + "menuTypeMix": "顶部混合模式", + "menuTypeTopMenu": "顶部菜单模式", + "defaultBg": "经典主题", + "blueBg": "蔚蓝星辰", + "purpleBg": "紫藤萝兰", + "greenBg": "碧绿翠风", + "on": "开", + "off": "关", + "minute": "分钟", + "operatingTitle": "操作成功", + "operatingContent": "复制成功,请到 src/settings/projectSetting.ts 中修改配置!", + "resetSuccess": "重置成功!", + "copyBtn": "拷贝", + "clearBtn": "清空缓存并返回登录页", + "drawerTitle": "配置", + "darkMode": "主题", + "navMode": "导航栏模式", + "systemBackground": "系统背景", + "interfaceFunction": "界面功能", + "interfaceDisplay": "界面显示", + "animation": "动画", + "splitMenu": "分割菜单", + "closeMixSidebarOnChange": "切换页面关闭菜单", + "sysTheme": "系统主题", + "headerTheme": "顶栏主题", + "sidebarTheme": "菜单主题", + "menuDrag": "侧边菜单拖拽", + "menuSearch": "菜单搜索", + "toggleLocale": "语言切换", + "menuAccordion": "侧边菜单手风琴模式", + "menuCollapse": "折叠菜单", + "collapseMenuDisplayName": "折叠菜单显示名称", + "topMenuLayout": "顶部菜单布局", + "menuCollapseButton": "菜单折叠按钮", + "contentMode": "内容区域宽度", + "expandedMenuWidth": "菜单展开宽度", + "breadcrumb": "面包屑", + "breadcrumbIcon": "面包屑图标", + "tabs": "标签页", + "tabsIcon": "标签图标", + "tabDetail": "标签详情页", + "tabsQuickBtn": "标签页快捷按钮", + "tabsRedoBtn": "标签页刷新按钮", + "tabsFoldBtn": "标签页折叠按钮", + "sidebar": "左侧菜单", + "header": "顶栏", + "footer": "页脚", + "fullContent": "全屏内容", + "grayMode": "灰色模式", + "colorWeak": "色弱模式", + "cachePage": "缓存页面", + "progress": "顶部进度条", + "switchLoading": "切换loading", + "switchAnimation": "切换动画", + "animationType": "动画类型", + "autoScreenLock": "自动锁屏", + "notAutoScreenLock": "不自动锁屏", + "fixedHeader": "固定header", + "fixedSideBar": "固定Sidebar", + "mixSidebarTrigger": "混合菜单触发方式", + "triggerHover": "悬停", + "triggerClick": "点击", + "mixSidebarFixed": "固定展开菜单" + } + }, + "routes": { + "basic": { + "login": "登录", + "errorLogList": "错误日志列表", + "home": "首页", + "externalLink": "链接", + "workFlowDetail": "流程详情", + "emailDetail": "查看邮件", + "previewModel": "功能预览" + }, + "mainSystem": "开发平台", + "workSystem": "业务平台", + "onlineDev": "在线开发", + "onlineDev-webDesign": "表单设计", + "onlineDev-appDesign": "移动设计", + "onlineDev-dataReport": "报表设计", + "onlineDev-dataScreen": "大屏设计", + "onlineDev-visualPortal": "门户设计", + "onlineDev-integration": "集成助手", + "onlineDev-printDev": "打印设计", + "generator": "代码生成", + "generator-webForm": "功能表单", + "generator-appForm": "移动表单", + "generator-flowForm": "发起表单", + "system": "系统管理", + "system-sysConfig": "系统配置", + "system-notice": "系统公告", + "system-task": "系统调度", + "system-cache": "系统缓存", + "system-log": "系统日志", + "system-monitor": "系统监控", + "system-icons": "系统图标", + "system-language": "翻译管理", + "system-menu": "应用菜单", + "system-area": "行政区划", + "system-billRule": "单据模板", + "system-systemTemplate": "系统模板", + "system-smsTemplate": "短信模板", + "system-messageTemplate": "消息模板", + "system-signature": "签章管理", + "systemData": "数据应用", + "systemData-dataSource": "数据连接", + "systemData-dataModel": "数据建模", + "systemData-dataSync": "数据同步", + "systemData-dataBackup": "数据备份", + "systemData-dataInterface": "数据接口", + "systemData-interfaceAuth": "接口认证", + "systemData-dictionary": "数据字典", + "systemData-map": "数据地图", + "commonWords": "审批常用语", + "weChat": "微信配置", + "weChat-mpConfig": "公众号配置", + "weChat-mpMenu": "公众号菜单", + "weChat-mpUser": "公众号用户", + "weChat-mpMessage": "公众号消息", + "weChat-mpMaterial": "公众号素材", + "weChat-qyhConfig": "企业号配置", + "weChat-qyDepartment": "企业号组织", + "weChat-qyUser": "企业号用户", + "weChat-qyMessage": "企业号消息", + "permission": "组织权限", + "permission-grade": "管理员", + "permission-organize": "组织管理", + "permission-department": "部门管理", + "permission-position": "岗位管理", + "permission-user": "用户管理", + "permission-role": "角色管理", + "permission-group": "分组管理", + "permission-authorize": "权限组", + "permission-auth": "权限管理", + "permission-userOnline": "在线用户", + "flowEngine": "流程引擎", + "formDesign": "系统表单", + "workFlow": "协同办公", + "workFlow-form": "表单设计", + "workFlow-flowEngine": "流程设计", + "workFlow-addFlow": "发起流程", + "workFlow-flowLaunch": "我发起的", + "workFlow-flowToSign": "我的待签", + "workFlow-flowTodo": "我的待办", + "workFlow-flowDoing": "我的在办", + "workFlow-flowDone": "我的已办", + "workFlow-flowCirculate": "抄送我的", + "workFlow-entrust": "流程委托", + "workFlow-flowMonitor": "流程监控", + "workFlow-schedule": "日程安排", + "workFlow-document": "文档中心", + "msgCenter": "消息中心", + "msgCenter-accountConfig": "账号配置", + "msgCenter-accountConfig-mail": "邮箱配置", + "msgCenter-accountConfig-shortMsg": "短信配置", + "msgCenter-accountConfig-weCom": "企业微信配置", + "msgCenter-accountConfig-ding": "钉钉配置", + "msgCenter-accountConfig-webhook": "webhook配置", + "msgCenter-accountConfig-mp": "微信公众号配置", + "msgCenter-msgTemplate": "消息模板", + "msgCenter-sendConfig": "发送配置", + "msgCenter-msgMonitor": "消息监控", + "extend-graphDemo": "图表示例", + "extend-graphDemo-echartsBar": "E-柱状图", + "extend-graphDemo-echartsPie": "E-饼状图", + "extend-graphDemo-echartsBarAcross": "E-横状条形图", + "extend-graphDemo-echartsGauge": "E-仪表图", + "extend-graphDemo-echartsLineArea": "E-线形图", + "extend-graphDemo-echartsScatter": "E-散点图", + "extend-graphDemo-echartsCandlestick": "E-K线图", + "extend-graphDemo-echartsLineBar": "E-折柱混合图", + "extend-graphDemo-echartsTree": "E-树形图", + "extend-graphDemo-echartsFunnel": "E-漏斗图", + "extend-graphDemo-highchartsScatter": "H-散点图", + "extend-graphDemo-highchartsWordcloud": "H-词云图", + "extend-graphDemo-highchartsLine": "H-线性图", + "extend-graphDemo-highchartsArea": "H-面积图", + "extend-graphDemo-highchartsGauge": "H-仪表图", + "extend-graphDemo-highchartsBellcurve": "H-贝尔曲线", + "extend-graphDemo-highchartsFunnel": "H-漏斗图", + "extend-graphDemo-highchartsBullet": "H-子弹图", + "extend-graphDemo-highchartsColumn": "H-柱状图", + "extend-graphDemo-highchartsPie": "H-饼状图", + "extend-tableDemo": "表格示例", + "extend-tableDemo-commonTable": "普通表格", + "extend-tableDemo-statisticsTable": "表格统计", + "extend-tableDemo-lockTable": "表格锁定", + "extend-tableDemo-groupingTable": "表格分组", + "extend-tableDemo-redactTable": "表格编辑", + "extend-tableDemo-complexHeader": "复杂表头", + "extend-tableDemo-mergeTable": "表格合并", + "extend-tableDemo-printTable": "表格打印", + "extend-tableDemo-extension": "延伸扩展", + "extend-tableDemo-treeTable": "树形表格", + "extend-tableDemo-postilTable": "表格批注", + "extend-tableDemo-tableTree": "表格树形", + "extend-tableDemo-signTable": "表格标记", + "extend-formDemo": "表单示例", + "extend-formDemo-verifyForm": "表单验证", + "extend-formDemo-verifyForm1": "表单验证1", + "extend-formDemo-fieldForm1": "表单字段1", + "extend-formDemo-fieldForm2": "表单字段2", + "extend-formDemo-fieldForm3": "表单字段3", + "extend-formDemo-fieldForm4": "表单字段4", + "extend-formDemo-fieldForm5": "表单字段5", + "extend-formDemo-fieldForm6": "表单字段6", + "extend": "开发示例", + "extend-bigData": "百万数据", + "extend-functionDemo": "功能示例", + "extend-portalDemo": "门户示例", + "extend-orderDemo": "订单示例", + "extend-importAndExport": "导入导出", + "extend-signet": "电子签章", + "extend-signature": "电子签名", + "extend-schedule": "日程安排", + "extend-email": "邮件收发", + "extend-documentPreview": "文档示例", + "extend-barCode": "条码示例", + "extend-printData": "打印示例", + "extend-map": "地图示例", + "extend-order": "订单管理", + "extend-projectGantt": "项目管理", + "moreMenu": "更多...", + "dataReport": "报表示例", + "reportBI": "大屏示例" + }, + "sys": { + "api": { + "operationFailed": "操作失败", + "errorTip": "错误提示", + "errorMessage": "操作失败,系统异常!", + "timeoutMessage": "登录超时,请重新登录!", + "apiTimeoutMessage": "接口请求超时,请刷新页面重试!", + "apiRequestFailed": "请求出错,请稍候重试", + "networkException": "网络异常", + "networkExceptionMsg": "网络异常,请检查您的网络连接是否正常!", + "errMsg401": "用户没有权限(令牌、用户名、密码错误)!", + "errMsg403": "用户得到授权,但是访问是被禁止的。!", + "errMsg404": "网络请求错误,未找到该资源!", + "errMsg405": "网络请求错误,请求方法未允许!", + "errMsg408": "网络请求超时!", + "errMsg500": "服务器错误,请联系管理员!", + "errMsg501": "网络未实现!", + "errMsg502": "网络错误!", + "errMsg503": "服务不可用,服务器暂时过载或维护!", + "errMsg504": "网络超时!", + "errMsg505": "http版本不支持该请求!" + }, + "app": { + "logoutTip": "温馨提醒", + "logoutMessage": "是否确认退出系统?", + "menuLoading": "菜单加载中..." + }, + "validate": { + "textRequiredSuffix": "不能为空", + "arrayRequiredPrefix": "请至少选择一个", + "number": "请输入正确的数字", + "money": "请输入正确的金额", + "telephone": "请输入正确的电话号码", + "mobilePhone": "请输入正确的手机号码", + "phone": "请输入正确的联系方式", + "email": "请输入正确的邮箱", + "url": "请输入正确的网址", + "date": "请输入正确的日期", + "idCard": "请输入正确的身份证号码" + }, + "errorLog": { + "tableTitle": "错误日志列表", + "tableColumnType": "类型", + "tableColumnDate": "时间", + "tableColumnFile": "文件", + "tableColumnMsg": "错误信息", + "tableColumnStackMsg": "stack信息", + "tableActionDesc": "详情", + "modalTitle": "错误详情", + "fireVueError": "点击触发vue错误", + "fireResourceError": "点击触发资源加载错误", + "fireAjaxError": "点击触发ajax错误", + "enableMessage": "只在`/src/settings/projectSetting.ts` 内的useErrorHandle=true时生效." + }, + "exception": { + "backLogin": "返回登录", + "backHome": "返回首页", + "subTitle403": "抱歉,您无权访问此页面。", + "subTitle404": "抱歉,您访问的页面不存在。", + "subTitle500": "抱歉,服务器报告错误。", + "noDataTitle": "当前页无数据", + "networkErrorTitle": "网络错误", + "networkErrorSubTitle": "抱歉,您的网络连接已断开,请检查您的网络!" + }, + "lock": { + "unlock": "点击解锁", + "alert": "锁屏密码错误", + "backToLogin": "返回登录", + "entry": "进入系统", + "placeholder": "请输入登录密码" + }, + "login": { + "otherLogin": "其他登录方式", + "backSignIn": "返回", + "signInFormTitle": "账号密码登录", + "mobileSignInFormTitle": "手机验证码登录", + "qrSignInFormTitle": "扫码登录", + "signUpFormTitle": "注册", + "forgetFormTitle": "重置密码", + "qrCodeTip": "请使用APP扫描二维码登录,180秒后二维码失效", + "signInTitle": "开箱即用的中后台管理系统", + "signInDesc": "输入您的个人详细信息开始使用!", + "policy": "我同意xxx隐私政策", + "scanSign": "扫码后点击\"确认\",即可完成登录", + "loginButton": "登录", + "registerButton": "注册", + "rememberMe": "记住我", + "forgetPassword": "忘记密码?", + "otherSignIn": "其他登录方式", + "lastLoginInfo": "上次登录信息", + "accountPlaceholder": "请输入账号", + "passwordPlaceholder": "请输入密码", + "smsPlaceholder": "请输入验证码", + "mobilePlaceholder": "请输入手机号码", + "policyPlaceholder": "勾选后才能注册", + "diffPwd": "两次输入密码不一致", + "userName": "账号", + "confirmPassword": "确认密码", + "email": "邮箱", + "title": "账户密码登录", + "scanTitle": "扫码登录", + "codeTitle": "手机验证登录", + "logIn": "登录", + "username": "请输入账号", + "password": "请输入密码", + "version": "版本", + "upper": "大写已锁定", + "scanTip": "扫码登录", + "accountTip": "请输入账号", + "passwordTip": "请输入密码", + "codeTip": "请输入验证码", + "changeCode": "点击切换验证码", + "mobile": "请输入手机号", + "rightMobile": "请输入正确的手机号", + "smsCode": "请输入验证码", + "getCode": "获取验证码", + "reSend": "重新发送", + "company": "请输入公司名", + "contacts": "请输入联系人", + "rule": "租户子账户规则:租户号{'@'}账户 例:18577778888{'@'}101001", + "scanSuccessful": "扫码成功", + "confirmLogin": "请在手机端确认登录", + "refreshCode": "点击刷新", + "recoverCode": "取消登录", + "expired": "二维码已失效" + } + }, + "formGenerator": { + "component": { + "input": "单行输入", + "textarea": "多行输入", + "inputNumber": "数字输入", + "switch": "开关", + "radio": "单选框组", + "checkbox": "多选框组", + "select": "下拉选择", + "cascader": "级联选择", + "datePicker": "日期选择", + "timePicker": "时间选择", + "uploadFile": "文件上传", + "uploadImg": "图片上传", + "colorPicker": "颜色选择", + "rate": "评分", + "slider": "滑块", + "editor": "富文本", + "link": "链接", + "button": "按钮", + "text": "文本", + "alert": "提示", + "iframe": "Iframe", + "qrcode": "二维码", + "barcode": "条形码", + "organizeSelect": "组织选择", + "depSelect": "部门选择", + "posSelect": "岗位选择", + "userSelect": "用户选择", + "roleSelect": "角色选择", + "groupSelect": "分组选择", + "usersSelect": "用户组件", + "table": "设计子表", + "treeSelect": "下拉树形", + "popupTableSelect": "下拉表格", + "autoComplete": "下拉补全", + "areaSelect": "省市区域", + "billRule": "单据组件", + "relationForm": "关联表单", + "popupSelect": "弹窗选择", + "relationFormAttr": "关联表单属性", + "popupAttr": "弹窗选择属性", + "sign": "手写签名", + "location": "定位", + "calculate": "计算公式", + "createUser": "创建人员", + "createTime": "创建时间", + "modifyUser": "修改人员", + "modifyTime": "修改时间", + "currOrganize": "所属组织", + "currPosition": "所属岗位", + "groupTitle": "分组标题", + "divider": "分割线", + "collapse": "折叠面板", + "tab": "标签面板", + "row": "栅格容器", + "card": "卡片容器", + "tableGrid": "表格容器" + }, + "delComponentTip": "确定删除该组件?", + "cleanComponentTip": "确定要清空所有组件吗?", + "copyComponentTip": "确定复制该组件?" + }, + "views": { + "http404": { + "tips": "抱歉,你访问的页面不存在或无权访问!", + "subTips": "请检查您输入的URL是否正确,或单击按钮返回首页。", + "goBackBtn": "返回首页" + }, + "dynamicModel": { + "passwordPlaceholder": "请输入密码", + "scanAndShare": "扫描二维码,分享此链接", + "showMore": "加载更多", + "hideSome": "隐藏部分" + } + } +} diff --git a/Language/java/zh_TW.json b/Language/java/zh_TW.json new file mode 100644 index 0000000..cf4b0ee --- /dev/null +++ b/Language/java/zh_TW.json @@ -0,0 +1,757 @@ +{ + "common": { + "okText": "確定", + "continueText": "確定並繼續", + "continueAndAddText": "確定並新增", + "closeText": "關閉", + "cancelText": "取消", + "loadingText": "加載中...", + "saveText": "保存", + "delText": "刪除", + "resetText": "重置", + "searchText": "搜索", + "queryText": "查詢", + "addText": "新建", + "add1Text": "添加", + "add2Text": "新增", + "editText": "編輯", + "detailText": "詳情", + "moreText": "更多", + "exportText": "導出", + "importText": "導入", + "copyText": "復製", + "printText": "打印", + "batchPrintText": "批量打印", + "batchDelText": "批量刪除", + "previewText": "預覽", + "submitText": "提交", + "syncText": "第三方同步", + "cleanText": "清空", + "closeList": "關閉列表", + "inputText": "請輸入", + "chooseText": "請選擇", + "inputTextPrefix": "請輸入", + "chooseTextPrefix": "請選擇", + "redo": "刷新", + "back": "返回", + "expandAll": "展開", + "collapseAll": "折疊", + "superQuery": "高級查詢", + "light": "亮色主題", + "dark": "黑暗主題", + "tipTitle": "提示", + "delTip": "此操作將永久刪除該數據, 是否繼續?", + "selectDataTip": "請選擇一條數據", + "prev": "上一步", + "next": "下一步", + "prevRecord": "上一條", + "nextRecord": "下一條", + "keyword": "關鍵詞", + "enterKeyword": "請輸入關鍵詞", + "leftTreeSearchText": "請輸入關鍵詞", + "drawerSearchText": "請輸入關鍵詞", + "inputPlaceholder": "請輸入", + "selectPlaceholder": "請選擇", + "selectI18nCode": "選擇翻譯標記", + "undoText": "撤銷", + "redoText": "重做", + "noData": "暫無數據" + }, + "component": { + "app": { + "searchNotData": "暫無搜索結果", + "toSearch": "確認", + "toNavigate": "切換" + }, + "countdown": { + "normalText": "獲取驗證碼", + "sendText": "{0}秒後重新獲取" + }, + "cropper": { + "selectImage": "選擇圖片", + "uploadSuccess": "上傳成功", + "modalTitle": "頭像上傳", + "okText": "確認並上傳", + "btn_reset": "重置", + "btn_rotate_left": "逆時針旋轉", + "btn_rotate_right": "順時針旋轉", + "btn_scale_x": "水平翻轉", + "btn_scale_y": "垂直翻轉", + "btn_zoom_in": "放大", + "btn_zoom_out": "縮小", + "preview": "預覽" + }, + "drawer": { + "loadingText": "加載中...", + "cancelText": "關閉", + "okText": "確認" + }, + "excel": { + "exportModalTitle": "導出數據", + "fileType": "文件類型", + "fileName": "文件名" + }, + "form": { + "fold": "收起", + "unfold": "展開", + "maxTip": "字符數應小於{0}位", + "apiSelectNotFound": "請等待數據加載完成..." + }, + "icon": { + "placeholder": "點擊選擇圖標", + "search": "搜索圖標", + "copy": "復製圖標成功!" + }, + "menu": { + "search": "菜單搜索" + }, + "modal": { + "cancelText": "關閉", + "okText": "確認", + "close": "關閉", + "maximize": "最大化", + "restore": "還原" + }, + "table": { + "settingDens": "密度", + "settingDensDefault": "默認", + "settingDensMiddle": "中等", + "settingDensSmall": "緊湊", + "settingColumn": "列設置", + "settingColumnShow": "列展示", + "settingIndexColumnShow": "序號列", + "settingSelectColumnShow": "勾選列", + "settingFixedLeft": "固定到左側", + "settingFixedRight": "固定到右側", + "settingFullScreen": "全屏", + "index": "序號", + "status": "狀態", + "action": "操作", + "summary": "合計", + "total": "共 {total} 條數據" + }, + "time": { + "before": "前", + "after": "後", + "just": "剛剛", + "seconds": "秒", + "minutes": "分鐘", + "hours": "小時", + "days": "天" + }, + "tree": { + "reload": "刷新數據", + "selectAll": "選擇全部", + "unSelectAll": "取消選擇", + "expandAll": "展開全部", + "unExpandAll": "折疊全部", + "checkStrictly": "層級關聯", + "checkUnStrictly": "層級獨立" + }, + "upload": { + "save": "保存", + "upload": "上傳", + "buttonText": "點擊上傳", + "imgUpload": "圖片上傳", + "uploaded": "已上傳", + "operating": "操作", + "del": "刪除", + "download": "下載", + "downloadAll": "全部下載", + "saveWarn": "請等待文件上傳後,保存!", + "saveError": "沒有上傳成功的文件,無法保存!", + "preview": "預覽", + "choose": "選擇文件", + "accept": "支持{0}格式", + "acceptUpload": "只能上傳{0}格式文件", + "maxSize": "單個文件不超過{0}MB", + "maxSizeMultiple": "只能上傳不超過{0}MB的文件!", + "maxNumber": "最多只能上傳{0}個文件", + "legend": "略縮圖", + "fileName": "文件名", + "fileSize": "文件大小", + "fileStatue": "狀態", + "startUpload": "開始上傳", + "uploadSuccess": "上傳成功", + "uploadError": "上傳失敗", + "uploading": "上傳中", + "paused": "暫停中", + "waiting": "等待中", + "checking": "文件校驗中", + "uploadWait": "請等待文件上傳結束後操作", + "reUploadFailed": "重新上傳失敗文件", + "uploadImg": "請上傳圖片", + "viewImage": "查看圖片", + "view": "查看", + "imageMaxNumber": "最多可以上傳{0}張圖片", + "imageMaxSize": "圖片大小超過{size}{unit}", + "fileMaxNumber": "最多可以上傳{0}個文件", + "fileMaxSize": "文件大小超過{size}{unit}", + "fileTypeCheck": "請選擇{0}類型的文件", + "fileReadError": "文件{0}讀取出錯,請檢查該文件", + "videoNoPreview": "音視頻文件不能預覽", + "zipNoPreview": "壓縮包不能預覽", + "image": "圖片", + "video": "視頻", + "audio": "音頻" + }, + "verify": { + "error": "驗證失敗!", + "time": "驗證校驗成功,耗時{time}秒!", + "redoTip": "點擊圖片可刷新", + "dragText": "請按住滑塊拖動", + "successText": "驗證通過" + }, + "com.zero": { + "common": { + "allData": "全部數據", + "selected": "已選", + "clearAll": "清空列表", + "autoGenerate": "系統自動生成" + }, + "areaSelect": { + "modalTitle": "省市區" + }, + "calculate": { + "storage": "用於展示計算結果,且數據同時會保存入庫", + "unStorage": "用於展示計算結果,且數據不會保存" + }, + "dateRange": { + "startPlaceholder": "開始日期", + "endPlaceholder": "結束日期" + }, + "timeRange": { + "startPlaceholder": "開始時間", + "endPlaceholder": "結束時間" + }, + "iconPicker": { + "select": "選擇", + "modalTitle": "圖標選擇", + "searchPlaceholder": "請輸入關鍵詞", + "ymIcon": "ymIcon圖標", + "ymCustom": "ymCustom圖標" + }, + "location": { + "modalTitle": "選擇位置", + "searchPlaceholder": "搜索或直接在地圖上點選", + "relocation": "重新定位", + "location": "添加定位" + }, + "numberRange": { + "min": "最小值", + "max": "最大值" + }, + "organizeSelect": { + "modalTitle": "選擇組織" + }, + "depSelect": { + "modalTitle": "選擇部門" + }, + "posSelect": { + "modalTitle": "選擇崗位" + }, + "roleSelect": { + "modalTitle": "選擇角色" + }, + "groupSelect": { + "modalTitle": "選擇分組" + }, + "userSelect": { + "modalTitle": "選擇用戶" + }, + "popupAttr": { + "storage": "用於展示關聯彈窗的屬性,且數據同時會保存入庫", + "unStorage": "用於展示關聯彈窗的屬性,且數據不會保存" + }, + "popupSelect": { + "modalTitle": "選擇數據" + }, + "relationFormAttr": { + "storage": "用於展示關聯表單的屬性,且數據同時會保存入庫", + "unStorage": "用於展示關聯表單的屬性,且數據不會保存" + }, + "sign": { + "signTip": "手寫簽名", + "signPlaceholder": "請簽名", + "operateTip": "請在此區域使用鼠標手寫簽名" + } + } + }, + "layout": { + "footer": { + "onlinePreview": "在線預覽", + "onlineDocument": "在線文檔" + }, + "header": { + "dropdownItemDoc": "文檔", + "dropdownItemLoginOut": "退出系統", + "systemChange": "應用切換", + "standingChange": "切換身份", + "profile": "個人信息", + "feedback": "反饋問題", + "about": "關於平臺", + "statement": "官方聲明", + "commonMenus": "常用菜單", + "tooltipErrorLog": "錯誤日誌", + "tooltipLock": "鎖定屏幕", + "tooltipNotify": "消息", + "tooltipChat": "聊天", + "tooltipEntryFull": "全屏", + "tooltipExitFull": "退出全屏", + "setting": "設置", + "lockScreenPassword": "鎖屏密碼", + "lockScreen": "鎖定屏幕", + "lockScreenBtn": "鎖定", + "home": "首頁" + }, + "multipleTab": { + "setCommon": "設為常用", + "reload": "重新加載", + "close": "關閉標簽頁", + "closeLeft": "關閉左側標簽頁", + "closeRight": "關閉右側標簽頁", + "closeOther": "關閉其它標簽頁", + "closeAll": "關閉全部標簽頁" + }, + "setting": { + "contentModeFull": "流式", + "contentModeFixed": "定寬", + "topMenuAlignLeft": "居左", + "topMenuAlignRight": "居中", + "topMenuAlignCenter": "居右", + "menuTriggerNone": "不顯示", + "menuTriggerBottom": "底部", + "menuTriggerTop": "頂部", + "menuTypeSidebar": "左側菜單模式", + "menuTypeMixSidebar": "左側混合模式", + "menuTypeMix": "頂部混合模式", + "menuTypeTopMenu": "頂部菜單模式", + "defaultBg": "經典主題", + "blueBg": "蔚藍星辰", + "purpleBg": "紫藤蘿蘭", + "greenBg": "碧綠翠風", + "on": "開", + "off": "關", + "minute": "分鐘", + "operatingTitle": "操作成功", + "operatingContent": "復製成功,請到 src/settings/projectSetting.ts 中修改配置!", + "resetSuccess": "重置成功!", + "copyBtn": "拷貝", + "clearBtn": "清空緩存並返回登錄頁", + "drawerTitle": "配置", + "darkMode": "主題", + "navMode": "導航欄模式", + "systemBackground": "系統背景", + "interfaceFunction": "界面功能", + "interfaceDisplay": "界面顯示", + "animation": "動畫", + "splitMenu": "分割菜單", + "closeMixSidebarOnChange": "切換頁面關閉菜單", + "sysTheme": "系統主題", + "headerTheme": "頂欄主題", + "sidebarTheme": "菜單主題", + "menuDrag": "側邊菜單拖拽", + "menuSearch": "菜單搜索", + "toggleLocale": "語言切換", + "menuAccordion": "側邊菜單手風琴模式", + "menuCollapse": "折疊菜單", + "collapseMenuDisplayName": "折疊菜單顯示名稱", + "topMenuLayout": "頂部菜單布局", + "menuCollapseButton": "菜單折疊按鈕", + "contentMode": "內容區域寬度", + "expandedMenuWidth": "菜單展開寬度", + "breadcrumb": "面包屑", + "breadcrumbIcon": "面包屑圖標", + "tabs": "標簽頁", + "tabsIcon": "標簽圖標", + "tabDetail": "標簽詳情頁", + "tabsQuickBtn": "標簽頁快捷按鈕", + "tabsRedoBtn": "標簽頁刷新按鈕", + "tabsFoldBtn": "標簽頁折疊按鈕", + "sidebar": "左側菜單", + "header": "頂欄", + "footer": "頁腳", + "fullContent": "全屏內容", + "grayMode": "灰色模式", + "colorWeak": "色弱模式", + "cachePage": "緩存頁面", + "progress": "頂部進度條", + "switchLoading": "切換loading", + "switchAnimation": "切換動畫", + "animationType": "動畫類型", + "autoScreenLock": "自動鎖屏", + "notAutoScreenLock": "不自動鎖屏", + "fixedHeader": "固定header", + "fixedSideBar": "固定Sidebar", + "mixSidebarTrigger": "混合菜單觸發方式", + "triggerHover": "懸停", + "triggerClick": "點擊", + "mixSidebarFixed": "固定展開菜單" + } + }, + "routes": { + "basic": { + "login": "登錄", + "errorLogList": "錯誤日誌列表", + "home": "首頁", + "externalLink": "鏈接", + "workFlowDetail": "流程詳情", + "emailDetail": "查看郵件", + "previewModel": "功能預覽" + }, + "mainSystem": "開發平臺", + "workSystem": "業務平臺", + "onlineDev": "在線開發", + "onlineDev-webDesign": "表單設計", + "onlineDev-appDesign": "移動設計", + "onlineDev-dataReport": "報表設計", + "onlineDev-dataScreen": "大屏設計", + "onlineDev-visualPortal": "門戶設計", + "onlineDev-integration": "集成助手", + "onlineDev-printDev": "打印設計", + "generator": "代碼生成", + "generator-webForm": "功能表單", + "generator-appForm": "移動表單", + "generator-flowForm": "發起表單", + "system": "系統管理", + "system-sysConfig": "系統配置", + "system-notice": "系統公告", + "system-task": "系統調度", + "system-cache": "系統緩存", + "system-log": "系統日誌", + "system-monitor": "系統監控", + "system-icons": "系統圖標", + "system-language": "翻譯管理", + "system-menu": "應用菜單", + "system-area": "行政區劃", + "system-billRule": "單據模板", + "system-systemTemplate": "系統模板", + "system-smsTemplate": "短信模板", + "system-messageTemplate": "消息模板", + "system-signature": "簽章管理", + "systemData": "數據應用", + "systemData-dataSource": "數據連接", + "systemData-dataModel": "數據建模", + "systemData-dataSync": "數據同步", + "systemData-dataBackup": "數據備份", + "systemData-dataInterface": "數據接口", + "systemData-interfaceAuth": "接口認證", + "systemData-dictionary": "數據字典", + "systemData-map": "數據地圖", + "commonWords": "審批常用語", + "weChat": "微信配置", + "weChat-mpConfig": "公眾號配置", + "weChat-mpMenu": "公眾號菜單", + "weChat-mpUser": "公眾號用戶", + "weChat-mpMessage": "公眾號消息", + "weChat-mpMaterial": "公眾號素材", + "weChat-qyhConfig": "企業號配置", + "weChat-qyDepartment": "企業號組織", + "weChat-qyUser": "企業號用戶", + "weChat-qyMessage": "企業號消息", + "permission": "組織權限", + "permission-grade": "管理員", + "permission-organize": "組織管理", + "permission-department": "部門管理", + "permission-position": "崗位管理", + "permission-user": "用戶管理", + "permission-role": "角色管理", + "permission-group": "分組管理", + "permission-authorize": "權限組", + "permission-auth": "權限管理", + "permission-userOnline": "在線用戶", + "flowEngine": "流程引擎", + "formDesign": "系統表單", + "workFlow": "協同辦公", + "workFlow-form": "表單設計", + "workFlow-flowEngine": "流程設計", + "workFlow-addFlow": "發起流程", + "workFlow-flowLaunch": "我發起的", + "workFlow-flowToSign": "我的待簽", + "workFlow-flowTodo": "我的待辦", + "workFlow-flowDoing": "我的在辦", + "workFlow-flowDone": "我的已辦", + "workFlow-flowCirculate": "抄送我的", + "workFlow-entrust": "流程委托", + "workFlow-flowMonitor": "流程監控", + "workFlow-schedule": "日程安排", + "workFlow-document": "文檔中心", + "msgCenter": "消息中心", + "msgCenter-accountConfig": "賬號配置", + "msgCenter-accountConfig-mail": "郵箱配置", + "msgCenter-accountConfig-shortMsg": "短信配置", + "msgCenter-accountConfig-weCom": "企業微信配置", + "msgCenter-accountConfig-ding": "釘釘配置", + "msgCenter-accountConfig-webhook": "webhook配置", + "msgCenter-accountConfig-mp": "微信公眾號配置", + "msgCenter-msgTemplate": "消息模板", + "msgCenter-sendConfig": "發送配置", + "msgCenter-msgMonitor": "消息監控", + "extend-graphDemo": "圖表示例", + "extend-graphDemo-echartsBar": "E-柱狀圖", + "extend-graphDemo-echartsPie": "E-餅狀圖", + "extend-graphDemo-echartsBarAcross": "E-橫狀條形圖", + "extend-graphDemo-echartsGauge": "E-儀表圖", + "extend-graphDemo-echartsLineArea": "E-線形圖", + "extend-graphDemo-echartsScatter": "E-散點圖", + "extend-graphDemo-echartsCandlestick": "E-K線圖", + "extend-graphDemo-echartsLineBar": "E-折柱混合圖", + "extend-graphDemo-echartsTree": "E-樹形圖", + "extend-graphDemo-echartsFunnel": "E-漏鬥圖", + "extend-graphDemo-highchartsScatter": "H-散點圖", + "extend-graphDemo-highchartsWordcloud": "H-詞雲圖", + "extend-graphDemo-highchartsLine": "H-線性圖", + "extend-graphDemo-highchartsArea": "H-面積圖", + "extend-graphDemo-highchartsGauge": "H-儀表圖", + "extend-graphDemo-highchartsBellcurve": "H-貝爾曲線", + "extend-graphDemo-highchartsFunnel": "H-漏鬥圖", + "extend-graphDemo-highchartsBullet": "H-子彈圖", + "extend-graphDemo-highchartsColumn": "H-柱狀圖", + "extend-graphDemo-highchartsPie": "H-餅狀圖", + "extend-tableDemo": "表格示例", + "extend-tableDemo-commonTable": "普通表格", + "extend-tableDemo-statisticsTable": "表格統計", + "extend-tableDemo-lockTable": "表格鎖定", + "extend-tableDemo-groupingTable": "表格分組", + "extend-tableDemo-redactTable": "表格編輯", + "extend-tableDemo-complexHeader": "復雜表頭", + "extend-tableDemo-mergeTable": "表格合並", + "extend-tableDemo-printTable": "表格打印", + "extend-tableDemo-extension": "延伸擴展", + "extend-tableDemo-treeTable": "樹形表格", + "extend-tableDemo-postilTable": "表格批註", + "extend-tableDemo-tableTree": "表格樹形", + "extend-tableDemo-signTable": "表格標記", + "extend-formDemo": "表單示例", + "extend-formDemo-verifyForm": "表單驗證", + "extend-formDemo-verifyForm1": "表單驗證1", + "extend-formDemo-fieldForm1": "表單字段1", + "extend-formDemo-fieldForm2": "表單字段2", + "extend-formDemo-fieldForm3": "表單字段3", + "extend-formDemo-fieldForm4": "表單字段4", + "extend-formDemo-fieldForm5": "表單字段5", + "extend-formDemo-fieldForm6": "表單字段6", + "extend": "開發示例", + "extend-bigData": "百萬數據", + "extend-functionDemo": "功能示例", + "extend-portalDemo": "門戶示例", + "extend-orderDemo": "訂單示例", + "extend-importAndExport": "導入導出", + "extend-signet": "電子簽章", + "extend-signature": "電子簽名", + "extend-schedule": "日程安排", + "extend-email": "郵件收發", + "extend-documentPreview": "文檔示例", + "extend-barCode": "條碼示例", + "extend-printData": "打印示例", + "extend-map": "地圖示例", + "extend-order": "訂單管理", + "extend-projectGantt": "項目管理", + "moreMenu": "更多...", + "dataReport": "報表示例", + "reportBI": "大屏示例" + }, + "sys": { + "api": { + "operationFailed": "操作失敗", + "errorTip": "錯誤提示", + "errorMessage": "操作失敗,系統異常!", + "timeoutMessage": "登錄超時,請重新登錄!", + "apiTimeoutMessage": "接口請求超時,請刷新頁面重試!", + "apiRequestFailed": "請求出錯,請稍候重試", + "networkException": "網絡異常", + "networkExceptionMsg": "網絡異常,請檢查您的網絡連接是否正常!", + "errMsg401": "用戶沒有權限(令牌、用戶名、密碼錯誤)!", + "errMsg403": "用戶得到授權,但是訪問是被禁止的。!", + "errMsg404": "網絡請求錯誤,未找到該資源!", + "errMsg405": "網絡請求錯誤,請求方法未允許!", + "errMsg408": "網絡請求超時!", + "errMsg500": "服務器錯誤,請聯系管理員!", + "errMsg501": "網絡未實現!", + "errMsg502": "網絡錯誤!", + "errMsg503": "服務不可用,服務器暫時過載或維護!", + "errMsg504": "網絡超時!", + "errMsg505": "http版本不支持該請求!" + }, + "app": { + "logoutTip": "溫馨提醒", + "logoutMessage": "是否確認退出系統?", + "menuLoading": "菜單加載中..." + }, + "validate": { + "textRequiredSuffix": "不能為空", + "arrayRequiredPrefix": "請至少選擇一個", + "number": "請輸入正確的數字", + "money": "請輸入正確的金額", + "telephone": "請輸入正確的電話號碼", + "mobilePhone": "請輸入正確的手機號碼", + "phone": "請輸入正確的聯系方式", + "email": "請輸入正確的郵箱", + "url": "請輸入正確的網址", + "date": "請輸入正確的日期", + "idCard": "請輸入正確的身份證號碼" + }, + "errorLog": { + "tableTitle": "錯誤日誌列表", + "tableColumnType": "類型", + "tableColumnDate": "時間", + "tableColumnFile": "文件", + "tableColumnMsg": "錯誤信息", + "tableColumnStackMsg": "stack信息", + "tableActionDesc": "詳情", + "modalTitle": "錯誤詳情", + "fireVueError": "點擊觸發vue錯誤", + "fireResourceError": "點擊觸發資源加載錯誤", + "fireAjaxError": "點擊觸發ajax錯誤", + "enableMessage": "只在`/src/settings/projectSetting.ts` 內的useErrorHandle=true時生效." + }, + "exception": { + "backLogin": "返回登錄", + "backHome": "返回首頁", + "subTitle403": "抱歉,您無權訪問此頁面。", + "subTitle404": "抱歉,您訪問的頁面不存在。", + "subTitle500": "抱歉,服務器報告錯誤。", + "noDataTitle": "當前頁無數據", + "networkErrorTitle": "網絡錯誤", + "networkErrorSubTitle": "抱歉,您的網絡連接已斷開,請檢查您的網絡!" + }, + "lock": { + "unlock": "點擊解鎖", + "alert": "鎖屏密碼錯誤", + "backToLogin": "返回登錄", + "entry": "進入系統", + "placeholder": "請輸入登錄密碼" + }, + "login": { + "otherLogin": "其他登錄方式", + "backSignIn": "返回", + "signInFormTitle": "賬號密碼登錄", + "mobileSignInFormTitle": "手機驗證碼登錄", + "qrSignInFormTitle": "掃碼登錄", + "signUpFormTitle": "註冊", + "forgetFormTitle": "重置密碼", + "qrCodeTip": "請使用APP掃描二維碼登錄,180秒後二維碼失效", + "signInTitle": "開箱即用的中後臺管理系統", + "signInDesc": "輸入您的個人詳細信息開始使用!", + "policy": "我同意xxx隱私政策", + "scanSign": "掃碼後點擊\"確認\",即可完成登錄", + "loginButton": "登錄", + "registerButton": "註冊", + "rememberMe": "記住我", + "forgetPassword": "忘記密碼?", + "otherSignIn": "其他登錄方式", + "lastLoginInfo": "上次登錄信息", + "accountPlaceholder": "請輸入賬號", + "passwordPlaceholder": "請輸入密碼", + "smsPlaceholder": "請輸入驗證碼", + "mobilePlaceholder": "請輸入手機號碼", + "policyPlaceholder": "勾選後才能註冊", + "diffPwd": "兩次輸入密碼不一致", + "userName": "賬號", + "confirmPassword": "確認密碼", + "email": "郵箱", + "title": "賬戶密碼登錄", + "scanTitle": "掃碼登錄", + "codeTitle": "手機驗證登錄", + "logIn": "登錄", + "username": "請輸入賬號", + "password": "請輸入密碼", + "version": "版本", + "upper": "大寫已鎖定", + "scanTip": "掃碼登錄", + "accountTip": "請輸入賬號", + "passwordTip": "請輸入密碼", + "codeTip": "請輸入驗證碼", + "changeCode": "點擊切換驗證碼", + "mobile": "請輸入手機號", + "rightMobile": "請輸入正確的手機號", + "smsCode": "請輸入驗證碼", + "getCode": "獲取驗證碼", + "reSend": "重新發送", + "company": "請輸入公司名", + "contacts": "請輸入聯系人", + "rule": "租戶子賬戶規則:租戶號{'@'}賬戶 例:18577778888{'@'}101001", + "scanSuccessful": "掃碼成功", + "confirmLogin": "請在手機端確認登錄", + "refreshCode": "點擊刷新", + "recoverCode": "取消登錄", + "expired": "二維碼已失效" + } + }, + "formGenerator": { + "component": { + "input": "單行輸入", + "textarea": "多行輸入", + "inputNumber": "數字輸入", + "switch": "開關", + "radio": "單選框組", + "checkbox": "多選框組", + "select": "下拉選擇", + "cascader": "級聯選擇", + "datePicker": "日期選擇", + "timePicker": "時間選擇", + "uploadFile": "文件上傳", + "uploadImg": "圖片上傳", + "colorPicker": "顏色選擇", + "rate": "評分", + "slider": "滑塊", + "editor": "富文本", + "link": "鏈接", + "button": "按鈕", + "text": "文本", + "alert": "提示", + "iframe": "Iframe", + "qrcode": "二維碼", + "barcode": "條形碼", + "organizeSelect": "組織選擇", + "depSelect": "部門選擇", + "posSelect": "崗位選擇", + "userSelect": "用戶選擇", + "roleSelect": "角色選擇", + "groupSelect": "分組選擇", + "usersSelect": "用戶組件", + "table": "設計子表", + "treeSelect": "下拉樹形", + "popupTableSelect": "下拉表格", + "autoComplete": "下拉補全", + "areaSelect": "省市區域", + "billRule": "單據組件", + "relationForm": "關聯表單", + "popupSelect": "彈窗選擇", + "relationFormAttr": "關聯表單屬性", + "popupAttr": "彈窗選擇屬性", + "sign": "手寫簽名", + "location": "定位", + "calculate": "計算公式", + "createUser": "創建人員", + "createTime": "創建時間", + "modifyUser": "修改人員", + "modifyTime": "修改時間", + "currOrganize": "所屬組織", + "currPosition": "所屬崗位", + "groupTitle": "分組標題", + "divider": "分割線", + "collapse": "折疊面板", + "tab": "標簽面板", + "row": "柵格容器", + "card": "卡片容器", + "tableGrid": "表格容器" + }, + "delComponentTip": "確定刪除該組件?", + "cleanComponentTip": "確定要清空所有組件嗎?", + "copyComponentTip": "確定復製該組件?" + }, + "views": { + "http404": { + "tips": "抱歉,你訪問的頁面不存在或無權訪問!", + "subTips": "請檢查您輸入的URL是否正確,或單擊按鈕返回首頁。", + "goBackBtn": "返回首頁" + }, + "dynamicModel": { + "passwordPlaceholder": "請輸入密碼", + "scanAndShare": "掃描二維碼,分享此鏈接", + "showMore": "加載更多", + "hideSome": "隱藏部分" + } + } +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..6fe422b --- /dev/null +++ b/README.md @@ -0,0 +1,37 @@ +## 目录结构 + +```bash +├── BiVisualPath # 大屏设计 +├── DocumentFile # 文档 +├── DocumentPreview # 文档预览 +├── EmailFile # 邮件附件 +├── IMContentFile # IM聊天附件 +├── Language # 语言包 +├── ReportFile # 报表相关资源 +├── SystemFile # 系统附件 +├── TemplateCodeVue3 # 代码生成器模板 +│ ├── helper # 前端调用api接口 +│ ├── java # 后端模板,各表单类型使用同一套模板 +│ ├── macro # 流程表单模板 +│ ├── PublicMacro # 公用宏(通用方法和变量) +│ ├── TemplateCode1 # 发起表单(流程表单) +│ ├── TemplateCode2 # 功能表单(表单列表) +│ ├── TemplateCode3 # 功能流程(表单列表流程) +│ ├── TemplateCode4 # 纯表单 +│ ├── TemplateCode5 # 纯表单+流程 +│ └── TemplateCode6 # 视图代码生成 +├── TemplateFile # 其他模板文档 +├── TemporaryFile # 临时存放目录 +├── UserAvatar # 用户头像 +└── WebAnnexFile # 其他 + +``` + +## 关联项目 + +| 项目 | 分支 | 说明 | +| --- | --- | --- | +| zero-dotnet | v5.2.x-stable | .NET单体后端项目源码 | +| zero-dotnet-cloud | v5.2.x-stable | .NET微服务后端项目源码 | +| zero-java-boot | v5.2.x-stable | Java单体后端项目源码 | +| zero-java-cloud | v5.2.x-stable | Java微服务后端项目源码 | diff --git a/ReportFile/README.md b/ReportFile/README.md new file mode 100644 index 0000000..169ac65 --- /dev/null +++ b/ReportFile/README.md @@ -0,0 +1 @@ +## 报表系统默认图片文件夹目录 diff --git a/SystemFile/SystemFile.txt b/SystemFile/SystemFile.txt new file mode 100644 index 0000000..e69de29 diff --git a/TemplateCodeVue3/PublicMacro/AppFormMarco.vm b/TemplateCodeVue3/PublicMacro/AppFormMarco.vm new file mode 100644 index 0000000..0f42009 --- /dev/null +++ b/TemplateCodeVue3/PublicMacro/AppFormMarco.vm @@ -0,0 +1,1520 @@ +#set($pKeyName = "${context.pKeyName}") +#set($mastTableList = $context.mastTable) +#set($setPermission = '$'+"permission") +#set($toast='this.$u.toast(res.msg)') +#set($menuId = "menuId") +#set($useBtnPermission=${context.useBtnPermission}) +#set($useFormPermission=${context.useFormPermission}) +#set($isFlow=${context.isFlow}) +#set($isTab=${context.isTab}) +#set($filterableModel=['select','cascader','treeSelect']) +#set($noVmodel=['groupTitle','divider','text','button',"link","alert","barcode","qrcode"]) +#set($showModelDisabledList=['rate','slider',"colorPicker"]) +##系统控件yunzhupaaskey +#set($systemyunzhupaasKey=['createUser','createTime','modifyUser','modifyTime','currOrganize','currPosition','billRule']) +## 布局控件 +#set($layoutList=['tab','collapse','steps']) +#set($showModelList=['rate','slider','uploadFile','inputNumber',"uploadImg","editor","colorPicker","sign","input","location","signature"]) +#set($extraList=['relationForm','popupSelect']) +## 获取表单信息 +#macro(AppFormRendering) + #foreach($fieLdsModel in ${context.form}) + #set($yunzhupaaskey = "${fieLdsModel.yunzhupaasKey}") + #set($isEnd = "${fieLdsModel.isEnd}") + #set($formModel = ${fieLdsModel.formModel}) + #set($config=$formModel.config) + #set($span=$config.span) + #set($outermost = ${formModel.outermost}) + #set($header = ${formModel.header}) + #if($yunzhupaaskey=='card' || $yunzhupaaskey=='row') + #if(${config.app}==true) + #if(${isEnd}=='0') + + #if($header) + #if(${formModel.headerI18nCode}){{$t('${formModel.headerI18nCode}')}}#else ${header} #end + #if(${config.tipLabel})#end + #end + #else + + #end + #end +## 步骤条表单 + #elseif($yunzhupaaskey=='steps') + #set($stepsModel = ${formModel.model}) + #set($stepNum = ${formModel.childNum}) + #if(${config.app}==true) + #if(${isEnd}=='0') + #if(${outermost}=='0') + + + + #else + + #end + #else + #if(${outermost}=='0') + + + #else + + #end + #end + #end + #elseif($yunzhupaaskey=='collapse') + #set($collapse = "u-collapse") + #set($tabNum = ${formModel.childNum}) + #if(${outermost}=='1') + #set($collapse = "u-collapse-item") + #end + #if(${config.app}==true) + #if(${isEnd}=='0') + #if(${outermost}=='0') + <${collapse} ref="${formModel.model}Current" :accordion="${formModel.accordion}" v-model="${formModel.model}Current"> + #else + <${collapse} #if($formModel.titleI18nCode) :title="$t('${formModel.titleI18nCode}')" #else title="${formModel.title}"#end + @change="onCollapseChange" :open="${formModel.model}active.indexOf('${formModel.name}')>-1" name="${formModel.name}" class="collapse-item"> + #end + #else + + #end + #end + #elseif(${noVmodel.contains($yunzhupaaskey)}) + #set($defaultName="") + #set($tag=${config.tag}) + #set($divider ="") + #set($itemBox = "form-item-box") + #set($itemLabel = "") + #if($yunzhupaaskey=="groupTitle") + #set($itemBox="") + #elseif($yunzhupaaskey=="divider") + #set($divider ="half-width=""200"" height=""80""") + #set($defaultName="$formModel.content") + #elseif($yunzhupaaskey=="qrcode") + #set($itemLabel = "${config.label}") + #elseif($yunzhupaaskey=="barcode") + #set($itemLabel = "${config.label}") + #end + #if(${config.app}==true) + #if(${itemBox}) + + + #end + <${tag} + #if($formModel.dataType) dataType='${formModel.dataType}' :formData="${context.formModel}" :key="timeKey" #end + #if($formModel.height) :height='${formModel.height}'#end + #if($formModel.width) :width='${formModel.width}'#end + #if($formModel.format) format='${formModel.format}'#end + #if($formModel.staticText) staticText='${formModel.staticText}'#end + #if($formModel.lineColor) lineColor='${formModel.lineColor}'#end + #if($formModel.background) background='${formModel.background}'#end + #if($formModel.relationField) relationField='${formModel.relationField}'#end + #if($formModel.colorDark) colorDark='${formModel.colorDark}'#end + #if($formModel.colorLight) colorLight='${formModel.colorLight}'#end + #if($formModel.title || $formModel.titleI18nCode) #if(${formModel.titleI18nCode}) :title="$t('${formModel.titleI18nCode}', '${formModel.title}')" + #else title="${formModel.title}" #end#end + #if($formModel.description || $formModel.descriptionI18nCode) #if(${formModel.descriptionI18nCode}) :description="$t('${formModel.descriptionI18nCode}', '${formModel.description}')" + #else description="${formModel.description}" #end#end + #if($formModel.closeText || $formModel.closeTextI18nCode) #if(${formModel.closeTextI18nCode}) :closeText="$t('${formModel.closeTextI18nCode}', '${formModel.closeText}')" + #else closeText="${formModel.closeText}" #end#end + #if($formModel.tagIcon) tagIcon='${formModel.tagIcon}'#end + #if($formModel.showIcon) showIcon #end + #if($formModel.closable) closable #end + #if($formModel.target) target='${formModel.target}'#end + #if($formModel.href) href='${formModel.href}'#end + #if($formModel.buttonText || $formModel.buttonTextI18nCode) #if(${formModel.buttonTextI18nCode}) :buttonText="$t('${formModel.buttonTextI18nCode}', '${formModel.buttonText}')" + #else buttonText="${formModel.buttonText}" #end#end + #if($formModel.align) align='${formModel.align}'#end + #if($formModel.type) type='${formModel.type}'#end + #if($formModel.textStyle) :textStyle='${formModel.textStyle}'#end + #if($config.defaultValue) value="${config.defaultValue}"#end + #if($formModel.helpMessage && ${formModel.content}) helpMessage ="${formModel.helpMessage}" #if(${formModel.helpMessageI18nCode}) :tipLabel="$t('${formModel.helpMessageI18nCode}')" + #else tipLabel="${formModel.helpMessage}"#end @groupIcon="clickIcon(#if(${formModel.contentI18nCode}) $t('${formModel.contentI18nCode}') #else `${formModel.content}` #end,#if(${formModel.helpMessageI18nCode}) $t('${formModel.helpMessageI18nCode}')#else `${formModel.helpMessage}` #end)" #end + #if($divider) ${divider}#end + #if($formModel.content) #if(${formModel.contentI18nCode}) :value="$t('${formModel.contentI18nCode}')"#else value="${formModel.content}" #end #if(${formModel.contentI18nCode}) :content="$t('${formModel.contentI18nCode}')"#else content="${formModel.content}" #end#end + #if($formModel.contentPosition) contentPosition="${formModel.contentPosition}" #end> + #if(${defaultName}) + $!{defaultName} + #end + + #if(${itemBox}) + + + #end + #end + #elseif($yunzhupaaskey=='tab') + #set($tabModel = ${formModel.model}) + #set($tabNum = ${formModel.childNum}) + #if(${config.app}==true) + #if(${isEnd}=='0') + #if(${outermost}=='0') + + + + #else + + #end + #else + #if(${outermost}=='0') + + + #else + + #end + #end + #end + #elseif($yunzhupaaskey=='mastTable') + #set($mastTableModel = $fieLdsModel.formMastTableModel) + #set($html = $mastTableModel.mastTable.fieLdsModel) + #set($formModel="${context.formModel}") + #set($showModel="") + #set($tableModel = "") + #appForm('mastTable' $html $formModel $showModel $tableModel) + #elseif($yunzhupaaskey=='mast') + #set($html = $fieLdsModel.formColumnModel.fieLdsModel) + #set($formModel = "${context.formModel}") + #set($showModel="") + #set($tableModel = "") + #appForm('mast' $html $formModel $showModel $tableModel) + #elseif($yunzhupaaskey=='table') + #set($child = $fieLdsModel.childList) + #set($childApp=$child.app) + #set($tableModel = ${child.tableModel}) + #set($columnBtnsList = ${child.columnBtnsList}) + #set($footerBtnsList = ${child.footerBtnsList}) + #set($className = "") + #foreach($children in ${context.children}) + #if(${children.tableModel}==${child.tableModel}) + #set($className = "${children.className}") + #end + #end + #set($showJudge= "") + #set($showTableWrite="") + #if(${isFlow}==false && ${useFormPermission}) + #set($showJudge= "v-if="""+"${setPermission}.hasFormP('"+${tableModel}+"',menuId)"+"""") + #elseif(${isFlow}) + #set($showJudge= "v-if="""+"judgeShow('"+${className}+"List')"+"""") + #set($showTableWrite="!judgeWrite('"+${className}+"List')") + #end + #if($childApp == true) + + + #if(${child.labelI18nCode}) {{$t('${child.labelI18nCode}')}} #else ${child.label} #end + #if(${child.tipLabel}) + + #end + + + + ({{i+1}}) + + + #foreach($childListAll in ${child.childList}) + #set($html = $childListAll.fieLdsModel) + #set($formModel="${context.formModel}.${className}List[i]") + #set($showModel="${className}") + #appForm('table' $html $formModel $showModel $tableModel) + #end + + + #foreach($footerList in ${child.footerBtnsList}) + #set($btnvalue = "$footerList.value") + #set($btnlabel = "$footerList.label") + #set($btnshow = $footerList.show) + #set($btnType = "$footerList.btnType") + #set($btnIcon = "$footerList.btnIcon") + #if($btnshow && $btnvalue!='batchRemove' && $footerList.actionType!=2) + + + #if(${footerList.labelI18nCode}) {{$t('${footerList.labelI18nCode}')}} #else ${btnlabel} #end + + #end + #end + + #set($showSummary = $child.showSummary) + #if($showSummary) + + + #if(${child.labelI18nCode}){{$t('${child.labelI18nCode}')}}#else${child.label}#end{{$t('component.table.summary','合计')}} + + + + + + + + #end + + #end + #end + #end +#end +#macro(appForm $key $html $formModel $showModel $tableModel) + #set($model = "${html.vModel}") + #set($slot = ${html.slot}) + #set($prop="${html.vModel}") + #set($config = $html.config) + #set($placeholder = "${html.placeholder}") + #set($show = ${config.noShow}) + #if(${isFlow}) + #set($show = false) + #end + #set($vmodel="${formModel}.${model}") + #set($modelProps="") + #set($modelOptions="") + #set($modelUpload="") + #set($modelColumnOptions="") + #set($modelExtraOptions="") + #set($yunzhupaaskey="${config.yunzhupaasKey}") + #set($tag="") + #set($labelSuffix="${context.labelSuffix}") + #set($list="${model}") + #set($type=${html.type}) + #set($showList = ${model}) + #set($isStorage="${html.isStorage}") + #set($showJudge="") + #if(${isFlow}==false && ${useFormPermission}) + #set($showJudge= "v-if="""+"${setPermission}.hasFormP('"+${showList}+"',menuId)"+"""") + #elseif(${isFlow}) + #set($showJudge= "v-if="""+"judgeShow('"+${showList}+"')"+"""") + #end + #set($relationField="") + #set($relationModel = "") + #set($roleOrgroup = "") + #set($showWrite = "") + #set($required = ".${prop}") + #set($childoptions="") + #set($inputalign="") + #set($ableRelationIds="") + #set($rowIndex="") + #set($formData="") + #set($templateJson="") + #set($maskConfig="") + #set($locationScope="") + #set($startTime="") + #set($endTime="") + #set($dataType="${config.dataType}") + #if($yunzhupaaskey=='input') + #set($maskConfig="maskConfig.${model}") + #end + #if($yunzhupaaskey=='location') + #set($locationScope="locationScope.${model}") + #end + #if($yunzhupaaskey=='userSelect' && ${html.relationField}) + #set($ableRelationIds="${context.formModel}.${html.relationField}") + #if($html.relationChild) + #set($ableRelationIds="${context.formModel}.${showModel}List[i].${html.relationField}") + #end + #end + #if($yunzhupaaskey=='datePicker' || $yunzhupaaskey=='timePicker') + #set($startRelationField="''") + #if($config.startRelationField) + #set($startRelationField="${context.formModel}.${config.startRelationField}") + #if($config.startChild) + #set($startRelationField="${context.formModel}.${showModel}List[i].${config.startRelationField}") + #end + #end + #set($startTimeValue="#if(${config.startTimeValue})'${config.startTimeValue}'#else''#end") + #set($startTimeType="#if(${config.startTimeType})${config.startTimeType}#else''#end") + #set($startTimeTarget="#if(${config.startTimeTarget})${config.startTimeTarget}#else''#end") + #set($endRelationField="''") + #if($config.endRelationField) + #set($endRelationField="${context.formModel}.${config.endRelationField}") + #if($config.endChild) + #set($endRelationField="${context.formModel}.${showModel}List[i].${config.endRelationField}") + #end + #end + #set($endTimeValue="#if(${config.endTimeValue})'${config.endTimeValue}'#else''#end") + #set($endTimeType="#if(${config.endTimeType})${config.endTimeType}#else''#end") + #set($endTimeTarget="#if(${config.endTimeTarget})${config.endTimeTarget}#else''#end") + + #set($startTime="dateTime(${config.startTimeRule},${startTimeType},${startTimeTarget},${startTimeValue},${startRelationField})") + #set($endTime="dateTime(${config.endTimeRule},${endTimeType},${endTimeTarget},${endTimeValue},${endRelationField})") + #if($yunzhupaaskey=='timePicker') + #set($startTime="time(${config.startTimeRule},${startTimeType},${startTimeTarget},${startTimeValue},'${html.format}',${startRelationField})") + #set($endTime="time(${config.endTimeRule},${endTimeType},${endTimeTarget},${endTimeValue},'${html.format}',${endRelationField})") + #end + #end + #set($configLabel="${config.label}") + #if($yunzhupaaskey=='roleSelect' || $yunzhupaaskey=='groupSelect') + #set($roleOrgroup = "vModel='"+${prop}+"'") + #end + #if($yunzhupaaskey=='relationForm' || $yunzhupaaskey=='popupSelect'|| $yunzhupaaskey=='popupTableSelect'|| $yunzhupaaskey=='autoComplete') + #set($relationField = "relationField='"+${html.relationField}+"'") + #set($relationModel = "vModel='"+${prop}+"'") + #set($rowIndex="null") + #set($formData="${context.formModel}") + #set($templateJson="interfaceRes.${model}") + #end + #if($yunzhupaaskey=='popupAttr' || $yunzhupaaskey=='relationFormAttr') + #set($relationField = "relationField='"+${html.relationField}+"'") + #if($isStorage=='0') + #if(${isFlow}==false && ${useFormPermission}) + #set($showJudge= "v-if="""+"${setPermission}.hasFormP('"+${html.relationField}+"',menuId)"+"""") + #elseif(${isFlow}) + #set($showJudge = "v-if="""+"judgeShow('"+${html.relationField}+"')"+"""") + #end + #end + #set($showList = "") + #end + #if($key=='table') + #set($showList="") + #set($labelSuffix="") + #set($prop="") + #set($required = "") + #if(${isFlow}==false) + #if(${html.disabled}) + #set($showWrite="disabled") + #end + #if(${useFormPermission}) + #set($showJudge= "v-if="""+"${setPermission}.hasFormP('"+${tableModel}+"-"+${model}+"',menuId)"+"""") + #end + #elseif(${isFlow}) + #set($required = "['${showModel}List-${model}']") + #set($showJudge= "v-if="""+"judgeShow('"+${showModel}+"List-"+${model}+"')"+"""") + #set($showWrite=":disabled=""judgeWrite('"+${showModel}+"List')||judgeWrite('"+${showModel}+"List-"+${model}+"')""") + #end + #set($childoptions="${showModel}") + #if($yunzhupaaskey=='input') + #set($maskConfig="maskConfig.${showModel}${model}") + #end + #if($yunzhupaaskey=='location') + #set($locationScope="locationScope.${showModel}${model}") + #end + #if($yunzhupaaskey=='relationForm' || $yunzhupaaskey=='popupSelect'|| $yunzhupaaskey=='popupTableSelect'|| $yunzhupaaskey=='autoComplete') + #set($relationModel = ":vModel=""'"+${model}+"'+i""") + #set($rowIndex="i") + #set($formData="${context.formModel}") + #set($templateJson="interfaceRes.${showModel}${model}") + #end + #if($yunzhupaaskey=='popupAttr' || $yunzhupaaskey=='relationFormAttr') + #set($relationField = ":relationField=""'"+${html.relationField}+"'+i""") + #if($isStorage=='0') + #if(${isFlow}==false && ${useFormPermission}) + #set($showJudge= "v-if="""+"${setPermission}.hasFormP('"+${tableModel}+"-"+${html.relationField}+"',menuId)"+"""") + #elseif(${isFlow}) + #set($showJudge= "v-if="""+"judgeShow('"+${showModel}+"List-"+${html.relationField}+"')"+"""") + #end + #end + #set($showWrite="") + #end + #end + #if(${showList}) + #set($showWrite="") + #if(${isFlow}==false && ${html.disabled}) + #set($showWrite="disabled") + #elseif(${isFlow}) + #set($showWrite=":disabled=""judgeWrite('"+${showList}+"')""") + #end + #end + #if($yunzhupaaskey=='createUser' || $yunzhupaaskey=='createTime' || $yunzhupaaskey=='modifyUser' || $yunzhupaaskey=='modifyTime' || $yunzhupaaskey=='currOrganize' || $yunzhupaaskey=='currDept' || $yunzhupaaskey=='currPosition' || $yunzhupaaskey=='billRule') +## #set($placeholder = "系统自动生成") + #set($html.placeholderI18nCode = "component.com.yunzhupaas.common.autoGenerate") + #set($showWrite="disabled") + #end + #if($yunzhupaaskey=='input' || $yunzhupaaskey=='textarea' || $yunzhupaaskey=='modifyUser' || $yunzhupaaskey=='modifyTime' || $yunzhupaaskey=='billRule') + #if($yunzhupaaskey=='textarea') + #set($type = "textarea") + #end + #set($inputalign="right") + #elseif($yunzhupaaskey=='editor') + #set($configLabel="") + #elseif($yunzhupaaskey=='uploadImg') + #set($modelUpload="${vmodel}") + #elseif($yunzhupaaskey=='popupSelect') + #set($type = "popup") + #elseif($yunzhupaaskey=='relationForm') + #set($type = "relation") + #elseif($yunzhupaaskey=='datePicker' || $yunzhupaaskey=='timePicker') + #set($type = "date") + #if($yunzhupaaskey=='timePicker') + #set($type = "time") + #end + #elseif($yunzhupaaskey=='organizeSelect' || $yunzhupaaskey=='depSelect' || $yunzhupaaskey=='posSelect' ) + #if($yunzhupaaskey=='organizeSelect') + #set($type = "organize") + #elseif($yunzhupaaskey=='depSelect') + #set($type = "department") + #elseif($yunzhupaaskey=='posSelect') + #set($type = "position") + #end + #elseif($yunzhupaaskey=='popupAttr') + #set($type = "popupAttr") + #elseif($yunzhupaaskey=='relationFormAttr') + #set($type = "relationFormAttr") + #end + #if($yunzhupaaskey=='checkbox' || $yunzhupaaskey=='select' || $yunzhupaaskey=='cascader'|| $yunzhupaaskey=='radio' || $yunzhupaaskey=='treeSelect') + #set($modelProps="${childoptions}${list}Props") + #set($modelOptions="${childoptions}${list}Options") + #if(${childoptions} && ${dataType}=='dynamic') + #set($modelOptions="${context.formModel}.${childoptions}List[i].${list}Options") + #end + #end + #if($yunzhupaaskey=='relationForm' || $yunzhupaaskey=='popupSelect'|| $yunzhupaaskey=='popupTableSelect') + #set($modelColumnOptions="${childoptions}${list}ColumnOptions") + #if($key!='table') + #set($modelExtraOptions="${childoptions}${list}ExtraOptions") + #end + #end + #set($tag=${config.tag}) + #if($yunzhupaaskey=='popupTableSelect') + #set($tag='yunzhupaasPopupSelect') + #end + #set($end ="/"+ ${tag}) + #if($show == false && ${config.app}==true) + #if($tag) + + + <${tag} #if($model)v-model="${vmodel}"#if(${showWrite}) ${showWrite} #end#end + #if($model) + #if($key=='table') + @change="changeData('${showModel}-${model}',i)" + :fieldKey="'${showModel}-${model}'+i" + #else + @change="changeData('${model}',-1)" + :fieldKey="'${model}'" + #end + #end + #if($yunzhupaaskey=='uploadFile') :list="${vmodel}" #end + #if($slot.prepend) prepend="${slot.prepend}" #end + #if($slot.append) append="${slot.append}" #end + #if($rowIndex) :rowIndex="${rowIndex}" #end + #if($formData) :formData="${formData}" #end + #if($templateJson) :templateJson="${templateJson}" #end + #if($yunzhupaaskey=='relationForm') :queryType=#if(${html.queryType})"${html.queryType}"#else"0"#end #end + #if($html.isInvoke) isInvoke #end + #if($html.allowhalf) allow-half #end + #if($ableRelationIds) :ableRelationIds = "${ableRelationIds}" #end + #if($startTime) :startTime="${startTime}" #end + #if($endTime) :endTime="${endTime}" #end + #if($html.isStorage || $html.isStorage=='0') :isStorage="${html.isStorage}" #end + #if($inputalign) input-align='right' #end + #if($html.prefixIcon) prefix-icon="${html.prefixIcon}" #end + #if($html.suffixIcon) suffix-icon="${html.suffixIcon}" #end + #if($html.selectType) selectType="${html.selectType}" #end + #if($html.useScan) useScan #end + #if($html.useMask) useMask #end + #if($html.showCount) showCount #end + #if($html.showPassword) showPassword #end + #if($maskConfig) :maskConfig="${maskConfig}" #end + #if($html.autoLocation) autoLocation #end + #if($html.enableLocationScope) enableLocationScope #end + #if($html.adjustmentScope) :adjustmentScope="${html.adjustmentScope}" #end + #if($html.enableDesktopLocation) enableDesktopLocation #end + #if($locationScope) :locationScope="${locationScope}" #end + #if($html.ableIds) :ableIds="ableAll.${showModel}${model}ableIds" #end + #if($html.format) format="${html.format}" #end + #if($html.showLevel) showLevel="${html.showLevel}" #end + #if($html.optionType) optionType="${html.optionType}" #end + #if($html.tipText) tipText="${html.tipText}" #end + #if($html.total) :total="${html.total}" #end + #if($html.precision) :precision="${html.precision}" #end + #if($html.direction) direction="${html.direction}" #end + #if($html.isAmountChinese) isAmountChinese #end + #if($html.thousands) thousands #end + #if($html.addonAfter) addonAfter="${html.addonAfter}" #end + #if($html.addonBefore) addonBefore="${html.addonBefore}" #end + #if($html.controls) :controls="${html.controls}" #end + #if($html.hasPage) hasPage #end + #if($html.clearable) clearable #end + #if($html.filterable) filterable #end + #if($html.propsValue) propsValue="${html.propsValue}" #end + #if($html.popupWidth) popupWidth="${html.popupWidth}" #end + #if($html.popupTitle) popupTitle="${html.popupTitle}" #end + #if($html.popupType) popupType="${html.popupType}" #end + #if($relationField) ${relationField} #end + #if($relationModel) ${relationModel} #end + #if($roleOrgroup) ${roleOrgroup} #end + #if($html.showField) showField="${html.showField}" #end + #if($modelColumnOptions) :columnOptions="${modelColumnOptions}"#end + #if($modelExtraOptions) :extraOptions="${modelExtraOptions}"#end + #if($html.modelId) modelId="${html.modelId}" #end + #if($html.interfaceId) interfaceId="${html.interfaceId}" #end + #if($html.pageSize) :pageSize="${html.pageSize}" #end + #if($html.sizeUnit) sizeUnit="${html.sizeUnit}" #end + #if($html.accept) accept="${html.accept}" #end + #if($html.fileSize) :fileSize="${html.fileSize}" #end + #if($html.limit) :limit="${html.limit}" #end + #if($html.pathType) pathType="${html.pathType}" #end + #if($html.sortRule) :sortRule='${html.sortRule}' #end + #if($html.timeFormat) timeFormat="${html.timeFormat}" #end + #if($html.folder) folder="${html.folder}" #end + #if($html.placeholderI18nCode) :placeholder="$t('${html.placeholderI18nCode}')" #else placeholder="${placeholder}"#end + #if($modelProps) :props="${modelProps}"#end + #if($modelOptions) :options="${modelOptions}"#end + #if($modelUpload) :value="${modelUpload}"#end + #if($html.multiple) :multiple="${html.multiple}"#end + #if($html.maxlength) :maxlength="${html.maxlength}"#end + #if($html.min) :min="${html.min}"#end + #if($html.level || ${html.level}==0) :level="${html.level}" #end + #if($html.count) :max="${html.count}"#end + #if($html.max) :max="${html.max}"#end + #if($type) type="${type}"#end + #if($html.step) :step="${html.step}"#end + #if($html.textStyle) :textStyle='${html.textStyle}'#end + #if($html.readonly) readonly#end + #if($yunzhupaaskey == 'slider' ) style="width: 100%;"#end + #if($html.contentPosition) contentPosition="${html.contentPosition}"#end> + + + + #end + #end +#end +## 获取详情信息 +#macro(AppDetailRendering) + #foreach($fieLdsModel in ${context.form}) + #set($yunzhupaaskey = "${fieLdsModel.yunzhupaasKey}") + #set($isEnd = "${fieLdsModel.isEnd}") + #set($formModel = ${fieLdsModel.formModel}) + #set($config=$formModel.config) + #set($span=$config.span) + #set($outermost = ${formModel.outermost}) + #set($header = ${formModel.header}) + #if($yunzhupaaskey=='card' || $yunzhupaaskey=='row') + #if(${config.app}==true) + #if(${isEnd}=='0') + + #if($header) + #if(${formModel.headerI18nCode}){{$t('${formModel.headerI18nCode}')}}#else ${header} #end + #if(${config.tipLabel})#end + #end + #else + + #end + #end + #elseif($yunzhupaaskey=='tab') + #set($tabModel = ${formModel.model}) + #set($tabNum = ${formModel.childNum}) + #if(${config.app}==true) + #if(${isEnd}=='0') + #if(${outermost}=='0') + + + + #else + + #end + #else + #if(${outermost}=='0') + + + #else + + #end + #end + #end + #elseif($yunzhupaaskey=='steps') + #set($stepsModel = ${formModel.model}) + #set($stepNum = ${formModel.childNum}) + #if(${config.app}==true) + #if(${isEnd}=='0') + #if(${outermost}=='0') + + + + #else + + #end + #else + #if(${outermost}=='0') + + + #else + + #end + #end + #end + #elseif($yunzhupaaskey=='collapse') + #set($collapse = "u-collapse") + #set($tabNum = ${formModel.childNum}) + #if(${outermost}=='1') + #set($collapse = "u-collapse-item") + #end + #if(${config.app}==true) + #if(${isEnd}=='0') + #if(${outermost}=='0') + <${collapse} ref="${formModel.model}Current" :accordion="${formModel.accordion}" v-model="${formModel.model}Current"> + #else + <${collapse} #if($formModel.titleI18nCode) :title="$t('${formModel.titleI18nCode}')" #else title="${formModel.title}"#end + @change="onCollapseChange" :open="${formModel.model}active.indexOf('${formModel.name}')>-1" name="${formModel.name}" class="collapse-item"> + #end + #else + + #end + #end + #elseif(${noVmodel.contains($yunzhupaaskey)}) + #set($defaultName="") + #set($tag=${config.tag}) + #set($divider ="") + #set($itemBox = "form-item-box") + #set($itemLabel = "") + #if($yunzhupaaskey=="groupTitle") + #set($itemBox="") + #elseif($yunzhupaaskey=="divider") + #set($divider ="half-width=""200"" height=""80""") + #set($defaultName=$formModel.content) + #elseif($yunzhupaaskey=="qrcode") + #set($itemLabel = "${config.label}") + #elseif($yunzhupaaskey=="barcode") + #set($itemLabel = "${config.label}") + #end + #if(${config.app}==true) + + #if(${itemBox}) + + #end + <${tag} + #if($formModel.dataType) dataType='${formModel.dataType}' :formData="${context.formModel}" :key="timeKey" #end + #if($formModel.height) :height='${formModel.height}'#end + #if($formModel.width) :width='${formModel.width}'#end + #if($formModel.format) format='${formModel.format}'#end + #if($formModel.staticText) staticText='${formModel.staticText}'#end + #if($formModel.lineColor) lineColor='${formModel.lineColor}'#end + #if($formModel.background) background='${formModel.background}'#end + #if($formModel.relationField) relationField='${formModel.relationField}_id'#end + #if($formModel.colorDark) colorDark='${formModel.colorDark}'#end + #if($formModel.colorLight) colorLight='${formModel.colorLight}'#end + #if($formModel.title || $formModel.titleI18nCode) #if(${formModel.titleI18nCode}) :title="$t('${formModel.titleI18nCode}', '${formModel.title}')" + #else title="${formModel.title}" #end#end + #if($formModel.tagIcon) tagIcon='${formModel.tagIcon}'#end + #if($formModel.showIcon) showIcon #end + #if($formModel.closable) closable #end + #if($formModel.target) target='${formModel.target}'#end + #if($formModel.href) href='${formModel.href}'#end + #if($formModel.buttonText || $formModel.buttonTextI18nCode) #if(${formModel.buttonTextI18nCode}) :buttonText="$t('${formModel.buttonTextI18nCode}', '${formModel.buttonText}')" + #else buttonText="${formModel.buttonText}" #end#end + #if($formModel.align) align='${formModel.align}'#end + #if($formModel.type) type='${formModel.type}'#end + #if($formModel.textStyle) :textStyle='${formModel.textStyle}'#end + #if($config.defaultValue) value="${config.defaultValue}"#end + #if($formModel.helpMessage && ${formModel.content}) helpMessage ="${formModel.helpMessage}" #if(${formModel.helpMessageI18nCode}) :tipLabel="$t('${formModel.helpMessageI18nCode}')" + #else tipLabel="${formModel.helpMessage}"#end @groupIcon="clickIcon(#if(${formModel.contentI18nCode}) $t('${formModel.contentI18nCode}') #else `${formModel.content}` #end,#if(${formModel.helpMessageI18nCode}) $t('${formModel.helpMessageI18nCode}')#else `${formModel.helpMessage}` #end)" #end + #if($divider) ${divider}#end + #if($formModel.helpMessage) #if(${formModel.helpMessageI18nCode}) :helpMessage ="$t('${formModel.helpMessageI18nCode}')" #else helpMessage ="${formModel.helpMessage}" #end #end + #if($formModel.content) #if(${formModel.contentI18nCode}) :value="$t('${formModel.contentI18nCode}')"#else value="${formModel.content}" #end #if(${formModel.contentI18nCode}) :content="$t('${formModel.contentI18nCode}')"#else content="${formModel.content}" #end#end + #if($formModel.contentPosition) contentPosition="${formModel.contentPosition}" #end> + #if(${defaultName}) + $!{defaultName} + #end + + #if(${itemBox}) + + #end + + #end + #elseif($yunzhupaaskey=='mastTable') + #set($mastTableModel = $fieLdsModel.formMastTableModel) + #set($html = $mastTableModel.mastTable.fieLdsModel) + #set($formModel="${context.formModel}") + #set($showModel="") + #set($tableFieldModel="") + #appDetail('mastTable' $html $formModel $showModel $tableFieldModel) + #elseif($yunzhupaaskey=='mast') + #set($html = $fieLdsModel.formColumnModel.fieLdsModel) + #set($formModel = "${context.formModel}") + #set($showModel="") + #set($tableFieldModel="") + #appDetail('mast' $html $formModel $showModel $tableFieldModel) + #elseif($yunzhupaaskey=='table') + #set($child = $fieLdsModel.childList) + #set($tableModel = ${child.tableModel}) + #set($tableFieldModel="${tableModel}") + #set($childApp=$child.app) + #set($className = "") + #foreach($children in ${context.children}) + #if(${children.tableModel}==${child.tableModel}) + #set($className = "${children.className}") + #end + #end + #set($showJudge= "") + #set($showTableWrite="") + #if($childApp == true) + + + #if(${child.labelI18nCode}) {{$t('${child.labelI18nCode}')}} #else ${child.label} #end + #if(${child.tipLabel}) + + #end + + + + ({{i+1}}) + + #foreach($childListAll in ${child.childList}) + #set($html = $childListAll.fieLdsModel) + #set($formModel="${context.formModel}.${tableFieldModel}[i]") + #set($showModel="${className}") + #appDetail('table' $html $formModel $showModel $tableFieldModel) + #end + + #set($showSummary = $child.showSummary) + #if($showSummary) + + + #if(${child.labelI18nCode}){{$t('${child.labelI18nCode}')}}#else${child.label}#end{{$t('component.table.summary','合计')}} + + + + + + + + #end + + #end + #end + #end +#end +#macro(appDetail $key $html $formModel $showModel $tableFieldModel) + #set($model = "${html.vModel}") + #set($slot = ${html.slot}) + #set($prop="${html.vModel}") + #set($config = $html.config) + #set($show = ${config.noShow}) + #set($vmodel="${formModel}.${model}") + #set($labelSuffix="${context.labelSuffix}") + #set($yunzhupaaskey="${config.yunzhupaasKey}") + #set($tag="view") + #set($list="${model}") + #set($maskConfig = "maskConfig.${model}") + #set($type=${html.type}) + #set($showJudge= "") + #set($inputalign="") + #set($isStorage="${html.isStorage}") + #set($hasFormP="#if($tableFieldModel)${tableFieldModel}-#end${model}") + #set($relationField="") + #set($relationModel = "") + #set($roleOrgroup = "") + #set($permission = "${useFormPermission}") + #set($childoptions="") + #set($ableRelationIds="") + #if($yunzhupaaskey=='userSelect' && ${html.relationField}) + #set($ableRelationIds="${context.formModel}.${html.relationField}") + #end + #set($configLabel="${config.label}") + #if($yunzhupaaskey=='roleSelect' || $yunzhupaaskey=='groupSelect') + #set($roleOrgroup = "vModel='"+${prop}+"'") + #end + #if($yunzhupaaskey=='relationForm' || $yunzhupaaskey=='popupSelect'|| $yunzhupaaskey=='popupTableSelect') + #set($relationField = "relationField='"+${html.relationField}+"'") + #set($relationModel = "vModel='"+${prop}+"'") + #end + #if($yunzhupaaskey=='popupAttr' || $yunzhupaaskey=='relationFormAttr') + #set($relationField = "relationField='"+${html.relationField}+"'") + #set($showList = "") + #set($showJudge = "") + #set($permission = "${useFormPermission}") + #if($isStorage=='0') + #set($hasFormP="#if($tableFieldModel)${tableFieldModel}-#end${html.relationField}") + #set($model = "${html.relationField}") + #set($vmodel="${formModel}.${html.relationField}_${html.showField}") + #end + #end + #if($key=='table') + #set($labelSuffix="") + #set($prop="") + #set($childoptions="${showModel}") + #if($yunzhupaaskey=='relationForm' || $yunzhupaaskey=='popupSelect'|| $yunzhupaaskey=='popupTableSelect') + #set($relationModel = ":vModel=""'"+${model}+"'+i""") + #if($yunzhupaaskey=='relationForm' || $yunzhupaaskey=='popupSelect') + #set($relationModel = ":vModel=""'"+${model}+"_yunzhupaasTable_"+${config.relationTable}+"'+i""") + #end + #end + #if($yunzhupaaskey=='popupAttr' || $yunzhupaaskey=='relationFormAttr') + #set($relationField = ":relationField=""'"+${html.relationField}+"_yunzhupaasTable_"+${config.relationTable}+"'+i""") + #set($showList = "") + #set($permission = "${useFormPermission}") + #if($isStorage=='0') + #set($hasFormP="#if($tableFieldModel)${tableFieldModel}-#end${html.relationField}") + #set($model = "${html.relationField}") + #set($vmodel="${formModel}.${html.relationField}_${html.showField}") + #end + #end + #if($yunzhupaaskey=='userSelect' && ${html.relationField}) + #set($ableRelationIds="${context.formModel}.${showModel}List[i].${html.relationField}") + #end + #set($maskConfig = "maskConfig.${showModel}${model}") + #end + #if($yunzhupaaskey=='input' || $yunzhupaaskey=='textarea' || $yunzhupaaskey=='modifyUser' || $yunzhupaaskey=='modifyTime' || $yunzhupaaskey=='billRule') + #set($inputalign="right") + #end + #if($yunzhupaaskey=='inputNumber') + #set($tag = "yunzhupaas-number-box") + #elseif($yunzhupaaskey=='slider') + #set($tag = "yunzhupaas-slider") + #elseif($yunzhupaaskey=='input') + #set($tag = "yunzhupaas-input") + #elseif($yunzhupaaskey=='rate') + #set($tag = "yunzhupaas-rate") + #elseif($yunzhupaaskey=='editor') + #set($configLabel="") + #set($tag = "yunzhupaas-editor") + #elseif($yunzhupaaskey=='uploadImg') + #set($tag = "yunzhupaas-upload") + #elseif($yunzhupaaskey=='uploadFile') + #set($tag = "yunzhupaas-file") + #elseif($yunzhupaaskey=='sign') + #set($tag = "yunzhupaas-sign") + #elseif($yunzhupaaskey=='location') + #set($tag = "yunzhupaas-location") + #elseif($yunzhupaaskey=='colorPicker') + #set($tag = "yunzhupaas-colorPicker") + #elseif($yunzhupaaskey=='signature') + #set($tag = "yunzhupaas-signature") + #end + #if($config.tag && $tag!='view') + #set($tag = $config.tag) + #end + #set($end ="/"+ ${tag}) + #if($show == false && ${config.app}==true) + #if($tag) + + + <${tag} + #set($classText="yunzhupaas-detail-text") + #if($yunzhupaaskey=='editor') + #set($classText="editor-box") + #end + class = "${classText}" + #if($html.count) :max="${html.count}"#end + #if($html.max) :max="${html.max}"#end + #if(${showModelList.contains($yunzhupaaskey)}) v-model="${vmodel}" + #if(${showModelDisabledList.contains($yunzhupaaskey)}) disabled #else detailed #end + #if(${maskConfig}) :maskConfig="${maskConfig}" #end + #end + #if($yunzhupaaskey=='editor') :html="${vmodel}" #end + #if($yunzhupaaskey=='sign') :fieldKey="${html.vModel}" #end + #if($yunzhupaaskey=='relationForm') @click.native="toDetail(${vmodel}_id,'${html.modelId}')" #end + #if($slot.prepend) prepend="${slot.prepend}" #end + #if($slot.append) append="${slot.append}" #end + #if($html.allowhalf) allow-half #end + #if($ableRelationIds) :ableRelationIds = "${ableRelationIds}" #end + #if($html.isStorage || $html.isStorage=='0') isStorage="${html.isStorage}" #end + #if($inputalign) input-align='right' #end + #if($html.prefixIcon) prefix-icon="${html.prefixIcon}" #end + #if($html.suffixIcon) suffix-icon="${html.suffixIcon}" #end + #if($html.selectType) selectType="${html.selectType}" #end + #if($html.description) description="${html.description}" #end + #if($html.closeText) closeText="${html.closeText}" #end + #if($html.direction) direction="${html.direction}" #end + #if($html.isAmountChinese) isAmountChinese #end + #if($html.thousands) thousands #end + #if($html.useMask) useMask #end + #if($html.enableLocationScope) enableLocationScope #end + #if($html.addonAfter) addonAfter="${html.addonAfter}" #end + #if($html.addonBefore) addonBefore="${html.addonBefore}" #end + #if($html.controls) :controls="${html.controls}" #end + #if($html.hasPage) hasPage #end + #if($html.filterable || $html.filterable=='false') :showSearch='${html.filterable}' #end + #if($html.propsValue) propsValue="${html.propsValue}" #end + #if($html.popupWidth) popupWidth="${html.popupWidth}" #end + #if($html.popupTitle) popupTitle="${html.popupTitle}" #end + #if($html.popupType) popupType="${html.popupType}" #end + #if($relationField) ${relationField} #end + #if($relationModel) ${relationModel} #end + #if($roleOrgroup) ${roleOrgroup} #end + #if($html.showField) showField="${html.showField}" #end + #if($html.modelId) modelId="${html.modelId}" #end + #if($html.interfaceId) interfaceId="${html.interfaceId}" #end + #if($html.pageSize) :pageSize="${html.pageSize}" #end + #if($html.accept) accept="${html.accept}" #end + #if($html.folder) folder="${html.folder}" #end + #if($html.multiple) :multiple="${html.multiple}"#end + #if($html.maxlength) :maxlength="${html.maxlength}"#end + #if($html.min) :min="${html.min}"#end + #if($html.level || ${html.level}==0) :level="${html.level}" #end + #if($type) type="${type}"#end + #if($html.step) :step="${html.step}"#end + #if($html.textStyle) :textStyle='${html.textStyle}'#end + #if($html.readonly) readonly#end + #if($html.contentPosition) contentPosition="${html.contentPosition}"#end> + #if($model && !${showModelList.contains($yunzhupaaskey)}) + #if($yunzhupaaskey=='relationForm') + + {{${vmodel}}} + + #else + {{${vmodel}}} + #end + #end + #if($key!='table' && ${extraList.contains($yunzhupaaskey)}) + + + #end + + + + #end + #end +#end +## 联动 +#macro(appableAll $fieLdsModel,$childList) + #set($html = $fieLdsModel) + #set($vModel = "${childList}${html.vModel}") + #set($config = $html.config) + #set($dataType = "${config.dataType}") + #if(${html.ableIds}) + ${vModel}ableIds:${html.ableIds}, + #end +#end +## 必填 +#macro(appRule $fieLdsModel) + #set($html = $fieLdsModel) + #set($vModel = "${html.vModel}") + #set($config = $html.config) + #set($label = "${config.label}") + #set($yunzhupaaskey = "${config.yunzhupaasKey}") + #set($listSize=$!{config.regList}) + #set($defaultValue=${config.defaultValue}) + #set($defaultValueSize=$!{config.defaultValue}) + #set($trigger = ${config.trigger}) + #if(${trigger.substring(0,1)}!='[') + #set($trigger = "'"+ ${config.trigger}+ "'") + #end + #if($vModel) + #if(!$config.defaultValue && $config.defaultValue==[]) + #set($messages='请至少选择一个') + #elseif(${config.defaultValue} && (${defaultValueSize} || $defaultValueSize.size()>0)) + #set($messages='请至少选择一个') + #elseif($html.placeholder) + #set($messages=${html.placeholder}) + #else + #set($messages='不能为空') + #end + #if(${config.required}==true|| (${listSize} && $listSize.size()>0)) + ${vModel}: [ + #if($config.required==true) + { + required: true, + message: '${label}$!{messages}', + #if($yunzhupaaskey=='checkbox' || $yunzhupaaskey=='timeRange' || $yunzhupaaskey=='dateRange' || $yunzhupaaskey=='areaSelect' || $yunzhupaaskey=='cascader') + type:'array', + #elseif($yunzhupaaskey=='organizeSelect' || $yunzhupaaskey=='uploadFile' || $yunzhupaaskey=="uploadImg") + type:'array', + #elseif($yunzhupaaskey=='userSelect' || $yunzhupaaskey=='usersSelect' || $yunzhupaaskey=='select' || $yunzhupaaskey=='depSelect' || $yunzhupaaskey=='posSelect' || $yunzhupaaskey=='popupTableSelect'|| $yunzhupaaskey=='groupSelect'|| $yunzhupaaskey=='roleSelect' || $yunzhupaaskey=='treeSelect') + #if(${html.multiple}=='true') + type:'array', + #end + #end + }, + #end + #if($listSize.size()>0) + #foreach($regList in ${config.regList}) + { + pattern: ${regList.pattern}, + message: '${label}${regList.message}', + #if($yunzhupaaskey=='checkbox' || $yunzhupaaskey=='timeRange' || $yunzhupaaskey=='dateRange' || $yunzhupaaskey=='areaSelect' || $yunzhupaaskey=='cascader') + type:'array', + #elseif($yunzhupaaskey=='organizeSelect' || $yunzhupaaskey=='uploadFile' || $yunzhupaaskey=="uploadImg") + type:'array', + #elseif($yunzhupaaskey=='userSelect' || $yunzhupaaskey=='usersSelect' || $yunzhupaaskey=='select' || $yunzhupaaskey=='depSelect' || $yunzhupaaskey=='posSelect' || $yunzhupaaskey=='popupTableSelect'|| $yunzhupaaskey=='groupSelect'|| $yunzhupaaskey=='roleSelect' || $yunzhupaaskey=='treeSelect') + #if(${html.multiple}=='true') + type:'array', + #end + #end + }, + #end + #end + ], + #end + #end +#end +## 下拉数据 +#macro(list $fieLdsModel,$childList) + #set($html = $fieLdsModel) + #set($vModel = "${childList}${html.vModel}") + #set($config = $html.config) + #set($yunzhupaaskey = "$config.yunzhupaasKey") + #if(${config.dataType}=='dictionary'||${config.dataType}=='dynamic') + ${vModel}Options:[], + #elseif(${config.dataType} == "static") + #if($html.slot.options) + ${vModel}Options:${html.slot.options}, + #elseif($html.options) + ${vModel}Options:${html.options}, + #end + #end + #if($html.props) + #set($propsModel = ${html.props}) + ${vModel}Props:{"label":"${propsModel.label}","value":"${propsModel.value}","multiple":${propsModel.multiple},"children":"${propsModel.children}"}, + #end + #if($config.props) + ${vModel}Props:{"label":"${config.props.label}","value":"${config.props.value}"}, + #end + #if($yunzhupaaskey=='relationForm' || $yunzhupaaskey=='popupSelect' || $yunzhupaaskey=='popupTableSelect') + ${vModel}ColumnOptions:[ + #foreach($columnOptions in ${html.columnOptions}) + { + "label":"${columnOptions.label}", + "value":"${columnOptions.value}" + }, + #end + ], + #extraOptions($fieLdsModel,$childList) + #end +#end +## 弹窗列表展示 +#macro(extraOptions $fieLdsModel,$childList) + #set($html = $fieLdsModel) + #set($vModel = "${childList}${html.vModel}") + #set($config = $html.config) + #set($yunzhupaaskey = "$config.yunzhupaasKey") + #if($yunzhupaaskey=='relationForm' || $yunzhupaaskey=='popupSelect' || $yunzhupaaskey=='popupTableSelect') + ${vModel}ExtraOptions:[ + #foreach($extraOptions in ${html.extraOptions}) + { + "label":"${extraOptions.label}", + "value":"${extraOptions.value}" + }, + #end + ], + #end +#end +## 弹窗数据 +#macro(extraData $fieLdsModel,$childList,$data) + #set($html = $fieLdsModel) + #set($vModel = "${childList}${html.vModel}") + #set($config = $html.config) + #set($yunzhupaaskey = "$config.yunzhupaasKey") + #if($yunzhupaaskey=='relationForm' || $yunzhupaaskey=='popupSelect') + #if($data) + #if($yunzhupaaskey=='relationForm') + get${vModel}ExtraInfo(){ + if (!this.${context.formModel}.${vModel}_id) return; + let query = { + id: this.${context.formModel}.${vModel}_id, + #if(${html.propsValue})propsValue: '${html.propsValue}'#end + }; + getRelationFormDetail('${html.modelId}', query).then(res => { + if (!res.data || !res.data.data) return + let data = JSON.parse(res.data.data) + this.extraData.${vModel} = data + }) + }, + #else + get${vModel}ExtraInfo(){ + if (!this.${context.formModel}.${vModel}_id) return; + const paramList = this.getParamList('${vModel}'); + const query = { + ids: [this.${context.formModel}.${vModel}_id], + interfaceId: '${html.interfaceId}', + propsValue: '${html.propsValue}', + relationField: '${html.relationField}', + paramList, + }; + getDataInterfaceDataInfoByIds('${html.interfaceId}', query).then(res => { + const data = res.data && res.data.length ? res.data[0] : {}; + this.extraData.${vModel} = data; + }); + }, + #end + #else + this.get${vModel}ExtraInfo() + #end + #end +#end +## option方法 +#macro(options $fieLdsModel,$childList) + #set($html = $fieLdsModel) + #set($vModel = "${childList}${html.vModel}") + #set($config = $html.config) + #set($dataType = "${config.dataType}") + #if(${dataType}=='dictionary' || ${dataType}=='dynamic') + this.get${vModel}Options() + #end +#end +## option接口 +#macro(optionsData $fieLdsModel,$childList) + #set($html = $fieLdsModel) + #set($vModel = "${childList}${html.vModel}") + #set($config = $html.config) + #set($dataType = "${config.dataType}") + #set($yunzhupaaskey="${config.yunzhupaasKey}") + #set($changeDataFormType = "1") + #set($changeDataFormData = "${html.vModel}") + #if($childList) + #set($changeDataFormData = "${childList}"+"List") + #set($changeDataFormType = "2") + #end + #set($defaultValue='""') + #if($!config.valueType=='String') + #set($defaultValue="'$!{config.defaultValue}'") + #elseif($!config.valueType=='undefined') + #set($defaultValue='""') + #else + #set($defaultValue=$!{config.defaultValue}) + #end + #if(${dataType}=='dictionary') + get${vModel}Options() { + getDictionaryDataSelector('${config.dictionaryType}').then(res => { + this.${vModel}Options = res.data.list + }) + }, + #elseif(${dataType}=='dynamic') + get${vModel}Options() { + const edit = this.isEdit + const index = this.childIndex + let templateJsonList = JSON.parse(JSON.stringify(this.interfaceRes.${vModel})) + for (let i = 0; i < templateJsonList.length; i++) { + let json = templateJsonList[i]; + if(json.relationField && json.sourceType == 1){ + let relationFieldAll = json.relationField.split("-"); + let val = json.defaultValue; + if(relationFieldAll.length>1 && index>-1){ + val = this.${context.formModel}[relationFieldAll[0]+'List']&&this.${context.formModel}[relationFieldAll[0]+'List'].length?this.${context.formModel}[relationFieldAll[0]+'List'][index][relationFieldAll[1]]:'' + }else { + val = this.${context.formModel}[relationFieldAll]?this.${context.formModel}[relationFieldAll]:"" + } + json.defaultValue = val + } + } + let template ={ + paramList:templateJsonList + } + getDataInterfaceRes('${config.propsUrl}',template).then(res => { + let data = res.data + this.${vModel}Options = data + #if($childList) + if(index==-1) return + this.${context.formModel}.${childList}List[index].${html.vModel}Options =data + #end + if (!edit) return + this.changeDataFormData(${changeDataFormType},'${changeDataFormData}','${html.vModel}',index,${defaultValue},edit) + }) + }, + #end +#end +## 用户联动 +#macro(ableRelation $fieLdsModel,$childList) + #set($html = $fieLdsModel) + #set($vModel = "${childList}${html.vModel}") + #set($config = $html.config) + #set($dataType = "${config.dataType}") + #set($relationField = ${html.relationField}) + #set($relationChild = "${html.relationChild}") + #if(${vModel} && ${relationField}) + #if($relationChild) + #if($childList)${childList}#end${relationField}:"#if($childList)${childList}-#end${html.vModel}", + #else + ${relationField}:"${vModel}", + #end + #end +#end +## 远端数据 +#macro(faceRes $fieLdsModel,$childList) + #set($html = $fieLdsModel) + #set($vModel = "${childList}${html.vModel}") + #set($config = $html.config) + #set($dataType = "${config.dataType}") + #if(${vModel}) + ${vModel}:[ + #foreach($templateJson in ${config.templateJson}) + { + fieldName:"${templateJson.fieldName}", + field:"${templateJson.field}", + defaultValue:"${templateJson.defaultValue}", + yunzhupaasKey:"$!{templateJson.yunzhupaasKey}", + dataType:"${templateJson.dataType}", + id:"${templateJson.id}", + required:"${templateJson.required}", + relationField:"${templateJson.relationField}", + sourceType:${templateJson.sourceType}, + }, + #end + ], + #end +#end +## 单行输入 +#macro(maskConfig $fieLdsModel,$childList) + #set($html = $fieLdsModel) + #set($vModel = "${childList}${html.vModel}") + #if(${vModel}) + ${vModel}:{ + #set($config = ${html.maskConfig}) + #if($config) + filler:"${config.filler}", + maskType:${config.maskType}, + prefixType:${config.prefixType}, + prefixLimit:${config.prefixLimit}, + prefixSpecifyChar:"${config.prefixSpecifyChar}", + suffixType:${config.suffixType}, + suffixLimit:${config.suffixLimit}, + suffixSpecifyChar:"${config.suffixSpecifyChar}", + ignoreChar:"${config.ignoreChar}", + useUnrealMask:${config.useUnrealMask}, + unrealMaskLength:${config.unrealMaskLength}, + #end + }, + #end +#end +## 定位 +#macro(locationScope $fieLdsModel,$childList) + #set($html = $fieLdsModel) + #set($vModel = "${childList}${html.vModel}") + #if(${vModel}) + ${vModel}:[ + #foreach($locationScope in ${html.locationScope}) + { + lng:${locationScope.lng}, + lat:${locationScope.lat}, + radius:${locationScope.radius}, + name:"$!{locationScope.name}", + id:"${locationScope.id}", + }, + #end + ], + #end +#end +## 默认值 +#macro(formDefaultData $key $fieLdsModel $formModel) + #set($html = $fieLdsModel) + #set($eachFiled = "${html.vModel}") + #set($config = $html.config) + #set($yunzhupaaskey = "${config.yunzhupaasKey}") + #set($defaultCurrent=${config.defaultCurrent}) + #set($multiple=${html.multiple}) + #set($format=${html.format}) + #set($timeFormat = "this."+'$'+"u.timeFormat") + #if($defaultCurrent) + #if($yunzhupaaskey=='datePicker') + ${formModel}.${eachFiled} = new Date().getTime() + #elseif($yunzhupaaskey=='timePicker') + ${formModel}.${eachFiled} = ${timeFormat}(new Date().getTime(),this.formatType['${format}']) + #elseif($yunzhupaaskey=='depSelect') + if(this.userInfo.departmentId != null && this.userInfo.departmentId != '') { + #if($multiple) + ${formModel}.${eachFiled} = [this.userInfo.departmentId] + #else + ${formModel}.${eachFiled} = this.userInfo.departmentId + #end + } + #elseif($yunzhupaaskey=="organizeSelect" ) + if(this.userInfo.organizeIdList instanceof Array && this.userInfo.organizeIdList.length > 0) { + #if($multiple) + ${formModel}.${eachFiled} = [this.userInfo.organizeIdList] + #else + ${formModel}.${eachFiled} = this.userInfo.organizeIdList + #end + } + #elseif($yunzhupaaskey=='userSelect') + #if($multiple) + ${formModel}.${eachFiled} = [this.userInfo.userId] + #else + ${formModel}.${eachFiled} = this.userInfo.userId + #end + #elseif($yunzhupaaskey=='posSelect') + if(this.userInfo.positionIds instanceof Array && this.userInfo.positionIds.length > 0) { + #if($multiple) + ${formModel}.${eachFiled} = this.userInfo.positionIds.map(o => o.id) + #else + ${formModel}.${eachFiled} = this.userInfo.positionIds[0].id + #end + } + #elseif($yunzhupaaskey=='roleSelect') + if(this.userInfo.roleIds instanceof Array && this.userInfo.roleIds.length > 0) { + #if($multiple) + ${formModel}.${eachFiled} = this.userInfo.roleIds + #else + ${formModel}.${eachFiled} = this.userInfo.roleIds[0] + #end + } + #elseif($yunzhupaaskey=='groupSelect') + if(this.userInfo.groupIds instanceof Array && this.userInfo.groupIds.length > 0) { + #if($multiple) + ${formModel}.${eachFiled} = this.userInfo.groupIds + #else + ${formModel}.${eachFiled} = this.userInfo.groupIds[0] + #end + } + #elseif($yunzhupaaskey=='usersSelect') + #if($multiple) + ${formModel}.${eachFiled} = [this.userInfo.userId+"--user"] + #else + ${formModel}.${eachFiled} = this.userInfo.userId+"--user" + #end + #elseif($yunzhupaaskey=='sign') + if(this.userInfo.signImg != null && this.userInfo.signImg != '') { + ${formModel}.${eachFiled} = this.userInfo.signImg + } + #end + #end +#end +#macro(indexDefaultData $key $fieLdsModel $formModel) + #set($eachFiled = "${fieLdsModel.vModel}") + #set($value = ${fieLdsModel.value}) + #set($valueType=$fieLdsModel.config.valueType) + #if($valueType=='String') + #set($value="'"+$value+"'") + #end + #if($value) + ${formModel}.${eachFiled} = $value + #end +#end +## 列表控件 +#macro(codeIndex $formModel) + #set($html = $formModel) + #set($config = $html.config) + #set($yunzhupaaskey = "${config.yunzhupaasKey}") + #set($dateType = "") + #set($model = "${html.vModel}") + #set($label = $html.label) + #set($mastModel="searchForm."+"${model}") + #set($tag = "$yunzhupaaskey") + #set($type = "") + #set($bh = "") + #set($inputalign="") + #if($yunzhupaaskey=='input' || $yunzhupaaskey=='textarea' || $yunzhupaaskey=='billRule') + #set($inputalign="right") + #elseif($yunzhupaaskey=='datePicker'|| $yunzhupaaskey=='createTime' || $yunzhupaaskey=='modifyTime' || $yunzhupaaskey=='timePicker') + #set($dateType = "date") + #if($yunzhupaaskey=='timePicker') + #set($dateType = "time") + #end + #elseif($yunzhupaaskey=='userSelect' || $yunzhupaaskey=='createUser' || $yunzhupaaskey=='modifyUser') + #set($bh = "650") + #elseif($yunzhupaaskey=='organizeSelect' || $yunzhupaaskey=='depSelect' || $yunzhupaaskey=='posSelect' || $yunzhupaaskey=='currOrganize' || $yunzhupaaskey=='currDept' || $yunzhupaaskey=='currPosition') + #if($yunzhupaaskey=='depSelect' || $yunzhupaaskey=='currDept') + #set($type = "department") + #elseif($yunzhupaaskey=='posSelect' || $yunzhupaaskey=='currPosition') + #set($type = "position") + #end + #end + #set($tag=${config.tag}) + #if($yunzhupaaskey=='checkbox'||$yunzhupaaskey=='select'||$yunzhupaaskey=='radio') + #set($tag="yunzhupaasSelect") + #end + #if($yunzhupaaskey=='posSelect' || $yunzhupaaskey=='currPosition') + #set($tag="yunzhupaasPosSelect") + #end + #if($yunzhupaaskey=='depSelect' || $yunzhupaaskey=='currDept') + #set($tag="yunzhupaasDepSelect") + #end + #if($yunzhupaaskey=='organizeSelect' || $yunzhupaaskey=='currOrganize') + #set($tag="yunzhupaasOrganizeSelect") + #end + #if($yunzhupaaskey=='inputNumber' || $yunzhupaaskey=='calculate' || $yunzhupaaskey=='slider' || $yunzhupaaskey=='rate') + #set($tag="yunzhupaasNumberRange") + #end + #if($yunzhupaaskey=='input' || $yunzhupaaskey=='text'|| $yunzhupaaskey=='link'|| $yunzhupaaskey=='billRule' || $yunzhupaaskey=='location') + #set($tag="yunzhupaasInput") + #end + #if($yunzhupaaskey=='userSelect' || $yunzhupaaskey=='createUser' || $yunzhupaaskey=='modifyUser') + #set($tag="yunzhupaasUserSelect") + #end + #if($yunzhupaaskey=='datePicker'|| $yunzhupaaskey=='createTime' || $yunzhupaaskey=='modifyTime' ) + #set($tag="yunzhupaasDateRange") + #end + #if($yunzhupaaskey=='timePicker') + #set($tag="yunzhupaasTimeRange") + #end + #set($placeholder="common.chooseText") + #if($yunzhupaaskey=='input' || $yunzhupaaskey=='textarea'|| $yunzhupaaskey=='billRule') + #set($placeholder="common.inputText") + #end + #set($modelprops="") + #set($modeloptions="") + #if($yunzhupaaskey=='radio' || $yunzhupaaskey=='checkbox' || $yunzhupaaskey=='select' || $yunzhupaaskey=='cascader' || $yunzhupaaskey=='treeSelect') + #set($modelprops="${model}Props") + #set($modeloptions="${model}Options") + #end + #if($tag && !${html.noShow}) + + <$tag v-model="${mastModel}" + :placeholder="$t('${placeholder}')+ ' ' + #if(${html.labelI18nCode})$t('${html.labelI18nCode}','${label}')#else'${label}'#end" + :key="'${mastModel}'" + #if(${filterableModel.contains($yunzhupaaskey)}) filterable #end + #if($dateType) yunzhupaasKey="${dateType}" #end + #if(${bh}) :bh="650" #end + #if($inputalign) input-align='right' #end + #if(${type}) type="${type}"#end + #set($selectTypes = ${html.selectType}) + #if(${selectTypes}!='custom') + #set($selectTypes = "all") + #end + #if($html.total) :total="${html.total}" #end + #if($html.clearable) clearable #end + #if($html.format) format="${html.format}" #end + #if($html.interfaceId) interfaceId="${html.interfaceId}" #end + #if($html.templateJson) :templateJson="interfaceRes.${model}" #end + #if($html.relationField) relationField="${html.relationField}" #end + #if($selectTypes) selectType="${selectTypes}" #end + #if($html.searchMultiple) :multiple="${html.searchMultiple}"#end + #if($html.ableIds) :ableIds="ableAll.${model}ableIds" #end + #if(${html.level}) :level="${html.level}" #end + #if(${modelprops}) :props="${modelprops}" #end + #if(${modeloptions}) :options="${modeloptions}" #end/> + + #end +#end +## 列表搜索 +#macro(AppSearchRendering) + #foreach($searchAll in ${context.searchAll}) + #set($html = ${searchAll.html}) + #codeIndex($html) + #end +#end +## 列表 +#macro(codeOptionsList $fieLdsModel $tabList) + #set($html = $fieLdsModel) + #set($vModel = "${html.vModel}") + #set($config = $html.config) + #set($dataType = "${config.dataType}") + #if(${dataType}=='dictionary') + get${vModel}Options() { + getDictionaryDataSelector('${config.dictionaryType}').then(res => { + this.${vModel}Options = res.data.list + }) + }, + #elseif(${dataType}=='dynamic') + get${vModel}Options() { + let templateJsonList = JSON.parse(JSON.stringify(this.interfaceRes.${vModel})) + let template = { + paramList: templateJsonList + } + getDataInterfaceRes('${config.propsUrl}',template).then(res => { + let data = res.data + this.${vModel}Options = data + }) + }, + #end +#end diff --git a/TemplateCodeVue3/PublicMacro/ConstantMarco.vm b/TemplateCodeVue3/PublicMacro/ConstantMarco.vm new file mode 100644 index 0000000..afb2a17 --- /dev/null +++ b/TemplateCodeVue3/PublicMacro/ConstantMarco.vm @@ -0,0 +1,28 @@ +## 需要使用常量 引入此方法 +#macro(ConstantParams ) +##多选控件--popupTableSelect:下拉表格 +#set($multipleUnit =['select','depSelect','roleSelect','userSelect','usersSelect','organizeSelect','treeSelect', +'posSelect','groupSelect','areaSelect' ,'cascader','currOrganize','treeSelect','checkbox','popupTableSelect']) +##多选二维数组 +#set($multipleTwoUnit = ['organizeSelect', 'cascader', 'areaSelect']) +#set($multipleTwoUnitStr = "['organizeSelect', 'cascader', 'areaSelect']") +##多选动态 +#set($needDynamic=['treeSelect','cascader']) +##静态需要转json +#set($needToJsonStatic = ['cascader','checkbox']) +##静态需要转json(并且需要判断多选) +#set($needToJsonMultiple = ['select','treeSelect']) +##详情页需要生成标签的控件 +#set($DetailTag= ['text','uploadFile','uploadImg','colorPicker','rate','slider','inputNumber','sign','iframe','input','location','signature']) +##上传类控件 +#set($UploadFileUnit=['uploadFile','uploadImg']) +##导入过滤掉字段 +#set($DownLoadSkipUint=['divider', 'text', 'link', 'alert', 'groupTitle', 'button', 'barcode', 'qrcode', 'relationFormAttr', 'popupAttr', 'calculate', + 'uploadFile', 'uploadImg', 'colorPicker', 'popupTableSelect', 'relationForm', 'popupSelect', 'calculate']) +##系统控件yunzhupaaskey +#set($systemyunzhupaasKey=['createUser','createTime','modifyUser','modifyTime','currOrganize','currPosition','billRule']) +##不生成必填判断 +#set($DonotJudgeNull= ['text','divider','switch','rate','slider']) +##远端数据联动,有templatejson控件 +#set($InterfaceHasJson =['radio','checkbox','select','cascader','treeSelect','popupSelect','popupTableSelect','autoComplete','relationForm']) +#end diff --git a/TemplateCodeVue3/PublicMacro/ControllerMarco.vm b/TemplateCodeVue3/PublicMacro/ControllerMarco.vm new file mode 100644 index 0000000..7ea0041 --- /dev/null +++ b/TemplateCodeVue3/PublicMacro/ControllerMarco.vm @@ -0,0 +1,825 @@ +#set($mapObject ="Map") +## 导入实例信息添加 +#macro(TemlateDownloadDemo $MapName $Field) + #set($key = $Field.config.yunzhupaasKey) + #set($mul = $Field.multiple) + #set($level = $Field.level) + #set($vModelThis = $Field.vModel) + #if($Field.beforeVmodel) + #set($vModelThis = $Field.beforeVmodel) + #end + #if($key == "createUser" || $key == "modifyUser" || $key == "createTime" || $key == "modifyTime" || $key == "currOrganize" || $key == "currPosition" || $key == "currDept" || $key == "billRule") + ${MapName}.put("${vModelThis}", "系统自动生成"); + #elseif($key == 'organizeSelect') + #if($mul) + ${MapName}.put("${vModelThis}", "例:yunzhupaas信息/产品部,yunzhupaas信息/技术部"); + #else + ${MapName}.put("${vModelThis}", "例:yunzhupaas信息/技术部"); + #end + #elseif($key == "depSelect") + #if($mul) + ${MapName}.put("${vModelThis}", "例:产品部/部门编码,技术部/部门编码"); + #else + ${MapName}.put("${vModelThis}", "例:技术部/部门编码"); + #end + #elseif($key == "posSelect") + #if($mul) + ${MapName}.put("${vModelThis}", "例:技术经理/岗位编码,技术员/岗位编码"); + #else + ${MapName}.put("${vModelThis}", "例:技术员/岗位编码"); + #end + #elseif($key == "userSelect") + #if($mul) + ${MapName}.put("${vModelThis}", "例:张三/账号,李四/账号"); + #else + ${MapName}.put("${vModelThis}", "例:张三/账号"); + #end + #elseif($key == "usersSelect") + #if($mul) + ${MapName}.put("${vModelThis}", "例:方方/账号,技术部/部门编码"); + #else + ${MapName}.put("${vModelThis}", "例:方方/账号"); + #end + #elseif($key == "roleSelect") + #if($mul) + ${MapName}.put("${vModelThis}", "例:研发人员/角色编码,测试人员/角色编码"); + #else + ${MapName}.put("${vModelThis}", "例:研发人员/角色编码"); + #end + #elseif($key == "groupSelect") + #if($mul) + ${MapName}.put("${vModelThis}", "例:A分组/分组编码,B分组/分组编码"); + #else + ${MapName}.put("${vModelThis}", "例:A分组/分组编码"); + #end + #elseif($key == 'datePicker') + ${MapName}.put("${vModelThis}", "例: ${Field.format}"); + #elseif($key == 'timePicker') + ${MapName}.put("${vModelThis}", "例: ${Field.format}"); + #elseif($key == 'areaSelect') + #if($level==0) + #if($mul) + ${MapName}.put("${vModelThis}", "例:福建省,广东省"); + #else + ${MapName}.put("${vModelThis}", "例:福建省"); + #end + #elseif($level==1) + #if($mul) + ${MapName}.put("${vModelThis}", "例:福建省/莆田市,广东省/广州市"); + #else + ${MapName}.put("${vModelThis}", "例:福建省/莆田市"); + #end + #elseif($level==2) + #if($mul) + ${MapName}.put("${vModelThis}", "例:福建省/莆田市/城厢区,广东省/广州市/荔湾区"); + #else + ${MapName}.put("${vModelThis}", "例:福建省/莆田市/城厢区"); + #end + #elseif($level==3) + #if($mul) + ${MapName}.put("${vModelThis}", "例:福建省/莆田市/城厢区/霞林街道,广东省/广州市/荔湾区/沙面街道"); + #else + ${MapName}.put("${vModelThis}", "例:福建省/莆田市/城厢区/霞林街道"); + #end + #end + #else + ${MapName}.put("${vModelThis}", ""); + #end +#end +## 主子副,entity转成map isGetInfo是否不转换数据详情 isDetail 是否转换数据的详情 +#macro(EntityToMap) + ${mapObject} ${name}Map=JsonUtil.entityToMap(entity); + ${name}Map.put("id", ${name}Map.get("${pKeyNameOriginal}")); + //副表数据 + #foreach($child in ${columnTableHandle}) + ${child.modelUpName}Entity ${child.modelLowName}Entity = entity.get${child.modelUpName}(); + if(ObjectUtil.isNotEmpty(${child.modelLowName}Entity)){ + ${mapObject} ${child.modelLowName}Map=JsonUtil.entityToMap(${child.modelLowName}Entity); + for(String key:${child.modelLowName}Map.keySet()){ + ${name}Map.put("yunzhupaas_${child.tableName}_yunzhupaas_"+key,${child.modelLowName}Map.get(key)); + } + } + #end + //子表数据 + #foreach($grid in ${childTableHandle}) + List<${grid.aliasUpName}Entity> ${grid.aliasLowName}List = entity.get${grid.aliasUpName}(); + ${name}Map.put("${grid.tableModel}",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(${grid.aliasLowName}List))); + ${name}Map.put("${grid.aliasLowName}List",JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(${grid.aliasLowName}List))); + #end +#end +###########################以上为通用宏,以下是controller方法################################# +## 获取列表信息 +#macro(GetList) + /** + * 列表 + * + * @param ${name}Pagination + * @return + */ + @Operation(summary = "获取列表") + @PostMapping("/getList") + public ActionResult list(@RequestBody ${Name}Pagination ${name}Pagination)throws Exception{ + List<${table.entityName}> list= ${serviceName}.getList(${name}Pagination); + List<${mapObject}> realList=new ArrayList<>(); + for (${Name}Entity entity : list) { + #EntityToMap() + realList.add(${name}Map); + } + //数据转换 + boolean isPc = "pc".equals(ServletUtil.getHeader("yunzhupaas-origin" )); + realList = generaterSwapUtil.swapDataList(realList, ${Name}Constant.getFormData(), ${Name}Constant.getColumnData(), ${name}Pagination.getModuleId(),isPc?${lineEdit}:false); + + #if($isFlow) + //流程状态添加 + generaterSwapUtil.getFlowStatus(realList); + #end + #if($treeTable || $groupTable) + if(isPc){ + //分组和树形的树形数据转换 + realList = generaterSwapUtil.swapDataList(realList, ${Name}Constant.getColumnData(), "${peimaryKeyname}"); + } + #end + //返回对象 + PageListVO vo = new PageListVO(); + vo.setList(realList); + PaginationVO page = JsonUtil.getJsonToBean(${name}Pagination, PaginationVO.class); + vo.setPagination(page); + return ActionResult.success(vo); + } +#end +## 新增 +#macro(CreateMethod $leiName) + /** + * 创建 + * + * @param ${name}Form + * @return + */ + @PostMapping(#if($isFlow)"/{id}"#end) + @Operation(summary = "创建") + public ActionResult create(#if($isFlow)@PathVariable("id") String id, #end@RequestBody @Valid ${Name}Form ${name}Form) { + String b = ${serviceName}.checkForm(${name}Form,0); + if (StringUtil.isNotEmpty(b)){ + return ActionResult.fail(b ); + } + try{ + ${name}Service.saveOrUpdate(${name}Form,#if($isFlow) id #else null #end,true); + }catch(Exception e){ + log.error("【${leiName}创建接口异常】参数:{}", ${name}Form, e); + return ActionResult.fail(MsgCode.FA028.get()); + } + return ActionResult.success(MsgCode.SU001.get()); + } +#end +## 编辑 +#macro(UpdateMethod $leiName) + /** + * 编辑 + * @param id + * @param ${name}Form + * @return + */ + @PutMapping("/{id}") + @Operation(summary = "更新") + public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid ${Name}Form ${name}Form, + @RequestParam(value = "isImport", required = false) boolean isImport){ + ${Name}Entity entity= ${name}Service.getInfo(id); + if(entity!=null){ + ${name}Form.set${peimaryKeyName}(String.valueOf(entity.get${peimaryKeyName}())); + + if (!isImport) { + String b = ${name}Service.checkForm(${name}Form,1); + if (StringUtil.isNotEmpty(b)){ + return ActionResult.fail(b ); + } + } + + try{ + ${name}Service.saveOrUpdate(${name}Form,id,false); + }catch (DataException e1){ + return ActionResult.fail(e1.getMessage()); + }catch(Exception e){ + log.error("【${leiName}编辑接口异常】参数:{}", ${name}Form, e); + return ActionResult.fail(MsgCode.FA029.get()); + } + return ActionResult.success(MsgCode.SU004.get()); + }else{ + return ActionResult.fail(MsgCode.FA002.get()); + } + } +#end +## 获取详情(不转数据) +#macro(GetInfoMethod) + /** + * 获取详情(编辑页) + * 编辑页面使用-不转换数据 + * @param id + * @return + */ + @Operation(summary = "信息") + @GetMapping("/{id}") + public ActionResult info(@PathVariable("id") String id){ + ${Name}Entity entity= ${name}Service.getInfo(id); + if(entity==null){ + return ActionResult.fail(MsgCode.FA001.get()); + } +## + #EntityToMap() + ${name}Map = generaterSwapUtil.swapDataForm(${name}Map,${Name}Constant.getFormData(),${Name}Constant.TABLEFIELDKEY,${Name}Constant.TABLERENAMES); + return ActionResult.success(${name}Map); + } +#end +## 详情(转换数据) +#macro(GetDetailMethod) + /** + * 表单信息(详情页) + * 详情页面使用-转换数据 + * @param id + * @return + */ + @Operation(summary = "表单信息(详情页)") + @GetMapping("/detail/{id}") + public ActionResult detailInfo(@PathVariable("id") String id){ + ${Name}Entity entity= ${name}Service.getInfo(id); + if(entity==null){ + return ActionResult.fail(MsgCode.FA001.get()); + } + #EntityToMap() + boolean isPc = "pc".equals(ServletUtil.getHeader("yunzhupaas-origin" )); + ${name}Map = generaterSwapUtil.swapDataDetail(${name}Map,${Name}Constant.getFormData(),"${VisualDevId}",isPc?${lineEdit}:false); + //子表数据 + #foreach($grid in ${childTableHandle}) + ${name}Map.put("${grid.aliasLowName}List",${name}Map.get("${grid.tableModel}")); + #end + return ActionResult.success(${name}Map); + } +#end +## 删除 +#macro(DeleteMethod) + /** + * 删除 + * @param id + * @return + */ + @Operation(summary = "删除") + @DeleteMapping("/{id}") +#if(${DS}) + @DSTransactional +#else + @Transactional +#end + public ActionResult delete(@PathVariable("id") String id,@RequestParam(name = "forceDel",defaultValue = "false") boolean forceDel) throws Exception{ + ${Name}Entity entity= ${name}Service.getInfo(id); + if(entity!=null){ + #if($isFlow) + if(!forceDel){ + String errMsg = generaterSwapUtil.deleteFlowTask(entity.getFlowTaskId()); + if (StringUtil.isNotEmpty(errMsg)) { + throw new DataException(errMsg); + } + } + #end + #if($logicalDelete) + //假删除 + entity.setDeleteMark(1); + entity.setDeleteUserId(userProvider.get().getUserId()); + entity.setDeleteTime(new Date()); + ${name}Service.setIgnoreLogicDelete().updateById(entity); + #else + //主表数据删除 + ${name}Service.delete(entity); +## 副表 + #if(${columnTableHandle.size()}>0) + #foreach($cl in ${columnTableHandle}) + QueryWrapper<${cl.modelUpName}Entity> queryWrapper${cl.modelUpName}=new QueryWrapper<>(); + queryWrapper${cl.modelUpName}.lambda().eq(${cl.modelUpName}Entity::get${cl.relationUpField},entity.get${cl.mainUpKey}()); + //副表数据删除 + ${cl.modelLowName}Service.remove(queryWrapper${cl.modelUpName}); + #end + #end +## 子表 + #foreach($tableModel in ${childTableHandle}) + #set($mainFeild="${tableModel.relationField}") + #set($MainFeild="${tableModel.relationField.substring(0,1).toUpperCase()}${tableModel.relationField.substring(1)}") + #set($childFeild="${tableModel.tablefield}") + #set($ChildFeild="${tableModel.tablefield.substring(0,1).toUpperCase()}${tableModel.tablefield.substring(1)}") + QueryWrapper<${tableModel.aliasUpName}Entity> queryWrapper${tableModel.aliasUpName}=new QueryWrapper<>(); + queryWrapper${tableModel.aliasUpName}.lambda().eq(${tableModel.aliasUpName}Entity::get${ChildFeild},entity.get${MainFeild}()); + //子表数据删除 + ${tableModel.aliasLowName}Service.remove(queryWrapper${tableModel.aliasUpName}); + #end + #end + } + return ActionResult.success(MsgCode.SU003.get()); + } +#end +## 批量删除 +#macro(BatchRemoveMethod) + /** + * 批量删除 + * @param obj + * @return + */ + @DeleteMapping("/batchRemove") + #if(${DS}) + @DSTransactional + #else + @Transactional + #end + @Operation(summary = "批量删除") + public ActionResult batchRemove(@RequestBody Object obj){ + $mapObject objectMap = JsonUtil.entityToMap(obj); + List idList = JsonUtil.getJsonToList(objectMap.get("ids"), String.class); + String errInfo = ""; + List successList = new ArrayList<>(); + for (String allId : idList){ + try { + this.delete(allId,false); + successList.add(allId); + } catch (Exception e) { + errInfo = e.getMessage(); + } + } + if (successList.size() == 0 && StringUtil.isNotEmpty(errInfo)){ + return ActionResult.fail(errInfo); + } + return ActionResult.success(MsgCode.SU003.get()); + } +#end +## 批量打印 +#macro(BatchPrintMethod) +#end +## 导入 +#macro(UploaderMethod) + @Operation(summary = "上传文件") + @PostMapping("/Uploader") + public ActionResult Uploader() { + List list = UpUtil.getFileAll(); + MultipartFile file = list.get(0); + if (file.getOriginalFilename().endsWith(".xlsx") || file.getOriginalFilename().endsWith(".xls")) { + String filePath = XSSEscape.escape(configValueUtil.getTemporaryFilePath()); + String fileName = XSSEscape.escape(RandomUtil.uuId() + "." + UpUtil.getFileType(file)); + //上传文件 + #if(${isCloud}=="cloud") + FileInfo fileInfo = fileUploadApi.uploadFile(file, filePath, fileName); + #else + FileInfo fileInfo = FileUploadUtils.uploadFile(file, filePath, fileName); + #end + DownloadVO vo = DownloadVO.builder().build(); + vo.setName(fileInfo.getFilename()); + return ActionResult.success(vo); + } else { + return ActionResult.fail(MsgCode.FA017.get()); + } + } + + /** + * 模板下载 + * + * @return + */ + @Operation(summary = "模板下载") + @GetMapping("/TemplateDownload") + public ActionResult TemplateDownload(@RequestParam("menuId") String menuId){ + DownloadVO vo = DownloadVO.builder().build(); + UserInfo userInfo = userProvider.get(); + String menuFullName = generaterSwapUtil.getMenuName(menuId); + //主表对象 + List entitys = new ArrayList<>(); + List selectKeys = new ArrayList<>(); + //以下添加字段 +## 导入字段添加到entity + #foreach($fieldModel in $importFields) + #set($config = $fieldModel.config) + #set($vModel = ${fieldModel.vModel}) + #if($vModel.toLowerCase().startsWith("tablefield")) + //${vModel}子表对象 + ExcelExportEntity ${vModel}ExcelEntity = new ExcelExportEntity("${fieldModel.label}(${vModel})","${vModel}"); + List ${vModel}ExcelEntityList = new ArrayList<>(); + #foreach($child in ${fieldModel.childList}) + #set($itemFields =$child.fieLdsModel) + ${vModel}ExcelEntityList.add(new ExcelExportEntity("${itemFields.config.label}($vModel-${itemFields.vModel})" ,"${itemFields.vModel}")); + selectKeys.add("$vModel-${itemFields.vModel}"); + #end + ${vModel}ExcelEntity.setList(${vModel}ExcelEntityList); + if(${vModel}ExcelEntityList.size() > 0){ + entitys.add(${vModel}ExcelEntity); + } + #else + entitys.add(new ExcelExportEntity("${config.label}($vModel)" ,"$vModel")); + selectKeys.add("${vModel}"); + #end + #end + ExcelModel excelModel = generaterSwapUtil.getExcelParams(${Name}Constant.getFormData(),selectKeys); + List<${mapObject}> list = new ArrayList<>(); + list.add(excelModel.getDataMap()); + + ExportParams exportParams = new ExportParams(null, menuFullName + "模板"); + exportParams.setStyle(ExcelExportStyler.class); + exportParams.setType(ExcelType.XSSF); + try{ + @Cleanup Workbook workbook = new HSSFWorkbook(); + if (entitys.size()>0){ + if (list.size()==0){ + list.add(new HashMap<>()); + } + //复杂表头-表头和数据处理 + ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(${Name}Constant.getColumnData(), ColumnDataModel.class); + List complexHeaderList = columnDataModel.getComplexHeaderList(); + if (!Objects.equals(columnDataModel.getType(), 3) && !Objects.equals(columnDataModel.getType(), 5)) { + entitys = VisualUtils.complexHeaderHandel(entitys, complexHeaderList, false); + list = VisualUtils.complexHeaderDataHandel(list, complexHeaderList, false); + } +## excel处理 + workbook = ExcelExportUtil.exportExcel(exportParams, entitys, list); + ExcelHelper helper = new ExcelHelper(); + helper.init(workbook, exportParams, entitys, excelModel); + helper.doPreHandle(); + helper.doPostHandle(); + } + String fileName = menuFullName + "导入模板.xls"; + MultipartFile multipartFile = ExcelUtil.workbookToCommonsMultipartFile(workbook, fileName); + #if(${isCloud}=="cloud") + String temporaryFilePath = fileApi.getPath(FileTypeConstant.TEMPORARY); + FileInfo fileInfo = fileUploadApi.uploadFile(multipartFile, temporaryFilePath, fileName); + #else + String temporaryFilePath = configValueUtil.getTemporaryFilePath(); + FileInfo fileInfo = FileUploadUtils.uploadFile(multipartFile, temporaryFilePath, fileName); + #end + vo.setName(fileInfo.getFilename()); + vo.setUrl(UploaderUtil.uploaderFile(fileInfo.getFilename() + "#" + "Temporary") + "&name=" + fileName); + } catch (Exception e) { + log.error("模板信息导出Excel错误:{}", e.getMessage()); + e.printStackTrace(); + } + return ActionResult.success(vo); + } + + /** + * 导入预览 + * + * @return + */ + @Operation(summary = "导入预览" ) + @GetMapping("/ImportPreview") + public ActionResult<${mapObject}> ImportPreview(String fileName) throws Exception { + ${mapObject} headAndDataMap = new HashMap<>(2); + #if(${isCloud}=="cloud") + String filePath = fileApi.getLocalBasePath() + configValueUtil.getTemporaryFilePath(); + UploadFileModel uploadFileModel =new UploadFileModel(); + uploadFileModel.setFolderName(filePath); + uploadFileModel.setObjectName(fileName); + fileUploadApi.downToLocal(uploadFileModel); + #else + String filePath = FileUploadUtils.getLocalBasePath() + configValueUtil.getTemporaryFilePath(); + FileUploadUtils.downLocal(configValueUtil.getTemporaryFilePath(), filePath, fileName); + #end + File temporary = new File(XSSEscape.escapePath(filePath + fileName)); + #if($importHasChildren || ${complexFieldList.size()} > 0) + int headerRowIndex = 2; + #else + int headerRowIndex = 1; + #end + ImportParams params = new ImportParams(); + params.setTitleRows(0); + params.setHeadRows(headerRowIndex); + params.setNeedVerify(true); + try { + InputStream inputStream = ExcelUtil.solveOrginTitle(temporary, headerRowIndex); + List excelDataList = ExcelUtil.importExcelByInputStream(inputStream, 0, headerRowIndex, Map.class); + //数据超过1000条 + if(excelDataList != null && excelDataList.size() > 1000) { + return ActionResult.fail(MsgCode.ETD117.get()); + } + + ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(${Name}Constant.getColumnData(), ColumnDataModel.class); + UploaderTemplateModel uploaderTemplateModel = JsonUtil.getJsonToBean(columnDataModel.getUploaderTemplateJson(), UploaderTemplateModel.class); + List selectKey = uploaderTemplateModel.getSelectKey(); + //子表合并 + List<$mapObject> results = FormExecelUtils.dataMergeChildTable(excelDataList,selectKey); + // 导入字段 + List columns = new ArrayList<>(); +## 添加导入所有字段信息 +#foreach($fieldModel in $importFieldsNew) + #set($config = $fieldModel.config) + #set($vModel = ${fieldModel.vModel}) + #if($vModel.toLowerCase().startsWith("tablefield")) + #if(${fieldModel.childList.size()}>0) + //${vModel}子表对象 + List ${vModel}columns = new ArrayList<>(); + #foreach($child in ${fieldModel.childList}) + #set($itemFields =$child.fieLdsModel) + ${vModel}columns.add(new ExcelImFieldModel("${itemFields.vModel}" ,"#if(${itemFields.config.required})*#end${itemFields.config.label}")); + #end + columns.add(new ExcelImFieldModel("${vModel}","${fieldModel.label}","table",${vModel}columns)); + #end + #elseif($vModel.contains("complexHeader")) + #set($item = ${fieldModel}) + #if(${item.childColumns.size()}>0 && ${item.uploadFieldList.size()}>0) + //${item.fullName} 复杂表头对象 + List ${item.id}columns = new ArrayList<>(); + #foreach($itemFields in ${item.uploadFieldList}) + ${item.id}columns.add(new ExcelImFieldModel("${itemFields.vModel}" ,"#if(${itemFields.config.required})*#end${itemFields.label}")); + #end + columns.add(new ExcelImFieldModel("${item.id}","${item.fullName}","complexHeader",${item.id}columns)); + #end + #else + columns.add(new ExcelImFieldModel("${vModel}","${config.label}","${config.yunzhupaasKey}")); + #end +#end + headAndDataMap.put("dataRow" , results); + headAndDataMap.put("headerRow" , JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(columns))); + } catch (Exception e){ + e.printStackTrace(); + return ActionResult.fail(MsgCode.VS407.get()); + } + return ActionResult.success(headAndDataMap); + } + + /** + * 导入数据 + * + * @return + */ + @Operation(summary = "导入数据" ) + @PostMapping("/ImportData") + public ActionResult ImportData(@RequestBody VisualImportModel visualImportModel) throws Exception { + List<$mapObject> listData = visualImportModel.getList(); + ImportFormCheckUniqueModel uniqueModel = new ImportFormCheckUniqueModel(); + uniqueModel.setDbLinkId(${Name}Constant.DBLINKID); + uniqueModel.setUpdate(Objects.equals("${importType}", "2")); + #if($isFlow)uniqueModel.setFlowId(visualImportModel.getFlowId()); #end + + Map tablefieldkey = new HashMap<>(); + for(String key:${Name}Constant.TABLEFIELDKEY.keySet()){ + tablefieldkey.put(key,${Name}Constant.TABLERENAMES.get(${Name}Constant.TABLEFIELDKEY.get(key))); + } + ExcelImportModel excelImportModel = generaterSwapUtil.importData(${Name}Constant.getFormData(),listData,uniqueModel, tablefieldkey,${Name}Constant.getTableList()); + List importDataModel = uniqueModel.getImportDataModel(); + for (ImportDataModel model : importDataModel) { + String id = model.getId(); + $mapObject result = model.getResultData(); + if(StringUtil.isNotEmpty(id)){ + update(id, JsonUtil.getJsonToBean(result,${Name}Form.class), true); + }else { + create(#if($isFlow)RandomUtil.uuId(),#end JsonUtil.getJsonToBean(result,${Name}Form.class)); + } + } + return ActionResult.success(excelImportModel); + } + + /** + * 导出异常报告 + * + * @return + */ + @Operation(summary = "导出异常报告") + @PostMapping("/ImportExceptionData") + public ActionResult ImportExceptionData(@RequestBody VisualImportModel visualImportModel) { + DownloadVO vo = DownloadVO.builder().build(); + UserInfo userInfo = userProvider.get(); + String menuFullName = generaterSwapUtil.getMenuName(visualImportModel.getMenuId()); + //主表对象 + List entitys = new ArrayList<>(); + entitys.add(new ExcelExportEntity("异常原因", "errorsInfo",30)); + List selectKeys = new ArrayList<>(); + //以下添加字段 +## 导入字段添加到entity + #foreach($fieldModel in $importFields) + #set($config = $fieldModel.config) + #set($vModel = ${fieldModel.vModel}) + #if($vModel.toLowerCase().startsWith("tablefield")) + //${vModel}子表对象 + ExcelExportEntity ${vModel}ExcelEntity = new ExcelExportEntity("${fieldModel.label}(${vModel})","${vModel}"); + List ${vModel}ExcelEntityList = new ArrayList<>(); + #foreach($child in ${fieldModel.childList}) + #set($itemFields =$child.fieLdsModel) + ${vModel}ExcelEntityList.add(new ExcelExportEntity("${itemFields.config.label}($vModel-${itemFields.vModel})" ,"${itemFields.vModel}")); + selectKeys.add("$vModel-${itemFields.vModel}"); + #end + ${vModel}ExcelEntity.setList(${vModel}ExcelEntityList); + entitys.add(${vModel}ExcelEntity); + #else + entitys.add(new ExcelExportEntity("${config.label}($vModel)" ,"$vModel")); + selectKeys.add("${vModel}"); + #end + #end + ExcelModel excelModel = generaterSwapUtil.getExcelParams(${Name}Constant.getFormData(),selectKeys); + List<${mapObject}> list = new ArrayList<>(); + list.addAll(visualImportModel.getList()); + + ExportParams exportParams = new ExportParams(null, menuFullName + "模板"); + exportParams.setStyle(ExcelExportStyler.class); + exportParams.setType(ExcelType.XSSF); + exportParams.setFreezeCol(1); + try{ + @Cleanup Workbook workbook = new HSSFWorkbook(); + if (entitys.size()>0){ + if (list.size()==0){ + list.add(new HashMap<>()); + } + //复杂表头-表头和数据处理 + ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(${Name}Constant.getColumnData(), ColumnDataModel.class); + List complexHeaderList = columnDataModel.getComplexHeaderList(); + if (!Objects.equals(columnDataModel.getType(), 3) && !Objects.equals(columnDataModel.getType(), 5)) { + entitys = VisualUtils.complexHeaderHandel(entitys, complexHeaderList, false); + list = VisualUtils.complexHeaderDataHandel(list, complexHeaderList, false); + } + + workbook = ExcelExportUtil.exportExcel(exportParams, entitys, list); + ExcelHelper helper = new ExcelHelper(); + helper.init(workbook, exportParams, entitys, excelModel); + helper.doPreHandle(); + helper.doPostHandle(); + } + + String fileName = menuFullName + "错误报告_" + DateUtil.dateNow("yyyyMMddHHmmss") + ".xls"; + MultipartFile multipartFile = ExcelUtil.workbookToCommonsMultipartFile(workbook, fileName); + #if(${isCloud}=="cloud") + String temporaryFilePath = fileApi.getPath(FileTypeConstant.TEMPORARY); + FileInfo fileInfo = fileUploadApi.uploadFile(multipartFile, temporaryFilePath, fileName); + #else + String temporaryFilePath = configValueUtil.getTemporaryFilePath(); + FileInfo fileInfo = FileUploadUtils.uploadFile(multipartFile, temporaryFilePath, fileName); + #end + vo.setName(fileInfo.getFilename()); + vo.setUrl(UploaderUtil.uploaderFile(fileInfo.getFilename() + "#" + "Temporary") + "&name=" + fileName); + } catch (Exception e) { + e.printStackTrace(); + } + return ActionResult.success(vo); + } +#end +## 导出 +#macro(ExportMethod) + /** + * 导出Excel + * + * @return + */ + @Operation(summary = "导出Excel") + @PostMapping("/Actions/Export") + public ActionResult Export(@RequestBody ${Name}Pagination ${name}Pagination) throws IOException { + if (StringUtil.isEmpty(${name}Pagination.getSelectKey())){ + return ActionResult.fail(MsgCode.IMP011.get()); + } + List<${table.entityName}> list= ${serviceName}.getList(${name}Pagination); + List<${mapObject}> realList=new ArrayList<>(); + for (${Name}Entity entity : list) { + #EntityToMap() + realList.add(${name}Map); + } + //数据转换 + realList = generaterSwapUtil.swapDataList(realList, ${Name}Constant.getFormData(), ${Name}Constant.getColumnData(), ${name}Pagination.getModuleId(),${lineEdit}); + String[]keys=!StringUtil.isEmpty(${name}Pagination.getSelectKey())?${name}Pagination.getSelectKey():new String[0]; + UserInfo userInfo=userProvider.get(); + String menuFullName = generaterSwapUtil.getMenuName(${name}Pagination.getMenuId()); + + #if(${isCloud}=="cloud") + DownloadVO vo=this.creatModelExcel(fileApi.getPath(FileTypeConstant.TEMPORARY),realList,keys,userInfo,menuFullName); + #else + DownloadVO vo=this.creatModelExcel(configValueUtil.getTemporaryFilePath(),realList,keys,userInfo,menuFullName); + #end + return ActionResult.success(vo); + } + + /** + * 导出表格方法 + */ + public DownloadVO creatModelExcel(String path,List<${mapObject}>list,String[]keys,UserInfo userInfo,String menuFullName){ + DownloadVO vo=DownloadVO.builder().build(); + List entitys=new ArrayList<>(); + if(keys.length>0){ +## 子表对象 + #foreach($cl in $childTableHandle) + ExcelExportEntity ${cl.tableModel}ExcelEntity = new ExcelExportEntity("${cl.label}(${cl.tableModel})","${cl.tableModel}"); + List ${cl.tableModel}List = new ArrayList<>(); + #end + #set($lineEditName = "#if(${lineEdit})_name#end") + for(String key:keys){ + switch(key){ + #if($columnListSize.size()>0) +## 主表 + #foreach($fieldModel in ${mastTableHandle}) + #set($config = $fieldModel.config) + #set($vModel = ${fieldModel.vModel}) + #if($vModel) + case "${vModel}" : + entitys.add(new ExcelExportEntity("${config.label}" ,"${vModel}${lineEditName}")); + break; + #end + #end +## 副表 + #foreach($clid in $columnTableHandle) + #set($fieLdsModelList = $clid.fieLdsModelList) + #foreach($cf in $fieLdsModelList) + #set($field = ${cf.field}) + #if($field) + #set($label = $cf.mastTable.fieLdsModel.config.label) + #set($lowName= ${cf.table.toLowerCase()}) + case "${cf.vModel}" : + entitys.add(new ExcelExportEntity("${label}" ,"${cf.vModel}${lineEditName}")); + break; + #end + #end + #end +## 子表 + #foreach($cl in $childTableHandle) + #set($clForm = $cl.childList) + #foreach($clField in $clForm) + #set($clForm = $clField.fieLdsModel) + #if($!{clField.fieLdsModel.vModel}) + case "${cl.tableModel}-${clField.fieLdsModel.vModel}": + ${cl.tableModel}List.add(new ExcelExportEntity("${clField.fieLdsModel.config.label}" ,"${clField.fieLdsModel.vModel}${lineEditName}")); + break; + #end + #end + #end + default: + break; + #end + } + } + #foreach($cl in $childTableHandle) + if(${cl.tableModel}List.size() > 0){ + ${cl.tableModel}ExcelEntity.setList(${cl.tableModel}List); + entitys.add(${cl.tableModel}ExcelEntity); + } + #end + } + + ExportParams exportParams = new ExportParams(null, "表单信息"); + exportParams.setType(ExcelType.XSSF); + try{ + @Cleanup Workbook workbook = new HSSFWorkbook(); + if (entitys.size()>0){ + if (list.size()==0){ + list.add(new HashMap<>()); + } + //去除空数据 + List<$mapObject> dataList = new ArrayList<>(); + for ($mapObject map : list) { + int i = 0; + for (String key : keys) { + //子表 + if (key.toLowerCase().startsWith("tablefield")) { + String tableField = key.substring(0, key.indexOf("-" )); + String field = key.substring(key.indexOf("-" ) + 1); + Object o = map.get(tableField); + if (o != null) { + List<$mapObject> childList = (List<$mapObject>) o; + for ($mapObject childMap : childList) { + if (childMap.get(field) != null) { + i++; + } + } + } + } else { + Object o = map.get(key); + if (o != null) { + i++; + } + } + } + if (i > 0) { + dataList.add(map); + } + } + List mergerEntitys = new ArrayList<>(entitys); + List<$mapObject> mergerList=new ArrayList<>(dataList); + //复杂表头-表头和数据处理 + ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(${Name}Constant.getColumnData(), ColumnDataModel.class); + List complexHeaderList = columnDataModel.getComplexHeaderList(); + if (!Objects.equals(columnDataModel.getType(), 3) && !Objects.equals(columnDataModel.getType(), 5)) { + entitys = VisualUtils.complexHeaderHandel(entitys, complexHeaderList, Objects.equals(columnDataModel.getType(), 4)); + dataList = VisualUtils.complexHeaderDataHandel(dataList, complexHeaderList, Objects.equals(columnDataModel.getType(), 4)); + } + + exportParams.setStyle(ExcelExportStyler.class); + workbook = ExcelExportUtil.exportExcel(exportParams, entitys, dataList); + VisualUtils.mergerVertical(workbook, mergerEntitys, mergerList); +## 表格样式添加 + ExcelModel excelModel = generaterSwapUtil.getExcelParams(${Name}Constant.getFormData(),Arrays.asList(keys)); + ExcelHelper helper = new ExcelHelper(); + helper.init(workbook, exportParams, entitys, excelModel); + helper.doPreHandle(); + helper.doPostHandle(); + } + String fileName = menuFullName +"_"+ DateUtil.dateNow("yyyyMMddHHmmss") + ".xls"; + MultipartFile multipartFile = ExcelUtil.workbookToCommonsMultipartFile(workbook, fileName); + #if(${isCloud}=="cloud") + String temporaryFilePath = fileApi.getPath(FileTypeConstant.TEMPORARY); + FileInfo fileInfo = fileUploadApi.uploadFile(multipartFile, temporaryFilePath, fileName); + #else + String temporaryFilePath = configValueUtil.getTemporaryFilePath(); + FileInfo fileInfo = FileUploadUtils.uploadFile(multipartFile, temporaryFilePath, fileName); + #end + vo.setName(fileInfo.getFilename()); + vo.setUrl(UploaderUtil.uploaderFile(fileInfo.getFilename() + "#" + "Temporary") + "&name=" + fileName); + } catch (Exception e) { + log.error("信息导出Excel错误:{}", e.getMessage()); + e.printStackTrace(); + } + return vo; + } +#end diff --git a/TemplateCodeVue3/PublicMacro/DetailMarco.vm b/TemplateCodeVue3/PublicMacro/DetailMarco.vm new file mode 100644 index 0000000..0e193c3 --- /dev/null +++ b/TemplateCodeVue3/PublicMacro/DetailMarco.vm @@ -0,0 +1,811 @@ +##详情-表单生成 +#macro(DetailFormRendering) + #foreach($fieLdsModel in ${context.form}) + #set($yunzhupaasKey = "${fieLdsModel.yunzhupaasKey}") + #set($isEnd = "${fieLdsModel.isEnd}") + #set($formModel = ${fieLdsModel.formModel}) + #set($config= $formModel.config) + #set($span=$config.span) + #set($outermost = ${formModel.outermost}) + #set($borderType = ${formModel.borderType}) + #set($borderColor = ${formModel.borderColor}) + #set($borderWidth = ${formModel.borderWidth}) + #set($pcshow = $config.pc) + #if(${yunzhupaasKey}=='row' && $pcshow == true) + #if(${isEnd}=='0') + + + #else + + + #end + #elseif(${yunzhupaasKey}=='card' && $pcshow == true) + #if(${isEnd}=='0') + + + #if(${formModel.header} || ${formModel.headerI18nCode} ) + + #end + + #else + + + + #end + #elseif(${yunzhupaasKey}=='tab' && $pcshow == true) + #set($tabs = "a-tabs") + #if(${outermost}=='1') + #set($tabs = "a-tab-pane") + #end + #if(${isEnd}=='0') + #if(${outermost}=='0') + + <${tabs} v-model:activeKey="state.${formModel.model}" #if($formModel.type)type="${formModel.type}"#end tabPosition="${formModel.tabPosition}" class="mb-20" > + #else + <${tabs} #if(${formModel.titleI18nCode}):tab="t('${formModel.titleI18nCode}','${formModel.title}')" #else tab="${formModel.title}"#end key="${formModel.name}" forceRender> + + #end + #else + #if(${outermost}=='0') + + + #else + + + #end + #end + #elseif(${yunzhupaasKey}=='tableGrid' || ${yunzhupaasKey}=='tableGridTd' || ${yunzhupaasKey}=='tableGridTr') + #set($tabs = "tbody") + #set($tableGrid = "table") + #if(${yunzhupaasKey}=='tableGridTr') + #set($tabs = "tr") + #elseif(${yunzhupaasKey}=='tableGridTd') + #set($tabs = "") + #if(${config.merged}==false) + #set($tabs = "td") + #end + #end + #if(${config.pc}==true) + #if(${isEnd}=='0') + #if(${yunzhupaasKey}=='tableGrid') + <${tableGrid} class="table-grid-box" :style='{"--borderType":"${borderType}","--borderColor":"${borderColor}","--borderWidth":"${borderWidth}px"}'> + #end + #if($tabs) + <${tabs}#if(${config.colspan}) colspan="${config.colspan}"#end#if(${config.rowspan}) rowspan="${config.rowspan}"#end> + #end + #else + #if($tabs) + + #end + #if(${yunzhupaasKey}=='tableGrid') + + #end + #end + #end + #elseif(${yunzhupaasKey}=='groupTitle' || ${yunzhupaasKey}=='text'|| ${yunzhupaasKey} == 'button' || ${yunzhupaasKey} == 'link' || ${yunzhupaasKey} == 'alert'|| ${yunzhupaasKey} == 'divider') + #if($pcshow== true) + + + <${config.tag} + #if($formModel.style) :style='${formModel.style}'#end + #if($formModel.href) href= "$formModel.href"#end + #if($formModel.target) target= "$formModel.target"#end + #if($formModel.showIcon) :show-icon= "$formModel.showIcon"#end + #if($formModel.align) align="${formModel.align}" #end + #if($formModel.disabled) :disabled="${formModel.disabled}" #end + #if($formModel.buttonText || $formModel.buttonTextI18nCode) #if(${formModel.buttonTextI18nCode}) :buttonText="t('${formModel.buttonTextI18nCode}', '${formModel.buttonText}')" + #else buttonText="${formModel.buttonText}" #end#end + #if($formModel.type) type="${formModel.type}" #end + #if($formModel.textStyle) :textStyle='${formModel.textStyle}'#end + #if($formModel.contentPosition) contentPosition="${formModel.contentPosition}" #end + #if(${yunzhupaasKey} == 'alert' && $!{formModel.closable}) :closable= "$formModel.closable" #end + #if($formModel.title || $formModel.titleI18nCode) #if(${formModel.titleI18nCode}) :title="t('${formModel.titleI18nCode}', '${formModel.title}')" + #else title="${formModel.title}" #end#end + #if($formModel.closeText || $formModel.closeTextI18nCode) #if(${formModel.closeTextI18nCode}) :closeText="t('${formModel.closeTextI18nCode}', '${formModel.closeText}')" + #else closeText="${formModel.closeText}" #end#end + #if($formModel.description || $formModel.descriptionI18nCode) #if(${formModel.descriptionI18nCode}) :description="t('${formModel.descriptionI18nCode}', '${formModel.description}')" + #else description="${formModel.description}" #end#end + #if(${formModel.helpMessage} || ${formModel.helpMessageI18nCode}) #if(${formModel.helpMessageI18nCode}) :helpMessage ="t('${formModel.helpMessageI18nCode}', '${formModel.helpMessage}')" + #else helpMessage="${formModel.helpMessage}" #end #end + #if(${formModel.content} || ${formModel.contentI18nCode}) #if(${formModel.contentI18nCode}) :content="t('${formModel.contentI18nCode}', '${formModel.content}')" + #else content="${formModel.content}" #end #end> + + + + #end + #elseif(${yunzhupaasKey}=='qrcode' || ${yunzhupaasKey}=='barcode') + #if($pcshow== true) + + + #if($config.showLabel) #end + <${config.tag} #if(${formModel.format}) format='${formModel.format}'#end + #if(${formModel.lineColor}) lineColor = "${formModel.lineColor}"#end + #if(${formModel.colorLight}) colorLight = "${formModel.colorLight}"#end + #if(${formModel.colorDark}) colorDark = "${formModel.colorDark}"#end + #if(${formModel.background}) background = "${formModel.background}"#end + #if(${formModel.width}) width = "${formModel.width}"#end + #if(${formModel.height}) height = "${formModel.height}"#end + #if(${formModel.relationField}) :staticText = "dataForm.${formModel.relationField}_id" + #else staticText = "${formModel.staticText}"#end > + + + + #end + #elseif(${yunzhupaasKey}=='collapse' && $pcshow == true) + #set($collapse = "a-collapse") + #if(${outermost}=='1') + #set($collapse = "a-collapse-panel") + #end + #if(${isEnd}=='0') + #if(${outermost}=='0') + + <${collapse} ghost expandIconPosition="right" :accordion="${formModel.accordion}" v-model:activeKey="state.${formModel.model}" class="mb-20"> + #else + <${collapse} #if(${formModel.titleI18nCode}):header="t('${formModel.titleI18nCode}','${formModel.title}')" #else header="${formModel.title}"#end key="${formModel.name}" forceRender> + + #end + #else + #if(${outermost}=='0') + + + #else + + + #end + #end + #elseif(${yunzhupaasKey}=='steps' && $pcshow == true) + #set($step = "a-steps") + #if(${outermost}=='1') + #set($step = "a-step") + #end + #if(${isEnd}=='0') + #if(${outermost}=='0') + + + #foreach($itemStep in $config.children) + + #if($!{itemStep.icon}) + + #end + + #end + + #else + + #end + #else + #if(${outermost}=='0') + + #else + + #end + #end + #elseif(${yunzhupaasKey}=='mast' || ${yunzhupaasKey}=='mastTable') + #DetailMastTable(${yunzhupaasKey}) + #elseif($yunzhupaasKey == 'table') + #DetailChildTable() + #end + #end +#end +##详情-主副标签生成 +#macro(DetailMastTable $tableType) + #set($html = $fieLdsModel.formColumnModel.fieLdsModel) + #set($beforeVmodel =${html.vModel}) + ## 副表参数 + #if($tableType=='mastTable') + #set($html = $fieLdsModel.formMastTableModel.mastTable.fieLdsModel) + #set($beforeVmodel =${fieLdsModel.formMastTableModel.vModel}) + #end + #set($vModel = "${html.vModel}") + #set($mastModel="${context.formModel}.${beforeVmodel}") + #set($config = $html.config) + #set($mastKey = "${config.yunzhupaasKey}") + #set($show = $config.noShow) + #set($pcshow = $config.pc) + #set($startTime=${html.startTime}) + #set($endTime=${html.endTime}) +## 时间处理 + #if(${mastKey}=='datePicker'||${mastKey}=='timePicker') +## #GetStartAndEndTime($mastKey,$config,$html,$startTime,$endTime) + #end + #if($show == false && $pcshow == true && ${mastKey}!='calculate') + + + #if($config.showLabel) #end + #DetailFieldTag($mastKey,$html,$config,$mastModel,$beforeVmodel,-1) + + + #end +#end +## 详情-生成字段标签 +#macro(DetailFieldTag $mastKey,$html,$config,$mastModel,$beforeVmodel,$index) + #if($DetailTag.contains($mastKey)) + <${config.tag} #if($mastModel && $mastKey!='iframe') v-model:value="${mastModel}"#end + #if($mastKey!='text') + #if(${html.placeholder} || ${html.placeholderI18nCode}) #if(${html.placeholderI18nCode}) :placeholder="t('${html.placeholderI18nCode}', '${html.placeholder}')" + #else placeholder="${html.placeholder}" #end #end + #else + #if($config.defaultValue) value="${config.defaultValue}"#end + #end + #if($html.maxlength) :maxlength="${html.maxlength}" #end disabled + #if($mastKey =='uploadFile' || $mastKey =='uploadImg' || $mastKey =='inputNumber' || $mastKey =='calculate' + || $mastKey =='sign' || $mastKey =='input' || $mastKey =='location' || $mastKey =='signature') detailed #end + #if($html.readonly == true ) readonly #end + #if($html.clearable == true ) allowClear #end + #if($html.prefixIcon) prefix-icon='${html.prefixIcon}' #end + #if($html.suffixIcon) suffix-icon='${html.suffixIcon}' #end + #if($html.style) :style='${html.style}'#end + #if($html.showWordLimit == true ) ${html.showWordLimit} #end + #if($html.size) size="${html.size}" #end + #if($html.min) :min="${html.min}" #end + #if($html.max) :max="${html.max}" #end + #if($html.count) :count="${html.count}" #end + #if($html.type) type="${html.type}" #end + #if($html.autoSize) :autoSize='${html.autoSize}' #end + #if($html.step) :step="${html.step}" #end + #if($html.precision) :precision="${html.precision}" #end + #if($html.stepstrictly==true) stepstrictly #end + #if($html.textStyle) :textStyle='${html.textStyle}' #end + #if($html.lineHeight) :lineHeight="${html.lineHeight}" #end + #if($html.fontSize) :fontSize="${html.fontSize}" #end + #if($html.controls) :controls="${html.controls}" #end + #if($html.showChinese) :showChinese="${html.showChinese}" #end + #if($html.showPassword) show-password #end + #if($html.filterable || $html.filterable=='false') :showSearch='${html.filterable}' #end + #if($html.multiple) :multiple="${html.multiple}" #end + #if($html.separator) separator="${html.separator}" #end + #if($html.isrange==true) is-range #end + #if($html.rangeseparator) range-separator="${html.rangeseparator}" #end +## #if($html.startplaceholder) start-placeholder="${html.startplaceholder}" #end +## #if($html.endplaceholder) end-placeholder="${html.endplaceholder}" #end + #if($html.format) format="${html.format}" #end + #if($html.colorformat) color-format="${html.colorformat}" #end + #if($html.valueformat) value-format="${html.valueformat}" #end + #if($html.activetext) active-text="${html.activetext}" #end + #if($html.inactivetext) inactive-text="${html.inactivetext}" #end + #if($html.activecolor) active-color="${html.activecolor}" #end + #if($html.inactivecolor) inactive-color="${html.inactivecolor}" #end + #if($html.activevalue) :active-value="${html.activevalue}" #end + #if($html.inactivevalue) :inactive-value="${html.inactivevalue}" #end + #if($html.pickeroptions) :picker-options='${html.pickeroptions}'#end + #if($html.showScore == true ) show-score #end + #if($html.showText == true ) show-text #end + #if($html.allowhalf == true ) allow-half #end + #if($html.showAlpha == true ) show-alpha #end + #if($html.showStops == true ) show-stops #end + #if($html.range == true ) range #end + #if($html.showTip == true ) :showTip="${html.showTip}" #end + #if($html.accept) accept="${html.accept}" #end + #if($html.fileSize) :fileSize="${html.fileSize}" #end + #if($html.sizeUnit) sizeUnit="${html.sizeUnit}" #end + #if($html.limit) :limit="${html.limit}" #end + #if($html.pathType) pathType="${html.pathType}" #end + #if($html.sortRule) :sortRule='${html.sortRule}' #end + #if($html.timeFormat) timeFormat="${html.timeFormat}" #end + #if($html.folder) folder="${html.folder}" #end + #if($html.buttonText || $html.buttonTextI18nCode) #if(${html.buttonTextI18nCode}) :buttonText="t('${html.buttonTextI18nCode}', '${html.buttonText}')" + #else buttonText="${html.buttonText}" #end#end + #if($html.contentposition) content-position="${html.contentposition}" #end + #if($html.isAmountChinese) isAmountChinese #end + #if($html.thousands) thousands #end + #if($html.addonAfter) addonAfter="${html.addonAfter}" #end + #if($html.addonBefore) addonBefore="${html.addonBefore}" #end + #if($html.level || $html.level=='0') :level=${html.level} #end + #if($html.href) href = "$html.href"#end + #if($html.height) :height = "$html.height"#end + #if($html.useMask) :useMask = "${html.useMask}"#end + #if($html.maskConfig) :maskConfig = "maskConfig.${beforeVmodel}"#end + #if($html.autoLocation) :autoLocation = "$html.autoLocation" #end + #if($html.enableLocationScope) :enableLocationScope = "$html.enableLocationScope" #end + #if($html.adjustmentScope) :adjustmentScope = "$html.adjustmentScope" #end + #if($html.enableDesktopLocation) :enableDesktopLocation = "$html.enableDesktopLocation" #end + #if($html.locationScope) :locationScope = "state.locationScope.${beforeVmodel}" #end + #if($html.borderType) borderType = "$html.borderType" #end + #if($html.borderColor) borderColor = "$html.borderColor" #end + #if($html.borderWidth) :borderWidth = "$html.borderWidth" #end + > + + #else + #if(${mastKey} == 'relationFormAttr' || ${mastKey} == 'popupAttr') + #if(${html.isStorage} == 0) + #if($index=="index") + #set($mastModel = "record.${html.relationField}_${html.showField}") + #else + #set($mastModel = "${context.formModel}.${html.relationField}_${html.showField}") + #end + + #end + #end + #if($dataType=='static') +

{{ ${mastModel} }}

+ #else + #if(${mastKey} == 'relationForm') + + #elseif(${mastKey} == 'popupSelect') +

{{${mastModel}}}

+ #elseif(${mastKey} == 'input') +

#if($html.slot.prepend)${html.slot.prepend}#end{{${mastModel}}}#if($html.slot.append)${html.slot.append}#end

+ #elseif(${mastKey} == 'editor') +## 副文本内放标签 +
+ #elseif(${mastKey} == 'calculate' && ${html.isStorage} == 0) + <${config.tag} + #if($index == 'index') :rowIndex="index"#end :formData="${context.formModel}" + #if($html.expression) :expression ='${html.expression}' #end + #if($html.isAmountChinese) isAmountChinese #end + #if($html.thousands) thousands #end + #if($html.precision) :precision="${html.precision}" #end + detailed > + #else +

{{${mastModel}}}

+ #end +## 关联表单和弹窗选择 展示详情 + #if($index!="index" && (${mastKey} == 'relationForm' || ${mastKey} == 'popupSelect')) + + #end + #end + #end +#end +##详情-子表生成 +#macro(DetailChildTable) +#set($child = $fieLdsModel.childList) +#set($aliasname = "") +#foreach($children in ${context.children}) + #if(${children.tableModel}==${child.tableModel}) + #set($aliasname = "${children.aliasLowName}") + #set($aliasName = "${children.aliasUpName}") + #end +#end + +#if($!{child.layoutType} == 'list') +## 子表平铺 +
+ + + + + + + + + #foreach($itemModel in ${child.childList}) + #set($fieLdsModel = ${itemModel.fieLdsModel}) + #set($config = ${fieLdsModel.config}) + #set($mastKey = "${config.yunzhupaasKey}") + #set($vModel="${fieLdsModel.vModel}") + #set($mastModel="dataForm.${aliasname}List[index].${vModel}") + #set($beforeVmodel ="${aliasname}${fieLdsModel.vModel}") + #set($startTime=${fieLdsModel.startTime}) + #set($endTime=${fieLdsModel.endTime}) + #if(${mastKey}=='datePicker'||${mastKey}=='timePicker') + #GetStartAndEndTime($mastKey,$config,$fieLdsModel,$startTime,$endTime) + #end + #if(${config.noShow} == false && ${config.pc}==true && ${config.yunzhupaasKey}!='calculate') + + + + ## 子表标签生成 + #DetailFieldTag($mastKey,$fieLdsModel,$config,$mastModel,$beforeVmodel,'index',true) + + + #end + #end + + + #if($child.showSummary) + #set($childSummary=true) + #set($summaryField = '[]') + #if(${child.summaryField}) + #set($summaryField = ${child.summaryField}) + #end + + + + + + + #end + + + +
+#else +## 子表表格 + + #if($child.showTitle== true) + + #end + 0) :bordered="true" #end + :columns="${aliasname}Columns" size="small" :pagination="false" :scroll="{ x: 'max-content' }"> + +## 子表字段 + +## 子表合计 + #if($child.showSummary) + #set($childSummary=true) + + #end + + +#end +
+#end +## 子表字段对象列表生成 +#macro(DetailChildTableColumns) +## 子表列表字段属性 + #foreach($itemModel in ${context.children}) + const ${itemModel.aliasLowName}Columns: any[] = computed(() => { + let list = [ + #set($childList = ${itemModel.childList}) + #foreach($html in ${childList}) + #set($fieLdsModel = ${html.fieLdsModel}) + #set($config = ${fieLdsModel.config}) + #if(!${config.noShow} && ${config.yunzhupaasKey}!='calculate') + { + title: #if(${config.labelI18nCode}) t('${config.labelI18nCode}','${config.label}') #else '${config.label}' #end, + dataIndex: #if($!{fieLdsModel.vModel}) '${fieLdsModel.vModel}' #else '${config.formId}' #end, + key: #if($!{fieLdsModel.vModel}) '${fieLdsModel.vModel}' #else '${config.formId}' #end, + #if($!{config.columnWidth}) + width: $!{config.columnWidth}, + #end + labelWidth:#if($!{config.labelWidth})'$!{config.labelWidth}' #else '' #end, + span:'$!{config.span}', + tipLabel: #if($!{config.tipLabel}|| ${config.tipLabelI18nCode})#if(${config.tipLabelI18nCode}) t('${config.tipLabelI18nCode}','${config.tipLabel}') #else '${config.tipLabel}' #end #else '' #end, + #set($vModelRequired="#if($!{fieLdsModel.vModel})${itemModel.aliasLowName}List-${fieLdsModel.vModel}#else${itemModel.aliasLowName}List-${config.formId}#end") + required: false, + #if($!{fieLdsModel.thousands}==true) + thousands: ${fieLdsModel.thousands}, + #end + style: #if(${fieLdsModel.style})${fieLdsModel.style} #else ''#end, + align: #if($!{config.tableAlign}) '$!{config.tableAlign}'#else 'left'#end, + fixed: #if($!{config.tableFixed} == 'left' || $!{config.tableFixed} == 'right') '$!{config.tableFixed}' #else false #end, + formP: #if($!{fieLdsModel.vModel}) '${fieLdsModel.vModel}' #else '${fieLdsModel.relationField}' #end, + }, + #end + #end + ]; + ##子表行内按键操作字段判断是否生成。及其宽度 + #if($context.isFlow) + list = list.filter(o => judgeShow('${itemModel.aliasLowName}List-' + o.formP)); + #else + #if(${context.columnData.useFormPermission})list = list.filter(o => hasFormP('${itemModel.tableModel}-' + o.formP)); #end + #end +## 表格子表和平铺子表代码区别 + #if($!{itemModel.layoutType} == 'list') + return list; + #else + const indexColumn = { title: '序号', showLabel: true, dataIndex: 'index', key: 'index', align: 'center', fixed: 'left', width: 50 }; + //子表复杂表头-处理 + let columnList = list; + let complexHeaderList: any[] = #if(${itemModel.complexHeaderList}) ${itemModel.complexHeaderList}; #else []; #end + if (complexHeaderList.length) { + let childColumns: any[] = []; + let firstChildColumns: string[] = []; + for (let i = 0; i < complexHeaderList.length; i++) { + const e = complexHeaderList[i]; + e.title = e.fullNameI18nCode ? t(e.fullNameI18nCode,e.fullName) : e.fullName; + e.align = e.align; + e.children = []; + e.yunzhupaasKey = 'complexHeader'; + if (e.childColumns?.length) { + childColumns.push(...e.childColumns); + for (let k = 0; k < e.childColumns.length; k++) { + const item = e.childColumns[k]; + for (let j = 0; j < list.length; j++) { + const o = list[j]; + if (o.key == item && o.fixed !== 'left' && o.fixed !== 'right') e.children.push({ ...o }); + } + } + } + if (e.children.length) firstChildColumns.push(e.children[0].key); + } + complexHeaderList = complexHeaderList.filter(o => o.children.length); + let newList: any[] = []; + for (let i = 0; i < list.length; i++) { + const e = list[i]; + if (!childColumns.includes(e.key) || e.fixed === 'left' || e.fixed === 'right') { + newList.push(e); + } else { + if (firstChildColumns.includes(e.key)) { + const item = complexHeaderList.find(o => o.childColumns.includes(e.key)); + newList.push(item); + } + } + } + columnList = newList; + } + let columns = [indexColumn, ...columnList] + const leftFixedList = columns.filter(o => o.fixed === 'left'); + const rightFixedList = columns.filter(o => o.fixed === 'right'); + const noFixedList = columns.filter(o => o.fixed !== 'left' && o.fixed !== 'right'); + return [...leftFixedList, ...noFixedList, ...rightFixedList]; + #end + }); +## 子表合计参数 + #if($itemModel.showSummary) + //子表合计字段 + const ${itemModel.aliasLowName}SummaryColumn = computed(() => { + let defaultColumns = unref(${itemModel.aliasLowName}Columns);//子表字段 + let columns: any[] = []; + for (let i = 0; i < defaultColumns.length; i++) { + const e = defaultColumns[i]; + if (e.yunzhupaasKey === 'table' || e.yunzhupaasKey === 'complexHeader') { + if (e.children?.length) columns.push(...e.children); + } else { + columns.push(e); + } + if (e.fixed && e.children?.length) { + for (let j = 0; j < e.children.length; j++) { + e.children[j].fixed = e.fixed; + } + } + } + return columns.filter(o => o?.key != 'index' && o?.key != 'action'); + }); + //合计方法 + const get${itemModel.aliasUpName}ColumnSum = computed(() => { + const sums: any[] = []; + const summaryField: any[] = #if(${itemModel.summaryField}) ${itemModel.summaryField} #else [] #end; + const useThousands = key => unref(${itemModel.aliasLowName}SummaryColumn).some(o => o.key === key && o.thousands); + const isSummary = key => summaryField.includes(key); + const list = unref(${itemModel.aliasLowName}SummaryColumn).filter(o => o.key !== 'index' && o.key !== 'action'); + list.forEach((column, index) => { + let sumVal = state.dataForm.${itemModel.tableModel}.reduce((sum, d) => sum + + Number(getCmpValOfRow(d, column.key, summaryField || [])), 0); + if (!isSummary(column.key)) sumVal = ''; + sumVal = Number.isNaN(sumVal) ? '' : sumVal; + const realVal = sumVal && !Number.isInteger(Number(sumVal)) ? Number(sumVal).toFixed(2) : sumVal; + sums[index] = useThousands(column.key) ? thousandsFormat(realVal) : realVal.toString(); + }); + return sums; + }); + + //合计对齐 + function get${itemModel.aliasUpName}SummaryCellAlign(index) { + if (!unref(${itemModel.aliasLowName}SummaryColumn).length) return; + return unref(${itemModel.aliasLowName}SummaryColumn)[index]?.align || 'left'; + } + #end + #end +#end +## 生成掩码配置 +#macro(CreateMaskConfig) +{ +#foreach($fieLdsModel in ${context.fields}) + #set($html = $fieLdsModel.formColumnModel.fieLdsModel) + #set($vModel = "${html.vModel}") + #set($config = $html.config) + #set($yunzhupaaskey = $config.yunzhupaasKey) + #if($yunzhupaaskey == "input") + ${vModel}:#if(${html.maskConfig}) ${html.maskConfig} #else {}#end, + #end +#end +#foreach($child in ${context.children}) +#set($aliasname = "${child.aliasLowName}") +#foreach($fieLdsModel in ${child.childList}) + #set($html = $fieLdsModel.fieLdsModel) + #set($vModel = "${html.vModel}") + #set($config = $html.config) + #set($yunzhupaaskey = $config.yunzhupaasKey) + #if($yunzhupaaskey == "input") + ${aliasname}${vModel}:#if(${html.maskConfig}) ${html.maskConfig} #else {}#end, + #end +#end +#end +#foreach($ChildField in ${context.columnChildren}) +#foreach($FormMastTableModel in ${ChildField.fieLdsModelList}) + #set($html = ${FormMastTableModel.mastTable.fieLdsModel}) + #set($yunzhupaasKey = ${html.config.yunzhupaasKey}) + #set($ChildVmodel =${FormMastTableModel.vModel}) + #if(${yunzhupaasKey} == "input") + ${ChildVmodel}:#if(${html.maskConfig}) ${html.maskConfig} #else {}#end, + #end +#end +#end +} +#end +## 生成定位配置 +#macro(CreateLocationScope) +{ +#foreach($fieLdsModel in ${context.fields}) + #set($html = $fieLdsModel.formColumnModel.fieLdsModel) + #set($vModel = "${html.vModel}") + #set($config = $html.config) + #set($yunzhupaaskey = $config.yunzhupaasKey) + #if($yunzhupaaskey == "location") + ${vModel}:#if(${html.locationScope}) ${html.locationScope} #else []#end, + #end +#end +#foreach($child in ${context.children}) + #set($aliasname = "${child.aliasLowName}") + #foreach($fieLdsModel in ${child.childList}) + #set($html = $fieLdsModel.fieLdsModel) + #set($vModel = "${html.vModel}") + #set($config = $html.config) + #set($yunzhupaaskey = $config.yunzhupaasKey) + #if($yunzhupaaskey == "location") + ${aliasname}${vModel}:#if(${html.locationScope}) ${html.locationScope} #else []#end, + #end + #end +#end +#foreach($ChildField in ${context.columnChildren}) + #foreach($FormMastTableModel in ${ChildField.fieLdsModelList}) + #set($html = ${FormMastTableModel.mastTable.fieLdsModel}) + #set($yunzhupaasKey = ${html.config.yunzhupaasKey}) + #set($ChildVmodel =${FormMastTableModel.vModel}) + #if(${yunzhupaasKey} == "location") + ${ChildVmodel}:#if(${html.locationScope}) ${html.locationScope} #else []#end, + #end + #end +#end +} +#end +## 生成关联表单和弹窗展示配置 +#macro(CreateExtraOptions) +{ +#foreach($fieLdsModel in ${context.fields}) + #set($html = $fieLdsModel.formColumnModel.fieLdsModel) + #set($vModel = "${html.vModel}") + #set($yunzhupaaskey = $html.config.yunzhupaasKey) + #if($yunzhupaaskey == "relationForm" || $yunzhupaaskey == "popupSelect") + ${vModel}:[#foreach($options in ${html.extraOptions}) {"label":"${options.label}","value":"${options.value}"},#end], + #end +#end +#foreach($ChildField in ${context.columnChildren}) + #foreach($FormMastTableModel in ${ChildField.fieLdsModelList}) + #set($html = ${FormMastTableModel.mastTable.fieLdsModel}) + #set($yunzhupaasKey = ${html.config.yunzhupaasKey}) + #set($ChildVmodel =${FormMastTableModel.vModel}) + #if(${yunzhupaasKey} == "relationForm" || ${yunzhupaasKey} == "popupSelect") + ${ChildVmodel}:[#foreach($options in ${html.extraOptions}) {"label":"${options.label}","value":"${options.value}"},#end], + #end + #end +#end +} +#end +## 生成关联表单和弹窗展示配置 +#macro(CreateExtraData) +{ +#foreach($fieLdsModel in ${context.fields}) + #set($html = $fieLdsModel.formColumnModel.fieLdsModel) + #set($vModel = "${html.vModel}") + #set($yunzhupaaskey = $html.config.yunzhupaasKey) + #if($yunzhupaaskey == "relationForm" || $yunzhupaaskey == "popupSelect") + ${vModel}:{}, + #end +#end +#foreach($ChildField in ${context.columnChildren}) + #foreach($FormMastTableModel in ${ChildField.fieLdsModelList}) + #set($html = ${FormMastTableModel.mastTable.fieLdsModel}) + #set($yunzhupaasKey = ${html.config.yunzhupaasKey}) + #set($ChildVmodel =${FormMastTableModel.vModel}) + #if(${yunzhupaasKey} == "relationForm" || ${yunzhupaasKey} == "popupSelect") + ${ChildVmodel}:{}, + #end + #end +#end +} +#end +#macro(ExtraInfoFun) +#foreach($fieLdsModel in ${context.form}) + #if($fieLdsModel.yunzhupaasKey != 'table') + #if($fieLdsModel.yunzhupaasKey =='mast') + #set($html = $fieLdsModel.formColumnModel.fieLdsModel) + #set($vModel =${html.vModel}) + #else + #set($html = ${fieLdsModel.formMastTableModel.mastTable.fieLdsModel}) + #set($vModel =${fieLdsModel.formMastTableModel.vModel}) + #end + #set($yunzhupaaskey = ${html.config.yunzhupaasKey}) + #if($yunzhupaaskey == "relationForm") + function get${vModel}ExtraInfo(){ + if (!state.dataForm.${vModel}_id) return; + let query: any = { + id: state.dataForm.${vModel}_id, + #if(${html.propsValue})propsValue: '${html.propsValue}'#end + }; + getDataChange('${html.modelId}', query).then(res => { + if (!res.data || !res.data.data) return; + const data = JSON.parse(res.data.data); + state.extraData.${vModel} = data; + }); + } + #end + #if($yunzhupaaskey == "popupSelect") + function get${vModel}ExtraInfo() { + if (!state.dataForm.${vModel}_id) return; + const paramList = getParamList('${vModel}'); + const query = { + ids: [state.dataForm.${vModel}_id], + interfaceId: '${html.interfaceId}', + propsValue: '${html.propsValue}', + relationField: '${html.relationField}', + paramList, + }; + getDataInterfaceDataInfoByIds('${html.interfaceId}', query).then(res => { + const data = res.data && res.data.length ? res.data[0] : {}; + state.extraData.${vModel} = data; + }); + } + #end + #end +#end +#end +#macro(runAllExtraFun) +#foreach($fieLdsModel in ${context.form}) + #if($fieLdsModel.yunzhupaasKey != 'table') + #if($fieLdsModel.yunzhupaasKey =='mast') + #set($html = $fieLdsModel.formColumnModel.fieLdsModel) + #set($vModel =${html.vModel}) + #else + #set($html = ${fieLdsModel.formMastTableModel.mastTable.fieLdsModel}) + #set($vModel =${fieLdsModel.formMastTableModel.vModel}) + #end + #set($yunzhupaaskey = ${html.config.yunzhupaasKey}) + #if($yunzhupaaskey == "relationForm" || $yunzhupaaskey == "popupSelect") + get${vModel}ExtraInfo(); + #end + #end +#end +#end diff --git a/TemplateCodeVue3/PublicMacro/ExcelMarco.vm b/TemplateCodeVue3/PublicMacro/ExcelMarco.vm new file mode 100644 index 0000000..7ef8eca --- /dev/null +++ b/TemplateCodeVue3/PublicMacro/ExcelMarco.vm @@ -0,0 +1,33 @@ +#macro(CreateExcelFields $html,$index) + #set($vModel = ${html.vModel}) + #set($config = ${html.config}) + #set($yunzhupaaskey = "${config.yunzhupaasKey}") + /** ${config.label} **/ + @JSONField(name = "${vModel}") + @Excel(name = "${config.label}(${vModel})",orderNum = "1", isImportField = "true" ) + #if(${yunzhupaaskey}=='inputNumber' || ${yunzhupaaskey}=='calculate' ) + #if($!{fieLdsModel.formColumnModel.fieLdsModel.precision}) + private String ${vModel}; + + #else + private String ${vModel}; + + #end + #elseif(${yunzhupaaskey}=='slider'|| ${yunzhupaaskey}=='rate') + private String ${vModel}; + + #elseif(${yunzhupaaskey}=='modifyTime' || ${yunzhupaaskey}=='createTime') + private String ${vModel}; + + #elseif(${yunzhupaaskey}=='datePicker') + #set($pattern = "yyyy-MM-dd") + #if(${html.format}) + #set($pattern = "${html.format}") + #end + private String ${vModel}; + + #else + private String ${vModel}; + + #end +#end diff --git a/TemplateCodeVue3/PublicMacro/FormMarco.vm b/TemplateCodeVue3/PublicMacro/FormMarco.vm new file mode 100644 index 0000000..04c71ec --- /dev/null +++ b/TemplateCodeVue3/PublicMacro/FormMarco.vm @@ -0,0 +1,1955 @@ +##通用参数 +#parse("PublicMacro/ConstantMarco.vm") +#ConstantParams() +## 编辑-表单渲染通用模块 +#macro(FormRendering) +#foreach($fieLdsModel in ${context.form}) + #set($yunzhupaasKey = "${fieLdsModel.yunzhupaasKey}") + #set($isEnd = "${fieLdsModel.isEnd}") + #set($formModel = ${fieLdsModel.formModel}) + #set($config=$formModel.config) + #set($span=$config.span) + #set($outermost = ${formModel.outermost}) + #set($borderType = ${formModel.borderType}) + #set($borderColor = ${formModel.borderColor}) + #set($borderWidth = ${formModel.borderWidth}) + #set($pcshow = $config.pc) + #if(${yunzhupaasKey}=='row' && $pcshow == true) + #if(${isEnd}=='0') + + + #else + + + #end + #elseif(${yunzhupaasKey}=='card' && $pcshow == true) + #if(${isEnd}=='0') + + + #if(${formModel.header} || ${formModel.headerI18nCode}) + + #end + + #else + + + + #end + #elseif(${yunzhupaasKey}=='tab' && $pcshow == true) + #set($tabs = "a-tabs") + #if(${outermost}=='1') + #set($tabs = "a-tab-pane") + #end + #if(${isEnd}=='0') + #if(${outermost}=='0') + + <${tabs} v-model:activeKey="state.${formModel.model}" #if($formModel.type)type="${formModel.type}"#end tabPosition="${formModel.tabPosition}" class="mb-20" > + #else + <${tabs} #if(${formModel.titleI18nCode}):tab="t('${formModel.titleI18nCode}','${formModel.title}')" #else tab="${formModel.title}"#end key="${formModel.name}" forceRender> + + #end + #else + #if(${outermost}=='0') + + + #else + + + #end + #end + #elseif(${yunzhupaasKey}=='tableGrid' || ${yunzhupaasKey}=='tableGridTd' || ${yunzhupaasKey}=='tableGridTr') + #set($tabs = "tbody") + #set($tableGrid = "table") + #set($needRow = false) + #if(${yunzhupaasKey}=='tableGridTr') + #set($tabs = "tr") + #elseif(${yunzhupaasKey}=='tableGridTd') + #set($tabs = "") + #if(${config.merged}==false) + #set($tabs = "td") + #set($needRow = true) + #end + #end + #if(${config.pc}==true) + #if(${isEnd}=='0') + #if(${yunzhupaasKey}=='tableGrid') + <${tableGrid} class="table-grid-box" :style='{"--borderType":"${borderType}","--borderColor":"${borderColor}","--borderWidth":"${borderWidth}px"}'> + #end + #if($tabs) + <${tabs}#if(${config.colspan}) colspan="${config.colspan}"#end#if(${config.rowspan}) rowspan="${config.rowspan}"#end + #if($!{config.backgroundColor}) :style="{ '--backgroundColor': '${config.backgroundColor}' }"#end> + #if($needRow) + + #end + #end + #else + #if($tabs) + #if($needRow) + + #end + + #end + #if(${yunzhupaasKey}=='tableGrid') + + #end + #end + #end + #elseif(${yunzhupaasKey}=='collapse' && $pcshow == true) + #set($collapse = "a-collapse") + #if(${outermost}=='1') + #set($collapse = "a-collapse-panel") + #end + #if(${isEnd}=='0') + #if(${outermost}=='0') + + <${collapse} ghost expandIconPosition="right" :accordion="${formModel.accordion}" v-model:activeKey="state.${formModel.model}" class="mb-20px"> + #else + <${collapse} #if(${formModel.titleI18nCode}):header="t('${formModel.titleI18nCode}','${formModel.title}')" #else header="${formModel.title}"#end key="${formModel.name}" forceRender> + + #end + #else + #if(${outermost}=='0') + + + #else + + + #end + #end + #elseif(${yunzhupaasKey}=='steps' && $pcshow == true) + #set($step = "a-steps") + #if(${outermost}=='1') + #set($step = "a-step") + #end + #if(${isEnd}=='0') + #if(${outermost}=='0') + + + #foreach($itemStep in $config.children) + + #if($!{itemStep.icon}) + + #end + + #end + + #else + + #end + #else + #if(${outermost}=='0') + + #else + + #end + #end + #elseif(${yunzhupaasKey}=='groupTitle' || ${yunzhupaasKey}=='text'|| ${yunzhupaasKey} == 'button' || ${yunzhupaasKey} == 'link' || ${yunzhupaasKey} == 'alert'|| ${yunzhupaasKey} == 'divider') + #if($pcshow== true) + + + <${config.tag} + #if($formModel.style) :style='${formModel.style}'#end + #if($formModel.href) href = "$formModel.href"#end + #if($formModel.target) target = "$formModel.target"#end + #if($formModel.showIcon) :show-icon= "$formModel.showIcon"#end + #if($formModel.align) align="${formModel.align}" #end + #if($formModel.disabled) :disabled="${formModel.disabled}" #end + #if($formModel.buttonText || $formModel.buttonTextI18nCode) #if(${formModel.buttonTextI18nCode}) :buttonText="t('${formModel.buttonTextI18nCode}', '${formModel.buttonText}')" + #else buttonText="${formModel.buttonText}" #end#end + #if($formModel.type) type="${formModel.type}" #end + #if($formModel.textStyle) :textStyle='${formModel.textStyle}'#end + #if($formModel.contentPosition) contentPosition="${formModel.contentPosition}" #end + #if(${yunzhupaasKey} == 'alert' && $!{formModel.closable}) :closable= "$formModel.closable" #end + #if($formModel.title || $formModel.titleI18nCode) #if(${formModel.titleI18nCode}) :title="t('${formModel.titleI18nCode}', '${formModel.title}')" + #else title="${formModel.title}" #end#end + #if($formModel.closeText || $formModel.closeTextI18nCode) #if(${formModel.closeTextI18nCode}) :closeText="t('${formModel.closeTextI18nCode}', '${formModel.closeText}')" + #else closeText="${formModel.closeText}" #end#end + #if($formModel.description || $formModel.descriptionI18nCode) #if(${formModel.descriptionI18nCode}) :description="t('${formModel.descriptionI18nCode}', '${formModel.description}')" + #else description="${formModel.description}" #end#end + #if(${formModel.helpMessage} || ${formModel.helpMessageI18nCode}) #if(${formModel.helpMessageI18nCode}) :helpMessage ="t('${formModel.helpMessageI18nCode}', '${formModel.helpMessage}')" + #else helpMessage ="${formModel.helpMessage}" #end #end + #if(${formModel.content} || ${formModel.contentI18nCode}) #if(${formModel.contentI18nCode}) :content ="t('${formModel.contentI18nCode}', '${formModel.content}')" + #else content ="${formModel.content}" #end #end> + + + + #end + #elseif(${yunzhupaasKey}=='qrcode' || ${yunzhupaasKey}=='barcode') + #if($pcshow== true) + + + #if($config.showLabel) #end + <${config.tag} #if(${formModel.format}) format='${formModel.format}'#end + #if(${formModel.lineColor}) lineColor = "${formModel.lineColor}"#end + #if(${formModel.colorLight}) colorLight = "${formModel.colorLight}"#end + #if(${formModel.colorDark}) colorDark = "${formModel.colorDark}"#end + #if(${formModel.background}) background = "${formModel.background}"#end + #if(${formModel.width}) width = "${formModel.width}"#end + #if(${formModel.height}) height = "${formModel.height}"#end + #if(${formModel.relationField}) :staticText = "dataForm.${formModel.relationField}" + #else staticText = "${formModel.staticText}"#end > + + + + #end + #elseif(${yunzhupaasKey}=='mast' || ${yunzhupaasKey}=='mastTable') + #EachItemRender(${yunzhupaasKey}) + #elseif($yunzhupaasKey == 'table') + #CreateChildTable() + #end +#end +#end +## 编辑-主表副表-字段渲染 +#macro(EachItemRender $tableType) + #set($html = $fieLdsModel.formColumnModel.fieLdsModel) + #set($beforeVmodel =${html.vModel}) +## 副表参数 + #if($tableType=='mastTable') + #set($html = $fieLdsModel.formMastTableModel.mastTable.fieLdsModel) + #set($beforeVmodel =${fieLdsModel.formMastTableModel.vModel}) + #end + #set($vModel = "${html.vModel}") + #set($mastModel="${context.formModel}.${beforeVmodel}") + #set($config = $html.config) + #set($mastKey = "${config.yunzhupaasKey}") + #set($show = $config.noShow) + #set($pcshow = $config.pc) + #set($startTime=${html.startTime}) + #set($endTime=${html.endTime}) +## 时间处理 + #if(${mastKey}=='datePicker'||${mastKey}=='timePicker') + #GetStartAndEndTime($mastKey,$config,$html,$startTime,$endTime) + #end + #if($show == false && $pcshow == true && ${mastKey}!='calculate') + + + #if($config.showLabel) #end + #CreateFieldTag($mastKey,$html,$config,$mastModel,$beforeVmodel,-1,true) + + + #end +#end +## 编辑-生成字段标签 +#macro(CreateFieldTag $mastKey,$html,$config,$mastModel,$beforeVmodel,$index,$isChangeData) +<${config.tag} #if($html.vModel) v-model:value="${mastModel}" #if($isChangeData) @change="changeData('${beforeVmodel}',${index})" #end #end + #if($mastKey!='text') + #if(${html.placeholder} || ${html.placeholderI18nCode}) #if(${html.placeholderI18nCode}) :placeholder="t('${html.placeholderI18nCode}', '${html.placeholder}')" + #else placeholder="${html.placeholder}" #end #end + #end + #if(!$context.lineEdit && ($mastKey =='popupSelect' || $mastKey =='popupTableSelect'|| $mastKey =='calculate')) + #if($index == 'index') :rowIndex="index"#end :formData="${context.formModel}" + #end + #if($mastKey== 'uploadFile' || $mastKey== 'uploadImg') + #if(${html.fileSize}) :fileSize="${html.fileSize}" #end #end + #if($html.maxlength) :maxlength="${html.maxlength}" #end + #if($html.readonly == true ) readonly #end + #if($context.isFlow) + #if($mastKey== 'popupAttr'||$mastKey== 'relationFormAttr') + #set($judgeWriteName="${html.relationField}") + #else + #set($judgeWriteName="${beforeVmodel}") + #end +## 子表,xxxlist-input + #if($index == 'index') + #if($mastKey== 'popupAttr'||$mastKey== 'relationFormAttr') + #set($judgeWriteName= "${aliasname}List-${html.relationField}") + #else + #set($judgeWriteName= "${aliasname}List-${html.vModel}") + #end + #end + :disabled="judgeWrite('${judgeWriteName}')" + #else + #if($html.disabled == true ):disabled="${html.disabled}"#end + #end + #if($html.expression) :expression ='${html.expression}' #end + #if($html.templateJson && $InterfaceHasJson.contains($mastKey) && !$context.lineEdit) :templateJson="state.interfaceRes.${beforeVmodel}"#end + #if($!html.clearable || $html.clearable=='false') :allowClear='${html.clearable}' #end + #if($html.prefixIcon) prefix-icon='${html.prefixIcon}' #end + #if($html.suffixIcon) suffix-icon='${html.suffixIcon}' #end + #if($html.style) :style='${html.style}'#end + #if($html.showWordLimit == true ) ${html.showWordLimit} #end + #if($html.size) size="${html.size}" #end + #if($html.min) :min="${html.min}" #end + #if($html.max) :max="${html.max}" #end + #if($html.count) :count="${html.count}" #end + #if($html.type) type="${html.type}" #end + #if($html.showLevel) showLevel="${html.showLevel}" #end + #if($html.autoSize) :autoSize='${html.autoSize}' #end + #if($html.step) :step="${html.step}" #end + #if($html.precision) :precision="${html.precision}" #end + #if($html.stepstrictly==true) stepstrictly #end + #if($html.textStyle) :textStyle='${html.textStyle}' #end + #if($html.lineHeight) :lineHeight="${html.lineHeight}" #end + #if($html.fontSize) :fontSize="${html.fontSize}" #end + #if($html.showChinese) :showChinese="${html.showChinese}" #end + #if($html.showPassword) show-password #end + #if($html.filterable || $html.filterable=='false') :showSearch='${html.filterable}' #end + #if($html.multiple) :multiple="${html.multiple}" #end + #if($html.separator) separator="${html.separator}" #end + #if($html.isrange==true) is-range #end + #if($html.rangeseparator) range-separator="${html.rangeseparator}" #end + #if($html.format) format="${html.format}" #end + #if($html.colorformat) color-format="${html.colorformat}" #end + #if($html.valueformat) value-format="${html.valueformat}" #end + #if($!html.activecolor) active-color="${html.activecolor}" #end + #if($!html.inactivecolor) inactive-color="${html.inactivecolor}" #end + #if($!html.activevalue) :checkedValue="${html.activevalue}" #end + #if($!html.inactivevalue) :unCheckedValue="${html.inactivevalue}" #end +## #if($!html.activeTxt) checkedChildren="${html.activeTxt}" #end +## #if($!html.inactiveTxt) unCheckedChildren="${html.inactiveTxt}" #end + #if($html.showScore == true ) show-score #end + #if($html.showText == true ) show-text #end + #if($html.allowhalf == true ) allow-half #end + #if($html.showAlpha == true ) show-alpha #end + #if($html.showStops == true ) show-stops #end + #if($html.range == true ) range #end + #if($html.showTip == true ) :showTip="${html.showTip}" #end + #if($html.accept) accept="${html.accept}" #end + #if($html.sizeUnit) sizeUnit="${html.sizeUnit}" #end + #if($html.limit) :limit="${html.limit}" #end + #if($html.pathType) pathType="${html.pathType}" #end + #if($html.sortRule) :sortRule='${html.sortRule}' #end + #if($html.timeFormat) timeFormat="${html.timeFormat}" #end + #if($html.folder) folder="${html.folder}" #end + #if($html.buttonText || $html.buttonTextI18nCode) #if(${html.buttonTextI18nCode}) :buttonText="t('${html.buttonTextI18nCode}', '${html.buttonText}')" + #else buttonText="${html.buttonText}" #end#end + #if($html.contentposition) content-position="${html.contentposition}" #end + #if($!html.level || $html.level=='0') :level=${html.level} #end + #if($html.isAmountChinese) isAmountChinese #end + #if($html.thousands) thousands #end + #if($html.addonAfter) addonAfter="${html.addonAfter}" #end + #if($html.addonBefore) addonBefore="${html.addonBefore}" #end + #if($html.controls) :controls="${html.controls}" #end + #if($startTime) :startTime="${startTime}" #end + #if($endTime) :endTime="${endTime}" #end + #if($html.tipText) tipText="${html.tipText}" #end + #if($html.href) href = "$html.href"#end + #if($html.height) :height = "$html.height"#end + #if($html.useMask) :useMask = "${html.useMask}"#end + #if($html.maskConfig) :maskConfig = "maskConfig.${beforeVmodel}"#end + #if($html.autoLocation) :autoLocation = "$html.autoLocation" #end + #if($html.enableLocationScope) :enableLocationScope = "$html.enableLocationScope" #end + #if($html.adjustmentScope) :adjustmentScope = "$html.adjustmentScope" #end + #if($html.enableDesktopLocation) :enableDesktopLocation = "$html.enableDesktopLocation" #end + #if($html.locationScope) :locationScope = "state.locationScope.${beforeVmodel}" #end + #if($html.showCount || $html.showCount == 'false') :showCount = "${html.showCount}" #end + #if($html.borderType) borderType = "$html.borderType" #end + #if($html.borderColor) borderColor = "$html.borderColor" #end + #if($html.borderWidth) :borderWidth = "$html.borderWidth" #end + #if($html.isInvoke) :isInvoke="$html.isInvoke" #end + #if($mastKey == 'relationFormAttr' || $mastKey == 'popupAttr') + #set($lineEidtRelationField = $html.relationField) +## 行内格式是guanlianbiaodan_yunzhupaasTable_test_salesordecopy_copy11==刚好没有子表删除表格 + #if($html.relationField && $html.relationField.contains("_yunzhupaasTable_")) + #if($html.relationField.contains("$config.tableName")) +## 主表 + #set($lineEidtRelationField = $html.relationField.split("_yunzhupaasTable_")[0]) + #else +## 副表 + #set($lineEidtRelationField = "yunzhupaas_"+$config.tableName+"_yunzhupaas_"+$html.relationField.split("_yunzhupaasTable_")[0]) + #end + #end + #if($html.relationField) :relationField=#if(${index}=="index") "'${lineEidtRelationField}'+index" #else "'${lineEidtRelationField}'" #end#end + #if($html.showField) showField="${html.showField}" #end + #if($html.isStorage) isStorage=${html.isStorage} #end + #end + #if($html.selectType) selectType="$html.selectType" #end + #if($html.selectType == 'custom' || $mastKey == 'signature') + #if($html.ableDepIds) :ableDepIds = 'ableAll.${beforeVmodel}ableDepIds' #end + #if($html.ablePosIds) :ablePosIds = 'ableAll.${beforeVmodel}ablePosIds' #end + #if($html.ableUserIds) :ableUserIds = 'ableAll.${beforeVmodel}ableUserIds' #end + #if($html.ableRoleIds) :ableRoleIds = 'ableAll.${beforeVmodel}ableRoleIds' #end + #if($html.ableGroupIds) :ableGroupIds = 'ableAll.${beforeVmodel}ableGroupIds' #end + #if($html.ableIds) :ableIds = 'ableAll.${beforeVmodel}ableIds' #end + #elseif($html.selectType == 'dep' || $html.selectType == 'pos' || $html.selectType == 'role' || $html.selectType == 'group') + #set($ableRelationIds="dataForm.${html.relationField}") + #if($html.relationChild) + #set($ableRelationIds="record.${html.relationField}") + #end + #if($html.relationField) + :ableRelationIds="Array.isArray(${ableRelationIds}) ? ${ableRelationIds} : [${ableRelationIds}]" + #end + #end + #if($mastKey == 'relationForm') :field=#if(${index}=="index")"'${html.vModel}'+index"#else"'${beforeVmodel}'"#end modelId ="${html.modelId}" + :columnOptions="optionsObj.${beforeVmodel}columnOptions" relationField="${html.relationField}" popupWidth="${html.popupWidth}" propsValue="${html.propsValue}" + #if($html.hasPage) hasPage :pageSize="$html.pageSize" #end :queryType=#if(${html.queryType})"${html.queryType}"#else"0"#end #end + #if($mastKey == 'popupSelect' || $mastKey =='popupTableSelect') :field=#if(${index}=="index")"'${html.vModel}'+index"#else"'${beforeVmodel}'"#end interfaceId="${html.interfaceId}" + :columnOptions="optionsObj.${beforeVmodel}columnOptions" propsValue="${html.propsValue}" relationField="${html.relationField}" popupType="${html.popupType}" + #if(${html.popupTitle}) popupTitle="${html.popupTitle}" #end popupWidth="${html.popupWidth}" #if($html.hasPage) hasPage :pageSize="$html.pageSize" #end #end + #if($mastKey=='cascader' || $mastKey=='treeSelect' || $mastKey=='checkbox'|| $mastKey=='radio'|| $mastKey=='select') + ##有index时说明时子表,子表动态可选值 取当前行内option + #if(${index}=="index" && ${config.dataType}=="dynamic"):options="record.${beforeVmodel}Options" #else :options="optionsObj.${beforeVmodel}Options" #end + :fieldNames="optionsObj.${beforeVmodel}Props" + #if(${html.direction}) direction="${html.direction}" #end + #if(${html.optionType}) optionType="${html.optionType}" #end + #end + #if($mastKey == 'autoComplete') + relationField="${html.relationField}" + interfaceId="${html.interfaceId}" + #if(${html.total}) :total="${html.total}" #end + #if($index == 'index') :rowIndex="index" #end + :formData="${context.formModel}" + #end + #if($index != 'index' && ($mastKey == 'relationForm' || $mastKey == 'popupSelect')) + :extraOptions = "state.extraOptions.${beforeVmodel}" + #end + > + #if($mastKey!='checkbox' && $mastKey!='radio' && $mastKey!='select') + #if($html.slot.prepend) + + #end + #if($html.slot.append) + + #end + #end + +#end +## 编辑-子表生成 +#macro(CreateChildTable) +#set($child = $fieLdsModel.childList) +#set($aliasname = "") +#foreach($children in ${context.children}) + #if(${children.tableModel}==${child.tableModel}) + #set($aliasname = "${children.aliasLowName}") + #set($aliasName = "${children.aliasUpName}") + #end +#end + + +#if($!{child.layoutType} == 'list') +## 子表平铺 +
+ + + + + + + + + + #foreach($itemModel in ${child.childList}) + #set($fieLdsModel = ${itemModel.fieLdsModel}) + #set($config = ${fieLdsModel.config}) + #set($mastKey = "${config.yunzhupaasKey}") + #set($vModel="${fieLdsModel.vModel}") + #set($mastModel="dataForm.${aliasname}List[index].${vModel}") + #set($beforeVmodel ="${aliasname}${fieLdsModel.vModel}") + #set($startTime=${fieLdsModel.startTime}) + #set($endTime=${fieLdsModel.endTime}) + #if(${mastKey}=='datePicker'||${mastKey}=='timePicker') + #GetStartAndEndTime($mastKey,$config,$fieLdsModel,$startTime,$endTime) + #end + #if(${config.noShow} == false && ${config.pc}==true && ${config.yunzhupaasKey}!='calculate') + + +## 子表各字段标题生成 + +## 子表标签生成 + #CreateFieldTag($mastKey,$fieLdsModel,$config,$mastModel,$beforeVmodel,'index',true) + + + #end + #end + + + #if($child.showSummary) + #set($childSummary=true) + #set($summaryField = '[]') + #if(${child.summaryField}) + #set($summaryField = ${child.summaryField}) + #end + + + + + + + #end + + #if($child.footerBtnsList.size()>0) + #if($child.footerBtnsList.size()>2)#set($isSelectDialog = true) #end + + #foreach($footerBtn in ${child.footerBtnsList}) + #set($btnName="openSelectDialog('${child.aliasLowName}List','$!{footerBtn.value}')") + #if($footerBtn.value =="add") + #set($btnName="add${aliasName}Row") + #end + #if($footerBtn.show && $footerBtn.value !="batchRemove" && $footerBtn.actionType!=2) + #if(${footerBtn.labelI18nCode}) {{t('${footerBtn.labelI18nCode}','${footerBtn.label}')}} #else ${footerBtn.label}#end + #end + #end + + #end + + +
+#else +## 子表表格 + + #if($child.showTitle== true) + + #end +0) :bordered="true" #end + :columns="${aliasname}Columns" size="small" :pagination="false" :scroll="{ x: 'max-content' }" + :rowSelection="get${aliasname}RowSelection" rowKey="yunzhupaasId"> + +## 子表字段 + +## 子表合计 +#if($child.showSummary) + #set($childSummary=true) + +#end + + #if($child.footerBtnsList.size()>0) + #if($child.footerBtnsList.size()>2)#set($isSelectDialog = true) #end + + #foreach($footerBtn in ${child.footerBtnsList}) + #set($btnName="openSelectDialog('${child.aliasLowName}List','$!{footerBtn.value}')") + #if($footerBtn.value =="add") + #set($btnName="add${aliasName}Row") + #elseif($footerBtn.value =="batchRemove") + #set($btnName="batchRemove${aliasName}Row($!{footerBtn.showConfirm})") + #end + #if($footerBtn.show && $footerBtn.actionType!=2) + #if(${footerBtn.labelI18nCode}) {{t('${footerBtn.labelI18nCode}','${footerBtn.label}')}} #else ${footerBtn.label} #end + #end + #end + + #end + +#end +
+#end +## 子表字段对象列表生成 +#macro(GetChildTableColumns) +## 子表列表字段属性 + #foreach($itemModel in ${context.children}) + #set($itemChildHasBatch = false) + #foreach($itemBtn in ${itemModel.footerBtnsList}) + #if(${itemBtn.value} == 'batchRemove') + #set($itemChildHasBatch = true) + #end + #end + const ${itemModel.aliasLowName}Columns: any[] = computed(() => { + let list = [ + #set($childList = ${itemModel.childList}) + #foreach($html in ${childList}) + #set($fieLdsModel = ${html.fieLdsModel}) + #set($config = ${fieLdsModel.config}) + #if(($context.isFlow || !${config.noShow}) && ${config.yunzhupaasKey}!='calculate') + { + title: #if(${config.labelI18nCode}) t('${config.labelI18nCode}','${config.label}') #else '${config.label}' #end, + dataIndex: #if($!{fieLdsModel.vModel}) '${fieLdsModel.vModel}' #else '${config.formId}' #end, + key: #if($!{fieLdsModel.vModel}) '${fieLdsModel.vModel}' #else '${config.formId}' #end, + #if($!{config.columnWidth}) + width: $!{config.columnWidth}, + #end + labelWidth:#if($!{config.labelWidth})'$!{config.labelWidth}' #else '' #end, + span:'$!{config.span}', + tipLabel: #if($!{config.tipLabel}|| ${config.tipLabelI18nCode})#if(${config.tipLabelI18nCode}) t('${config.tipLabelI18nCode}','${config.tipLabel}') #else '${config.tipLabel}' #end #else '' #end, + #set($vModelRequired="#if($!{fieLdsModel.vModel})${itemModel.aliasLowName}List-${fieLdsModel.vModel}#else${itemModel.aliasLowName}List-${config.formId}#end") + required: #if($context.isFlow)judgeRequired('$vModelRequired'), #else ${config.required},#end + #if($!{fieLdsModel.thousands}==true) + thousands: ${fieLdsModel.thousands}, + #end + style: #if(${fieLdsModel.style})${fieLdsModel.style} #else ''#end, + align: #if($!{config.tableAlign}) '$!{config.tableAlign}'#else 'left'#end , + fixed: #if($!{config.tableFixed} == 'left' || $!{config.tableFixed} == 'right') '$!{config.tableFixed}' #else false #end, + formP: #if($!{fieLdsModel.vModel}) '${fieLdsModel.vModel}' #else '${fieLdsModel.relationField}' #end, + }, + #end + #end + ]; +##子表行内按键操作字段判断是否生成。及其宽度 + #if($context.isFlow) + list = list.filter(o => judgeShow('${itemModel.aliasLowName}List-' + o.formP)); + #if($hasLineBtnNum>0) + if (!judgeWrite('${itemModel.aliasLowName}List')) { + list.push({ title: t('component.table.action'), showLabel: true, dataIndex: 'action', key: 'action', align: 'center', fixed: 'right', width: $hasLineBtnNum }); + } + #end + #else + #if(${context.columnData.useFormPermission})list = list.filter(o => hasFormP('${itemModel.tableModel}-' + o.formP)); #end + #if($hasLineBtnNum>0)list.push({ title: t('component.table.action'), showLabel: true, dataIndex: 'action', key: 'action', align: 'center', fixed: 'right', width: $hasLineBtnNum });#end + #end +## 表格子表和平铺子表代码区别 + #if($!{itemModel.layoutType} == 'list') + return list; + #else + const indexColumn = { title: t('component.table.index'), showLabel: true, dataIndex: 'index', key: 'index', align: 'center', fixed: 'left', width: 50 }; + //子表复杂表头-处理 + let columnList = list; + let complexHeaderList: any[] = #if(${itemModel.complexHeaderList}) ${itemModel.complexHeaderList}; #else []; #end + if (complexHeaderList.length) { + let childColumns: any[] = []; + let firstChildColumns: string[] = []; + for (let i = 0; i < complexHeaderList.length; i++) { + const e = complexHeaderList[i]; + e.title = e.fullNameI18nCode ? t(e.fullNameI18nCode,e.fullName) : e.fullName; + e.align = e.align; + e.children = []; + e.yunzhupaasKey = 'complexHeader'; + if (e.childColumns?.length) { + childColumns.push(...e.childColumns); + for (let k = 0; k < e.childColumns.length; k++) { + const item = e.childColumns[k]; + for (let j = 0; j < list.length; j++) { + const o = list[j]; + if (o.key == item && o.fixed !== 'left' && o.fixed !== 'right') e.children.push({ ...o }); + } + } + } + if (e.children.length) firstChildColumns.push(e.children[0].key); + } + complexHeaderList = complexHeaderList.filter(o => o.children.length); + let newList: any[] = []; + for (let i = 0; i < list.length; i++) { + const e = list[i]; + if (!childColumns.includes(e.key) || e.fixed === 'left' || e.fixed === 'right') { + newList.push(e); + } else { + if (firstChildColumns.includes(e.key)) { + const item = complexHeaderList.find(o => o.childColumns.includes(e.key)); + newList.push(item); + } + } + } + columnList = newList; + } + let columns = [indexColumn, ...columnList] + const leftFixedList = columns.filter(o => o.fixed === 'left'); + const rightFixedList = columns.filter(o => o.fixed === 'right'); + const noFixedList = columns.filter(o => o.fixed !== 'left' && o.fixed !== 'right'); + return [...leftFixedList, ...noFixedList, ...rightFixedList]; + #end + }); + +## 子表选择框是否展示 + const get${itemModel.aliasLowName}HasBatchBtn = computed(() =>{ + let flist:any[] = #if(${itemModel.footerBtnsList})${itemModel.footerBtnsList}#else [] #end + return flist?.length && flist.some(o => o.value == 'batchRemove' && !!o.show) + }); + + const get${itemModel.aliasLowName}RowSelection = computed(() => { + if (!unref(get${itemModel.aliasLowName}HasBatchBtn )) return undefined; + const rowSelection = { + selectedRowKeys: state.selected${itemModel.aliasLowName}RowKeys, + onChange: (selectedRowKeys: string[]) => { + state.selected${itemModel.aliasLowName}RowKeys = selectedRowKeys; + }, + }; + return rowSelection; + }); + +## 子表合计参数 + #if($itemModel.showSummary) + //子表合计字段 + const ${itemModel.aliasLowName}SummaryColumn = computed(() => { + let defaultColumns = unref(${itemModel.aliasLowName}Columns);//子表字段 + let columns: any[] = []; + for (let i = 0; i < defaultColumns.length; i++) { + const e = defaultColumns[i]; + if (e.yunzhupaasKey === 'table' || e.yunzhupaasKey === 'complexHeader') { + if (e.children?.length) columns.push(...e.children); + } else { + columns.push(e); + } + if (e.fixed && e.children?.length) { + for (let j = 0; j < e.children.length; j++) { + e.children[j].fixed = e.fixed; + } + } + } + return columns.filter(o => o?.key != 'index' && o?.key != 'action'); + }); + //合计方法 + const get${itemModel.aliasUpName}ColumnSum = computed(() => { + const sums: any[] = []; + const summaryField: any[] = #if(${itemModel.summaryField}) ${itemModel.summaryField} #else [] #end; + const useThousands = key => unref(${itemModel.aliasLowName}SummaryColumn).some(o => o.key === key && o.thousands); + const isSummary = key => summaryField.includes(key); + const list = unref(${itemModel.aliasLowName}SummaryColumn).filter(o => o.key !== 'index' && o.key !== 'action'); + list.forEach((column, index) => { + let sumVal = state.dataForm.${itemModel.aliasLowName}List.reduce((sum, d) => sum + Number(getCmpValOfRow(d, column.key, summaryField || [])), 0); + if (!isSummary(column.key)) sumVal = ''; + sumVal = Number.isNaN(sumVal) ? '' : sumVal; + const realVal = sumVal && !Number.isInteger(Number(sumVal)) ? Number(sumVal).toFixed(2) : sumVal; + sums[index] = useThousands(column.key) ? thousandsFormat(realVal) : realVal.toString(); + }); + #if($!{itemModel.layoutType} != 'list') + if (unref(get${itemModel.aliasLowName}HasBatchBtn )) sums.unshift(''); + #end + return sums; + }); + //合计对齐 + function get${itemModel.aliasUpName}SummaryCellAlign(index) { + if (!unref(${itemModel.aliasLowName}SummaryColumn).length) return; + if ($itemChildHasBatch) index--; + return unref(${itemModel.aliasLowName}SummaryColumn)[index]?.align || 'left'; + } + #end + #end +#end +## 子表方法生成 +#macro(CreateChildTableMethod) + #foreach($itemModel in ${context.children}) + #set($aliasname =$!{itemModel.aliasLowName}) + #set($aliasName =$!{itemModel.aliasUpName}) + #set($childList = ${itemModel.childList}) +## 子表非弹窗生成添加方法 + function add${aliasName}Row(){ + let item = { + #foreach($html in $childList) + #set($fieLdsModel = ${html.fieLdsModel}) + #set($vModel = "${html.fieLdsModel.vModel}") + #set($config = ${html.fieLdsModel.config}) + #set($jk = $html.fieLdsModel.config.yunzhupaasKey) + #set($dataType = "$!{config.dataType}") + #set($defaultCurrent = $html.fieLdsModel.config.defaultCurrent) + #set($defult = $html.fieLdsModel.config.defaultValue) + #set($format = $html.fieLdsModel.format) + #if($vModel) + #GetFeildDefaultValue($!{aliasname}) + #end + #end + yunzhupaasId: buildUUID(), + } + state.dataForm.${aliasname}List.push(item) + state.childIndex=state.dataForm.${aliasname}List.length-1 + #foreach($childList in$childList) + #set($fieLdsModel = $childList.fieLdsModel) + #set($vModel = "${fieLdsModel.vModel}") + #set($field = "${fieLdsModel.vModel}") + #set($config = ${fieLdsModel.config}) + #set($dataType = "$!{config.dataType}") + #if(${dataType}=='dynamic') + get${aliasname}${vModel}Options() + #end + #end + state.childIndex = -1 + #if($!{itemModel.layoutType} == 'list' && $!{itemModel.defaultExpandAll} ) + state.${aliasname}innerActiveKey.push(item.yunzhupaasId); + #end + } + + function remove${aliasName}Row(index,showConfirm=false){ + if(showConfirm){ + createConfirm({ + iconType: 'warning', + title: '提示', + content: '此操作将永久删除该数据, 是否继续?', + onOk: () => { + state.dataForm.${aliasname}List.splice(index, 1); + }, + }); + }else{ + state.dataForm.${aliasname}List.splice(index, 1); + } + } + + function copy${aliasName}Row(index){ + let item = cloneDeep(state.dataForm.${aliasname}List[index]); +## 系统控件置空 + #foreach($html in $childList) + #set($fieLdsModel = ${html.fieLdsModel}) + #set($vModel = "${html.fieLdsModel.vModel}") + #set($config = ${html.fieLdsModel.config}) + #set($jk = $html.fieLdsModel.config.yunzhupaasKey) + #set($dataType = "$!{config.dataType}") + #set($defaultCurrent = $html.fieLdsModel.config.defaultCurrent) + #set($defult = $html.fieLdsModel.config.defaultValue) + #set($format = $html.fieLdsModel.format) + #if($vModel) + #if(${systemyunzhupaasKey.contains(${jk})}) + item.${vModel} = ''; + #end + #end + #end + let copyData = {}; + for (let i = 0; i < unref(${aliasname}Columns).length; i++) { + const cur = unref(${aliasname}Columns)[i]; + if (cur.key != 'index' && cur.key != 'action') { + if (cur.children?.length && cur.yunzhupaasKey == 'complexHeader') { + for (let j = 0; j < cur.children.length; j++) { + copyData[cur.children[j].key] = item[cur.children[j].key]; + } + } else { + copyData[cur.key] = item[cur.key]; + } + } + } + const copyItem = { ...copyData, yunzhupaasId: buildUUID() }; + state.dataForm.${aliasname}List.push(copyItem); + #if($!{itemModel.layoutType} == 'list' && $!{itemModel.defaultExpandAll} ) + state.${aliasname}innerActiveKey.push(copyItem.yunzhupaasId); + #end + state.childIndex=state.dataForm.${aliasname}List.length-1 + #foreach($childList in$childList) + #set($fieLdsModel = $childList.fieLdsModel) + #set($vModel = "${fieLdsModel.vModel}") + #set($field = "${fieLdsModel.vModel}") + #set($config = ${fieLdsModel.config}) + #set($dataType = "$!{config.dataType}") + #if(${dataType}=='dynamic') + get${aliasname}${vModel}Options() + #end + #end + state.childIndex = -1 + } + + function batchRemove${aliasName}Row(showConfirm=false){ + if (!state.selected${aliasname}RowKeys.length) return createMessage.error('请选择一条数据'); + const handleRemove = ()=>{ + state.dataForm.${aliasname}List = state.dataForm.${aliasname}List.filter( + o => !state.selected${aliasname}RowKeys.includes(o.yunzhupaasId), + ); + nextTick(() => { + state.selected${aliasname}RowKeys = []; + }); + } + if(showConfirm){ + createConfirm({ + iconType: 'warning', + title: '提示', + content: '此操作将永久删除该数据, 是否继续?', + onOk: ()=>{ + handleRemove() + }, + }); + }else{ + handleRemove() + } + } + +## 非流程的子表必填验证方法 + #if(!$context.isFlow) + function ${aliasname}Exist(){ + let isOk = true; + for(let i=0;i o.id):[], + #else + ${vModel}: userInfo.positionIds.length?userInfo.positionIds[0].id:'', + #end + #elseif(${jk}=='roleSelect' && ${defaultCurrent} == true) + #if($multiple == true) + ${vModel}: userInfo.roleIds.length?userInfo.roleIds:[], + #else + ${vModel}: userInfo.roleIds.length?userInfo.roleIds[0]:'', + #end + #elseif(${jk}=='groupSelect' && ${defaultCurrent} == true) + #if($multiple == true) + ${vModel}: userInfo.groupIds.length?userInfo.groupIds:[], + #else + ${vModel}: userInfo.groupIds.length?userInfo.groupIds[0]:'', + #end + #elseif(${jk}=='sign' && ${defaultCurrent} == true) + ${vModel}: userInfo.signImg?userInfo.signImg: #if(${defult}) ${defult} #else '' #end, + #elseif(${defult} == "") + ${vModel}:'', + #elseif(${defult} =='[]') + ${vModel}:[], + #elseif(${defult} || ${defult}=='0') + #if(${jk}=='input' || ${jk}=='colorPicker'|| ${jk}=='editor'|| ${jk}=='radio'|| ${jk}=='textarea' + || ${jk}=='popupAttr' || ${jk}=='relationForm' || ${jk}=='relationFormAttr' || ${jk}=='sign' + || ${jk}=='autoComplete' || ${jk}=='location') + ${vModel}:'$!{defult}', + #elseif($multiple == false && $multipleUnit.contains(${jk}) && ${jk}!='checkbox' && ${jk}!='areaSelect' && ${jk}!='cascader') + ${vModel}:'${defult}', + #else + ${vModel}:${defult}, + #end + #else + ${vModel}:undefined, + #end + #if(${dataType}=='dynamic' && $!{aliasLowName}) + $!{aliasLowName}${vModel}Options:[], + #elseif((${dataType}=='static' || ${dataType}=='dictionary') && $!{aliasLowName}) + $!{aliasLowName}${vModel}Options:state.optionsObj.$!{aliasLowName}${vModel}Options, + #end +#end +## 生成表单参数 -interface State 值any const state 值类型 +#macro(createStateParam $any) +dataForm: #if($any) $any; #else +{ + #CreateDataform() +}, +#end +tableRows:#if($any) $any; #else +{ + #foreach($child in ${context.children}) + #set($aliasname = "") + #foreach($children in ${context.children}) + #if(${children.tableModel}==${child.tableModel}) + #set($aliasname = "${children.aliasLowName}") + #end + #end + ${aliasname}List:{ + #foreach($childListAll in ${child.childList}) + #set($html = $childListAll.fieLdsModel) + #set($model = "${html.vModel}") + #set($config = ${html.config}) + #set($yunzhupaasKey = "${config.yunzhupaasKey}") + #if($model) + #if(${yunzhupaasKey}=='cascader'||${yunzhupaasKey}=='checkbox' || ${yunzhupaasKey}=='areaSelect') + ${model} : [], + #elseif(${yunzhupaasKey}=='select' || ${yunzhupaasKey}=='userSelect' || ${yunzhupaasKey}=='depSelect' || ${yunzhupaasKey}=='posSelect' || ${yunzhupaasKey}=='treeSelect') + #if(${html.multiple}=='true') + ${model} : [], + #else + ${model} : '', + #end + #elseif(${yunzhupaasKey} == 'organizeSelect') + ${model} : [], + #elseif(${yunzhupaasKey}=='uploadImg'||${yunzhupaasKey}=='uploadFile' || ${yunzhupaasKey}=='timeRange' || ${yunzhupaasKey}=='dateRange') + ${model} : [], + #elseif(${yunzhupaasKey}=='switch'||${yunzhupaasKey}=='slider'||${yunzhupaasKey}=='rate') + ${model} : 0, + #elseif(${yunzhupaasKey}=='inputNumber'||${yunzhupaasKey}=='calculate') + ${model} : undefined, + #else + ${model} : '', + #end + #end + #end + enabledmark:undefined + }, + #end +}, +#end +dataRule: #if($any) $any; #else +{ + #foreach($fieLdsModel in ${context.fields}) + #set($html = $fieLdsModel.formColumnModel.fieLdsModel) + #set($vModel = "${html.vModel}") + #set($config = $html.config) + #set($mastKey = "${config.yunzhupaasKey}") + #set($listSize=$!{config.regList}) + #set($defaultValue=${config.defaultValue}) + #set($defaultValueSize=$!{config.defaultValue}) + #set($trigger = ${config.trigger}) + #if(${trigger.substring(0,1)}!='[') + #set($trigger = "'"+ ${config.trigger}+ "'") + #end + #if($mastKey!='text' && $mastKey!='divider') + #if($multipleUnit.contains($mastKey)) + #set($messages="t('sys.validate.arrayRequiredPrefix ','请至少选择一个')") + #else + #set($messages="t('sys.validate.textRequiredSuffix','不能为空')") + #end + #if($config.required==true || (${listSize} && $listSize.size()>0)) + ${vModel}: [ + #if($config.required==true) + { + required: true, + message: $!{messages}, + trigger: ${trigger} + }, + #end + #if($listSize.size()>0) + #foreach($regList in ${config.regList}) + { + pattern: ${regList.pattern}, + message: #if(${regList.messageI18nCode}) t('${regList.messageI18nCode}','${regList.message}'), #else '${regList.message}',#end + trigger: ${trigger} + }, + #end + #end + ], + #end + #end + #end + #foreach($ChildField in ${context.columnChildren}) + #foreach($FormMastTableModel in ${ChildField.fieLdsModelList}) + #set($html = ${FormMastTableModel.mastTable.fieLdsModel}) + #set($vModel = "${html.vModel}") + #set($config = $html.config) + #set($mastKey = "${config.yunzhupaasKey}") + #set($listSize=$!{config.regList}) + #set($defaultValue=${config.defaultValue}) + #set($defaultValueSize=$!{config.defaultValue}) + #set($trigger = ${config.trigger}) + #if(${trigger.substring(0,1)}!='[') + #set($trigger = "'"+ ${config.trigger}+ "'") + #end + #if($mastKey!='text' && $mastKey!='divider' && $mastKey!='switch') + #if($multipleUnit.contains($mastKey)) + #set($messages="t('sys.validate.arrayRequiredPrefix ','请至少选择一个')") + #else + #set($messages="t('sys.validate.textRequiredSuffix','不能为空')") + #end + #if($config.required==true|| (${listSize} && $listSize.size()>0)) + ${FormMastTableModel.vModel}: [ + #if($config.required==true) + { + required: true, + message: $!{messages}, + trigger: ${trigger} + }, + #end + #if($listSize.size()>0) + #foreach($regList in ${config.regList}) + { + pattern: ${regList.pattern}, + message: #if(${regList.messageI18nCode}) t('${regList.messageI18nCode}','${regList.message}'), #else '${regList.message}',#end + trigger: ${trigger} + }, + #end + #end + ], + #end + #end + #end + #end +}, +#end +optionsObj:#if($any) $any; #else +{ + #foreach($fieLdsModel in ${context.fields}) + #set($html = $fieLdsModel.formColumnModel.fieLdsModel) + #set($vModel = "${html.vModel}") + #set($config = $html.config) + #set($yunzhupaaskey = $config.yunzhupaasKey) + #if($!{config.dataType}=='dictionary'||$!{config.dataType}=='dynamic') + ${vModel}Options:[], + #elseif($!{config.dataType} == "static") + #if($html.slot.options) + ${vModel}Options:${html.slot.options}, + #elseif($html.options) + ${vModel}Options:${html.options}, + #end + #end + #if($yunzhupaaskey == "relationForm" || $yunzhupaaskey == "popupSelect" || $yunzhupaaskey== "popupTableSelect") + ${vModel}columnOptions:[#foreach($options in ${html.columnOptions}) {"label":"${options.label}","value":"${options.value}"},#end], + #end + #if($html.props) + #set($propsModel = ${html.props}) + $!{vModel}Props:{"label":"${propsModel.label}","value":"${propsModel.value}" #if($!{propsModel.multiple}) ,"multiple":$propsModel.multiple #end #if($!{propsModel.children}),"children":"${propsModel.children}" #end}, + #end + #end + #foreach($child in ${context.children}) + #set($aliasname = "${child.aliasLowName}") + #foreach($fieLdsModel in ${child.childList}) + #set($html = $fieLdsModel.fieLdsModel) + #set($vModel = "${html.vModel}") + #set($config = $html.config) + #set($yunzhupaaskey = $config.yunzhupaasKey) + #if($!{config.dataType}=='dictionary'||$!{config.dataType}=='dynamic') + ${aliasname}${vModel}Options:[], + #elseif($!{config.dataType} == "static") + #if($html.slot.options) + ${aliasname}${vModel}Options:${html.slot.options}, + #elseif($html.options) + ${aliasname}${vModel}Options:${html.options}, + #end + #end + #if($yunzhupaaskey == "relationForm" || $yunzhupaaskey == "popupSelect" || $yunzhupaaskey == "popupTableSelect") + ${aliasname}${vModel}columnOptions:[#foreach($options in ${html.columnOptions}) {"label":"${options.label}","value":"${options.value}"},#end], + #end + #if($html.props) + #set($propsModel = ${html.props}) + ${aliasname}$!{vModel}Props:{"label":"${propsModel.label}","value":"${propsModel.value}" #if($!{propsModel.multiple}) ,"multiple":$propsModel.multiple #end #if($!{propsModel.children}),"children":"${propsModel.children}" #end}, + #end + #end + #end + #foreach($ChildField in ${context.columnChildren}) + #foreach($FormMastTableModel in ${ChildField.fieLdsModelList}) + #set($html = ${FormMastTableModel.mastTable.fieLdsModel}) + #set($yunzhupaasKey = ${html.config.yunzhupaasKey}) + #set($ChildVmodel =${FormMastTableModel.vModel}) + #set($ClDataType = ${html.config.dataType}) + #if(${ClDataType}=='dictionary'||${ClDataType}=='dynamic') + ${ChildVmodel}Options:[], + #elseif(${ClDataType} == "static") + #if($html.slot.options) + ${ChildVmodel}Options:${html.slot.options}, + #elseif($html.options) + ${ChildVmodel}Options:${html.options}, + #end + #end + #if(${yunzhupaasKey} == "relationForm" || ${yunzhupaasKey} == "popupSelect" || $yunzhupaasKey == "popupTableSelect") + ${ChildVmodel}columnOptions:[#foreach($options in ${html.columnOptions}) {"label":"${options.label}","value":"${options.value}"},#end], + #end + #if($html.props) + #set($propsModel = ${html.props}) + $!{ChildVmodel}Props:{"label":"${propsModel.label}","value":"${propsModel.value}" #if($!{propsModel.multiple}) ,"multiple":$propsModel.multiple #end #if($!{propsModel.children}),"children":"${propsModel.children}" #end}, + #end + #end + #end +}, +#end +childIndex:#if($any) $any; #else -1, #end +isEdit:#if($any) $any; #else false, #end +interfaceRes: #if($any) $any; #else ${context.templateJsonAll}, #end +//可选范围默认值 +ableAll:#if($any) $any; #else +{ +#foreach($fieLdsModel in ${context.ableAll}) + #set($yunzhupaasKey = "${fieLdsModel.yunzhupaasKey}") + #if(${yunzhupaasKey}=='mast') + #set($html = $fieLdsModel.formColumnModel.fieLdsModel) + #set($mastModel="${html.vModel}") + #if($html.selectType == 'custom' || $html.config.yunzhupaasKey =='signature') + #ableAll(${html}, ${mastModel},false) + #end + #elseif(${yunzhupaasKey}=='mastTable') + #set($html = $fieLdsModel.formMastTableModel.mastTable.fieLdsModel) + #set($vmodelTable =${fieLdsModel.formMastTableModel.table}) + #set($vmodelFeild =${fieLdsModel.formMastTableModel.vModel}) + #if($html.selectType == 'custom' || $html.config.yunzhupaasKey =='signature') + #ableAll(${html}, "${vmodelFeild}",true) + #end + #elseif(${yunzhupaasKey}=='table') + #set($child = $fieLdsModel.childList) + #set($aliasname = ${child.aliasLowName}) + #foreach($htmlChild in ${child.childList}) + #set($html = $htmlChild.fieLdsModel) + #set($childvModel = ${html.vModel}) + #if($html.selectType == 'custom' || $html.config.yunzhupaasKey =='signature') + #ableAll(${html},"${aliasname}${childvModel}",true) + #end + #end + #end +#end +}, +#end +//掩码配置 +maskConfig:#if($any)$any; #else +{ + #foreach($fieLdsModel in ${context.fields}) + #set($html = $fieLdsModel.formColumnModel.fieLdsModel) + #set($vModel = "${html.vModel}") + #set($config = $html.config) + #set($yunzhupaaskey = $config.yunzhupaasKey) + #if($yunzhupaaskey == "input") + ${vModel}:#if(${html.maskConfig}) ${html.maskConfig} #else {}#end, + #end + #end + #foreach($child in ${context.children}) + #set($aliasname = "${child.aliasLowName}") + #foreach($fieLdsModel in ${child.childList}) + #set($html = $fieLdsModel.fieLdsModel) + #set($vModel = "${html.vModel}") + #set($config = $html.config) + #set($yunzhupaaskey = $config.yunzhupaasKey) + #if($yunzhupaaskey == "input") + ${aliasname}${vModel}:#if(${html.maskConfig}) ${html.maskConfig} #else {}#end, + #end + #end + #end + #foreach($ChildField in ${context.columnChildren}) + #foreach($FormMastTableModel in ${ChildField.fieLdsModelList}) + #set($html = ${FormMastTableModel.mastTable.fieLdsModel}) + #set($yunzhupaasKey = ${html.config.yunzhupaasKey}) + #set($ChildVmodel =${FormMastTableModel.vModel}) + #if(${yunzhupaasKey} == "input") + ${ChildVmodel}:#if(${html.maskConfig}) ${html.maskConfig} #else {}#end, + #end + #end + #end +}, +#end +//定位属性 +locationScope:#if($any)$any; #else +{ + #foreach($fieLdsModel in ${context.fields}) + #set($html = $fieLdsModel.formColumnModel.fieLdsModel) + #set($vModel = "${html.vModel}") + #set($config = $html.config) + #set($yunzhupaaskey = $config.yunzhupaasKey) + #if($yunzhupaaskey == "location") + ${vModel}:#if(${html.locationScope}) ${html.locationScope} #else []#end, + #end + #end + #foreach($child in ${context.children}) + #set($aliasname = "${child.aliasLowName}") + #foreach($fieLdsModel in ${child.childList}) + #set($html = $fieLdsModel.fieLdsModel) + #set($vModel = "${html.vModel}") + #set($config = $html.config) + #set($yunzhupaaskey = $config.yunzhupaasKey) + #if($yunzhupaaskey == "location") + ${aliasname}${vModel}:#if(${html.locationScope}) ${html.locationScope} #else []#end, + #end + #end + #end + #foreach($ChildField in ${context.columnChildren}) + #foreach($FormMastTableModel in ${ChildField.fieLdsModelList}) + #set($html = ${FormMastTableModel.mastTable.fieLdsModel}) + #set($yunzhupaasKey = ${html.config.yunzhupaasKey}) + #set($ChildVmodel =${FormMastTableModel.vModel}) + #if(${yunzhupaasKey} == "location") + ${ChildVmodel}:#if(${html.locationScope}) ${html.locationScope} #else []#end, + #end + #end + #end +}, +#end +## 活动面板参数 +#foreach($fieLdsModel in ${context.form}) + #set($yunzhupaasKey = "${fieLdsModel.yunzhupaasKey}") + #set($formModel = ${fieLdsModel.formModel}) + #set($outermost = ${formModel.outermost}) + #set($isEnd = "${fieLdsModel.isEnd}") + #if(${isEnd}=='0') + #if($yunzhupaasKey=='collapse') + #if(${outermost}=='0') + #if($any) + ${formModel.model}:$any; + #else + ${formModel.model}:${formModel.active}, + #end + #end + #end + #if($yunzhupaasKey=='tab') + #if(${outermost}=='0') + #if($any) + ${formModel.model}:$any; + #else + ${formModel.model}:'${formModel.active}', + #end + #end + #end + #if($yunzhupaasKey=='steps') + #if(${outermost}=='0') + #if($any) + ${formModel.model}:$any; + #else + ${formModel.model}:${formModel.active}, + #end + #end + #end + #end + #end +## 子表弹窗数据选择 +#if($isSelectDialog == true) +//子表弹窗数据选择 +currVmodel:#if($any) $any; #else '', #end +currTableConf:#if($any) $any; #else {}, #end +addTableConf:#if($any) $any; #else +{ +#foreach($children in ${context.children}) + #set($aliasname = "${children.aliasLowName}") + #foreach($item in ${children.footerBtnsList}) + #if($item.value != 'add' && $item.value != 'batchRemove' && $item.actionType!=2) + "${aliasname}List${item.value}":${item.actionConfig}, + #end + #end +#end +}, +#end +#end +## 子表多选框选中行数组变量 +#foreach($children in ${context.children}) + #set($aliasname = "${children.aliasLowName}") + selected${aliasname}RowKeys :#if($any) $any; #else [], #end + #if($!{children.layoutType} == 'list') + ${aliasname}outerActiveKey: #if($any) $any; #else [0], #end + ${aliasname}innerActiveKey: #if($any) $any; #else [], #end + #end +#end +## 关联表单和弹窗选择展示多字段 +extraOptions:#if($any) $any; #else +{ + #foreach($fieLdsModel in ${context.fields}) + #set($html = $fieLdsModel.formColumnModel.fieLdsModel) + #set($vModel = "${html.vModel}") + #set($yunzhupaaskey = $html.config.yunzhupaasKey) + #if($yunzhupaaskey == "relationForm" || $yunzhupaaskey == "popupSelect") + ${vModel}:[#foreach($options in ${html.extraOptions}) {"label":"${options.label}","value":"${options.value}"},#end], + #end + #end + #foreach($ChildField in ${context.columnChildren}) + #foreach($FormMastTableModel in ${ChildField.fieLdsModelList}) + #set($html = ${FormMastTableModel.mastTable.fieLdsModel}) + #set($yunzhupaasKey = ${html.config.yunzhupaasKey}) + #set($ChildVmodel =${FormMastTableModel.vModel}) + #if(${yunzhupaasKey} == "relationForm" || ${yunzhupaasKey} == "popupSelect") + ${ChildVmodel}:[#foreach($options in ${html.extraOptions}) {"label":"${options.label}","value":"${options.value}"},#end], + #end + #end + #end +}, +#end +#end +##控件默认值取值范围 +#macro(ableAll $html,$feildFullName,$flag) + #if($html.ableDepIds) + ${feildFullName}ableDepIds: ${html.ableDepIds}, + #end + #if($html.ablePosIds) + ${feildFullName}ablePosIds: ${html.ablePosIds}, + #end + #if($html.ableUserIds) + ${feildFullName}ableUserIds: ${html.ableUserIds}, + #end + #if($html.ableRoleIds) + ${feildFullName}ableRoleIds: ${html.ableRoleIds}, + #end + #if($html.ableGroupIds) + ${feildFullName}ableGroupIds: ${html.ableGroupIds}, + #end + #if($html.ableIds) + ${feildFullName}ableIds: ${html.ableIds}, + #end +#end +##############################数据选项方法######################################## +## 数据选项-生成方法 +#macro(GetOptionMethod $childTableName) + #set($isChildType = '1') + #if($!childTableName) + #set($isChildType = '2') + #end + #if(${dataType}=='dictionary') + //数据选项--数据字典初始化方法 + function get${methodName}Options() { + getDictionaryDataSelector('${config.dictionaryType}').then(res => { + state.optionsObj.${methodName}Options = res.data.list + }) + } + #elseif(${dataType}=='dynamic') + //数据选项--远端数据初始化方法 + function get${methodName}Options(isClear = false) { + const index = state.childIndex + let templateJsonList = JSON.parse(JSON.stringify(state.interfaceRes.${methodName})) + #if(!$context.lineEdit) + for (let i = 0; i < templateJsonList.length; i++) { + let json = templateJsonList[i]; + if(json.relationField&&json.sourceType ==1){ + let relationFieldAll = json.relationField.split("-"); + let val = json.defaultValue; + if(relationFieldAll.length>1 && index>-1){ + if(relationFieldAll[0].endsWith("List")){ + val = state.dataForm[relationFieldAll[0]]&&state.dataForm[relationFieldAll[0]].length? + state.dataForm[relationFieldAll[0]][index][relationFieldAll[1]]:'' + }else{ + val = state.dataForm[relationFieldAll[0]+'List']&&state.dataForm[relationFieldAll[0]+'List'].length? + state.dataForm[relationFieldAll[0]+'List'][index][relationFieldAll[1]]:'' + } + }else { + val = state.dataForm[relationFieldAll] + } + json.defaultValue = val ? val : ''; + } + } + #end + let template ={ + paramList:templateJsonList + } + getDataInterfaceRes('${config.propsUrl}',template).then(res => { + let data = res.data + state.optionsObj.${methodName}Options = data + if(index==-1) return + ## 子表设置到行内options + #if($!{childTableName}) + state.dataForm.${childTableName}List[index].${methodName}Options =data + #end + if(isClear){ + changeDataFormData(${isChildType},'${childTableName}List','$vModel',index,'') + } + }) + } + #elseif(${yunzhupaaskey}=='popupSelect'|| ${yunzhupaaskey}=='popupTableSelect') + #if($childTableName) + #set($vModel="$childTableName$vModel") + #end + function get${vModel}Options() { + const index = state.childIndex + changeDataFormData(${isChildType},'${childTableName}List','${methodName}',index,${defaultValue}) + } + #end +#end +## 数据选项---数据字典和远端数据获取初始化 +#macro(GetDataOptionsMethod) +##主表 +#foreach($fieLdsModel in ${context.fields}) + #set($html = $fieLdsModel.formColumnModel.fieLdsModel) + #set($vModel = "${html.vModel}") + #set($config = $html.config) + #set($dataType = "$!{config.dataType}") + #set($yunzhupaaskey="${config.yunzhupaasKey}") + #set($defaultValue='""') + #if($!config.valueType=='String') + #set($defaultValue="'$!{config.defaultValue}'") + #elseif($!config.valueType=='undefined') + #set($defaultValue='""') + #else + #set($defaultValue=$!{config.defaultValue}) + #end + #set($methodName = "${html.vModel}") + #GetOptionMethod("") +#end +##副表 +#foreach($ColumnFieldModel in ${context.mastTable}) + #set($html =${ColumnFieldModel.formMastTableModel}) + #set($vModel = "${html.vModel}") + #set($config = $html.mastTable.fieLdsModel.config) + #set($dataType = "$!{config.dataType}") + #set($yunzhupaaskey="${config.yunzhupaasKey}") + #set($defaultValue='""') + #if($!config.valueType=='String') + #set($defaultValue="'$!{config.defaultValue}'") + #elseif($!config.valueType=='undefined') + #set($defaultValue='""') + #else + #set($defaultValue=$!{config.defaultValue}) + #end + #set($methodName = "${html.vModel}") + #GetOptionMethod("") +#end +##子表 +#foreach($child in ${context.children}) +#foreach($fieLdsModel in ${child.childList}) + #set($html = $fieLdsModel.fieLdsModel) + #set($vModel = "${html.vModel}") + #set($config = $html.config) + #set($dataType = "$!{config.dataType}") + #set($yunzhupaaskey="${config.yunzhupaasKey}") + #set($defaultValue='""') + #if($!config.valueType=='String') + #set($defaultValue="'$!{config.defaultValue}'") + #elseif($!config.valueType=='undefined') + #set($defaultValue='""') + #else + #set($defaultValue=$!{config.defaultValue}) + #end + #set($methodName = "${child.aliasLowName}${html.vModel}") + #GetOptionMethod(${child.aliasLowName}) +#end +#end +#end +## 数据联系,changeData方法 +#macro(ChangeData) +function changeData(model, index) { + state.isEdit = false + state.childIndex = index + for (let key in state.interfaceRes) { + if (key != model) { + let faceReList = state.interfaceRes[key] + for (let i = 0; i < faceReList.length; i++) { + let relationField = faceReList[i].relationField; + if(relationField){ + let modelAll = relationField.split('-'); + let faceMode = ''; + let faceMode2 = modelAll.length == 2?modelAll[0].substring(0, modelAll[0].length-4) +modelAll[1]:"" + for (let i = 0; i < modelAll.length; i++) { + faceMode += modelAll[i]; + } + if (faceMode == model || faceMode2 == model ) { + let options = 'get' + key + 'Options'; + eval(options)(true); + changeData(key, index) + } + } + } + } + } +} +function changeDataFormData(type, data, model,index,defaultValue) { + if(!state.isEdit) { + if (type == 2) { + for (let i = 0; i < state.dataForm[data].length; i++) { + if (index == -1) { + state.dataForm[data][i][model] = defaultValue + } else if (index == i) { + state.dataForm[data][i][model] = defaultValue + } + } + } else { + state.dataForm[data] = defaultValue + } + } +} +#end +## 编辑,初始化当前Options $isEdit是否编辑。true编辑 false 新增 +#macro(EditGetOption $isEdit) +##主表options +#foreach($fieLdsModel in ${context.fields}) + #set($html = $fieLdsModel.formColumnModel.fieLdsModel) + #set($vModel = "${html.vModel}") + #set($config = $html.config) + #set($dataType = "$!{config.dataType}") + #if($!{config.dataType}=='dictionary'||$!{config.dataType}=='dynamic') + get${vModel}Options(); + #end +#end + +##副表options +#foreach($ColumnFieldModel in ${context.mastTable}) + #set($html =${ColumnFieldModel.formMastTableModel}) + #set($vModel = "${html.vModel}") + #set($config = $html.mastTable.fieLdsModel.config) + #if($!{config.dataType}=='dictionary'||$!{config.dataType}=='dynamic') + get${vModel}Options(); + #end +#end +##子表表options +#foreach($itemModel in ${context.children}) + #set($aliasname =$itemModel.aliasLowName) + #set($aliasName =$itemModel.aliasUpName) + #set($childList = ${itemModel.childList}) + #foreach($childList in $childList) + #set($fieLdsModel = $childList.fieLdsModel) + #set($vModel = "${fieLdsModel.vModel}") + #set($field = "${fieLdsModel.vModel}") + #set($config = ${fieLdsModel.config}) + #set($dataType = "$!{config.dataType}") +## 新增修改时获取字典的options + #if($!{config.dataType}=='dictionary') + get${aliasname}${vModel}Options() + #end + #end +## 编辑时-获取子表动态options + if (state.dataForm.${aliasname}List) { + for (let i = 0; i < state.dataForm.${aliasname}List.length; i++) { + state.childIndex = i; + state.dataForm.${aliasname}List[i].yunzhupaasId = buildUUID(); + #foreach($item in $childList) + #set($fieLdsModel = $item.fieLdsModel) + #set($vModel = "${fieLdsModel.vModel}") + #set($field = "${fieLdsModel.vModel}") + #set($config = ${fieLdsModel.config}) + #set($dataType = "$!{config.dataType}") + #if($isEdit) + #if(${dataType}=='dynamic') + get${aliasname}${vModel}Options(false) + #end + #end + #end + + } + } +## 子表平铺展开方法调用 + #if($!{itemModel.layoutType} == 'list') + set${aliasname}ActiveKey(); + #end +#end +#end +##子表弹窗相关函数, +#macro(ChildDialogMethod) +function openSelectDialog(key,value) { + state.currTableConf=state.addTableConf[key+value] + state.currVmodel=key + nextTick(() => { + (selectModal.value as any)?.openSelectModal(); + }) +} +//子表弹窗选择数据-添加初始化下拉options +function addForSelect(data) { + let currSize= state.dataForm[state.currVmodel].length + for (let i = 0; i < data.length; i++) { + let item={...state.tableRows[state.currVmodel],...data[i], yunzhupaasId: buildUUID()} + state.dataForm[state.currVmodel].push(cloneDeep(item)) + state.childIndex= currSize + i; + #foreach($itemModel in ${context.children}) + #set($aliasname =$!{itemModel.aliasLowName}) + #set($aliasName =$!{itemModel.aliasUpName}) + #set($childList = ${itemModel.childList}) + #if($!{itemModel.layoutType} == 'list' && $!{itemModel.defaultExpandAll} ) + state.${aliasname}innerActiveKey.push(item.yunzhupaasId); + #end + if(state.currVmodel === "${aliasname}List"){ + #foreach($childList in$childList) + #set($fieLdsModel = $childList.fieLdsModel) + #set($vModel = "${fieLdsModel.vModel}") + #set($field = "${fieLdsModel.vModel}") + #set($config = ${fieLdsModel.config}) + #set($dataType = "$!{config.dataType}") + #if(${dataType}=='static' || ${dataType}=='dictionary') + item.$!{aliasname}${vModel}Options = state.optionsObj.$!{aliasname}${vModel}Options; + #end + #if(${dataType}=='dynamic') + get${aliasname}${vModel}Options(false); + #end + #end + } + #end + state.childIndex = -1 + } +} +#end +##面板参数初始化 +#macro(InitActiveValue) +#foreach($fieLdsModel in ${context.form}) + #set($yunzhupaasKey = "${fieLdsModel.yunzhupaasKey}") + #set($formModel = ${fieLdsModel.formModel}) + #set($outermost = ${formModel.outermost}) + #set($isEnd = "${fieLdsModel.isEnd}") + #if(${isEnd}=='0') + #if($yunzhupaasKey=='collapse') + #if(${outermost}=='0') + state.${formModel.model}=${formModel.active}; + #end + #end + #if($yunzhupaasKey=='tab') + #if(${outermost}=='0') + state.${formModel.model}='${formModel.active}'; + #end + #end + #if($yunzhupaasKey=='steps') + #if(${outermost}=='0') + state.${formModel.model}=${formModel.active}; + #end + #end + #end +#end +#end +################################################################################ +## 时间处理方法 +#macro(GetStartAndEndTime $mastKey,$config,$html,$startTime,$endTime) + #set($startRelationField="''") + #if($config.startRelationField) + #set($startRelationField="${context.formModel}.${config.startRelationField}") + #if($config.startChild) + #set($startRelationField="record.${config.startRelationField}") + #end + #end + #set($startTimeValue="#if(${config.startTimeValue})'${config.startTimeValue}'#else''#end") + #set($startTimeType="#if(${config.startTimeType})${config.startTimeType}#else''#end") + #set($startTimeTarget="#if(${config.startTimeTarget})${config.startTimeTarget}#else''#end") + #set($endRelationField="''") + #if($config.endRelationField) + #set($endRelationField="${context.formModel}.${config.endRelationField}") + #if($config.endChild) + #set($endRelationField="record.${config.endRelationField}") + #end + #end + #set($endTimeValue="#if(${config.endTimeValue})'${config.endTimeValue}'#else''#end") + #set($endTimeType="#if(${config.endTimeType})${config.endTimeType}#else''#end") + #set($endTimeTarget="#if(${config.endTimeTarget})${config.endTimeTarget}#else''#end") + + #set($startTime="getRelationDate(${config.startTimeRule},${startTimeType},${startTimeTarget},${startTimeValue},${startRelationField})") + #set($endTime="getRelationDate(${config.endTimeRule},${endTimeType},${endTimeTarget},${endTimeValue},${endRelationField})") + #if($mastKey=='timePicker') + #set($startTime="getRelationTime(${config.startTimeRule},${startTimeType},${startTimeTarget},${startTimeValue},'${html.format}',${startRelationField})") + #set($endTime="getRelationTime(${config.endTimeRule},${endTimeType},${endTimeTarget},${endTimeValue},'${html.format}',${endRelationField})") + #end + #if(${startTimeType} == 2) + #set($startTime="$startRelationField") + #end + #if(${endTimeType} == 2) + #set($endTime="$endRelationField") + #end +#end +## 时间处理方法-js +#macro(GetRelationDate) +function getRelationDate(timeRule, timeType, timeTarget, timeValueData, dataValue) { + let timeDataValue: any = null; + let timeValue = Number(timeValueData); + if (timeRule) { + if (timeType == 1) { + timeDataValue = timeValue; + } else if (timeType == 2) { + timeDataValue = dataValue; + } else if (timeType == 3) { + timeDataValue = new Date().getTime(); + } else if (timeType == 4 || timeType == 5) { + const type = getTimeUnit(timeTarget); + const method = timeType == 4 ? 'subtract' : 'add'; + timeDataValue = dayjs()[method](timeValue, type).valueOf(); + } + } + return timeDataValue; +} +function getRelationTime(timeRule, timeType, timeTarget, timeValue, formatType, dataValue) { + let format = formatType == 'HH:mm' ? 'HH:mm:00' : formatType; + let timeDataValue: any = null; + if (timeRule) { + if (timeType == 1) { + timeDataValue = timeValue || '00:00:00'; + if (timeDataValue.split(':').length == 3) { + timeDataValue = timeDataValue; + } else { + timeDataValue = timeDataValue + ':00'; + } + } else if (timeType == 2) { + timeDataValue = dataValue; + } else if (timeType == 3) { + timeDataValue = dayjs().format(format); + } else if (timeType == 4 || timeType == 5) { + const type = getTimeUnit(timeTarget + 3); + const method = timeType == 4 ? 'subtract' : 'add'; + timeDataValue = dayjs()[method](timeValue, type).format(format); + } + } + return timeDataValue; +} +#end diff --git a/TemplateCodeVue3/PublicMacro/ServiceImpMarco.vm b/TemplateCodeVue3/PublicMacro/ServiceImpMarco.vm new file mode 100644 index 0000000..b18e7f4 --- /dev/null +++ b/TemplateCodeVue3/PublicMacro/ServiceImpMarco.vm @@ -0,0 +1,972 @@ +##通用参数 +#parse("PublicMacro/ConstantMarco.vm") +#ConstantParams() +#set($mapObject ="Map") +##创建QueryWrapper +#macro(CreateWrapper) + MPJLambdaWrapper<${Entity}> wrapper = JoinWrappers + #foreach($item in $allTableNameList) + #set($TableEntity = "${item.table.substring(0,1).toUpperCase()}${item.table.substring(1)}") + #if(${item.tableTag} =='main') + .lambda("${item.initName}",${TableEntity}Entity.class) + #end + #if(${item.tableTag} =='sub-yunzhupaas') + .selectAssociation(${TableEntity}Entity.class,${Entity}::get${TableEntity}) + .leftJoin(${TableEntity}Entity.class,"${item.initName}",${TableEntity}Entity::get${item.tableField},${Entity}::get${item.relationField}) + #end + #if(${item.tableTag} =='sub') + .selectCollection(${TableEntity}Entity.class,${Entity}::get${TableEntity}) + .leftJoin(${TableEntity}Entity.class,"${item.initName}",${TableEntity}Entity::get${item.tableField},${Entity}::get${item.relationField}) + #end + #end + .selectAll(${Name}Entity.class); +#end +##创建QueryWrapper2 +#macro(CreateWrapper2) + MPJLambdaWrapper<${Entity}> wrapper2 = JoinWrappers + #foreach($item in $allTableNameList) + #set($TableEntity = "${item.table.substring(0,1).toUpperCase()}${item.table.substring(1)}") + #if(${item.tableTag} =='main') + .lambda("${item.initName}",${TableEntity}Entity.class) + #end + #if(${item.tableTag} =='sub-yunzhupaas') + .leftJoin(${TableEntity}Entity.class,"${item.initName}",${TableEntity}Entity::get${item.tableField},${Entity}::get${item.relationField}) + #end + #if(${item.tableTag} =='sub') + .leftJoin(${TableEntity}Entity.class,"${item.initName}",${TableEntity}Entity::get${item.tableField},${Entity}::get${item.relationField}) + #end + #end + .distinct().select(${Name}Entity::get${peimaryKeyName}); +#end +##权限查询条件拼接 +#macro(CreateDataPermission $menuIdModel) + boolean pcPermission = ${pcDataPermisson}; + boolean appPermission = ${appDataPermisson}; + if(isPc && pcPermission){ + if (!userProvider.get().getIsAdministrator()){ + #foreach($child in ${allTableNameList}) + #set($ModelName= "${child.table.substring(0,1).toUpperCase()}${child.table.substring(1)}") + #set($modelName ="${child.table.substring(0,1).toLowerCase()}${child.table.substring(1)}") + #set($modelNum = "${modelName}Num") + #set($initName = "${child.initName}") + #set($modelQueryWrapper = "${modelName}QueryWrapper") + #if(!${child.tableField}) + Object ${modelName}Obj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(${modelQueryWrapper},${ModelName}Entity.class,${menuIdModel}.getMenuId(),#if(${DS})"${DS}"#else"0"#end)); + if (ObjectUtil.isEmpty(${modelName}Obj)){ + return new ArrayList<>(); + } else { + ${modelQueryWrapper} = (QueryWrapper<${ModelName}Entity>)${modelName}Obj; + } + #end + #end + } + } + if(!isPc && appPermission){ + if (!userProvider.get().getIsAdministrator()){ + #foreach($child in ${allTableNameList}) + #set($ModelName= "${child.table.substring(0,1).toUpperCase()}${child.table.substring(1)}") + #set($modelName ="${child.table.substring(0,1).toLowerCase()}${child.table.substring(1)}") + #set($modelNum = "${modelName}Num") + #set($modelQueryWrapper = "${modelName}QueryWrapper") + #if($child.tableTag =='main') + Object ${modelName}Obj=generaterSwapUtil.getAuthorizeCondition(new QueryModel(${modelQueryWrapper},${ModelName}Entity.class,${menuIdModel}.getMenuId(),#if(${DS})"${DS}"#else"0"#end)); + if (ObjectUtil.isEmpty(${modelName}Obj)){ + return new ArrayList<>(); + } else { + ${modelQueryWrapper} = (QueryWrapper<${ModelName}Entity>)${modelName}Obj; + } + #end + + #end + } + } +#end +##普通查询条件拼接 +#macro(PaginationSerach) + #if($groupModels.size()>0) + if(isPc){ + #foreach($Group in ${groupModels}) + #set($ModelName= "${Group.modelName.substring(0,1).toUpperCase()}${Group.modelName.substring(1)}") + #set($ModelNameEntity = "${ModelName}Entity") + #set($modelName ="${Group.modelName.substring(0,1).toLowerCase()}${Group.modelName.substring(1)}") + #set($modelQueryWrapper ="wrapper") + #set($modelNum = "${modelName}Num") + #set($ForeignKey =${Group.ForeignKey}) + #PaginationQuery(${Group.searchTypeModelList},${modelQueryWrapper},${ModelNameEntity},${modelNum}) + #end + } + #end + #if($groupAppModels.size()>0) + if(!isPc){ + #foreach($appGroup in ${groupAppModels}) + #set($ModelName= "${appGroup.modelName.substring(0,1).toUpperCase()}${appGroup.modelName.substring(1)}") + #set($ModelNameEntity = "${ModelName}Entity") + #set($modelName ="${appGroup.modelName.substring(0,1).toLowerCase()}${appGroup.modelName.substring(1)}") + #set($modelQueryWrapper ="wrapper") + #set($modelNum = "${modelName}Num") + #set($ForeignKey =${appGroup.ForeignKey}) + #PaginationQuery(${appGroup.searchTypeModelList},${modelQueryWrapper},${ModelNameEntity},${modelNum}) + #end + } + #end +#end +##普通查询条件拼接 +#macro(PaginationQuery $searchListSizes $queryWrapper $ModelNameEntity,$modelNum) + #if($searchListSizes) + #foreach($SearchTypeModel in ${searchListSizes}) + #set($vModelName = "${SearchTypeModel.afterVModel}") + #set($fieldAliasName = "${SearchTypeModel.afterVModel}") + #set($tableAliasName = "${SearchTypeModel.tableAliasName}") + #if($SearchTypeModel.id.contains("_yunzhupaas_")) + #set($fieldAliasName = "yunzhupaas_${tableAliasName}_yunzhupaas_${vModelName}") + #elseif($SearchTypeModel.id.toLowerCase().startsWith("tablefield")) + #set($fieldAliasName = "${tableAliasName}_${vModelName}") + #end + #set($fieldName = "${vModelName.substring(0,1).toUpperCase()}${vModelName.substring(1)}") + #set($paginationName ="${fieldAliasName.substring(0,1).toUpperCase()}${fieldAliasName.substring(1)}") + if(ObjectUtil.isNotEmpty(${name}Pagination.get${paginationName}())){ + #if(${SearchTypeModel.searchType}==1) + #set($yunzhupaasKey=${SearchTypeModel.yunzhupaasKey}) + ## 多选统一处理 + #MultipleHandle("${name}Pagination") + #elseif(${SearchTypeModel.searchType}==2) + String value = ${name}Pagination.get${paginationName}() instanceof List ? + JsonUtil.getObjectToString(${name}Pagination.get${paginationName}()) : + String.valueOf(${name}Pagination.get${paginationName}()); + ${queryWrapper}.like(${ModelNameEntity}::get${fieldName},value); + #elseif(${SearchTypeModel.searchType}==3) + List ${fieldName}List = JsonUtil.getJsonToList(${name}Pagination.get${paginationName}(),String.class); + for(int i=0;i<${fieldName}List.size();i++){ + String id = String.valueOf(${fieldName}List.get(i)); + boolean idAll = StringUtil.isNotEmpty(id) && !id.equals("null"); + if(idAll){ + #set($dataValues= "id;") + #if(${SearchTypeModel.yunzhupaasKey}=="dateTime" || ${SearchTypeModel.yunzhupaasKey}=='datePicker' || ${SearchTypeModel.yunzhupaasKey}=="createTime" || ${SearchTypeModel.yunzhupaasKey}=="modifyTime") + #set($dataValues= "new Date(Long.valueOf(id));") + #elseif(${SearchTypeModel.yunzhupaasKey}=="inputNumber" || ${SearchTypeModel.yunzhupaasKey}=="calculate") + #set($dataValues= "new BigDecimal(id);") + #end + Object b= ${dataValues} + if(i==0){ + ${queryWrapper}.ge(${ModelNameEntity}::get${fieldName},b); + }else{ + ${queryWrapper}.le(${ModelNameEntity}::get${fieldName},b); + } + } + } + #end + } + + #end + #end +#end +##多选统一处理 +#macro(MultipleHandle $pagination) + #if(${multipleUnit.contains(${yunzhupaasKey})}) + List idList = new ArrayList<>(); + try { + String[][] ${vModelName} = JsonUtil.getJsonToBean(${pagination}.get${paginationName}(),String[][].class); + for(int i=0;i<${vModelName}.length;i++){ + if(${vModelName}[i].length>0){ + idList.add(JsonUtil.getObjectToString(Arrays.asList(${vModelName}[i]))); + } + } + }catch (Exception e1){ + try { + List ${vModelName} = JsonUtil.getJsonToList(${pagination}.get${paginationName}(),String.class); + if(${vModelName}.size()>0){ + #if(${multipleTwoUnit.contains(${yunzhupaasKey})}) + idList.add(JsonUtil.getObjectToString(${vModelName})); + #elseif(${yunzhupaasKey} =='currOrganize') + idList.add(${vModelName}.get(${vModelName}.size()-1)); + #else + idList.addAll(${vModelName}); + #end + } + }catch (Exception e2){ + idList.add(String.valueOf(${pagination}.get${paginationName}())); + } + } + ${queryWrapper}.and(t->{ + idList.forEach(tt->{ + if(StringUtil.isNotEmpty(tt) && "Microsoft SQL Server".equalsIgnoreCase(databaseName)){ + tt = tt.replaceFirst("\\[","[[]"); + } + t.like(${ModelNameEntity}::get${fieldName}, tt).or(); + }); + }); + #else + ${queryWrapper}.eq(${ModelNameEntity}::get${fieldName},${pagination}.get${paginationName}()); + #end +#end +##关键词搜索 +#macro(yunzhupaasKeywordSerach) + if(ObjectUtil.isNotEmpty(${name}Pagination.getYunzhupaasKeyword())){ + #if($!{keywordModels}) + if(isPc){ + wrapper.and(t -> { + #foreach($Group in ${groupModels}) + #set($ModelName= "${Group.modelName.substring(0,1).toUpperCase()}${Group.modelName.substring(1)}") + #set($ModelNameEntity = "${ModelName}Entity") + #foreach($item in ${Group.searchTypeModelList}) + #if($item.afterVModel) + #set($vModelName = $item.afterVModel) + #else + #set($vModelName = $item.id) + #end + #set($fieldName = "${vModelName.substring(0,1).toUpperCase()}${vModelName.substring(1)}") + #if(${item.isKeyword}) + t.like(${ModelName}Entity::get${fieldName},${name}Pagination.getyunzhupaasKeyword()).or(); + #end + #end + #end + }); + } + #end + #if($!{keywordAppModels}) + if(!isPc){ + wrapper.and(t -> { + #foreach($Group in ${groupAppModels}) + #set($ModelName= "${Group.modelName.substring(0,1).toUpperCase()}${Group.modelName.substring(1)}") + #set($ModelNameEntity = "${ModelName}Entity") + #foreach($item in ${Group.searchTypeModelList}) + #if($item.afterVModel) + #set($vModelName = $item.afterVModel) + #else + #set($vModelName = $item.id) + #end + #set($fieldName = "${vModelName.substring(0,1).toUpperCase()}${vModelName.substring(1)}") + #if(${item.isKeyword}) + t.like(${ModelName}Entity::get${fieldName},${name}Pagination.getyunzhupaasKeyword()).or(); + #end + #end + #end + }); + + } + #end + } +#end +##获取系统参数 +#macro(GetSystemData $isSave $chidKeyName) + #if(${systemyunzhupaasKey.contains(${key})}) + #set($opFlag = true) + #if((${key}=='createUser' && !$isSave) + ||(${key}=='createTime' && !$isSave) + ||(${key}=='modifyUser' && $isSave) + ||(${key}=='modifyTime' && $isSave) + ||(${key}=='currOrganize' && !$isSave) + ||(${key}=='currPosition' && !$isSave)) + #set($opFlag = false) + #end + #if($isFlow && $opFlag) + if(hasOperate.contains("${realVmodel}") || noOperate){ + #end + #if(${key}=='createUser') + #if($isSave) + ${nameEntity}.set${model}(userInfo.getUserId()); + #else + ${nameEntity}.set${model}(null); + #end + #elseif(${key}=='createTime') + #if($isSave) + ${nameEntity}.set${model}(DateUtil.getNowDate()); + #else + ${nameEntity}.set${model}(null); + #end + #elseif(${key}=='modifyUser') + #if($isSave) + ${nameEntity}.set${model}(null); + #else + ${nameEntity}.set${model}(userInfo.getUserId()); + #end + #elseif(${key}=='modifyTime') + #if($isSave) + ${nameEntity}.set${model}(null); + #else + ${nameEntity}.set${model}(DateUtil.getNowDate()); + #end + #elseif(${key}=='currOrganize') + #if($isSave) + ${nameEntity}.set${model}(generaterSwapUtil.getCurrentOrgIds(userInfo.getOrganizeId(),#if(${showLevel})"${showLevel}"#else"all"#end)); + #else + ${nameEntity}.set${model}(null); + #end + #elseif(${key}=='currPosition') + #if($isSave) + ${nameEntity}.set${model}(StringUtil.isNotEmpty(userEntity.getPositionId()) ? userEntity.getPositionId() : null); + #else + ${nameEntity}.set${model}(null); + #end + #elseif(${key}=='billRule') + #if($isSave) + #if($config.ruleType == 2) + ${nameEntity}.set${model}(generaterSwapUtil.getBillNumber2("${VisualDevId}","${config.formId}",${Name}Constant.${constantVmodel}, ${name}Form)); + #else + ${nameEntity}.set${model}(generaterSwapUtil.getBillNumber("${rule}", false)); + #end + #else + if(StringUtil.isEmpty(${nameEntity}.get${model}()) #if(${chidKeyName})|| ${nameEntity}.get${chidKeyName}() == null #end){ + #if($config.ruleType == 2) + ${nameEntity}.set${model}(generaterSwapUtil.getBillNumber2("${VisualDevId}","${config.formId}",${Name}Constant.${constantVmodel}, ${name}Form)); + #else + ${nameEntity}.set${model}(generaterSwapUtil.getBillNumber("${rule}", false)); + #end + } + #end + #end + #if($isFlow && $opFlag) + } + #end + #end +#end +## 正则验证方法 +#macro(RegMethod $yunzhupaasKey,$param $config) + #if(!${lineEdit}) + #if($yunzhupaasKey == 'input' && ${config.regList} && ${config.regList.size()}>0) + if(StringUtil.isNotEmpty($param)){ + #foreach($regItem in ${config.regList}) + #set($pattern=$regItem.pattern.replace("\","\\").replace("/","")) + if(!Pattern.compile("$pattern").matcher(String.valueOf($param)).matches()){ + return #if(${regItem.messageI18nCode})I18nUtil.getMessageStr("${regItem.messageI18nCode}", "${regItem.message}"); #else "${regItem.message}"; #end + } + #end + } + #end + #end +#end +##########################以上为宏调用,以下为实际方法########################## +## 列表接口 +#macro(GetTypeList) + @Override + public List<${Entity}> getList(${Name}Pagination ${name}Pagination){ + return getTypeList(${name}Pagination,${name}Pagination.getDataType()); + } + /** 列表查询 */ + @Override + public List<${Entity}> getTypeList(${Name}Pagination ${name}Pagination,String dataType){ + String userId=userProvider.get().getUserId(); + Map tableClassMap=new HashMap<>(); + #foreach($item in $allTableNameList) + #set($TableEntity = "${item.table.substring(0,1).toUpperCase()}${item.table.substring(1)}") + tableClassMap.put("${item.initName}",${TableEntity}Entity.class); + #end + +## 生成MPJLambdaWrapper对象 + #CreateWrapper() + #CreateWrapper2() + + QueryAllModel queryAllModel = new QueryAllModel(); + queryAllModel.setWrapper(wrapper); + queryAllModel.setClassMap(tableClassMap); + queryAllModel.setDbLink(${Name}Constant.DBLINKID); +## 数据过滤 + //数据过滤 + boolean isPc = ServletUtil.getHeader("yunzhupaas-origin").equals("pc"); + String columnData = !isPc ? ${Name}Constant.getAppColumnData() : ${Name}Constant.getColumnData(); + ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(columnData, ColumnDataModel.class); + String ruleJson = !isPc ? JsonUtil.getObjectToString(columnDataModel.getRuleListApp()) : JsonUtil.getObjectToString(columnDataModel.getRuleList()); + queryAllModel.setRuleJson(ruleJson); +## 高级查询 + //高级查询 + boolean hasSuperQuery = #if($superQuery) true#else false#end; + if (hasSuperQuery) { + queryAllModel.setSuperJson(${name}Pagination.getSuperQueryJson()); + } +## 数据权限 + //数据权限 + boolean pcPermission = ${pcDataPermisson}; + boolean appPermission = ${appDataPermisson}; + if (isPc && pcPermission) { + queryAllModel.setModuleId(${name}Pagination.getMenuId()); + } + if (!isPc && appPermission) { + queryAllModel.setModuleId(${name}Pagination.getMenuId()); + } + //拼接复杂条件 + wrapper = generaterSwapUtil.getConditionAllTable(queryAllModel); + if(wrapper == null) return new ArrayList<>(); + queryAllModel.setWrapper(wrapper2); + wrapper2 = generaterSwapUtil.getConditionAllTable(queryAllModel); +## 普通查询 + //其他条件拼接 + otherConditions(${name}Pagination, wrapper, isPc); + otherConditions(${name}Pagination, wrapper2, isPc); + + #if(${groupTable} == true || ${treeTable} == true || ${hasPage} == false) + //分组和树形生成这个代码,pc端返回全部数据 !"2".equals(dataType)导出选中数据 + if(isPc && !"2".equals(dataType)){ + dataType = "1"; + } + #end + if("0".equals(dataType)){ + com.github.pagehelper.Page objects = PageHelper.startPage((int) ${name}Pagination.getCurrentPage(), (int) ${name}Pagination.getPageSize(), true); + List<${Entity}> userIPage = this.selectJoinList(${Entity}.class, wrapper2); + List collect = userIPage.stream().map(t -> t.get${peimaryKeyName}()).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(collect)){ + wrapper.in(${Entity}::get${peimaryKeyName},collect); + } + List<${Entity}> result = this.selectJoinList(${Entity}.class, wrapper); + return ${name}Pagination.setData(result,objects.getTotal()); + }else{ + List<${Entity}> list = this.selectJoinList(${Entity}.class, wrapper); + if("2".equals(dataType)){ + List selectIds = Arrays.asList(${name}Pagination.getSelectIds()); + return list.stream().filter(t -> selectIds.contains(t.get$peimaryKeyName())).collect(Collectors.toList()); + }else{ + return list; + } + } + + } + + /** + * 其他条件拼接 + */ + private void otherConditions(${Name}Pagination ${name}Pagination, MPJLambdaWrapper<${Entity}> wrapper, boolean isPc) { + String databaseName; + try { + @Cleanup Connection cnn = DynamicDataSourceUtil.getCurrentConnection(); + databaseName = cnn.getMetaData().getDatabaseProductName().trim(); + } catch (SQLException e) { + throw new DataException(e.getMessage()); + } + #if($logicalDelete) + //假删除标志 + wrapper.isNull(${Entity}::getDeleteMark); + + #end + #if($isFlow) + //流程数据隔离 + List flowIds = generaterSwapUtil.getFlowIds(${name}Pagination.getFlowId()); + wrapper.in(${Entity}::getFlowId,flowIds); + #else + wrapper.isNull(${Entity}::getFlowId); + #end + //关键词 + #yunzhupaasKeywordSerach() + //普通查询 + #PaginationSerach() + //排序 + if(StringUtil.isEmpty(${name}Pagination.getSidx())){ + #if(${defaultSidx}) + #set($model = "${defaultSidx.substring(0,1).toUpperCase()}${defaultSidx.substring(1)}") + #set($Sort = "${sort.substring(0,1).toUpperCase()}${sort.substring(1)}") + wrapper.orderBy${Sort}(${Entity}::get${model}); + #else + wrapper.orderByDesc(${Entity}::get${peimaryKeyName}); + #end + }else{ + try { + String[] split = ${name}Pagination.getSidx().split(","); + for(String sidx:split){ + #if($lineEdit) + sidx = sidx.split("_name")[0]; + #end + ${Entity} ${name}Entity = new ${Entity}(); + String oderTableField = ${name}Entity.getClass().getAnnotation(TableName.class).value(); + boolean descFlag = sidx.startsWith("-"); + String sidxField = descFlag ? sidx.substring(1) : sidx; + try{ + Field declaredField = ${name}Entity.getClass().getDeclaredField(sidxField); + declaredField.setAccessible(true); + sidxField = declaredField.getAnnotation(TableField.class).value(); + }catch (Exception e){ + } + String finalOderTableField = oderTableField; + String finalSidxField = sidxField; + Object select = wrapper.getSelectColumns().stream().filter(t -> Objects.equals(finalOderTableField, t.getTableAlias()) + && Objects.equals(finalSidxField, t.getColumn())).findFirst().orElse(null); + oderTableField = oderTableField + "." + sidxField; + if (select == null) { + wrapper.select(oderTableField); + } + if (descFlag) { + wrapper.orderByDesc(oderTableField); + } else { + wrapper.orderByAsc(oderTableField); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } +#end +## 增删改查接口 +#macro(CrudMethod) + @Override + public ${Entity} getInfo(String ${peimaryKeyname}){ +## 生成MPJLambdaWrapper对象 + #CreateWrapper() + wrapper.and( + t->t.eq(${Entity}::get${peimaryKeyName}, #if($snowflake)${peimaryKeyname} #else Long.parseLong(${peimaryKeyname})#end) + .or().eq(${Entity}::getFlowTaskId, ${peimaryKeyname}) + ); + return this.selectJoinOne(${Entity}.class,wrapper); + } + @Override + public void create(${Entity} entity){ + this.save(entity); + } + @Override + public boolean update(String ${peimaryKeyname}, ${Entity} entity){ + return this.updateById(entity); + } + @Override + public void delete(${Entity} entity){ + if(entity!=null){ + this.removeById(entity.get${peimaryKeyName}()); + } + } +#end +## 表单验证 +#macro(CheckForm) + /** 验证表单唯一字段,正则,非空 i-0新增-1修改*/ + @Override + public String checkForm(${Name}Form form,int i) { + #if(${isFlow}) + List flowIds = generaterSwapUtil.getFlowIds(form.getFlowId()); + #end + boolean isUp =StringUtil.isNotEmpty(form.get${peimaryKeyName}()) && !form.get${peimaryKeyName}().equals("0"); + Object id= null; + String countRecover = ""; + String fieldTipName = ""; + String canNotNull = I18nUtil.getMessageStr("sys.validate.textRequiredSuffix", "不能为空"); + String canNotRepeated = I18nUtil.getMessageStr("EXIST103", "不能重复"); + if (isUp){ + #if($snowflake) + id = form.get${peimaryKeyName}(); + #else + id = Long.parseLong(form.get${peimaryKeyName}()); + #end + } +## 验证业务主键 + #if(${useBusinessKey}) + //验证业务主键 + String businessErr = checkBusinessKey(form, isUp ? id : null,#if($isFlow)flowIds#else null#end); + if (StringUtil.isNotEmpty(businessErr)) { + return businessErr; + } + #end +## 主表字段验证 + //主表字段验证 + #foreach($mastField in ${mastTableHandle}) + #set($Field = $mastField) + #set($config = $Field.config) + #set($unique = $config.unique) + #set($required = $config.required) + #set($yunzhupaasKey = $config.yunzhupaasKey) + #set($vModel = ${Field.vModel}) + #set($upName = "${Field.fieldAlias.substring(0,1).toUpperCase()}${Field.fieldAlias.substring(1)}") + fieldTipName = #if(${config.labelI18nCode}) I18nUtil.getMessageStr("${config.labelI18nCode}", "${config.label}"); #else "${config.label}"; #end + #if($yunzhupaasKey == 'input' && $required ==true && !${lineEdit}) + if(StringUtil.isEmpty(form.get${upName}())){ + return fieldTipName + canNotNull; + } + #end + #if($yunzhupaasKey == 'input' && $unique ==true) + if(StringUtil.isNotEmpty(form.get${upName}())){ + form.set${upName}(form.get${upName}()#if($yunzhupaasKey == 'input').trim()#end); + QueryWrapper<${Name}Entity> ${vModel}Wrapper=new QueryWrapper<>(); + ${vModel}Wrapper.lambda().eq(${Name}Entity::get${upName},form.get${upName}()); + #if(${isFlow}) + ${vModel}Wrapper.lambda().in(${Name}Entity::getFlowId, flowIds); + #else + ${vModel}Wrapper.lambda().isNull(${Name}Entity::getFlowId); + #end + #if($logicalDelete) + //假删除标志 + ${vModel}Wrapper.lambda().isNull(${Name}Entity::getDeleteMark); + #end + if (isUp){ + ${vModel}Wrapper.lambda().ne(${Name}Entity::get${peimaryKeyName}, id); + } + if((int) this.count(${vModel}Wrapper)>0){ + countRecover = fieldTipName + canNotRepeated; + } + } + #end +## 正则判断 + #RegMethod($yunzhupaasKey,"form.get${upName}()",$config) + #end +## 副表字段验证 + #if(${columnTableHandle.size()}>0) + //副表字段验证 + #foreach($cl in ${columnTableHandle}) + #set($columnTableName = "${cl.modelUpName}") + #set($columnTableName = "${cl.modelLowName}") + #foreach($clModel in ${cl.fieLdsModelList}) + #set($fieLdsModel = ${clModel.mastTable.fieLdsModel}) + #set($config = ${fieLdsModel.config}) + #set($fileRenameUp = "${fieLdsModel.fieldAlias.substring(0,1).toUpperCase()}${fieLdsModel.fieldAlias.substring(1)}") + #set($fullName = "yunzhupaas_${fieLdsModel.tableAlias}_yunzhupaas_${fieLdsModel.fieldAlias}") + #set($key = ${config.yunzhupaasKey}) + #set($unique = $config.unique) + #set($required = $config.required) + fieldTipName = #if(${config.labelI18nCode}) I18nUtil.getMessageStr("${config.labelI18nCode}", "${config.label}"); #else "${config.label}"; #end + #if($required ==true && !${lineEdit}) + if(#if($key =='input') StringUtil.isEmpty(form.get${fullName}()) #else form.get${fullName}() == null #end){ + return fieldTipName + canNotNull; + } + #end + #if($unique ==true) + if(#if($key =='input') StringUtil.isNotEmpty(form.get${fullName}())#else form.get${fullName}() ==null #end ){ + form.set${fullName}(form.get${fullName}()#if($key == 'input').trim()#end); + MPJLambdaWrapper<${Name}Entity> ${cl.modelLowName}${fileRenameUp}Wrapper = new MPJLambdaWrapper<>(${Name}Entity.class) + .leftJoin(${cl.modelUpName}Entity.class, ${cl.modelUpName}Entity::get${cl.relationUpField}, ${Name}Entity::get${cl.mainUpKey}) + .select(${Name}Entity::get${peimaryKeyName}); + #if(${isFlow}) + ${cl.modelLowName}${fileRenameUp}Wrapper.in(${Name}Entity::getFlowId, flowIds); + #else + ${cl.modelLowName}${fileRenameUp}Wrapper.isNull(${Name}Entity::getFlowId); + #end + #if($logicalDelete) + //假删除标志 + ${cl.modelLowName}${fileRenameUp}Wrapper.isNull(${Name}Entity::getDeleteMark); + #end + ${cl.modelLowName}${fileRenameUp}Wrapper.eq(${cl.modelUpName}Entity::get${fileRenameUp},form.get${fullName}()); + if (isUp){ + ${cl.modelLowName}${fileRenameUp}Wrapper.ne(${cl.modelUpName}Entity::get${cl.relationUpField}, id); + } + if((int) this.count(${cl.modelLowName}${fileRenameUp}Wrapper)>0){ + countRecover = fieldTipName + canNotRepeated; + } + } + #end +## 正则判断 + #RegMethod($key,"form.get${fullName}()",$config) + #end + #end + #end +## 子表字段验证 + #if(${childTableHandle.size()}>0) + //子表字段验证 + #foreach($grid in ${childTableHandle}) + if (form.get${grid.aliasUpName}List()!=null){ + #foreach($yunzhupaaskey in ${grid.childList}) + #if(${yunzhupaaskey.fieLdsModel.vModel} != '') + #set($fieLdsModel = ${yunzhupaaskey.fieLdsModel}) + #set($config = ${fieLdsModel.config}) + #set($key = ${config.yunzhupaasKey}) + #set($model = "${fieLdsModel.fieldAlias.substring(0,1).toUpperCase()}${fieLdsModel.fieldAlias.substring(1)}") + #set($unique = ${config.unique}) + #set($required = ${config.required}) + + fieldTipName = #if(${grid.labelI18nCode}) I18nUtil.getMessageStr("${grid.labelI18nCode}", "${grid.label}")#else "${grid.label}" #end + + "-" + #if(${config.labelI18nCode}) I18nUtil.getMessageStr("${config.labelI18nCode}", "${config.label}");#else "${config.label}"; #end + + #if($required ==true || $unique ==true || ${config.regList}) + for(${grid.aliasUpName}Model t : form.get${grid.aliasUpName}List()){ + if(#if($key =='input') StringUtil.isNotEmpty(t.get${model}()) #else t.get${model}() != null #end){ + t.set${model}(t.get${model}()#if($key == 'input').trim()#end); + } + #if($required ==true && !${lineEdit}) + else{ + return fieldTipName + canNotNull; + } + #end +## 子表正则 + #RegMethod($key,"t.get${model}()",$config) + } + #end + #if($key =='input' && $unique ==true) + List ${model}List = form.get${grid.aliasUpName}List().stream().filter(f->StringUtil.isNotEmpty(f.get${model}())).map(f -> f.get${model}()).collect(Collectors.toList()); + HashSet ${model}Set = new HashSet<>(${model}List); + if(${model}Set.size() != ${model}List.size()){ + countRecover = fieldTipName + canNotRepeated; + } + #end + #end + #end + } + #end + #end + return countRecover; + } +#end + +#macro(CheckBusinessKey) + /** + * 验证业务主键 + */ + private String checkBusinessKey(${Name}Form form, Object id, List flowIds){ + QueryWrapper<${Name}Entity> wrapper = new QueryWrapper<>(); + //修改 + if (id != null){ + wrapper.lambda().ne(${Name}Entity::get${peimaryKeyName}, id); + } + //是否流程 + if(flowIds == null){ + wrapper.lambda().isNull(${Name}Entity::getFlowId); + }else{ + wrapper.lambda().in(${Name}Entity::getFlowId, flowIds); + } + #if($logicalDelete) + //假删除标志 + wrapper.lambda().isNull(${Name}Entity::getDeleteMark); + #end + #set($notToJson=['inputNumber','input','textarea','radio','timePicker','createUser','modifyUser','location','currPosition']) + #foreach($item in ${businessKeyList}) + #set($yunzhupaasKey = $item.config.yunzhupaasKey) + #set($fieldNameUp = "${item.fieldAlias.substring(0,1).toUpperCase()}${item.fieldAlias.substring(1)}") + //${item.config.label}字段判断 + #if($yunzhupaasKey == 'datePicker') + if(form.get${fieldNameUp}() == null || form.get${fieldNameUp}().trim().isEmpty()){ + wrapper.lambda().isNull(${Name}Entity::get${fieldNameUp}); + }else{ + Object obj = new Date(Long.parseLong(form.get${fieldNameUp}())); + wrapper.lambda().eq(${Name}Entity::get${fieldNameUp}, obj); + } + #elseif(${notToJson.contains(${yunzhupaasKey})}) + if(form.get${fieldNameUp}() == null || form.get${fieldNameUp}().toString().trim().isEmpty()){ + wrapper.lambda().isNull(${Name}Entity::get${fieldNameUp}); + }else{ + wrapper.lambda().eq(${Name}Entity::get${fieldNameUp}, form.get${fieldNameUp}()); + } + #else + if(form.get${fieldNameUp}() == null || form.get${fieldNameUp}().toString().trim().isEmpty() + ||(form.get${fieldNameUp}() instanceof List && ((List) form.get${fieldNameUp}()).size() == 0)){ + wrapper.lambda().isNull(${Name}Entity::get${fieldNameUp}); + }else{ + Object obj = form.get${fieldNameUp}() instanceof List ?JsonUtil.getObjectToString(form.get${fieldNameUp}()):form.get${fieldNameUp}(); + wrapper.lambda().eq(${Name}Entity::get${fieldNameUp}, obj); + } + #end + #end + if((int) this.count(wrapper)>0){ + return "${businessKeyTip}"; + } + return ""; + } +#end +## 保存或者修改事务方法 +#macro(SaveOrUpdate) + /** + * 新增修改数据(事务回滚) + * @param id + * @param ${name}Form + * @return + */ + @Override + #if(${DS}) + @DSTransactional + #else + @Transactional + #end + public void saveOrUpdate(${Name}Form ${name}Form,String id, boolean isSave) throws Exception{ + #if($isFlow) + List<$mapObject> formOperates = ${name}Form.getFormOperates(); + List hasOperate = new ArrayList<>(); + boolean noOperate = false; + if(CollectionUtils.isNotEmpty(formOperates)){ + for ($mapObject formOperate : formOperates) { + String formOperateId = formOperate.get("id").toString(); + boolean formOperateWrite = formOperate.get("write") ==null? false : (boolean) formOperate.get("write"); + if(formOperateWrite){ + hasOperate.add(formOperateId); + } + } + }else{ + noOperate = true; + } + #end + UserInfo userInfo=userProvider.get(); + UserEntity userEntity = generaterSwapUtil.getUser(userInfo.getUserId()); + ${name}Form = JsonUtil.getJsonToBean( + generaterSwapUtil.swapDatetime(${Name}Constant.getFormData(),${name}Form,${Name}Constant.TABLERENAMES),${Name}Form.class); + ${Name}Entity entity = JsonUtil.getJsonToBean(${name}Form, ${Name}Entity.class); + #set($peimaryKeyName="${pKeyName.substring(0,1).toUpperCase()}${pKeyName.substring(1)}") + String mainUuid = StringUtil.isEmpty(id) ? RandomUtil.uuId() : id; + #if($isFlow) + entity.setFlowId(${name}Form.getFlowId()); + #end +##主表保存修改判断是否有系统控件 +#foreach($field in ${mastTableHandle}) + #set($key = ${field.config.yunzhupaasKey}) + #if(${systemyunzhupaasKey.contains(${key})}) + #set($mainHasSysFields =true) + #end +#end + if(isSave){ + entity.setFlowTaskId(mainUuid); + #foreach($field in ${mastTableHandle}) + #set($model = "${field.fieldAlias.substring(0,1).toUpperCase()}${field.fieldAlias.substring(1)}") + #set($key = ${field.config.yunzhupaasKey}) + #set($nameEntity = "entity") + #set($rule ="${field.config.rule}") + #set($showLevel ="${field.showLevel}") + #set($realVmodel ="${field.vModel}") + #set($config =${field.config}) + #set($constantVmodel ="${field.vModel}") + #GetSystemData(true) + #end + #if($snowflake) + entity.set${peimaryKeyName}(mainUuid); + #end + #if($version) + #if(${versionType} == "bigint") + entity.setVersion(0l); + #else + entity.setVersion(0); + #end + #end + } else { + #foreach($field in ${mastTableHandle}) + #set($model = "${field.fieldAlias.substring(0,1).toUpperCase()}${field.fieldAlias.substring(1)}") + #set($key = ${field.config.yunzhupaasKey}) + #set($nameEntity = "entity") + #set($rule ="${field.config.rule}") + #set($showLevel ="${field.showLevel}") + #set($realVmodel ="${field.vModel}") + #set($config =${field.config}) + #set($constantVmodel ="${field.vModel}") + #GetSystemData(false) + #end + } + boolean b = this.saveOrUpdate(entity); + #if($version) + if(!b){ + throw new DataException("当前表单原数据已被调整,请重新进入该页面编辑并提交数据"); + } + #end + ${Name}Entity info = this.getInfo(mainUuid); + if (info == null) throw new RuntimeException(MsgCode.FA001.get()); + #if(!$snowflake) + entity.set${peimaryKeyName}(info.get${peimaryKeyName}()); + #end + +##子表数据新增修改 +#if(${childTableHandle.size()}>0) + #foreach($grid in ${childTableHandle}) + #set($tableField = "${grid.tablefield.substring(0,1).toUpperCase()}${grid.tablefield.substring(1)}") + #set($relationField = "${grid.relationField.substring(0,1).toUpperCase()}${grid.relationField.substring(1)}") + #set($chidKeyName = "${grid.chidKeyName.substring(0,1).toUpperCase()}${grid.chidKeyName.substring(1)}") + //${grid.aliasUpName}子表数据新增修改 + QueryWrapper<${grid.aliasUpName}Entity> ${grid.aliasUpName}queryWrapper = new QueryWrapper<>(); + ${grid.aliasUpName}queryWrapper.lambda().eq(${grid.aliasUpName}Entity::get${tableField}, info.get${relationField}()); + if(!isSave && !CollectionUtils.isNotEmpty(${name}Form.get${grid.aliasUpName}List())){ + ${grid.aliasLowName}Service.remove(${grid.aliasUpName}queryWrapper); + } + if (CollectionUtils.isNotEmpty(${name}Form.get${grid.aliasUpName}List())){ + List<${grid.aliasUpName}Entity> ${grid.tableModel} = JsonUtil.getJsonToList(${name}Form.get${grid.aliasUpName}List(),${grid.aliasUpName}Entity.class); + //移除的数据 + List childIds = ${grid.tableModel}.stream().filter(t->t.get${chidKeyName}()!=null).map(${grid.aliasUpName}Entity::get${chidKeyName}).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(childIds)){ + ${grid.aliasUpName}queryWrapper.lambda().notIn(${grid.aliasUpName}Entity::get${chidKeyName},childIds); + } + ${grid.aliasLowName}Service.remove(${grid.aliasUpName}queryWrapper); + for(${grid.aliasUpName}Entity entitys : ${grid.tableModel}){ + entitys.set${tableField}(entity.get${relationField}()); +##子表保存修改判断是否有系统控件 +#set($childHasSysFields =false) +#foreach($yunzhupaaskey in ${grid.childList}) + #if(${yunzhupaaskey.fieLdsModel.vModel} != '') + #set($key = ${yunzhupaaskey.fieLdsModel.config.yunzhupaasKey}) + #if(${systemyunzhupaasKey.contains(${key})}) + #set($childHasSysFields =true) + #end + #end +#end +#if($childHasSysFields) + if(isSave || entitys.get${chidKeyName}()==null){ + #foreach($yunzhupaaskey in ${grid.childList}) + #if(${yunzhupaaskey.fieLdsModel.vModel} != '') + #set($key = ${yunzhupaaskey.fieLdsModel.config.yunzhupaasKey}) + #set($rule = ${yunzhupaaskey.fieLdsModel.config.rule}) + #set($showLevel ="${yunzhupaaskey.fieLdsModel.showLevel}") + #set($model = "${yunzhupaaskey.fieLdsModel.fieldAlias.substring(0,1).toUpperCase()}${yunzhupaaskey.fieLdsModel.fieldAlias.substring(1)}") + #set($nameEntity = "entitys") + #set($realVmodel ="${grid.aliasLowName}List-${yunzhupaaskey.fieLdsModel.vModel}") + #set($config =${yunzhupaaskey.fieLdsModel.config}) + #set($constantVmodel ="${grid.aliasLowName}_${yunzhupaaskey.fieLdsModel.vModel}") + #GetSystemData(true) + #end + #end + }else{ + #foreach($yunzhupaaskey in ${grid.childList}) + #if(${yunzhupaaskey.fieLdsModel.vModel} != '') + #set($key = ${yunzhupaaskey.fieLdsModel.config.yunzhupaasKey}) + #set($rule = ${yunzhupaaskey.fieLdsModel.config.rule}) + #set($showLevel ="${yunzhupaaskey.fieLdsModel.showLevel}") + #set($model = "${yunzhupaaskey.fieLdsModel.fieldAlias.substring(0,1).toUpperCase()}${yunzhupaaskey.fieLdsModel.fieldAlias.substring(1)}") + #set($nameEntity = "entitys") + #set($realVmodel ="${grid.aliasLowName}List-${yunzhupaaskey.fieLdsModel.vModel}") + #set($config =${yunzhupaaskey.fieLdsModel.config}) + #set($constantVmodel ="${grid.aliasLowName}_${yunzhupaaskey.fieLdsModel.vModel}") + #GetSystemData(false,${chidKeyName}) + #end + #end + } +#end + #if($snowflake) + if(entitys.get${chidKeyName}()==null){ + entitys.set${chidKeyName}(RandomUtil.uuId()); + } + #end + ${grid.aliasLowName}Service.saveOrUpdate(entitys); + } + } + #end +#end +##副表数据新增修改 +#if(${columnTableHandle.size()}>0) + #foreach($cl in ${columnTableHandle}) +##副表保存修改判断是否有系统控件 +#set($mastHasSysFields =false) +#foreach($clModel in ${cl.fieLdsModelList}) + #set($key = ${clModel.mastTable.fieLdsModel.config.yunzhupaasKey}) + #if($key!='' && ${systemyunzhupaasKey.contains(${key})}) + #set($mastHasSysFields =true) + #end +#end + //${cl.tableName}副表数据新增修改 + #set($mainField = $cl.mainField) + #set($mainUpId = "${mainField.substring(0,1).toUpperCase()}${mainField.substring(1)}") + $mapObject ${cl.modelName}Map = generaterSwapUtil.getMastTabelData(${name}Form,"${cl.tableName}"); + ${cl.modelName}Entity ${cl.modelLowName}entity = JsonUtil.getJsonToBean(${cl.modelName}Map,${cl.modelName}Entity.class); + //自动生成的字段 + if(isSave){ + #if($mastHasSysFields) + #foreach($clModel in ${cl.fieLdsModelList}) + #set($model = "${clModel.mastTable.fieLdsModel.fieldAlias.substring(0,1).toUpperCase()}${clModel.mastTable.fieLdsModel.fieldAlias.substring(1)}") + #set($key = ${clModel.mastTable.fieLdsModel.config.yunzhupaasKey}) + #set($nameEntity = "${cl.modelLowName}entity") + #set($rule ="${clModel.mastTable.fieLdsModel.config.rule}") + #set($showLevel ="${clModel.mastTable.fieLdsModel.showLevel}") + #set($realVmodel ="${clModel.vModel}") + #set($config =${clModel.mastTable.fieLdsModel.config}) + #set($constantVmodel ="${clModel.vModel}") + #GetSystemData(true) + #end + #end + #if($snowflake) + ${cl.modelLowName}entity.set${mainUpId}(RandomUtil.uuId()); + #end + ${cl.modelLowName}entity.set${cl.relationUpField}(entity.get${cl.mainUpKey}()); + }else{ + QueryWrapper<${cl.modelUpName}Entity> queryWrapper${cl.modelUpName} =new QueryWrapper<>(); + queryWrapper${cl.modelUpName}.lambda().eq(${cl.modelUpName}Entity::get${cl.relationUpField},info.get${cl.mainUpKey}()); + ${cl.modelUpName}Entity ${cl.modelLowName}OneEntity= ${cl.modelLowName}Service.getOne(queryWrapper${cl.modelUpName}); + #if($mastHasSysFields) + #foreach($clModel in ${cl.fieLdsModelList}) + #set($model = "${clModel.mastTable.fieLdsModel.fieldAlias.substring(0,1).toUpperCase()}${clModel.mastTable.fieLdsModel.fieldAlias.substring(1)}") + #set($key = ${clModel.mastTable.fieLdsModel.config.yunzhupaasKey}) + #set($nameEntity = "${cl.modelLowName}entity") + #set($rule ="${clModel.mastTable.fieLdsModel.config.rule}") + #set($showLevel ="${clModel.mastTable.fieLdsModel.showLevel}") + #set($realVmodel ="${clModel.vModel}") + #set($config =${clModel.mastTable.fieLdsModel.config}) + #set($constantVmodel ="${clModel.vModel}") + #GetSystemData(false) + #end + #end + ${cl.modelLowName}entity.set${cl.mainField}(${cl.modelLowName}OneEntity.get${cl.mainField}()); + ${cl.modelLowName}entity.set${cl.relationUpField}(entity.get${cl.mainUpKey}()); + } + + ${cl.modelLowName}Service.saveOrUpdate(${cl.modelLowName}entity); + #end +#end + } +#end diff --git a/TemplateCodeVue3/TemplateCode1/app/form.vue.vm b/TemplateCodeVue3/TemplateCode1/app/form.vue.vm new file mode 100644 index 0000000..4652126 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode1/app/form.vue.vm @@ -0,0 +1 @@ +#parse("TemplateCode2/app/form.vue.vm") diff --git a/TemplateCodeVue3/TemplateCode1/html/index.vue.vm b/TemplateCodeVue3/TemplateCode1/html/index.vue.vm new file mode 100644 index 0000000..a0f1ab4 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode1/html/index.vue.vm @@ -0,0 +1 @@ +#parse("TemplateCode5/html/Form.vue.vm") diff --git a/TemplateCodeVue3/TemplateCode2/app/detail.vue.vm b/TemplateCodeVue3/TemplateCode2/app/detail.vue.vm new file mode 100644 index 0000000..b9da554 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode2/app/detail.vue.vm @@ -0,0 +1,443 @@ +#parse("PublicMacro/AppFormMarco.vm") + + + diff --git a/TemplateCodeVue3/TemplateCode2/app/form.vue.vm b/TemplateCodeVue3/TemplateCode2/app/form.vue.vm new file mode 100644 index 0000000..0af5578 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode2/app/form.vue.vm @@ -0,0 +1,1076 @@ +#parse("PublicMacro/AppFormMarco.vm") + + + + diff --git a/TemplateCodeVue3/TemplateCode2/app/index.vue.vm b/TemplateCodeVue3/TemplateCode2/app/index.vue.vm new file mode 100644 index 0000000..b5edbd6 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode2/app/index.vue.vm @@ -0,0 +1,1023 @@ +#parse("PublicMacro/AppFormMarco.vm") + + + + diff --git a/TemplateCodeVue3/TemplateCode2/html/Detail.vue.vm b/TemplateCodeVue3/TemplateCode2/html/Detail.vue.vm new file mode 100644 index 0000000..1177a98 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode2/html/Detail.vue.vm @@ -0,0 +1,361 @@ +#parse("PublicMacro/DetailMarco.vm") +#parse("PublicMacro/ConstantMarco.vm") +##参数 +#ConstantParams() + + diff --git a/TemplateCodeVue3/TemplateCode2/html/ExtraForm.vue.vm b/TemplateCodeVue3/TemplateCode2/html/ExtraForm.vue.vm new file mode 100644 index 0000000..a327dbd --- /dev/null +++ b/TemplateCodeVue3/TemplateCode2/html/ExtraForm.vue.vm @@ -0,0 +1,169 @@ +#parse("PublicMacro/FormMarco.vm") +## 行内-弹窗编辑生成表单字段 +#macro(FormRenderingExtra) + #foreach($html in ${context.columnList}) + #set($vModel = "${html.vModel}") + #set($beforeVmodel = "${html.vModel}") + #set($mastModel="${context.formModel}.${beforeVmodel}") + #set($config = $html.config) + #set($mastKey = "${config.yunzhupaasKey}") + #set($show = $config.noShow) + #set($pcshow = $config.pc) + #set($startTime=${html.startTime}) + #set($endTime=${html.endTime}) + #if(${mastKey}=='datePicker'||${mastKey}=='timePicker') + #GetStartAndEndTime($mastKey,$config,$html,$startTime,$endTime) + #end + #if($show == false && $pcshow == true && !$html.prop.toLowerCase().startsWith("tablefield")) + + + + #CreateFieldTag($mastKey,$html,$config,$mastModel,$beforeVmodel,-1,false) + + + #end + #end +#end + + diff --git a/TemplateCodeVue3/TemplateCode2/html/Form.vue.vm b/TemplateCodeVue3/TemplateCode2/html/Form.vue.vm new file mode 100644 index 0000000..f7a81e4 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode2/html/Form.vue.vm @@ -0,0 +1,416 @@ +#parse("PublicMacro/FormMarco.vm") + + diff --git a/TemplateCodeVue3/TemplateCode2/html/index.vue.vm b/TemplateCodeVue3/TemplateCode2/html/index.vue.vm new file mode 100644 index 0000000..bacf2e6 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode2/html/index.vue.vm @@ -0,0 +1,1419 @@ +##通用参数 +#parse("PublicMacro/ConstantMarco.vm") +#ConstantParams() + + + diff --git a/TemplateCodeVue3/TemplateCode2/html/indexEdit.vue.vm b/TemplateCodeVue3/TemplateCode2/html/indexEdit.vue.vm new file mode 100644 index 0000000..8d33d50 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode2/html/indexEdit.vue.vm @@ -0,0 +1,1442 @@ +##通用参数 +#parse("PublicMacro/ConstantMarco.vm") +#ConstantParams() +#parse("PublicMacro/FormMarco.vm") +## dataform属性生成 +#macro(EditDataform) + #foreach($fieLdsModel in ${context.fields}) + #set($html = $fieLdsModel.formColumnModel.fieLdsModel) + #set($fieLdsModel =$fieLdsModel.formColumnModel.fieLdsModel) + #set($vModel = "${html.vModel}") + #if($vModel !='') + #set($config = $html.config) + #set($jk = $html.config.yunzhupaasKey) + #set($dataType = "$!{config.dataType}") + #set($defaultCurrent = $config.defaultCurrent) + #set($defult = $config.defaultValue) + #set($format = $html.format) + #if($jk!='text' && $jk!='divider') + #GetFeildDefaultValue("") + #end + #end + #end + #foreach($mast in ${context.mastTable}) + #set($mastField = $mast.formMastTableModel.mastTable.fieLdsModel) + #set($fieLdsModel =$mast.formMastTableModel.mastTable.fieLdsModel) + #set($config =$mastField.config) + #set($jk = ${config.yunzhupaasKey}) + #set($vModel = ${mast.formMastTableModel.vModel}) + #set($dataType = "$!{config.dataType}") + #set($defaultCurrent = $config.defaultCurrent) + #set($defult = $config.defaultValue) + #set($format = $mastField.format) + #if($jk!='text' && $jk!='divider') + #GetFeildDefaultValue("") + #end + #end + #if($context.version) + version: 0, + #end +#end + + + diff --git a/TemplateCodeVue3/TemplateCode3/app/form.vue.vm b/TemplateCodeVue3/TemplateCode3/app/form.vue.vm new file mode 100644 index 0000000..4652126 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode3/app/form.vue.vm @@ -0,0 +1 @@ +#parse("TemplateCode2/app/form.vue.vm") diff --git a/TemplateCodeVue3/TemplateCode3/app/index.vue.vm b/TemplateCodeVue3/TemplateCode3/app/index.vue.vm new file mode 100644 index 0000000..052b911 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode3/app/index.vue.vm @@ -0,0 +1 @@ +#parse("TemplateCode2/app/index.vue.vm") diff --git a/TemplateCodeVue3/TemplateCode3/html/Form.vue.vm b/TemplateCodeVue3/TemplateCode3/html/Form.vue.vm new file mode 100644 index 0000000..a0f1ab4 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode3/html/Form.vue.vm @@ -0,0 +1 @@ +#parse("TemplateCode5/html/Form.vue.vm") diff --git a/TemplateCodeVue3/TemplateCode3/html/index.vue.vm b/TemplateCodeVue3/TemplateCode3/html/index.vue.vm new file mode 100644 index 0000000..4e3fe22 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode3/html/index.vue.vm @@ -0,0 +1 @@ +#parse("TemplateCode2/html/index.vue.vm") diff --git a/TemplateCodeVue3/TemplateCode3/html/indexEdit.vue.vm b/TemplateCodeVue3/TemplateCode3/html/indexEdit.vue.vm new file mode 100644 index 0000000..acd6df2 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode3/html/indexEdit.vue.vm @@ -0,0 +1 @@ +#parse("TemplateCode2/html/indexEdit.vue.vm") diff --git a/TemplateCodeVue3/TemplateCode4/app/form.vue.vm b/TemplateCodeVue3/TemplateCode4/app/form.vue.vm new file mode 100644 index 0000000..4652126 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode4/app/form.vue.vm @@ -0,0 +1 @@ +#parse("TemplateCode2/app/form.vue.vm") diff --git a/TemplateCodeVue3/TemplateCode4/html/FormPopup.vue.vm b/TemplateCodeVue3/TemplateCode4/html/FormPopup.vue.vm new file mode 100644 index 0000000..1fbe2f6 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode4/html/FormPopup.vue.vm @@ -0,0 +1,144 @@ +#parse("PublicMacro/FormMarco.vm") + + + + diff --git a/TemplateCodeVue3/TemplateCode4/html/index.vue.vm b/TemplateCodeVue3/TemplateCode4/html/index.vue.vm new file mode 100644 index 0000000..8e3ce66 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode4/html/index.vue.vm @@ -0,0 +1,21 @@ + + + diff --git a/TemplateCodeVue3/TemplateCode5/app/form.vue.vm b/TemplateCodeVue3/TemplateCode5/app/form.vue.vm new file mode 100644 index 0000000..4652126 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode5/app/form.vue.vm @@ -0,0 +1 @@ +#parse("TemplateCode2/app/form.vue.vm") diff --git a/TemplateCodeVue3/TemplateCode5/app/index.vue.vm b/TemplateCodeVue3/TemplateCode5/app/index.vue.vm new file mode 100644 index 0000000..2c5782f --- /dev/null +++ b/TemplateCodeVue3/TemplateCode5/app/index.vue.vm @@ -0,0 +1,60 @@ + + + + + diff --git a/TemplateCodeVue3/TemplateCode5/html/Form.vue.vm b/TemplateCodeVue3/TemplateCode5/html/Form.vue.vm new file mode 100644 index 0000000..22afc69 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode5/html/Form.vue.vm @@ -0,0 +1,111 @@ +#parse("PublicMacro/FormMarco.vm") + + + diff --git a/TemplateCodeVue3/TemplateCode5/html/index.vue.vm b/TemplateCodeVue3/TemplateCode5/html/index.vue.vm new file mode 100644 index 0000000..a8e6cf2 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode5/html/index.vue.vm @@ -0,0 +1,62 @@ + + + diff --git a/TemplateCodeVue3/TemplateCode6/ViewController.java.vm b/TemplateCodeVue3/TemplateCode6/ViewController.java.vm new file mode 100644 index 0000000..a5667d6 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode6/ViewController.java.vm @@ -0,0 +1,86 @@ + +#set($className = "${context.className}") +#set($Name = "${className.substring(0,1).toUpperCase()}${className.substring(1)}") +#set($name = "${className.substring(0,1).toLowerCase()}${className.substring(1)}") +## 获取列表信息 +#macro(GetList) + /** + * 列表 + * + * @param ${name}Pagination + * @return + */ + @Operation(summary = "获取列表") + @PostMapping("/getList") + public ActionResult list(@RequestBody ${Name}Pagination ${name}Pagination) { + boolean isPc = "pc".equals(ServletUtil.getHeader("zero-origin" )); + String columnData = !isPc ? ${Name}Constant.getAppColumnData() : ${Name}Constant.getColumnData(); + PageListVO interfaceData = generaterSwapUtil.getInterfaceData(${Name}Constant.INTERFACE_ID, ${Name}Constant.INTERFACE_PARAM, ${name}Pagination, columnData, isPc); + return ActionResult.success(interfaceData); + } +#end +## 导出 +#macro(ExportMethod) + /** + * 导出Excel + * + * @return + */ + @Operation(summary = "导出Excel") + @PostMapping("/Actions/Export") + public ActionResult Export(@RequestBody ${Name}Pagination ${name}Pagination) { + if (StringUtil.isEmpty(${name}Pagination.getSelectKey())){ + return ActionResult.fail("请选择导出字段"); + } + boolean isPc = "pc".equals(ServletUtil.getHeader("zero-origin" )); + String columnData = !isPc ? ${Name}Constant.getAppColumnData() : ${Name}Constant.getColumnData(); + DownloadVO vo = generaterSwapUtil.exportInterfaceData(${Name}Constant.INTERFACE_ID, ${Name}Constant.INTERFACE_PARAM, ${name}Pagination, columnData); + return ActionResult.success(vo); + } +#end +package ${context.package}.controller; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import com.zero.base.ActionResult; +import com.zero.base.vo.DownloadVO; +import com.zero.base.vo.PageListVO; +import com.zero.model.$!{name.toLowerCase()}.$!{Name}Constant; +import com.zero.model.$!{name.toLowerCase()}.$!{Name}Pagination; +import com.zero.util.GeneraterSwapUtil; +import com.zero.util.ServletUtil; +import com.zero.util.StringUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * ${context.genInfo.description} + * @版本: ${context.genInfo.version} + * @版权: ${context.genInfo.copyright} + * @作者: ${context.genInfo.createUser} + * @日期: ${context.genInfo.createDate} + */ +@Slf4j +@RestController +@Tag(name = "${context.genInfo.description}" , description = "${context.module}") +#if(${context.isCloud}=="cloud") +@RequestMapping("/${Name}") +#else +@RequestMapping("/api/${context.module}/${className}") +#end +public class ${className}Controller { + @Autowired + private GeneraterSwapUtil generaterSwapUtil; + +## 获取列表信息 +#GetList() +## 导出数据 +#if(${context.hasDownloadBtn}) +#ExportMethod() +#end + +} diff --git a/TemplateCodeVue3/TemplateCode6/index.vue.vm b/TemplateCodeVue3/TemplateCode6/index.vue.vm new file mode 100644 index 0000000..4e3fe22 --- /dev/null +++ b/TemplateCodeVue3/TemplateCode6/index.vue.vm @@ -0,0 +1 @@ +#parse("TemplateCode2/html/index.vue.vm") diff --git a/TemplateCodeVue3/helper/api.ts.vm b/TemplateCodeVue3/helper/api.ts.vm new file mode 100644 index 0000000..c9ef2f9 --- /dev/null +++ b/TemplateCodeVue3/helper/api.ts.vm @@ -0,0 +1,44 @@ +## api接口 +#set($url="import { defHttp } from '@/utils/http/axios';") +$url + +// 获取列表 +export function getList(data) { + #set($getListReq=".post({ url: '/api/"+${context.module}+"/"+${context.className}+"/getList', data })") + return defHttp$getListReq; +} +// 新建 +export function create(data) { + #set($createReq=".post({ url:'/api/"+${context.module}+"/"+${context.className}+"', data })") + return defHttp$createReq; +} +// 修改 +export function update(data) { + #set($updateReq=".put({ url: '/api/"+${context.module}+"/"+${context.className}+"/'+ data.id, data })") + return defHttp$updateReq; +} +// 详情(无转换数据) +export function getInfo(id) { + #set($getInfoReq=".get({ url: '/api/"+${context.module}+"/"+${context.className}+"/' + id })") + return defHttp$getInfoReq; +} +// 获取(转换数据) +export function getDetailInfo(id) { + #set($getDetailInfoReq=".get({ url: '/api/"+${context.module}+"/"+${context.className}+"/detail/' + id })") + return defHttp$getDetailInfoReq; +} +// 删除 +export function del(id) { + #set($delReq=".delete({ url: '/api/"+${context.module}+"/"+${context.className}+"/' + id })") + return defHttp$delReq; +} +// 批量删除数据 +export function batchDelete(data) { + #set($batchDeleteReq=".delete({ url: '/api/"+${context.module}+"/"+${context.className}+"/batchRemove', data })") + return defHttp$batchDeleteReq; +} +// 导出 +export function exportData(data) { + #set($exportDataReq=".post({ url: '/api/"+${context.module}+"/"+${context.className}+"/Actions/Export', data })") + return defHttp$exportDataReq; +} diff --git a/TemplateCodeVue3/java/Constant.java.vm b/TemplateCodeVue3/java/Constant.java.vm new file mode 100644 index 0000000..d2a9b7c --- /dev/null +++ b/TemplateCodeVue3/java/Constant.java.vm @@ -0,0 +1,101 @@ +#set($name = "${context.className.substring(0,1).toUpperCase()}${context.className.substring(1)}") +#macro(GetLongStr $longStr) + #set($num=${longStr.length()}/65000) + #if($num>0) + #foreach($foo in [0..$num]) + #if($foo==0) + #set($endstr='");') + #if(${longStr.substring(0,65000).endsWith('\')}) + #set($endstr='"");') + #end + sb.append(${longStr.substring(0,65000)}$endstr + #elseif($foo==$num) + #set($startIndex=$foo*65000) + #set($startstr='"') + #if(${longStr.substring($startIndex).startsWith('"')}) + #set($startstr='') + #end + sb.append($startstr${longStr.substring($startIndex)}); + #else + #set($startIndex=$foo*65000) + #set($endIndex=($foo+1)*65000) + #set($endstr='");') + #if(${longStr.substring($startIndex,$endIndex).endsWith('\')}) + #set($endstr='"");') + #end + #if(${longStr.substring($startIndex,$endIndex).endsWith('\\')}) + #set($endstr='");') + #end + #set($startstr='"') + #if(${longStr.substring($startIndex,$endIndex).startsWith('"')}) + #set($startstr='') + #end + sb.append($startstr${longStr.substring($startIndex,$endIndex)}$endstr + #end + #end + #else + #if($longStr)sb.append($longStr);#end + #end +#end +package ${context.package}.model.$!{name.toLowerCase()}; + +import com.yunzhupaas.util.JsonUtil; +import java.util.*; + +/** + * ${context.genInfo.description}配置json + * + * @版本: ${context.genInfo.version} + * @版权: ${context.genInfo.copyright} + * @作者: ${context.genInfo.createUser} + * @日期: ${context.genInfo.createDate} + */ +public class $!{name}Constant{ + #if($context.webType == 4) + /** 接口信息 */ + public static final String INTERFACE_ID = "${context.interfaceId}"; + public static final String INTERFACE_PARAM = #if(${context.interfaceParam}) ${context.interfaceParam} #else ""#end; + #else + /** 数据库链接 */ + public static final String DBLINKID = "${context.dbLinkId}"; + /** 表别名 map */ + public static final Map TABLERENAMES = JsonUtil.getJsonToBean(${context.tableRenames},Map.class); + /** 子表model map */ + public static final Map TABLEFIELDKEY = JsonUtil.getJsonToBean(${context.childKeyTableNameMap},Map.class); + /** 整个表单配置json */ + public static final String getFormData(){ + StringBuilder sb = new StringBuilder(); + #GetLongStr(${context.formDataStr}) + return sb.toString(); + } + #end + #if($context.isList) + /** 列表字段配置json */ + public static final String getColumnData(){ + StringBuilder sb = new StringBuilder(); + #GetLongStr(${context.columnDataStr}) + return sb.toString(); + } + /** app列表字段配置json */ + public static final String getAppColumnData(){ + StringBuilder sb = new StringBuilder(); + #GetLongStr(${context.appColumnDataStr}) + return sb.toString(); + } + #if($context.webType!=4) + /** 表列表 */ + public static final String getTableList(){ + StringBuilder sb = new StringBuilder(); + #GetLongStr(${context.tableListStr}) + return sb.toString(); + } + #end + #end + + #if($context.billRule) + /** 单据规则 */ + #foreach($key in ${context.billRule.keySet()}) + public static final String $key = ${context.billRule.get($key)}; + #end + #end +} diff --git a/TemplateCodeVue3/java/Controller.java.vm b/TemplateCodeVue3/java/Controller.java.vm new file mode 100644 index 0000000..d25f1ca --- /dev/null +++ b/TemplateCodeVue3/java/Controller.java.vm @@ -0,0 +1,203 @@ +#parse("PublicMacro/ControllerMarco.vm") +package ${package.Controller}; +#set($peimaryKeyName = "${pKeyName.substring(0,1).toUpperCase()}${pKeyName.substring(1)}") +#set($peimaryKeyname = "${pKeyName.substring(0,1).toLowerCase()}${pKeyName.substring(1)}") +#set($serviceName = "${table.serviceName.substring(0,1).toLowerCase()}${table.serviceName.substring(1)}") +#set($Name = "${genInfo.className.substring(0,1).toUpperCase()}${genInfo.className.substring(1)}") +#set($name = "${genInfo.className.substring(0,1).toLowerCase()}${genInfo.className.substring(1)}") +#set($packName = "${genInfo.className.toLowerCase()}") +#set($searchListSize =$!{searchList}) +#set($columnListSize=$!{columnList}) + +#set($serverHasUpload = false) +#set($serverHasDownload = false) +#foreach($btn in ${btnsList}) + #if(${btn.value}=='upload' && ${btn.show}) + #set($serverHasUpload = true) + #end + #if(${btn.value}=='download' && ${btn.show}) + #set($serverHasDownload = true) + #end +#end + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import com.yunzhupaas.base.ActionResult; +import com.yunzhupaas.base.UserInfo; +import com.yunzhupaas.exception.DataException; +import com.yunzhupaas.permission.entity.UserEntity; +import com.yunzhupaas.constant.MsgCode; +import ${package.Service}.*; +import ${package.Entity}.*; +import com.yunzhupaas.util.*; +import ${modulePackageName}.model.${packName}.*; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import com.yunzhupaas.flowable.entity.TaskEntity; +#if(${springVersion.startsWith("2")}) +import javax.validation.Valid; +#else +import jakarta.validation.Valid; +#end +import java.util.*; +import com.yunzhupaas.model.ExcelModel; +import com.yunzhupaas.excel.ExcelExportStyler; +import com.yunzhupaas.excel.ExcelHelper; +#if($isList) +import com.yunzhupaas.annotation.yunzhupaasField; +import com.yunzhupaas.base.vo.PageListVO; +import com.yunzhupaas.base.vo.PaginationVO; +import com.yunzhupaas.base.vo.DownloadVO; +import com.yunzhupaas.config.ConfigValueUtil; +import com.yunzhupaas.base.entity.ProvinceEntity; +import java.io.IOException; +import java.util.stream.Collectors; +import com.yunzhupaas.flowable.entity.TaskEntity; +import com.yunzhupaas.exception.WorkFlowException; +import com.yunzhupaas.model.visualJson.UploaderTemplateModel; +import com.yunzhupaas.base.util.FormExecelUtils; +#end +#if(${serverHasUpload} || ${serverHasDownload}) +import org.springframework.web.multipart.MultipartFile; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.ExcelImportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; +import cn.afterturn.easypoi.excel.entity.ImportParams; +import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; +import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Workbook; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import com.yunzhupaas.onlinedev.model.ExcelImFieldModel; +import com.yunzhupaas.base.model.OnlineImport.ImportDataModel; +import com.yunzhupaas.base.model.OnlineImport.ImportFormCheckUniqueModel; +import com.yunzhupaas.base.model.OnlineImport.ExcelImportModel; +import com.yunzhupaas.base.model.OnlineImport.VisualImportModel; +import cn.xuyanwu.spring.file.storage.FileInfo; +import lombok.Cleanup; +import com.yunzhupaas.model.visualJson.config.HeaderModel; +import com.yunzhupaas.base.model.ColumnDataModel; +import com.yunzhupaas.base.util.VisualUtils; +#end +#if(${DS}) +import com.baomidou.dynamic.datasource.annotation.DSTransactional; +#else +import org.springframework.transaction.annotation.Transactional; +#end +#if(${isCloud}=="cloud") +import com.yunzhupaas.model.upload.UploadFileModel; +import com.yunzhupaas.file.FileApi; +import com.yunzhupaas.constant.FileTypeConstant; +import java.io.ByteArrayOutputStream; +import com.yunzhupaas.file.FileUploadApi; +import org.apache.dubbo.config.annotation.DubboReference; +#end + +/** + * ${genInfo.description} + * @版本: ${genInfo.version} + * @版权: ${genInfo.copyright} + * @作者: ${genInfo.createUser} + * @日期: ${genInfo.createDate} + */ +@Slf4j +@RestController +@Tag(name = "${genInfo.description}" , description = "${module}") +#if(${isCloud}=="cloud") +#if(${module}=="form") +@RequestMapping("/${module}/${genInfo.className}") +#else +@RequestMapping("/${genInfo.className}") +#end +#else +#if(${module}=="form") +##添加流程表单模块名称 +@RequestMapping("/api/workflow/${module}/${genInfo.className}") +#else +@RequestMapping("/api/${module}/${genInfo.className}") +#end +#end +public class ${table.controllerName} { + + @Autowired + private GeneraterSwapUtil generaterSwapUtil; + + @Autowired + private UserProvider userProvider; + + @Autowired + private ${table.serviceName} ${serviceName}; + + #foreach($tableModel in ${childTableHandle}) + @Autowired + private ${tableModel.aliasUpName}Service ${tableModel.aliasLowName}Service; + #end + + #foreach($cl in ${columnTableHandle}) + @Autowired + private ${cl.modelUpName}Service ${cl.modelLowName}Service; + #end + +#if(${serverHasUpload} || ${serverHasDownload}) + @Autowired + private ConfigValueUtil configValueUtil; + + #if(${isCloud}=="cloud") + @Autowired + private FileUploadApi fileUploadApi; + + @Autowired + private FileApi fileApi; + + #end +#end +##表头按钮接口 +#if(!${isList})## 纯表单方法 + #CreateMethod() + #UpdateMethod() + #DeleteMethod() +#else## 列表方法 +## 获取列表信息 +#GetList() +## 表头按键接口 +#foreach($btn in ${btnsList}) +#if(${btn.value}=='add' && ${btn.show}) + #CreateMethod(${table.comment}) +#end +#if(${btn.value}=='upload' && ${btn.show}) + #UploaderMethod() +#end +#if(${btn.value}=='download' && ${btn.show}) + #ExportMethod() +#end +#if(${btn.value}=='batchRemove' && ${btn.show}) +#end +#if(${btn.value}=='batchPrint' && ${btn.show}) + #BatchPrintMethod() +#end +#end +## 删除全部走批量删除方法。(必生成) + #DeleteMethod() + #BatchRemoveMethod() +## 行内按钮接口 +#foreach($column in ${columnBtnsList}) +#if(${column.value}=='detail' && ${column.show} && ${isList}) + #GetDetailMethod() +#end +#if(${column.value}=='remove' && ${column.show} && ${isList}) +## #DeleteMethod() +#end +#if(${column.value}=='edit' && ${column.show} && ${isList}) + #UpdateMethod(${table.comment}) +#end +#end +#end +## 获取数据接口(不转换数据) + #GetInfoMethod() + +} diff --git a/TemplateCodeVue3/java/Entity.java.vm b/TemplateCodeVue3/java/Entity.java.vm new file mode 100644 index 0000000..1d4bddd --- /dev/null +++ b/TemplateCodeVue3/java/Entity.java.vm @@ -0,0 +1,92 @@ +package ${package.Entity}; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import java.util.Date; +import java.util.List; +import com.alibaba.fastjson.annotation.JSONField; +#foreach($field in ${table.fields}) +#if(${field.propertyType} =='BigDecimal') +import java.math.BigDecimal; +#elseif(${field.propertyType} == 'BigInteger') +import java.math.BigInteger; +#elseif(${field.propertyType} == 'LocalTime') +import java.sql.Time; +#end +#end +/** + * ${table.comment} + * + * @版本: ${genInfo.version} + * @版权: ${genInfo.copyright} + * @作者: ${genInfo.createUser} + * @日期: ${genInfo.createDate} + */ +@Data +#if(${table.convert}) +@TableName("${table.name}") +#end +#if(${activeRecord}) +public class ${table.entity} extends Model<${table.entity}> { +#else +public class ${table.entityName} { +#end +#foreach($field in ${table.fields}) +#set($tableField = "${field.name}") +#set($Property = "${field.propertyName}") +#if('f_tenant_id'==${tableField} || 'F_TENANT_ID'==${tableField}) + @TableField(value = "${tableField}",fill = FieldFill.INSERT_UPDATE) +#elseif(${field.keyFlag}=='true') + @TableId(value ="${tableField}" #if(${field.keyIdentityFlag}),type = IdType.AUTO #end) +#else + #if(${tableNotSystemField.contains(${Property.toUpperCase()})}) + @TableField(value = "${tableField}" , updateStrategy = FieldStrategy.IGNORED) + #else + @TableField("${tableField}") + #end +#end +#if('f_version'==${tableField.toLowerCase()}) + @Version + @JSONField(name = "f_version") +#else + @JSONField(name = "${tableField}") +#end +#if(${field.propertyType} =='LocalDateTime' || ${field.propertyType} =='datePicker' || ${field.propertyType} =='LocalDate') + private Date ${Property}; +#elseif(${field.propertyType} =='Clob') + private String ${Property}; +#elseif(${field.propertyType} == 'LocalTime') + private Time ${Property}; +#elseif(${field.type} =='datetime') + private Date ${Property}; +#elseif(${field.type} =='datetime') + private Date ${Property}; +#else +## 删除标记和版本字段强制int + #if(${tableField.toLowerCase()} =='f_version' || ${tableField.toLowerCase()} =='f_delete_mark') + private Integer ${Property}; + #else + private ${field.propertyType} ${Property}; + #end +#end +#end + +#if(${main}) +#foreach($item in $allTableNameList) + #set($TableEntity = "${item.table.substring(0,1).toUpperCase()}${item.table.substring(1)}") + #set($tableEntity = "${item.table.substring(0,1).toLowerCase()}${item.table.substring(1)}") +## 副表一对一 + #if(${item.tableTag} =='sub-yunzhupaas') + @JSONField(name = "${tableEntity}") + @TableField(exist = false) + private ${TableEntity}Entity $tableEntity; + #end +## 子表一对多 + #if(${item.tableTag} =='sub') + @JSONField(name = "${tableEntity}") + @TableField(exist = false) + private List<${TableEntity}Entity> $tableEntity; + #end +#end +#end +} diff --git a/TemplateCodeVue3/java/ExcelErrorVO.java.vm b/TemplateCodeVue3/java/ExcelErrorVO.java.vm new file mode 100644 index 0000000..ecec797 --- /dev/null +++ b/TemplateCodeVue3/java/ExcelErrorVO.java.vm @@ -0,0 +1,26 @@ +#set($name = "${context.className.substring(0,1).toLowerCase()}${context.className.substring(1)}") +#set($pKeyName =${context.pKeyName}) + +#set($peimaryKeyName = "${pKeyName.substring(0,1).toUpperCase()}${pKeyName.substring(1)}") +#set($peimaryKeyname = "${pKeyName.substring(0,1).toLowerCase()}${pKeyName.substring(1)}") + +package ${context.package}.model.$!{name.toLowerCase()}; + +import lombok.Data; +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.alibaba.fastjson.annotation.JSONField; +/** + * + * ${context.genInfo.description} + * @版本: ${context.genInfo.version} + * @版权: ${context.genInfo.copyright} + * @作者: ${context.genInfo.createUser} + * @日期: ${context.genInfo.createDate} + */ +@Data +public class $!{context.className}ExcelErrorVO extends $!{context.className}ExcelVO{ + + @Excel(name = "异常原因",orderNum = "-999") + @JSONField(name = "errorsInfo") + private String errorsInfo; +} diff --git a/TemplateCodeVue3/java/ExcelVO.java.vm b/TemplateCodeVue3/java/ExcelVO.java.vm new file mode 100644 index 0000000..e478413 --- /dev/null +++ b/TemplateCodeVue3/java/ExcelVO.java.vm @@ -0,0 +1,79 @@ +#parse("PublicMacro/ExcelMarco.vm") +##通用参数 +#parse("PublicMacro/ConstantMarco.vm") +#ConstantParams() +#set($moduleName = "${context.genInfo.className.toLowerCase()}") +package ${context.package}.model.${moduleName}; + +import lombok.Data; +import java.sql.Time; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.alibaba.fastjson.annotation.JSONField; +import cn.afterturn.easypoi.excel.annotation.Excel; +import cn.afterturn.easypoi.excel.annotation.ExcelEntity; +import cn.afterturn.easypoi.excel.annotation.ExcelCollection; +import java.math.BigDecimal; +import java.util.List; +/** + * + * ${context.genInfo.description} + * @版本: ${context.genInfo.version} + * @版权: ${context.genInfo.copyright} + * @作者: ${context.genInfo.createUser} + * @日期: ${context.genInfo.createDate} + */ +@Data +public class $!{context.className}ExcelVO{ +#if(${context.isMain} && !${context.isComplexVo}) +## 复杂表头对象 +#foreach($item in ${context.complexHeaderList}) +#if(${item.childColumns.size()}>0) + @JsonProperty("${item.id}") + @ExcelCollection(name="${item.fullName}(${item.id})",orderNum = "0") + private List ${item.id}; +#end +#end +#foreach($fieLdsModel in ${context.importFields}) + #set($html = $fieLdsModel) + #set($vModel = "${html.vModel}") + #set($config = $html.config) + #set($yunzhupaaskey = "${config.yunzhupaasKey}") +## 判断是否子表 + #if(${vModel.toLowerCase().startsWith("tablefield")} ) + @JsonProperty("${vModel}") + @ExcelCollection(name="${html.label}(${vModel})",orderNum = "${html.childList.size()}") + private List<${html.aliasUpName}ExcelVO> ${vModel}; + + #else + #if(!${context.complexFieldList.contains(${vModel})}) + #CreateExcelFields($html,${foreach.index}) + #end + #end +#end +#elseif(${context.isMain} && ${context.isComplexVo}) +#foreach($fieLdsModel in ${context.importFields}) + #set($html = $fieLdsModel) + #set($vModel = "${html.vModel}") + #set($config = $html.config) + #set($yunzhupaaskey = "${config.yunzhupaasKey}") +##复杂表头字段 + #if(${context.complexList.contains(${vModel})} ) + #CreateExcelFields($html,${foreach.index}) + #end +#end +#else +#foreach($html in ${context.children.childList}) + #set($fieLdsModel = ${html.fieLdsModel}) + #set($config = ${fieLdsModel.config}) + #set($yunzhupaaskey = ${config.yunzhupaasKey}) + #set($vModel = "${fieLdsModel.vModel}") + #set($fieldName=${config.label}) + #if($!vModel && ${fieLdsModel.needImport} && !$DownLoadSkipUint.contains($yunzhupaaskey)) + #CreateExcelFields($fieLdsModel,${foreach.index}) + #end +#end +#end + +} diff --git a/TemplateCodeVue3/java/Form.java.vm b/TemplateCodeVue3/java/Form.java.vm new file mode 100644 index 0000000..2edf1b3 --- /dev/null +++ b/TemplateCodeVue3/java/Form.java.vm @@ -0,0 +1,98 @@ +##通用参数 +#parse("PublicMacro/ConstantMarco.vm") +#ConstantParams() +#set($modelPath = "model."+${context.modelPathName}) +#set($pKeyName =${context.pKeyName}) +#set($pKeyNameOriginal =${context.pKeyNameOriginal}) +#set($peimaryKeyname = "${pKeyName.substring(0,1).toLowerCase()}${pKeyName.substring(1)}") +package ${context.package}.${modelPath}; + +import lombok.Data; +import java.util.*; +import java.math.BigDecimal; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.alibaba.fastjson.annotation.JSONField; +import io.swagger.v3.oas.annotations.media.Schema; + +/** + * ${context.genInfo.description} + * @版本: ${context.genInfo.version} + * @版权: ${context.genInfo.copyright} + * @作者: ${context.genInfo.createUser} + * @日期: ${context.genInfo.createDate} + */ +@Data +@Schema(description = "表单参数") +public class $!{context.className}Form { + /** 主键 */ + @Schema(description = "主键") + @JSONField(name = "${pKeyNameOriginal}") + private String $!{peimaryKeyname}; + +#if(${context.version}) + /** 乐观锁 **/ + @Schema(description = "乐观锁") + @JsonProperty("f_version") + @JSONField(name = "f_version") + private Integer version; +#end +#if(${context.isFlow}) + /** 流程id **/ + @Schema(description = "流程id") + @JsonProperty("flowId") + @JSONField(name = "f_flow_id") + private String flowId; + /** 流程权限列表 **/ + @JsonProperty("formOperates") + private List> formOperates = new ArrayList<>(); +#end + +## 主副表字段 +#foreach($item in ${context.form}) +#if($item.yunzhupaasKey=='mast' || $item.yunzhupaasKey=='mastTable') + #set($html = $item.formColumnModel.fieLdsModel) + #set($vModel = "${html.vModel}") + #set($fieldAlias = "${html.fieldAlias}") + #if($item.yunzhupaasKey=='mastTable') + #set($html = $item.formMastTableModel.mastTable.fieLdsModel) + #set($vModel = "${item.formMastTableModel.vModel}") + #set($fieldAlias = "yunzhupaas_"+"${html.tableAlias}"+"_yunzhupaas_"+ "${html.fieldAlias}") + #end + #set($resultType = "String") + #if($vModel!='') + #set($config = $html.config) + #set($yunzhupaaskey = "${config.yunzhupaasKey}") + #set($fieldName=${config.label}) + #if(${yunzhupaaskey}!='text' && ${yunzhupaaskey}!='divider') + #if(${yunzhupaaskey}=='inputNumber' || ${yunzhupaaskey}=='calculate') + #if(${fieLdsModel.formColumnModel.fieLdsModel.precision}==0) + #set($resultType = "Integer") + #else + #set($resultType = "BigDecimal") + #end + #elseif(${yunzhupaaskey}=='slider' || ${yunzhupaaskey} == 'rate') + #set($resultType = "BigDecimal") + #elseif(${yunzhupaaskey} == 'switch') + #set($resultType = "Integer") + #elseif(${multipleUnit.contains(${yunzhupaaskey})} || ${UploadFileUnit.contains(${yunzhupaaskey})}) + #set($resultType = "Object") + #else + #set($resultType = "String") + #end + /** ${fieldName} **/ + @Schema(description = "${fieldName}") + @JsonProperty("${vModel}") + @JSONField(name = "${vModel}") + private ${resultType} ${fieldAlias}; + #end + #end +#end +#end + +#foreach($html in ${context.children}) + /** 子表数据 **/ + @Schema(description = "${html.aliasLowName}子表数据") + @JsonProperty("${html.aliasLowName}List") + private List<${html.aliasUpName}Model> ${html.aliasLowName}List; +#end +} diff --git a/TemplateCodeVue3/java/Mapper.java.vm b/TemplateCodeVue3/java/Mapper.java.vm new file mode 100644 index 0000000..15dbbbc --- /dev/null +++ b/TemplateCodeVue3/java/Mapper.java.vm @@ -0,0 +1,17 @@ +package ${package.Mapper}; + + +import ${package.Entity}.${table.entityName}; +import ${superMapperClassPackage}; +import com.yunzhupaas.base.mapper.SuperMapper; + +/** + * ${genInfo.description} + * 版本: ${genInfo.version} + * 版权: ${genInfo.copyright} + * 作者: ${genInfo.createUser} + * 日期: ${genInfo.createDate} + */ +public interface ${table.mapperName} extends SuperMapper<${table.entityName}> { + +} diff --git a/TemplateCodeVue3/java/Mapper.xml.vm b/TemplateCodeVue3/java/Mapper.xml.vm new file mode 100644 index 0000000..4f422c5 --- /dev/null +++ b/TemplateCodeVue3/java/Mapper.xml.vm @@ -0,0 +1,7 @@ + + + + + + + diff --git a/TemplateCodeVue3/java/Model.java.vm b/TemplateCodeVue3/java/Model.java.vm new file mode 100644 index 0000000..36dc484 --- /dev/null +++ b/TemplateCodeVue3/java/Model.java.vm @@ -0,0 +1,83 @@ +#parse("PublicMacro/ConstantMarco.vm") +#ConstantParams() +#set($moduleName = "${context.genInfo.className.toLowerCase()}") +#if($context.isForm) + #set($package = "package ${context.package}.${context.isForm}.model.${moduleName};") +#else + #set($package = "package ${context.package}.model.${moduleName};") +#end +${package} + +import lombok.Data; +import java.util.List; +import java.util.Date; +import java.math.BigDecimal; +import com.alibaba.fastjson.annotation.JSONField; +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.v3.oas.annotations.media.Schema; + +/** + * + * ${context.genInfo.description} + * 版本: ${context.genInfo.version} + * 版权: ${context.genInfo.copyright} + * 作者: ${context.genInfo.createUser} + * 日期: ${context.genInfo.createDate} + */ +@Data +@Schema(description = "${context.className}子表参数") +public class ${context.className}Model { + +#if($!{context.thisKeyFields}) + #set($keyField =${context.thisKeyFields.field}) + /** 子表:${context.className} 主键:${keyField} **/ + @Schema(description = "主键") + @JsonProperty("${keyField}") + #if(${context.thisKeyFields.dataType} =="int") + private Integer ${keyField}; + #elseif(${context.thisKeyFields.dataType} == "bigint") + private Long ${keyField}; + #else + private String ${keyField}; + #end +#end +#foreach($html in ${context.children.childList}) + #set($fieLdsModel = ${html.fieLdsModel}) + #set($config = ${fieLdsModel.config}) + #set($yunzhupaaskey = ${config.yunzhupaasKey}) + #set($vModel = "${fieLdsModel.vModel}") + #set($fieldName=${config.label}) + #set($fieldAlias="${fieLdsModel.fieldAlias}") + #if($vModel) + #if(${yunzhupaaskey}=='datePicker') + #set($resultType="Long") + #elseif(${yunzhupaaskey}=='inputNumber' || ${yunzhupaaskey}=='calculate') + #if(${fieLdsModel.precision}==0) + #set($resultType="Integer") + #else + #set($resultType="BigDecimal") + #end + #elseif(${yunzhupaaskey}=='slider'|| ${yunzhupaaskey}=='rate') + #set($resultType="BigDecimal") + #elseif(${yunzhupaaskey}=='relationFormAttr'|| ${yunzhupaaskey}=='popupAttr' ||${yunzhupaaskey}=='relationForm' ) + #set($resultType="String") + #elseif(${multipleUnit.contains($yunzhupaaskey)} || ${UploadFileUnit.contains(${yunzhupaaskey})}) + #set($resultType="Object") + #else + #set($resultType="String") + #end + /** ${fieldName} **/ + @Schema(description = "${fieldName}") + #if($fieLdsModel.needImport) + @Excel(name = "${fieldName}",orderNum = "1",isImportField = "true") + #end + @JsonProperty("${vModel}") + @JSONField(name = "${vModel}") + private ${resultType} ${fieldAlias}; + #if(${yunzhupaaskey}=='relationForm') + private String ${vModel}_id; + #end + #end +#end +} diff --git a/TemplateCodeVue3/java/Pagination.java.vm b/TemplateCodeVue3/java/Pagination.java.vm new file mode 100644 index 0000000..d0729be --- /dev/null +++ b/TemplateCodeVue3/java/Pagination.java.vm @@ -0,0 +1,77 @@ +#set($name = "${context.className.substring(0,1).toUpperCase()}${context.className.substring(1)}") +package ${context.package}.model.$!{name.toLowerCase()}; + +import com.alibaba.fastjson.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import com.yunzhupaas.base.Pagination; +import io.swagger.v3.oas.annotations.media.Schema; +import java.util.List; + +/** + * + * ${context.genInfo.description} + * @版本: ${context.genInfo.version} + * @版权: ${context.genInfo.copyright} + * @作者: ${context.genInfo.createUser} + * @日期: ${context.genInfo.createDate} + */ +@Data +@Schema(description = "列表查询参数") +public class $!{name}Pagination extends Pagination { + #if($!{context.isFlow}) + /** 流程模板id */ + @Schema(description = "流程模板id") + private String flowId; + #end + /** 关键词搜索 */ + @Schema(description = "关键词搜索") + private String yunzhupaasKeyword; + /** 查询key */ + @Schema(description = "查询key") + private String[] selectKey; + /** 选中数据数组id */ + @Schema(description = "选中数据数组id") + private Object[] selectIds; + /** json */ + @Schema(description = "json") + private String json; + /** 数据类型 0-当前页,1-全部数据 */ + @Schema(description = "数据类型 0-当前页,1-全部数据") + private String dataType; + /** 高级查询 */ + @Schema(description = "高级查询") + private String superQueryJson; + /** 功能id */ + @Schema(description = "功能id") + private String moduleId; + /** 菜单id */ + @Schema(description = "菜单id") + private String menuId; +#foreach($search in ${context.searchListAll}) + #set($jsonKey =${search.id}) + #set($label = ${search.label}) + #set($fieldAliasName = "${search.afterVModel}") + #set($tableAliasName = "${search.tableAliasName}") + #if($jsonKey.contains("_yunzhupaas_")) + #set($fieldAliasName = "yunzhupaas_${tableAliasName}_yunzhupaas_${fieldAliasName}") + #elseif($jsonKey.toLowerCase().startsWith("tablefield")) + #set($fieldAliasName = "${search.tableAliasName}_${fieldAliasName}") + #end + /** ${label} */ + @Schema(description = "${label}") + @JsonProperty("$jsonKey") + @JSONField(name = "${fieldAliasName}") + private Object ${fieldAliasName}; +#end +#if(${context.treeTable} == true) + /** + * 树形异步父级字段传值 + */ + private String treeParentValue; + /** + * 是否有参数 + */ + private boolean hasParam=false; +#end +} diff --git a/TemplateCodeVue3/java/Service.java.vm b/TemplateCodeVue3/java/Service.java.vm new file mode 100644 index 0000000..c44433b --- /dev/null +++ b/TemplateCodeVue3/java/Service.java.vm @@ -0,0 +1,43 @@ +package ${package.Service}; + +#set($moduleName = "${mainModelName.substring(0,1).toLowerCase()}${mainModelName.substring(1).toLowerCase()}") +import ${package.Entity}.*; +import com.yunzhupaas.base.service.SuperService; +#if(${main}) +import ${modulePackageName}.model.${moduleName}.*; +import java.util.*; +#end + +/** + * ${genInfo.description} + * 版本: ${genInfo.version} + * 版权: ${genInfo.copyright} + * 作者: ${genInfo.createUser} + * 日期: ${genInfo.createDate} + */ +public interface ${table.serviceName} extends SuperService<${table.entityName}> { +#if(${main}) + #if(${pKeyName.toLowerCase().startsWith('f_')}) + #set($peimaryKeyname = "${pKeyName.substring(2,3).toLowerCase()}${pKeyName.substring(3)}") + #else + #set($peimaryKeyname = "${pKeyName.substring(0,1).toLowerCase()}${pKeyName.substring(1).toLowerCase()}") + #end + #if($isList) + List<${table.entityName}> getList(${Name}Pagination ${name}Pagination); + + List<${table.entityName}> getTypeList(${Name}Pagination ${name}Pagination,String dataType); + + #end + ${table.entityName} getInfo(String ${peimaryKeyname}); + + void delete(${table.entityName} entity); + + void create(${table.entityName} entity); + + boolean update(String ${peimaryKeyname}, ${table.entityName} entity); + + String checkForm(${Name}Form form,int i); + + void saveOrUpdate(${Name}Form ${name}Form,String id, boolean isSave) throws Exception; +#end +} diff --git a/TemplateCodeVue3/java/ServiceImpl.java.vm b/TemplateCodeVue3/java/ServiceImpl.java.vm new file mode 100644 index 0000000..14a0df3 --- /dev/null +++ b/TemplateCodeVue3/java/ServiceImpl.java.vm @@ -0,0 +1,109 @@ +#parse("PublicMacro/ServiceImpMarco.vm") +#set($moduleName = "${mainModelName.substring(0,1).toLowerCase()}${mainModelName.substring(1).toLowerCase()}") +#set($peimaryKeyName="${pKeyName.substring(0,1).toUpperCase()}${pKeyName.substring(1)}") +package ${package.ServiceImpl}; + +import ${package.Entity}.*; +import ${package.Mapper}.${table.mapperName}; +import ${package.Service}.*; +import ${superServiceImplClassPackage}; +import ${modulePackageName}.model.${moduleName}.*; +import org.springframework.stereotype.Service; +import com.yunzhupaas.base.service.SuperServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import com.yunzhupaas.util.GeneraterSwapUtil; +import java.sql.Connection; +import java.sql.SQLException; +import lombok.Cleanup; +import com.yunzhupaas.database.plugins.DynamicSourceGeneratorInterface; +import com.yunzhupaas.database.util.DynamicDataSourceUtil; +import org.apache.commons.collections4.CollectionUtils; +import com.yunzhupaas.i18n.util.I18nUtil; +import com.yunzhupaas.exception.DataException; +import com.yunzhupaas.constant.MsgCode; +#if(${DS}) +import com.baomidou.dynamic.datasource.annotation.DS; +import com.yunzhupaas.database.util.DataSourceUtil; +import com.yunzhupaas.database.model.entity.DbLinkEntity; +import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; +#end +#if(${main}) +import java.math.BigDecimal; +import cn.hutool.core.util.ObjectUtil; +import java.lang.reflect.Field; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import java.util.regex.Pattern; +import java.util.stream.Collectors; +import com.yunzhupaas.base.model.ColumnDataModel; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.transaction.annotation.Transactional; +import com.baomidou.dynamic.datasource.annotation.DSTransactional; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.yunzhupaas.model.QueryAllModel; +import java.text.SimpleDateFormat; +import com.yunzhupaas.util.*; +import java.util.*; +import com.yunzhupaas.base.UserInfo; +import com.yunzhupaas.permission.entity.UserEntity; +import com.github.pagehelper.PageHelper; +#end +/** + * + * ${genInfo.description} + * 版本: ${genInfo.version} + * 版权: ${genInfo.copyright} + * 作者: ${genInfo.createUser} + * 日期: ${genInfo.createDate} + */ +@Service +#if(${DS}) +@DS("${DS}") +#end +public class ${table.serviceImplName} extends SuperServiceImpl<${table.mapperName}, ${table.entityName}> implements ${table.serviceName}#if(${DS}),DynamicSourceGeneratorInterface #end{ + @Autowired + private GeneraterSwapUtil generaterSwapUtil; +#if(${main}) + @Autowired + private UserProvider userProvider; + #foreach($child in ${columnTableHandle}) + @Autowired + private ${child.modelUpName}Service ${child.modelLowName}Service; + #end + #foreach($subfield in ${childTableHandle}) + @Autowired + private ${subfield.aliasUpName}Service ${subfield.aliasLowName}Service; + #end +## 通用变量 + #set($Name = "${genInfo.className.substring(0,1).toUpperCase()}${genInfo.className.substring(1)}") + #set($name = "${genInfo.className.substring(0,1).toLowerCase()}${genInfo.className.substring(1)}") + #set($QueryWrapper = "${name}QueryWrapper") + #set($serviceName = "${table.serviceName.substring(0,1).toLowerCase()}${table.serviceName.substring(1)}") + #set($Entity = "${table.entityName}") + #set($searchListSize =$!{searchList}) + #if($isList) +## 列表接口 + #GetTypeList() + #end +## 增删改查接口 + #CrudMethod() +## 表单验证 + #CheckForm() +## 业务主键验证 + #if(${useBusinessKey}) + #CheckBusinessKey() + #end +## 保存修改事务方法 + #SaveOrUpdate() +#end +## 数据源切换 +#if(${DS}) + @Override + public DataSourceUtil getDataSource() { + return generaterSwapUtil.getDataSource(this.getClass().getAnnotation(DS.class).value()); + } +#end +} diff --git a/TemplateCodeVue3/readme.txt b/TemplateCodeVue3/readme.txt new file mode 100644 index 0000000..069ed9b --- /dev/null +++ b/TemplateCodeVue3/readme.txt @@ -0,0 +1,17 @@ +TemplateCode1 -> 发起表单(流程表单) + +TemplateCode2 -> 功能表单(表单列表) + +TemplateCode3 -> 功能流程(表单列表流程) + +TemplateCode4 -> 纯表单 + +TemplateCode5 -> 纯表单+流程 + +TemplateCode6 -> 视图代码生成 + +helper-> 前端调用api接口 + +java -> 后端模板,各表单类型使用同一套模板 + +PublicMacro -> 公用宏(通用方法和变量) diff --git a/TemplateFile/employee_export_template.docx b/TemplateFile/employee_export_template.docx new file mode 100644 index 0000000..bb375d7 Binary files /dev/null and b/TemplateFile/employee_export_template.docx differ diff --git a/TemplateFile/employee_import_template.xlsx b/TemplateFile/employee_import_template.xlsx new file mode 100644 index 0000000..18ccade Binary files /dev/null and b/TemplateFile/employee_import_template.xlsx differ diff --git a/TemplateFile/orderInfo_export_template.xlsx b/TemplateFile/orderInfo_export_template.xlsx new file mode 100644 index 0000000..06bc9b1 Binary files /dev/null and b/TemplateFile/orderInfo_export_template.xlsx differ diff --git a/TemplateFile/order_export_template.xlsx b/TemplateFile/order_export_template.xlsx new file mode 100644 index 0000000..829bea9 Binary files /dev/null and b/TemplateFile/order_export_template.xlsx differ diff --git a/TemplateFile/用户信息.xlsx b/TemplateFile/用户信息.xlsx new file mode 100644 index 0000000..23e5f3e Binary files /dev/null and b/TemplateFile/用户信息.xlsx differ diff --git a/TemplateFile/职员信息.xlsx b/TemplateFile/职员信息.xlsx new file mode 100644 index 0000000..1b447e2 Binary files /dev/null and b/TemplateFile/职员信息.xlsx differ diff --git a/TemporaryFile/654b33a2a90fc1d33b6ce493.xlsx b/TemporaryFile/654b33a2a90fc1d33b6ce493.xlsx new file mode 100644 index 0000000..9b4786d Binary files /dev/null and b/TemporaryFile/654b33a2a90fc1d33b6ce493.xlsx differ diff --git a/TemporaryFile/69d461b5619944d881b2e812.bm b/TemporaryFile/69d461b5619944d881b2e812.bm new file mode 100644 index 0000000..feab131 --- /dev/null +++ b/TemporaryFile/69d461b5619944d881b2e812.bm @@ -0,0 +1 @@ +{"authorizeEntityList":[],"buttonEntityList":[],"columnEntityList":[],"formEntityList":[],"moduleEntity":{"category":"Web","creatorTime":1775526197000,"creatorUserId":"349057407209541","deleteMark":null,"deleteTime":null,"deleteUserId":null,"description":null,"enCode":"1020.020","enabledMark":1,"fullName":"法人公司","icon":"icon-ym icon-ym-app-more","id":"811135591340053957","isButtonAuthorize":0,"isColumnAuthorize":0,"isDataAuthorize":0,"isFormAuthorize":0,"lastModifyTime":null,"lastModifyUserId":null,"linkTarget":"_self","moduleId":null,"parentId":"809807431877006725","propertyJson":"{\"moduleId\":\"\",\"iconBackgroundColor\":\"\",\"isTree\":0}","sortCode":0,"systemId":"809715398105634181","tenantId":"0","type":7,"urlAddress":"http://192.168.3.31:8000/btps/base/company"},"schemeEntityList":[]} \ No newline at end of file diff --git a/UserAvatar/001.png b/UserAvatar/001.png new file mode 100644 index 0000000..3f304b9 Binary files /dev/null and b/UserAvatar/001.png differ diff --git a/UserAvatar/101.jpg b/UserAvatar/101.jpg new file mode 100644 index 0000000..6286928 Binary files /dev/null and b/UserAvatar/101.jpg differ diff --git a/UserAvatar/102.jpg b/UserAvatar/102.jpg new file mode 100644 index 0000000..c15ba69 Binary files /dev/null and b/UserAvatar/102.jpg differ diff --git a/UserAvatar/103.jpg b/UserAvatar/103.jpg new file mode 100644 index 0000000..047cc38 Binary files /dev/null and b/UserAvatar/103.jpg differ diff --git a/UserAvatar/104.jpg b/UserAvatar/104.jpg new file mode 100644 index 0000000..7149a4a Binary files /dev/null and b/UserAvatar/104.jpg differ diff --git a/UserAvatar/105.jpg b/UserAvatar/105.jpg new file mode 100644 index 0000000..827d880 Binary files /dev/null and b/UserAvatar/105.jpg differ diff --git a/UserAvatar/201.jpg b/UserAvatar/201.jpg new file mode 100644 index 0000000..8d82bc8 Binary files /dev/null and b/UserAvatar/201.jpg differ diff --git a/UserAvatar/202.jpg b/UserAvatar/202.jpg new file mode 100644 index 0000000..6d2bf96 Binary files /dev/null and b/UserAvatar/202.jpg differ diff --git a/UserAvatar/203.jpg b/UserAvatar/203.jpg new file mode 100644 index 0000000..bfa390a Binary files /dev/null and b/UserAvatar/203.jpg differ diff --git a/UserAvatar/204.jpg b/UserAvatar/204.jpg new file mode 100644 index 0000000..f5b98c0 Binary files /dev/null and b/UserAvatar/204.jpg differ diff --git a/UserAvatar/205.jpg b/UserAvatar/205.jpg new file mode 100644 index 0000000..7c26513 Binary files /dev/null and b/UserAvatar/205.jpg differ diff --git a/UserAvatar/206.jpg b/UserAvatar/206.jpg new file mode 100644 index 0000000..0c2314a Binary files /dev/null and b/UserAvatar/206.jpg differ diff --git a/UserAvatar/207.jpg b/UserAvatar/207.jpg new file mode 100644 index 0000000..8d89972 Binary files /dev/null and b/UserAvatar/207.jpg differ diff --git a/UserAvatar/208.jpg b/UserAvatar/208.jpg new file mode 100644 index 0000000..db2e696 Binary files /dev/null and b/UserAvatar/208.jpg differ diff --git a/UserAvatar/209.jpg b/UserAvatar/209.jpg new file mode 100644 index 0000000..ce5ee87 Binary files /dev/null and b/UserAvatar/209.jpg differ diff --git a/UserAvatar/210.jpg b/UserAvatar/210.jpg new file mode 100644 index 0000000..1a3af84 Binary files /dev/null and b/UserAvatar/210.jpg differ diff --git a/UserAvatar/211.jpg b/UserAvatar/211.jpg new file mode 100644 index 0000000..0d9804e Binary files /dev/null and b/UserAvatar/211.jpg differ diff --git a/UserAvatar/212.jpg b/UserAvatar/212.jpg new file mode 100644 index 0000000..7682cda Binary files /dev/null and b/UserAvatar/212.jpg differ diff --git a/UserAvatar/213.jpg b/UserAvatar/213.jpg new file mode 100644 index 0000000..564e138 Binary files /dev/null and b/UserAvatar/213.jpg differ diff --git a/UserAvatar/214.jpg b/UserAvatar/214.jpg new file mode 100644 index 0000000..7c6d3a1 Binary files /dev/null and b/UserAvatar/214.jpg differ diff --git a/UserAvatar/215.jpg b/UserAvatar/215.jpg new file mode 100644 index 0000000..777e58d Binary files /dev/null and b/UserAvatar/215.jpg differ diff --git a/UserAvatar/216.jpg b/UserAvatar/216.jpg new file mode 100644 index 0000000..ebf63c6 Binary files /dev/null and b/UserAvatar/216.jpg differ diff --git a/UserAvatar/217.jpg b/UserAvatar/217.jpg new file mode 100644 index 0000000..bbbf29b Binary files /dev/null and b/UserAvatar/217.jpg differ diff --git a/UserAvatar/218.jpg b/UserAvatar/218.jpg new file mode 100644 index 0000000..acc1266 Binary files /dev/null and b/UserAvatar/218.jpg differ diff --git a/UserAvatar/219.jpg b/UserAvatar/219.jpg new file mode 100644 index 0000000..3b5fff9 Binary files /dev/null and b/UserAvatar/219.jpg differ diff --git a/UserAvatar/220.jpg b/UserAvatar/220.jpg new file mode 100644 index 0000000..a3e2ea3 Binary files /dev/null and b/UserAvatar/220.jpg differ diff --git a/UserAvatar/221.jpg b/UserAvatar/221.jpg new file mode 100644 index 0000000..8a89ee8 Binary files /dev/null and b/UserAvatar/221.jpg differ diff --git a/WebAnnexFile/64fe772980e0fdb83de3ef7a.png b/WebAnnexFile/64fe772980e0fdb83de3ef7a.png new file mode 100644 index 0000000..43f1688 Binary files /dev/null and b/WebAnnexFile/64fe772980e0fdb83de3ef7a.png differ diff --git a/WebAnnexFile/64fe77f580e0fdb83de3ef7b.png b/WebAnnexFile/64fe77f580e0fdb83de3ef7b.png new file mode 100644 index 0000000..95e85b9 Binary files /dev/null and b/WebAnnexFile/64fe77f580e0fdb83de3ef7b.png differ diff --git a/WebAnnexFile/64fe783680e0fdb83de3ef7c.png b/WebAnnexFile/64fe783680e0fdb83de3ef7c.png new file mode 100644 index 0000000..8a15ec8 Binary files /dev/null and b/WebAnnexFile/64fe783680e0fdb83de3ef7c.png differ diff --git a/WebAnnexFile/64fe7f6380e0fdb83de3ef7d.png b/WebAnnexFile/64fe7f6380e0fdb83de3ef7d.png new file mode 100644 index 0000000..43d2ae9 Binary files /dev/null and b/WebAnnexFile/64fe7f6380e0fdb83de3ef7d.png differ diff --git a/WebAnnexFile/64fe7f6380e0fdb83de3ef7e.png b/WebAnnexFile/64fe7f6380e0fdb83de3ef7e.png new file mode 100644 index 0000000..8a61c5c Binary files /dev/null and b/WebAnnexFile/64fe7f6380e0fdb83de3ef7e.png differ diff --git a/WebAnnexFile/64fe7fdf80e0fdb83de3ef7f.png b/WebAnnexFile/64fe7fdf80e0fdb83de3ef7f.png new file mode 100644 index 0000000..b752d2b Binary files /dev/null and b/WebAnnexFile/64fe7fdf80e0fdb83de3ef7f.png differ diff --git a/WebAnnexFile/64fe800580e0fdb83de3ef80.png b/WebAnnexFile/64fe800580e0fdb83de3ef80.png new file mode 100644 index 0000000..75a38ec Binary files /dev/null and b/WebAnnexFile/64fe800580e0fdb83de3ef80.png differ diff --git a/WebAnnexFile/64fe809780e0fdb83de3ef82.png b/WebAnnexFile/64fe809780e0fdb83de3ef82.png new file mode 100644 index 0000000..e61adb3 Binary files /dev/null and b/WebAnnexFile/64fe809780e0fdb83de3ef82.png differ diff --git a/WebAnnexFile/64fe814e80e0fdb83de3ef83.png b/WebAnnexFile/64fe814e80e0fdb83de3ef83.png new file mode 100644 index 0000000..117d2d0 Binary files /dev/null and b/WebAnnexFile/64fe814e80e0fdb83de3ef83.png differ diff --git a/WebAnnexFile/64fe815880e0fdb83de3ef84.png b/WebAnnexFile/64fe815880e0fdb83de3ef84.png new file mode 100644 index 0000000..2a02315 Binary files /dev/null and b/WebAnnexFile/64fe815880e0fdb83de3ef84.png differ diff --git a/WebAnnexFile/64fe823680e0fdb83de3ef85.png b/WebAnnexFile/64fe823680e0fdb83de3ef85.png new file mode 100644 index 0000000..848181a Binary files /dev/null and b/WebAnnexFile/64fe823680e0fdb83de3ef85.png differ diff --git a/WebAnnexFile/64fe824b80e0fdb83de3ef86.png b/WebAnnexFile/64fe824b80e0fdb83de3ef86.png new file mode 100644 index 0000000..e4c54e0 Binary files /dev/null and b/WebAnnexFile/64fe824b80e0fdb83de3ef86.png differ diff --git a/WebAnnexFile/64fe824b80e0fdb83de3ef87.png b/WebAnnexFile/64fe824b80e0fdb83de3ef87.png new file mode 100644 index 0000000..1e927f4 Binary files /dev/null and b/WebAnnexFile/64fe824b80e0fdb83de3ef87.png differ diff --git a/WebAnnexFile/64fe824b80e0fdb83de3ef88.png b/WebAnnexFile/64fe824b80e0fdb83de3ef88.png new file mode 100644 index 0000000..99b02fa Binary files /dev/null and b/WebAnnexFile/64fe824b80e0fdb83de3ef88.png differ diff --git a/WebAnnexFile/64fe825880e0fdb83de3ef89.png b/WebAnnexFile/64fe825880e0fdb83de3ef89.png new file mode 100644 index 0000000..e0934cd Binary files /dev/null and b/WebAnnexFile/64fe825880e0fdb83de3ef89.png differ diff --git a/WebAnnexFile/64fe826f80e0fdb83de3ef8a.png b/WebAnnexFile/64fe826f80e0fdb83de3ef8a.png new file mode 100644 index 0000000..de7d824 Binary files /dev/null and b/WebAnnexFile/64fe826f80e0fdb83de3ef8a.png differ diff --git a/WebAnnexFile/64fe827e80e0fdb83de3ef8b.png b/WebAnnexFile/64fe827e80e0fdb83de3ef8b.png new file mode 100644 index 0000000..44de2eb Binary files /dev/null and b/WebAnnexFile/64fe827e80e0fdb83de3ef8b.png differ diff --git a/WebAnnexFile/64fe827e80e0fdb83de3ef8c.png b/WebAnnexFile/64fe827e80e0fdb83de3ef8c.png new file mode 100644 index 0000000..2b956f3 Binary files /dev/null and b/WebAnnexFile/64fe827e80e0fdb83de3ef8c.png differ diff --git a/WebAnnexFile/64fe827e80e0fdb83de3ef8d.png b/WebAnnexFile/64fe827e80e0fdb83de3ef8d.png new file mode 100644 index 0000000..1cff0dc Binary files /dev/null and b/WebAnnexFile/64fe827e80e0fdb83de3ef8d.png differ diff --git a/WebAnnexFile/64fe82a480e0fdb83de3ef8e.png b/WebAnnexFile/64fe82a480e0fdb83de3ef8e.png new file mode 100644 index 0000000..6dd833e Binary files /dev/null and b/WebAnnexFile/64fe82a480e0fdb83de3ef8e.png differ diff --git a/WebAnnexFile/64fe82b680e0fdb83de3ef90.png b/WebAnnexFile/64fe82b680e0fdb83de3ef90.png new file mode 100644 index 0000000..69d0f1d Binary files /dev/null and b/WebAnnexFile/64fe82b680e0fdb83de3ef90.png differ diff --git a/WebAnnexFile/64fe834180e0fdb83de3ef92.png b/WebAnnexFile/64fe834180e0fdb83de3ef92.png new file mode 100644 index 0000000..346c1f5 Binary files /dev/null and b/WebAnnexFile/64fe834180e0fdb83de3ef92.png differ diff --git a/WebAnnexFile/64fe83c480e0fdb83de3ef95.png b/WebAnnexFile/64fe83c480e0fdb83de3ef95.png new file mode 100644 index 0000000..8895080 Binary files /dev/null and b/WebAnnexFile/64fe83c480e0fdb83de3ef95.png differ diff --git a/WebAnnexFile/64fe83cd80e0fdb83de3ef96.png b/WebAnnexFile/64fe83cd80e0fdb83de3ef96.png new file mode 100644 index 0000000..876af17 Binary files /dev/null and b/WebAnnexFile/64fe83cd80e0fdb83de3ef96.png differ diff --git a/WebAnnexFile/64fe83df80e0fdb83de3ef97.png b/WebAnnexFile/64fe83df80e0fdb83de3ef97.png new file mode 100644 index 0000000..c907f6b Binary files /dev/null and b/WebAnnexFile/64fe83df80e0fdb83de3ef97.png differ diff --git a/WebAnnexFile/64fe83df80e0fdb83de3ef98.png b/WebAnnexFile/64fe83df80e0fdb83de3ef98.png new file mode 100644 index 0000000..a629cd2 Binary files /dev/null and b/WebAnnexFile/64fe83df80e0fdb83de3ef98.png differ diff --git a/WebAnnexFile/64fe83df80e0fdb83de3ef99.png b/WebAnnexFile/64fe83df80e0fdb83de3ef99.png new file mode 100644 index 0000000..8d7c534 Binary files /dev/null and b/WebAnnexFile/64fe83df80e0fdb83de3ef99.png differ diff --git a/WebAnnexFile/64fe83ea80e0fdb83de3ef9a.png b/WebAnnexFile/64fe83ea80e0fdb83de3ef9a.png new file mode 100644 index 0000000..8e00769 Binary files /dev/null and b/WebAnnexFile/64fe83ea80e0fdb83de3ef9a.png differ diff --git a/WebAnnexFile/64fe843180e0fdb83de3ef9b.png b/WebAnnexFile/64fe843180e0fdb83de3ef9b.png new file mode 100644 index 0000000..a7775ed Binary files /dev/null and b/WebAnnexFile/64fe843180e0fdb83de3ef9b.png differ diff --git a/WebAnnexFile/64fe844080e0fdb83de3ef9c.png b/WebAnnexFile/64fe844080e0fdb83de3ef9c.png new file mode 100644 index 0000000..0307871 Binary files /dev/null and b/WebAnnexFile/64fe844080e0fdb83de3ef9c.png differ diff --git a/WebAnnexFile/64fe845480e0fdb83de3ef9d.png b/WebAnnexFile/64fe845480e0fdb83de3ef9d.png new file mode 100644 index 0000000..4e251df Binary files /dev/null and b/WebAnnexFile/64fe845480e0fdb83de3ef9d.png differ diff --git a/WebAnnexFile/64fe845480e0fdb83de3ef9e.png b/WebAnnexFile/64fe845480e0fdb83de3ef9e.png new file mode 100644 index 0000000..43a811a Binary files /dev/null and b/WebAnnexFile/64fe845480e0fdb83de3ef9e.png differ diff --git a/WebAnnexFile/64fe847f80e0fdb83de3ef9f.png b/WebAnnexFile/64fe847f80e0fdb83de3ef9f.png new file mode 100644 index 0000000..146ca8d Binary files /dev/null and b/WebAnnexFile/64fe847f80e0fdb83de3ef9f.png differ diff --git a/WebAnnexFile/64fe848980e0fdb83de3efa0.png b/WebAnnexFile/64fe848980e0fdb83de3efa0.png new file mode 100644 index 0000000..d4d4297 Binary files /dev/null and b/WebAnnexFile/64fe848980e0fdb83de3efa0.png differ diff --git a/WebAnnexFile/64fe848980e0fdb83de3efa1.png b/WebAnnexFile/64fe848980e0fdb83de3efa1.png new file mode 100644 index 0000000..aebee73 Binary files /dev/null and b/WebAnnexFile/64fe848980e0fdb83de3efa1.png differ diff --git a/WebAnnexFile/64fe848980e0fdb83de3efa2.png b/WebAnnexFile/64fe848980e0fdb83de3efa2.png new file mode 100644 index 0000000..8d8e02e Binary files /dev/null and b/WebAnnexFile/64fe848980e0fdb83de3efa2.png differ diff --git a/WebAnnexFile/64fe848980e0fdb83de3efa3.png b/WebAnnexFile/64fe848980e0fdb83de3efa3.png new file mode 100644 index 0000000..9e37618 Binary files /dev/null and b/WebAnnexFile/64fe848980e0fdb83de3efa3.png differ diff --git a/WebAnnexFile/64fe848980e0fdb83de3efa4.png b/WebAnnexFile/64fe848980e0fdb83de3efa4.png new file mode 100644 index 0000000..34bec21 Binary files /dev/null and b/WebAnnexFile/64fe848980e0fdb83de3efa4.png differ diff --git a/WebAnnexFile/64fe84fa80e0fdb83de3efa5.png b/WebAnnexFile/64fe84fa80e0fdb83de3efa5.png new file mode 100644 index 0000000..bcf2202 Binary files /dev/null and b/WebAnnexFile/64fe84fa80e0fdb83de3efa5.png differ diff --git a/WebAnnexFile/64fe84fa80e0fdb83de3efa6.png b/WebAnnexFile/64fe84fa80e0fdb83de3efa6.png new file mode 100644 index 0000000..489ccf1 Binary files /dev/null and b/WebAnnexFile/64fe84fa80e0fdb83de3efa6.png differ diff --git a/WebAnnexFile/64fe84fa80e0fdb83de3efa7.png b/WebAnnexFile/64fe84fa80e0fdb83de3efa7.png new file mode 100644 index 0000000..e470af9 Binary files /dev/null and b/WebAnnexFile/64fe84fa80e0fdb83de3efa7.png differ diff --git a/WebAnnexFile/64fe84fa80e0fdb83de3efa8.png b/WebAnnexFile/64fe84fa80e0fdb83de3efa8.png new file mode 100644 index 0000000..569265f Binary files /dev/null and b/WebAnnexFile/64fe84fa80e0fdb83de3efa8.png differ diff --git a/WebAnnexFile/64fe859d80e0fdb83de3efa9.png b/WebAnnexFile/64fe859d80e0fdb83de3efa9.png new file mode 100644 index 0000000..7228a9c Binary files /dev/null and b/WebAnnexFile/64fe859d80e0fdb83de3efa9.png differ diff --git a/WebAnnexFile/64fe8ee280e0fdb83de3efaa.png b/WebAnnexFile/64fe8ee280e0fdb83de3efaa.png new file mode 100644 index 0000000..e46952f Binary files /dev/null and b/WebAnnexFile/64fe8ee280e0fdb83de3efaa.png differ diff --git a/WebAnnexFile/64feb32080e080b3e8239b34.png b/WebAnnexFile/64feb32080e080b3e8239b34.png new file mode 100644 index 0000000..17c4362 Binary files /dev/null and b/WebAnnexFile/64feb32080e080b3e8239b34.png differ diff --git a/WebAnnexFile/64fed64f80e080b3e8239b36.png b/WebAnnexFile/64fed64f80e080b3e8239b36.png new file mode 100644 index 0000000..8a2360b Binary files /dev/null and b/WebAnnexFile/64fed64f80e080b3e8239b36.png differ diff --git a/WebAnnexFile/64fed93080e080b3e8239b38.png b/WebAnnexFile/64fed93080e080b3e8239b38.png new file mode 100644 index 0000000..4a1b23f Binary files /dev/null and b/WebAnnexFile/64fed93080e080b3e8239b38.png differ diff --git a/WebAnnexFile/6500045880e0aa6c3ad76b92.xlsx b/WebAnnexFile/6500045880e0aa6c3ad76b92.xlsx new file mode 100644 index 0000000..689675a Binary files /dev/null and b/WebAnnexFile/6500045880e0aa6c3ad76b92.xlsx differ diff --git a/WebAnnexFile/687f48e42418344e63dd468b.pdf b/WebAnnexFile/687f48e42418344e63dd468b.pdf new file mode 100644 index 0000000..68a3df2 Binary files /dev/null and b/WebAnnexFile/687f48e42418344e63dd468b.pdf differ diff --git a/WebAnnexFile/687f49332418344e63dd468c.jpg b/WebAnnexFile/687f49332418344e63dd468c.jpg new file mode 100644 index 0000000..ab8e1c9 Binary files /dev/null and b/WebAnnexFile/687f49332418344e63dd468c.jpg differ diff --git a/WebAnnexFile/687f49332418344e63dd468c.jpg.thumb.jpg b/WebAnnexFile/687f49332418344e63dd468c.jpg.thumb.jpg new file mode 100644 index 0000000..59ac3c9 Binary files /dev/null and b/WebAnnexFile/687f49332418344e63dd468c.jpg.thumb.jpg differ diff --git a/WebAnnexFile/69cb281061998c3de528680a.zip b/WebAnnexFile/69cb281061998c3de528680a.zip new file mode 100644 index 0000000..5961e49 Binary files /dev/null and b/WebAnnexFile/69cb281061998c3de528680a.zip differ diff --git a/WebAnnexFile/69cc80db61991e9f5ba8b5c5.xlsx b/WebAnnexFile/69cc80db61991e9f5ba8b5c5.xlsx new file mode 100644 index 0000000..a459138 Binary files /dev/null and b/WebAnnexFile/69cc80db61991e9f5ba8b5c5.xlsx differ diff --git a/WebAnnexFile/69cdcde1619903fcb2f78d53.txt b/WebAnnexFile/69cdcde1619903fcb2f78d53.txt new file mode 100644 index 0000000..ad95feb --- /dev/null +++ b/WebAnnexFile/69cdcde1619903fcb2f78d53.txt @@ -0,0 +1,46 @@ +云筑平台: + 数据库: + 1.demo环境 + 端口:13306 + 数据库:ced_demo_v5 + 账号:ced_demo_v5 + 密码:s7HEmrEij6Y6jhW7 + + 2.测试环境: + 端口:13306 + 数据库:ced_test_v5 + 账号:ced_test_v5 + 密码:m7TXiejpMKTDdiCQ + + 3.OA环境 + 端口:13306 + 数据库:ced_oa_v5 + 账号:ced_oa_v5 + 密码:E7HX7GhWR2prWbxa + + 页面: + 线上地址: + 地址:https://cloud.szlecheng.cn/oa/ + 账号:admin + 密码:zj@780710 + + 测试地址: + 地址:https://xadev.szlecheng.cn/app/test/ + 账号:admin + 密码:Szlc@2025 + + 本地地址: + 地址:http://localhost:8000/ + 账号:admin + 密码:Szlc@2025 + GIt:https://code.szlecheng.cn/ + 账号:wangmingwei + 密码:wangmingwei + + 阿里云:https://aliyun.szlecheng.cn/ + admin / d7eba6f953 + data > work-data > upload > YunzhuPaas > zero-resources > TemplateCodeVue3 + home > deploy > YunzhuPaasDemo > main-boot + + + diff --git a/WebAnnexFile/69cdd8be619973b2b1e9d882.txt b/WebAnnexFile/69cdd8be619973b2b1e9d882.txt new file mode 100644 index 0000000..ad95feb --- /dev/null +++ b/WebAnnexFile/69cdd8be619973b2b1e9d882.txt @@ -0,0 +1,46 @@ +云筑平台: + 数据库: + 1.demo环境 + 端口:13306 + 数据库:ced_demo_v5 + 账号:ced_demo_v5 + 密码:s7HEmrEij6Y6jhW7 + + 2.测试环境: + 端口:13306 + 数据库:ced_test_v5 + 账号:ced_test_v5 + 密码:m7TXiejpMKTDdiCQ + + 3.OA环境 + 端口:13306 + 数据库:ced_oa_v5 + 账号:ced_oa_v5 + 密码:E7HX7GhWR2prWbxa + + 页面: + 线上地址: + 地址:https://cloud.szlecheng.cn/oa/ + 账号:admin + 密码:zj@780710 + + 测试地址: + 地址:https://xadev.szlecheng.cn/app/test/ + 账号:admin + 密码:Szlc@2025 + + 本地地址: + 地址:http://localhost:8000/ + 账号:admin + 密码:Szlc@2025 + GIt:https://code.szlecheng.cn/ + 账号:wangmingwei + 密码:wangmingwei + + 阿里云:https://aliyun.szlecheng.cn/ + admin / d7eba6f953 + data > work-data > upload > YunzhuPaas > zero-resources > TemplateCodeVue3 + home > deploy > YunzhuPaasDemo > main-boot + + + diff --git a/WebAnnexFile/69cdd9806199de168e9e700b.txt b/WebAnnexFile/69cdd9806199de168e9e700b.txt new file mode 100644 index 0000000..ad95feb --- /dev/null +++ b/WebAnnexFile/69cdd9806199de168e9e700b.txt @@ -0,0 +1,46 @@ +云筑平台: + 数据库: + 1.demo环境 + 端口:13306 + 数据库:ced_demo_v5 + 账号:ced_demo_v5 + 密码:s7HEmrEij6Y6jhW7 + + 2.测试环境: + 端口:13306 + 数据库:ced_test_v5 + 账号:ced_test_v5 + 密码:m7TXiejpMKTDdiCQ + + 3.OA环境 + 端口:13306 + 数据库:ced_oa_v5 + 账号:ced_oa_v5 + 密码:E7HX7GhWR2prWbxa + + 页面: + 线上地址: + 地址:https://cloud.szlecheng.cn/oa/ + 账号:admin + 密码:zj@780710 + + 测试地址: + 地址:https://xadev.szlecheng.cn/app/test/ + 账号:admin + 密码:Szlc@2025 + + 本地地址: + 地址:http://localhost:8000/ + 账号:admin + 密码:Szlc@2025 + GIt:https://code.szlecheng.cn/ + 账号:wangmingwei + 密码:wangmingwei + + 阿里云:https://aliyun.szlecheng.cn/ + admin / d7eba6f953 + data > work-data > upload > YunzhuPaas > zero-resources > TemplateCodeVue3 + home > deploy > YunzhuPaasDemo > main-boot + + + diff --git a/WebAnnexFile/69cdda456199de168e9e700c.txt b/WebAnnexFile/69cdda456199de168e9e700c.txt new file mode 100644 index 0000000..811c170 --- /dev/null +++ b/WebAnnexFile/69cdda456199de168e9e700c.txt @@ -0,0 +1,6 @@ +VendorController 供应商管理 +CustomController 客户信息 +BaseMaterialController 材料分类 +BaseAccountController 费用管理 +RolePriceController 角色单价 +EmployeePriceController 人员单价表 diff --git a/WebAnnexFile/other.txt b/WebAnnexFile/other.txt new file mode 100644 index 0000000..e69de29