2017-06-30 1 views
1

Je suis nouveau à angulaire et j'ai essayé de créer une application pour ajouter, mettre à jour et supprimer des informations sur le test de laboratoire. Mais quand la page est chargée une erreur se produit. Si quelqu'un connaît la raison pour cela, aidez-moi s'il vous plaît. Je vous remercie.Angular JS erreur de chargement de la page

erreur enter image description here

ManageLabTest.html

<!DOCTYPE html> 
<html ng-app="app"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Lab Test Management</title> 

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" 
      integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> 
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Dynatable/0.3.1/jquery.dynatable.css"> 

    <link rel="stylesheet" 
      href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.2/css/bootstrap-select.min.css"> 
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.css"> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-sweetalert/1.0.1/sweetalert.js"></script> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" 
      integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" 
      crossorigin="anonymous"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.2/js/bootstrap-select.min.js"></script> 

    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-route.js"></script> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.js"></script> 

    <script src="../app.module.js"></script> 
    <script src="../Controller/LabController.js"></script> 
    <script src="../Controller/main.route.js"></script> 


</head> 
<body ng-controller="ManageLabTest"> 
<div id="page"> 
    <div class="header"><img src="../img/logoPCU%20(2).jpg" height="174" width="721"/> 
     <h1 class="text-info">Lab Test Details Management</h1> 

    </div> 
</div> 

<div class="container"> 
    <div class="navigation"> 
     <div class="page-header"> 
     </div> 

     <div class="well well-lg"> 
      <div class="container-fluid"> 
       <h3><strong>Lab Test Details</strong></h3> 
       <div class="row"> 
        <div class="col-md-12"> 
         <div class="col-md-4"> 
          <div class="form-group"> 
           <label>Patient ID </label> 
           <input type='text' class="form-control" ng-model="Test.patientID"/> 
          </div> 
         </div> 

         <div class="col-md-4"> 
          <div class="form-group"> 
           <label>Test Code</label> 
           <input type='text' class="form-control"ng-model="Test.testCode" /> 
          </div> 
         </div> 

         <div class="col-md-4"> 
          <div class="form-group"> 
           <label>Test Name</label> 
           <input type='text' class="form-control" ng-model="Test.testName"/> 
          </div> 
         </div> 

         <div class="container"> 
          <div class='col-md-3 '> 
           <div class="form-group"> 
            <label>Type</label> 
            <select ng-model="Test.type" class="form-control"> 
             <option>Select Type</option> 
             <option>Critical</option> 
             <option>Non-Critical</option> 
            </select> 
           </div> 
          </div> 
          <div class="col-md-3"> 
           <div class="form-group"> 
            <label>Date</label> 
            <div ng-model="Prescription.date">{{date | date:'yyyy-MM-dd'}}</div> 
           </div> 
          </div> 

         </div> 
         <div class="row"> 
          <div class="col-md-12"> 
           <div class="form-group pull-right" ng-submit="addNew()"> 
            <input type="submit" class="btn btn-primary addnew pull-right" value="Add New"/> 
            <button class="btn btn-warning" id="clear" ng-click="clear()" onclick="enableAddButton()"> 
             Clear 
            </button> 
           </div> 
          </div> 
         </div> 
        </div> 
       </div> 
      </div> 
     </div> 

     <div class="page-header"> 
      <h3><strong>Add Lab Test</strong></h3> 
     </div> 

     <div class="row"> 
      <div class="col-md-12"> 
       <div class="table-responsive"> 
        <table class="table table-bordered table-hover" id="data-table2"> 

         <tr> 
          <th> Patient ID </th> 
          <th> Type </th> 
          <th> Test Code </th> 
          <th> Test Name </th> 
          <th> Date</th> 
          <th> Edit </th> 
          <th> Delete</th> 
         </tr> 

         <tr ng-repeat="Test in Tests"> 
          <td> {{Test.patientID}} </td> 
          <td> {{Test.type}} </td> 
          <td> {{Test.testCode}} </td> 
          <td> {{Test.testName}} </td> 
          <td> {{Test.date}} </td> 
          <td> 
           <button class="btn btn-warning btn-sm" ng-click="editLab(Test._id)" 
             onclick="enableUpdateButtons()">Edit <span 
             class="glyphicon glyphicon-pencil"></span></button> 
          </td> 
          <td> 
           <button class="btn btn-danger btn-sm" ng-click="deleteLab(Test._id)">Delete <span 
             class="glyphicon glyphicon-trash"></span> 
           </button> 
          </td> 

         </tr> 
        </table> 
       </div> 
      </div> 
     </div> 

     <div class="row"> 
      <div class="col-md-12"> 
       <div class="form-group pull-right"> 


        <button class="btn btn-success btn-sm" ng-click="" onclick="">Save/Send</button> 

       </div> 
      </div> 
     </div> 

     <div class="page-header"> 
      <h3><strong>Lab Test Details</strong></h3> 
     </div> 

     <div class="row"> 
      <div class="col-md-12"> 
       <div class="table-responsive"> 
        <table class="table table-bordered table-hover" id="data-table"> 

         <tr> 
          <th> Patient ID </th> 
          <th> Type </th> 
          <th> Test Code </th> 
          <th> Test Name </th> 
          <th> Date</th> 
          <th> Edit </th> 
          <th> Delete</th> 
         </tr> 

         <tr ng-repeat="Test in Tests"> 
          <td> {{Test.patientID}} </td> 
          <td> {{Test.type}} </td> 
          <td> {{Test.testCode}} </td> 
          <td> {{Test.testName}} </td> 
          <td> {{Test.date}} </td> 
          <td> 
           <button class="btn btn-warning btn-sm" ng-click="editLab(Test._id)" 
             onclick="enableUpdateButtons()">Edit <span 
             class="glyphicon glyphicon-pencil"></span></button> 
          </td> 
          <td> 
           <button class="btn btn-danger btn-sm" ng-click="deleteLab(Test._id)">Delete <span 
             class="glyphicon glyphicon-trash"></span> 
           </button> 
          </td> 

         </tr> 

        </table> 
       </div> 
      </div> 
     </div> 

     <div class="row"> 
      <div class="col-md-12"> 
       <div class="form-group pull-right"> 


        <button class="btn btn-success btn-sm" ng-click="" onclick="">Save changers</button> 

       </div> 
      </div> 
     </div> 
    </div> 
</div> 
</body> 
</html> 

LabController.js

'use strict'; 

angular.module('app').controller('ManageLabTest', ['$scope', function ($scope) { 
    getLab(); 
    function getLab() { 
     $http.get('/').then(response => { 
      $scope.labs = labs; 
      $scope.lab = null; 
     }); 
    }; 

    $scope.clear=function(){ 
     $scope.lab=null; 
    }; 

    $scope.addLab =() => { 
     $http.post('/',$scope.lab).then(function(response){ 

      getLab(); 

     }); 
    }; 

    $scope.update =() =>{ 
     $http.put('/'+$scope.lab._id,$scope.lab).then(function(response){ 

      getLab(); 
      clear(); 
     }); 
    }; 

    $scope.edit =() =>{ 
     $http.get('/'+id).then(function(response){ 
      $scope.lab = response.data; 

     }); 
    }; 

    $scope.remove =() =>{ 
     $http.delete('/'+id).then(function(response){ 

      getLab(); 

     }); 
    }; 

    $scope.Test = []; 

    $scope.addNew = function (Test) { 
     $scope.Test.push({ 

      'patientID':"", 
      'testCode':"", 
      'testName':"", 
      'date':"" 
     }); 
    }; 
    $scope.date = new Date(); 

}]); 

Lab.m odel.js

'use strict'; 

const mongoose = require('mongoose'); 

const Schema = mongoose.Schema; 

const LabTestSchema = new Schema({ 
    patientID: { 
     type: String, 
     required: true 
    }, 
    testCode: { 
     type: String, 
     required: true 
    }, 
    testName: { 
     type: String, 
     required: true 
    }, 
    date: { 
     type: Date, 
     required: true 
    }, 
    type:{ 
     type: String, 
     required: true 
    } 
}); 

var LabTest = mongoose.model('LabTest', LabTestSchema); 

module.exports = LabTest; 

app.module.js

angular.module('app',['ngRoute']); 

server.js

const bodyParser = require('body-parser'), 
    express = require('express'), 
    mongoose = require('mongoose'); 

mongoose.Promise = global.Promise; 

require('./Interface/DataModel/prescription.model.js'); 
require('./Interface/DataModel/Lab.model.js'); 

const PresRouter = require('./Interface/Routers/Prescription.route.js'); 
const LabRouter = require('./Interface/Routers/Lab.route.js') 

const app = express(); 

app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({'extended':'true'})); 
mongoose.connect('mongodb://localhost:27017/PCU', err => { 
     if (err) { 
      console.log(err); 
      process.exit(1); 
     } 
    } 
); 

app.use(express.static(__dirname+'/Interface')); 

app.get('/', (req, res) => { 

    res.sendFile(__dirname + '/Interface/Pres&Labs/ManageLabTest.html'); 
}); 

app.use('/',PresRouter); 
app.use('/',LabRouter); 

app.listen(3000, err => { 
    if (err) { 
     console.error(err); 
     return; 
    } 
    console.log('app listening on port 3000'); 
}); 

Lab.route.js

'use strict'; 

const express = require('express'); 
const mongoose = require('mongoose'); 

mongoose.set('debug', false); 

const router = express.Router(); 
const LabModel = require('../DataModel/Lab.model.js'); 

router.get('/',function (req,res) { 
    LabModel.find().then(labs => { 
     res.json(labs); 
    }).catch(err => { 
     console.error(err); 
     res.sendStatus(500); 
    }); 
}); 

router.post('/',function (req,res) { 
    const lab = new LabModel(req.body); 
    labs.save().then(labs => { 
     res.json(labs); 
    }).catch(err => { 
     console.error(err); 
     res.sendStatus(500); 
    }); 
}); 

router.get('/:id',function (req,res) { 
    LabModel.findById(req.params.id).then(data=>{ 
     res.json(data || {}); 
    }).catch(err=>{ 
     console.error(err); 
     res.sendStatus(500); 
    }); 
}); 

router.put('/:id',function (req,res) { 
    const data = req.body; 
    delete data._id; 
    const Id = req.params.id; 
    LabModel.findByIdAndUpdate(Id,{$set:data}).then(db=>{ 
     res.json(data); 
    }).catch(err => { 
     console.error(err); 
     res.sendStatus(500); 
    }); 
}); 

router.delete('/:id',function (req,res) { 
    LabModel.findByIdAndRemove(req.params.id).then(data=>{ 
     res.sendStatus(200,'success'); 
    }); 
}); 

module.exports = router; 

main.route.js

angular.module('app').config(['$routeProvider'],function ($routeProvider) { 
    $routeProvider 

     .when('/ManagePrescription',{ 
      templateUrl : 'ManagePrescription.html', 
      controller : 'ManagePrescription' 
     }) 
     .when('/ManageLabTest',{ 
      templateUrl : 'ManageLabTest.html', 
      controller : 'ManageLabTest' 
     }) 
     .when('SearchPrescription',{ 
      templateUrl : 'SearchPrescription.html', 
      controller : 'ManagePrescription' 
     }) 
     .when('SearchLabTest',{ 
      templateUrl : 'SearchLabTest.html', 
      controller : 'ManageLabTest' 
     }); 
}); 
+0

pouvez-vous s'il vous plaît ajouter le contenu de 'app.module.js' –

+0

angular.module ('app', ['ngRoute']); –

+0

vous avez référencé angulaire deux fois, une fois via la version minifiée et une fois via la version non-minée, vous ne pouvez charger la bibliothèque angulaire qu'une seule fois. Supprimer soit la version minifiée ou la version non -minifiée –

Répondre

0

Il y a erreur de syntaxe dans main.route.js vous définissez votre fonction de tableau ..

angular.module('app').config(['$routeProvider'],function ($routeProvider) { 
    //YOUR LOGIC 
}); 

Le code devrait ressembler à ci-dessous

angular.module('app').config(['$routeProvider',function ($routeProvider) { 
    //YOUR LOGIC 
}]);