添加页面, 组件, 图标

This commit is contained in:
zhengw
2026-01-30 16:29:23 +08:00
parent 85483c7ca2
commit 3c7d7860b1
48 changed files with 1442 additions and 258 deletions

View File

@@ -14,7 +14,12 @@
"pages/finance/outcome/outcome", "pages/finance/outcome/outcome",
"pages/finance/income/income", "pages/finance/income/income",
"pages/finance/giro/giro", "pages/finance/giro/giro",
"pages/finance/flow/flow" "pages/finance/flow/flow",
"pages/purchase/requestOrder/requestOrder",
"pages/purchase/backOrder/backOrder",
"pages/base/supplier/supplier",
"pages/base/customer/customer",
"pages/base/account/account"
], ],
"window": { "window": {
"navigationBarTextStyle": "black", "navigationBarTextStyle": "black",
@@ -26,7 +31,7 @@
"usingComponents": { "usingComponents": {
"page-plugin": "pages/components/page-plugin/page-plugin", "page-plugin": "pages/components/page-plugin/page-plugin",
"t-button": "tdesign-miniprogram/button/button", "t-button": "tdesign-miniprogram/button/button",
"t-empty": "tdesign-miniprogram/empty/empty" "empty-plugin": "pages/components/empty-plugin/empty-plugin"
}, },
"resolveAlias": { "resolveAlias": {
"@/*": "/*" "@/*": "/*"

View File

@@ -22,3 +22,18 @@ view.t-cell__title-text {
white-space: nowrap; white-space: nowrap;
flex-shrink: 0; flex-shrink: 0;
} }
.card-plugin-footer {
border-top: 1rpx solid #ddd;
padding: 16rpx 24rpx;
display: flex;
width: 100%;
box-sizing: border-box;
flex-wrap: wrap;
column-gap: 16rpx;
row-gap: 16rpx;
}
.card-plugin-footer:empty {
display: none;
}

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M32.064 848a32 32 0 0 0 64 0c0-131.008 98.816-237.824 225.792-252.928l27.072 54.4-28.8 231.04H384l-28.8-231.04 26.944-54.08c26.304 3.264 51.776 9.216 75.072 19.776 4.992-21.312 12.096-41.664 21.12-61.056A320 320 0 0 0 32.064 848zM352.064 80a192 192 0 1 0 0 384 192 192 0 0 0 0-384z m0 320.192a128.192 128.192 0 1 1 0-256.448 128.192 128.192 0 0 1 0 256.448zM851.456 839.104c2.56 3.904 6.976 9.152 13.376 15.552 35.392 38.784 60.032 68.544 73.984 89.344l53.12-40.832a70577.92 70577.92 0 0 1-94.848-97.088l-45.632 33.024zM629.376 495.552c-22.72 84.16-51.264 153.344-85.376 207.68 10.112 38.784 16.384 65.984 18.944 81.472 11.392-18.048 22.784-36.864 34.176-56.256v211.648h56.96V610.048c11.392-31.04 22.144-63.36 32.256-97.088l-56.96-17.408zM929.344 738.176V639.168h51.264v-58.24h-51.264V497.472h-60.736v83.456h-70.272V497.472h-60.736v83.456h-49.344v58.24h49.344v41.408c-0.64 2.368-1.472 4.736-1.472 7.36s0.896 4.992 1.472 7.36v42.816h-64.512v60.16h318.848v-60.16h-62.592z m-60.8 0h-70.272v-41.536c0.832-2.752 1.728-5.568 1.728-8.64s-0.96-5.888-1.728-8.64v-40.192h70.272v99.008zM674.944 903.168c17.728 15.552 32.896 29.12 45.568 40.832a1119.808 1119.808 0 0 0 91.136-104.896l-51.264-34.944a618.752 618.752 0 0 1-85.44 99.008z" fill="#52E5E7"></path></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M63.8 779.6c0 16.2 13.1 29.3 29.3 29.3 16.2 0 29.3-13.1 29.3-29.3 0-120 90.5-217.8 206.8-231.6l24.8 49.8-26.4 211.6h58.5l-26.4-211.6 24.7-49.5c24.1 3 47.4 8.4 68.8 18.1 4.5-19.3 11-38 19.3-55.9C382 471.6 278 480.8 195.7 535 113.4 589.2 63.9 681.1 63.8 779.6zM356.9 76.2c-97.1 0-175.9 78.7-175.9 175.9 0 97.1 78.7 175.8 175.9 175.8 97.1 0 175.8-78.7 175.8-175.8 0.1-97.1-78.7-175.9-175.8-175.9z m0 293.3c-64.9 0-117.4-52.6-117.4-117.4s52.6-117.4 117.4-117.4c64.9 0 117.4 52.6 117.4 117.4s-52.5 117.4-117.4 117.4zM601 599.9h15.9c8.2-1.2 14.7-1.8 19.4-1.8 10.6-16.5 21.2-34.1 31.8-52.9l49.4 24.7c-42.3 61.2-75.9 107-100.5 137.6 28.2-1.2 51.2-3.5 68.8-7.1 0 3.5-0.6 7.7-1.8 12.3-1.2 18.8-1.8 32.4-1.8 40.6-58.8 3.5-100.5 7.7-125.2 12.3l-14.1-49.4c18.8-17.6 38.8-40.6 60-68.8-3.5 0-8.8 0.6-15.9 1.8-15.3 0-25.9 1.2-31.8 3.5l-19.4-49.4c27-30.6 52.9-75.9 77.6-135.8l54.7 19.4c-23.6 42.5-45.9 80.1-67.1 113z m107.6 146.5V697H938v49.4h-84.7v75.9h102.3v45.9H687.5v-30c-49.4 3.5-95.9 9.4-139.4 17.6l-8.8-54.7c25.9-2.3 68.8-7.1 128.8-14.1 10.6-1.2 18.2-2.3 22.9-3.5v15.9c-1.2 10.6-1.8 18.2-1.8 22.9h104.1v-75.9h-84.7z m0-257.6H922v47.6c-15.3 18.8-31.8 37-49.4 54.7 29.4 14.1 58.2 28.8 86.4 44.1l-33.5 47.6c-11.8-8.2-29.4-18.8-52.9-31.8-18.8-10.6-32.4-18.8-40.6-24.7-35.3 25.9-75.8 47.6-121.7 65.3-4.7-8.2-11.2-19.4-19.4-33.5-3.5-8.2-6.5-14.1-8.8-17.6C753.9 615.8 811 582.3 853.3 540H708.6v-51.2z" fill="#F1CA74"></path></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1769744303355" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="38037" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M914.2 811.8H575.5c-12.1 0-22-9.9-22-22V598c0-12.1 9.9-22 22-22h338.6c12.1 0 22 9.9 22 22v191.8c0.1 12.1-9.8 22-21.9 22z m-320.7-40h302.6V616H593.5v155.8zM279.4 420.2h-22.1c-6.1 0-11.9-2.8-15.7-7.6-3.8-4.8-5.2-11.1-3.8-17 2.6-11 7.5-20.7 14.5-28.9L491.2 87.8c24.7-28.8 68.3-32.2 97.1-7.5l55.9 47.8c11.3 9.7 19 22.6 22.3 37.3 1.9 8.4-1.9 17.1-9.3 21.5L309.6 394c-6.6 4-10.1 9.7-11.8 13.8-3 7.6-10.3 12.4-18.4 12.4z m18.7-45.4l1.2 2.1-1.2-2.1z m245.4-271c-8.2 0-16.3 3.4-22 10.1L333.9 333l287.5-171.2c-0.9-1.1-2-2.2-3.2-3.2l-55.9-47.8c-5.5-4.8-12.2-7-18.8-7z" fill="#165dff" p-id="38038"></path><path d="M856.2 958.6H168.6c-44.1 0-80-35.9-80-80V460.3c0-44.1 35.9-80 80-80h687.6c44.1 0 80 35.9 80 80v418.4c0 44-35.9 79.9-80 79.9zM168.6 420.2c-22.1 0-40 17.9-40 40v418.4c0 22.1 17.9 40 40 40h687.6c22.1 0 40-17.9 40-40V460.3c0-22.1-17.9-40-40-40H168.6z" fill="#165dff" p-id="38039"></path><path d="M679.4 420.2h-400c-6.7 0-12.9-3.3-16.6-8.9s-4.4-12.6-1.9-18.7c5.8-14 15.5-25.4 28.3-33l416.4-248.1c32.6-19.4 75-8.7 94.4 23.9l59.8 100.4c19.4 32.6 8.7 75-23.9 94.4l-146.2 87.1c-3.2 2-6.7 2.9-10.3 2.9z m-346.7-40h341.1L815.4 296c13.7-8.1 18.2-25.9 10-39.6L765.6 156c-8.1-13.7-25.9-18.2-39.6-10L332.7 380.2zM671.4 738.4c-24.5 0-44.5-20-44.5-44.5s20-44.5 44.5-44.5 44.5 20 44.5 44.5-19.9 44.5-44.5 44.5z m0-49c-2.5 0-4.5 2-4.5 4.5s2 4.5 4.5 4.5 4.5-2 4.5-4.5-2-4.5-4.5-4.5z" fill="#165dff" p-id="38040"></path></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M807.57 70.23H172.65a62.46 62.46 0 0 0-62.39 62.39v757.59a62.46 62.46 0 0 0 62.39 62.39h634.92A62.46 62.46 0 0 0 870 890.21V132.62a62.46 62.46 0 0 0-62.43-62.39z m-160.31 41.6a20.82 20.82 0 0 1 20.8 20.79v10.49a20.82 20.82 0 0 1-20.8 20.8H333a20.81 20.81 0 0 1-20.79-20.8v-10.49A20.81 20.81 0 0 1 333 111.83z m181.11 778.38a20.82 20.82 0 0 1-20.8 20.79H172.65a20.82 20.82 0 0 1-20.8-20.79V132.62a20.82 20.82 0 0 1 20.8-20.79H274.4a61.63 61.63 0 0 0-3.83 20.79v10.49a62.47 62.47 0 0 0 62.43 62.4h314.3a62.47 62.47 0 0 0 62.39-62.4v-10.49a61.63 61.63 0 0 0-3.83-20.79h101.71a20.82 20.82 0 0 1 20.8 20.79z" fill="#ff7a45"></path><path d="M719.65 392.48H298.09L288 363.85a20.8 20.8 0 0 0-10.32-11.71L245 335.79A20.8 20.8 0 1 0 226.4 373l25.18 12.58L354 677.11A20.81 20.81 0 0 0 373.62 691h23.17a39.09 39.09 0 1 0 26.15 0h184.71a39.09 39.09 0 1 0 26.15 0h38.57a20.8 20.8 0 0 0 0-41.6h-284l-3.64-10.35h283.6a20.78 20.78 0 0 0 20.17-15.75l51.33-205a20.79 20.79 0 0 0-20.18-25.84z m-312.29 335.2a2.51 2.51 0 1 1 5 0c0.02 2.76-5 2.76-5 0z m210.85 0a2.52 2.52 0 1 1 5 0c0.03 2.76-5 2.76-5 0z m33.89-130.22H372.41l-57.82-163.39H693z" fill="#ff7a45"></path></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -1 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg viewBox="0 0 1030 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="64.375" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M217.088 289.28c-14.336 0-25.6-11.264-25.6-25.6s11.264-25.6 25.6-25.6l357.888-1.536c14.336 0 25.6 11.264 25.6 25.6s-11.264 25.6-25.6 25.6l-357.888 1.536zM217.6 454.144c-14.336 0-25.6-11.264-25.6-25.6s11.264-25.6 25.6-25.6l357.888-1.536c14.336 0 25.6 11.264 25.6 25.6s-11.264 25.6-25.6 25.6l-357.888 1.536zM579.584 1006.592c-14.336 0-25.6-11.264-25.6-25.6l-1.536-295.936c0-14.336 11.264-25.6 25.6-25.6l379.392-1.536c6.656 0 13.312 2.56 17.92 7.168 4.608 4.608 7.68 11.264 7.68 17.92l1.536 295.936c0 14.336-11.264 25.6-25.6 25.6l-379.392 2.048c0.512 0 0.512 0 0 0z m24.576-295.936l1.024 244.736 328.192-1.536-1.024-244.736-328.192 1.536z" fill="#13227a"></path><path d="M578.56 710.656c-9.216 0-17.408-4.608-22.016-12.288-4.608-7.68-5.12-17.408-0.512-25.088l56.832-105.472c4.608-8.192 12.8-13.312 22.528-13.312l260.096-1.024c9.216 0 17.408 4.608 22.016 12.288l62.464 104.96c4.608 7.68 4.608 17.92 0.512 25.6-4.608 8.192-12.8 12.8-22.016 12.8l-379.904 1.536z m72.192-105.472l-29.184 54.272 291.84-1.536-32.256-54.272-230.4 1.536zM226.816 719.36c-14.336 0-25.6-11.264-25.6-25.6s11.264-25.6 25.6-25.6l181.76-1.024c14.336 0 25.6 11.264 25.6 25.6s-11.264 25.6-25.6 25.6l-181.76 1.024z" fill="#13227a"></path><path d="M380.416 787.968c-6.656 0-13.312-2.56-17.92-7.68-10.24-10.24-10.24-26.112 0-36.352l51.2-51.2-51.712-51.2c-10.24-9.728-10.24-26.112 0-36.352 9.728-10.24 26.112-10.24 36.352 0l70.144 69.12c4.608 4.608 7.68 11.264 7.68 17.92s-2.56 13.312-7.68 17.92L399.36 779.776c-5.632 5.632-12.288 8.192-18.944 8.192z" fill="#13227a"></path><path d="M45.568 1007.104c-6.656 0-13.312-2.56-17.92-7.168-4.608-4.608-7.68-11.264-7.68-17.92L15.872 37.888c0-6.656 2.56-13.312 7.168-17.92S34.304 12.288 40.96 12.288l733.696-3.072c6.656 0 13.312 2.56 17.92 7.168 4.608 4.608 7.68 11.264 7.68 17.92l1.024 276.992c0 14.336-11.264 25.6-25.6 25.6s-25.6-11.264-25.6-25.6l-1.024-251.392-681.984 3.584 4.096 892.416 253.44-1.024c14.336 0 25.6 11.264 25.6 25.6s-11.264 25.6-25.6 25.6l-279.04 1.024z" fill="#13227a"></path></svg> <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg viewBox="0 0 1030 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="64.375" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M217.088 289.28c-14.336 0-25.6-11.264-25.6-25.6s11.264-25.6 25.6-25.6l357.888-1.536c14.336 0 25.6 11.264 25.6 25.6s-11.264 25.6-25.6 25.6l-357.888 1.536zM217.6 454.144c-14.336 0-25.6-11.264-25.6-25.6s11.264-25.6 25.6-25.6l357.888-1.536c14.336 0 25.6 11.264 25.6 25.6s-11.264 25.6-25.6 25.6l-357.888 1.536zM579.584 1006.592c-14.336 0-25.6-11.264-25.6-25.6l-1.536-295.936c0-14.336 11.264-25.6 25.6-25.6l379.392-1.536c6.656 0 13.312 2.56 17.92 7.168 4.608 4.608 7.68 11.264 7.68 17.92l1.536 295.936c0 14.336-11.264 25.6-25.6 25.6l-379.392 2.048c0.512 0 0.512 0 0 0z m24.576-295.936l1.024 244.736 328.192-1.536-1.024-244.736-328.192 1.536z" fill="#faad14"></path><path d="M578.56 710.656c-9.216 0-17.408-4.608-22.016-12.288-4.608-7.68-5.12-17.408-0.512-25.088l56.832-105.472c4.608-8.192 12.8-13.312 22.528-13.312l260.096-1.024c9.216 0 17.408 4.608 22.016 12.288l62.464 104.96c4.608 7.68 4.608 17.92 0.512 25.6-4.608 8.192-12.8 12.8-22.016 12.8l-379.904 1.536z m72.192-105.472l-29.184 54.272 291.84-1.536-32.256-54.272-230.4 1.536zM226.816 719.36c-14.336 0-25.6-11.264-25.6-25.6s11.264-25.6 25.6-25.6l181.76-1.024c14.336 0 25.6 11.264 25.6 25.6s-11.264 25.6-25.6 25.6l-181.76 1.024z" fill="#faad14"></path><path d="M380.416 787.968c-6.656 0-13.312-2.56-17.92-7.68-10.24-10.24-10.24-26.112 0-36.352l51.2-51.2-51.712-51.2c-10.24-9.728-10.24-26.112 0-36.352 9.728-10.24 26.112-10.24 36.352 0l70.144 69.12c4.608 4.608 7.68 11.264 7.68 17.92s-2.56 13.312-7.68 17.92L399.36 779.776c-5.632 5.632-12.288 8.192-18.944 8.192z" fill="#faad14"></path><path d="M45.568 1007.104c-6.656 0-13.312-2.56-17.92-7.168-4.608-4.608-7.68-11.264-7.68-17.92L15.872 37.888c0-6.656 2.56-13.312 7.168-17.92S34.304 12.288 40.96 12.288l733.696-3.072c6.656 0 13.312 2.56 17.92 7.168 4.608 4.608 7.68 11.264 7.68 17.92l1.024 276.992c0 14.336-11.264 25.6-25.6 25.6s-25.6-11.264-25.6-25.6l-1.024-251.392-681.984 3.584 4.096 892.416 253.44-1.024c14.336 0 25.6 11.264 25.6 25.6s-11.264 25.6-25.6 25.6l-279.04 1.024z" fill="#faad14"></path></svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -1 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M861 62.16H159a64.19 64.19 0 0 0-64 64v767.68a64.19 64.19 0 0 0 64 64h702a64.19 64.19 0 0 0 64-64V126.16a64.19 64.19 0 0 0-64-64z m0 831.58l-0.11 0.11H159.12l-0.11-0.11V126.27l0.11-0.11h701.76l0.11 0.11z" fill="#0052d9"></path><path d="M317.06 286.24h383.27a32 32 0 0 0 0-64H317.06a32 32 0 1 0 0 64zM317.06 414.08h383.27a32 32 0 0 0 0-64H317.06a32 32 0 0 0 0 64zM445.09 479.29h-128a32 32 0 0 0 0 64h128a32 32 0 1 0 0-64zM785.11 739.4v-36.92h-98v-21.06h-25.24l27.3-9.88c-2.08-12.48-9.88-30.16-18.2-43.68l-34.32 12c6.76 13 13 29.64 15.34 41.6h-5.2v21.06h-95.93v36.88h67.86c-20.8 19.5-48.88 36.66-77.22 47.32 9.1 8.32 21.84 24.18 28.34 34.32 28.08-13.52 54.86-33.54 77-57.2v62.66h40.3v-64.22c22.36 23.92 49.66 44.46 77.74 57.72 6.5-10.4 19.24-26.26 28.34-34.32-27.87-10.68-56.22-27.3-77.53-46.28z" fill="#0052d9"></path><path d="M562.81 633.32c69.16-1.82 149.24-7.54 214-18.46l-29.9-34.58c-49.92 8.84-125.06 15.08-193.44 17.16 3.63 8.85 8.53 25.49 9.34 35.88zM733.89 699.88c12.22-15.6 27.56-39.26 40.82-62.14l-39-14.82c-7.8 20.54-21.84 46.54-33.54 63.18zM591.41 697.8L626 683c-3.9-13.52-14.56-32.24-25.22-46.28l-32 13.52c10.15 14.76 19.78 34.56 22.63 47.56z" fill="#0052d9"></path></svg> <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M861 62.16H159a64.19 64.19 0 0 0-64 64v767.68a64.19 64.19 0 0 0 64 64h702a64.19 64.19 0 0 0 64-64V126.16a64.19 64.19 0 0 0-64-64z m0 831.58l-0.11 0.11H159.12l-0.11-0.11V126.27l0.11-0.11h701.76l0.11 0.11z" fill="#fa8c16"></path><path d="M317.06 286.24h383.27a32 32 0 0 0 0-64H317.06a32 32 0 1 0 0 64zM317.06 414.08h383.27a32 32 0 0 0 0-64H317.06a32 32 0 0 0 0 64zM445.09 479.29h-128a32 32 0 0 0 0 64h128a32 32 0 1 0 0-64zM785.11 739.4v-36.92h-98v-21.06h-25.24l27.3-9.88c-2.08-12.48-9.88-30.16-18.2-43.68l-34.32 12c6.76 13 13 29.64 15.34 41.6h-5.2v21.06h-95.93v36.88h67.86c-20.8 19.5-48.88 36.66-77.22 47.32 9.1 8.32 21.84 24.18 28.34 34.32 28.08-13.52 54.86-33.54 77-57.2v62.66h40.3v-64.22c22.36 23.92 49.66 44.46 77.74 57.72 6.5-10.4 19.24-26.26 28.34-34.32-27.87-10.68-56.22-27.3-77.53-46.28z" fill="#fa8c16"></path><path d="M562.81 633.32c69.16-1.82 149.24-7.54 214-18.46l-29.9-34.58c-49.92 8.84-125.06 15.08-193.44 17.16 3.63 8.85 8.53 25.49 9.34 35.88zM733.89 699.88c12.22-15.6 27.56-39.26 40.82-62.14l-39-14.82c-7.8 20.54-21.84 46.54-33.54 63.18zM591.41 697.8L626 683c-3.9-13.52-14.56-32.24-25.22-46.28l-32 13.52c10.15 14.76 19.78 34.56 22.63 47.56z" fill="#fa8c16"></path></svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M945.530435 597.25913a42.518261 42.518261 0 1 1-85.036522 0V256.801391a85.325913 85.325913 0 0 0-85.348174-85.348174h-3.272348v35.283479a91.425391 91.425391 0 0 1-91.425391 91.425391H342.327652a91.425391 91.425391 0 0 1-91.425391-91.425391V171.453217h-0.512a85.325913 85.325913 0 0 0-85.348174 85.348174v597.058783a85.325913 85.325913 0 0 0 85.348174 85.348174h545.970087a64.111304 64.111304 0 0 0 64.111304-64.133565v-21.615305a42.518261 42.518261 0 0 1 42.518261-42.518261 42.74087 42.74087 0 0 1 42.74087 42.518261L946.086957 917.481739v0.556522A105.961739 105.961739 0 0 1 840.125217 1024l-590.736695-0.155826a170.674087 170.674087 0 0 1-170.674087-170.518261L77.913043 256v-0.155826a170.674087 170.674087 0 0 1 170.674087-170.651826l2.315131 0.133565A85.325913 85.325913 0 0 1 336.250435 0H686.525217a85.325913 85.325913 0 0 1 85.348174 85.325913h2.982957a170.674087 170.674087 0 0 1 170.674087 170.674087v341.25913zM356.018087 213.325913h310.739478a18.276174 18.276174 0 0 0 18.276174-18.276174V103.624348a18.276174 18.276174 0 0 0-18.276174-18.298435H356.018087a18.276174 18.276174 0 0 0-18.276174 18.298435v91.425391c0 10.106435 8.169739 18.276174 18.276174 18.276174zM296.20313 768.556522c0 23.440696 18.988522 42.406957 42.406957 42.406956h272.027826c89.043478 0 162.504348-91.670261 162.504348-171.186087s-73.46087-159.699478-162.504348-159.699478h-186.078609l20.502261-23.841391a35.016348 35.016348 0 0 0-3.695304-49.39687h-0.022261a39.646609 39.646609 0 0 0-52.513391 0.712348L307.422609 481.502609a42.674087 42.674087 0 0 0-1.113044 62.152348l82.587826 80.450782c14.514087 14.135652 37.554087 14.469565 52.446609 0.734609a34.949565 34.949565 0 0 0 1.224348-50.220522l-18.009044-18.253913h186.056348c47.949913 0 77.734957 40.603826 77.734957 83.411478 0 42.829913-29.785043 87.262609-77.734957 87.262609l-272.005565-0.75687a42.295652 42.295652 0 0 0-42.406957 42.295653z" fill="#52c41a"></path></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -0,0 +1,16 @@
{
"usingComponents": {
"search-popup": "/pages/components/search-popup/search-popup",
"card-plugin": "/pages/components/card-plugin/card-plugin",
"card-item-plugin": "/pages/components/card-item-plugin/card-item-plugin",
"option-cell-plugin": "/pages/components/option-cell-plugin/option-cell-plugin",
"date-picker-plugin": "/pages/components/date-picker-plugin/date-picker-plugin",
"sort-plugin": "/pages/components/sort-plugin/sort-plugin",
"count-plugin": "/pages/components/count-plugin/count-plugin",
"total-bar-plugin": "/pages/components/total-bar-plugin/total-bar-plugin",
"pagination-plugin": "/pages/components/pagination-plugin/pagination-plugin",
"search-input": "/pages/components/search-input/search-input",
"t-icon": "tdesign-miniprogram/icon/icon"
},
"navigationBarTitleText": "结算账户"
}

View File

@@ -0,0 +1,183 @@
import { loginStatus, post } from '@/utils/https';
import {
cloneLite,
getAuthInfo,
getDataSet,
showModal,
sleep,
toArray,
toastSuccess,
toNumber,
} from '@/utils/util';
const defaultParams = { curr_page: 1, page_count: 20 };
Page({
/**
* 页面的初始数据
*/
data: {
params: cloneLite(defaultParams) as any,
list: [] as any[],
count: 0,
sort: [{ label: '创建日期', value: 'create_date' }],
},
handleLogin(e: any) {
this.setData({ isLogin: e.detail });
if (e.detail) {
this.init();
}
},
init() {
this.setData({ authInfo: getAuthInfo() });
this.getList();
},
searchChange(e: any) {
const key = getDataSet(e).key;
this.data.params[key] = e.detail.value;
this.setData({ params: this.data.params });
},
searchChange2(e: any) {
const key = getDataSet(e).key;
const val = `${e.detail.value || ''}`.trim();
if (val) {
this.data.params[key] = val;
} else {
delete this.data.params[key];
}
this.setData({ params: this.data.params });
},
onOptionChange(e: any) {
const key = getDataSet(e).key;
this.data.params[key] = e.detail.value;
this.setData({ params: this.data.params });
},
datePickerConfirm(e: any) {
const data = getDataSet(e);
this.data.params[data.key] = e.detail.value;
this.setData({ params: this.data.params });
},
searchOk() {
this.getList(1);
},
searchReset() {
this.data.params = cloneLite(defaultParams);
this.getList(1);
},
onSort(e: any) {
this.data.params.order = e.detail.value;
this.setData({ params: this.data.params });
this.getList(1);
},
paginationChange(e: any) {
this.getList(e.detail.curr_page);
},
getList(curr: number = 1) {
this.data.params.curr_page = curr;
this.setData({ params: this.data.params });
const temp = cloneLite(this.data.params);
post('ErpAccount/list', temp).then((res: any) => {
const list = toArray(res.data?.list);
if (list.length == 0 && this.data.params.curr_page > 1) {
this.getList(this.data.params.curr_page - 1);
}
this.setData({
count: toNumber(res.data?.count),
list: list,
});
});
},
onDefault(e: any) {
const data = getDataSet(e);
const index = data.index;
const item = this.data.list[index];
showModal({ content: `确认将 ${item.account_name} 设为默认账户?` }).then(() => {
post('ErpAccount/setDefault', { account_id: item.account_id }).then(() => {
toastSuccess('设置成功');
sleep(() => {
this.getList();
}, 1000);
});
});
},
onState(e: any) {
const data = getDataSet(e);
const index = data.index;
const item = this.data.list[index];
showModal({
content: `确认 ${item.state == 1 ? '禁用' : '启用'} ${item.account_name}账户?`,
}).then(() => {
post('ErpAccount/setState', { account_id: item.account_id }).then(() => {
toastSuccess(`${item.state == 1 ? '禁用' : '启用'}成功`);
sleep(() => {
this.getList();
}, 1000);
});
});
},
onDelete(e: any) {
const data = getDataSet(e);
const index = data.index;
const item = this.data.list[index];
showModal({ content: `确认删除 ${item.account_name} 账户?` }).then(() => {
post('ErpAccount/del', { account_id: item.account_id }).then(() => {
toastSuccess('删除成功');
sleep(() => {
this.getList();
}, 1000);
});
});
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(_options) {},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
this.setData({ loading: true });
loginStatus()
.then(() => {
this.setData({ isLogin: true, loading: false });
this.init();
})
.catch((err) => {
this.setData({ isLogin: false, loading: false });
console.log('调用登录状态请求失败', err);
});
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {},
});

View File

@@ -0,0 +1,55 @@
<page-plugin isAuth="{{authInfo['SF_ERP_ACCOUNT_VIEW']}}" loading="{{loading}}"
is-login="{{isLogin}}" bind:handleLogin="handleLogin">
<search-popup placeholder="输入名称" bind:change="searchChange" bind:ok="searchOk"
bind:reset="searchReset" value="{{params.account_name}}" data-key="account_name"
hideMore="{{true}}">
<!-- <view slot="content">
<search-input label="手机号码" value="{{params.crm_phone}}" data-key="crm_phone"
bind:change="searchChange2" />
<date-picker-plugin title="创建开始日期" value="{{params.create_dateL}}" data-key="create_dateL"
bind:confirm="datePickerConfirm" />
<date-picker-plugin title="创建结束日期" value="{{params.create_dateU}}" data-key="create_dateU"
bind:confirm="datePickerConfirm" />
</view> -->
</search-popup>
<count-plugin count="{{count}}">
<!-- <sort-plugin options="{{sort}}" bind:ok="onSort" value="{{params.order}}" slot="right" /> -->
</count-plugin>
<empty-plugin wx:if="{{list.length == 0}}" />
<card-plugin wx:for="{{ list }}" wx:key="account_id">
<view slot="header"
style="display: flex;justify-content: space-between;width: 100%;align-items: center;column-gap: 12rpx;">
<view style="word-break: break-all;min-width: 0;">
{{ item.account_name }}
</view>
<view
style="display: flex;align-items: center;column-gap: 8rpx;font-weight: normal;flex-shrink: 0;">
<t-icon wx:if="{{item.if_default == 2}}" name="star" color="#2ba471" />
<text wx:if="{{item.state == 1}}" style="color: #0052d9;">正常</text>
<text wx:elif="{{item.state == 2}}" style="color: #d54941;">禁用</text>
</view>
</view>
<view slot="content">
<card-item-plugin label="期初金额" value="{{item.init_amount}}" />
<card-item-plugin label="当前金额" value="{{item.current_amount}}" />
<card-item-plugin label="备注" value="{{item.comments}}" />
<card-item-plugin label="创建日期" value="{{item.create_date}}" />
</view>
<view slot="footer" class="card-plugin-footer">
<t-button wx:if="{{authInfo['SF_ERP_ACCOUNT_EDIT'] && item.if_default == 1}}" size="small"
theme="primary" bind:tap="onDefault" data-index="{{index}}">
设为默认</t-button>
<t-button wx:if="{{authInfo['SF_ERP_ACCOUNT_EDIT']}}" size="small"
theme="{{item.state == 1 ? 'danger' : 'primary'}}" bind:tap="onState"
data-index="{{index}}">
{{item.state == 1 ? '禁用' : '启用'}}
</t-button>
<t-button wx:if="{{authInfo['SF_ERP_ACCOUNT_DEL']}}" size="small" theme="danger"
bind:tap="onDelete" data-index="{{index}}">删除</t-button>
</view>
</card-plugin>
<pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}"
total="{{count}}" bind:change="paginationChange" />
</page-plugin>

View File

@@ -0,0 +1,15 @@
{
"usingComponents": {
"search-popup": "/pages/components/search-popup/search-popup",
"card-plugin": "/pages/components/card-plugin/card-plugin",
"card-item-plugin": "/pages/components/card-item-plugin/card-item-plugin",
"option-cell-plugin": "/pages/components/option-cell-plugin/option-cell-plugin",
"date-picker-plugin": "/pages/components/date-picker-plugin/date-picker-plugin",
"sort-plugin": "/pages/components/sort-plugin/sort-plugin",
"count-plugin": "/pages/components/count-plugin/count-plugin",
"total-bar-plugin": "/pages/components/total-bar-plugin/total-bar-plugin",
"pagination-plugin": "/pages/components/pagination-plugin/pagination-plugin",
"search-input": "/pages/components/search-input/search-input"
},
"navigationBarTitleText": "经销商"
}

View File

@@ -0,0 +1,155 @@
import { loginStatus, post } from '@/utils/https';
import {
cloneLite,
getAuthInfo,
getDataSet,
showModal,
sleep,
toArray,
toastSuccess,
toNumber,
} from '@/utils/util';
const defaultParams = { curr_page: 1, page_count: 20, crm_type: 1 };
Page({
/**
* 页面的初始数据
*/
data: {
params: cloneLite(defaultParams) as any,
list: [] as any[],
count: 0,
sort: [{ label: '创建日期', value: 'create_date' }],
},
handleLogin(e: any) {
this.setData({ isLogin: e.detail });
if (e.detail) {
this.init();
}
},
init() {
this.setData({ authInfo: getAuthInfo() });
this.getList();
},
searchChange(e: any) {
const key = getDataSet(e).key;
this.data.params[key] = e.detail.value;
this.setData({ params: this.data.params });
},
searchChange2(e: any) {
const key = getDataSet(e).key;
const val = `${e.detail.value || ''}`.trim();
if (val) {
this.data.params[key] = val;
} else {
delete this.data.params[key];
}
this.setData({ params: this.data.params });
},
onOptionChange(e: any) {
const key = getDataSet(e).key;
this.data.params[key] = e.detail.value;
this.setData({ params: this.data.params });
},
datePickerConfirm(e: any) {
const data = getDataSet(e);
this.data.params[data.key] = e.detail.value;
this.setData({ params: this.data.params });
},
searchOk() {
this.getList(1);
},
searchReset() {
this.data.params = cloneLite(defaultParams);
this.getList(1);
},
onSort(e: any) {
this.data.params.order = e.detail.value;
this.setData({ params: this.data.params });
this.getList(1);
},
paginationChange(e: any) {
this.getList(e.detail.curr_page);
},
getList(curr: number = 1) {
this.data.params.curr_page = curr;
this.setData({ params: this.data.params });
const temp = cloneLite(this.data.params);
post('ErpCrm/list', temp).then((res: any) => {
const list = toArray(res.data?.list);
if (list.length == 0 && this.data.params.curr_page > 1) {
this.getList(this.data.params.curr_page - 1);
}
this.setData({
count: toNumber(res.data?.count),
list: list,
});
});
},
onOrderDel(e: any) {
const data = getDataSet(e);
const index = data.index;
const item = this.data.list[index];
showModal({ content: `确认删除 ${item.crm_name}?` }).then(() => {
post('ErpCrm/del', { crm_id: item.crm_id }).then(() => {
toastSuccess('删除成功');
sleep(() => {
this.getList();
}, 1000);
});
});
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(_options) {},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
this.setData({ loading: true });
loginStatus()
.then(() => {
this.setData({ isLogin: true, loading: false });
this.init();
})
.catch((err) => {
this.setData({ isLogin: false, loading: false });
console.log('调用登录状态请求失败', err);
});
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {},
});

View File

@@ -0,0 +1,37 @@
<page-plugin isAuth="{{authInfo['SF_ERP_CUSTOMER_VIEW']}}" loading="{{loading}}"
is-login="{{isLogin}}" bind:handleLogin="handleLogin">
<search-popup placeholder="输入经销商名称" bind:change="searchChange" bind:ok="searchOk"
bind:reset="searchReset" value="{{params.crm_name}}" data-key="crm_name">
<view slot="content">
<search-input label="手机号码" value="{{params.crm_phone}}" data-key="crm_phone"
bind:change="searchChange2" />
<!-- <date-picker-plugin title="创建开始日期" value="{{params.create_dateL}}" data-key="create_dateL"
bind:confirm="datePickerConfirm" />
<date-picker-plugin title="创建结束日期" value="{{params.create_dateU}}" data-key="create_dateU"
bind:confirm="datePickerConfirm" /> -->
</view>
</search-popup>
<count-plugin count="{{count}}">
<!-- <sort-plugin options="{{sort}}" bind:ok="onSort" value="{{params.order}}" slot="right" /> -->
</count-plugin>
<empty-plugin wx:if="{{list.length == 0}}" />
<card-plugin wx:for="{{ list }}" wx:key="crm_id">
<view slot="header">{{ item.crm_name }}</view>
<view slot="content">
<card-item-plugin label="手机号码" value="{{item.crm_phone}}" />
<card-item-plugin label="地址" value="{{item.crm_address}}" />
<card-item-plugin label="开户行" value="{{item.bank_name}}" />
<card-item-plugin label="备注" value="{{item.comments}}" />
<card-item-plugin label="创建日期" value="{{item.create_date}}" />
</view>
<view slot="footer" class="card-plugin-footer">
<t-button wx:if="{{authInfo['SF_ERP_CUSTOMER_DEL']}}" size="small" theme="danger"
bind:tap="onOrderDel" data-index="{{index}}">删除</t-button>
</view>
</card-plugin>
<pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}"
total="{{count}}" bind:change="paginationChange" />
</page-plugin>

View File

@@ -0,0 +1,15 @@
{
"usingComponents": {
"search-popup": "/pages/components/search-popup/search-popup",
"card-plugin": "/pages/components/card-plugin/card-plugin",
"card-item-plugin": "/pages/components/card-item-plugin/card-item-plugin",
"option-cell-plugin": "/pages/components/option-cell-plugin/option-cell-plugin",
"date-picker-plugin": "/pages/components/date-picker-plugin/date-picker-plugin",
"sort-plugin": "/pages/components/sort-plugin/sort-plugin",
"count-plugin": "/pages/components/count-plugin/count-plugin",
"total-bar-plugin": "/pages/components/total-bar-plugin/total-bar-plugin",
"pagination-plugin": "/pages/components/pagination-plugin/pagination-plugin",
"search-input": "/pages/components/search-input/search-input"
},
"navigationBarTitleText": "供应商"
}

View File

@@ -0,0 +1,155 @@
import { loginStatus, post } from '@/utils/https';
import {
cloneLite,
getAuthInfo,
getDataSet,
showModal,
sleep,
toArray,
toastSuccess,
toNumber,
} from '@/utils/util';
const defaultParams = { curr_page: 1, page_count: 20, crm_type: 2 };
Page({
/**
* 页面的初始数据
*/
data: {
params: cloneLite(defaultParams) as any,
list: [] as any[],
count: 0,
sort: [{ label: '创建日期', value: 'create_date' }],
},
handleLogin(e: any) {
this.setData({ isLogin: e.detail });
if (e.detail) {
this.init();
}
},
init() {
this.setData({ authInfo: getAuthInfo() });
this.getList();
},
searchChange(e: any) {
const key = getDataSet(e).key;
this.data.params[key] = e.detail.value;
this.setData({ params: this.data.params });
},
searchChange2(e: any) {
const key = getDataSet(e).key;
const val = `${e.detail.value || ''}`.trim();
if (val) {
this.data.params[key] = val;
} else {
delete this.data.params[key];
}
this.setData({ params: this.data.params });
},
onOptionChange(e: any) {
const key = getDataSet(e).key;
this.data.params[key] = e.detail.value;
this.setData({ params: this.data.params });
},
datePickerConfirm(e: any) {
const data = getDataSet(e);
this.data.params[data.key] = e.detail.value;
this.setData({ params: this.data.params });
},
searchOk() {
this.getList(1);
},
searchReset() {
this.data.params = cloneLite(defaultParams);
this.getList(1);
},
onSort(e: any) {
this.data.params.order = e.detail.value;
this.setData({ params: this.data.params });
this.getList(1);
},
paginationChange(e: any) {
this.getList(e.detail.curr_page);
},
getList(curr: number = 1) {
this.data.params.curr_page = curr;
this.setData({ params: this.data.params });
const temp = cloneLite(this.data.params);
post('ErpCrm/list', temp).then((res: any) => {
const list = toArray(res.data?.list);
if (list.length == 0 && this.data.params.curr_page > 1) {
this.getList(this.data.params.curr_page - 1);
}
this.setData({
count: toNumber(res.data?.count),
list: list,
});
});
},
onOrderDel(e: any) {
const data = getDataSet(e);
const index = data.index;
const item = this.data.list[index];
showModal({ content: `确认删除 ${item.crm_name}?` }).then(() => {
post('ErpCrm/del', { crm_id: item.crm_id }).then(() => {
toastSuccess('删除成功');
sleep(() => {
this.getList();
}, 1000);
});
});
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(_options) {},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
this.setData({ loading: true });
loginStatus()
.then(() => {
this.setData({ isLogin: true, loading: false });
this.init();
})
.catch((err) => {
this.setData({ isLogin: false, loading: false });
console.log('调用登录状态请求失败', err);
});
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {},
});

View File

@@ -0,0 +1,37 @@
<page-plugin isAuth="{{authInfo['SF_ERP_SUPPLIER_VIEW']}}" loading="{{loading}}"
is-login="{{isLogin}}" bind:handleLogin="handleLogin">
<search-popup placeholder="输入供应商名称" bind:change="searchChange" bind:ok="searchOk"
bind:reset="searchReset" value="{{params.crm_name}}" data-key="crm_name">
<view slot="content">
<search-input label="手机号码" value="{{params.crm_phone}}" data-key="crm_phone"
bind:change="searchChange2" />
<!-- <date-picker-plugin title="创建开始日期" value="{{params.create_dateL}}" data-key="create_dateL"
bind:confirm="datePickerConfirm" />
<date-picker-plugin title="创建结束日期" value="{{params.create_dateU}}" data-key="create_dateU"
bind:confirm="datePickerConfirm" /> -->
</view>
</search-popup>
<count-plugin count="{{count}}">
<!-- <sort-plugin options="{{sort}}" bind:ok="onSort" value="{{params.order}}" slot="right" /> -->
</count-plugin>
<empty-plugin wx:if="{{list.length == 0}}" />
<card-plugin wx:for="{{ list }}" wx:key="crm_id">
<view slot="header">{{ item.crm_name }}</view>
<view slot="content">
<card-item-plugin label="手机号码" value="{{item.crm_phone}}" />
<card-item-plugin label="地址" value="{{item.crm_address}}" />
<card-item-plugin label="开户行" value="{{item.bank_name}}" />
<card-item-plugin label="备注" value="{{item.comments}}" />
<card-item-plugin label="创建日期" value="{{item.create_date}}" />
</view>
<view slot="footer" class="card-plugin-footer">
<t-button wx:if="{{authInfo['SF_ERP_SUPPLIER_DEL']}}" size="small" theme="danger"
bind:tap="onOrderDel" data-index="{{index}}">删除</t-button>
</view>
</card-plugin>
<pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}"
total="{{count}}" bind:change="paginationChange" />
</page-plugin>

View File

@@ -9,17 +9,6 @@
display: none; display: none;
} }
.footer > view {
border-top: 1rpx solid #ddd;
padding: 16rpx 0 0 24rpx;
display: flex;
width: 100%;
}
.footer > view:empty {
display: none;
}
.show-more { .show-more {
color: #999; color: #999;
display: flex; display: flex;

View File

@@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"t-empty": "tdesign-miniprogram/empty/empty"
}
}

View File

@@ -0,0 +1,24 @@
// pages/components/empty-plugin/empty-plugin.ts
Component({
/**
* 组件的属性列表
*/
properties: {
},
/**
* 组件的初始数据
*/
data: {
},
/**
* 组件的方法列表
*/
methods: {
}
})

View File

@@ -0,0 +1 @@
<t-empty icon="no-result" description="暂无数据" style="margin-top: 24rpx;margin-bottom: 24rpx;" />

View File

@@ -109,7 +109,7 @@ Page({
const data = getDataSet(e); const data = getDataSet(e);
const index = data.index; const index = data.index;
const item = this.data.list[index]; const item = this.data.list[index];
showModal({ content: `确认删除 ${item.bill_no} 订单?` }).then(() => { showModal({ content: `确认删除 ${item.bill_no}?` }).then(() => {
post('ErpFinance/del', { head_id: item.head_id }).then(() => { post('ErpFinance/del', { head_id: item.head_id }).then(() => {
toastSuccess('删除成功'); toastSuccess('删除成功');
sleep(() => { sleep(() => {

View File

@@ -25,30 +25,27 @@
<!-- <sort-plugin options="{{sort}}" bind:ok="onSort" value="{{params.order}}" slot="right" /> --> <!-- <sort-plugin options="{{sort}}" bind:ok="onSort" value="{{params.order}}" slot="right" /> -->
</count-plugin> </count-plugin>
<t-empty wx:if="{{list.length == 0}}" icon="info-circle-filled" description="暂无数据" <empty-plugin wx:if="{{list.length == 0}}" />
style="margin-bottom: 24rpx;" /> <card-plugin wx:for="{{ list }}" wx:key="account_log_id">
<block wx:for="{{ list }}" wx:key="info_process_id"> <view slot="header">{{ item.rel_bill_no }}</view>
<card-plugin> <view slot="content">
<view slot="header">{{ item.rel_bill_no }}</view> <card-item-plugin label="业务类型" value="{{item.type}}" />
<view slot="content"> <card-item-plugin label="账户" value="{{item.account_name}}" />
<card-item-plugin label="业务类型" value="{{item.type}}" /> <card-item-plugin label="收支类型" value="{{item.pay_type}}" />
<card-item-plugin label="账户" value="{{item.account_name}}" /> <card-item-plugin label="变更金额" value="{{item.amount}}" />
<card-item-plugin label="收支类型" value="{{item.pay_type}}" /> <card-item-plugin label="变更前" value="{{item.before}}" />
<card-item-plugin label="变更金额" value="{{item.amount}}" /> <card-item-plugin label="剩余金额" value="{{item.after}}" />
<card-item-plugin label="变更前" value="{{item.before}}" /> <card-item-plugin label="操作员">
<card-item-plugin label="剩余金额" value="{{item.after}}" /> <view slot="value">
<card-item-plugin label="操作员"> {{item.creator_name}}
<view slot="value"> <text wx:if="{{item.creator_nick_name}}">({{item.creator_nick_name}})</text>
{{item.creator_name}} </view>
<text wx:if="{{item.creator_nick_name}}">({{item.creator_nick_name}})</text> </card-item-plugin>
</view> <card-item-plugin label="备注" value="{{item.comments}}" />
</card-item-plugin> <card-item-plugin label="交易时间" value="{{item.pay_date}}" />
<card-item-plugin label="备注" value="{{item.comments}}" /> <card-item-plugin label="创建日期" value="{{item.create_date}}" />
<card-item-plugin label="交易时间" value="{{item.pay_date}}" /> </view>
<card-item-plugin label="创建日期" value="{{item.create_date}}" /> </card-plugin>
</view>
</card-plugin>
</block>
<pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}" <pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}"
total="{{count}}" bind:change="paginationChange" /> total="{{count}}" bind:change="paginationChange" />
</page-plugin> </page-plugin>

View File

@@ -109,7 +109,7 @@ Page({
const data = getDataSet(e); const data = getDataSet(e);
const index = data.index; const index = data.index;
const item = this.data.list[index]; const item = this.data.list[index];
showModal({ content: `确认删除 ${item.bill_no} 订单?` }).then(() => { showModal({ content: `确认删除 ${item.bill_no}?` }).then(() => {
post('ErpFinance/del', { head_id: item.head_id }).then(() => { post('ErpFinance/del', { head_id: item.head_id }).then(() => {
toastSuccess('删除成功'); toastSuccess('删除成功');
sleep(() => { sleep(() => {

View File

@@ -25,31 +25,28 @@
<!-- <sort-plugin options="{{sort}}" bind:ok="onSort" value="{{params.order}}" slot="right" /> --> <!-- <sort-plugin options="{{sort}}" bind:ok="onSort" value="{{params.order}}" slot="right" /> -->
</count-plugin> </count-plugin>
<t-empty wx:if="{{list.length == 0}}" icon="info-circle-filled" description="暂无数据" <empty-plugin wx:if="{{list.length == 0}}" />
style="margin-bottom: 24rpx;" /> <card-plugin wx:for="{{ list }}" wx:key="head_id">
<block wx:for="{{ list }}" wx:key="info_process_id"> <view slot="header">{{ item.bill_no }}</view>
<card-plugin> <view slot="content">
<view slot="header">{{ item.bill_no }}</view> <card-item-plugin label="单据日期" value="{{item.bill_date}}" />
<view slot="content"> <card-item-plugin label="操作员">
<card-item-plugin label="单据日期" value="{{item.bill_date}}" /> <view slot="value">
<card-item-plugin label="操作员"> {{item.creator_name}}
<view slot="value"> <text wx:if="{{item.creator_nick_name}}">({{item.creator_nick_name}})</text>
{{item.creator_name}} </view>
<text wx:if="{{item.creator_nick_name}}">({{item.creator_nick_name}})</text> </card-item-plugin>
</view> <card-item-plugin label="付款账户" value="{{item.account_name}}" />
</card-item-plugin> <card-item-plugin label="实付金额" value="{{item.total_amount}}" />
<card-item-plugin label="付款账户" value="{{item.account_name}}" /> <card-item-plugin label="状态" value="{{item.state_name}}" />
<card-item-plugin label="实付金额" value="{{item.total_amount}}" /> <card-item-plugin label="备注" value="{{item.comments}}" />
<card-item-plugin label="状态" value="{{item.state_name}}" /> <card-item-plugin label="创建日期" value="{{item.create_date}}" />
<card-item-plugin label="备注" value="{{item.comments}}" /> </view>
<card-item-plugin label="创建日期" value="{{item.create_date}}" /> <view slot="footer" class="card-plugin-footer">
</view> <t-button wx:if="{{authInfo['SF_FINANCE_TRANSFER_DEL']}}" size="small" theme="danger"
<view slot="footer" style="padding-bottom: 16rpx;"> bind:tap="onOrderDel" data-index="{{index}}">删除</t-button>
<t-button wx:if="{{authInfo['SF_FINANCE_TRANSFER_DEL']}}" size="small" theme="danger" </view>
bind:tap="onOrderDel" data-index="{{index}}">删除</t-button> </card-plugin>
</view>
</card-plugin>
</block>
<pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}" <pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}"
total="{{count}}" bind:change="paginationChange" /> total="{{count}}" bind:change="paginationChange" />
</page-plugin> </page-plugin>

View File

@@ -109,7 +109,7 @@ Page({
const data = getDataSet(e); const data = getDataSet(e);
const index = data.index; const index = data.index;
const item = this.data.list[index]; const item = this.data.list[index];
showModal({ content: `确认删除 ${item.bill_no} 订单?` }).then(() => { showModal({ content: `确认删除 ${item.bill_no}?` }).then(() => {
post('ErpFinance/del', { head_id: item.head_id }).then(() => { post('ErpFinance/del', { head_id: item.head_id }).then(() => {
toastSuccess('删除成功'); toastSuccess('删除成功');
sleep(() => { sleep(() => {

View File

@@ -28,33 +28,30 @@
<!-- <sort-plugin options="{{sort}}" bind:ok="onSort" value="{{params.order}}" slot="right" /> --> <!-- <sort-plugin options="{{sort}}" bind:ok="onSort" value="{{params.order}}" slot="right" /> -->
</count-plugin> </count-plugin>
<t-empty wx:if="{{list.length == 0}}" icon="info-circle-filled" description="暂无数据" <empty-plugin wx:if="{{list.length == 0}}" />
style="margin-bottom: 24rpx;" /> <card-plugin wx:for="{{ list }}" wx:key="head_id">
<block wx:for="{{ list }}" wx:key="info_process_id"> <view slot="header">{{ item.bill_no }}</view>
<card-plugin> <view slot="content">
<view slot="header">{{ item.bill_no }}</view> <card-item-plugin label="关联销售单" value="{{item.rel_bill_no}}" />
<view slot="content"> <card-item-plugin label="单据日期" value="{{item.bill_date}}" />
<card-item-plugin label="关联销售单" value="{{item.rel_bill_no}}" /> <card-item-plugin label="操作员">
<card-item-plugin label="单据日期" value="{{item.bill_date}}" /> <view slot="value">
<card-item-plugin label="操作员"> {{item.creator_name}}
<view slot="value"> <text wx:if="{{item.creator_nick_name}}">({{item.creator_nick_name}})</text>
{{item.creator_name}} </view>
<text wx:if="{{item.creator_nick_name}}">({{item.creator_nick_name}})</text> </card-item-plugin>
</view> <card-item-plugin label="往来单位" value="{{item.crm_name}}" />
</card-item-plugin> <card-item-plugin label="收入账户" value="{{item.account_name}}" />
<card-item-plugin label="往来单位" value="{{item.crm_name}}" /> <card-item-plugin label="收入金额" value="{{item.total_amount}}" />
<card-item-plugin label="收入账户" value="{{item.account_name}}" /> <card-item-plugin label="状态" value="{{item.state_name}}" />
<card-item-plugin label="收入金额" value="{{item.total_amount}}" /> <card-item-plugin label="备注" value="{{item.comments}}" />
<card-item-plugin label="状态" value="{{item.state_name}}" /> <card-item-plugin label="创建日期" value="{{item.create_date}}" />
<card-item-plugin label="备注" value="{{item.comments}}" /> </view>
<card-item-plugin label="创建日期" value="{{item.create_date}}" /> <view slot="footer" class="card-plugin-footer">
</view> <t-button wx:if="{{authInfo['SF_FINANCE_INCOME_DEL']}}" size="small" theme="danger"
<view slot="footer" style="padding-bottom: 16rpx;"> bind:tap="onOrderDel" data-index="{{index}}">删除</t-button>
<t-button wx:if="{{authInfo['SF_FINANCE_INCOME_DEL']}}" size="small" theme="danger" </view>
bind:tap="onOrderDel" data-index="{{index}}">删除</t-button> </card-plugin>
</view>
</card-plugin>
</block>
<pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}" <pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}"
total="{{count}}" bind:change="paginationChange" /> total="{{count}}" bind:change="paginationChange" />
</page-plugin> </page-plugin>

View File

@@ -109,7 +109,7 @@ Page({
const data = getDataSet(e); const data = getDataSet(e);
const index = data.index; const index = data.index;
const item = this.data.list[index]; const item = this.data.list[index];
showModal({ content: `确认删除 ${item.bill_no} 订单?` }).then(() => { showModal({ content: `确认删除 ${item.bill_no}?` }).then(() => {
post('ErpFinance/del', { head_id: item.head_id }).then(() => { post('ErpFinance/del', { head_id: item.head_id }).then(() => {
toastSuccess('删除成功'); toastSuccess('删除成功');
sleep(() => { sleep(() => {

View File

@@ -28,33 +28,30 @@
<!-- <sort-plugin options="{{sort}}" bind:ok="onSort" value="{{params.order}}" slot="right" /> --> <!-- <sort-plugin options="{{sort}}" bind:ok="onSort" value="{{params.order}}" slot="right" /> -->
</count-plugin> </count-plugin>
<t-empty wx:if="{{list.length == 0}}" icon="info-circle-filled" description="暂无数据" <empty-plugin wx:if="{{list.length == 0}}" />
style="margin-bottom: 24rpx;" /> <card-plugin wx:for="{{ list }}" wx:key="head_id">
<block wx:for="{{ list }}" wx:key="info_process_id"> <view slot="header">{{ item.bill_no }}</view>
<card-plugin> <view slot="content">
<view slot="header">{{ item.bill_no }}</view> <card-item-plugin label="关联销售单" value="{{item.rel_bill_no}}" />
<view slot="content"> <card-item-plugin label="单据日期" value="{{item.bill_date}}" />
<card-item-plugin label="关联销售单" value="{{item.rel_bill_no}}" /> <card-item-plugin label="操作员">
<card-item-plugin label="单据日期" value="{{item.bill_date}}" /> <view slot="value">
<card-item-plugin label="操作员"> {{item.creator_name}}
<view slot="value"> <text wx:if="{{item.creator_nick_name}}">({{item.creator_nick_name}})</text>
{{item.creator_name}} </view>
<text wx:if="{{item.creator_nick_name}}">({{item.creator_nick_name}})</text> </card-item-plugin>
</view> <card-item-plugin label="往来单位" value="{{item.crm_name}}" />
</card-item-plugin> <card-item-plugin label="收入账户" value="{{item.account_name}}" />
<card-item-plugin label="往来单位" value="{{item.crm_name}}" /> <card-item-plugin label="收入金额" value="{{item.total_amount}}" />
<card-item-plugin label="收入账户" value="{{item.account_name}}" /> <card-item-plugin label="状态" value="{{item.state_name}}" />
<card-item-plugin label="收入金额" value="{{item.total_amount}}" /> <card-item-plugin label="备注" value="{{item.comments}}" />
<card-item-plugin label="状态" value="{{item.state_name}}" /> <card-item-plugin label="创建日期" value="{{item.create_date}}" />
<card-item-plugin label="备注" value="{{item.comments}}" /> </view>
<card-item-plugin label="创建日期" value="{{item.create_date}}" /> <view slot="footer" class="card-plugin-footer">
</view> <t-button wx:if="{{authInfo['SF_FINANCE_OUTCOME_DEL']}}" size="small" theme="danger"
<view slot="footer" style="padding-bottom: 16rpx;"> bind:tap="onOrderDel" data-index="{{index}}">删除</t-button>
<t-button wx:if="{{authInfo['SF_FINANCE_OUTCOME_DEL']}}" size="small" theme="danger" </view>
bind:tap="onOrderDel" data-index="{{index}}">删除</t-button> </card-plugin>
</view>
</card-plugin>
</block>
<pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}" <pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}"
total="{{count}}" bind:change="paginationChange" /> total="{{count}}" bind:change="paginationChange" />
</page-plugin> </page-plugin>

View File

@@ -1,30 +1,27 @@
<page-plugin isAuth="{{authInfo['SF_ERP_SALE_ORDERS_VIEW']}}" loading="{{loading}}" <page-plugin isAuth="{{authInfo['SF_ERP_SALE_ORDERS_VIEW']}}" loading="{{loading}}"
is-login="{{isLogin}}" bind:handleLogin="handleLogin"> is-login="{{isLogin}}" bind:handleLogin="handleLogin">
<t-empty wx:if="{{list.length == 0}}" icon="info-circle-filled" description="暂无数据" <empty-plugin wx:if="{{list.length == 0}}" />
style="margin-bottom: 24rpx;" /> <card-plugin wx:for="{{ list }}" wx:key="order_no">
<block wx:for="{{ list }}" wx:key="info_process_id"> <view slot="header" style="display: flex;justify-content: space-between;width: 100%;">
<card-plugin> <text>{{ item.order_no }}</text>
<view slot="header" style="display: flex;justify-content: space-between;width: 100%;"> <view
<text>{{ item.order_no }}</text> style="font-weight: normal;min-width: 1.5em;border: 1rpx solid #eee;text-align: center;color: #999;border-radius: 25%;">
<view {{index + 1}}
style="font-weight: normal;min-width: 1.5em;border: 1rpx solid #eee;text-align: center;color: #999;border-radius: 25%;">
{{index + 1}}
</view>
</view> </view>
<view slot="content"> </view>
<card-item-plugin label="自定义单号" value="{{item.custom_order_no}}" /> <view slot="content">
<card-item-plugin label="订单类型" value="{{item.category_name}}" /> <card-item-plugin label="自定义单号" value="{{item.custom_order_no}}" />
<card-item-plugin label="经销商名称" value="{{item.custom_name}}" /> <card-item-plugin label="订单类型" value="{{item.category_name}}" />
<card-item-plugin label="经销商手机" value="{{item.custom_phone}}" /> <card-item-plugin label="经销商名称" value="{{item.custom_name}}" />
<card-item-plugin label="客户名称" value="{{item.end_user_name}}" /> <card-item-plugin label="经销商手机" value="{{item.custom_phone}}" />
<card-item-plugin label="客户手机" value="{{item.end_user_phone}}" /> <card-item-plugin label="客户名称" value="{{item.end_user_name}}" />
<card-item-plugin label="客户地址" value="{{item.end_user_address}}" /> <card-item-plugin label="客户手机" value="{{item.end_user_phone}}" />
<card-item-plugin label="创建日期" value="{{item.create_date}}" /> <card-item-plugin label="客户地址" value="{{item.end_user_address}}" />
</view> <card-item-plugin label="创建日期" value="{{item.create_date}}" />
<view slot="footer" style="padding-bottom: 16rpx;"> </view>
<t-button size="small" theme="primary" bind:tap="onOrderToTop" data-index="{{index}}">移至顶部 <view slot="footer" class="card-plugin-footer">
</t-button> <t-button size="small" theme="primary" bind:tap="onOrderToTop" data-index="{{index}}">移至顶部
</view> </t-button>
</card-plugin> </view>
</block> </card-plugin>
</page-plugin> </page-plugin>

View File

@@ -58,36 +58,32 @@
<text>¥{{amount.tot_un_payed_amount}}</text> <text>¥{{amount.tot_un_payed_amount}}</text>
</view> </view>
</total-bar-plugin> </total-bar-plugin>
<t-empty wx:if="{{list.length == 0}}" icon="info-circle-filled" description="暂无数据" <empty-plugin wx:if="{{list.length == 0}}" />
style="margin-bottom: 24rpx;" /> <card-plugin wx:for="{{ list }}" wx:key="order_no">
<block wx:for="{{ list }}" wx:key="info_process_id"> <view slot="header">{{ item.order_no }}</view>
<card-plugin> <view slot="content">
<view slot="header">{{ item.order_no }}</view> <card-item-plugin label="自定义单号" value="{{item.custom_order_no}}" />
<view slot="content"> <card-item-plugin label="订单类型" value="{{item.category_name}}" />
<card-item-plugin label="自定义单号" value="{{item.custom_order_no}}" /> <card-item-plugin label="订单阶段" value="{{saleOrderProcessStateObj[item.process_state]}}" />
<card-item-plugin label="订单类型" value="{{item.category_name}}" /> <card-item-plugin label="经销商名称" value="{{item.custom_name}}" />
<card-item-plugin label="订单阶段" value="{{saleOrderProcessStateObj[item.process_state]}}" /> <card-item-plugin label="经销商手机" value="{{item.custom_phone}}" />
<card-item-plugin label="经销商名称" value="{{item.custom_name}}" /> <card-item-plugin label="客户名称" value="{{item.end_user_name}}" />
<card-item-plugin label="经销商手机" value="{{item.custom_phone}}" /> <card-item-plugin label="客户手机" value="{{item.end_user_phone}}" />
<!-- <card-item-plugin label="经销商地址" value="{{item.custom_address}}" /> --> <card-item-plugin label="客户地址" value="{{item.end_user_address}}" />
<card-item-plugin label="客户名称" value="{{item.end_user_name}}" /> <card-item-plugin label="单据日期" value="{{item.document_date}}" />
<card-item-plugin label="客户手机" value="{{item.end_user_phone}}" /> <card-item-plugin label="含税合计" value="{{item.tot_tax_last_money}}" />
<card-item-plugin label="客户地址" value="{{item.end_user_address}}" /> <card-item-plugin label="优惠金额" value="{{item.discount_money}}" />
<card-item-plugin label="单据日期" value="{{item.document_date}}" /> <card-item-plugin label="已收金额" value="{{item.payed_amount}}" />
<card-item-plugin label="含税合计" value="{{item.tot_tax_last_money}}" /> <card-item-plugin label="未收金额" value="{{item.un_payed_amount}}" />
<card-item-plugin label="优惠金额" value="{{item.discount_money}}" /> <card-item-plugin label="创建日期" value="{{item.create_date}}" />
<card-item-plugin label="已收金额" value="{{item.payed_amount}}" /> </view>
<card-item-plugin label="未收金额" value="{{item.un_payed_amount}}" /> <view slot="footer" class="card-plugin-footer">
<card-item-plugin label="创建日期" value="{{item.create_date}}" /> <t-button wx:if="{{authInfo['SF_ERP_SALE_ORDERS_PAY']}}" size="small" theme="primary"
</view> bind:tap="onOrderPay" data-index="{{index}}">收付款</t-button>
<view slot="footer" style="padding-bottom: 16rpx;"> <t-button wx:if="{{authInfo['SF_ERP_SALE_ORDERS_DEL']}}" size="small" theme="danger"
<t-button wx:if="{{authInfo['SF_ERP_SALE_ORDERS_PAY']}}" size="small" theme="primary" bind:tap="onOrderDel" data-index="{{index}}">删除</t-button>
bind:tap="onOrderPay" data-index="{{index}}" style="margin-right: 24rpx;">收付款</t-button> </view>
<t-button wx:if="{{authInfo['SF_ERP_SALE_ORDERS_DEL']}}" size="small" theme="danger" </card-plugin>
bind:tap="onOrderDel" data-index="{{index}}">删除</t-button>
</view>
</card-plugin>
</block>
<pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}" <pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}"
total="{{count}}" bind:change="paginationChange" /> total="{{count}}" bind:change="paginationChange" />
</page-plugin> </page-plugin>

View File

@@ -18,7 +18,6 @@
<search-input label="客户地址" value="{{params.end_user_address}}" data-key="end_user_address" <search-input label="客户地址" value="{{params.end_user_address}}" data-key="end_user_address"
bind:change="searchChange2" /> bind:change="searchChange2" />
</view> </view>
</search-popup> </search-popup>
<view class="tabs"> <view class="tabs">
<view class="tabs-item {{ params.state == '1' ? 'active': '' }}" bind:tap="tabChange" <view class="tabs-item {{ params.state == '1' ? 'active': '' }}" bind:tap="tabChange"
@@ -26,29 +25,26 @@
<view class="tabs-item {{ params.state == '2' ? 'active': '' }}" bind:tap="tabChange" <view class="tabs-item {{ params.state == '2' ? 'active': '' }}" bind:tap="tabChange"
data-key="2">已处理</view> data-key="2">已处理</view>
</view> </view>
<t-empty wx:if="{{list.length == 0}}" icon="info-circle-filled" description="暂无数据" <empty-plugin wx:if="{{list.length == 0}}" />
style="margin-bottom: 24rpx;" /> <card-plugin wx:for="{{ list }}" wx:key="produce_info_id">
<block wx:for="{{ list }}" wx:key="info_process_id"> <view slot="header">{{ item.order_no }}</view>
<card-plugin> <view slot="content">
<view slot="header">{{ item.order_no }}</view> <card-item-plugin label="自定义单号" value="{{item.custom_order_no}}" />
<view slot="content"> <card-item-plugin label="产品名称" value="{{item.goods_name}}" />
<card-item-plugin label="自定义单号" value="{{item.custom_order_no}}" /> <card-item-plugin label="经销商名称" value="{{item.custom_name}}" />
<card-item-plugin label="产品名称" value="{{item.goods_name}}" /> <card-item-plugin label="经销商手机" value="{{item.custom_phone}}" />
<card-item-plugin label="经销商名称" value="{{item.custom_name}}" /> <card-item-plugin label="经销商地址" value="{{item.custom_address}}" />
<card-item-plugin label="经销商手机" value="{{item.custom_phone}}" /> <card-item-plugin label="客户名称" value="{{item.end_user_name}}" />
<card-item-plugin label="经销商地址" value="{{item.custom_address}}" /> <card-item-plugin label="客户手机" value="{{item.end_user_phone}}" />
<card-item-plugin label="客户名称" value="{{item.end_user_name}}" /> <card-item-plugin label="客户地址" value="{{item.end_user_address}}" />
<card-item-plugin label="客户手机" value="{{item.end_user_phone}}" /> </view>
<card-item-plugin label="客户地址" value="{{item.end_user_address}}" /> <view slot="footer" class="card-plugin-footer">
</view> <t-button size="small" theme="{{params.state == '1' ? 'primary' : 'danger'}}"
<view slot="footer" style="padding-bottom: 16rpx;"> data-action="{{params.state == '1' ? 'end' : 'back'}}" bind:tap="onEndOrBack"
<t-button size="small" theme="{{params.state == '1' ? 'primary' : 'danger'}}" data-index="{{index}}">{{params.state == '1' ? '完成' : '撤回'}}
data-action="{{params.state == '1' ? 'end' : 'back'}}" bind:tap="onEndOrBack" </t-button>
data-index="{{index}}">{{params.state == '1' ? '完成' : '撤回'}} </view>
</t-button> </card-plugin>
</view>
</card-plugin>
</block>
<pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}" <pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}"
total="{{count}}" bind:change="paginationChange" /> total="{{count}}" bind:change="paginationChange" />
</page-plugin> </page-plugin>

View File

@@ -0,0 +1,14 @@
{
"usingComponents": {
"search-popup": "/pages/components/search-popup/search-popup",
"card-plugin": "/pages/components/card-plugin/card-plugin",
"card-item-plugin": "/pages/components/card-item-plugin/card-item-plugin",
"date-picker-plugin": "/pages/components/date-picker-plugin/date-picker-plugin",
"sort-plugin": "/pages/components/sort-plugin/sort-plugin",
"count-plugin": "/pages/components/count-plugin/count-plugin",
"pagination-plugin": "/pages/components/pagination-plugin/pagination-plugin",
"search-input": "/pages/components/search-input/search-input",
"option-cell-plugin": "/pages/components/option-cell-plugin/option-cell-plugin"
},
"navigationBarTitleText": "采购退货"
}

View File

@@ -0,0 +1,166 @@
import { loginStatus, post } from '@/utils/https';
import {
cloneLite,
getAuthInfo,
getDataSet,
showModal,
sleep,
toArray,
toastSuccess,
toNumber,
} from '@/utils/util';
const defaultParams = { curr_page: 1, page_count: 20, head_type: 4 };
Page({
/**
* 页面的初始数据
*/
data: {
params: cloneLite(defaultParams) as any,
list: [] as any[],
count: 0,
payState: [
{ value: '', label: '全部' },
{ value: 1, label: '未结算' },
{ value: 2, label: '部分结算' },
{ value: 3, label: '完成结算' },
{ value: 4, label: '无需结算' },
],
sort: [{ label: '创建日期', value: 'create_date' }],
},
handleLogin(e: any) {
this.setData({ isLogin: e.detail });
if (e.detail) {
this.init();
}
},
init() {
this.setData({ authInfo: getAuthInfo() });
this.getList();
},
searchChange(e: any) {
const key = getDataSet(e).key;
this.data.params[key] = e.detail.value;
this.setData({ params: this.data.params });
},
searchChange2(e: any) {
const key = getDataSet(e).key;
const val = `${e.detail.value || ''}`.trim();
if (val) {
this.data.params[key] = val;
} else {
delete this.data.params[key];
}
this.setData({ params: this.data.params });
},
onOptionChange(e: any) {
const key = getDataSet(e).key;
this.data.params[key] = e.detail.value;
this.setData({ params: this.data.params });
},
datePickerConfirm(e: any) {
const data = getDataSet(e);
this.data.params[data.key] = e.detail.value;
this.setData({ params: this.data.params });
},
searchOk() {
this.getList(1);
},
searchReset() {
this.data.params = cloneLite(defaultParams);
this.getList(1);
},
onSort(e: any) {
this.data.params.order = e.detail.value;
this.setData({ params: this.data.params });
this.getList(1);
},
paginationChange(e: any) {
this.getList(e.detail.curr_page);
},
getList(curr: number = 1) {
this.data.params.curr_page = curr;
this.setData({ params: this.data.params });
const temp = cloneLite(this.data.params);
if (temp.pay_state && temp.pay_state.length) {
temp.pay_state = temp.pay_state.join(',');
} else {
delete temp.pay_state;
}
post('ErpDepot/depotHeadList', temp).then((res: any) => {
const list = toArray(res.data);
if (list.length == 0 && this.data.params.curr_page > 1) {
this.getList(this.data.params.curr_page - 1);
}
this.setData({
count: toNumber(res.count),
list: list,
});
});
},
onOrderDel(e: any) {
const data = getDataSet(e);
const index = data.index;
const item = this.data.list[index];
showModal({ content: `确认删除 ${item.bill_no} 订单?` }).then(() => {
post('ErpDepot/depotHeadDel', { head_id: item.head_id }).then(() => {
toastSuccess('删除成功');
sleep(() => {
this.getList();
}, 1000);
});
});
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(_options) {},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
this.setData({ loading: true });
loginStatus()
.then(() => {
this.setData({ isLogin: true, loading: false });
this.init();
})
.catch((err) => {
this.setData({ isLogin: false, loading: false });
console.log('调用登录状态请求失败', err);
});
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {},
});

View File

@@ -0,0 +1,57 @@
<page-plugin isAuth="{{authInfo['SF_ERP_PURCHASE_BACK_VIEW']}}" loading="{{loading}}"
is-login="{{isLogin}}" bind:handleLogin="handleLogin">
<search-popup placeholder="输入单据编号" bind:change="searchChange" bind:ok="searchOk"
bind:reset="searchReset" value="{{params.bill_no}}" data-key="bill_no">
<view slot="content">
<search-input label="供应商名称" value="{{params.crm_name}}" data-key="crm_name"
bind:change="searchChange2" />
<search-input label="关联单据" value="{{params.rel_bill_no}}" data-key="rel_bill_no"
bind:change="searchChange2" />
<option-cell-plugin title="结算状态" bind:change="onOptionChange" value="{{params.pay_state}}"
mode="checkbox" options="{{payState}}" data-key="pay_state" />
<date-picker-plugin title="单据开始日期" value="{{params.bill_dateL}}" data-key="bill_dateL"
bind:confirm="datePickerConfirm" />
<date-picker-plugin title="单据结束日期" value="{{params.bill_dateU}}" data-key="bill_dateU"
bind:confirm="datePickerConfirm" />
<!-- <date-picker-plugin title="创建开始日期" value="{{params.create_dateL}}" data-key="create_dateL"
bind:confirm="datePickerConfirm" />
<date-picker-plugin title="创建结束日期" value="{{params.create_dateU}}" data-key="create_dateU"
bind:confirm="datePickerConfirm" /> -->
</view>
</search-popup>
<count-plugin count="{{count}}">
<!-- <sort-plugin options="{{sort}}" bind:ok="onSort" value="{{params.order}}" slot="right" /> -->
</count-plugin>
<empty-plugin wx:if="{{list.length == 0}}" />
<card-plugin wx:for="{{ list }}" wx:key="bill_no">
<view slot="header">{{ item.bill_no }}</view>
<view slot="content">
<card-item-plugin label="供应商名称" value="{{item.crm_name}}" />
<card-item-plugin label="单据日期" value="{{item.bill_date}}" />
<card-item-plugin label="操作员">
<view slot="value">
{{item.creator_name}}
<text wx:if="{{item.creator_nick_name}}">({{item.creator_nick_name}})</text>
</view>
</card-item-plugin>
<card-item-plugin label="数量" value="{{item.total_quantity}}" />
<card-item-plugin label="优惠金额" value="{{item.discount_amount}}" />
<card-item-plugin label="结算金额" value="{{item.total_real_amount}}" />
<card-item-plugin label="已结算金额" value="{{item.finish_amount}}" />
<card-item-plugin label="未结算金额" value="{{item.unsettled_amount}}" />
<card-item-plugin label="备注" value="{{item.comments}}" />
<card-item-plugin label="创建日期" value="{{item.create_date}}" />
</view>
<view slot="footer" class="card-plugin-footer">
<t-button wx:if="{{authInfo['SF_ERP_PURCHASE_BACK_DEL']}}" size="small" theme="danger"
bind:tap="onOrderDel" data-index="{{index}}">删除</t-button>
</view>
</card-plugin>
<pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}"
total="{{count}}" bind:change="paginationChange" />
</page-plugin>

View File

@@ -1,6 +1,6 @@
<page-plugin isAuth="{{authInfo['SF_ERP_PURCHASE_STORE_VIEW']}}" loading="{{loading}}" <page-plugin isAuth="{{authInfo['SF_ERP_PURCHASE_STORE_VIEW']}}" loading="{{loading}}"
is-login="{{isLogin}}" bind:handleLogin="handleLogin"> is-login="{{isLogin}}" bind:handleLogin="handleLogin">
<search-popup placeholder="输入单据编" bind:change="searchChange" bind:ok="searchOk" <search-popup placeholder="输入单据编" bind:change="searchChange" bind:ok="searchOk"
bind:reset="searchReset" value="{{params.order_no}}" data-key="order_no"> bind:reset="searchReset" value="{{params.order_no}}" data-key="order_no">
<view slot="content"> <view slot="content">
@@ -28,34 +28,31 @@
<!-- <sort-plugin options="{{sort}}" bind:ok="onSort" value="{{params.order}}" slot="right" /> --> <!-- <sort-plugin options="{{sort}}" bind:ok="onSort" value="{{params.order}}" slot="right" /> -->
</count-plugin> </count-plugin>
<t-empty wx:if="{{list.length == 0}}" icon="info-circle-filled" description="暂无数据" <empty-plugin wx:if="{{list.length == 0}}" />
style="margin-bottom: 24rpx;" /> <card-plugin wx:for="{{ list }}" wx:key="bill_no">
<block wx:for="{{ list }}" wx:key="info_process_id"> <view slot="header">{{ item.bill_no }}</view>
<card-plugin> <view slot="content">
<view slot="header">{{ item.bill_no }}</view> <card-item-plugin label="供应商名称" value="{{item.crm_name}}" />
<view slot="content"> <card-item-plugin label="单据日期" value="{{item.bill_date}}" />
<card-item-plugin label="供应商名称" value="{{item.crm_name}}" /> <card-item-plugin label="操作员">
<card-item-plugin label="单据日期" value="{{item.bill_date}}" /> <view slot="value">
<card-item-plugin label="操作员"> {{item.creator_name}}
<view slot="value"> <text wx:if="{{item.creator_nick_name}}">({{item.creator_nick_name}})</text>
{{item.creator_name}} </view>
<text wx:if="{{item.creator_nick_name}}">({{item.creator_nick_name}})</text> </card-item-plugin>
</view> <card-item-plugin label="数量" value="{{item.total_quantity}}" />
</card-item-plugin> <card-item-plugin label="优惠金额" value="{{item.discount_amount}}" />
<card-item-plugin label="数量" value="{{item.total_quantity}}" /> <card-item-plugin label="结算金额" value="{{item.total_real_amount}}" />
<card-item-plugin label="优惠金额" value="{{item.discount_amount}}" /> <card-item-plugin label="已结算金额" value="{{item.finish_amount}}" />
<card-item-plugin label="结算金额" value="{{item.total_real_amount}}" /> <card-item-plugin label="结算金额" value="{{item.unsettled_amount}}" />
<card-item-plugin label="已结算金额" value="{{item.finish_amount}}" /> <card-item-plugin label="备注" value="{{item.comments}}" />
<card-item-plugin label="未结算金额" value="{{item.unsettled_amount}}" /> <card-item-plugin label="创建日期" value="{{item.create_date}}" />
<card-item-plugin label="备注" value="{{item.comments}}" /> </view>
<card-item-plugin label="创建日期" value="{{item.create_date}}" /> <view slot="footer" class="card-plugin-footer">
</view> <t-button wx:if="{{authInfo['SF_ERP_PURCHASE_STORE_DEL']}}" size="small" theme="danger"
<view slot="footer" style="padding-bottom: 16rpx;"> bind:tap="onOrderDel" data-index="{{index}}">删除</t-button>
<t-button wx:if="{{authInfo['SF_ERP_PURCHASE_STORE_DEL']}}" size="small" theme="danger" </view>
bind:tap="onOrderDel" data-index="{{index}}">删除</t-button> </card-plugin>
</view>
</card-plugin>
</block>
<pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}" <pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}"
total="{{count}}" bind:change="paginationChange" /> total="{{count}}" bind:change="paginationChange" />
</page-plugin> </page-plugin>

View File

@@ -1,6 +1,6 @@
<page-plugin isAuth="{{authInfo['SF_ERP_PURCHASE_ORDER_VIEW']}}" loading="{{loading}}" <page-plugin isAuth="{{authInfo['SF_ERP_PURCHASE_ORDER_VIEW']}}" loading="{{loading}}"
is-login="{{isLogin}}" bind:handleLogin="handleLogin"> is-login="{{isLogin}}" bind:handleLogin="handleLogin">
<search-popup placeholder="输入单据编" bind:change="searchChange" bind:ok="searchOk" <search-popup placeholder="输入单据编" bind:change="searchChange" bind:ok="searchOk"
bind:reset="searchReset" value="{{params.bill_no}}" data-key="bill_no"> bind:reset="searchReset" value="{{params.bill_no}}" data-key="bill_no">
<view slot="content"> <view slot="content">
@@ -29,32 +29,29 @@
<!-- <sort-plugin options="{{sort}}" bind:ok="onSort" value="{{params.order}}" slot="right" /> --> <!-- <sort-plugin options="{{sort}}" bind:ok="onSort" value="{{params.order}}" slot="right" /> -->
</count-plugin> </count-plugin>
<t-empty wx:if="{{list.length == 0}}" icon="info-circle-filled" description="暂无数据" <empty-plugin wx:if="{{list.length == 0}}" />
style="margin-bottom: 24rpx;" /> <card-plugin wx:for="{{ list }}" wx:key="bill_no">
<block wx:for="{{ list }}" wx:key="info_process_id"> <view slot="header">{{ item.bill_no }}</view>
<card-plugin> <view slot="content">
<view slot="header">{{ item.bill_no }}</view> <card-item-plugin label="供应商名称" value="{{item.crm_name}}" />
<view slot="content"> <card-item-plugin label="单据日期" value="{{item.bill_date}}" />
<card-item-plugin label="供应商名称" value="{{item.crm_name}}" /> <card-item-plugin label="操作员">
<card-item-plugin label="单据日期" value="{{item.bill_date}}" /> <view slot="value">
<card-item-plugin label="操作员"> {{item.creator_name}}
<view slot="value"> <text wx:if="{{item.creator_nick_name}}">({{item.creator_nick_name}})</text>
{{item.creator_name}} </view>
<text wx:if="{{item.creator_nick_name}}">({{item.creator_nick_name}})</text> </card-item-plugin>
</view> <card-item-plugin label="数量" value="{{item.total_quantity}}" />
</card-item-plugin> <card-item-plugin label="金额" value="{{item.total_amount}}" />
<card-item-plugin label="数量" value="{{item.total_quantity}}" /> <card-item-plugin label="状态" value="{{item.state_name}}" />
<card-item-plugin label="金额" value="{{item.total_amount}}" /> <card-item-plugin label="备注" value="{{item.comments}}" />
<card-item-plugin label="状态" value="{{item.state_name}}" /> <card-item-plugin label="创建日期" value="{{item.create_date}}" />
<card-item-plugin label="备注" value="{{item.comments}}" /> </view>
<card-item-plugin label="创建日期" value="{{item.create_date}}" /> <view slot="footer" class="card-plugin-footer">
</view> <t-button wx:if="{{authInfo['SF_ERP_PURCHASE_ORDER_DEL']}}" size="small" theme="danger"
<view slot="footer" style="padding-bottom: 16rpx;"> bind:tap="onOrderDel" data-index="{{index}}">删除</t-button>
<t-button wx:if="{{authInfo['SF_ERP_PURCHASE_ORDER_DEL']}}" size="small" theme="danger" </view>
bind:tap="onOrderDel" data-index="{{index}}">删除</t-button> </card-plugin>
</view>
</card-plugin>
</block>
<pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}" <pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}"
total="{{count}}" bind:change="paginationChange" /> total="{{count}}" bind:change="paginationChange" />
</page-plugin> </page-plugin>

View File

@@ -0,0 +1,13 @@
{
"usingComponents": { "search-popup": "/pages/components/search-popup/search-popup",
"card-plugin": "/pages/components/card-plugin/card-plugin",
"card-item-plugin": "/pages/components/card-item-plugin/card-item-plugin",
"date-picker-plugin": "/pages/components/date-picker-plugin/date-picker-plugin",
"sort-plugin": "/pages/components/sort-plugin/sort-plugin",
"count-plugin": "/pages/components/count-plugin/count-plugin",
"pagination-plugin": "/pages/components/pagination-plugin/pagination-plugin",
"search-input": "/pages/components/search-input/search-input",
"option-cell-plugin": "/pages/components/option-cell-plugin/option-cell-plugin"
},
"navigationBarTitleText": "请购订单"
}

View File

@@ -0,0 +1,164 @@
import { loginStatus, post } from '@/utils/https';
import {
cloneLite,
getAuthInfo,
getDataSet,
showModal,
sleep,
toArray,
toastSuccess,
toNumber,
} from '@/utils/util';
const defaultParams = { curr_page: 1, page_count: 20, head_type: 1 };
Page({
/**
* 页面的初始数据
*/
data: {
params: cloneLite(defaultParams) as any,
list: [] as any[],
count: 0,
// states: [
// { value: 1, label: '未入库' },
// { value: 4, label: '部分入库' },
// { value: 3, label: '完成入库' },
// ],
sort: [{ label: '创建日期', value: 'create_date' }],
},
handleLogin(e: any) {
this.setData({ isLogin: e.detail });
if (e.detail) {
this.init();
}
},
init() {
this.setData({ authInfo: getAuthInfo() });
this.getList();
},
searchChange(e: any) {
const key = getDataSet(e).key;
this.data.params[key] = e.detail.value;
this.setData({ params: this.data.params });
},
searchChange2(e: any) {
const key = getDataSet(e).key;
const val = `${e.detail.value || ''}`.trim();
if (val) {
this.data.params[key] = val;
} else {
delete this.data.params[key];
}
this.setData({ params: this.data.params });
},
onOptionChange(e: any) {
const key = getDataSet(e).key;
this.data.params[key] = e.detail.value;
this.setData({ params: this.data.params });
},
datePickerConfirm(e: any) {
const data = getDataSet(e);
this.data.params[data.key] = e.detail.value;
this.setData({ params: this.data.params });
},
searchOk() {
this.getList(1);
},
searchReset() {
this.data.params = cloneLite(defaultParams);
this.getList(1);
},
onSort(e: any) {
this.data.params.order = e.detail.value;
this.setData({ params: this.data.params });
this.getList(1);
},
paginationChange(e: any) {
this.getList(e.detail.curr_page);
},
getList(curr: number = 1) {
this.data.params.curr_page = curr;
this.setData({ params: this.data.params });
const temp = cloneLite(this.data.params);
// if (temp.states && temp.states.length) {
// temp.states = temp.states.join(',');
// } else {
// delete temp.states;
// }
post('ErpDepot/depotHeadList', temp).then((res: any) => {
const list = toArray(res.data);
if (list.length == 0 && this.data.params.curr_page > 1) {
this.getList(this.data.params.curr_page - 1);
}
this.setData({
count: toNumber(res.count),
list: list,
});
});
},
onOrderDel(e: any) {
const data = getDataSet(e);
const index = data.index;
const item = this.data.list[index];
showModal({ content: `确认删除 ${item.bill_no} 订单?` }).then(() => {
post('ErpDepot/depotHeadDel', { head_id: item.head_id }).then(() => {
toastSuccess('删除成功');
sleep(() => {
this.getList();
}, 1000);
});
});
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(_options) {},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
this.setData({ loading: true });
loginStatus()
.then(() => {
this.setData({ isLogin: true, loading: false });
this.init();
})
.catch((err) => {
this.setData({ isLogin: false, loading: false });
console.log('调用登录状态请求失败', err);
});
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {},
});

View File

@@ -0,0 +1,54 @@
<page-plugin isAuth="{{authInfo['SF_ERP_PURCHASE_REQUEST_VIEW']}}" loading="{{loading}}"
is-login="{{isLogin}}" bind:handleLogin="handleLogin">
<search-popup placeholder="输入单据编号" bind:change="searchChange" bind:ok="searchOk"
bind:reset="searchReset" value="{{params.bill_no}}" data-key="bill_no">
<view slot="content">
<!-- <search-input label="供应商名称" value="{{params.crm_name}}" data-key="crm_name"
bind:change="searchChange2" />
<search-input label="结算账户" value="{{params.account_name}}" data-key="account_name"
bind:change="searchChange2" />
<search-input label="关联单据" value="{{params.rel_bill_no}}" data-key="rel_bill_no"
bind:change="searchChange2" /> -->
<!-- <option-cell-plugin title="单据状态" bind:change="onOptionChange" value="{{params.states}}"
mode="checkbox" options="{{states}}" data-key="states" /> -->
<date-picker-plugin title="单据开始日期" value="{{params.bill_dateL}}" data-key="bill_dateL"
bind:confirm="datePickerConfirm" />
<date-picker-plugin title="单据结束日期" value="{{params.bill_dateU}}" data-key="bill_dateU"
bind:confirm="datePickerConfirm" />
<!-- <date-picker-plugin title="创建开始日期" value="{{params.create_dateL}}" data-key="create_dateL"
bind:confirm="datePickerConfirm" />
<date-picker-plugin title="创建结束日期" value="{{params.create_dateU}}" data-key="create_dateU"
bind:confirm="datePickerConfirm" /> -->
</view>
</search-popup>
<count-plugin count="{{count}}">
<!-- <sort-plugin options="{{sort}}" bind:ok="onSort" value="{{params.order}}" slot="right" /> -->
</count-plugin>
<empty-plugin wx:if="{{list.length == 0}}" />
<card-plugin wx:for="{{ list }}" wx:key="bill_no">
<view slot="header">{{ item.bill_no }}</view>
<view slot="content">
<card-item-plugin label="单据日期" value="{{item.bill_date}}" />
<card-item-plugin label="操作员">
<view slot="value">
{{item.creator_name}}
<text wx:if="{{item.creator_nick_name}}">({{item.creator_nick_name}})</text>
</view>
</card-item-plugin>
<card-item-plugin label="数量" value="{{item.total_quantity}}" />
<card-item-plugin label="备注" value="{{item.comments}}" />
<card-item-plugin label="创建日期" value="{{item.create_date}}" />
</view>
<view slot="footer" class="card-plugin-footer">
<t-button wx:if="{{authInfo['SF_ERP_PURCHASE_REQUEST_DEL']}}" size="small" theme="danger"
bind:tap="onOrderDel" data-index="{{index}}">删除</t-button>
</view>
</card-plugin>
<pagination-plugin curr_page="{{params.curr_page}}" page_count="{{params.page_count}}"
total="{{count}}" bind:change="paginationChange" />
</page-plugin>

View File

@@ -45,6 +45,11 @@ export const menuConfig = [
icon: 'cart-add', icon: 'cart-add',
iconColor: iconColor, iconColor: iconColor,
children: [ children: [
{
title: '请购订单',
url: '/pages/purchase/requestOrder/requestOrder',
auth: 'SF_ERP_PURCHASE_REQUEST_VIEW',
},
{ {
title: '采购订单', title: '采购订单',
url: '/pages/purchase/buyOrder/buyOrder', url: '/pages/purchase/buyOrder/buyOrder',
@@ -55,6 +60,11 @@ export const menuConfig = [
url: '/pages/purchase/buyInOrder/buyInOrder', url: '/pages/purchase/buyInOrder/buyInOrder',
auth: 'SF_ERP_PURCHASE_STORE_VIEW', auth: 'SF_ERP_PURCHASE_STORE_VIEW',
}, },
{
title: '采购退货',
url: '/pages/purchase/backOrder/backOrder',
auth: 'SF_ERP_PURCHASE_BACK_VIEW',
},
], ],
}, },
{ {
@@ -84,4 +94,26 @@ export const menuConfig = [
}, },
], ],
}, },
{
title: '基础资料',
icon: 'grid-view',
iconColor: iconColor,
children: [
{
title: '供应商',
url: '/pages/base/supplier/supplier',
auth: 'SF_ERP_SUPPLIER_VIEW',
},
{
title: '经销商',
url: '/pages/base/customer/customer',
auth: 'SF_ERP_CUSTOMER_VIEW',
},
{
title: '结算账户',
url: '/pages/base/account/account',
auth: 'SF_ERP_ACCOUNT_VIEW',
},
],
},
]; ];