Guest User

Untitled

a guest
Nov 17th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.83 KB | None | 0 0
  1. <!--Contenedor de la tabla-->
  2. <div id="main">
  3.  
  4. </div>
  5.  
  6. <!--Modal Editar Producto -->
  7. <div class="modal fade" id="EditP" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  8. <div class="modal-dialog">
  9. <div class="modal-content">
  10. <form action="" id="FEPro">
  11. <div class="modal-header">
  12. <button type="button" data-dismiss="modal" class="close" aria-hidden="true">x</button>
  13. <h4 class="modal-title text-center" ><strong class="c-blue" id="TitleEdit"></strong></h4>
  14. </div>
  15. <div class="modal-body">
  16. <div class="tab-wrapper tab-primary no-margin">
  17. <ul class="nav nav-tabs">
  18. <li class="active">
  19. <a href="#Edet" data-toggle="tab">Detalles del producto</a>
  20. </li>
  21. <li>
  22. <a href="#Einv" data-toggle="tab">Inventario</a>
  23. </li>
  24. <li>
  25. <a href="#Efamily" data-toggle="tab">Familias</a>
  26. </li>
  27. </ul>
  28. <div class="tab-content">
  29. <div class="tab-pane active row" id="Edet">
  30. <div class="col-md-6">
  31. <label for="">Nombre</label>
  32. <input type="text" name="nombre" class="form-control" autocomplete="off">
  33. <br>
  34. <label for="">Barras</label>
  35. <div class="input-group no-margin">
  36. <input type="text" name="codigo" id="codigoe" class="form-control" autocomplete="off">
  37. <span class="input-group-addon cp" onclick="barcode('#codigoe')" title="Generar codigo de barras"><i class="fa fa-barcode"></i></span>
  38. </div>
  39. <br>
  40. <div class="row">
  41. <div class="col-md-6">
  42. <label for="">Cod. Referencia</label>
  43. <input type="text" name="ref" class="form-control" autocomplete="off">
  44. </div>
  45. <div class="col-md-6">
  46. <label for="">Cod. Proveedor</label>
  47. <input type="text" name="cod_prov" class="form-control" autocomplete="off">
  48. </div>
  49. </div>
  50. <br>
  51. <label for="">Costo (Precio de compra)</label>
  52. <input type="text" name="costo" class="form-control" autocomplete="off">
  53. </div>
  54. <div class="col-md-6">
  55. <label for="">Marca</label>
  56. <select name="marca" class="form-control">
  57. <option value="">Seleccione un marca</option>
  58. <?php
  59. $con = $db->query("SELECT * FROM marcas ORDER BY nombre");
  60. while ($row = mysqli_fetch_array($con)) {
  61. ?>
  62. <option value="<?php echo $row['id'];?>"><?php echo $row['nombre'];?></option>
  63. <?php
  64. }
  65. ?>
  66. </select>
  67. <br>
  68. <label for="">Categoria</label>
  69. <select name="categoria" id="" class="form-control">
  70. <option value="">Seleccione un categoria</option>
  71. <?php
  72. $con = $db->query("SELECT * FROM categorias ORDER BY nombre");
  73. while ($row = mysqli_fetch_array($con)) {
  74. ?>
  75. <option value="<?php echo $row['id']; ?>"><?php echo $row['nombre']; ?></option>
  76. <?php
  77. }
  78. ?>
  79. </select>
  80. <br>
  81. <label for="">Unidad</label>
  82. <select name="unidad" id="" class="form-control">
  83. <option value="">Seleccione un unidad</option>
  84. <?php
  85. $con = $db->query("SELECT * FROM unidades ORDER BY nombre");
  86. while ($row = mysqli_fetch_array($con)) {
  87. ?>
  88. <option value="<?php echo $row['id']; ?>"><?php echo $row['nombre']; ?></option>
  89. <?php
  90. }
  91. ?>
  92. </select>
  93. </div>
  94. </div>
  95. <div class="tab-pane" id="Einv">
  96. <div class="row">
  97. <div class="col-md-6">
  98. <label for="">Precio de venta</label>
  99. <input type="number" name="pv" class="form-control" autocomplete="off">
  100. <br>
  101. <label for="">Existencia</label>
  102. <input type="number" name="stock" class="form-control" autocomplete="off">
  103. <br>
  104. </div>
  105. <div class="col-md-6">
  106. <label for="">Precio de mayoreo</label>
  107. <input type="number" name="pmy" class="form-control" autocomplete="off">
  108. <br>
  109. <label for="">Existencia minima</label>
  110. <input type="number" name="stock_min" class="form-control" autocomplete="off">
  111. <br>
  112. </div>
  113. </div>
  114. <div class="row">
  115. <div class="col-md-6">
  116. <label for="">Ubicacion</label>
  117. <select name="ubicacion" id="" class="form-control">
  118. <option value="">Seleccione una opcion</option>
  119. <?php
  120. $con = $db->query("SELECT * FROM ubicaciones ORDER BY nombre");
  121. while ($row = mysqli_fetch_array($con)) {
  122. ?>
  123. <option value="<?php echo $row['id']; ?>"><?php echo $row['nombre']; ?></option>
  124. <?php
  125. }
  126. ?>
  127. </select>
  128. </div>
  129. </div>
  130. </div>
  131. <div class="tab-pane row" id="Efamily">
  132. <div class="col-md-6">
  133. <label for="">Producto (Unidad)</label>
  134. <input type="text" list="hijos" class="form-control" id="i-hijos" name="familia">
  135. <datalist id="hijos">
  136. <?php
  137. $con = $db->query("SELECT * FROM inventario");
  138. while ($row = mysqli_fetch_array($con)) {
  139. ?>
  140. <option value="<?php echo $row['id']; ?>"><?php echo $row['nombre']; ?></option>
  141. <?php
  142. }
  143. ?>
  144. </datalist>
  145. <br>
  146. <label for="">Unidades x paquete</label>
  147. <input type="number" class="form-control" name="unidades" id="unidades">
  148. <br>
  149. </div>
  150. </div>
  151. </div>
  152. </div>
  153. </div>
  154. <input type="text" name="funcion" value="edit" class="hidden">
  155. <input type="text" name="id" value="" class="hidden">
  156. <div class="modal-footer no-margin">
  157. <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
  158. <button type="submit" class="btn btn-info">Guardar</button>
  159. </div>
  160. </form>
  161. </div>
  162. </div>
  163. </div>
  164.  
  165. <script>
  166. $(document).ready(function(){
  167. //Cargar la tabla en el contenedor #main
  168. $('#main').load('tabla.php');
  169. })
  170.  
  171. function edit(id){
  172. //Obetenemos los datos del producto correspondientes al id recivido
  173. $.ajax({
  174. method: 'GET',
  175. url: 'pro.php',
  176. data: 'funcion=get_producto_data&id='+id
  177. }).done(function(e){
  178. //Los datos vienen en formato strign separados por (<->) convertimos todos los datos en un array
  179. var row = e.split('<->')
  180. //Asignamos los datos recividos al atributo placeholder de los input del formulario contenido en el modal Editar Producto
  181. $('#FEPro input[name=id]').val(row[0])
  182. $('#FEPro input[name=nombre]').attr('placeholder', row[1])
  183. $('#TitleEdit').html(row[1])
  184. $('#FEPro input[name=codigo]').attr('placeholder', row[2])
  185. $('#FEPro input[name=ref]').attr('placeholder', row[3])
  186. $('#FEPro input[name=cod_prov]').attr('placeholder', row[4])
  187. $('#FEPro input[name=costo]').attr('placeholder', '$'+cash(row[12],2,'.'))
  188. if(row[5]!=''){
  189. $('#FEPro select[name=marca] option[value='+row[5]+']').attr('selected', true)
  190. }
  191. if(row[6]!=''){
  192. $('#FEPro select[name=categoria] option[value='+row[6]+']').attr('selected', true)
  193. }
  194. if(row[7]!=''){
  195. $('#FEPro select[name=unidad] option[value='+row[7]+']').attr('selected', true)
  196. }
  197. $('#FEPro input[name=pv]').attr('placeholder', '$ '+cash(row[13],2,'.'))
  198. $('#FEPro input[name=stock]').attr('placeholder', row[8])
  199. $('#FEPro input[name=pmy]').attr('placeholder', '$ '+cash(row[14],2,'.'))
  200. $('#FEPro input[name=stock_min]').attr('placeholder', row[9])
  201. if(row[11]!=''){
  202. $('#FEPro select[name=ubicacion] option[value='+row[11]+']').attr('selected', true)
  203. }
  204. if(row[15]==1){
  205. $('#FEPro input[name=familia]').val(row[17])
  206. $('#FEPro input[name=unidades]').val(row[16])
  207. }else if(row[15]==2){
  208. $('#Efamily').html("<br><h2 class='text-center c-blue'>Este producto es un producto hijo</h2>")
  209. }
  210. //Abrimos el modal
  211. $('#EditP').modal('toggle')
  212. //Capturamos el evento sbmit del formulario dentro del modal
  213. $('#FEPro').submit(function(e){
  214. e.preventDefault()
  215. var c = $(this).serialize()
  216. //Enviamos los datos al servidor
  217. $.ajax({
  218. method: 'POST',
  219. url: 'pro.php',
  220. data: c
  221. }).done(function(e){
  222. //Si el servidor envia un mensaje lo mostramos como error, de lo contrario la operacion due satisfactoria
  223. if(e!=''){
  224. swal(
  225. 'Error',
  226. e,
  227. 'error'
  228. )
  229. }else{
  230. //Cerrramos el modal
  231. $('#EditP').modal('toggle')
  232. //Vaciamos los input del formulario
  233. $('#FEPro :input').val('')
  234. $('#FEPro input[name=funcion]').val('edit')
  235. swal({
  236. title: 'Listo',
  237. text: 'Producto actualizado con exito.',
  238. type: 'success',
  239. showCancelButton: false,
  240. confirmButtonText: 'OK'
  241. }).then(function(){
  242. //Cargamos la tabla para que se puedan visualizar los cambios
  243. CargarContenido('#main','tabla.php')
  244. })
  245. }
  246. })
  247. })
  248. })
  249. }
  250. </script>
Add Comment
Please, Sign In to add comment