> 백엔드 개발 > PHP 튜토리얼 > PHP와 Vue를 사용하여 창고 관리의 고정 자산 관리 기능을 구현하는 방법

PHP와 Vue를 사용하여 창고 관리의 고정 자산 관리 기능을 구현하는 방법

WBOY
풀어 주다: 2023-09-24 09:46:01
원래의
986명이 탐색했습니다.

PHP와 Vue를 사용하여 창고 관리의 고정 자산 관리 기능을 구현하는 방법

PHP 및 Vue를 사용하여 창고 관리의 고정 자산 관리 기능을 구현하는 방법

소개:
기업 규모가 확장됨에 따라 고정 자산 관리는 관리자가 직면한 중요한 작업이 되었습니다. 창고는 기업의 고정자산을 보관하는 장소로서 고정자산을 관리하고 추적하기 위한 효율적인 관리 시스템이 필요합니다. 이 기사에서는 고정 자산 관리 기능을 실현하기 위해 PHP와 Vue를 사용하여 간단하면서도 실용적인 창고 관리 시스템을 개발하는 방법을 소개합니다.

1. 기술 선택
우리는 창고 관리 시스템을 개발할 때 PHP를 백엔드 언어로 사용하고 Vue를 프론트 엔드 프레임워크로 사용하기로 결정했습니다. 그 이유는 PHP가 높은 유연성과 사용 편의성을 가지고 있기 때문입니다. 좋은 사용자 상호작용 경험과 인터페이스 효과를 제공할 수 있습니다.

2. 요구 사항 분석
먼저 주로 다음 기능을 포함하는 창고 관리 시스템의 요구 사항을 명확히하겠습니다.

  1. 고정 자산 추가, 편집, 삭제 및 쿼리
  2. 고정 자산의 입출고 관리
  3. 재고 관리 및 고정 자산의 인벤토리 기능
  4. 사용자 권한 관리
  5. 데이터 통계 및 보고 기능

3. 프로젝트 구성 및 구성

  1. PHP 설치 및 Apache 또는 Nginx 환경 구성
  2. Vue 설치 및 개발 환경 구성
  3. Create 데이터베이스 및 데이터 테이블 구조 가져오기

IV. 데이터베이스 설계
수요 분석을 기반으로 다음과 같은 데이터베이스 테이블을 설계했습니다.

  1. 고정 자산 테이블(자산): 숫자, 이름, 등 고정 자산의 기본 정보를 저장합니다. 모델, 수량 등
  2. 인바운드 및 아웃바운드 기록 테이블(stock_records): 자산 ID, 작업 유형, 수량, 시간 등을 포함한 고정 자산의 인바운드 및 아웃바운드 기록을 저장합니다.
  3. 사용자 테이블(사용자): 사용자 이름, 비밀번호, 권한 등을 포함한 시스템 사용자 정보를 저장합니다.

5. 백엔드 개발

  1. PHP 인터페이스 만들기
    PHP를 사용하여 프런트엔드 호출을 위한 간단한 인터페이스 세트를 제공할 수 있습니다. 인터페이스의 주요 기능에는 고정 자산 추가, 삭제, 수정 및 조회, 들어오고 나가는 기록 작업, 사용자 권한 관리 등이 포함됩니다. 이러한 인터페이스는 주로 PHP의 MySQL 확장을 통해 데이터베이스와 상호 작용합니다. 구체적인 코드 예는 다음과 같습니다.

// 데이터베이스 연결 만들기
$mysqli = new mysqli('localhost', 'root' , 'password', 'database');

// 고정 자산 추가
function addAsset($data)
{
global $mysqli;
// 들어오는 매개변수 처리
$name = $mysqli->real_escape_string($ data['name']);
$model = $mysqli->real_escape_string($data['model']);
$yangity = $mysqli->real_escape_string($data['quantity']);
/ / 삽입 작업 수행
$sql = "INSERT INTO 자산 (이름, 모델, 수량) VALUES ('$name', '$model ', '$ 수량')";name, model, quantity) VALUES ('$name', '$model', '$quantity')";
$result = $mysqli->query($sql);
// 返回结果
if ($result) {

return ['status' => 1, 'message' => '添加成功'];
로그인 후 복사

} else {

return ['status' => 0, 'message' => '添加失败'];
로그인 후 복사

}
}

// 删除固定资产
function deleteAsset($id)
{
global $mysqli;
// 执行删除操作
$sql = "DELETE FROM assets WHERE id = '$id'";
$result = $mysqli->query($sql);
// 返回结果
if ($result) {

return ['status' => 1, 'message' => '删除成功'];
로그인 후 복사

} else {

return ['status' => 0, 'message' => '删除失败'];
로그인 후 복사

}
}

// 修改固定资产
function updateAsset($id, $data)
{
global $mysqli;
// 处理传入的参数
$name = $mysqli->real_escape_string($data['name']);
$model = $mysqli->real_escape_string($data['model']);
$quantity = $mysqli->real_escape_string($data['quantity']);
// 执行更新操作
$sql = "UPDATE assets SET name = '$name', model = '$model', quantity $result = $mysqli->query($sql);
// 결과 반환
if ($result) {

return ['status' => 1, 'message' => '修改成功'];
로그인 후 복사

} else {

return ['status' => 0, 'message' => '修改失败'];
로그인 후 복사

}

}

// 고정 자산 삭제

function deleteAsset($id)
{
global $mysqli;
// 삭제 작업 수행
$sql = "DELETE FROM 자산 WHERE id = '$id'";
$result = $mysqli-> ;query($ sql);
// 결과 반환
if ($result) {

// 获取查询结果
$data = $result->fetch_assoc();
return ['status' => 1, 'data' => $data];
로그인 후 복사

} else {

return ['status' => 0, 'message' => '查询失败'];
로그인 후 복사

}

}

// 고정 자산 수정

function updateAsset($id, $data)

{
    global $mysqli ;
  1. // 들어오는 매개변수 처리
    $name = $mysqli->real_escape_string($data['name']);
  2. $model = $mysqli->real_escape_string($data['model'] );
$Quantity = $mysqli->real_escape_string($data['quantity']);

// 업데이트 작업 수행
$sql = "UPDATE 자산 SET name = '$name', 모델 = '$model', 수량 = '$수량' WHERE id = '$id'";

$result = $mysqli->query($sql) ;

/ / 결과 반환

if ($result) {
    <h2>添加固定资产</h2>
    <form @submit="addAsset">
      <div>
        <label for="name">名称:</label>
        <input type="text" id="name" v-model="name">
      </div>
      <div>
        <label for="model">型号:</label>
        <input type="text" id="model" v-model="model">
      </div>
      <div>
        <label for="quantity">数量:</label>
        <input type="number" id="quantity" v-model="quantity">
      </div>
      <button type="submit">添加</button>
    </form>
    로그인 후 복사
    로그인 후 복사
  1. } else {
  2. return {
      name: '',
      model: '',
      quantity: 0,
    };
    로그인 후 복사
    로그인 후 복사
  3. }
    }
  4. // 고정 자산 쿼리
    function getAsset($id)
  5. {
global $mysqli;

// 실행 쿼리 작업
$sql = "SELECT * FROM 자산 WHERE id = '$id'";

$result = $mysqli->query($sql);🎜 // 결과 반환🎜 if ($result && $result-> ;num_rows > ; 0) {🎜
addAsset() {
  axios.post('/api/addAsset', {name: this.name, model: this.model, quantity: this.quantity})
    .then(response => {
      // 处理返回结果
      if (response.data.status === 1) {
        alert('添加成功');
        // 清空输入框
        this.name = '';
        this.model = '';
        this.quantity = 0;
      } else {
        alert('添加失败');
      }
    })
    .catch(error => {
      console.error(error);
    });
},
로그인 후 복사
로그인 후 복사
🎜} else {🎜rrreee🎜}🎜}🎜🎜...🎜🎜🎜비즈니스 로직 구현🎜해당 인터페이스를 호출하여 추가, 편집, 삭제, 쿼리 기능을 구현할 수 있습니다. 고정 자산. 예를 들어 고정 자산을 추가하는 기능적 논리는 다음과 같습니다. 🎜🎜🎜// 고정 자산 추가 🎜addAsset($_POST) 🎜🎜 6. 프런트 엔드 개발 🎜🎜🎜Vue 설치 및 Vue 프로젝트 생성 🎜🎜Create 컴포넌트 🎜수요 분석을 기반으로 자산 관리, 창고 입출고, 재고 계산, 사용자 권한 관리 등의 컴포넌트를 생성하는 데 필요합니다. 각 구성 요소에는 해당 보기와 상호 작용 논리가 포함되어 있습니다. 🎜🎜뷰 및 상호작용 로직 구현🎜 Vue에서는 axios 라이브러리를 사용하여 백엔드 인터페이스를 호출하고 해당 반환 결과를 처리할 수 있습니다. 다음은 고정 자산을 추가하기 위한 간단한 구성요소 예입니다. 🎜🎜🎜

인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿