Merge branch 'temp' of http://123.60.103.97:3000/xuziqiang/SaaS-lib into temp
@@ -57,4 +57,6 @@ export enum carbonInventoryCheck {
|
||||
updateTable = '/carbon-smart/api/carbon/inventory/details/update',
|
||||
// 排放统计接口
|
||||
emissionStatistic = '/carbon-smart/api/carbon/inventory/emissionStatistic',
|
||||
// 碳排流向
|
||||
carbonFlowDirection = '/carbon-smart/api/carbon/inventory/carbonFlowDirection',
|
||||
}
|
||||
|
@@ -40,7 +40,7 @@ export const dict = async ({
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取所有枚举(无需传参)
|
||||
* 获取所有枚举(参数为数组,可以不传参)
|
||||
*/
|
||||
export const getAllEnum = async ({
|
||||
api = `${BASE_URL}/operation/enum/getAllEnum`,
|
||||
|
4
hx-ai-intelligent/src/icon/carbonAssetsAdd.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="17.0361328125" height="17.0360107421875" viewBox="0 0 17.0361328125 17.0360107421875" fill="none">
|
||||
<path d="M17.0359 5.94873L17.0359 11.0863L11.0862 11.0863L11.0862 17.036L5.94867 17.036L5.94867 11.0863L0 11.0863L0 5.94873L5.94869 5.94873L5.94869 0L11.0863 0L11.0863 5.94873L17.0359 5.94873Z" fill="#3E52B9" >
|
||||
</path>
|
||||
</svg>
|
After Width: | Height: | Size: 417 B |
6
hx-ai-intelligent/src/icon/carbonAssetsEqual.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="17" height="14.1375732421875" viewBox="0 0 17 14.1375732421875" fill="none">
|
||||
<path d="M17 0L17 5.13757L11.0629 5.13757L5.93613 5.13757L0 5.13757L0 0L5.93616 0L11.0629 0L17 0Z" fill="#3E52B9" >
|
||||
</path>
|
||||
<path d="M17 9L17 14.1376L11.0629 14.1376L5.93613 14.1376L0 14.1376L0 9L5.93616 9L11.0629 9L17 9Z" fill="#3E52B9" >
|
||||
</path>
|
||||
</svg>
|
After Width: | Height: | Size: 426 B |
4
hx-ai-intelligent/src/icon/carbonAssetsIncrease.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20.54931640625" height="17.613525390625" viewBox="0 0 20.54931640625 17.613525390625" fill="none">
|
||||
<path d="M1.46779 0L1.46779 17.6135L0 17.6135L0 0L1.46779 0ZM20.5491 16.1457L20.5491 17.6135L1.46779 17.6135L1.46779 16.1457L20.5491 16.1457ZM18.5088 2.47763C18.7465 2.18253 19.1699 2.11691 19.4858 2.32623C19.8017 2.53557 19.9062 2.95096 19.7271 3.28491L19.6537 3.39352L13.3628 11.2579L8.89921 8.28275L3.4537 13.7282C3.20333 13.9783 2.81015 14.0141 2.51873 13.8134L2.41599 13.7297C2.16556 13.4787 2.13036 13.0846 2.33232 12.7933L2.41599 12.6905L8.7128 6.39369L13.0575 9.28964L18.5088 2.47763Z" fill="#00CB94" >
|
||||
</path>
|
||||
</svg>
|
After Width: | Height: | Size: 717 B |
4
hx-ai-intelligent/src/icon/carbonAssetsLower.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20.54931640625" height="17.613525390625" viewBox="0 0 20.54931640625 17.613525390625" fill="none">
|
||||
<path d="M1.46779 0L1.46779 17.6135L0 17.6135L0 0L1.46779 0ZM20.5491 16.1457L20.5491 17.6135L1.46779 17.6135L1.46779 16.1457L20.5491 16.1457ZM18.5088 2.47763C18.7465 2.18253 19.1699 2.11691 19.4858 2.32623C19.8017 2.53557 19.9062 2.95096 19.7271 3.28491L19.6537 3.39352L13.3628 11.2579L8.89921 8.28275L3.4537 13.7282C3.20333 13.9783 2.81015 14.0141 2.51873 13.8134L2.41599 13.7297C2.16556 13.4787 2.13036 13.0846 2.33232 12.7933L2.41599 12.6905L8.7128 6.39369L13.0575 9.28964L18.5088 2.47763Z" fill="#F36163" >
|
||||
</path>
|
||||
</svg>
|
After Width: | Height: | Size: 717 B |
26
hx-ai-intelligent/src/icon/carbonAssetsMoney-1.svg
Normal file
@@ -0,0 +1,26 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="84" height="84" viewBox="0 0 84 84" fill="none">
|
||||
<g filter="url(#filter_eec935c6-67f7-4bda-bd4d-8f0e64c10f7d)">
|
||||
<rect x="8" y="5" width="68" height="68" rx="12" fill="url(#linear_fill_eec935c6-67f7-4bda-bd4d-8f0e64c10f7d_0)" >
|
||||
</rect>
|
||||
</g>
|
||||
<path d="M26.7509 28.8717L29.3303 28.8717C30.62 28.8717 31.2628 29.5146 31.2628 30.8043C31.2628 32.094 30.62 32.7368 29.3303 32.7368L26.7509 32.7368C25.4612 32.7368 24.8184 32.094 24.8184 30.8043C24.8184 29.5186 25.4612 28.8717 26.7509 28.8717ZM26.7509 36.6099L29.3303 36.6099C30.62 36.6099 31.2628 37.2528 31.2628 38.5425C31.2628 39.8321 30.62 40.475 29.3303 40.475L26.7509 40.475C25.4612 40.475 24.8184 39.8321 24.8184 38.5425C24.8184 37.2528 25.4612 36.6099 26.7509 36.6099ZM26.7509 44.3441L29.3303 44.3441C30.62 44.3441 31.2628 44.9869 31.2628 46.2766C31.2628 47.5663 30.62 48.2091 29.3303 48.2091L26.7509 48.2091C25.4612 48.2091 24.8184 47.5663 24.8184 46.2766C24.8184 44.9869 25.4612 44.3441 26.7509 44.3441Z" fill="#FFFFFF" >
|
||||
</path>
|
||||
<path d="M56.4023 21.7844L30.6204 21.7844C29.1973 21.7844 28.041 22.9407 28.041 24.3638L28.041 52.7251C28.041 54.1483 29.1973 55.3045 30.6204 55.3045L56.4023 55.3045C57.8254 55.3045 58.9817 54.1483 58.9817 52.7251L58.9817 24.3598C58.9817 22.9367 57.8254 21.7844 56.4023 21.7844ZM47.5806 42.6663L43.291 42.6663L43.291 45.3184C43.291 45.8764 42.818 46.3292 42.2358 46.3292C41.6536 46.3292 41.1806 45.8764 41.1806 45.3184L41.1806 42.6663L36.8668 42.6663C36.2846 42.6663 35.8075 42.2135 35.8075 41.6555C35.8075 41.0976 36.2805 40.6448 36.8627 40.6448L41.1766 40.6448L41.1766 39.3632L36.8668 39.3632C36.2846 39.3632 35.8075 38.9104 35.8075 38.3524C35.8075 37.7945 36.2805 37.3417 36.8627 37.3417L39.7817 37.3417L36.794 32.2678C36.7859 32.2516 36.7738 32.2354 36.7657 32.2193C36.511 31.7382 36.697 31.1398 37.1781 30.8892C37.6794 30.6102 38.3141 30.7719 38.6214 31.2571L42.2196 37.3417L42.3975 37.3417L45.9958 31.2571C46.303 30.7719 46.9337 30.6102 47.4391 30.8892C47.4553 30.8972 47.4715 30.9053 47.4876 30.9175C47.9566 31.1964 48.1062 31.8028 47.8272 32.2718L44.8395 37.3457L47.5766 37.3457C48.1588 37.3457 48.6358 37.7985 48.6358 38.3565C48.6358 38.9144 48.1628 39.3672 47.5806 39.3672L43.2951 39.3672L43.2951 40.6488L47.5847 40.6488C48.1668 40.6488 48.6439 41.1016 48.6439 41.6596C48.6358 42.2135 48.1628 42.6663 47.5806 42.6663L47.5806 42.6663ZM56.4023 51.4354C56.4023 52.147 55.8242 52.7251 55.1126 52.7251L53.8229 52.7251L53.8229 24.3598L55.1126 24.3598C55.8242 24.3598 56.4023 24.9379 56.4023 25.6495L56.4023 51.4354Z" fill="#FFFFFF" >
|
||||
</path>
|
||||
<defs>
|
||||
<linearGradient id="linear_fill_eec935c6-67f7-4bda-bd4d-8f0e64c10f7d_0" x1="42" y1="5" x2="42" y2="73" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#FC8C4F" />
|
||||
<stop offset="1" stop-color="#EA6121" />
|
||||
</linearGradient>
|
||||
<filter id="filter_eec935c6-67f7-4bda-bd4d-8f0e64c10f7d" x="0" y="0" width="84" height="84" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="feFloodId_eec935c6-67f7-4bda-bd4d-8f0e64c10f7d"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha_eec935c6-67f7-4bda-bd4d-8f0e64c10f7d"/>
|
||||
<feOffset dx="0" dy="3"/>
|
||||
<feGaussianBlur stdDeviation="4"/>
|
||||
<feComposite in2="hardAlpha_eec935c6-67f7-4bda-bd4d-8f0e64c10f7d" operator="out"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0.8980392156862745 0 0 0 0 0.37254901960784315 0 0 0 0 0.12156862745098039 0 0 0 0.25 0"/>
|
||||
<feBlend mode="normal" in2="feFloodId_eec935c6-67f7-4bda-bd4d-8f0e64c10f7d" result="dropShadow_1_eec935c6-67f7-4bda-bd4d-8f0e64c10f7d"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="dropShadow_1_eec935c6-67f7-4bda-bd4d-8f0e64c10f7d" result="shape_eec935c6-67f7-4bda-bd4d-8f0e64c10f7d"/>
|
||||
</filter>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 3.8 KiB |
26
hx-ai-intelligent/src/icon/carbonAssetsMoney-2.svg
Normal file
@@ -0,0 +1,26 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="84" height="84" viewBox="0 0 84 84" fill="none">
|
||||
<g filter="url(#filter_544d4dae-a8dc-41b3-9e0a-c7ee7de3c1be)">
|
||||
<rect x="8" y="5" width="68" height="68" rx="12" fill="url(#linear_fill_544d4dae-a8dc-41b3-9e0a-c7ee7de3c1be_0)" >
|
||||
</rect>
|
||||
</g>
|
||||
<path d="M26.7509 28.8717L29.3303 28.8717C30.62 28.8717 31.2628 29.5146 31.2628 30.8043C31.2628 32.094 30.62 32.7368 29.3303 32.7368L26.7509 32.7368C25.4612 32.7368 24.8184 32.094 24.8184 30.8043C24.8184 29.5186 25.4612 28.8717 26.7509 28.8717ZM26.7509 36.6099L29.3303 36.6099C30.62 36.6099 31.2628 37.2528 31.2628 38.5425C31.2628 39.8321 30.62 40.475 29.3303 40.475L26.7509 40.475C25.4612 40.475 24.8184 39.8321 24.8184 38.5425C24.8184 37.2528 25.4612 36.6099 26.7509 36.6099ZM26.7509 44.3441L29.3303 44.3441C30.62 44.3441 31.2628 44.9869 31.2628 46.2766C31.2628 47.5663 30.62 48.2091 29.3303 48.2091L26.7509 48.2091C25.4612 48.2091 24.8184 47.5663 24.8184 46.2766C24.8184 44.9869 25.4612 44.3441 26.7509 44.3441Z" fill="#FFFFFF" >
|
||||
</path>
|
||||
<path d="M56.4023 21.7844L30.6204 21.7844C29.1973 21.7844 28.041 22.9407 28.041 24.3638L28.041 52.7251C28.041 54.1483 29.1973 55.3045 30.6204 55.3045L56.4023 55.3045C57.8254 55.3045 58.9817 54.1483 58.9817 52.7251L58.9817 24.3598C58.9817 22.9367 57.8254 21.7844 56.4023 21.7844ZM47.5806 42.6663L43.291 42.6663L43.291 45.3184C43.291 45.8764 42.818 46.3292 42.2358 46.3292C41.6536 46.3292 41.1806 45.8764 41.1806 45.3184L41.1806 42.6663L36.8668 42.6663C36.2846 42.6663 35.8075 42.2135 35.8075 41.6555C35.8075 41.0976 36.2805 40.6448 36.8627 40.6448L41.1766 40.6448L41.1766 39.3632L36.8668 39.3632C36.2846 39.3632 35.8075 38.9104 35.8075 38.3524C35.8075 37.7945 36.2805 37.3417 36.8627 37.3417L39.7817 37.3417L36.794 32.2678C36.7859 32.2516 36.7738 32.2354 36.7657 32.2193C36.511 31.7382 36.697 31.1398 37.1781 30.8892C37.6794 30.6102 38.3141 30.7719 38.6214 31.2571L42.2196 37.3417L42.3975 37.3417L45.9958 31.2571C46.303 30.7719 46.9337 30.6102 47.4391 30.8892C47.4553 30.8972 47.4715 30.9053 47.4876 30.9175C47.9566 31.1964 48.1062 31.8028 47.8272 32.2718L44.8395 37.3457L47.5766 37.3457C48.1588 37.3457 48.6358 37.7985 48.6358 38.3565C48.6358 38.9144 48.1628 39.3672 47.5806 39.3672L43.2951 39.3672L43.2951 40.6488L47.5847 40.6488C48.1668 40.6488 48.6439 41.1016 48.6439 41.6596C48.6358 42.2135 48.1628 42.6663 47.5806 42.6663L47.5806 42.6663ZM56.4023 51.4354C56.4023 52.147 55.8242 52.7251 55.1126 52.7251L53.8229 52.7251L53.8229 24.3598L55.1126 24.3598C55.8242 24.3598 56.4023 24.9379 56.4023 25.6495L56.4023 51.4354Z" fill="#FFFFFF" >
|
||||
</path>
|
||||
<defs>
|
||||
<linearGradient id="linear_fill_544d4dae-a8dc-41b3-9e0a-c7ee7de3c1be_0" x1="42" y1="5" x2="42" y2="73" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#F26847" />
|
||||
<stop offset="1" stop-color="#E32626" />
|
||||
</linearGradient>
|
||||
<filter id="filter_544d4dae-a8dc-41b3-9e0a-c7ee7de3c1be" x="0" y="0" width="84" height="84" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="feFloodId_544d4dae-a8dc-41b3-9e0a-c7ee7de3c1be"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha_544d4dae-a8dc-41b3-9e0a-c7ee7de3c1be"/>
|
||||
<feOffset dx="0" dy="3"/>
|
||||
<feGaussianBlur stdDeviation="4"/>
|
||||
<feComposite in2="hardAlpha_544d4dae-a8dc-41b3-9e0a-c7ee7de3c1be" operator="out"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0.8941176470588236 0 0 0 0 0.16862745098039217 0 0 0 0 0.1607843137254902 0 0 0 0.25 0"/>
|
||||
<feBlend mode="normal" in2="feFloodId_544d4dae-a8dc-41b3-9e0a-c7ee7de3c1be" result="dropShadow_1_544d4dae-a8dc-41b3-9e0a-c7ee7de3c1be"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="dropShadow_1_544d4dae-a8dc-41b3-9e0a-c7ee7de3c1be" result="shape_544d4dae-a8dc-41b3-9e0a-c7ee7de3c1be"/>
|
||||
</filter>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 3.8 KiB |
26
hx-ai-intelligent/src/icon/carbonAssetsMoney-3.svg
Normal file
@@ -0,0 +1,26 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="84" height="84" viewBox="0 0 84 84" fill="none">
|
||||
<g filter="url(#filter_b620147f-da0e-4423-aa25-44ecd35ffc0e)">
|
||||
<rect x="8" y="5" width="68" height="68" rx="12" fill="url(#linear_fill_b620147f-da0e-4423-aa25-44ecd35ffc0e_0)" >
|
||||
</rect>
|
||||
</g>
|
||||
<path d="M26.7509 28.8717L29.3303 28.8717C30.62 28.8717 31.2628 29.5146 31.2628 30.8043C31.2628 32.094 30.62 32.7368 29.3303 32.7368L26.7509 32.7368C25.4612 32.7368 24.8184 32.094 24.8184 30.8043C24.8184 29.5186 25.4612 28.8717 26.7509 28.8717ZM26.7509 36.6099L29.3303 36.6099C30.62 36.6099 31.2628 37.2528 31.2628 38.5425C31.2628 39.8321 30.62 40.475 29.3303 40.475L26.7509 40.475C25.4612 40.475 24.8184 39.8321 24.8184 38.5425C24.8184 37.2528 25.4612 36.6099 26.7509 36.6099ZM26.7509 44.3441L29.3303 44.3441C30.62 44.3441 31.2628 44.9869 31.2628 46.2766C31.2628 47.5663 30.62 48.2091 29.3303 48.2091L26.7509 48.2091C25.4612 48.2091 24.8184 47.5663 24.8184 46.2766C24.8184 44.9869 25.4612 44.3441 26.7509 44.3441Z" fill="#FFFFFF" >
|
||||
</path>
|
||||
<path d="M56.4023 21.7844L30.6204 21.7844C29.1973 21.7844 28.041 22.9407 28.041 24.3638L28.041 52.7251C28.041 54.1483 29.1973 55.3045 30.6204 55.3045L56.4023 55.3045C57.8254 55.3045 58.9817 54.1483 58.9817 52.7251L58.9817 24.3598C58.9817 22.9367 57.8254 21.7844 56.4023 21.7844ZM47.5806 42.6663L43.291 42.6663L43.291 45.3184C43.291 45.8764 42.818 46.3292 42.2358 46.3292C41.6536 46.3292 41.1806 45.8764 41.1806 45.3184L41.1806 42.6663L36.8668 42.6663C36.2846 42.6663 35.8075 42.2135 35.8075 41.6555C35.8075 41.0976 36.2805 40.6448 36.8627 40.6448L41.1766 40.6448L41.1766 39.3632L36.8668 39.3632C36.2846 39.3632 35.8075 38.9104 35.8075 38.3524C35.8075 37.7945 36.2805 37.3417 36.8627 37.3417L39.7817 37.3417L36.794 32.2678C36.7859 32.2516 36.7738 32.2354 36.7657 32.2193C36.511 31.7382 36.697 31.1398 37.1781 30.8892C37.6794 30.6102 38.3141 30.7719 38.6214 31.2571L42.2196 37.3417L42.3975 37.3417L45.9958 31.2571C46.303 30.7719 46.9337 30.6102 47.4391 30.8892C47.4553 30.8972 47.4715 30.9053 47.4876 30.9175C47.9566 31.1964 48.1062 31.8028 47.8272 32.2718L44.8395 37.3457L47.5766 37.3457C48.1588 37.3457 48.6358 37.7985 48.6358 38.3565C48.6358 38.9144 48.1628 39.3672 47.5806 39.3672L43.2951 39.3672L43.2951 40.6488L47.5847 40.6488C48.1668 40.6488 48.6439 41.1016 48.6439 41.6596C48.6358 42.2135 48.1628 42.6663 47.5806 42.6663L47.5806 42.6663ZM56.4023 51.4354C56.4023 52.147 55.8242 52.7251 55.1126 52.7251L53.8229 52.7251L53.8229 24.3598L55.1126 24.3598C55.8242 24.3598 56.4023 24.9379 56.4023 25.6495L56.4023 51.4354Z" fill="#FFFFFF" >
|
||||
</path>
|
||||
<defs>
|
||||
<linearGradient id="linear_fill_b620147f-da0e-4423-aa25-44ecd35ffc0e_0" x1="42" y1="5" x2="42" y2="73" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#4DACE6" />
|
||||
<stop offset="1" stop-color="#2A93D5" />
|
||||
</linearGradient>
|
||||
<filter id="filter_b620147f-da0e-4423-aa25-44ecd35ffc0e" x="0" y="0" width="84" height="84" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="feFloodId_b620147f-da0e-4423-aa25-44ecd35ffc0e"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha_b620147f-da0e-4423-aa25-44ecd35ffc0e"/>
|
||||
<feOffset dx="0" dy="3"/>
|
||||
<feGaussianBlur stdDeviation="4"/>
|
||||
<feComposite in2="hardAlpha_b620147f-da0e-4423-aa25-44ecd35ffc0e" operator="out"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0.17254901960784313 0 0 0 0 0.5843137254901961 0 0 0 0 0.8392156862745098 0 0 0 0.22 0"/>
|
||||
<feBlend mode="normal" in2="feFloodId_b620147f-da0e-4423-aa25-44ecd35ffc0e" result="dropShadow_1_b620147f-da0e-4423-aa25-44ecd35ffc0e"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="dropShadow_1_b620147f-da0e-4423-aa25-44ecd35ffc0e" result="shape_b620147f-da0e-4423-aa25-44ecd35ffc0e"/>
|
||||
</filter>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 3.8 KiB |
26
hx-ai-intelligent/src/icon/carbonAssetsMoney-4.svg
Normal file
@@ -0,0 +1,26 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="84" height="84" viewBox="0 0 84 84" fill="none">
|
||||
<g filter="url(#filter_9c974d30-8f60-4eb1-9267-08197bcf70d5)">
|
||||
<rect x="8" y="5" width="68" height="68" rx="12" fill="url(#linear_fill_9c974d30-8f60-4eb1-9267-08197bcf70d5_0)" >
|
||||
</rect>
|
||||
</g>
|
||||
<path d="M26.7509 28.8717L29.3303 28.8717C30.62 28.8717 31.2628 29.5146 31.2628 30.8043C31.2628 32.094 30.62 32.7368 29.3303 32.7368L26.7509 32.7368C25.4612 32.7368 24.8184 32.094 24.8184 30.8043C24.8184 29.5186 25.4612 28.8717 26.7509 28.8717ZM26.7509 36.6099L29.3303 36.6099C30.62 36.6099 31.2628 37.2528 31.2628 38.5425C31.2628 39.8321 30.62 40.475 29.3303 40.475L26.7509 40.475C25.4612 40.475 24.8184 39.8321 24.8184 38.5425C24.8184 37.2528 25.4612 36.6099 26.7509 36.6099ZM26.7509 44.3441L29.3303 44.3441C30.62 44.3441 31.2628 44.9869 31.2628 46.2766C31.2628 47.5663 30.62 48.2091 29.3303 48.2091L26.7509 48.2091C25.4612 48.2091 24.8184 47.5663 24.8184 46.2766C24.8184 44.9869 25.4612 44.3441 26.7509 44.3441Z" fill="#FFFFFF" >
|
||||
</path>
|
||||
<path d="M56.4023 21.7844L30.6204 21.7844C29.1973 21.7844 28.041 22.9407 28.041 24.3638L28.041 52.7251C28.041 54.1483 29.1973 55.3045 30.6204 55.3045L56.4023 55.3045C57.8254 55.3045 58.9817 54.1483 58.9817 52.7251L58.9817 24.3598C58.9817 22.9367 57.8254 21.7844 56.4023 21.7844ZM47.5806 42.6663L43.291 42.6663L43.291 45.3184C43.291 45.8764 42.818 46.3292 42.2358 46.3292C41.6536 46.3292 41.1806 45.8764 41.1806 45.3184L41.1806 42.6663L36.8668 42.6663C36.2846 42.6663 35.8075 42.2135 35.8075 41.6555C35.8075 41.0976 36.2805 40.6448 36.8627 40.6448L41.1766 40.6448L41.1766 39.3632L36.8668 39.3632C36.2846 39.3632 35.8075 38.9104 35.8075 38.3524C35.8075 37.7945 36.2805 37.3417 36.8627 37.3417L39.7817 37.3417L36.794 32.2678C36.7859 32.2516 36.7738 32.2354 36.7657 32.2193C36.511 31.7382 36.697 31.1398 37.1781 30.8892C37.6794 30.6102 38.3141 30.7719 38.6214 31.2571L42.2196 37.3417L42.3975 37.3417L45.9958 31.2571C46.303 30.7719 46.9337 30.6102 47.4391 30.8892C47.4553 30.8972 47.4715 30.9053 47.4876 30.9175C47.9566 31.1964 48.1062 31.8028 47.8272 32.2718L44.8395 37.3457L47.5766 37.3457C48.1588 37.3457 48.6358 37.7985 48.6358 38.3565C48.6358 38.9144 48.1628 39.3672 47.5806 39.3672L43.2951 39.3672L43.2951 40.6488L47.5847 40.6488C48.1668 40.6488 48.6439 41.1016 48.6439 41.6596C48.6358 42.2135 48.1628 42.6663 47.5806 42.6663L47.5806 42.6663ZM56.4023 51.4354C56.4023 52.147 55.8242 52.7251 55.1126 52.7251L53.8229 52.7251L53.8229 24.3598L55.1126 24.3598C55.8242 24.3598 56.4023 24.9379 56.4023 25.6495L56.4023 51.4354Z" fill="#FFFFFF" >
|
||||
</path>
|
||||
<defs>
|
||||
<linearGradient id="linear_fill_9c974d30-8f60-4eb1-9267-08197bcf70d5_0" x1="42" y1="5" x2="42" y2="73" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#2BC69C" />
|
||||
<stop offset="1" stop-color="#0CA87E" />
|
||||
</linearGradient>
|
||||
<filter id="filter_9c974d30-8f60-4eb1-9267-08197bcf70d5" x="0" y="0" width="84" height="84" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="feFloodId_9c974d30-8f60-4eb1-9267-08197bcf70d5"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha_9c974d30-8f60-4eb1-9267-08197bcf70d5"/>
|
||||
<feOffset dx="0" dy="3"/>
|
||||
<feGaussianBlur stdDeviation="4"/>
|
||||
<feComposite in2="hardAlpha_9c974d30-8f60-4eb1-9267-08197bcf70d5" operator="out"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0.10588235294117647 0 0 0 0 0.6705882352941176 0 0 0 0 0.7764705882352941 0 0 0 0.25 0"/>
|
||||
<feBlend mode="normal" in2="feFloodId_9c974d30-8f60-4eb1-9267-08197bcf70d5" result="dropShadow_1_9c974d30-8f60-4eb1-9267-08197bcf70d5"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="dropShadow_1_9c974d30-8f60-4eb1-9267-08197bcf70d5" result="shape_9c974d30-8f60-4eb1-9267-08197bcf70d5"/>
|
||||
</filter>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 3.8 KiB |
4
hx-ai-intelligent/src/icon/carbonAssetsReduce.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="17" height="5.1375732421875" viewBox="0 0 17 5.1375732421875" fill="none">
|
||||
<path d="M17 0L17 5.13757L11.0629 5.13757L5.93613 5.13757L0 5.13757L0 0L5.93616 0L11.0629 0L17 0Z" fill="#3E52B9" >
|
||||
</path>
|
||||
</svg>
|
After Width: | Height: | Size: 298 B |
6
hx-ai-intelligent/src/icon/carbonAssetsSearch-1.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="37px" height="37px" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="matrix(1 0 0 1 -738 -62 )">
|
||||
<path d="M 32 16.17637875390625 L 32 5 L 5 5 L 5 32 L 16.17637875390625 32 L 16.17637875390625 37 L 0 37 L 0 0 L 37 0 L 37 16.17637875390625 L 32 16.17637875390625 Z M 6.9478248789666415 18.66767607469059 C 6.9478248789666415 15.5442205297455 8.189402439205798 12.548862312376832 10.3991006171875 10.341327827148438 C 12.604273280037184 8.143662959434554 15.590626658621316 6.909656880840238 18.703907459282163 6.909656880840238 C 25.201454239889483 6.909656880840238 30.46875662920404 12.176959270154791 30.46875662920404 18.674506050762112 C 30.46875662920404 20.983959083452117 29.789040393343488 23.24233673232217 28.514333895507814 25.16813439941406 L 36.990756359375 33.66766596484375 L 33.6653550546875 36.99768908984375 L 25.18893259082031 28.49815752441406 C 23.267562429817577 29.7630406080517 21.01764204116391 30.43714706492497 18.717295869201017 30.43714706492497 C 12.217196527718643 30.43714706492497 6.9478248789666415 25.167775416172965 6.9478248789666415 18.66767607469059 Z M 18.53350819726563 25.387670972656252 L 18.526575466796874 25.387670972656245 C 18.537359653048604 25.387721182280185 18.54814394157355 25.387746287194187 18.558928244709044 25.387746287194187 C 22.396705336309363 25.387746287194187 25.50783837263873 22.27661325086481 25.50783837263873 18.438836159264497 C 25.50783837263873 14.601059067664185 22.396705336309363 11.48992603133481 18.558928244709044 11.48992603133481 C 14.72118056523231 11.48992603133481 11.610059711939467 14.601013165475232 11.610018117187504 18.438760844726563 C 11.6100055260099 18.44415500501238 11.609999230414665 18.449549178157536 11.609999230414665 18.45494335313865 C 11.609999230414665 22.280184472224335 14.70827046453852 25.38258105471001 18.53350819726563 25.387670972656252 Z " fill-rule="nonzero" fill="#e4793f" stroke="none" transform="matrix(1 0 0 1 738 62 )" />
|
||||
</g>
|
||||
</svg>
|
6
hx-ai-intelligent/src/icon/carbonAssetsSearch-2.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="37px" height="37px" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="matrix(1 0 0 1 -738 -62 )">
|
||||
<path d="M 32 16.17637875390625 L 32 5 L 5 5 L 5 32 L 16.17637875390625 32 L 16.17637875390625 37 L 0 37 L 0 0 L 37 0 L 37 16.17637875390625 L 32 16.17637875390625 Z M 6.9478248789666415 18.66767607469059 C 6.9478248789666415 15.5442205297455 8.189402439205798 12.548862312376832 10.3991006171875 10.341327827148438 C 12.604273280037184 8.143662959434554 15.590626658621316 6.909656880840238 18.703907459282163 6.909656880840238 C 25.201454239889483 6.909656880840238 30.46875662920404 12.176959270154791 30.46875662920404 18.674506050762112 C 30.46875662920404 20.983959083452117 29.789040393343488 23.24233673232217 28.514333895507814 25.16813439941406 L 36.990756359375 33.66766596484375 L 33.6653550546875 36.99768908984375 L 25.18893259082031 28.49815752441406 C 23.267562429817577 29.7630406080517 21.01764204116391 30.43714706492497 18.717295869201017 30.43714706492497 C 12.217196527718643 30.43714706492497 6.9478248789666415 25.167775416172965 6.9478248789666415 18.66767607469059 Z M 18.53350819726563 25.387670972656252 L 18.526575466796874 25.387670972656245 C 18.537359653048604 25.387721182280185 18.54814394157355 25.387746287194187 18.558928244709044 25.387746287194187 C 22.396705336309363 25.387746287194187 25.50783837263873 22.27661325086481 25.50783837263873 18.438836159264497 C 25.50783837263873 14.601059067664185 22.396705336309363 11.48992603133481 18.558928244709044 11.48992603133481 C 14.72118056523231 11.48992603133481 11.610059711939467 14.601013165475232 11.610018117187504 18.438760844726563 C 11.6100055260099 18.44415500501238 11.609999230414665 18.449549178157536 11.609999230414665 18.45494335313865 C 11.609999230414665 22.280184472224335 14.70827046453852 25.38258105471001 18.53350819726563 25.387670972656252 Z " fill-rule="nonzero" fill="#e93f33" stroke="none" transform="matrix(1 0 0 1 738 62 )" />
|
||||
</g>
|
||||
</svg>
|
6
hx-ai-intelligent/src/icon/carbonAssetsSearch-3.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="37px" height="37px" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="matrix(1 0 0 1 -738 -62 )">
|
||||
<path d="M 32 16.17637875390625 L 32 5 L 5 5 L 5 32 L 16.17637875390625 32 L 16.17637875390625 37 L 0 37 L 0 0 L 37 0 L 37 16.17637875390625 L 32 16.17637875390625 Z M 6.9478248789666415 18.66767607469059 C 6.9478248789666415 15.5442205297455 8.189402439205798 12.548862312376832 10.3991006171875 10.341327827148438 C 12.604273280037184 8.143662959434554 15.590626658621316 6.909656880840238 18.703907459282163 6.909656880840238 C 25.201454239889483 6.909656880840238 30.46875662920404 12.176959270154791 30.46875662920404 18.674506050762112 C 30.46875662920404 20.983959083452117 29.789040393343488 23.24233673232217 28.514333895507814 25.16813439941406 L 36.990756359375 33.66766596484375 L 33.6653550546875 36.99768908984375 L 25.18893259082031 28.49815752441406 C 23.267562429817577 29.7630406080517 21.01764204116391 30.43714706492497 18.717295869201017 30.43714706492497 C 12.217196527718643 30.43714706492497 6.9478248789666415 25.167775416172965 6.9478248789666415 18.66767607469059 Z M 18.53350819726563 25.387670972656252 L 18.526575466796874 25.387670972656245 C 18.537359653048604 25.387721182280185 18.54814394157355 25.387746287194187 18.558928244709044 25.387746287194187 C 22.396705336309363 25.387746287194187 25.50783837263873 22.27661325086481 25.50783837263873 18.438836159264497 C 25.50783837263873 14.601059067664185 22.396705336309363 11.48992603133481 18.558928244709044 11.48992603133481 C 14.72118056523231 11.48992603133481 11.610059711939467 14.601013165475232 11.610018117187504 18.438760844726563 C 11.6100055260099 18.44415500501238 11.609999230414665 18.449549178157536 11.609999230414665 18.45494335313865 C 11.609999230414665 22.280184472224335 14.70827046453852 25.38258105471001 18.53350819726563 25.387670972656252 Z " fill-rule="nonzero" fill="#3da1de" stroke="none" transform="matrix(1 0 0 1 738 62 )" />
|
||||
</g>
|
||||
</svg>
|
10
hx-ai-intelligent/src/icon/carbonAssetsTitle-1.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
||||
<path d="M21.3027 3C22.5436 3 23.5588 4.01523 23.5588 5.25607L23.5588 9.76826L16.7905 9.76826C15.5497 9.76826 14.5345 10.7835 14.5345 12.0243C14.5345 13.2652 15.4369 14.1676 16.6777 14.2804L23.5588 14.2804L23.5588 18.7926C23.5588 20.0334 22.5436 21.0487 21.3027 21.0487L3.25412 21.0487C2.01329 21.0487 0.998047 20.0334 0.998047 18.7926L0.998047 5.25607C0.998047 4.01521 2.01329 3 3.25412 3L21.3027 3L21.3027 3ZM16.7905 10.8963C17.4674 10.8963 17.9186 11.3475 17.9186 12.0243C17.9186 12.7011 17.4674 13.1524 16.7905 13.1524C16.1137 13.1524 15.6625 12.7011 15.6625 12.0243C15.6625 11.3475 16.1137 10.8963 16.7905 10.8963Z" fill="url(#linear_fill_c1a3a87a-2a79-455c-9cce-8195f0e3585e)" >
|
||||
</path>
|
||||
<defs>
|
||||
<linearGradient id="linear_fill_c1a3a87a-2a79-455c-9cce-8195f0e3585e" x1="12.2783203125" y1="3" x2="12.2783203125" y2="21.04864501953125" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#FC8C4F" />
|
||||
<stop offset="1" stop-color="#EA6121" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
10
hx-ai-intelligent/src/icon/carbonAssetsTitle-2.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
||||
<path d="M21.3027 3C22.5436 3 23.5588 4.01523 23.5588 5.25607L23.5588 9.76826L16.7905 9.76826C15.5497 9.76826 14.5345 10.7835 14.5345 12.0243C14.5345 13.2652 15.4369 14.1676 16.6777 14.2804L23.5588 14.2804L23.5588 18.7926C23.5588 20.0334 22.5436 21.0487 21.3027 21.0487L3.25412 21.0487C2.01329 21.0487 0.998047 20.0334 0.998047 18.7926L0.998047 5.25607C0.998047 4.01521 2.01329 3 3.25412 3L21.3027 3L21.3027 3ZM16.7905 10.8963C17.4674 10.8963 17.9186 11.3475 17.9186 12.0243C17.9186 12.7011 17.4674 13.1524 16.7905 13.1524C16.1137 13.1524 15.6625 12.7011 15.6625 12.0243C15.6625 11.3475 16.1137 10.8963 16.7905 10.8963Z" fill="url(#linear_fill_044bf605-9214-4929-83c4-289a430e638e)" >
|
||||
</path>
|
||||
<defs>
|
||||
<linearGradient id="linear_fill_044bf605-9214-4929-83c4-289a430e638e" x1="12.2783203125" y1="3" x2="12.2783203125" y2="21.04864501953125" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#F26847" />
|
||||
<stop offset="1" stop-color="#E32626" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
10
hx-ai-intelligent/src/icon/carbonAssetsTitle-3.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
||||
<path d="M21.3027 3C22.5436 3 23.5588 4.01523 23.5588 5.25607L23.5588 9.76826L16.7905 9.76826C15.5497 9.76826 14.5345 10.7835 14.5345 12.0243C14.5345 13.2652 15.4369 14.1676 16.6777 14.2804L23.5588 14.2804L23.5588 18.7926C23.5588 20.0334 22.5436 21.0487 21.3027 21.0487L3.25412 21.0487C2.01329 21.0487 0.998047 20.0334 0.998047 18.7926L0.998047 5.25607C0.998047 4.01521 2.01329 3 3.25412 3L21.3027 3L21.3027 3ZM16.7905 10.8963C17.4674 10.8963 17.9186 11.3475 17.9186 12.0243C17.9186 12.7011 17.4674 13.1524 16.7905 13.1524C16.1137 13.1524 15.6625 12.7011 15.6625 12.0243C15.6625 11.3475 16.1137 10.8963 16.7905 10.8963Z" fill="url(#linear_fill_f3723b2f-4d9b-4dd0-ac83-4d0859f2fd52)" >
|
||||
</path>
|
||||
<defs>
|
||||
<linearGradient id="linear_fill_f3723b2f-4d9b-4dd0-ac83-4d0859f2fd52" x1="12.2783203125" y1="3" x2="12.2783203125" y2="21.04864501953125" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#4DACE6" />
|
||||
<stop offset="1" stop-color="#2A93D5" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
@@ -66,17 +66,17 @@ const equipment = {
|
||||
],
|
||||
},
|
||||
{
|
||||
path: 'carbonInventoryCheck',
|
||||
name: 'CarbonInventoryCheck',
|
||||
path: 'carbonAssets',
|
||||
name: 'CbonAssets',
|
||||
meta: { title: '碳资产', hideChildren: true, icon: 'tanpaiguanli' },
|
||||
component: Base,
|
||||
redirect: { name: 'CarbonInventoryCheckIndex' },
|
||||
redirect: { name: 'CarbonAssetsIndex' },
|
||||
children: [
|
||||
{
|
||||
path: 'index',
|
||||
name: 'CarbonInventoryCheckIndex',
|
||||
name: 'CarbonAssetsIndex',
|
||||
// component: () => import('/nerv-lib/saas/view/menuManage/index.vue'),
|
||||
component: () => import('/@/view/carbonEmissionManage/carbonInventoryCheck/index.vue'),
|
||||
component: () => import('/@/view/carbonEmissionManage/carbonAssets/index.vue'),
|
||||
meta: {
|
||||
title: '碳资产',
|
||||
keepAlive: false,
|
||||
|
@@ -0,0 +1,28 @@
|
||||
<template>
|
||||
<div class="detailTable">
|
||||
</div>
|
||||
<div class="total"> </div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ref } from 'vue';
|
||||
import { http } from '/nerv-lib/util/http';
|
||||
defineOptions({
|
||||
energyType: 'carbonAssetsDetail', // 与页面路由name一致缓存才可生效
|
||||
});
|
||||
const orgId = ref('');
|
||||
const result = JSON.parse(sessionStorage.getItem('ORGID')!);
|
||||
orgId.value = result;
|
||||
const fetch = (api, params = { orgId }) => {
|
||||
return http.post(api, params);
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.detailTable {
|
||||
height: 80%;
|
||||
}
|
||||
.total {
|
||||
height: 20%;
|
||||
}
|
||||
</style>
|
@@ -0,0 +1,319 @@
|
||||
<template>
|
||||
<div class="mainContant" v-if="homePage">
|
||||
<a-card class="card" style="margin-right: 1%; margin-bottom: 1%">
|
||||
<div class="top" style="background: rgba(252, 139, 78, 0.05)">
|
||||
<div class="moneyImg"
|
||||
><img width="68px" height="68px" src="../../../../src/icon/carbonAssetsMoney-1.svg"
|
||||
/></div>
|
||||
<div class="moneyTitle">全国碳账户估值(CNY)</div>
|
||||
<div class="moneyTotal" style="color: rgba(229, 102, 22, 1)">300,000.00</div>
|
||||
<div class="moneyDetail"
|
||||
><img width="34px" height="34px" src="../../../../src/icon/carbonAssetsSearch-1.svg"
|
||||
/></div>
|
||||
</div>
|
||||
<div class="title">
|
||||
<img width="24px" height="24px" src="../../../../src/icon/carbonAssetsTitle-1.svg" />
|
||||
<span>全国碳账户余额</span>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="calculation TLCard">
|
||||
<div class="money">75,000.00</div>
|
||||
<div class="moneyType">期初余额(tCO2)</div>
|
||||
</div>
|
||||
<img width="17px" height="17px" src="../../../../src/icon/carbonAssetsAdd.svg" />
|
||||
<div class="calculation TLCard">
|
||||
<div class="money">20,000.00</div>
|
||||
<div class="moneyType">
|
||||
<img width="20px" height="17px" src="../../../../src/icon/carbonAssetsIncrease.svg" />
|
||||
增加(tCO2)
|
||||
</div>
|
||||
</div>
|
||||
<img width="17px" height="17px" src="../../../../src/icon/carbonAssetsReduce.svg" />
|
||||
<div class="calculation TLCard">
|
||||
<div class="money">20,000.00</div>
|
||||
<div class="moneyType">
|
||||
<img width="20px" height="17px" src="../../../../src/icon/carbonAssetsLower.svg" />
|
||||
减少(tCO2)
|
||||
</div>
|
||||
</div>
|
||||
<img width="17px" height="17px" src="../../../../src/icon/carbonAssetsEqual.svg" />
|
||||
<div class="calculation TLCard">
|
||||
<div class="money">75,000.00</div>
|
||||
<div class="moneyType">期末余额(tCO2)</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-card>
|
||||
<a-card class="card" style="margin-bottom: 1%">
|
||||
<div class="top" style="background: rgba(234, 71, 54, 0.05)">
|
||||
<div class="moneyImg"
|
||||
><img width="68px" height="68px" src="../../../../src/icon/carbonAssetsMoney-2.svg"
|
||||
/></div>
|
||||
<div class="moneyTitle">地方碳账户估值(CNY)</div>
|
||||
<div class="moneyTotal" style="color: rgba(229, 102, 22, 1)">300,000.00</div>
|
||||
<div class="moneyDetail"
|
||||
><img width="34px" height="34px" src="../../../../src/icon/carbonAssetsSearch-2.svg"
|
||||
/></div>
|
||||
</div>
|
||||
<div class="title">
|
||||
<img width="24px" height="24px" src="../../../../src/icon/carbonAssetsTitle-2.svg" />
|
||||
<span>地方碳账户余额</span>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="calculation TRCard">
|
||||
<div class="money">75,000.00</div>
|
||||
<div class="moneyType">期初余额(tCO2)</div>
|
||||
</div>
|
||||
<img width="17px" height="17px" src="../../../../src/icon/carbonAssetsAdd.svg" />
|
||||
<div class="calculation TRCard">
|
||||
<div class="money">20,000.00</div>
|
||||
<div class="moneyType">
|
||||
<img width="20px" height="17px" src="../../../../src/icon/carbonAssetsIncrease.svg" />
|
||||
增加(tCO2)
|
||||
</div>
|
||||
</div>
|
||||
<img width="17px" height="17px" src="../../../../src/icon/carbonAssetsReduce.svg" />
|
||||
<div class="calculation TRCard">
|
||||
<div class="money">20,000.00</div>
|
||||
<div class="moneyType">
|
||||
<img width="20px" height="17px" src="../../../../src/icon/carbonAssetsLower.svg" />
|
||||
减少(tCO2)
|
||||
</div>
|
||||
</div>
|
||||
<img width="17px" height="17px" src="../../../../src/icon/carbonAssetsEqual.svg" />
|
||||
<div class="calculation TRCard">
|
||||
<div class="money">75,000.00</div>
|
||||
<div class="moneyType">期末余额(tCO2)</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-card>
|
||||
<a-card class="card" style="margin-right: 1%">
|
||||
<div class="top" style="background: rgba(65, 163, 224, 0.05)">
|
||||
<div class="moneyImg"
|
||||
><img width="68px" height="68px" src="../../../../src/icon/carbonAssetsMoney-3.svg"
|
||||
/></div>
|
||||
<div class="moneyTitle">CCER资产估值(CNY)</div>
|
||||
<div class="moneyTotal" style="color: rgba(229, 102, 22, 1)">300,000.00</div>
|
||||
<div class="moneyDetail"
|
||||
><img width="34px" height="34px" src="../../../../src/icon/carbonAssetsSearch-3.svg"
|
||||
/></div>
|
||||
</div>
|
||||
<div class="title">
|
||||
<img width="24px" height="24px" src="../../../../src/icon/carbonAssetsTitle-3.svg" />
|
||||
<span>全国碳账户余额</span>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="calculation BLCard">
|
||||
<div class="money">75,000.00</div>
|
||||
<div class="moneyType">期初余额(tCO2)</div>
|
||||
</div>
|
||||
<img width="17px" height="17px" src="../../../../src/icon/carbonAssetsAdd.svg" />
|
||||
<div class="calculation BLCard">
|
||||
<div class="money">20,000.00</div>
|
||||
<div class="moneyType">
|
||||
<img width="20px" height="17px" src="../../../../src/icon/carbonAssetsIncrease.svg" />
|
||||
增加(tCO2)
|
||||
</div>
|
||||
</div>
|
||||
<img width="17px" height="17px" src="../../../../src/icon/carbonAssetsReduce.svg" />
|
||||
<div class="calculation BLCard">
|
||||
<div class="money">20,000.00</div>
|
||||
<div class="moneyType">
|
||||
<img width="20px" height="17px" src="../../../../src/icon/carbonAssetsLower.svg" />
|
||||
减少(tCO2)
|
||||
</div>
|
||||
</div>
|
||||
<img width="17px" height="17px" src="../../../../src/icon/carbonAssetsEqual.svg" />
|
||||
<div class="calculation BLCard">
|
||||
<div class="money">75,000.00</div>
|
||||
<div class="moneyType">期末余额(tCO2)</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-card>
|
||||
<a-card class="card">
|
||||
<div class="top" style="background: rgba(37, 192, 150, 0.05)">
|
||||
<div class="moneyImg"
|
||||
><img width="68px" height="68px" src="../../../../src/icon/carbonAssetsMoney-4.svg"
|
||||
/></div>
|
||||
<div class="moneyTitle">全国碳账户估值(CNY)</div>
|
||||
<div class="moneyTotal" style="color: rgba(229, 102, 22, 1)">300,000.00</div>
|
||||
</div>
|
||||
<div class="title" style="justify-content: center">
|
||||
<img
|
||||
width="17px"
|
||||
height="17px"
|
||||
style="transform: rotate(90deg)"
|
||||
src="../../../../src/icon/carbonAssetsEqual.svg" />
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="BRCard">
|
||||
<div class="money">300,000.00</div>
|
||||
<div class="moneyType">全国碳账户资产估值</div>
|
||||
</div>
|
||||
<img width="17px" height="17px" src="../../../../src/icon/carbonAssetsAdd.svg" />
|
||||
<div class="BRCard">
|
||||
<div class="money">300,000.00</div>
|
||||
<div class="moneyType">地方碳账户资产估值</div>
|
||||
</div>
|
||||
<img width="17px" height="17px" src="../../../../src/icon/carbonAssetsAdd.svg" />
|
||||
<div class="BRCard">
|
||||
<div class="money">300,000.00</div>
|
||||
<div class="moneyType">CCER碳资产估值</div>
|
||||
</div>
|
||||
</div>
|
||||
</a-card>
|
||||
</div>
|
||||
<div class="detail" v-else>
|
||||
<carbonAssetsDetail />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ref } from 'vue';
|
||||
import carbonAssetsDetail from './carbonAssetsDetail/index.vue';
|
||||
defineOptions({
|
||||
energyType: 'carbonAssets', // 与页面路由name一致缓存才可生效
|
||||
});
|
||||
const homePage = ref(true);
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.mainContant {
|
||||
background: #f1f2f6;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
.card {
|
||||
width: 49%;
|
||||
height: 49%;
|
||||
.TLCard {
|
||||
background: linear-gradient(180deg, rgba(255, 249, 246, 1) 0%, rgba(255, 255, 255, 1) 100%);
|
||||
border: 1px solid rgba(252, 139, 78, 0.3);
|
||||
}
|
||||
.TRCard {
|
||||
background: linear-gradient(180deg, rgba(254, 245, 244, 1) 0%, rgba(255, 255, 255, 1) 100%);
|
||||
border: 1px solid rgba(241, 100, 69, 0.2);
|
||||
}
|
||||
.BLCard {
|
||||
background: linear-gradient(180deg, rgba(245, 250, 254, 1) 0%, rgba(255, 255, 255, 1) 100%);
|
||||
border: 1px solid rgba(72, 168, 228, 0.3);
|
||||
}
|
||||
}
|
||||
}
|
||||
:deep(.ant-card-body) {
|
||||
height: 100%;
|
||||
}
|
||||
.top {
|
||||
height: 40%;
|
||||
width: 100%;
|
||||
border-radius: 8px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.moneyImg {
|
||||
width: 20%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
.moneyTitle {
|
||||
width: 35%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
opacity: 1;
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
color: rgba(0, 0, 0, 1);
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
||||
.moneyTotal {
|
||||
width: 35%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
opacity: 1;
|
||||
font-size: 40px;
|
||||
font-weight: 400;
|
||||
line-height: 52px;
|
||||
text-align: left;
|
||||
}
|
||||
.moneyDetail {
|
||||
width: 10%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
.title {
|
||||
height: 20%;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
> span {
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
letter-spacing: 1.2px;
|
||||
line-height: 26px;
|
||||
color: rgba(0, 0, 0, 1);
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
.bottom {
|
||||
height: 40%;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
.calculation {
|
||||
width: 22%;
|
||||
height: 100%;
|
||||
opacity: 1;
|
||||
border-radius: 8px;
|
||||
padding: 10px;
|
||||
.money {
|
||||
opacity: 1;
|
||||
font-size: 28px;
|
||||
font-weight: 400;
|
||||
letter-spacing: 0px;
|
||||
line-height: 50px;
|
||||
color: rgba(0, 0, 0, 1);
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
||||
.moneyType {
|
||||
opacity: 1;
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
line-height: 45px;
|
||||
color: rgba(0, 0, 0, 1);
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
||||
}
|
||||
.BRCard {
|
||||
width: 30%;
|
||||
height: 100%;
|
||||
opacity: 1;
|
||||
background: linear-gradient(180deg, rgba(244, 252, 250, 1) 0%, rgba(255, 255, 255, 1) 100%);
|
||||
border: 1px solid rgba(42, 197, 155, 0.3);
|
||||
padding: 10px;
|
||||
.money {
|
||||
opacity: 1;
|
||||
font-size: 28px;
|
||||
font-weight: 400;
|
||||
letter-spacing: 0px;
|
||||
line-height: 50px;
|
||||
color: rgba(0, 0, 0, 1);
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
||||
.moneyType {
|
||||
opacity: 1;
|
||||
font-size: 14px;
|
||||
font-weight: 700;
|
||||
line-height: 45px;
|
||||
color: rgba(0, 0, 0, 1);
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@@ -466,6 +466,7 @@
|
||||
const addTreeNode = ref();
|
||||
const handleOk = (e: MouseEvent) => {
|
||||
editTreeNode.value.emissionName = addTreeNode.value;
|
||||
editTreeNode.value.orgId = orgId.value;
|
||||
http.post(carbonEmissionFactorLibrary.creat, editTreeNode.value).then(() => {
|
||||
getOrgTree();
|
||||
NsMessage.success('操作成功');
|
||||
@@ -550,7 +551,9 @@
|
||||
|
||||
const onClose = () => {
|
||||
visible.value = false;
|
||||
formData.value = {};
|
||||
formData.value = {
|
||||
orgId: orgId.value,
|
||||
};
|
||||
userAuthList.value.splice(0);
|
||||
};
|
||||
const closeUnitManag = () => {
|
||||
@@ -588,6 +591,7 @@
|
||||
formData.value = {
|
||||
carbonEmissionPrefix: 't',
|
||||
numberOfReferences: '10',
|
||||
orgId: orgId.value,
|
||||
};
|
||||
userAuthList.value.splice(0);
|
||||
});
|
||||
|
@@ -355,7 +355,7 @@
|
||||
carbonInventoryCheck,
|
||||
} from '/@/api/carbonEmissionFactorLibrary';
|
||||
import { group } from '/@/api/deviceManage';
|
||||
import { debug } from 'node:console';
|
||||
import { debug, log } from 'node:console';
|
||||
defineOptions({
|
||||
energyType: 'fillInPage', // 与页面路由name一致缓存才可生效
|
||||
components: {
|
||||
@@ -474,6 +474,8 @@
|
||||
queryEmissionData.value.categoryId = info.node.conId;
|
||||
getEmissionStatistic();
|
||||
} else if (isClickedTplx.value) {
|
||||
queryFlowDirection.value.categoryId = info.node.conId;
|
||||
getCarbonFlowDirection();
|
||||
}
|
||||
};
|
||||
// 获取碳盘查报告树
|
||||
@@ -488,6 +490,7 @@
|
||||
categoryId.value = res.data[0].children[0].conId;
|
||||
formState.value.categoryId = categoryId.value;
|
||||
queryEmissionData.value.categoryId = categoryId.value;
|
||||
queryFlowDirection.value.categoryId = categoryId.value;
|
||||
selectedIds.value = getAllIds(gData.value);
|
||||
}
|
||||
getEmissionSourceTree();
|
||||
@@ -602,6 +605,7 @@
|
||||
// 类别配置树点击确定
|
||||
const queryConfigure = ref({
|
||||
orgId: orgId.value,
|
||||
reportId: props.reportId,
|
||||
});
|
||||
const submitCategory = () => {
|
||||
fetch(carbonInventoryCheck.updateCategoryTree, queryConfigure.value).then((res) => {
|
||||
@@ -957,8 +961,13 @@
|
||||
.validate()
|
||||
.then(() => {
|
||||
console.log('values', editFormState, toRaw(editFormState));
|
||||
editFormState.value.factorId = editFormState.value.factorId.join(',');
|
||||
if (editFormState.value.collectionNode.value) {
|
||||
if (editFormState.value.factorId.length > 0) {
|
||||
editFormState.value.factorId = editFormState.value.factorId.join(',');
|
||||
}
|
||||
if (editFormState.value.dataSources.value) {
|
||||
editFormState.value.dataSources = editFormState.value.dataSources.value;
|
||||
}
|
||||
if (editFormState.value.collectionNode) {
|
||||
editFormState.value.collectionNode = editFormState.value.collectionNode.value;
|
||||
}
|
||||
fetch(carbonInventoryCheck.updateTable, editFormState.value).then((res) => {
|
||||
@@ -1000,10 +1009,23 @@
|
||||
fillInPage.value = false;
|
||||
isClickedPftj.value = false;
|
||||
isClickedTplx.value = true;
|
||||
getCarbonFlowDirection();
|
||||
setTimeout(() => {
|
||||
drawEcharts();
|
||||
}, 500);
|
||||
};
|
||||
// 获取碳排流向数据
|
||||
const queryFlowDirection = ref({
|
||||
orgId: orgId.value,
|
||||
reportId: props.reportId,
|
||||
year: props.year,
|
||||
categoryId: categoryId.value,
|
||||
});
|
||||
const getCarbonFlowDirection = () => {
|
||||
fetch(carbonInventoryCheck.carbonFlowDirection, queryFlowDirection.value).then((res) => {
|
||||
console.log(res);
|
||||
});
|
||||
};
|
||||
// 获取排放统计数据
|
||||
const queryEmissionData = ref({
|
||||
orgId: orgId.value,
|
||||
@@ -1015,13 +1037,30 @@
|
||||
const getEmissionStatistic = () => {
|
||||
fetch(carbonInventoryCheck.emissionStatistic, queryEmissionData.value).then((res) => {
|
||||
pftjData.value = res.data.body;
|
||||
const data = res.data.title;
|
||||
// 将数据表头数据按顺序组织
|
||||
const orderedKeys = res.data.title.map((obj) => Object.keys(obj)[0]); // 获取原始键的顺序
|
||||
const result: { [key: string]: string } = {};
|
||||
|
||||
res.data.title.forEach((obj) => {
|
||||
const key = Object.keys(obj)[0];
|
||||
result[key] = obj[key];
|
||||
});
|
||||
|
||||
// 确保按照原始顺序返回结果
|
||||
const orderedResult: { [key: string]: string } = {};
|
||||
orderedKeys.forEach((key) => {
|
||||
if (result[key] !== undefined) {
|
||||
orderedResult[key] = result[key];
|
||||
}
|
||||
});
|
||||
|
||||
const data = orderedResult;
|
||||
// 将数据转换为 DataItem 数组
|
||||
tableHeader.value = [];
|
||||
pftjColumn.value = [
|
||||
{
|
||||
title: '排放分类',
|
||||
dataIndex: 'emissionCategory',
|
||||
dataIndex: 'emissionClassify',
|
||||
customCell: (record, rowIndex) => {
|
||||
if (rowIndex == undefined) {
|
||||
return {
|
||||
@@ -1029,10 +1068,10 @@
|
||||
colSpan: 0,
|
||||
};
|
||||
}
|
||||
const rowSpan = getRowSpan('emissionCategory', record, pftjData.value);
|
||||
const rowSpan = getRowSpan('emissionClassify', record, pftjData.value);
|
||||
if (
|
||||
rowIndex != 0 &&
|
||||
pftjData.value[rowIndex - 1].emissionCategory == record.emissionCategory
|
||||
pftjData.value[rowIndex - 1].emissionClassify == record.emissionClassify
|
||||
) {
|
||||
return {
|
||||
rowSpan: 0,
|
||||
@@ -1431,7 +1470,6 @@
|
||||
min-width: fit-content;
|
||||
> div {
|
||||
background-color: @white;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
display: flex;
|
||||
|
@@ -4,7 +4,7 @@
|
||||
<ns-view-list-table v-bind="tableConfig" :model="data" ref="mainRef" />
|
||||
</div>
|
||||
<!-- 填报页 -->
|
||||
<div v-if="fillInPage">
|
||||
<div v-if="fillInPage" style="height: 100%">
|
||||
<fillIn :reportId="reportId" :year="year" @change-data="updateData" />
|
||||
</div>
|
||||
<!-- 新增报告弹窗 -->
|
||||
|
@@ -3,7 +3,7 @@
|
||||
right: 496px;
|
||||
width: 500px;
|
||||
height: 100%;
|
||||
z-index: 99;
|
||||
z-index: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
margin: auto;
|
||||
@@ -44,6 +44,9 @@
|
||||
border-radius: 12px;
|
||||
border: 2px solid transparent;
|
||||
border-image: linear-gradient(to bottom, #0077ff, #00f6ff, #000000) 1;
|
||||
.title-img {
|
||||
padding-top: 6px;
|
||||
}
|
||||
}
|
||||
.imgText {
|
||||
display: flex;
|
||||
@@ -68,6 +71,7 @@
|
||||
rgba(255, 112, 3, 1) 91.21%,
|
||||
rgba(255, 129, 3, 1) 100%
|
||||
);
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
.btn-box {
|
||||
@@ -97,6 +101,9 @@
|
||||
width: 140px;
|
||||
height: 35px;
|
||||
line-height: 35px;
|
||||
:first-child {
|
||||
color: white;
|
||||
}
|
||||
span {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
@@ -121,6 +121,9 @@
|
||||
<div class="control-scene-area" v-show="thisButton2.mode.value == 3">
|
||||
<div class="control-scene-tab"></div>
|
||||
<span class="control-scene-text"> 控制场景 </span>
|
||||
<div v-if="!singleSelection" style="flex: 1; color: red; text-align: right"
|
||||
>多选模式下会修改当前选中的所有回路</div
|
||||
>
|
||||
</div>
|
||||
<!-- 控制场景按钮部分 -->
|
||||
<div class="control-scene-btn-area" v-show="thisButton2.mode.value == 3">
|
||||
@@ -135,15 +138,20 @@
|
||||
</div>
|
||||
<!-- 底部按钮区 -->
|
||||
<div class="bottom">
|
||||
<a-popconfirm
|
||||
title="刷新将会取消已作出的修改"
|
||||
ok-text="确定"
|
||||
cancel-text="取消"
|
||||
@confirm="changeConfirm"
|
||||
@cancel="changeCancel">
|
||||
<button class="flushed">刷新</button>
|
||||
</a-popconfirm>
|
||||
<button class="execute" @click="showModal">执行</button>
|
||||
<a-badge :offset="[-10, 2]" :count="changeList.length">
|
||||
<a-popconfirm
|
||||
title="刷新将会取消已作出的修改"
|
||||
ok-text="确定"
|
||||
cancel-text="取消"
|
||||
@confirm="refresh"
|
||||
@cancel="changeCancel">
|
||||
<button class="flushed">刷新</button>
|
||||
</a-popconfirm>
|
||||
</a-badge>
|
||||
|
||||
<a-spin :spinning="buttonLoading">
|
||||
<button class="execute" @click="showModal">执行</button>
|
||||
</a-spin>
|
||||
</div>
|
||||
|
||||
<!-- 点击执行时的弹出框 -->
|
||||
@@ -153,7 +161,7 @@
|
||||
<div class="div-operation"></div>
|
||||
<span class="text-operation">变更内容 </span>
|
||||
</div>
|
||||
<div class="j-box" v-for="item in cxList" :key="item.id">
|
||||
<div class="j-box" v-for="(item, index) in diffList" :key="item.id">
|
||||
<div class="journal" style="margin-top: 20px">
|
||||
<div class="imgText">
|
||||
<div class="zjzm">
|
||||
@@ -161,10 +169,17 @@
|
||||
<span
|
||||
class="title-text"
|
||||
style="font-size: 20px; font-weight: 500; color: rgba(255, 255, 255, 1)"
|
||||
>{{ item.name }}</span
|
||||
>{{ item.regionName + ' > ' + item.deviceGroupName }}</span
|
||||
>
|
||||
</div>
|
||||
<button class="cxbtn" @click="delBtn(item.id)">撤销</button>
|
||||
<a-popconfirm
|
||||
title="此操作将会撤销修改"
|
||||
ok-text="确定"
|
||||
cancel-text="取消"
|
||||
@confirm="delBtn(item)"
|
||||
@cancel="changeCancel">
|
||||
<button class="cxbtn">撤销</button>
|
||||
</a-popconfirm>
|
||||
</div>
|
||||
<div class="btn-box">
|
||||
<div class="btn-item">
|
||||
@@ -178,25 +193,38 @@
|
||||
<div class="btn-item">
|
||||
<div class="left"> 亮度 </div>
|
||||
<div class="right">
|
||||
<span>100lux</span>
|
||||
<!-- 由于数字0也会被判为false,故只判断undefined 和 null -->
|
||||
<span>{{
|
||||
item?.stateBefore?.brightness != undefined ? item.stateBefore.brightness : '--'
|
||||
}}</span>
|
||||
<img src="/asset/image/bulbLogo/22406.png" alt="" />
|
||||
<span>30lux</span>
|
||||
<span>{{
|
||||
item?.stateAfter?.brightness != undefined ? item.stateAfter.brightness : '--'
|
||||
}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-item">
|
||||
<div class="left"> 控制场景 </div>
|
||||
<div class="right">
|
||||
<span>手动</span>
|
||||
<span>{{
|
||||
item?.stateBefore?.scene?.label ? item.stateBefore.scene.label : '--'
|
||||
}}</span>
|
||||
<img src="/asset/image/bulbLogo/22406.png" alt="" />
|
||||
<span>自动</span>
|
||||
<span>{{
|
||||
item?.stateAfter?.scene?.label ? item.stateAfter.scene.label : '--'
|
||||
}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn-item">
|
||||
<div class="left"> 色温 </div>
|
||||
<div class="right">
|
||||
<span>4000k</span>
|
||||
<span>{{
|
||||
item?.stateBefore?.color != undefined ? item.stateBefore.color : '--'
|
||||
}}</span>
|
||||
<img src="/asset/image/bulbLogo/22406.png" alt="" />
|
||||
<span>3800k</span>
|
||||
<span>
|
||||
{{ item?.stateAfter?.color != undefined ? item.stateAfter.color : '--' }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -206,7 +234,7 @@
|
||||
<div style="width: 100%; height: 60px"></div>
|
||||
<div class="button-box">
|
||||
<button class="cancel" @click="executeVisible = false">取消</button>
|
||||
<button class="execute">执行</button>
|
||||
<button class="execute" @click="submitChangeList">执行</button>
|
||||
</div>
|
||||
</div>
|
||||
</a-spin>
|
||||
@@ -239,7 +267,7 @@
|
||||
controlScene.value = data.IlluminationScene;
|
||||
});
|
||||
};
|
||||
// 以 1-1 作为默认线路
|
||||
// 以 1-1 作为默认回路
|
||||
const setArea = () => {
|
||||
const data = props.treeData[0];
|
||||
buttons2.value = data.childList;
|
||||
@@ -272,14 +300,14 @@
|
||||
|
||||
// 按钮区展开与收起状态
|
||||
const showAllButtonsArea = ref(false);
|
||||
// 被选中的分区 默认为1
|
||||
// 被选中的分区 默认为1 用于选中样式渲染
|
||||
const selectedButton = ref<string | undefined>('1');
|
||||
|
||||
// 分区切换
|
||||
const changeArea = (button: any) => {
|
||||
// 当前选中按钮
|
||||
selectedButton.value = button.id;
|
||||
// 设置当前选中的线路
|
||||
// 设置当前选中的回路
|
||||
buttons2.value = button.childList;
|
||||
// 重置按钮状态
|
||||
emit('reset');
|
||||
@@ -287,7 +315,7 @@
|
||||
button.selected = true;
|
||||
// 改变俯视图样式
|
||||
emit('changeArea', button.id);
|
||||
// 当前选中线路 - 置空
|
||||
// 当前选中回路 - 置空
|
||||
resetMode();
|
||||
// 最近交互过的按钮 - 置空
|
||||
handleButton.value = '';
|
||||
@@ -299,7 +327,6 @@
|
||||
|
||||
// 最近交互过的按钮id,用于禁用和启用
|
||||
const handleButton = ref('');
|
||||
|
||||
// 面板启用/禁用状态
|
||||
const isPlanEnabled2 = ref(true);
|
||||
// 面板启用/禁用切换事件
|
||||
@@ -309,7 +336,7 @@
|
||||
return message.info('请选择照明回路');
|
||||
}
|
||||
// 获取最近交互过的按钮
|
||||
const btn: any = buttons2.value.find((button) => button.id === handleButton.value);
|
||||
const btn: any = buttons2.value.find((button: any) => button.id === handleButton.value);
|
||||
let panel = +!btn.ctrlStatus;
|
||||
isLoading.value = true;
|
||||
http
|
||||
@@ -334,11 +361,12 @@
|
||||
// 多选与单选切换事件
|
||||
const selectAll = () => {
|
||||
selectAllCheckbox.value = false;
|
||||
buttons2.value.forEach((button) => {
|
||||
// 切换时清空当前所有选项
|
||||
buttons2.value.forEach((button: any) => {
|
||||
button.selected = false;
|
||||
});
|
||||
singleSelection.value = !singleSelection.value;
|
||||
// 当前选中线路 - 置空
|
||||
// 当前选中回路 - 置空
|
||||
resetMode();
|
||||
// 改变俯视图样式
|
||||
emit('changeArea', [selectedButton.value]);
|
||||
@@ -351,8 +379,8 @@
|
||||
let arr = [selectedButton.value];
|
||||
// 全选
|
||||
if (selectAllCheckbox.value) {
|
||||
buttons2.value.forEach((item, index) => {
|
||||
// 全选时,默认展示第一条线路的模式-场景按钮
|
||||
buttons2.value.forEach((item: any, index: number) => {
|
||||
// 全选时,默认展示第一条回路的模式-场景按钮
|
||||
if (index == 0) {
|
||||
thisButton2.value = item;
|
||||
}
|
||||
@@ -361,7 +389,7 @@
|
||||
});
|
||||
// 全不选
|
||||
} else {
|
||||
buttons2.value.forEach((item) => {
|
||||
buttons2.value.forEach((item: any) => {
|
||||
item.selected = false;
|
||||
});
|
||||
// 全不选时,隐藏模式-场景按钮
|
||||
@@ -370,9 +398,11 @@
|
||||
emit('changeArea', arr);
|
||||
};
|
||||
|
||||
// 储存当前选中的线路
|
||||
// 储存当前选中的回路
|
||||
const thisButton2 = ref({
|
||||
code: '',
|
||||
name: '',
|
||||
pcode: '',
|
||||
mode: {
|
||||
value: -1,
|
||||
},
|
||||
@@ -390,13 +420,12 @@
|
||||
} else {
|
||||
isPlanEnabled2.value = false;
|
||||
}
|
||||
|
||||
// 选择时反控俯视图
|
||||
let level1 = selectedButton.value;
|
||||
let level2 = button.id;
|
||||
// 单选模式,需将所有其他按钮设为false
|
||||
if (singleSelection.value) {
|
||||
buttons2.value.forEach((item) => {
|
||||
buttons2.value.forEach((item: any) => {
|
||||
item.selected = false;
|
||||
});
|
||||
button.selected = !button.selected;
|
||||
@@ -405,7 +434,7 @@
|
||||
// 多选模式传值
|
||||
button.selected = !button.selected;
|
||||
const arr = [level1];
|
||||
buttons2.value.forEach((item) => {
|
||||
buttons2.value.forEach((item: any) => {
|
||||
if (item.selected) {
|
||||
arr.push(item.id);
|
||||
}
|
||||
@@ -433,7 +462,7 @@
|
||||
// 控制模式业务 ====================================================================
|
||||
|
||||
// 控制模式 - 按钮切换
|
||||
const selectButton3 = (button3) => {
|
||||
const selectButton3 = (button3: any) => {
|
||||
let checked = thisButton2.value.mode;
|
||||
console.log(button3.value, '---', checked.value);
|
||||
// 如果点击了相同的按钮,则未作出修改
|
||||
@@ -449,11 +478,9 @@
|
||||
const controlMode = ref([]);
|
||||
// 场景枚举
|
||||
const controlScene = ref([]);
|
||||
// 控制场景 - 当前选择按钮
|
||||
const selectedButton4 = ref(null);
|
||||
// 控制场景 - 按钮切换
|
||||
const selectButton4 = (button4) => {
|
||||
// 当前选中的线路数据
|
||||
// 当前选中的回路数据
|
||||
const data = thisButton2.value;
|
||||
// 修改前的数据
|
||||
let before = data.scene.value;
|
||||
@@ -461,12 +488,12 @@
|
||||
let after = button4.value;
|
||||
// 如果没有产生实质性的修改(修改前后相同,则跳出)
|
||||
if (before === after) {
|
||||
return;
|
||||
return message.info('未产生实际修改');
|
||||
// 产生了修改
|
||||
} else {
|
||||
thisButton2.value.scene.value = after;
|
||||
// 查询之前是否修改过
|
||||
const result = changeList.value.find((item, index) => {
|
||||
const result = changeList.value.find((item: any, index: number) => {
|
||||
item.index = index;
|
||||
return item.deviceGroup == data.code;
|
||||
});
|
||||
@@ -484,7 +511,7 @@
|
||||
// 如果未产生过修改
|
||||
} else {
|
||||
changeList.value.push({
|
||||
// 线路
|
||||
// 回路
|
||||
deviceGroup: data.code,
|
||||
deviceGroupName: data.name,
|
||||
// 分区
|
||||
@@ -498,112 +525,100 @@
|
||||
}
|
||||
console.log(changeList.value, 'changeList');
|
||||
}
|
||||
|
||||
thisButton2.value.scene.value = after;
|
||||
console.log(thisButton2, '222222');
|
||||
console.log(button4, '44444');
|
||||
};
|
||||
|
||||
// 内侧弹窗 ========================================================================
|
||||
|
||||
// 需要修改的内容
|
||||
const changeList: any = ref([]);
|
||||
// 需要向后端提交的修改内容
|
||||
const submitList = ref([]);
|
||||
const cxList = ref([
|
||||
{
|
||||
id: '1',
|
||||
name: '站厅照明 1区',
|
||||
manual: '手动',
|
||||
automatic: '自动',
|
||||
brightness: '100lux',
|
||||
brightness2: '30lux',
|
||||
manual2: '手动',
|
||||
automatic2: '自动',
|
||||
brightness3: '4000k',
|
||||
brightness4: '3800k',
|
||||
},
|
||||
{
|
||||
id: '2',
|
||||
name: '站厅照明 2区',
|
||||
manual: '手动',
|
||||
automatic: '自动',
|
||||
brightness: '100lux',
|
||||
brightness2: '30lux',
|
||||
manual2: '手动',
|
||||
automatic2: '自动',
|
||||
brightness3: '4000k',
|
||||
brightness4: '3800k',
|
||||
},
|
||||
{
|
||||
id: '3',
|
||||
name: '站厅照明 3区',
|
||||
manual: '手动',
|
||||
automatic: '自动',
|
||||
brightness: '100lux',
|
||||
brightness2: '30lux',
|
||||
manual2: '手动',
|
||||
automatic2: '自动',
|
||||
brightness3: '4000k',
|
||||
brightness4: '3800k',
|
||||
},
|
||||
]);
|
||||
//撤销
|
||||
const delBtn = () => {
|
||||
cxList.value.pop();
|
||||
console.log(cxList.value.length);
|
||||
|
||||
if (cxList.value.length === 0) {
|
||||
executeVisible.value = false;
|
||||
}
|
||||
};
|
||||
|
||||
// 其他业务 ========================================================================
|
||||
// 底部按钮区 ======================================================================
|
||||
|
||||
const isLoading = ref(false);
|
||||
// 执行按钮loading
|
||||
const buttonLoading = ref(false);
|
||||
// 刷新
|
||||
const refresh = () => {
|
||||
// 关闭执行弹窗
|
||||
executeVisible.value = false;
|
||||
// 设置当前选中的序列
|
||||
selectedButton.value = '1';
|
||||
// 重置选中样式 和 按钮选中状态
|
||||
emit('changeArea', ['1']);
|
||||
emit('reset');
|
||||
// 默认选择第一个楼层
|
||||
let data = props.treeData[0];
|
||||
// 清空保存的修改
|
||||
changeList.value = [];
|
||||
// 默认选中
|
||||
data.selected = true;
|
||||
// 默认选中 1-1 分区 回路
|
||||
buttons2.value = data.childList;
|
||||
selectedButton4.value = null;
|
||||
resetMode();
|
||||
};
|
||||
// 执行确认
|
||||
const executeVisible = ref<boolean>(false);
|
||||
// 右下角的执行事件
|
||||
const showModal = () => {
|
||||
if (!changeList.value.length) {
|
||||
return message.info('未产生任何修改');
|
||||
}
|
||||
buttonLoading.value = true;
|
||||
http
|
||||
.post(lightingManage.getChangeList, { infoList: changeList.value, projectId: 'HLlmTZp8' })
|
||||
.then((res) => {
|
||||
if (res.msg === 'success') {
|
||||
isLoading.value = true;
|
||||
console.log(res);
|
||||
diffList.value = res.data;
|
||||
executeVisible.value = true;
|
||||
} else {
|
||||
isLoading.value = false;
|
||||
message.warning('获取修改内容失败');
|
||||
}
|
||||
buttonLoading.value = false;
|
||||
})
|
||||
.catch(() => {
|
||||
buttonLoading.value = false;
|
||||
});
|
||||
executeVisible.value = true;
|
||||
};
|
||||
|
||||
// 确定
|
||||
const changeConfirm = () => {
|
||||
refresh();
|
||||
};
|
||||
|
||||
// 取消
|
||||
// 通用取消
|
||||
const changeCancel = () => {};
|
||||
|
||||
// 将当前选择的线路置空
|
||||
// 内侧弹窗 ========================================================================
|
||||
|
||||
// 内侧弹窗显隐
|
||||
const executeVisible = ref<boolean>(false);
|
||||
// 修改模式 需要向后端提交的内容
|
||||
const changeList: any = ref([]);
|
||||
// 展示修改前后差异的内容
|
||||
const diffList = ref([]);
|
||||
//撤销
|
||||
const delBtn = (obj: any) => {
|
||||
console.log(obj, '当前选择的修改内容');
|
||||
// 将treeData对应回路的数据改回,数据以后端为准
|
||||
const area = props.treeData.find((item: any) => {
|
||||
return item.code == obj.region;
|
||||
});
|
||||
const line = area.childList.find((item: any) => {
|
||||
return item.code == obj.deviceGroup;
|
||||
});
|
||||
line.scene.value = obj.stateBefore.scene.value;
|
||||
// 将 changeList 与 diffList 中记录的修改移除 (排除极端情况)
|
||||
changeList.value = changeList.value.filter((item: any) => {
|
||||
return item.deviceGroup !== obj.deviceGroup;
|
||||
});
|
||||
diffList.value = diffList.value.filter((item: any) => {
|
||||
return item.deviceGroup !== obj.deviceGroup;
|
||||
});
|
||||
console.log(changeList, 'changeList');
|
||||
console.log(diffList, 'diffList');
|
||||
// 如果移除后不再有修改内容,则隐藏弹出框
|
||||
if (changeList.value.length == 0) {
|
||||
executeVisible.value = false;
|
||||
}
|
||||
};
|
||||
const submitChangeList = () => {};
|
||||
|
||||
// 其他业务 ========================================================================
|
||||
|
||||
// 将当前选择的回路置空
|
||||
const resetMode = () => {
|
||||
thisButton2.value = {
|
||||
code: '',
|
||||
name: '',
|
||||
pcode: '',
|
||||
mode: {
|
||||
value: -1,
|
||||
},
|
||||
@@ -613,11 +628,11 @@
|
||||
};
|
||||
};
|
||||
|
||||
// 暴露
|
||||
// 向外暴露方法
|
||||
defineExpose({
|
||||
// 分区切换
|
||||
changeArea,
|
||||
// 线路切换
|
||||
// 回路切换
|
||||
changeLine,
|
||||
});
|
||||
</script>
|
||||
|
@@ -1,11 +1,6 @@
|
||||
import { NsSelect } from './../../../../../lib/component/form/select/index';
|
||||
import { dateUtil } from '/nerv-lib/util/date-util';
|
||||
import data from './mock.json';
|
||||
import { http } from '/nerv-lib/util';
|
||||
import { ref } from 'vue';
|
||||
import { device, group } from '/@/api/deviceManage';
|
||||
import { group } from '/@/api/deviceManage';
|
||||
import { dict } from '/@/api';
|
||||
import { origanizemanage } from '/@/api/origanizemanage';
|
||||
const tableCalKeyMap = [
|
||||
{
|
||||
title: '来源企业',
|
||||
@@ -103,7 +98,8 @@ export const formSchema = [
|
||||
field: 'pointName',
|
||||
component: 'NsInput',
|
||||
componentProps: {
|
||||
placeholder: '请输入节点名称(必填)',
|
||||
placeholder: '请输入',
|
||||
maxLength: 32,
|
||||
},
|
||||
rules: [
|
||||
{
|
||||
@@ -117,7 +113,7 @@ export const formSchema = [
|
||||
field: 'pointType',
|
||||
component: 'NsSelectApi',
|
||||
componentProps: {
|
||||
placeholder: '请选择节点类型(必填)',
|
||||
placeholder: '请选择',
|
||||
api: () => dict({ params: { dicKey: 'COUNT_POINT' } }),
|
||||
// params: { dicKey: 'COUNT_POINT' },
|
||||
immediate: true,
|
||||
|
@@ -71,7 +71,7 @@
|
||||
});
|
||||
|
||||
const formFinish = debounce((data: object) => {
|
||||
selectedKeys.value = [];
|
||||
// selectedKeys.value = [];
|
||||
getData(data);
|
||||
}, 200);
|
||||
|
||||
|