|
@@ -1,9 +1,265 @@
|
|
|
-<div class="row" ng-keypress="removeItem($event.keyCode-49)">
|
|
|
- <div class="col-md-4" ng-repeat="b in Bestellungen">
|
|
|
- <button type="button" class="btn btn-lg btn-danger">{{$index+1}}</button><br/>
|
|
|
- <button type="button" class="btn btn-lg btn-block btn-default">Bon Nr. {{b.Rechnung}}</button>
|
|
|
- <button type="button" ng-repeat="pos in b.Bestellung" class="btn btn-lg btn-block {{Produkte[pos.Produkt]}}" >{{pos.Anzahl}}x {{pos.Bezeichnung}}</button>
|
|
|
- </div>
|
|
|
+<button type="button" class="btn btn-info" ng-click="importData()">
|
|
|
+ <span class="glyphicon glyphicon-refresh"></span>
|
|
|
+</button>
|
|
|
+<br/><br/>
|
|
|
+<div class="alert alert-success" role="alert" ng-show="error > -1" ng-class="{'alert-danger': error == 1}">
|
|
|
+ Neu importiert:
|
|
|
+ <ul>
|
|
|
+ <li ng-repeat="opt in info">{{opt}}</li>
|
|
|
+ </ul>
|
|
|
+</div>
|
|
|
+
|
|
|
+<div class="well" ng-show="benutzer==null">
|
|
|
+ <label>Benutzer:
|
|
|
+ <input ng-model="benutzer2"/>
|
|
|
+ </label>
|
|
|
+ <button class="btn btn-default btn-sm" ng-click="saveUser(benutzer2)">Speichern</button>
|
|
|
+</div>
|
|
|
+
|
|
|
+<table class="table table-bordered table-striped">
|
|
|
+ <tr>
|
|
|
+ <th>Datum</th>
|
|
|
+ <th>Kunde</th>
|
|
|
+ <th>Start</th>
|
|
|
+ <th>Ende (Soll/Ist)</th>
|
|
|
+ <th>Abweichung</th>
|
|
|
+ <th>Fehler</th>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>
|
|
|
+ <div class="dropdown">
|
|
|
+ <a class="btn dropdown-toggle" role="button" data-toggle="dropdown">{{dateFormat(Filter.datum)||'alle'}} <b class="caret"></b></a>
|
|
|
+ <ul class="dropdown-menu" role="menu">
|
|
|
+ <li><a ng-click="Filter.datum=''">alle</a></li>
|
|
|
+ <li class="divider"></li>
|
|
|
+ <li ng-repeat="opt in datum"><a ng-click="Filter.datum=opt">{{dateFormat(opt)}}</a></li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="dropdown">
|
|
|
+ <a class="btn dropdown-toggle" role="button" data-toggle="dropdown">{{Filter.kunde||'alle'}} <b class="caret"></b></a>
|
|
|
+ <ul class="dropdown-menu" role="menu">
|
|
|
+ <li><a ng-click="Filter.kunde=''">alle</a></li>
|
|
|
+ <li class="divider"></li>
|
|
|
+ <li ng-repeat="opt in kunden"><a ng-click="Filter.kunde=opt.kunde">{{opt.kunde}}</a></li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+ <td></td>
|
|
|
+ <td>
|
|
|
+ <div class="dropdown">
|
|
|
+ <a class="btn dropdown-toggle" role="button" data-toggle="dropdown">fehlerhafte <b class="caret"></b></a>
|
|
|
+ <ul class="dropdown-menu" role="menu">
|
|
|
+ <li><a ng-click="Filter.fehler=''">alle</a></li>
|
|
|
+ <li class="divider"></li>
|
|
|
+ <li><a ng-click="Filter.fehler='1'">fehlerhafte</a></li>
|
|
|
+ <li><a ng-click="Filter.fehler='0'">fehlerfreie</a></li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr ng-repeat="zeile in overview | filter:Filter" ng-class="{'danger':zeile.kommentar==null}">
|
|
|
+ <td>{{dateFormat(zeile.datum)}}</td>
|
|
|
+ <td><span class="label label-danger label-{{zeile.system}}">{{zeile.system}}</span> {{zeile.kunde}}</td>
|
|
|
+ <td>{{zeile.start_soll}}<br/>{{zeile.start}}</td>
|
|
|
+ <td>{{zeile.ende_soll}}<br/>{{zeile.ende}}</td>
|
|
|
+ <td>{{minuten(zeile.abweichung)}}</td>
|
|
|
+ <td><a data-toggle="modal" data-target="#fehler-modal" ng-click="setCurrent(zeile)"><span class="label label-danger label-{{zeile.anzahl}}">{{zeile.anzahl}}</span></a>
|
|
|
+ <button type="button" class="btn btn-default btn-sm" ng-show="zeile.bearbeitet != '0'" data-toggle="tooltip" data-placement="top" title="{{zeile.kommentar}}">
|
|
|
+ <span class="glyphicon" ng-class="{'glyphicon-ok':zeile.kommentar=='', 'glyphicon-comment':zeile.kommentar!=''&&zeile.kommentar!=null, 'glyphicon-question-sign':zeile.kommentar==null}"></span> {{zeile.benutzer}}
|
|
|
+ </button>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+</table>
|
|
|
+
|
|
|
+
|
|
|
+<!-- Modal -->
|
|
|
+<div class="modal fade" id="fehler-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
|
|
+ <div class="modal-dialog">
|
|
|
+ <div class="modal-content">
|
|
|
+ <div class="modal-header">
|
|
|
+ <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
|
|
|
+ <h4 class="modal-title" id="myModalLabel">Fehlerbericht {{current.kunde}} - {{current.datum}}</h4>
|
|
|
+ </div>
|
|
|
+ <div class="modal-body">
|
|
|
+ <pre>
|
|
|
+ {{current.fehler.logdatei}}
|
|
|
+ </pre>
|
|
|
+
|
|
|
+ <div class="logdatei" ng-repeat="e in current.fehler.fehlerbericht">
|
|
|
+ <p class="modell" ng-class="{'rot':e.Errors.length > 0}">{{e.Type}}: {{e.Name}}</p>
|
|
|
+ <p class="dateiname">
|
|
|
+ Dateiname: {{e.Filename}}<br />
|
|
|
+ Stand: {{dateFormat(e.Modified)}} ({{e.LastChangedDays}} Tage)
|
|
|
+ </p>
|
|
|
|
|
|
+ <div ng-show="e.Errors.length > 0">
|
|
|
|
|
|
+ <ul class="fehler" ng-show="e.Type=='Modell'">
|
|
|
+ <li ng-repeat="error in e.Errors"><a href="http://wiki.global-cube.de/{{error.Number}}">{{error.Number}}</a>:
|
|
|
+ ({{error.Level}}) {{error.Message}}</li>
|
|
|
+ </ul>
|
|
|
+ <ul class="fehler" ng-show="e.Type=='WebCreator'">
|
|
|
+ <li ng-repeat="error in e.Errors"><a href="http://wiki.global-cube.de/{{error.Number}}">{{error.Number}}</a>:
|
|
|
+ ({{error.Level}}) {{error.Message}}</li>
|
|
|
+ </ul>
|
|
|
+ <table class="ft" ng-show="e.Type=='Portal'||e.Type=='Versand'">
|
|
|
+ <tbody ng-repeat="error in e.Errors">
|
|
|
+ <tr>
|
|
|
+ <td rowspan="5" class="number">{{$index+1}}
|
|
|
+ <td>Datei:</td>
|
|
|
+ <td>{{error.Filename}}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>Stand:</td>
|
|
|
+ <td>{{error.Modified}}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>Benutzer:</td>
|
|
|
+ <td>{{error.User}}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>Bericht:</td>
|
|
|
+ <td>{{error.Report}} (Schicht {{error.Layer}})</td>
|
|
|
+ </tr>
|
|
|
+ <tr class="strich">
|
|
|
+ <td>Empfänger:</td>
|
|
|
+ <td>{{error.MailTo}}</td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+
|
|
|
+ <table class="table table-hover table-bordered">
|
|
|
+ <tr>
|
|
|
+ <th>Benutzer</th>
|
|
|
+ <td>
|
|
|
+ <input type="text" ng-model="current.fehler.benutzer" />
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>Kommentar</th>
|
|
|
+ <td>
|
|
|
+ <label>
|
|
|
+ <textarea cols="40" rows="5">{{current.fehler.kommentar}}</textarea>
|
|
|
+ </label>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>Anzahl Fehler</th>
|
|
|
+ <td>
|
|
|
+ <label>
|
|
|
+ <input type="text" ng-model="current.fehler.anzahl"/>
|
|
|
+ </label>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>Bearbeitungsstand</th>
|
|
|
+ <td>
|
|
|
+ <label>
|
|
|
+ <select ng-model="current.fehler.bearbeitet" ng-options=""></select>
|
|
|
+ </label>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ <div class="modal-footer">
|
|
|
+ <button type="button" class="btn btn-primary" ng-click="saveComments()">Speichern</button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
+
|
|
|
+
|
|
|
+<style>
|
|
|
+.table tbody tr td {
|
|
|
+ vertical-align: middle;
|
|
|
+}
|
|
|
+
|
|
|
+.label-0 {
|
|
|
+ background-color: #aaaaaa;
|
|
|
+}
|
|
|
+
|
|
|
+.label-1 {
|
|
|
+ background-color: #bbbb00;
|
|
|
+}
|
|
|
+
|
|
|
+.label-2 {
|
|
|
+ background-color: #bb8800;
|
|
|
+}
|
|
|
+
|
|
|
+.label-3 {
|
|
|
+ background-color: #bb0000;
|
|
|
+}
|
|
|
+
|
|
|
+.label-O {
|
|
|
+ background-color: #888888;
|
|
|
+}
|
|
|
+
|
|
|
+.label-E {
|
|
|
+ background-color: #338833;
|
|
|
+}
|
|
|
+
|
|
|
+.label-G {
|
|
|
+ background-color: #5577cc;
|
|
|
+}
|
|
|
+
|
|
|
+.label-B {
|
|
|
+ background-color: #0022bb;
|
|
|
+}
|
|
|
+
|
|
|
+.label-A {
|
|
|
+ background-color: #dddd22;
|
|
|
+ color: #000000;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+table.ft {
|
|
|
+ border: 1px solid #888;
|
|
|
+}
|
|
|
+
|
|
|
+table.ft td {
|
|
|
+ padding: 3px 5px;
|
|
|
+ margin: 2px;
|
|
|
+ background-color: #ddd;
|
|
|
+}
|
|
|
+
|
|
|
+.logdatei {
|
|
|
+ margin: 10px 5px 20px 5px;
|
|
|
+ padding: 0 20px 10px 20px;
|
|
|
+ background-color: #eee;
|
|
|
+ border: 1px solid #888;
|
|
|
+}
|
|
|
+
|
|
|
+.modell {
|
|
|
+ font-weight: bold;
|
|
|
+ background-color: #ccc;
|
|
|
+ padding: 10px;
|
|
|
+ margin: 0 -20px;
|
|
|
+}
|
|
|
+
|
|
|
+.rot {
|
|
|
+ background-color: #e88;
|
|
|
+}
|
|
|
+
|
|
|
+.number {
|
|
|
+ font-weight: bold;
|
|
|
+ background-color: #ccc;
|
|
|
+ border: 1px solid #888888;
|
|
|
+}
|
|
|
+
|
|
|
+.strich {
|
|
|
+ border-bottom: 1px solid #888888;
|
|
|
+}
|
|
|
+
|
|
|
+</style>
|