diff --git a/.env.development b/.env.development
index c46feb78ace32b7aa5d1a9991fd21b22ac821735..7b13e024af9a4ee5ec0e94e911366b498bd2980c 100644
--- a/.env.development
+++ b/.env.development
@@ -14,5 +14,5 @@ VUE_APP_BASE_API = '/dev-api'
 VUE_CLI_BABEL_TRANSPILE_MODULES = true
 
 # 寮€鍙戠幆澧冪殑鍚庣鎺ュ彛鍦板潃
-VUE_APP_API_TARGET = http://192.168.2.37:9091
+VUE_APP_API_TARGET = http://192.168.2.14:9091
 # VUE_APP_API_TARGET = http://localhost:8080
\ No newline at end of file
diff --git a/src/api/tyler/hjjc.js b/src/api/tyler/hjjc.js
index 715c1a561caf85aee882bee7396dc7cb4b9d8087..9664b12ca6a6e57d74119d4858a940cfd4579621 100644
--- a/src/api/tyler/hjjc.js
+++ b/src/api/tyler/hjjc.js
@@ -8,7 +8,15 @@ export function getRealData(query) {
     params: query,
   });
 }
+// 鏌ヨ璁惧25H鏁版嵁
 
+export function getDeviceData(query) {
+  return request({
+    url: "/business/screen/env/deviceData",
+    method: "get",
+    params: query,
+  });
+}
 // 鏌ヨ鍘嗗彶鏁版嵁鍙充笂
 export function getRtData(query) {
   return request({
@@ -25,3 +33,12 @@ export function getRcData(query) {
     params: query,
   });
 }
+
+// 鏌ヨ璁惧浣嶇疆
+export function getDeviceStatus(query) {
+  return request({
+    url: "/business/screen/env/deviceStatus",
+    method: "get",
+    params: query,
+  });
+}
diff --git a/src/assets/images/screen/hjjc/popup.png b/src/assets/images/screen/hjjc/popup.png
new file mode 100644
index 0000000000000000000000000000000000000000..eeee60b157d3d140e9f9d35964ebe772d0ae3ad9
Binary files /dev/null and b/src/assets/images/screen/hjjc/popup.png differ
diff --git a/src/assets/images/screen/hjjc/title-popup.png b/src/assets/images/screen/hjjc/title-popup.png
new file mode 100644
index 0000000000000000000000000000000000000000..931d2031f5bd8d6864310127474e436cde1754fa
Binary files /dev/null and b/src/assets/images/screen/hjjc/title-popup.png differ
diff --git a/src/assets/images/screen/psxt/bg1.png b/src/assets/images/screen/psxt/bg1.png
new file mode 100644
index 0000000000000000000000000000000000000000..ebbdea91421fdfed510d9204e728e0d3f8b59f49
Binary files /dev/null and b/src/assets/images/screen/psxt/bg1.png differ
diff --git a/src/views/Screen/items/hjjc.vue b/src/views/Screen/items/hjjc.vue
index a45a19d8dd8218e72708f3fa49757769fb34ccc3..69030be1f9991ac1bd0c4ddce5f50e1107736d14 100644
--- a/src/views/Screen/items/hjjc.vue
+++ b/src/views/Screen/items/hjjc.vue
@@ -8,34 +8,42 @@
           <div class="sub-title por"><span>鐜鐩戞祴瀹炴椂鏁版嵁 </span></div>
           <div class="table-box">
             <vue-seamless-scroll
-              ref="vueSeamlessScroll"
+              ref="sssjControl"
               :data="tableData1"
               :class-option="classOption"
               @mousewheel.native="handleScroll"
               class="warp"
             >
               <ul class="item">
-                <li class="table-item" v-for="(item, i) in tableData1" :key="i">
-                  <el-row :gutter="16">
-                    <el-col :span="6" class="jz">
-                      <img
-                        class="img-class"
-                        :src="
-                          require(`@/assets/images/screen/hjjc/${item.typeId}.png`)
-                        "
-                      />
-                    </el-col>
-                    <el-col :span="10">
-                      <p class="device-name">{{ item.tpName }}</p>
-                      <p class="device-time">{{ item.time }}</p>
-                    </el-col>
-                    <el-col :span="8">
-                      <p class="device-value">
-                        {{ item.value | capitalize }}{{ item.unit }}
-                      </p>
-                    </el-col>
-                  </el-row>
-                </li>
+                <div
+                  :class="upWindowData.upWindowActive === i ? 'active' : ''"
+                  style="cursor: pointer"
+                  v-for="(item, i) in tableData1"
+                  :key="i"
+                  @click="lookRealData(item, i)"
+                >
+                  <li class="table-item">
+                    <el-row :gutter="16">
+                      <el-col :span="6" class="jz">
+                        <img
+                          class="img-class"
+                          :src="
+                            require(`@/assets/images/screen/hjjc/${item.typeId}.png`)
+                          "
+                        />
+                      </el-col>
+                      <el-col :span="10">
+                        <p class="device-name">{{ item.tpName }}</p>
+                        <p class="device-time">{{ item.time }}</p>
+                      </el-col>
+                      <el-col :span="8">
+                        <p class="device-value">
+                          {{ item.value | capitalize }}{{ item.unit }}
+                        </p>
+                      </el-col>
+                    </el-row>
+                  </li>
+                </div>
               </ul>
             </vue-seamless-scroll>
           </div>
@@ -44,15 +52,23 @@
       <!-- 涓棿 -->
       <div class="main-area">
         <!-- 璁惧鐐逛綅 -->
-        <div class="dot">
+        <div
+          class="dot"
+          v-for="(item, i) in equipmentList"
+          :key="i"
+          :class="item.isWarning == 1 ? 'active' : ''"
+          :style="{ left: item.x + 'px', top: item.y + 'px' }"
+        >
           <div class="dot1" @click="">
             <div class="tip-box">
-              <p>涓€涓伩闄╃瀹ゆ哀姘�</p>
-              <p class="active">
-                涓€涓伩闄╃瀹や竴姘у寲纰�
+              <p
+                v-for="(iitem, l) in item.monitorPositionList"
+                :key="l"
+                :class="iitem.isWarning == 1 ? 'active' : ''"
+              >
+                {{ iitem.equipmentName }}
                 <span></span>
               </p>
-              <p>涓€涓伩闄╃瀹ゆ哀姘�</p>
             </div>
           </div>
         </div>
@@ -119,7 +135,8 @@
               class="warp"
               :data="tableData2"
               :class-option="classOption2"
-              ref="vueSeamlessScroll"
+              @mousewheel.native="handleScrollR"
+              ref="RightScroll"
             >
               <ul class="item">
                 <li
@@ -142,17 +159,29 @@
           </div>
         </div>
       </div>
+      <!-- 寮圭獥鍐呭 -->
+      <transition name="el-fade-in">
+        <div v-show="upWindowData.upWindowVisible" class="up-window">
+          <p><span></span>鍥涗腑娓╁害璁惧涓€</p>
+          <i class="el-icon-close close-button" @click="closeUpWindow"></i>
+          <p class="date-title">2025-3-13</p>
+          <div class="chart-box" id="chartBox"></div>
+        </div>
+      </transition>
     </div>
   </div>
 </template>
 <script>
 import * as echarts from "echarts";
-import { getRealData, getRtData } from "@/api/tyler/hjjc";
+import {
+  getRealData,
+  getRtData,
+  getDeviceStatus,
+  getDeviceData,
+} from "@/api/tyler/hjjc";
 import ScrollTable from "@/components/Tyler/ScrollTable.vue";
 import screenfull from "screenfull";
 import vueSeamlessScroll from "vue-seamless-scroll";
-{
-}
 export default {
   name: "cockpit",
   components: {
@@ -161,16 +190,27 @@ export default {
   },
   data() {
     return {
+      // 璁惧瀹炴柦鏁版嵁寮圭獥
+      upWindowData: {
+        upWindowActive: "",
+        upWindowVisible: false,
+      },
+      // 宸﹁竟鍒楄〃鏁版嵁
       tableData1: [],
+      // 宸︿晶婊氬姩 鍙傛暟
       classOption: {
         singleHeight: 110,
-        openTouch: true,
+        hoverStop: true,
+        autoPlay: true,
       },
+      // 璁惧瀹氫綅鍒嗙被寮€鍏�
       checkList: ["1", "2"],
+      // 鍙充笅婊氬姩 鍙傛暟
       classOption2: {
         singleHeight: 47,
-        openTouch: true,
+        hoverStop: true,
       },
+      // 宸︿晶瀹炴柦鏁版嵁鍒楄〃
       sssjData: [
         {
           name: "",
@@ -188,8 +228,11 @@ export default {
           ],
         },
       ],
+      // 鍙充笂璁惧杞挱涓嬫爣
       sssjMark: 0,
+      // 鍙充笂璁惧杞挱鍚嶇О
       sssjName: "",
+      // 鍙充笅 鍒楄〃鏁版嵁
       tableData2: [
         {
           name: "闄堢帀寮�",
@@ -234,6 +277,218 @@ export default {
           alertLocation: "鍥涗腑杞﹀満",
         },
       ],
+      // 涓棿鍥剧墖鏁版嵁鍒楄〃
+      equipmentList: [
+        {
+          isWarning: 0, //鏄惁鎶ヨ
+          x: 85,
+          y: 233,
+          name: "涓€涓伩闄╃瀹�",
+          // 鐩戞祴鐐�
+          monitorPositionList: [
+            {
+              equipmentName: "涓€涓伩闄╃瀹ゆ哀姘�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+            {
+              equipmentName: "涓€涓伩闄╃瀹や竴姘у寲纰�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+          ],
+        },
+        {
+          isWarning: 0, //鏄惁鎶ヨ
+          x: 145,
+          y: 253,
+          name: "涓€涓鏈�",
+          // 鐩戞祴鐐�
+          monitorPositionList: [
+            {
+              equipmentName: "涓€涓伩闄╃瀹ゆ哀姘�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+            {
+              equipmentName: "涓€涓伩闄╃瀹や竴姘у寲纰�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+          ],
+        },
+        {
+          isWarning: 0, //鏄惁鎶ヨ
+          x: 185,
+          y: 258,
+          name: "涓€涓富杩愯緭娓�",
+          // 鐩戞祴鐐�
+          monitorPositionList: [
+            {
+              equipmentName: "涓€涓伩闄╃瀹ゆ哀姘�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+            {
+              equipmentName: "涓€涓伩闄╃瀹や竴姘у寲纰�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+          ],
+        },
+        {
+          isWarning: 0, //鏄惁鎶ヨ
+          x: 270,
+          y: 270,
+          name: "涓€涓繍杈撴腐",
+          // 鐩戞祴鐐�
+          monitorPositionList: [
+            {
+              equipmentName: "涓€涓伩闄╃瀹ゆ哀姘�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+            {
+              equipmentName: "涓€涓伩闄╃瀹や竴姘у寲纰�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+          ],
+        },
+        {
+          isWarning: 0, //鏄惁鎶ヨ
+          x: 237,
+          y: 280,
+          name: "涓€涓タ閲囧尯",
+          // 鐩戞祴鐐�
+          monitorPositionList: [
+            {
+              equipmentName: "涓€涓伩闄╃瀹ゆ哀姘�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+            {
+              equipmentName: "涓€涓伩闄╃瀹や竴姘у寲纰�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+          ],
+        },
+        {
+          isWarning: 0, //鏄惁鎶ヨ
+          x: 816,
+          y: 221,
+          name: "涓滈浜�",
+          // 鐩戞祴鐐�
+          monitorPositionList: [
+            {
+              equipmentName: "涓€涓伩闄╃瀹ゆ哀姘�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+            {
+              equipmentName: "涓€涓伩闄╃瀹や竴姘у寲纰�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+          ],
+        },
+        {
+          isWarning: 0, //鏄惁鎶ヨ
+          x: 75,
+          y: 331,
+          name: "浜屼腑閬块櫓纭愬",
+          // 鐩戞祴鐐�
+          monitorPositionList: [
+            {
+              equipmentName: "涓€涓伩闄╃瀹ゆ哀姘�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+            {
+              equipmentName: "涓€涓伩闄╃瀹や竴姘у寲纰�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+          ],
+        },
+        {
+          isWarning: 0, //鏄惁鎶ヨ
+          x: 153,
+          y: 357,
+          name: "浜屼腑涓昏繍杈撴腐",
+          // 鐩戞祴鐐�
+          monitorPositionList: [
+            {
+              equipmentName: "涓€涓伩闄╃瀹ゆ哀姘�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+            {
+              equipmentName: "涓€涓伩闄╃瀹や竴姘у寲纰�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+          ],
+        },
+        {
+          isWarning: 0, //鏄惁鎶ヨ
+          x: 217,
+          y: 366,
+          name: "浜屼腑涓繍杈撴腐",
+          // 鐩戞祴鐐�
+          monitorPositionList: [
+            {
+              equipmentName: "涓€涓伩闄╃瀹ゆ哀姘�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+            {
+              equipmentName: "涓€涓伩闄╃瀹や竴姘у寲纰�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+          ],
+        },
+        {
+          isWarning: 0, //鏄惁鎶ヨ
+          x: 317,
+          y: 379,
+          name: "浜屼腑杩愯緭娓�",
+          // 鐩戞祴鐐�
+          monitorPositionList: [
+            {
+              equipmentName: "涓€涓伩闄╃瀹ゆ哀姘�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+            {
+              equipmentName: "涓€涓伩闄╃瀹や竴姘у寲纰�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+          ],
+        },
+        {
+          isWarning: 0, //鏄惁鎶ヨ
+          x: 128,
+          y: 396,
+          name: "浜屼腑瑗块噰鍖�",
+          // 鐩戞祴鐐�
+          monitorPositionList: [
+            {
+              equipmentName: "涓€涓伩闄╃瀹ゆ哀姘�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+            {
+              equipmentName: "涓€涓伩闄╃瀹や竴姘у寲纰�", //璁惧鍚嶇О
+              equipmentTy: "", //璁惧绫诲瀷
+              isWarning: 0, //鏄惁鎶ヨ
+            },
+          ],
+        },
+      ],
     };
   },
   mounted() {
@@ -247,6 +502,9 @@ export default {
       this.sssjData = res.data;
       this.playFun(this.sssjData);
     });
+    getDeviceStatus().then((res) => {
+      console.log(res, "涓棿鍥剧墖");
+    });
   },
   created() {},
   methods: {
@@ -261,26 +519,11 @@ export default {
       });
     },
     // 鍒濆鍖杄ChartDOM
-    initEchartBox(id, xData = [], yData = [], mkData = 28) {
+    initEchartBox(id, xData = [], yData = [], mkData = 28, step = 4, grid) {
       let that = this;
       let myChart = echarts.init(document.getElementById(id));
       let option = {
-        grid: {
-          left: "4%",
-          right: "5%",
-          bottom: "4%",
-          top: "7%",
-          containLabel: true,
-        },
-        // tooltip: {
-        //   trigger: "axis",
-        //   axisPointer: {
-        //     type: "none",
-        //   },
-        //   formatter: function (params) {
-        //     return params[0].name + " : " + params[0].value;
-        //   },
-        // },
+        grid: grid,
         xAxis: {
           show: true,
           type: "category",
@@ -288,7 +531,7 @@ export default {
           data: xData,
           axisLabel: {
             show: true,
-            interval: 4,
+            interval: step,
             textStyle: {
               color: "#FFFFFF", //鏇存敼鍧愭爣杞存枃瀛楅鑹�
               fontSize: 16, //鏇存敼鍧愭爣杞存枃瀛楀ぇ灏�
@@ -385,16 +628,25 @@ export default {
       // 鍚姩瀹氭椂鍣紝姣忛殧 3 绉掓墽琛屼竴娆�
       let i = 0;
       let l = 0;
+      let grid = {
+        left: "4%",
+        right: "5%",
+        bottom: "4%",
+        top: "7%",
+        containLabel: true,
+      };
       const timer = setInterval(() => {
         if (i < list.length) {
           if (Array.isArray(list[i].value) && l < list[i].value.length) {
             this.sssjMark = i;
             this.sssjName = list[i].value[l].tpName;
-            this.initEchartBox(
-              "sssj",
-              list[i].value[l].data.xData.data,
-              list[i].value[l].data.yData.data
-            );
+            // this.initEchartBox(
+            //   "sssj",
+            //   list[i].value[l].data.xData.data,
+            //   list[i].value[l].data.yData.data,
+            //   "",
+            //   grid
+            // );
             l++;
           } else {
             i++;
@@ -422,11 +674,59 @@ export default {
         this.autoScroll.bind(this)
       );
     },
-    //鍋滄婊氬姩
-    cancelScroll() {
-      window.cancelAnimationFrame(this.scrolltimer3);
-    },
+    // 鏌ョ湅璁惧24H瀹炴椂鏁版嵁
+    lookRealData(item, i) {
+      this.upWindowData.upWindowActive = i;
+      this.upWindowData.upWindowVisible = true;
+      this.classOption.autoPlay = false;
+      console.log(item);
 
+      getDeviceData({ tpName: item.tpName }).then((res) => {});
+      let a = [
+        "01:00",
+        "02:00",
+        "03:00",
+        "04:00",
+        "05:00",
+        "06:00",
+        "07:00",
+        "08:00",
+        "09:00",
+        "10:00",
+        "11:00",
+        "12:00",
+        "13:00",
+        "14:00",
+        "15:00",
+        "16:00",
+        "17:00",
+        "18:00",
+        "19:00",
+        "20:00",
+        "21:00",
+        "22:00",
+        "23:00",
+      ];
+      let b = [
+        29.1, 28, 27, 26, 25, 24, 29, 25, 28, 26, 28, 27, 26, 24, 28, 21, 29,
+        28, 24, 26, 28, 24, 24, 26,
+      ];
+      let grid = {
+        left: 0,
+        right: "1.7%",
+        bottom: "4%",
+        top: "7%",
+        containLabel: true,
+      };
+      this.initEchartBox("chartBox", a, b, 25, 0, grid);
+    },
+    // 鍏抽棴寮圭獥
+    closeUpWindow() {
+      this.upWindowData.upWindowActive = "";
+      this.upWindowData.upWindowVisible = false;
+      this.classOption.autoPlay = true;
+      this.$refs.sssjControl._startMove();
+    },
     goToSys() {
       var link = this.$router.resolve({
         path: "/",
@@ -434,24 +734,42 @@ export default {
       window.open(link.href);
       return;
     },
-    // 榧犳爣婊氬姩浠g爜
+    // 宸︿晶 榧犳爣婊氬姩浠g爜
     handleScroll(e) {
       // 鏀瑰彉缁勪欢鍐呴儴 yPos 鐨勫€硷紝杩欐牱html鐨則ranslate(0, yPos)灏变細闅忎箣鏀瑰彉
       // e.deltaY鏄粴鍔ㄧ殑璺濈
-      this.$refs.vueSeamlessScroll.yPos =
-        this.$refs.vueSeamlessScroll.yPos - e.deltaY;
+      this.$refs.sssjControl.yPos = this.$refs.sssjControl.yPos - e.deltaY;
+      // 濡傛灉鏄鏁� 璇存槑鏄線涓婃粴
+      if (this.$refs.sssjControl.yPos > 0) {
+        this.$refs.sssjControl.yPos = 0;
+        return;
+      }
+      // 濡傛灉yPos瓒呰繃鍐呴儴瀹為檯楂樺害鐨勪竴鍗婂垯閲嶆柊鍒伴《閮ㄦ粴鍔�
+      // 涓€鍗婄殑鍘熷洜鏄洜涓虹粍浠跺疄闄呬笂鍒涘缓浜嗕袱涓猟om锛屼互杈惧埌鏃犵紳琛旀帴鐨勬晥鏋�
+      if (
+        Math.abs(this.$refs.sssjControl.yPos) >
+        this.$refs.sssjControl.realBoxHeight / 2
+      ) {
+        this.$refs.sssjControl.yPos = 0;
+      }
+    },
+    // 鍙充晶 榧犳爣婊氬姩浠g爜
+    handleScrollR(e) {
+      // 鏀瑰彉缁勪欢鍐呴儴 yPos 鐨勫€硷紝杩欐牱html鐨則ranslate(0, yPos)灏变細闅忎箣鏀瑰彉
+      // e.deltaY鏄粴鍔ㄧ殑璺濈
+      this.$refs.RightScroll.yPos = this.$refs.RightScroll.yPos - e.deltaY;
       // 濡傛灉鏄鏁� 璇存槑鏄線涓婃粴
-      if (this.$refs.vueSeamlessScroll.yPos > 0) {
-        this.$refs.vueSeamlessScroll.yPos = 0;
+      if (this.$refs.RightScroll.yPos > 0) {
+        this.$refs.RightScroll.yPos = 0;
         return;
       }
       // 濡傛灉yPos瓒呰繃鍐呴儴瀹為檯楂樺害鐨勪竴鍗婂垯閲嶆柊鍒伴《閮ㄦ粴鍔�
       // 涓€鍗婄殑鍘熷洜鏄洜涓虹粍浠跺疄闄呬笂鍒涘缓浜嗕袱涓猟om锛屼互杈惧埌鏃犵紳琛旀帴鐨勬晥鏋�
       if (
-        Math.abs(this.$refs.vueSeamlessScroll.yPos) >
-        this.$refs.vueSeamlessScroll.realBoxHeight / 2
+        Math.abs(this.$refs.RightScroll.yPos) >
+        this.$refs.RightScroll.realBoxHeight / 2
       ) {
-        this.$refs.vueSeamlessScroll.yPos = 0;
+        this.$refs.RightScroll.yPos = 0;
       }
     },
   },
@@ -557,10 +875,10 @@ export default {
   .table-box {
     height: 866px;
     width: calc(100% - 4px);
-    padding: 0px 23px;
     .table-item {
       height: 110px;
-      width: 100%;
+      width: calc(100% - 46px);
+      margin: 0 auto;
       border-bottom: 2px dashed rgba(100, 194, 255, 0.3);
       padding-top: 9px;
       .img-class {
@@ -605,8 +923,11 @@ export default {
       overflow: hidden;
       ul {
         list-style: none;
-        padding: 0;
         margin: 0 auto;
+        .active {
+          // width: 100%;
+          background: RGBA(2, 87, 149, 1);
+        }
       }
     }
   }
@@ -847,4 +1168,60 @@ export default {
     }
   }
 }
+.up-window {
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  width: 1360px;
+  height: 480px;
+  transform: translate(-50%, -50%);
+  background: url("~@/assets/images/screen/hjjc/popup.png") no-repeat;
+  background-size: 1377px 501px;
+  box-shadow: 0px 15px 11px 2px rgba(0, 20, 39, 0.31);
+  padding: 28px 37px;
+  p {
+    width: 1271px;
+    height: 37px;
+    margin: 0px;
+    background: url("~@/assets/images/screen/hjjc/title-popup.png") no-repeat
+      center;
+    background-size: 100%;
+    font-weight: 500;
+    font-size: 22px;
+    color: #ffffff;
+    height: 37px;
+    background-position-y: 9px;
+    span {
+      width: 27px;
+      display: inline-block;
+    }
+  }
+  .close-button {
+    font-size: 30px;
+    position: absolute;
+    top: 16px;
+    right: 16px;
+    cursor: pointer;
+    &:hover {
+      -webkit-transform: rotate(360deg);
+      transform: rotate(360deg);
+      -webkit-transition: -webkit-transform 1s linear;
+      transition: transform 1s linear;
+    }
+  }
+  .date-title {
+    width: 108px;
+    height: 18px;
+    font-weight: 500;
+    font-size: 22px;
+    color: #15f1ff;
+    background: none;
+    margin-left: 56px;
+    margin-top: 5px;
+  }
+  .chart-box {
+    width: 100%;
+    height: 355px;
+  }
+}
 </style>
diff --git a/src/views/Screen/items/psxt.vue b/src/views/Screen/items/psxt.vue
index 5828a320abe67ab0942c104a89536531ce52e244..ae103afea29afb12803da64c96826dd85bbde979 100644
--- a/src/views/Screen/items/psxt.vue
+++ b/src/views/Screen/items/psxt.vue
@@ -1,6 +1,125 @@
 <template>
   <div class="app-container home">
-    <div id="cesiumContainer"></div>
+    <div id="cesiumContainer">
+      <div class="center-title-box">
+        <div class="control-state">
+          <p>
+            <span class="icon-img"></span>
+            <span>宸插紑鍚櫤鑳芥帶鍒�</span>
+          </p>
+        </div>
+        <div class="title-box top">
+          <p class="title">娑蹭綋楂樺害:10m</p>
+          <p class="name">钃勬按姹�</p>
+        </div>
+        <div class="title-box center">
+          <p class="title">娑蹭綋楂樺害:10m</p>
+          <p class="name">浜屼腑姘翠粨</p>
+        </div>
+        <div class="title-box bottom">
+          <p class="title">娑蹭綋楂樺害:10m</p>
+          <p class="name">浜斾腑姘翠粨</p>
+        </div>
+      </div>
+      <div class="water-pump pst1">
+        <div class="H36">
+          <div class="button on">寮€鍚�</div>
+          <div class="button off">鍏抽棴</div>
+        </div>
+        <div class="H164">
+          <div class="phd-left"></div>
+          <div class="phd-right">
+            <div class="phd-top"></div>
+            <div class="water-pump-img-left"></div>
+            <p>5#姘存车</p>
+          </div>
+        </div>
+      </div>
+      <div class="water-pump pst2">
+        <div class="H36">
+          <div class="button on">寮€鍚�</div>
+          <div class="button off">鍏抽棴</div>
+        </div>
+        <div class="H164">
+          <div class="phd-left"></div>
+          <div class="phd-right">
+            <div class="phd-top"></div>
+            <div class="water-pump-img-left"></div>
+            <p>5#姘存车</p>
+          </div>
+        </div>
+      </div>
+      <div class="water-pump pst3">
+        <div class="H36">
+          <div class="button on">寮€鍚�</div>
+          <div class="button off">鍏抽棴</div>
+        </div>
+        <div class="H164">
+          <div class="phd-right">
+            <div class="phd-top"></div>
+            <div class="water-pump-img-right"></div>
+            <p>5#姘存车</p>
+          </div>
+          <div class="phd-left"></div>
+        </div>
+      </div>
+      <div class="water-pump pst4">
+        <div class="H36">
+          <div class="button on">寮€鍚�</div>
+          <div class="button off">鍏抽棴</div>
+        </div>
+        <div class="H164">
+          <div class="phd-left"></div>
+          <div class="phd-right">
+            <div class="phd-top"></div>
+            <div class="water-pump-img-left"></div>
+            <p>5#姘存车</p>
+          </div>
+        </div>
+      </div>
+      <div class="water-pump pst5">
+        <div class="H36">
+          <div class="button on">寮€鍚�</div>
+          <div class="button off">鍏抽棴</div>
+        </div>
+        <div class="H164">
+          <div class="phd-left"></div>
+          <div class="phd-right">
+            <div class="phd-top"></div>
+            <div class="water-pump-img-left"></div>
+            <p>5#姘存车</p>
+          </div>
+        </div>
+      </div>
+      <div class="water-pump pst6">
+        <div class="H36">
+          <div class="button on">寮€鍚�</div>
+          <div class="button off">鍏抽棴</div>
+        </div>
+        <div class="H164">
+          <div class="phd-right">
+            <div class="phd-top"></div>
+            <div class="water-pump-img-right"></div>
+            <p>5#姘存车</p>
+          </div>
+          <div class="phd-left"></div>
+        </div>
+      </div>
+      <div class="water-pump pst7">
+        <div class="H36">
+          <div class="button on">寮€鍚�</div>
+          <div class="button off">鍏抽棴</div>
+        </div>
+        <div class="H164">
+          <div class="phd-right">
+            <div class="phd-top"></div>
+            <div class="water-pump-img-right"></div>
+            <p>5#姘存车</p>
+          </div>
+          <div class="phd-left"></div>
+        </div>
+      </div>
+    </div>
   </div>
 </template>
 <script>
@@ -27,6 +146,165 @@ export default {
     height: 745px;
     background: url("~@/assets/images/screen/psxt/gd.png") no-repeat center;
     background-size: 1800px 745px;
+    position: relative;
+    .center-title-box {
+      width: 200px;
+      height: 100%;
+      margin: auto;
+      position: relative;
+      .control-state {
+        width: 260px;
+        height: 44px;
+        background: url("~@/assets/images/screen/psxt/bg1.png") no-repeat center;
+        background-size: 100% 100%;
+        position: absolute;
+        top: 33px;
+        left: 342px;
+        p {
+          font-weight: 400;
+          font-size: 20px;
+          color: #ffd929;
+          line-height: 44px;
+          margin: 0px;
+          text-align: center;
+          .icon-img {
+            background: url("~@/assets/images/screen/psxt/icon1.png") no-repeat
+              center;
+            width: 20px;
+            height: 20px;
+            display: inline-block;
+            margin-bottom: -4px;
+            margin-right: 10px;
+          }
+        }
+      }
+      .title-box {
+        text-align: center;
+        .title {
+          font-family: Source Han Sans SC;
+          font-weight: 400;
+          font-size: 18px;
+          color: #11e0ff;
+        }
+        .name {
+          font-weight: 400;
+          font-size: 20px;
+          color: #ffffff;
+        }
+      }
+      .top {
+        margin-top: -35px;
+      }
+      .center {
+        margin-top: 273px;
+      }
+      .bottom {
+        margin-top: 270px;
+      }
+    }
+    .water-pump {
+      position: absolute;
+      width: 172px;
+      height: 200px;
+      // background: #ffffff;
+      .H36 {
+        height: 36px;
+        .button {
+          width: 86px;
+          height: 36px;
+          float: left;
+          line-height: 36px;
+          text-align: center;
+          font-weight: bold;
+          font-size: 18px;
+          color: #96aeba;
+          line-height: 32px;
+          text-shadow: 0px 1px 4px rgba(5, 38, 68, 0.73);
+          border: 2px solid #d8efff;
+          border-radius: 2px;
+          background: RGBA(0, 26, 49, 1);
+        }
+        .on {
+          &.active {
+            background: url("~@/assets/images/screen/psxt/button.png") no-repeat
+              center;
+            color: #ffffff;
+          }
+        }
+        .off {
+          border-left: none;
+          &.active {
+            background: url("~@/assets/images/screen/psxt/button2.png")
+              no-repeat center;
+            color: #ffffff;
+          }
+        }
+      }
+      .H164 {
+        height: calc(100% - 36px);
+        .phd-left {
+          width: 50px;
+          height: calc(100% - 36px);
+          float: left;
+        }
+        .phd-right {
+          width: 122px;
+          height: calc(100% - 36px);
+          float: left;
+          .phd-top {
+            height: 40px;
+          }
+          .water-pump-img-left {
+            width: 122px;
+            height: 70px;
+            background: url("~@/assets/images/screen/psxt/item.png") no-repeat
+              center;
+          }
+          .water-pump-img-right {
+            width: 122px;
+            height: 70px;
+            background: url("~@/assets/images/screen/psxt/item1.png") no-repeat
+              center;
+          }
+          p {
+            font-weight: 400;
+            font-size: 20px;
+            color: #ffffff;
+            line-height: 30px;
+            text-align: center;
+            margin-top: 3px;
+          }
+        }
+      }
+      &.pst1 {
+        top: 139px;
+        left: 143px;
+      }
+      &.pst2 {
+        top: 139px;
+        left: 582px;
+      }
+      &.pst3 {
+        top: 139px;
+        left: 1408px;
+      }
+      &.pst4 {
+        top: 480px;
+        left: 0px;
+      }
+      &.pst5 {
+        top: 480px;
+        left: 440px;
+      }
+      &.pst6 {
+        top: 480px;
+        left: 1188px;
+      }
+      &.pst7 {
+        top: 480px;
+        left: 1630px;
+      }
+    }
   }
 }
 </style>