yohoboy 发表于 2019-11-14 01:11:31

物料庫存展示

放這邊存檔,有需求的自行修改功能............

#NoTrayIcon
#include <array.au3>
#include <ButtonConstants.au3>
#include <Color.au3>
#include <ColorConstantS.au3>
#include <ComboConstants.au3>
#include <Date.au3>
#include <DateTimeConstants.au3>
#include <EditConstants.au3>
#include <FileConstants.au3>
#include <FontConstants.au3>
#include <GuiButton.au3>
#include <GUIConstantsEx.au3>
#include <GUIEdit.au3>
#include <GUIListBox.au3>
#Include <GuiListView.au3>
#include <GuiScrollBars.au3>
#include <GuiStatusBar.au3>
#include <ListViewConstants.au3>
#include <MsgBoxConstants.au3>
#include <Process.au3>
#include <SliderConstants.au3>
#include <SQLite.au3>
#include <SQLite.dll.au3>
#include <StaticConstants.au3>
#include <StructureConstants.au3>
#include <UpDownConstants.au3>
#include <WinAPI.au3>
#include <WinAPIEx.au3>
#include <WindowsConstants.au3>

Opt("TrayIconHide", 1) ;0 = 顯示托盤圖標, 1 = 隱藏托盤圖標
Opt('MustDeclareVars', 1);1 = 變量不需預先聲明, 1 = 變量必需預先聲明
Opt("GUICloseOnESC", 0) ;1 = 點擊 Esc 鍵關閉, 0 = 點擊 Esc 鍵不關閉
Global $GUI_Button1, $GUI_Button2, $GUI_Button3, $GUI_Button4, $GUI_Combo1
Global $GUI_Input1, $GUI_Input2, $GUI_Input3, $GUI_DATE, $Checkbox1, $Checkbox2, $updata
Global $SQLite_Data_Path, $hQuery, $aRow, $aRow2
Global $idPic1, $Temp, $a, $Data1, $GUI_ListView
Global $g_hStatus
Global $iExListViewStyle = BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_DOUBLEBUFFER);項目選中顯示高亮度題示,顯示項目橫列線條,緩衝控鍵顯示
Global $SYSTEMNAME = "ART(公共藝術)|CCTV(閉路電視)|CLOCK(子母鐘)|CV(結構腐蝕)|CWDM(粗波分割多工轉換)|DLTS(直線電話)|DPA(機廠廣播)|" & _
                                        "DVRS(數位錄音)|EPABX(自動電話)|GE(寬頻網路)|IAS(門禁)|KVM(KVM)|LSPS(投射螢幕)|LU(邊坡滑動)|OSSS(地震警報)|PA(廣播)|" & _
                                        "PIDS(旅客資訊)|PSS(通訊電源)|R22A-IRSY(防侵入)|RADIO(無線電)|SCADA(中央監控)|SDH(數位同步)|WN(風速儀)|共用設備|其他"
Global $SelectUnitName = "||T244|T2441|T2442|T2443|T2444|T2445"

$SQLite_Data_Path = "purchase.db" ;sql資料庫路徑及名稱
_SQLite_Startup ("sqlite3.dll", TRUE, 0) ;加載SQLite3.dll,工作目錄下需有SQLite3.dll 如果沒有就從autoit 網站下載並放入同一目錄下
If @error Then ;如果沒有SQLite3.dll檔案則顯示錯誤訊息
    MsgBox($MB_SYSTEMMODAL, "SQLite 錯誤", "SQLite3.dll 不能載入,請檢查SQLite3.dll,SQLite3.def檔案是否存在同一目錄下!")
    Exit ;離開程式不執行
EndIf

If Not FileExists($SQLite_Data_Path) Then ;如果無資料庫檔案則執行以下命令
    SQLCreate() ;建立新資料庫,參考SQLCreate() 功能,在下面,第一次執行時須把註解取消,並註解下面msgbox
    ;MsgBox(0,"建立資料庫","資料庫已建立,請重新執行程式。")
        Exit
EndIf
_SQLite_Open ($SQLite_Data_Path) ;讀取資料庫,名稱為$SQLite_Data_Path 變數名稱


Local $Title = "緊急小額請購物料管理查詢系統..." ;標題名稱
Local $GUI_Form = GUICreate($Title, 765, 650, -1, -1) ;建立主視窗GUI樣式
GUISetBkColor(0xECE9C8); 設定視窗背景顏色

$GUI_Button1 = GUICtrlCreateButton("搜尋", 100, 20, 48, 22, 0)
$GUI_Button2 = GUICtrlCreateButton("新增", 160, 20, 48, 22, 0)
$GUI_Button3 = GUICtrlCreateButton("刪除", 218, 20, 48, 22, 0)
$GUI_Button4 = GUICtrlCreateButton("更新", 430, 450, 48, 22, 0)
GUICtrlSetState($GUI_Button4,$GUI_DISABLE)

        GUICtrlCreateLabel("請購單位:", 20, 55, 60, 20)
$GUI_Combo1 = GUICtrlCreateCombo("", 83, 50, 55, 20,$CBS_DROPDOWNLIST)
        GUICtrlSetData($GUI_Combo1, $SelectUnitName, "" ) ;選擇單位
        GUICtrlCreateLabel("請購單號:", 150, 55, 60, 20)
$GUI_Input1 = GUICtrlCreateInput("",213,50,90,20) ;輸入物料編號用
$Checkbox1 =GUICtrlCreateCheckbox("請購日期:", 315, 52, 70, 20)
$GUI_DATE = GUICtrlCreateDate("",392,50,95,20, $DTS_SHORTDATEFORMAT) ;顯示系統名稱
Local $sStyle = "yyyy-MM-dd"
        GUICtrlSendMsg($GUI_DATE, $DTM_SETFORMATW, 0, $sStyle)
        GUICtrlCreateLabel("請購品名:", 500, 55, 60, 15)
$GUI_Input2 = GUICtrlCreateInput("",560,50,140,20) ;顯示設備名稱
$Checkbox2 =GUICtrlCreateCheckbox("有現貨", 705, 50, 50, 20)

GUICtrlCreateLabel("照片:", 20, 415, 40, 15)
$idPic1 = GUICtrlCreatePic( @ScriptDir & "\PHOTO\fail.jpg", 60, 415, 280, 210) ;照片參考

;----修正內容用----
GUICtrlCreateLabel("剩餘量:", 380, 420, 50, 20)
$GUI_Input3 = GUICtrlCreateInput("",430,417,40,20,$ES_NUMBER) ;輸入剩餘數量用
;----End----


$GUI_ListView = GUICtrlCreateListView("項次|單位|請 購 編 號|請 購 日 期|請購量|" & _
                                " 使用系統 |   品   名   |   用      途    |剩餘量|照片名稱", _
                                2, 80, 760, 310, BitOR($LVS_REPORT, $WS_BORDER))
$GUI_ListView = GUICtrlGetHandle($GUI_ListView)
_GUICtrlListView_SetColumnWidth($GUI_ListView, 0, 40)
_GUICtrlListView_SetColumnWidth($GUI_ListView, 4, 55)
_GUICtrlListView_SetColumnWidth($GUI_ListView, 6, 110)
_GUICtrlListView_SetColumnWidth($GUI_ListView, 8, 55)
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
GUISetState(@SW_SHOW,$GUI_Form) ;GUI 顯示

While 1
        Switch GUIGetMsg()
                Case $GUI_Button1 ;搜尋資料庫功能鈕
                        SQLiteSelect()
                Case $GUI_Button2 ;新增資料庫功能鈕
                        New_Data()
                Case $GUI_Button3 ;刪除資料庫功能鈕
                        Local $sAnswer = InputBox("刪除資料","請輸入項次號碼","","",-1,-1)
                        If $sAnswer <> "" Then
                                _SQLite_Exec(-1, "DELETE FROM purchase WHERE Serial_Number = '" & $sAnswer & "';") ;刪除該筆工單資料
                                _GUICtrlListView_DeleteAllItems ($GUI_ListView) ;清除ListView資料
                        EndIf
                Case $GUI_Button4 ;更新資料庫功能鈕
                        _SQLite_Exec(-1, "UPDATE purchase SET Remaining = '" & GUICtrlRead($GUI_Input3) & "' WHERE Serial_Number = '" & $updata & "';") ;修改各欄位資料
                        _GUICtrlListView_SetItemText($GUI_ListView, $a, GUICtrlRead($GUI_Input3), 8)
                        GUICtrlSetState($GUI_Button4,$GUI_DISABLE)
                        GUICtrlSetData( $GUI_Input3, "", "")
                Case $GUI_EVENT_CLOSE ;視窗關閉
                        ExitLoop
   EndSwitch
WEnd

Func New_Data() ;新增按鈕跳出之視窗-OK
        LocaL        $Form2 = GUICreate("物料號碼新增", 370, 300, -1, -1)
                        GUICtrlCreateLabel("請購單位:" , 10, 17, 60, 17)
        Local        $Combo1 = GUICtrlCreateCombo("", 70, 15, 60, 20,$CBS_DROPDOWNLIST)
                        GUICtrlSetData($Combo1, $SelectUnitName, "")
                        GUICtrlCreateLabel("請購編號:" , 10, 47, 60, 17)
        Local        $Input1 = GUICtrlCreateInput("", 70, 45, 110, 20)
                        GUICtrlCreateLabel("-", 190, 50, 17, 17)
        Local        $Input2 = GUICtrlCreateInput("", 208, 45, 40, 20,$ES_READONLY) ;序號,主KEY
                        GUICtrlCreateLabel("系統:", 35, 75, 40, 17)
        Local        $Combo2 = GUICtrlCreateCombo("", 70, 70, 180, 25,$CBS_DROPDOWNLIST)
                        GUICtrlSetData($Combo2, $SYSTEMNAME, "")
                        GUICtrlCreateLabel("請購品名:", 10, 100, 60, 17)
        Local        $Input3 = GUICtrlCreateInput("", 70, 95, 270, 20)
                        GUICtrlCreateLabel("用途:", 35, 123, 40, 17)
        Local        $Input4 = GUICtrlCreateInput("", 70, 120, 270, 20)

                        GUICtrlCreateLabel("請購日期:", 10, 145, 75, 15)
        Local $GUI_DATE = GUICtrlCreateDate("", 70, 145, 95, 21,$DTS_SHORTDATEFORMAT)
        Local $sStyle = "yyyy-MM-dd"
                        GUICtrlSendMsg($GUI_DATE, $DTM_SETFORMATW, 0, $sStyle)
                        GUICtrlCreateLabel("請購數量:", 10, 170, 60, 17)
        Local        $Input5 = GUICtrlCreateInput("", 70, 170, 40, 20,$ES_NUMBER)
                        GUICtrlCreateLabel("剩餘數量:", 10, 197, 60, 17)
        Local        $Input6 = GUICtrlCreateInput("", 70, 195, 40, 20,$ES_NUMBER)
        GUICtrlCreateLabel("選擇圖片:", 10, 224, 60, 17)
        Local        $Input7 = GUICtrlCreateInput("", 70, 220, 120, 20)

        Local        $Button1 = GUICtrlCreateButton("確認", 180, 270, 65, 25)
        Local        $Button2 = GUICtrlCreateButton("取消", 260, 270, 65, 25)
        Local        $Button3 = GUICtrlCreateButton("取圖", 70, 270, 65, 25)

        Local        $idPic1 = GUICtrlCreatePic( @ScriptDir & "\PHOTO\fail.jpg", 220, 150, 110, 110) ;照片

        _SQLite_QuerySingleRow(-1, "SELECT COUNT(Serial_Number) FROM purchase;", $aRow) ;執行SQL語法查詢
        Local $Temp =INT($aRow)
        ;MsgBox(0,"",$Temp)
        If $Temp = 0 Then
                GUICtrlSetData($Input2, "1")
        Else
                _SQLite_QuerySingleRow(-1, "SELECT MAX(Serial_Number) FROM purchase;", $aRow) ;執行SQL語法查詢
                $Temp = INT($aRow) + 1
                ;MsgBox(0,"",$Temp)
                GUICtrlSetData($Input2, $Temp)
        EndIf
        GUISetState(@SW_SHOW,$Form2)

While 1
        Local $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE ,$Button2 ; 關閉視窗或是取消鈕則退出
                        ExitLoop
                Case $Button1 ;輸入確認
                        IF GUICtrlRead($Input1) = "" AND GUICtrlRead($Input2) = "" AND GUICtrlRead($Input3) = "" AND GUICtrlRead($Input5) = ""AND GUICtrlRead($Input6) = "" Then ;防呆處理,須輸入請購單號
                                MsgBox(0,"輸入錯誤","未輸入完整資料,請確認輸入欄框是否有未輸入資料。")
                        Else
                                _SQLite_QuerySingleRow(-1, "SELECT Serial_Number FROM purchase WHERE Serial_Number = '" & GUICtrlRead($Input2) & "';", $aRow) ;執行SQL語法查詢確認是否有該筆資料
                                        $Temp = $aRow
                                        If $Temp = "" Then ;如果沒有該筆資料則新增
                                                _SQLite_Exec(-1, "Insert into purchase (Serial_Number,Unit,Number,Date,Quantity,System,Product_Name,Use,Remaining,Photo)" & _
                                                                                " values ('" & GUICtrlRead($Input2) & "','" & GUICtrlRead($Combo1) & "','" &GUICtrlRead($Input1) & _
                                                                                "','" & GUICtrlRead($GUI_DATE) & "','" & GUICtrlRead($Input5) & "','" & GUICtrlRead($Combo2) & _
                                                                                "','" & GUICtrlRead($Input3) & "','" & GUICtrlRead($Input4) & "','" & GUICtrlRead($Input6) & _
                                                                                "','" & GUICtrlRead($Input7) & "');")
                                                MsgBox(0,"新增成功","採購單號:" & GUICtrlRead($Input1) & "-" & GUICtrlRead($Input2) & "已新增" )
                                        Else ;有的話顯示該筆記錄
                                                MsgBox(0,"資料重覆","已有該筆資料")
                                        EndIf
                        EndIf
                Case $Button3
                        FileChangeDir(@ScriptDir & "\PHOTO\")
                        ; 显示选择文件的"打开文件对话框".
                        Local $sFileOpenDialog = FileOpenDialog("選擇圖片.", @ScriptDir & "\PHOTO\", "*.jpg (*.jpg)|*.bmp (*.bmp)|選擇圖片 (*.*)", $FD_FILEMUSTEXIST)
                        If @error Then
                                ; 显示发生错误消息.
                                MsgBox($MB_SYSTEMMODAL, "未選擇圖片", "沒有選擇圖片.")
                                ; 更改工作目录 (@WorkingDir) 到脚本目录的位置, 并设置为 FileOpenDialog() 最后访问的文件夹.
                                FileChangeDir(@ScriptDir & "\PHOTO\")
                        Else
                                ; 更改工作目录 (@WorkingDir) 到脚本目录的位置, 并设置为 FileOpenDialog() 最后访问的文件夹.
                                FileChangeDir(@ScriptDir & "\PHOTO\")
                                ; 替换 FileOpenDialog() 返回字符串的分隔符 "|" 为 @CRLF.
                                $sFileOpenDialog = StringReplace($sFileOpenDialog, "|", @CRLF)
                                ; 显示选择的文件.
                                Local $aDays = StringSplit($sFileOpenDialog,"\") ;取出檔案路徑分離
                               ;_ArrayDisplay($aDays)
                                Local $aExtract = _ArrayExtract($aDays, $aDays, $aDays) ;取得最後的檔案名稱
                                ;_ArrayDisplay($aExtract)
                                GUICtrlSetData($Input7, $aExtract, "") ;填入檔案
                                Sleep(300)
                                Local $Data11 = "\photo\" & GUICtrlRead($Input7) ; 以下顯示設備前照
                                Local $iFileExists1 = FileExists(@ScriptDir & $Data11)
                                If $iFileExists1 Then
                                        GUICtrlSetImage($idPic1,@ScriptDir & $Data11 , -1)
                                Else
                                        $Data11 = ""
                                        GUICtrlSetImage($idPic1,@ScriptDir & "\photo\fail.jpg" , -1)
                                EndIf
                        EndIf
        EndSwitch
WEnd
GUIDelete($Form2)
EndFunc

Func SQLiteSelect() ;搜尋資料庫 BY 多筆
        _GUICtrlButton_Enable($GUI_Button1,False)
        _GUICtrlButton_Enable($GUI_Button4,False)
        GUICtrlSetData( $GUI_Input3, "")
        If GUICtrlRead($GUI_Combo1) <> "" Or GUICtrlRead($GUI_Input1) <> "" Or GUICtrlRead($GUI_Input2) <> "" Or BitAND(GUICtrlRead($Checkbox1),$GUI_CHECKED) _
                        Or BitAND(GUICtrlRead($Checkbox2),$GUI_CHECKED) Then
                Local $Sqlstr
                _GUICtrlListView_DeleteAllItems($GUI_ListView)
                $Sqlstr="Select Count(Serial_Number) From purchase Where Serial_Number Like '%' " ;統計顯示數量
                If GUICtrlRead($GUI_Combo1) <> "" Then $Sqlstr &= " And Unit ='" & GUICtrlRead($GUI_Combo1) & "'" ;加入請購單位
                If GUICtrlRead($GUI_Input1) <> "" Then $Sqlstr &= " And Number LIKE '" & GUICtrlRead($GUI_Input1) & "%'" ;加入請購編號
                If GUICtrlRead($GUI_Input2) <> "" Then $Sqlstr &= " And Product_Name Like '%" & GUICtrlRead($GUI_Input2) & "%'" ;加入請購品名
                If BitAND(GUICtrlRead($Checkbox1),$GUI_CHECKED) Then ;加入請購日期
                        $Sqlstr &= " And datetime(Date) = datetime('" & GUICtrlRead ($GUI_DATE) & "')"
                EndIf
                If BitAND(GUICtrlRead($Checkbox2),$GUI_CHECKED) Then ;加入是否有現貨
                        $Sqlstr &= " And Remaining >= '1'"
                EndIf
                ;MsgBox(0,"",$Sqlstr)
                _SQLite_QuerySingleRow(-1, $Sqlstr & ";" , $aRow) ;取出筆數
                $aRow2 = Int($aRow)
                ;MsgBox(0,"",$aRow2)
                If $aRow2 <> 0 Then
                        $Sqlstr="Select * From purchase Where Serial_Number Like '%' " ;統計顯示數量
                        If GUICtrlRead($GUI_Combo1) <> "" Then $Sqlstr &= " And Unit ='" & GUICtrlRead($GUI_Combo1) & "'" ;加入請購單位
                        If GUICtrlRead($GUI_Input1) <> "" Then $Sqlstr &= " And Number LIKE'" & GUICtrlRead($GUI_Input1) & "%'" ;加入請購編號
                        If GUICtrlRead($GUI_Input2) <> "" Then $Sqlstr &= " And Product_Name Like'%" & GUICtrlRead($GUI_Input2) & "%'" ;加入請購品名
                        If BitAND(GUICtrlRead($Checkbox1),$GUI_CHECKED) Then ;加入請購日期
                                $Sqlstr &= " And datetime(Date) = datetime('" & GUICtrlRead ($GUI_DATE) & "')"
                        EndIf
                        If BitAND(GUICtrlRead($Checkbox2),$GUI_CHECKED) Then ;加入請購日期
                        $Sqlstr &= " And Remaining >= '1'"
                EndIf
                        _SQLite_Query(-1, $Sqlstr & "ORDER BY Serial_Number DESC ;", $hQuery) ;查詢資料,並存入$hQuery 變數
                        sql_data_array()

                EndIf
                ;sql_data_array()
        EndIf
        _GUICtrlButton_Enable ($GUI_Button1,True)
EndFunc

Func sql_data_array() ;取出之資料存入陣列
        Local $ArrayData[$aRow2] ;設定二維陣列
        Local $c = 0 ;初始二維陣列值
        While _SQLite_FetchData ($hQuery, $aRow) = $SQLITE_OK
                $ArrayData[$c]=$aRow
                $ArrayData[$c]=$aRow
                $ArrayData[$c]=$aRow
                $ArrayData[$c]=$aRow
                $ArrayData[$c]=$aRow
                $ArrayData[$c]=$aRow
                $ArrayData[$c]=$aRow
                $ArrayData[$c]=$aRow
                $ArrayData[$c]=$aRow
                $ArrayData[$c]=$aRow
                $c = $c +1
        WEnd
        _GUICtrlListView_AddArray($GUI_ListView, $ArrayData)
        _SQLite_QueryFinalize($hQuery)
        MsgBox(0,"筆數","共" & $aRow2 & "筆")
EndFunc

Func SQLCreate() ;建立資料庫
    _SQLite_Open ($SQLite_Data_Path) ;建立資料庫,名稱為$SQLite_Data_Path 變數名稱
    _SQLite_Exec(-1, "Create Table IF NOT Exists purchase (Serial_Number INT PRIMARY KEY , Unit Text, Number Text, Date DATE," & _
                                                " Quantity INT, System TEXT, Product_Name TEXT, Use TEXT, Remaining INT, Photo TEXT);") ;建立資料庫內容
                                                                       ;^^以上執行SQL語法建立資料表,並建立相關欄位等資料內容
        _SQLite_Close (-1) ;關閉資料庫
        MsgBox(0,"資料庫","資料庫已建立,請重新執行程式")
        Exit
EndFunc

Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
    #forceref $hWnd, $iMsg, $wParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo
    $hWndListView = $GUI_ListView
    If Not IsHWnd($GUI_ListView) Then $hWndListView = GUICtrlGetHandle($GUI_ListView)

    $tNMHDR = DllStructCreate($tagNMHDR, $lParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
      Case $hWndListView
            Switch $iCode
                Case $NM_CLICK ; 发送用户鼠标左键点击项目消息
                  $tInfo = DllStructCreate($tagNMITEMACTIVATE, $lParam)
                                        $a = DllStructGetData($tInfo, "Index") ;取得listview 游標id-index
                                        Example($a) ;轉EXAMPLE FUNC
                  ; 没有返回值
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_NOTIFY

Func Example($a) ;滑鼠左鍵跳出詳細內容
        Local $aItem, $sText, $idListview ,$i
        GUICtrlSetData( $GUI_Input3, "")
        GUICtrlSetImage($idPic1,@ScriptDir & "\photo\fail.jpg" , -1)
    $aItem = _GUICtrlListView_GetItemTextArray($GUI_ListView, $a) ;讀取指定LIST 內容
        _SQLite_QuerySingleRow(-1, "SELECT * FROMpurchase WHERE Serial_Number = '" & $aItem & "' COLLATE NOCASE ;", $aRow)
        IF $aRow <> "" Then ;如果項目有資料則顯示
                GUICtrlSetState($GUI_Button4,$GUI_ENABLE)
                $updata = $aRow
                GUICtrlSetData( $GUI_Input3, $aRow, "0")
                Local $Data11 = "\PHOTO\" & $aRow ; 以下顯示設備前照
                Local $iFileExists1 = FileExists(@ScriptDir & $Data11)
                If $iFileExists1 Then
                        GUICtrlSetImage($idPic1,@ScriptDir & $Data11 , -1)
                        $Data11 = ""
                Else
                        $Data11 = ""
                        GUICtrlSetImage($idPic1,@ScriptDir & "\photo\fail.jpg" , -1)
                EndIf
        Else
                GUICtrlSetState($GUI_Button4,$GUI_DISABLE)
                GUICtrlSetImage($idPic1,@ScriptDir & "\photo\fail.jpg" , -1)
        EndIf
EndFunc   ;==>Example



redapple2008 发表于 2019-11-14 09:02:27

支持原创,谢谢了!

chishingchan 发表于 2019-11-14 09:24:13

sqlite3.dll & sqlite3.def
https://www.sqlite.org/2019/sqlite-dll-win32-x86-3300100.zip
https://www.sqlite.org/2019/sqlite-dll-win64-x64-3300100.zip

Dontang2018 发表于 2019-11-14 11:31:54

學習,學習.

在微象打工的仔 发表于 2019-11-26 21:10:35

支持原创,支持原创!!!

xdafeng 发表于 2020-8-27 22:07:02

下一个学习下!!
页: [1]
查看完整版本: 物料庫存展示