Selaa lähdekoodia

2022/1/03 终端弹窗不显示log解决崩溃 出口单片机节点更换数据库操作库测试

wk 2 vuotta sitten
vanhempi
commit
7c5bf2be30

+ 167 - 0
入口液晶显示屏/ui/ui

@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1121</width>
+    <height>890</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>MainWindow</string>
+  </property>
+  <property name="autoFillBackground">
+   <bool>false</bool>
+  </property>
+  <property name="styleSheet">
+   <string notr="true"/>
+  </property>
+  <widget class="QWidget" name="centralwidget">
+   <layout class="QVBoxLayout" name="verticalLayout" stretch="17,2,1">
+    <item>
+     <layout class="QHBoxLayout" name="horizontalLayout_2">
+      <item>
+       <widget class="QListWidget" name="A_listWidget">
+        <property name="styleSheet">
+         <string notr="true"/>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QListWidget" name="B_listWidget"/>
+      </item>
+      <item>
+       <widget class="QListWidget" name="C_listWidget"/>
+      </item>
+     </layout>
+    </item>
+    <item>
+     <layout class="QHBoxLayout" name="horizontalLayout">
+      <item>
+       <widget class="QLabel" name="A_label">
+        <property name="font">
+         <font>
+          <pointsize>60</pointsize>
+          <weight>75</weight>
+          <bold>true</bold>
+         </font>
+        </property>
+        <property name="text">
+         <string>A单元</string>
+        </property>
+        <property name="alignment">
+         <set>Qt::AlignCenter</set>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QLabel" name="B_label">
+        <property name="font">
+         <font>
+          <pointsize>60</pointsize>
+          <weight>75</weight>
+          <bold>true</bold>
+         </font>
+        </property>
+        <property name="text">
+         <string>B单元</string>
+        </property>
+        <property name="alignment">
+         <set>Qt::AlignCenter</set>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QLabel" name="C_label">
+        <property name="font">
+         <font>
+          <pointsize>60</pointsize>
+          <weight>75</weight>
+          <bold>true</bold>
+         </font>
+        </property>
+        <property name="text">
+         <string>C单元</string>
+        </property>
+        <property name="alignment">
+         <set>Qt::AlignCenter</set>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </item>
+    <item>
+     <layout class="QHBoxLayout" name="horizontalLayout_3">
+      <item>
+       <widget class="QLabel" name="label">
+        <property name="font">
+         <font>
+          <pointsize>28</pointsize>
+          <weight>75</weight>
+          <bold>true</bold>
+         </font>
+        </property>
+        <property name="text">
+         <string>(1,2)号口</string>
+        </property>
+        <property name="alignment">
+         <set>Qt::AlignCenter</set>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QLabel" name="label_2">
+        <property name="font">
+         <font>
+          <pointsize>28</pointsize>
+          <weight>75</weight>
+          <bold>true</bold>
+         </font>
+        </property>
+        <property name="text">
+         <string>(3,4)号口</string>
+        </property>
+        <property name="alignment">
+         <set>Qt::AlignCenter</set>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QLabel" name="label_3">
+        <property name="font">
+         <font>
+          <pointsize>28</pointsize>
+          <weight>75</weight>
+          <bold>true</bold>
+         </font>
+        </property>
+        <property name="text">
+         <string>(5,6)号口</string>
+        </property>
+        <property name="alignment">
+         <set>Qt::AlignCenter</set>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </item>
+   </layout>
+  </widget>
+  <widget class="QMenuBar" name="menubar">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>1121</width>
+     <height>23</height>
+    </rect>
+   </property>
+  </widget>
+  <widget class="QStatusBar" name="statusbar"/>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>

+ 120 - 0
入口液晶显示屏/ui/ui.py

@@ -0,0 +1,120 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'ui'
+#
+# Created by: PyQt5 UI code generator 5.15.4
+#
+# WARNING: Any manual changes made to this file will be lost when pyuic5 is
+# run again.  Do not edit this file unless you know what you are doing.
+
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+
+class Ui_MainWindow(object):
+    def setupUi(self, MainWindow):
+        MainWindow.setObjectName("MainWindow")
+        MainWindow.resize(1121, 890)
+        MainWindow.setAutoFillBackground(False)
+        MainWindow.setStyleSheet("")
+        self.centralwidget = QtWidgets.QWidget(MainWindow)
+        self.centralwidget.setObjectName("centralwidget")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.A_listWidget = QtWidgets.QListWidget(self.centralwidget)
+        self.A_listWidget.setStyleSheet("")
+        self.A_listWidget.setObjectName("A_listWidget")
+        self.horizontalLayout_2.addWidget(self.A_listWidget)
+        self.B_listWidget = QtWidgets.QListWidget(self.centralwidget)
+        self.B_listWidget.setObjectName("B_listWidget")
+        self.horizontalLayout_2.addWidget(self.B_listWidget)
+        self.C_listWidget = QtWidgets.QListWidget(self.centralwidget)
+        self.C_listWidget.setObjectName("C_listWidget")
+        self.horizontalLayout_2.addWidget(self.C_listWidget)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.A_label = QtWidgets.QLabel(self.centralwidget)
+        font = QtGui.QFont()
+        font.setPointSize(60)
+        font.setBold(True)
+        font.setWeight(75)
+        self.A_label.setFont(font)
+        self.A_label.setAlignment(QtCore.Qt.AlignCenter)
+        self.A_label.setObjectName("A_label")
+        self.horizontalLayout.addWidget(self.A_label)
+        self.B_label = QtWidgets.QLabel(self.centralwidget)
+        font = QtGui.QFont()
+        font.setPointSize(60)
+        font.setBold(True)
+        font.setWeight(75)
+        self.B_label.setFont(font)
+        self.B_label.setAlignment(QtCore.Qt.AlignCenter)
+        self.B_label.setObjectName("B_label")
+        self.horizontalLayout.addWidget(self.B_label)
+        self.C_label = QtWidgets.QLabel(self.centralwidget)
+        font = QtGui.QFont()
+        font.setPointSize(60)
+        font.setBold(True)
+        font.setWeight(75)
+        self.C_label.setFont(font)
+        self.C_label.setAlignment(QtCore.Qt.AlignCenter)
+        self.C_label.setObjectName("C_label")
+        self.horizontalLayout.addWidget(self.C_label)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.label = QtWidgets.QLabel(self.centralwidget)
+        font = QtGui.QFont()
+        font.setPointSize(28)
+        font.setBold(True)
+        font.setWeight(75)
+        self.label.setFont(font)
+        self.label.setAlignment(QtCore.Qt.AlignCenter)
+        self.label.setObjectName("label")
+        self.horizontalLayout_3.addWidget(self.label)
+        self.label_2 = QtWidgets.QLabel(self.centralwidget)
+        font = QtGui.QFont()
+        font.setPointSize(28)
+        font.setBold(True)
+        font.setWeight(75)
+        self.label_2.setFont(font)
+        self.label_2.setAlignment(QtCore.Qt.AlignCenter)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout_3.addWidget(self.label_2)
+        self.label_3 = QtWidgets.QLabel(self.centralwidget)
+        font = QtGui.QFont()
+        font.setPointSize(28)
+        font.setBold(True)
+        font.setWeight(75)
+        self.label_3.setFont(font)
+        self.label_3.setAlignment(QtCore.Qt.AlignCenter)
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout_3.addWidget(self.label_3)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        self.verticalLayout.setStretch(0, 17)
+        self.verticalLayout.setStretch(1, 2)
+        self.verticalLayout.setStretch(2, 1)
+        MainWindow.setCentralWidget(self.centralwidget)
+        self.menubar = QtWidgets.QMenuBar(MainWindow)
+        self.menubar.setGeometry(QtCore.QRect(0, 0, 1121, 23))
+        self.menubar.setObjectName("menubar")
+        MainWindow.setMenuBar(self.menubar)
+        self.statusbar = QtWidgets.QStatusBar(MainWindow)
+        self.statusbar.setObjectName("statusbar")
+        MainWindow.setStatusBar(self.statusbar)
+
+        self.retranslateUi(MainWindow)
+        QtCore.QMetaObject.connectSlotsByName(MainWindow)
+
+    def retranslateUi(self, MainWindow):
+        _translate = QtCore.QCoreApplication.translate
+        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
+        self.A_label.setText(_translate("MainWindow", "A单元"))
+        self.B_label.setText(_translate("MainWindow", "B单元"))
+        self.C_label.setText(_translate("MainWindow", "C单元"))
+        self.label.setText(_translate("MainWindow", "(1,2)号口"))
+        self.label_2.setText(_translate("MainWindow", "(3,4)号口"))
+        self.label_3.setText(_translate("MainWindow", "(5,6)号口"))

+ 29 - 21
出口单片机节点/DatabaseSearchPickCmd.py

@@ -1,6 +1,7 @@
 import time
 import pymysql as psql
 import message_pb2 as message
+import  mysqlhelper
 class DBSeacherPickCmd():
     def __init__(self,ip,port,database,user,password):
         self.ip=ip
@@ -10,35 +11,42 @@ class DBSeacherPickCmd():
         self.password=password
         self._close=False
         self._opendoor_callback=None
-        self.conn=psql.connect(host=ip,
-                               port=port,
-                               database=database,
-                               charset="utf8",
-                               user=user,
-                               passwd=password)
+        self.db = mysqlhelper.MySqLHelper()
+        # self.conn=psql.connect(host=ip,
+        #                        port=port,
+        #                        database=database,
+        #                        charset="utf8",
+        #                        user=user,
+        #                        passwd=password)
 
     def close(self):
         self._close=True
         self.join()
-        self.conn.close()
+        # self.conn.close()
     def search_pickcmd(self):
-        self.conn.begin()
-        cursor=self.conn.cursor()
-        SQL="select * from command_queue where statu=2 "    #寻找已到出口的取车指令
-        cursor.execute(SQL)
-        pick_cmds=cursor.fetchall()
-        self.conn.commit()
-        cursor.close()
+        sql = "select * from command_queue where statu=2 "
+        return self.db.selectall(sql)
 
-        return pick_cmds
+        # self.conn.begin()
+        # cursor=self.conn.cursor()
+        # SQL="select * from command_queue where statu=2 "    #寻找已到出口的取车指令
+        # cursor.execute(SQL)
+        # pick_cmds=cursor.fetchall()
+        # self.conn.commit()
+        # cursor.close()
+
+        # return pick_cmds
 
     def delete_cmd(self,id):
-        self.conn.begin()
-        cursor=self.conn.cursor()
-        SQL="delete from command_queue where statu=2 and export_id=%d"%id
-        cursor.execute(SQL)
-        self.conn.commit()
-        cursor.close()
+        sql = "delete from command_queue where statu=2 and export_id=%s"
+        return self.db.delete(sql,id)
+
+        # self.conn.begin()
+        # cursor=self.conn.cursor()
+        # SQL="delete from command_queue where statu=2 and export_id=%d"%id
+        # cursor.execute(SQL)
+        # self.conn.commit()
+        # cursor.close()
 
 '''
     def run(self):

+ 43 - 0
出口单片机节点/db_config.py

@@ -0,0 +1,43 @@
+#!/usr/bin/env python
+# -*- coding:utf-8 -*-
+# author:SunXiuWen
+# make_time:2019/1/13
+# -*- coding: UTF-8 -*-
+import pymysql
+
+# 数据库信息
+# DB_TEST_HOST = "192.168.1.233"
+DB_TEST_HOST = "127.0.0.1"
+
+DB_TEST_PORT = 3306
+DB_TEST_DBNAME = "ct_project"
+# DB_TEST_USER = "zx"
+# DB_TEST_PASSWORD = "zx123456"
+DB_TEST_USER = "root"
+DB_TEST_PASSWORD = "123456"
+# 数据库连接编码
+DB_CHARSET = "utf8"
+
+# mincached : 启动时开启的闲置连接数量(缺省值 0 开始时不创建连接)
+DB_MIN_CACHED = 10
+
+# maxcached : 连接池中允许的闲置的最多连接数量(缺省值 0 代表不闲置连接池大小)
+DB_MAX_CACHED = 10
+
+# maxshared : 共享连接数允许的最大数量(缺省值 0 代表所有连接都是专用的)如果达到了最大数量,被请求为共享的连接将会被共享使用
+DB_MAX_SHARED = 20
+
+# maxconnecyions : 创建连接池的最大数量(缺省值 0 代表不限制)
+DB_MAX_CONNECYIONS = 100
+
+# blocking : 设置在连接池达到最大数量时的行为(缺省值 0 或 False 代表返回一个错误<toMany......> 其他代表阻塞直到连接数减少,连接被分配)
+DB_BLOCKING = True
+
+# maxusage : 单个连接的最大允许复用次数(缺省值 0 或 False 代表不限制的复用).当达到最大数时,连接会自动重新连接(关闭和重新打开)
+DB_MAX_USAGE = 0
+
+# setsession : 一个可选的SQL命令列表用于准备每个会话,如["set datestyle to german", ...]
+DB_SET_SESSION = None
+
+# creator : 使用连接数据库的模块
+DB_CREATOR = pymysql

+ 186 - 0
出口单片机节点/mysqlhelper.py

@@ -0,0 +1,186 @@
+#!/usr/bin/env python
+# -*- coding:utf-8 -*-
+# author:SunXiuWen
+# make_time:2019/1/13
+import pymysql
+from DBUtils.PooledDB import PooledDB
+import db_config as config
+
+"""
+@功能:创建数据库连接池
+"""
+
+class MyConnectionPool(object):
+    __pool = None
+
+    # 创建数据库连接conn和游标cursor
+    def __enter__(self):
+        self.conn = self.__getconn()
+        self.cursor = self.conn.cursor()
+
+    # 创建数据库连接池
+    def __getconn(self):
+        if self.__pool is None:
+            self.__pool = PooledDB(
+                creator=config.DB_CREATOR,
+                mincached=config.DB_MIN_CACHED,
+                maxcached=config.DB_MAX_CACHED,
+                maxshared=config.DB_MAX_SHARED,
+                maxconnections=config.DB_MAX_CONNECYIONS,
+                blocking=config.DB_BLOCKING,
+                maxusage=config.DB_MAX_USAGE,
+                setsession=config.DB_SET_SESSION,
+                host=config.DB_TEST_HOST,
+                port=config.DB_TEST_PORT,
+                user=config.DB_TEST_USER,
+                passwd=config.DB_TEST_PASSWORD,
+                db=config.DB_TEST_DBNAME,
+                use_unicode=False,
+                charset=config.DB_CHARSET
+            )
+        return self.__pool.connection()
+
+    # 释放连接池资源
+    def __exit__(self, exc_type, exc_val, exc_tb):
+        self.cursor.close()
+        self.conn.close()
+
+    # 从连接池中取出一个连接
+    def getconn(self):
+        conn = self.__getconn()
+        cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
+        return cursor, conn
+
+
+"""执行语句查询有结果返回结果没有返回0;增/删/改返回变更数据条数,没有返回0"""
+
+
+
+class MySqLHelper(object):
+    def __init__(self):
+        self.db = MyConnectionPool()  # 从数据池中获取连接
+
+    def __new__(cls, *args, **kwargs):
+        if not hasattr(cls, 'inst'):  # 单例
+            cls.inst = super(MySqLHelper, cls).__new__(cls, *args, **kwargs)
+        return cls.inst
+
+    # 封装执行命令
+    def execute(self, sql, param=None, autoclose=False):
+        """
+        【主要判断是否有参数和是否执行完就释放连接】
+        :param sql: 字符串类型,sql语句
+        :param param: sql语句中要替换的参数"select %s from tab where id=%s" 其中的%s就是参数
+        :param autoclose: 是否关闭连接
+        :return: 返回连接conn和游标cursor
+        """
+        cursor, conn = self.db.getconn()  # 从连接池获取连接
+        count = 0
+        try:
+            # count : 为改变的数据条数
+            if param:
+                count = cursor.execute(sql, param)
+            else:
+                count = cursor.execute(sql)
+            conn.commit()
+            if autoclose:
+                self.close(cursor, conn)
+        except Exception as e:
+            print("db error_msg:", e.args)
+        return cursor, conn, count
+
+    # 释放连接
+    def close(self, cursor, conn):
+        """释放连接归还给连接池"""
+        cursor.close()
+        conn.close()
+
+    # 查询所有
+    def selectall(self, sql, param=None):
+        try:
+            cursor, conn, count = self.execute(sql, param)
+            res = cursor.fetchall()
+            return res
+        except Exception as e:
+            print("db error_msg:", e.args)
+            self.close(cursor, conn)
+            return count
+
+    # 查询单条
+    def selectone(self, sql, param=None):
+        try:
+            cursor, conn, count = self.execute(sql, param)
+            res = cursor.fetchone()
+            self.close(cursor, conn)
+            return res
+        except Exception as e:
+            print("db error_msg:", e.args)
+            self.close(cursor, conn)
+            return count
+
+    # 增加
+    def insertone(self, sql, param):
+        try:
+            cursor, conn, count = self.execute(sql, param)
+            conn.commit()
+            self.close(cursor, conn)
+            return count
+        except Exception as e:
+            print("db error_msg:", e.args)
+            conn.rollback()
+            self.close(cursor, conn)
+            return count
+
+    # 删除
+    def delete(self, sql, param=None):
+        try:
+            cursor, conn, count = self.execute(sql, param)
+            conn.commit()
+            self.close(cursor, conn)
+            return count
+        except Exception as e:
+            print("db error_msg:", e.args)
+            conn.rollback()
+            self.close(cursor, conn)
+            return count
+
+    # 修改
+    def update(self, sql, param=None):
+        try:
+            cursor, conn, count = self.execute(sql, param)
+            conn.commit()
+            self.close(cursor, conn)
+            return count
+        except Exception as e:
+            print("db error_msg:", e.args)
+            conn.rollback()
+            self.close(cursor, conn)
+            return count
+
+
+if __name__ == '__main__':
+    db = MySqLHelper()
+    # 查询单条
+    sql1 = 'select * from space where unit=%s'
+    args = '2'
+    ret = db.selectone(sql=sql1, param=args)
+    print(ret)  # (79, 2, 1, 2.2, None, 2, 1)
+    #查询所有
+    sql2 = "select * from space"
+    ret = db.selectall(sql=sql2)
+    print(ret)
+    # 增加
+    sql3 = 'insert into vehicle (car_number,primary_key) VALUES (%s,%s)'
+    ret = db.insertone(sql3, ('鄂A6X3B0','DASDASDEFDFSDASDADASDAS'))
+    print(ret)
+    # 删除
+    sql4 = 'delete from vehicle WHERE car_number=%s'
+    args = '鄂A6X3B0'
+    ret = db.delete(sql4, args)
+    print(ret)
+    # 修改
+    sql5 = 'update command_queue set export_id=%s WHERE car_number LIKE %s'
+    args = ('100', 'WK0001')
+    ret = db.update(sql5, args)
+    print(ret)
+

+ 10 - 5
出口单片机节点/node.py

@@ -52,11 +52,16 @@ if __name__=="__main__":
         if len(pickcmds)>0:
             for cmd in pickcmds:
                 table=message.pick_table()
-                table.car_number=cmd[0]
-                table.primary_key=cmd[1]
-                table.unit_id=cmd[2]
-                table.queue_id=cmd[3]
-                table.export_id=cmd[8]
+                # table.car_number=cmd[0]
+                # table.primary_key=cmd[1]
+                # table.unit_id=cmd[2]
+                # table.queue_id=cmd[3]
+                # table.export_id=cmd[8]
+                table.car_number=cmd["car_number"]
+                table.primary_key=cmd["primary_key"]
+                table.unit_id=cmd["unit"]
+                table.queue_id=cmd["queue_id"]
+                table.export_id=cmd["export_id"]
                 # print(table)
                 if not table.export_id==None:
                     export=g_exports.get(table.export_id)

+ 32 - 32
终端/ct_terminal/ct_terminal/MainForm.Designer.cs

@@ -31,6 +31,7 @@
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
             this.MainPanel = new System.Windows.Forms.Panel();
             this.MainTableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
+            this.vlcControl1 = new Vlc.DotNet.Forms.VlcControl();
             this.ImagePictureBox = new System.Windows.Forms.PictureBox();
             this.BtnPanel = new System.Windows.Forms.Panel();
             this.pickupBtn = new System.Windows.Forms.Button();
@@ -44,22 +45,21 @@
             this.weather_pictureBox = new System.Windows.Forms.PictureBox();
             this.terminal_number_english_label = new System.Windows.Forms.Label();
             this.terminal_number_label = new System.Windows.Forms.Label();
-            this.zhixiang_pictureBox = new System.Windows.Forms.PictureBox();
-            this.vlcControl1 = new Vlc.DotNet.Forms.VlcControl();
+            this.zhixiang_pictureBox1 = new System.Windows.Forms.PictureBox();
             this.MainPanel.SuspendLayout();
             this.MainTableLayoutPanel.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.vlcControl1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.ImagePictureBox)).BeginInit();
             this.BtnPanel.SuspendLayout();
             this.weather_panel.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.weather_pictureBox)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.zhixiang_pictureBox)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.vlcControl1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.zhixiang_pictureBox1)).BeginInit();
             this.SuspendLayout();
             // 
             // MainPanel
             // 
             this.MainPanel.Controls.Add(this.MainTableLayoutPanel);
-            this.MainPanel.Location = new System.Drawing.Point(1, 0);
+            this.MainPanel.Location = new System.Drawing.Point(-4, 1);
             this.MainPanel.Name = "MainPanel";
             this.MainPanel.Size = new System.Drawing.Size(1080, 1800);
             this.MainPanel.TabIndex = 0;
@@ -81,6 +81,20 @@
             this.MainTableLayoutPanel.Size = new System.Drawing.Size(1080, 1800);
             this.MainTableLayoutPanel.TabIndex = 0;
             // 
+            // vlcControl1
+            // 
+            this.vlcControl1.BackColor = System.Drawing.Color.Black;
+            this.vlcControl1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.vlcControl1.Location = new System.Drawing.Point(3, 1101);
+            this.vlcControl1.Name = "vlcControl1";
+            this.vlcControl1.Size = new System.Drawing.Size(1074, 696);
+            this.vlcControl1.Spu = -1;
+            this.vlcControl1.TabIndex = 2;
+            this.vlcControl1.Text = "vlcControl1";
+            this.vlcControl1.VlcLibDirectory = null;
+            this.vlcControl1.VlcMediaplayerOptions = null;
+            this.vlcControl1.VlcLibDirectoryNeeded += new System.EventHandler<Vlc.DotNet.Forms.VlcLibDirectoryNeededEventArgs>(this.vlcControl1_VlcLibDirectoryNeeded);
+            // 
             // ImagePictureBox
             // 
             this.ImagePictureBox.BackgroundImage = global::ct_terminal.Properties.Resources._1;
@@ -101,7 +115,7 @@
             this.BtnPanel.Controls.Add(this.weather_panel);
             this.BtnPanel.Controls.Add(this.terminal_number_english_label);
             this.BtnPanel.Controls.Add(this.terminal_number_label);
-            this.BtnPanel.Controls.Add(this.zhixiang_pictureBox);
+            this.BtnPanel.Controls.Add(this.zhixiang_pictureBox1);
             this.BtnPanel.Dock = System.Windows.Forms.DockStyle.Fill;
             this.BtnPanel.Location = new System.Drawing.Point(3, 502);
             this.BtnPanel.Name = "BtnPanel";
@@ -242,36 +256,22 @@
             this.terminal_number_label.TabIndex = 7;
             this.terminal_number_label.Text = "智象泊车终端05号机";
             // 
-            // zhixiang_pictureBox
-            // 
-            this.zhixiang_pictureBox.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("zhixiang_pictureBox.BackgroundImage")));
-            this.zhixiang_pictureBox.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
-            this.zhixiang_pictureBox.Location = new System.Drawing.Point(43, 14);
-            this.zhixiang_pictureBox.Name = "zhixiang_pictureBox";
-            this.zhixiang_pictureBox.Size = new System.Drawing.Size(69, 60);
-            this.zhixiang_pictureBox.TabIndex = 6;
-            this.zhixiang_pictureBox.TabStop = false;
+            // zhixiang_pictureBox1
             // 
-            // vlcControl1
-            // 
-            this.vlcControl1.BackColor = System.Drawing.Color.Black;
-            this.vlcControl1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.vlcControl1.Location = new System.Drawing.Point(3, 1101);
-            this.vlcControl1.Name = "vlcControl1";
-            this.vlcControl1.Size = new System.Drawing.Size(1074, 696);
-            this.vlcControl1.Spu = -1;
-            this.vlcControl1.TabIndex = 2;
-            this.vlcControl1.Text = "vlcControl1";
-            this.vlcControl1.VlcLibDirectory = null;
-            this.vlcControl1.VlcMediaplayerOptions = null;
-            this.vlcControl1.VlcLibDirectoryNeeded += new System.EventHandler<Vlc.DotNet.Forms.VlcLibDirectoryNeededEventArgs>(this.vlcControl1_VlcLibDirectoryNeeded);
+            this.zhixiang_pictureBox1.BackgroundImage = global::ct_terminal.Properties.Resources.log2;
+            this.zhixiang_pictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
+            this.zhixiang_pictureBox1.Location = new System.Drawing.Point(43, 14);
+            this.zhixiang_pictureBox1.Name = "zhixiang_pictureBox1";
+            this.zhixiang_pictureBox1.Size = new System.Drawing.Size(69, 60);
+            this.zhixiang_pictureBox1.TabIndex = 6;
+            this.zhixiang_pictureBox1.TabStop = false;
             // 
             // MainForm
             // 
             this.AllowDrop = true;
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
             this.AutoScroll = true;
-            this.ClientSize = new System.Drawing.Size(1100, 1100);
+            this.ClientSize = new System.Drawing.Size(1079, 1100);
             this.Controls.Add(this.MainPanel);
             this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
             this.Name = "MainForm";
@@ -281,14 +281,14 @@
             this.SizeChanged += new System.EventHandler(this.MainForm_SizeChanged);
             this.MainPanel.ResumeLayout(false);
             this.MainTableLayoutPanel.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.vlcControl1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.ImagePictureBox)).EndInit();
             this.BtnPanel.ResumeLayout(false);
             this.BtnPanel.PerformLayout();
             this.weather_panel.ResumeLayout(false);
             this.weather_panel.PerformLayout();
             ((System.ComponentModel.ISupportInitialize)(this.weather_pictureBox)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.zhixiang_pictureBox)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.vlcControl1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.zhixiang_pictureBox1)).EndInit();
             this.ResumeLayout(false);
 
         }
@@ -310,7 +310,7 @@
         private System.Windows.Forms.PictureBox weather_pictureBox;
         private System.Windows.Forms.Label terminal_number_english_label;
         private System.Windows.Forms.Label terminal_number_label;
-        private System.Windows.Forms.PictureBox zhixiang_pictureBox;
+        private System.Windows.Forms.PictureBox zhixiang_pictureBox1;
         private Vlc.DotNet.Forms.VlcControl vlcControl1;
     }
 }

+ 64 - 57
终端/ct_terminal/ct_terminal/MainForm.cs

@@ -25,7 +25,7 @@ using RabbitMQ.Client.Events;
 
 namespace ct_terminal
 {
-    
+
 
     public partial class MainForm : Form
     {
@@ -61,7 +61,7 @@ namespace ct_terminal
 
         private TimedData<string> m_pick_command_response = new TimedData<string>("");
         private Process m_process = null;
-
+        private string m_image_path;
         private static readonly object Lock = new object();
         public MainForm()
         {
@@ -86,22 +86,22 @@ namespace ct_terminal
             string t_pick_queue_key = "pick_response_" + m_ternimalID.ToString() + "_queue";
             m_pick_consumer.consumer_init(m_rabbitmq_ip, m_rabbitmq_port, m_rabbitmq_user, m_rabbitmq_password, t_pick_queue_key, pick_response_thread);
 
-
+            m_image_path = System.AppDomain.CurrentDomain.BaseDirectory + "./Resource/";
 
 #if ENABLE_PACK
-                //获取号牌线程
-                m_car_number = new NumMachine.NumMachineLinker();
-                m_car_number_condition = true;
-                m_car_number_thread = new Thread(get_car_number_thread);
+            //获取号牌线程
+            m_car_number = new NumMachine.NumMachineLinker();
+            m_car_number_condition = true;
+            m_car_number_thread = new Thread(get_car_number_thread);
 
-                //初始化打印机
-                PrintManual.Instance.PrintManualInit();
+            //初始化打印机
+            PrintManual.Instance.PrintManualInit();
 
-                //初始化消费指令
-                string t_park_queue_key = "park_response_" + m_ternimalID.ToString() + "_queue";
-                m_park_consumer.consumer_init(m_rabbitmq_ip, m_rabbitmq_port, m_rabbitmq_user, m_rabbitmq_password, t_park_queue_key, park_response_thread);
+            //初始化消费指令
+            string t_park_queue_key = "park_response_" + m_ternimalID.ToString() + "_queue";
+            m_park_consumer.consumer_init(m_rabbitmq_ip, m_rabbitmq_port, m_rabbitmq_user, m_rabbitmq_password, t_park_queue_key, park_response_thread);
 #else
-                this.parkingBtn.BackgroundImage = Image.FromFile(System.AppDomain.CurrentDomain.BaseDirectory + "./Resource/" + "parkingBtn_gray.BackgroundImage.png");
+                this.parkingBtn.BackgroundImage = Image.FromFile(m_image_path + "parkingBtn_gray.BackgroundImage.png");
                 this.parkingBtn.Enabled = false;
 #endif
         }
@@ -145,8 +145,9 @@ namespace ct_terminal
 #endif
 
         }
-        public string startNumer(Random r)
+        public string randomNumer()
         {
+            Random r = new Random();
             char E1 = (char)r.Next(65, 90);
             char E2 = (char)r.Next(65, 90);
             int N1 = r.Next(10, 99);
@@ -160,6 +161,7 @@ namespace ct_terminal
 
         private void parkingBtn_Click(object sender, EventArgs e)
         {
+            //string car_license = randomNumer();
             string car_license = "";
             if (m_timed_car_license.IsTimeout() == false && m_timed_car_license.Value != "")
             {
@@ -187,15 +189,24 @@ namespace ct_terminal
                 messageBoxEe.Show("服务器连接失败!请联系管理员!");
                 return;
             }
-            //this.parkingBtn.BackgroundImage = Image.FromFile(System.AppDomain.CurrentDomain.BaseDirectory + "./Resource/" + "parkingBtn_gray.BackgroundImage.png");
+            this.parkingBtn.BackgroundImage = Image.FromFile(m_image_path + "parkingBtn_gray.BackgroundImage.png");
             this.parkingBtn.Enabled = false;
             while (!m_park_command_response.IsTimeout())
             {
-                if (m_park_command_response.Value == "")
-                    continue;
+                if (m_park_command_response.Value != "")
+                    break;
+            }
+            if (m_park_command_response.IsTimeout() && m_park_command_response.Value == "")
+            {
+                MessageBoxEe messageBoxEe = new MessageBoxEe();
+                messageBoxEe.Show("反馈超时,请重试或联系管理员!");
+            }
+            else
+            {
                 try
                 {
                     park_table response_Table = park_table.Parser.ParseText(m_park_command_response.Value);
+                    //response_Table.PrimaryKey = "ddddddddddd";
                     if (response_Table.Statu.ExecuteStatu == STATU.ENormal && response_Table.PrimaryKey != "")
                     {
                         PrintManual.Instance.PrintTicket(response_Table.PrimaryKey, response_Table.CarNumber);
@@ -211,7 +222,7 @@ namespace ct_terminal
                             }
                         });
                     }
-                    else 
+                    else
                     {
                         MessageBoxEe messageBoxEe = new MessageBoxEe();
                         messageBoxEe.Show(response_Table.Statu.StatuDescription);
@@ -222,21 +233,9 @@ namespace ct_terminal
                     MessageBoxEe messageBoxEe = new MessageBoxEe();
                     messageBoxEe.Show("反馈解析失败!\n" + ex.StackTrace);
                 }
-                m_park_command_response = "";
-                //this.parkingBtn.BackgroundImage = Image.FromFile(System.AppDomain.CurrentDomain.BaseDirectory + "./Resource/" + "parkingBtn.BackgroundImage.png");
-                this.parkingBtn.Enabled = true;
-                return;
-  
-            }
-            if (m_park_command_response.IsTimeout() && m_park_command_response.Value == "")
-            {
-                MessageBoxEe messageBoxEe = new MessageBoxEe();
-                messageBoxEe.Show("反馈超时,请重试或联系管理员!");
             }
             m_park_command_response = "";
-
-            //this.parkingBtn.BackgroundImage = Image.FromFile(System.AppDomain.CurrentDomain.BaseDirectory + "./Resource/" + "parkingBtn.BackgroundImage.png");
-
+            this.parkingBtn.BackgroundImage = Image.FromFile(m_image_path + "parkingBtn.BackgroundImage.png");
             this.parkingBtn.Enabled = true;
 
         }
@@ -265,42 +264,50 @@ namespace ct_terminal
                 messageBoxEe.Show("服务器连接失败!请联系管理员!");
                 return;
             }
-            //this.pickupBtn.BackgroundImage = Image.FromFile(System.AppDomain.CurrentDomain.BaseDirectory + "./Resource/" + "fetchingBtn_gray.BackgroundImage.png");
+            this.pickupBtn.BackgroundImage = Image.FromFile(m_image_path + "fetchingBtn_gray.BackgroundImage.png");
             this.pickupBtn.Enabled = false;
             while (!m_pick_command_response.IsTimeout())
             {
-                if (m_pick_command_response.Value == "")
-                    continue;
-                pick_table response_Table = new pick_table();
-                response_Table = pick_table.Parser.ParseText(m_pick_command_response.Value);
-                if (response_Table.Statu.ExecuteStatu == STATU.ENormal)
-                {
-
-                    MessageBoxEe messageBoxEe = new MessageBoxEe();
-                    messageBoxEe.Show(response_Table.CarNumber + " 取车成功,请观察LED屏幕提示取车!");
+                if (m_pick_command_response.Value != "")
                     break;
-  
-                }
-                else
-                {
-                    MessageBoxEe messageBoxEe = new MessageBoxEe();
-                    messageBoxEe.Show(response_Table.Statu.StatuDescription);
-                    break;
-                }
+               
             }
-            if (m_pick_command_response.IsTimeout()&& m_pick_command_response.Value == "")
+            if (m_pick_command_response.IsTimeout() && m_pick_command_response.Value == "")
             {
                 MessageBoxEe messageBoxEe = new MessageBoxEe();
                 messageBoxEe.Show("反馈超时,请重试或联系管理员!");
             }
+            else
+            {
+                try
+                {
+                    pick_table response_Table = new pick_table();
+                    response_Table = pick_table.Parser.ParseText(m_pick_command_response.Value);
+                    if (response_Table.Statu.ExecuteStatu == STATU.ENormal)
+                    {
+                        MessageBoxEe messageBoxEe = new MessageBoxEe();
+                        messageBoxEe.Show(response_Table.CarNumber + " 取车成功,请观察LED屏幕提示取车!");
+                    }
+                    else
+                    {
+                        MessageBoxEe messageBoxEe = new MessageBoxEe();
+                        messageBoxEe.Show(response_Table.Statu.StatuDescription);
+                    }
+                }
+                catch (Exception ex)
+                {
+                    MessageBoxEe messageBoxEe = new MessageBoxEe();
+                    messageBoxEe.Show("反馈解析失败!\n" + ex.StackTrace);
+                }
+            }
             m_pick_command_response = "";
-            //this.pickupBtn.BackgroundImage = Image.FromFile(System.AppDomain.CurrentDomain.BaseDirectory + "./Resource/" + "fetchingBtn.BackgroundImage.png");
+            this.pickupBtn.BackgroundImage = Image.FromFile(m_image_path + "fetchingBtn.BackgroundImage.png");
             this.pickupBtn.Enabled = true;
         }
         //停车反馈线程
-        void park_response_thread(string msg, ref IModel channel ,ref  BasicDeliverEventArgs args)
+        void park_response_thread(string msg, ref IModel channel, ref BasicDeliverEventArgs args)
         {
-            Console.WriteLine("停车反馈:"+msg);
+            Console.WriteLine("停车反馈:" + msg);
             if (msg != null && msg != "")
             {
                 m_park_command_response = msg;
@@ -310,7 +317,7 @@ namespace ct_terminal
             channel.BasicAck(args.DeliveryTag, true);
         }
         //取车反馈线程
-        void pick_response_thread(string msg,ref  IModel channel, ref BasicDeliverEventArgs args)
+        void pick_response_thread(string msg, ref IModel channel, ref BasicDeliverEventArgs args)
         {
             Console.WriteLine("取车反馈:" + msg);
             if (msg != null && msg != "")
@@ -345,7 +352,7 @@ namespace ct_terminal
             }
 #endif
         }
-       
+
 
         /// <summary>
         /// 获取号牌线程
@@ -355,7 +362,7 @@ namespace ct_terminal
             while (m_car_number_condition == true)
             {
                 string number = m_car_number.GetLicensePlate(0);
-             //   Console.WriteLine("号牌机接收到号牌:"+number);
+                //   Console.WriteLine("号牌机接收到号牌:"+number);
                 if (number != null && number != "")
                 {
                     lock (Lock)
@@ -364,7 +371,7 @@ namespace ct_terminal
                         m_timed_car_license.Set_timeout_ms(900000);
                     }
 
-                 //   MessageBoxEe.Show(m_timed_car_license.Value);
+                    //   MessageBoxEe.Show(m_timed_car_license.Value);
                 }
                 if (!m_timed_car_license.IsTimeout() && m_timed_car_license.Value != "")
                 {

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 8705
终端/ct_terminal/ct_terminal/MainForm.resx


+ 10 - 25
终端/ct_terminal/ct_terminal/MessageBoxEe.Designer.cs

@@ -36,12 +36,10 @@ namespace MessageBoxEE
             this.panel1 = new System.Windows.Forms.Panel();
             this.returnBtn = new System.Windows.Forms.Button();
             this.panelProgressBarContainer = new System.Windows.Forms.Panel();
-            this.OKbtn = new System.Windows.Forms.Button();
             this.panel2 = new System.Windows.Forms.Panel();
-            this.zhixiang_pictureBox = new System.Windows.Forms.PictureBox();
+            this.OKbtn = new System.Windows.Forms.Button();
             this.panel1.SuspendLayout();
             this.panel2.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.zhixiang_pictureBox)).BeginInit();
             this.SuspendLayout();
             // 
             // msgBox
@@ -59,7 +57,6 @@ namespace MessageBoxEE
             // panel1
             // 
             this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(13)))), ((int)(((byte)(114)))), ((int)(((byte)(223)))));
-            this.panel1.Controls.Add(this.zhixiang_pictureBox);
             this.panel1.Controls.Add(this.returnBtn);
             this.panel1.Controls.Add(this.panelProgressBarContainer);
             this.panel1.Location = new System.Drawing.Point(0, 0);
@@ -91,9 +88,17 @@ namespace MessageBoxEE
             this.panelProgressBarContainer.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(152)))), ((int)(((byte)(114)))), ((int)(((byte)(223)))));
             this.panelProgressBarContainer.Location = new System.Drawing.Point(0, 56);
             this.panelProgressBarContainer.Name = "panelProgressBarContainer";
-            this.panelProgressBarContainer.Size = new System.Drawing.Size(982, 10);
+            this.panelProgressBarContainer.Size = new System.Drawing.Size(630, 10);
             this.panelProgressBarContainer.TabIndex = 3;
             // 
+            // panel2
+            // 
+            this.panel2.Controls.Add(this.msgBox);
+            this.panel2.Location = new System.Drawing.Point(52, 102);
+            this.panel2.Name = "panel2";
+            this.panel2.Size = new System.Drawing.Size(520, 157);
+            this.panel2.TabIndex = 3;
+            // 
             // OKbtn
             // 
             this.OKbtn.BackgroundImage = global::ct_terminal.Properties.Resources.确认按钮;
@@ -110,24 +115,6 @@ namespace MessageBoxEE
             this.OKbtn.UseVisualStyleBackColor = true;
             this.OKbtn.Click += new System.EventHandler(this.OKbtn_Click);
             // 
-            // panel2
-            // 
-            this.panel2.Controls.Add(this.msgBox);
-            this.panel2.Location = new System.Drawing.Point(52, 102);
-            this.panel2.Name = "panel2";
-            this.panel2.Size = new System.Drawing.Size(520, 157);
-            this.panel2.TabIndex = 3;
-            // 
-            // zhixiang_pictureBox
-            // 
-            this.zhixiang_pictureBox.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("zhixiang_pictureBox.BackgroundImage")));
-            this.zhixiang_pictureBox.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
-            this.zhixiang_pictureBox.Location = new System.Drawing.Point(0, -1);
-            this.zhixiang_pictureBox.Name = "zhixiang_pictureBox";
-            this.zhixiang_pictureBox.Size = new System.Drawing.Size(209, 52);
-            this.zhixiang_pictureBox.TabIndex = 7;
-            this.zhixiang_pictureBox.TabStop = false;
-            // 
             // MessageBoxEe
             // 
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@@ -147,7 +134,6 @@ namespace MessageBoxEE
             this.Load += new System.EventHandler(this.MessageBoxEe_Load);
             this.panel1.ResumeLayout(false);
             this.panel2.ResumeLayout(false);
-            ((System.ComponentModel.ISupportInitialize)(this.zhixiang_pictureBox)).EndInit();
             this.ResumeLayout(false);
 
         }
@@ -159,6 +145,5 @@ namespace MessageBoxEE
         private Panel panelProgressBarContainer;
         private Panel panel2;
         private Button returnBtn;
-        private PictureBox zhixiang_pictureBox;
     }
 }

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 12484
终端/ct_terminal/ct_terminal/MessageBoxEe.resx


+ 20 - 0
终端/ct_terminal/ct_terminal/Properties/Resources.Designer.cs

@@ -80,6 +80,26 @@ namespace ct_terminal.Properties {
             }
         }
         
+        /// <summary>
+        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        /// </summary>
+        internal static System.Drawing.Bitmap log1 {
+            get {
+                object obj = ResourceManager.GetObject("log1", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
+        /// <summary>
+        ///   查找 System.Drawing.Bitmap 类型的本地化资源。
+        /// </summary>
+        internal static System.Drawing.Bitmap log2 {
+            get {
+                object obj = ResourceManager.GetObject("log2", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
         /// <summary>
         ///   查找 System.Drawing.Bitmap 类型的本地化资源。
         /// </summary>

+ 14 - 8
终端/ct_terminal/ct_terminal/Properties/Resources.resx

@@ -118,19 +118,25 @@
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
   <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
-  <data name="parkingBtn.BackgroundImage" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resource\parkingBtn.BackgroundImage.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  <data name="panel2.BackgroundImage" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resource\panel2.BackgroundImage.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
-  <data name="fetchingBtn.BackgroundImage" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resource\fetchingBtn.BackgroundImage.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  <data name="log2" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resource\log2.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="确认按钮" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resource\确认按钮.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
   <data name="1" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resource\1.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
-  <data name="panel2.BackgroundImage" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resource\panel2.BackgroundImage.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  <data name="fetchingBtn.BackgroundImage" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resource\fetchingBtn.BackgroundImage.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
-  <data name="确认按钮" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resource\确认按钮.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  <data name="parkingBtn.BackgroundImage" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resource\parkingBtn.BackgroundImage.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="log1" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resource\log1.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
 </root>

+ 6 - 0
终端/ct_terminal/ct_terminal/ct_terminal.csproj

@@ -158,6 +158,7 @@
     <Compile Include="tool\time_data\TimedData.cs" />
     <EmbeddedResource Include="FetchingFrom.resx">
       <DependentUpon>FetchingFrom.cs</DependentUpon>
+      <SubType>Designer</SubType>
     </EmbeddedResource>
     <EmbeddedResource Include="MainForm.resx">
       <DependentUpon>MainForm.cs</DependentUpon>
@@ -205,8 +206,13 @@
   </ItemGroup>
   <ItemGroup>
     <None Include="Resource\确认按钮.png" />
+    <None Include="Resources\log1.bmp" />
+    <Content Include="Resource\2.jpg" />
+    <Content Include="Resource\3.jpg" />
+    <EmbeddedResource Include="Resource\fetchingBtn_gray.BackgroundImage.png" />
     <Content Include="Resource\log1.jpg" />
     <Content Include="Resource\log2.jpg" />
+    <EmbeddedResource Include="Resource\parkingBtn_gray.BackgroundImage.png" />
     <Content Include="SDK\avcodec-57.dll">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>