{"id":15845,"date":"2024-09-16T10:29:49","date_gmt":"2024-09-16T10:29:49","guid":{"rendered":"https:\/\/devwp02.visibleone.io\/zama\/%e9%9b%b6%e4%bb%b6%e5%92%8c%e6%9c%8d%e5%8a%a1\/"},"modified":"2024-11-14T05:11:40","modified_gmt":"2024-11-14T05:11:40","slug":"%e9%9b%b6%e4%bb%b6%e5%92%8c%e6%9c%8d%e5%8a%a1","status":"publish","type":"page","link":"https:\/\/devwp02.visibleone.io\/zama\/cn\/%e9%9b%b6%e4%bb%b6%e5%92%8c%e6%9c%8d%e5%8a%a1\/","title":{"rendered":"\u96f6\u4ef6\u548c\u670d\u52a1"},"content":{"rendered":"\n<section block-name=\"sub-banner\" class=\"bg-white\">\n    <div class=\"relative\">\n        <img decoding=\"async\" src=\"https:\/\/devwp02.visibleone.io\/zama\/wp-content\/uploads\/2024\/11\/Vector-47-1.png\" alt=\"banner\"\n            class=\"aspect-[360\/260] object-cover md:aspect-[768\/260] lg:aspect-[1920\/460] w-full \" \/>\n\n\n                <!-- <div class=\"\">\n            <img decoding=\"async\" src=\"https:\/\/devwp02.visibleone.io\/zama\/wp-content\/themes\/zama\/resources\/images\/icons\/banner-slope.png\"\n                class=\"absolute bottom-[-1px] left-0 w-full hidden md:block\" \/>\n            <img decoding=\"async\" src=\"https:\/\/devwp02.visibleone.io\/zama\/wp-content\/themes\/zama\/resources\/images\/icons\/mb-banner-slope.png\"\n                class=\"absolute bottom-[-1px] left-0 w-full md:hidden\" \/>\n        <\/div> -->\n\n                    <div class=\"\">\n                <img decoding=\"async\" src=\"https:\/\/devwp02.visibleone.io\/zama\/wp-content\/themes\/zama\/resources\/images\/icons\/banner-slope-white.png\"\n                    class=\"absolute bottom-[-1px] left-0 w-full hidden md:block\" \/>\n                <img decoding=\"async\" src=\"https:\/\/devwp02.visibleone.io\/zama\/wp-content\/themes\/zama\/resources\/images\/icons\/mb-banner-slope-white.png\"\n                    class=\"absolute bottom-[-1px] left-0 w-full md:hidden\" \/>\n            <\/div>\n\n                <div class=\"absolute left-0 transform top-[60%] -translate-y-[50%] container \">\n            <div class=\"container-sm\">\n                <div class=\" md:max-w-[80%] 4xl:max-w-[1000px]\">\n                    <h1 class=\"heading1 text-white uppercase\">\u96f6\u4ef6\u548c\u670d\u52a1<\/h1>\n                <\/div>\n            <\/div>\n        <\/div>\n\n    <\/div>\n    <div class=\"container\">\n        <div class=\"container-md\">\n            <ul class=\"banner-breadcrumb\">\n                <li class=\"breadcrumb-list\"><a class=\"page-link\" href=\"https:\/\/devwp02.visibleone.io\/zama\/cn\/\">\u9996\u9875<\/a><\/li><li class=\"breadcrumb-list\"><a class=\"page-link\" href=\"https:\/\/devwp02.visibleone.io\/zama\/technical-support\/technical-support\/\">Technical Support<\/a><\/li><li class=\"breadcrumb-list\"><a class=\"page-link active\" href=\"#\">\u96f6\u4ef6\u548c\u670d\u52a1<\/a><\/li>            <\/ul>\n        <\/div>\n    <\/div>\n<\/section>\n<section block-name=\"partservice-table\" id=\"partservice\" class=\"partservice container pt-10 md:pt-12 pb-[140px] bg-white\">\n    <div class=\"container-md\" x-data=\"zama_parts_service\">\n        <div class=\"md:flex items-end justify-between\">\n            <form class=\"flex justify-between w-full max-lg:flex-wrap\" x-on:submit.prevent=\"getPosts\">\n    <div class=\"flex flex-col gap-5\">\n        <!--     <div class=\"relative flex flex-col gap-4\" x-data=\"zama_types\">\n        <p class=\"text-body\">Products<\/p>\n\n        <div class=\"flex gap-6 flex-wrap\">\n            <div class=\"flex gap-2\">\n                <input @click=\"onOptionClick('', 'All')\" type=\"radio\" name=\"Product\" id=\"Product\" value=\"All\"\n                    :checked=\"d_type == 'All'\">\n                <p class=\"text-body\">All<\/p>\n            <\/div>\n                            <div class=\"flex gap-2\">\n                    <input @click=\"onOptionClick('125', '0')\" type=\"radio\" name=\"Product\" id=\"Product125\" value=\"0\"\n                        checked=\"s_type == '125'\">\n                    <label class=\"text-body\" for=\"Product125\">0<\/label>\n                <\/div>\n                            <div class=\"flex gap-2\">\n                    <input @click=\"onOptionClick('127', 'CARBURETOR')\" type=\"radio\" name=\"Product\" id=\"Product127\" value=\"CARBURETOR\"\n                        checked=\"s_type == '127'\">\n                    <label class=\"text-body\" for=\"Product127\">CARBURETOR<\/label>\n                <\/div>\n                            <div class=\"flex gap-2\">\n                    <input @click=\"onOptionClick('111', 'CARBURETORS')\" type=\"radio\" name=\"Product\" id=\"Product111\" value=\"CARBURETORS\"\n                        checked=\"s_type == '111'\">\n                    <label class=\"text-body\" for=\"Product111\">CARBURETORS<\/label>\n                <\/div>\n                            <div class=\"flex gap-2\">\n                    <input @click=\"onOptionClick('128', 'Not classified')\" type=\"radio\" name=\"Product\" id=\"Product128\" value=\"Not classified\"\n                        checked=\"s_type == '128'\">\n                    <label class=\"text-body\" for=\"Product128\">Not classified<\/label>\n                <\/div>\n                    <\/div>\n    <\/div>\n    <script>\n        (function() {\n            document.addEventListener('alpine:init', function() {\n                Alpine.data('zama_types', () => ({\n                    handleClickAwayBound: null,\n                    onOptionClick: function(search, display) {\n                        this['s_type'] = search;\n                        this['d_type'] = display;\n                        this.getPosts();\n                    },\n                }));\n            });\n        })();\n    <\/script>\n -->\n        <div\n            class=\"w-full xs:w-[calc(50%-5px)] md:w-[200px] mt-4 lg:mt-0 text-body text-black-000 filter-div-container\">\n            <label for=\"\" class=\"mb-3 text-body text-black-000\">\u7c7b\u522b<\/label>\n            <div class=\"relative sm:w-auto w-fit\" x-data=\"zama_category\">\n    <input type=\"text\" id=\"s_category\" name=\"s_category\" x-model=\"s_category\" class=\"hidden\"\n        aria-hidden=\"false\" \/>\n\n    <div class=\"zama_category px-3 md:px-3 rounded-lg py-2 md:py-2 border-[1px] border-strokePurple flex items-center\"\n        :class=\"dropdownOpened ? 'border-black-000' : ''\" @click=\"toggleDropdown\">\n        <label for=\"s_category\"\n            class=\"mr-2.5 text-nowrap pointer-events-none text-18 font-normal text-darkPurple\"\n            :class=\"!s_category ? '' : ''\" x-text=\"d_category\"><\/label>\n        <span class=\"ml-auto shrink-0\">\n            <img decoding=\"async\" src=\"https:\/\/devwp02.visibleone.io\/zama\/wp-content\/themes\/zama\/resources\/images\/icons\/arrow-down.svg\" alt=\"Down Arrow Svg\"\n                class=\" transition-all pointer-events-none\" :class=\"dropdownOpened ? 'rotate-180' : ''\" \/>\n        <\/span>\n    <\/div>\n\n    <ul class=\"absolute rounded-lg min-w-max w-full -bottom-1.5 left-0 translate-y-full z-[11] bg-white text-18 font-normal text-darkPurple transition-all max-h-0 overflow-hidden border\"\n        :class=\"dropdownOpened ? 'border-black-000' : 'border-white'\" x-ref=\"dropdown\">\n        <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"d_category == 'All' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('', 'All')\">\n            All        <\/li>\n                <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"d_category == 'C1' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('112', 'C1')\">\n            C1        <\/li>\n                <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"d_category == 'C11' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('130', 'C11')\">\n            C11        <\/li>\n                <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"d_category == 'C1M' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('113', 'C1M')\">\n            C1M        <\/li>\n                <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"d_category == 'C1Q' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('114', 'C1Q')\">\n            C1Q        <\/li>\n                <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"d_category == 'C1S' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('115', 'C1S')\">\n            C1S        <\/li>\n                <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"d_category == 'C1T' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('116', 'C1T')\">\n            C1T        <\/li>\n                <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"d_category == 'C1U' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('117', 'C1U')\">\n            C1U        <\/li>\n                <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"d_category == 'C3' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('118', 'C3')\">\n            C3        <\/li>\n                <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"d_category == 'C3A\/M' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('119', 'C3A\/M')\">\n            C3A\/M        <\/li>\n                <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"d_category == 'G1L' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('120', 'G1L')\">\n            G1L        <\/li>\n                <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"d_category == 'LA\/LB' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('121', 'LA\/LB')\">\n            LA\/LB        <\/li>\n                <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"d_category == 'LE' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('122', 'LE')\">\n            LE        <\/li>\n                <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"d_category == 'RB' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('123', 'RB')\">\n            RB        <\/li>\n                <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"d_category == 'RC1\/RC2' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('124', 'RC1\/RC2')\">\n            RC1\/RC2        <\/li>\n                <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"d_category == 'RE' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('126', 'RE')\">\n            RE        <\/li>\n            <\/ul>\n<\/div>\n<script>\n(function() {\n    document.addEventListener('alpine:init', function() {\n        Alpine.data('zama_category', () => ({\n            handleClickAwayBound: null,\n            dropdownOpened: false,\n            toggleDropdown: function() {\n                if (this.dropdownOpened) {\n                    this.dropdownOpened = false;\n                    this.hideDropdown();\n                } else {\n                    this.dropdownOpened = true;\n                    this.showDropdown();\n                }\n            },\n            showDropdown: function() {\n                const dropdown = this.$refs.dropdown;\n                let maxHeight = 0;\n                Array.from(dropdown.children).forEach(child => {\n                    maxHeight += child.clientHeight;\n                });\n                dropdown.style.setProperty('max-height', maxHeight + 'px');\n                this.handleClickAwayBound = this.handleClickAway.bind(\n                    this\n                ); \/\/ using extra var to make function in state when removing listener\n                document.addEventListener('click', this.handleClickAwayBound);\n            },\n            hideDropdown: function() {\n                const dropdown = this.$refs.dropdown;\n                dropdown.style.removeProperty('max-height');\n                document.removeEventListener('click', this.handleClickAwayBound);\n            },\n            onOptionClick: function(search, display) {\n                this['s_category'] = search;\n                this['d_category'] = display;\n                this.toggleDropdown();\n                this.getPosts();\n            },\n            handleClickAway: function(e) {\n                if (!e.target.closest('.zama_category') && this.dropdownOpened) {\n                    this.toggleDropdown();\n                }\n            },\n        }));\n    });\n})();\n<\/script>\n        <\/div>\n    <\/div>\n    <div class=\"search-inputcontainer mt-auto ml-auto relative lg:ml-2 md:w-auto w-full\">\n        <input x-model=\"s_term\" type=\"text\" id=\"s_term\" name=\"s_term\" aria-label=\"s_term\"\n            @input.debounce.500ms=\"getPosts\"\n            class=\"border bg-transparent border-black-800 rounded-lg px-3 py-2 5xl:min-w-[400px] text-body w-full md:w-auto focus-visible:outline-none\"\n            placeholder=\"\u641c\u7d22\u5173\u952e\u5b57\">\n        <button type=\"submit\" class=\"absolute right-3 top-1\/2 -translate-y-1\/2\">\n            <img decoding=\"async\" src=\"https:\/\/devwp02.visibleone.io\/zama\/wp-content\/themes\/zama\/resources\/images\/icons\/search-icon.svg\" alt=\"search icon\"\n                class=\"w-4 h-4\">\n        <\/button>\n    <\/div>\n<\/form>        <\/div>\n\n        <div :hidden=\"!s_term\" class=\"pt-10 md:pt-12 search-content\">\n            <h5 class=\"heading5 text-black-200 pb-[10px]\">\n                Search Results about \u201c<span x-text=\"s_term\" class=\"uppercase\"><\/span>\u201d\n            <\/h5>\n            <div class=\"text-body text-black-200\">\n                <!-- search results number here -->\n                <span x-text=\"totalPosts\"><\/span>\n                <span class=\"\">\n                    \u76f8\u5173\u7ed3\u679c                <\/span>\n            <\/div>\n        <\/div>\n\n        <div class=\"partservice-table flex flex-col gap-10 mt-10 mx-auto\">\n            <div className=\"flex flex-col gap-2.5 relative overflow-auto\">\n                <table\n                    className=\"table w-full caption-bottom text-sm\">\n                    <thead class=\"bg-[#4E5059]\">\n                        <tr>\n                            <th class=\"px-4 py-2 text-body text-white font-bold text-left align-middle\">\n                                \u96f6\u4ef6\u578b\u53f7                            <\/th>\n                            <th class=\"px-4 py-2 text-body text-white font-bold text-left align-middle\">\n                                \u63cf\u8ff0                            <\/th>\n                            <th class=\"px-4 py-2 text-body text-white font-bold text-right align-middle\">\n                                \u4ef7\u683c                            <\/th>\n                            <th class=\"px-4 py-2 text-body text-white font-bold text-right align-middle\">\n                                \u6570\u91cf                            <\/th>\n                        <\/tr>\n                    <\/thead>\n                    <tbody :class=\"loading ? 'hidden' : ''\" class=\"zama-parts-service\">\n                          <tr :class=\"loading ? 'hidden' : ''\">\n    <td class=\"px-4 py-2 text-body text-blue underline text-left align-middle\"><a href=\"https:\/\/devwp02.visibleone.io\/zama\/part-service\/Z011-120-0607-D\/\">Z011-120-0607-D<\/a><\/td>\n    <td class=\"px-4 py-2 text-body text-left align-middle\"><\/td>\n    <td class=\"px-4 py-2 text-body flex text-right align-middle\">\n      <p class=\"ml-auto\"><\/p>\n    <\/td>\n    <td class=\"px-4 py-2 text-body text-right align-middle\"><\/td>\n  <\/tr>\n  <tr :class=\"loading ? 'hidden' : ''\">\n    <td class=\"px-4 py-2 text-body text-blue underline text-left align-middle\"><a href=\"https:\/\/devwp02.visibleone.io\/zama\/part-service\/Z011-120-0602-D\/\">Z011-120-0602-D<\/a><\/td>\n    <td class=\"px-4 py-2 text-body text-left align-middle\"><\/td>\n    <td class=\"px-4 py-2 text-body flex text-right align-middle\">\n      <p class=\"ml-auto\"><\/p>\n    <\/td>\n    <td class=\"px-4 py-2 text-body text-right align-middle\"><\/td>\n  <\/tr>\n  <tr :class=\"loading ? 'hidden' : ''\">\n    <td class=\"px-4 py-2 text-body text-blue underline text-left align-middle\"><a href=\"https:\/\/devwp02.visibleone.io\/zama\/part-service\/Z011-120-0638-C\/\">Z011-120-0638-C<\/a><\/td>\n    <td class=\"px-4 py-2 text-body text-left align-middle\"><\/td>\n    <td class=\"px-4 py-2 text-body flex text-right align-middle\">\n      <p class=\"ml-auto\"><\/p>\n    <\/td>\n    <td class=\"px-4 py-2 text-body text-right align-middle\"><\/td>\n  <\/tr>\n  <tr :class=\"loading ? 'hidden' : ''\">\n    <td class=\"px-4 py-2 text-body text-blue underline text-left align-middle\"><a href=\"https:\/\/devwp02.visibleone.io\/zama\/part-service\/Z020-120-0613-A\/\">Z020-120-0613-A<\/a><\/td>\n    <td class=\"px-4 py-2 text-body text-left align-middle\"><\/td>\n    <td class=\"px-4 py-2 text-body flex text-right align-middle\">\n      <p class=\"ml-auto\"><\/p>\n    <\/td>\n    <td class=\"px-4 py-2 text-body text-right align-middle\"><\/td>\n  <\/tr>\n  <tr :class=\"loading ? 'hidden' : ''\">\n    <td class=\"px-4 py-2 text-body text-blue underline text-left align-middle\"><a href=\"https:\/\/devwp02.visibleone.io\/zama\/part-service\/Z011-120-0612-D\/\">Z011-120-0612-D<\/a><\/td>\n    <td class=\"px-4 py-2 text-body text-left align-middle\"><\/td>\n    <td class=\"px-4 py-2 text-body flex text-right align-middle\">\n      <p class=\"ml-auto\"><\/p>\n    <\/td>\n    <td class=\"px-4 py-2 text-body text-right align-middle\"><\/td>\n  <\/tr>\n  <tr :class=\"loading ? 'hidden' : ''\">\n    <td class=\"px-4 py-2 text-body text-blue underline text-left align-middle\"><a href=\"https:\/\/devwp02.visibleone.io\/zama\/part-service\/Z011-120-0681-A\/\">Z011-120-0681-A<\/a><\/td>\n    <td class=\"px-4 py-2 text-body text-left align-middle\"><\/td>\n    <td class=\"px-4 py-2 text-body flex text-right align-middle\">\n      <p class=\"ml-auto\"><\/p>\n    <\/td>\n    <td class=\"px-4 py-2 text-body text-right align-middle\"><\/td>\n  <\/tr>\n  <tr :class=\"loading ? 'hidden' : ''\">\n    <td class=\"px-4 py-2 text-body text-blue underline text-left align-middle\"><a href=\"https:\/\/devwp02.visibleone.io\/zama\/part-service\/Z011-120-0667-C\/\">Z011-120-0667-C<\/a><\/td>\n    <td class=\"px-4 py-2 text-body text-left align-middle\"><\/td>\n    <td class=\"px-4 py-2 text-body flex text-right align-middle\">\n      <p class=\"ml-auto\"><\/p>\n    <\/td>\n    <td class=\"px-4 py-2 text-body text-right align-middle\"><\/td>\n  <\/tr>\n  <tr :class=\"loading ? 'hidden' : ''\">\n    <td class=\"px-4 py-2 text-body text-blue underline text-left align-middle\"><a href=\"https:\/\/devwp02.visibleone.io\/zama\/part-service\/Z011-120-0648-C\/\">Z011-120-0648-C<\/a><\/td>\n    <td class=\"px-4 py-2 text-body text-left align-middle\"><\/td>\n    <td class=\"px-4 py-2 text-body flex text-right align-middle\">\n      <p class=\"ml-auto\"><\/p>\n    <\/td>\n    <td class=\"px-4 py-2 text-body text-right align-middle\"><\/td>\n  <\/tr>\n  <tr :class=\"loading ? 'hidden' : ''\">\n    <td class=\"px-4 py-2 text-body text-blue underline text-left align-middle\"><a href=\"https:\/\/devwp02.visibleone.io\/zama\/part-service\/Z024-120-0602-B\/\">Z024-120-0602-B<\/a><\/td>\n    <td class=\"px-4 py-2 text-body text-left align-middle\"><\/td>\n    <td class=\"px-4 py-2 text-body flex text-right align-middle\">\n      <p class=\"ml-auto\"><\/p>\n    <\/td>\n    <td class=\"px-4 py-2 text-body text-right align-middle\"><\/td>\n  <\/tr>\n  <tr :class=\"loading ? 'hidden' : ''\">\n    <td class=\"px-4 py-2 text-body text-blue underline text-left align-middle\"><a href=\"https:\/\/devwp02.visibleone.io\/zama\/part-service\/Z011-120-0688-B\/\">Z011-120-0688-B<\/a><\/td>\n    <td class=\"px-4 py-2 text-body text-left align-middle\"><\/td>\n    <td class=\"px-4 py-2 text-body flex text-right align-middle\">\n      <p class=\"ml-auto\"><\/p>\n    <\/td>\n    <td class=\"px-4 py-2 text-body text-right align-middle\"><\/td>\n  <\/tr>\n                    <\/tbody>\n                <\/table>\n                <div :class=\"loading ? 'flex flex-col gap-4' : 'hidden'\" class=\"pt-4\">\n                                            <p class=\"w-full h-10 bg-[#FAFAFA] animate-pulse\"><\/p>\n                                            <p class=\"w-full h-10 bg-[#FAFAFA] animate-pulse\"><\/p>\n                                            <p class=\"w-full h-10 bg-[#FAFAFA] animate-pulse\"><\/p>\n                                            <p class=\"w-full h-10 bg-[#FAFAFA] animate-pulse\"><\/p>\n                                            <p class=\"w-full h-10 bg-[#FAFAFA] animate-pulse\"><\/p>\n                                            <p class=\"w-full h-10 bg-[#FAFAFA] animate-pulse\"><\/p>\n                                            <p class=\"w-full h-10 bg-[#FAFAFA] animate-pulse\"><\/p>\n                                            <p class=\"w-full h-10 bg-[#FAFAFA] animate-pulse\"><\/p>\n                                            <p class=\"w-full h-10 bg-[#FAFAFA] animate-pulse\"><\/p>\n                                            <p class=\"w-full h-10 bg-[#FAFAFA] animate-pulse\"><\/p>\n                                    <\/div>\n            <\/div>\n        <\/div>\n        <a href=\"https:\/\/devwp02.visibleone.io\/zama\/technical-support\/technical-support\/\" class=\"text-body flex items-center gap-2.5 mt-5 mb-10 underline underline-offset-4\">\n            <img decoding=\"async\" src=\"https:\/\/devwp02.visibleone.io\/zama\/wp-content\/themes\/zama\/resources\/images\/partservice\/icon.svg\" class=\"size-[20px]\" \/>\n            \u5982\u4f55\u8bc6\u522b Zama \u5316\u6cb9\u5668\u578b\u53f7\u548c\u7c7b\u578b<\/a>\n        <div class=\"flex justify-between\">\n  <div\n    class=\"w-full flex gap-2.5 xs:w-[calc(50%-5px)] md:w-[200px] mt-4 lg:mt-0 text-body text-black-000 filter-div-container\">\n    <label for=\"posts_per_page\" class=\"mt-2 text-body text-black-000\">\u663e\u793a<\/label>\n    <div class=\"relative sm:w-auto w-fit\" x-data=\"zama_posts_per_pages\">\n    <input type=\"text\" id=\"per_page\" name=\"per_page\" x-model=\"per_page\" class=\"hidden\"\n        aria-hidden=\"false\" \/>\n\n    <div class=\"zama_posts_per_pages px-3 md:px-3 rounded-lg py-2 md:py-2 border-[1px] border-strokePurple flex items-center\"\n        :class=\"dropdownOpened ? 'border-black-000' : ''\" @click=\"toggleDropdown\">\n        <label for=\"per_page\"\n            class=\"mr-2.5 text-nowrap pointer-events-none text-18 font-normal text-darkPurple\"\n            :class=\"!per_page ? '' : ''\" x-text=\"per_page\"><\/label>\n        <span class=\"ml-auto shrink-0\">\n            <img decoding=\"async\" src=\"https:\/\/devwp02.visibleone.io\/zama\/wp-content\/themes\/zama\/resources\/images\/icons\/arrow-down.svg\" alt=\"Down Arrow Svg\"\n                class=\" transition-all pointer-events-none\" :class=\"dropdownOpened ? 'rotate-180' : ''\" \/>\n        <\/span>\n    <\/div>\n\n    <ul class=\"absolute rounded-lg min-w-max w-full -bottom-1.5 left-0 translate-y-full z-[11] bg-white text-18 font-normal text-darkPurple transition-all max-h-0 overflow-hidden border\"\n        :class=\"dropdownOpened ? 'border-black-000' : 'border-white'\" x-ref=\"dropdown\">\n        <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"per_page == '10' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('', '10')\">\n            10        <\/li>\n                <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"per_page == '20' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('1', '20')\">\n            20        <\/li>\n                <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"per_page == '30' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('2', '30')\">\n            30        <\/li>\n                <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"per_page == '40' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('3', '40')\">\n            40        <\/li>\n                <li class=\"px-3 md:px-5 py-2 md:py-2.5 cursor-default transition hover:bg-[#1967D2] hover:text-white\"\n            :class=\"per_page == '50' ? 'text-white bg-[#1967D2] font-bold' : ''\"\n            @click=\"onOptionClick('4', '50')\">\n            50        <\/li>\n            <\/ul>\n<\/div>\n<script>\n(function() {\n    document.addEventListener('alpine:init', function() {\n        Alpine.data('zama_posts_per_pages', () => ({\n            handleClickAwayBound: null,\n            dropdownOpened: false,\n            toggleDropdown: function() {\n                if (this.dropdownOpened) {\n                    this.dropdownOpened = false;\n                    this.hideDropdown();\n                } else {\n                    this.dropdownOpened = true;\n                    this.showDropdown();\n                }\n            },\n            showDropdown: function() {\n                const dropdown = this.$refs.dropdown;\n                let maxHeight = 0;\n                Array.from(dropdown.children).forEach(child => {\n                    maxHeight += child.clientHeight;\n                });\n                dropdown.style.setProperty('max-height', maxHeight + 'px');\n                this.handleClickAwayBound = this.handleClickAway.bind(\n                    this\n                ); \/\/ using extra var to make function in state when removing listener\n                document.addEventListener('click', this.handleClickAwayBound);\n            },\n            hideDropdown: function() {\n                const dropdown = this.$refs.dropdown;\n                dropdown.style.removeProperty('max-height');\n                document.removeEventListener('click', this.handleClickAwayBound);\n            },\n            onOptionClick: function(search, display) {\n                this['per_page'] = search;\n                this['per_page'] = display;\n                this.toggleDropdown();\n                this.getPosts();\n            },\n            handleClickAway: function(e) {\n                if (!e.target.closest('.zama_posts_per_pages') && this.dropdownOpened) {\n                    this.toggleDropdown();\n                }\n            },\n        }));\n    });\n})();\n<\/script>\n  <\/div>\n  <div class=\"pagination-list pt-12 flex items-center justify-end gap-4\" :class=\"showPagination ? '' : 'hidden'\"\n    x-data=\"cuhk_latest_news_pagination\">\n    <button class=\"size-4 lg:size-5 group  relative -top-0.5 my-auto\" :disabled=\"current == 1\"\n      @click=\"onPrev\">\n      <svg width=\"15\" height=\"16\" viewBox=\"0 0 15 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n        <path\n          class=\"transition-all stroke-mainPurple group-disabled:stroke-black-400 group-disabled:opacity-50 group-enabled:group-hover:stroke-black-000\"\n          d=\"M10.0053 2.68714C10.087 2.77085 10.1328 2.88323 10.1328 3.00026C10.1328 3.11729 10.087 3.22967 10.0053 3.31339L5.43682 7.99995L10.0053 12.6856C10.087 12.7693 10.1328 12.8817 10.1328 12.9987C10.1328 13.1157 10.087 13.2281 10.0053 13.3118C9.96552 13.3526 9.91799 13.3851 9.8655 13.4072C9.81301 13.4294 9.75661 13.4408 9.69964 13.4408C9.64266 13.4408 9.58626 13.4294 9.53377 13.4072C9.48128 13.3851 9.43376 13.3526 9.39401 13.3118L4.53589 8.32713C4.45056 8.2396 4.40281 8.12219 4.40281 7.99995C4.40281 7.8777 4.45056 7.7603 4.53589 7.67276L9.39401 2.68807C9.43376 2.64725 9.48128 2.6148 9.53377 2.59265C9.58626 2.5705 9.64266 2.55908 9.69964 2.55908C9.75661 2.55908 9.81301 2.5705 9.8655 2.59265C9.91799 2.6148 9.96552 2.64725 10.0053 2.68807V2.68714Z\"\n          fill=\"#D5D5D5\" stroke=\"#D5D5D5\" stroke-linejoin=\"round\" \/>\n      <\/svg>\n    <\/button>\n\n    <div class=\"flex items-start\">\n      <template x-for=\"pageNumber in visiblePages\">\n        <button class=\"text-button mr-2.5 lg:mr-5 last:mr-0 transition hover:text-black hover:opacity-100\"\n          :class=\"pageNumber === current ? 'text-black' : 'text-black-000 opacity-50'\"\n          x-text=\"pageNumber\" @click=\"onPaginate(pageNumber)\" :disabled=\"!parseInt(pageNumber)\">\n        <\/button>\n      <\/template>\n    <\/div>\n\n    <button class=\"size-4 lg:size-5 group relative -top-0.5 my-auto\"\n      :disabled=\"current == totalPages\" @click=\"onNext\">\n      <svg width=\"15\" height=\"16\" viewBox=\"0 0 15 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n        <path\n          class=\"transition-all stroke-mainPurple group-disabled:stroke-black-400 group-disabled:opacity-50 group-enabled:group-hover:stroke-black-000\"\n          d=\"M4.99474 2.68714C4.91297 2.77085 4.86719 2.88323 4.86719 3.00026C4.86719 3.11729 4.91297 3.22967 4.99474 3.31339L9.56318 7.99995L4.99474 12.6856C4.91297 12.7693 4.86719 12.8817 4.86719 12.9987C4.86719 13.1157 4.91297 13.2281 4.99474 13.3118C5.03448 13.3526 5.08201 13.3851 5.1345 13.4072C5.18699 13.4294 5.24339 13.4408 5.30036 13.4408C5.35734 13.4408 5.41374 13.4294 5.46623 13.4072C5.51872 13.3851 5.56624 13.3526 5.60599 13.3118L10.4641 8.32713C10.5494 8.2396 10.5972 8.12219 10.5972 7.99995C10.5972 7.8777 10.5494 7.7603 10.4641 7.67276L5.60599 2.68807C5.56624 2.64725 5.51872 2.6148 5.46623 2.59265C5.41374 2.5705 5.35734 2.55908 5.30036 2.55908C5.24339 2.55908 5.18699 2.5705 5.1345 2.59265C5.08201 2.6148 5.03448 2.64725 4.99474 2.68807V2.68714Z\"\n          fill=\"#D5D5D5\" stroke=\"#D5D5D5\" stroke-linejoin=\"round\" \/>\n      <\/svg>\n\n    <\/button>\n  <\/div>\n<\/div>\n<script>\n  (function() {\n    document.addEventListener('alpine:init', function() {\n      Alpine.data('cuhk_latest_news_pagination', () => ({\n        onPrev: function() {\n          if (this.current - 1) {\n            this.current -= 1;\n          } else {\n            this.current = 1;\n          }\n          this.getPosts(false);\n        },\n        onNext: function() {\n          if (this.current + 1 <= this.totalPages) {\n            this.current += 1;\n          } else {\n            this.current = this.totalPages;\n          }\n          this.getPosts(false);\n        },\n        onPaginate: function(index) {\n          this.current = index;\n          this.getPosts(false);\n        },\n        get visiblePages() {\n          const range = 2;\n          const visible = [];\n\n          if (this.totalPages > 1) visible.push(1);\n\n          if (this.current - range > 2) {\n            if (this.current - range < this.totalPages) {\n              visible.push('...');\n            }\n          }\n\n          for (let i = Math.max(2, this.current - range); i < this.current; i++) {\n            if (i < this.totalPages) {\n              visible.push(i);\n            }\n          }\n\n          if (this.current < this.totalPages) {\n            if (this.current !== 1) {\n              if (this.current !== this.totalPages) {\n                visible.push(this.current);\n              }\n            }\n          }\n\n          for (let i = this.current + 1; i <= Math.min(this.totalPages - 1, this.current + range); i++) {\n            if (i < this.totalPages) {\n              visible.push(i);\n            }\n          }\n\n          if (this.current + range < this.totalPages - 1) {\n            visible.push('...');\n          }\n\n          visible.push(this.totalPages);\n\n          return visible;\n        }\n      }));\n    })\n  })();\n<\/script>    <\/div>\n<\/section>\n<div>\n<\/div>\n<script id=\"data\" type=\"application\/json\">\n    {\"s_term\":\"\",\"s_category\":\"\",\"d_category\":\"All\",\"current\":1,\"per_page\":10,\"showPagination\":139,\"totalPages\":139,\"totalPosts\":\"1383\",\"loading\":false,\"s_type\":\"\",\"d_type\":\"All\"}<\/script>\n<script>\n    const data = JSON.parse(document.getElementById(\"data\").text);\n    (function() {\n        document.addEventListener('alpine:init', function() {\n            Alpine.data('zama_parts_service', () => ({\n                ...data,\n                abortController: null,\n                requestTimestamp: 0,\n\n                getPosts: async function(resetCurrent = true) {\n                    if (resetCurrent) this.current = 1;\n\n                    const currentSearchTerm = this.s_term;\n                    const currentTimestamp = Date.now();\n                    this.requestTimestamp = currentTimestamp;\n\n                    const hrefParams = {\n                        s_term: currentSearchTerm,\n                        s_year: this.s_year,\n                        s_category: this.s_category,\n                        current: this.current,\n                        s_type: this.s_type,\n                        posts_per_page: this.per_page\n                    };\n                    const newUrl = window.location.href.split(\"?\")[0] + \"?\" + this\n                        .objectToQueryString(hrefParams);\n\n                    try {\n                        if (this.abortController) {\n                            this.abortController.abort();\n                        }\n\n                        this.abortController = new AbortController();\n                        this.loading = true;\n\n                        const response = await fetch(newUrl, {\n                            signal: this.abortController.signal\n                        });\n\n                        if (this.requestTimestamp !== currentTimestamp || this.s_term !== currentSearchTerm) {\n                            console.log('Discarding outdated results');\n                            return;\n                        }\n\n                        const htmlText = await response.text();\n                        const parser = new DOMParser();\n                        const doc = parser.parseFromString(htmlText, 'text\/html');\n                        const newContent = doc.querySelector('.partservice-table');\n\n                        if (this.requestTimestamp !== currentTimestamp || this.s_term !== currentSearchTerm) {\n                            console.log('Discarding outdated results');\n                            return;\n                        }\n\n                        if (newContent) {\n                            const currentContent = document.querySelector('.partservice-table');\n                            const data = JSON.parse(doc.getElementById('data').text);\n                            Alpine.morph(currentContent, newContent);\n                            Object.assign(this, data);\n                            window.history.replaceState({}, '', newUrl);\n                        }\n                        this.loading = false;\n                        return;\n                    } catch (error) {\n                        if (error.name === 'AbortError') {\n                            console.log('Request was cancelled');\n                        } else {\n                            console.log(\"Something went wrong\", error);\n                        }\n\n                        if (error.name !== 'AbortError') {\n                            this.loading = false;\n                        }\n                        return;\n                    }\n                },\n                \/\/ getPosts: async function(resetCurrent = true) {\n                \/\/     if (resetCurrent) this.current = 1;\n                \/\/     const hrefParams = {\n                \/\/         s_term: this.s_term,\n                \/\/         s_year: this.s_year,\n                \/\/         s_category: this.s_category,\n                \/\/         current: this.current,\n                \/\/         s_type: this.s_type,\n                \/\/         posts_per_page: this.per_page\n                \/\/     };\n                \/\/     const newUrl = window.location.href.split(\"?\")[0] + \"?\" + this\n                \/\/         .objectToQueryString(hrefParams);\n\n                \/\/     try {\n                \/\/         this.loading = true;\n                \/\/         const response = await fetch(newUrl);\n                \/\/         const htmlText = await response.text();\n\n                \/\/         const parser = new DOMParser();\n                \/\/         const doc = parser.parseFromString(htmlText, 'text\/html');\n                \/\/         const newContent = doc.querySelector('.partservice-table');\n                \/\/         if (newContent) {\n                \/\/             const currentContent = document.querySelector('.partservice-table');\n                \/\/             const data = JSON.parse(doc.getElementById('data').text);\n                \/\/             Alpine.morph(currentContent, newContent);\n                \/\/             Object.assign(this, data);\n                \/\/             console.log(this, data);\n                \/\/             window.history.replaceState({}, '', newUrl);\n                \/\/         }\n                \/\/         this.loading = false;\n                \/\/         return;\n                \/\/     } catch (error) {\n                \/\/         this.loading = false;\n                \/\/         console.log(\"Something went wrong\", error);\n                \/\/         return;\n                \/\/     }\n                \/\/ this.loading = true;\n\n                \/\/ \/\/ fetch\n                \/\/ const baseUrl = 'https:\/\/devwp02.visibleone.io\/zama\/cn\/wp-json\/wp\/v2\/part-service';\n                \/\/ const param = {\n                \/\/     search: this.s_term,\n                \/\/     s_year: this.s_year,\n                \/\/     s_category: this.s_category,\n                \/\/     s_type: this.s_type,\n                \/\/     \/\/ categories: this.s_category,\n                \/\/     \/\/ category_in: this.s_type,\n                \/\/     page: this.current,\n                \/\/     per_page: this.per_page,\n                \/\/ }\n\n                \/\/ \/\/ Modify the fetch URL to include both post types when searching\n                \/\/ let fetchUrl = '';\n                \/\/ if (this.s_term) {\n                \/\/     \/\/ Use a custom endpoint or modify the request to fetch both post types\n                \/\/     fetchUrl = 'https:\/\/devwp02.visibleone.io\/zama\/cn\/wp-json\/wp\/v2\/search?' + this.objectToQueryString({\n                \/\/         search: this.s_term,\n                \/\/         page: this.current,\n                \/\/         per_page: this.per_page,\n                \/\/         type: 'post',\n                \/\/         subtype: ['part-service', 'part']\n                \/\/     });\n                \/\/ } else {\n                \/\/     fetchUrl = baseUrl + \"?\" + this.objectToQueryString(param);\n                \/\/ }\n                \/\/ try {\n                \/\/     const res = await fetch(fetchUrl);\n                \/\/     const fetchPosts = await res.json();\n                \/\/     const totalPosts = res.headers.get('X-WP-Total');\n                \/\/     this.posts = fetchPosts;\n                \/\/     this.totalPosts = totalPosts;\n                \/\/     this.totalPages = Math.ceil(totalPosts \/ this.per_page);\n                \/\/     this.showPagination = Math.ceil(totalPosts \/ this.per_page);\n                \/\/     \/\/ render\n                \/\/     const content = document.querySelector(\n                \/\/         '.partservice .partservice-table .zama-parts-service');\n                \/\/     if (!content.querySelector('template')) {\n                \/\/         const template = `=trim(render_content_template()) ?>`;\n                \/\/         const subtypeTemplate = `trim(render_subtype_template()) ?>`;\n                \/\/         Alpine.morph(content, `\n                \/\/             <tbody class=\"zama-parts-service\">\n                \/\/                 <template x-for=\"post in posts\" :key=\"post.id\">\n                \/\/                 post?.subtype ? ${subtypeTemplate} : ${template}\n                \/\/                 <\/template>\n                \/\/             <\/tbody>\n                \/\/             `);\n                \/\/     }\n\n                \/\/     \/\/ update URL\n                \/\/     const hrefParams = {\n                \/\/         s_term: this.s_term,\n                \/\/         s_year: this.s_year,\n                \/\/         s_category: this.s_category,\n                \/\/         current: this.current,\n                \/\/         s_type: this.s_type,\n                \/\/         posts_per_page: this.per_page\n                \/\/     };\n                \/\/     const newUrl = window.location.href.split(\"?\")[0] + \"?\" + this\n                \/\/         .objectToQueryString(hrefParams);\n                \/\/     window.history.replaceState({}, document.title, newUrl);\n                \/\/ } catch (e) {\n                \/\/     console.log(e);\n                \/\/ } finally {\n                \/\/     this.loading = false;\n                \/\/ }\n                \/\/ },\n                changeType: (type) => {\n                    this.type = type;\n                },\n                objectToQueryString: function(obj) {\n                    for (let key in obj) {\n                        if (!obj[key]) delete obj[key];\n                    }\n\n                    return Object.keys(obj).map(key => {\n                        if (Array.isArray(obj[key])) {\n                            return obj[key].map(value => encodeURIComponent(key) + '[]=' + encodeURIComponent(value)).join('&');\n                        }\n                        return encodeURIComponent(key) + '=' + encodeURIComponent(obj[key]);\n                    }).join('&');\n                }\n            }));\n        });\n    })();\n<\/script>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"rank_math_lock_modified_date":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-15845","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/devwp02.visibleone.io\/zama\/cn\/wp-json\/wp\/v2\/pages\/15845","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devwp02.visibleone.io\/zama\/cn\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/devwp02.visibleone.io\/zama\/cn\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/devwp02.visibleone.io\/zama\/cn\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devwp02.visibleone.io\/zama\/cn\/wp-json\/wp\/v2\/comments?post=15845"}],"version-history":[{"count":6,"href":"https:\/\/devwp02.visibleone.io\/zama\/cn\/wp-json\/wp\/v2\/pages\/15845\/revisions"}],"predecessor-version":[{"id":15867,"href":"https:\/\/devwp02.visibleone.io\/zama\/cn\/wp-json\/wp\/v2\/pages\/15845\/revisions\/15867"}],"wp:attachment":[{"href":"https:\/\/devwp02.visibleone.io\/zama\/cn\/wp-json\/wp\/v2\/media?parent=15845"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}