|
- <!-- Wappler include head-page="layouts/smain" bootstrap5="local" is="dmx-app" id="dspec" appConnect="local" components="{dmxStateManagement:{},dmxAutocomplete:{},dmxDatePicker:{},dmxBootstrap5Navigation:{},dmxFormatter:{},dmxBootstrap5Modal:{}}" jquery_slim_35="cdn" moment_2="cdn" fontawesome_5pro="cdn" -->
- <dmx-query-manager id="query_partid"></dmx-query-manager>
- <dmx-serverconnect id="conn_dspecinfo" url="/api/DSpec/searchpn" dmx-param:pn="query_partid.data.id" dmx-on:success="pt_rev.setValue(conn_dspecinfo.data.dspec.data.rev)"></dmx-serverconnect>
- <dmx-serverconnect id="conn_copybomitems" url="/api/BOM/copyitems" dmx-param:olddspecid="conn_dspecinfo.data.dspec.data.id" dmx-param:newdspecid="var_dspecid.value" dmx-on:success="conn_dspecinfo.load({})" noload="true"></dmx-serverconnect>
-
- <dmx-serverconnect id="conn_copybomfromotherpart" url="/api/BOM/copyitems" dmx-param:olddspecid="var_bomdspecid.value" dmx-param:newdspecid="conn_dspecinfo.data.dspec.data.id" dmx-on:success="conn_dspecinfo.load({})" noload="true"></dmx-serverconnect>
-
- <dmx-serverconnect id="conn_revup" url="/api/DSpec/revup" dmx-param:id="conn_dspecinfo.data.dspec.data.id" dmx-param:userid="whoami.data.identity" dmx-on:success="conn_dspecinfo.load({pn: query_partid.data.id})" noload="true"></dmx-serverconnect>
-
- <dmx-api-action id="api_postdspec" noload="true" method="post" dmx-data:revisionlevel="pt_rev.value" dmx-data:partnumberid="conn_dspecinfo.data.part.data.id" dmx-data:statusidpn="conn_dspecinfo.data.part.data.status.id.toString()" dmx-data:partcodeid="conn_dspecinfo.data.part.data.partcode.id.toString()" dmx-data:parttypeid="conn_dspecinfo.data.part.data.partcode.parttype.id.toString()" dmx-data:statusiddspec="4" dmx-data:effectivedate="ds_effectivedate.value" dmx-data:reasonforchange="ds_reasonforchange.value" dmx-data:validation="ds_validation.value" dmx-data:note="ds_notes.value" dmx-bind:url="pg_apiurl.value.concat('designspecs/alt')" dmx-on:success="conn_dspecinfo.load({})" dmx-data:id="var_dspecid.value"></dmx-api-action>
-
- <dmx-api-action id="api_bominsertitem" noload="true" url="http://vapor.prelub.com/api/v1.0/boms/wapplerinsert" method="post" data-type="json" dmx-bind:url="pg_apiurl.value.concat('boms/wapplerinsert')" dmx-data:updatedate="NOW" dmx-data:viewlocationid="var_viewlocationid.value.toString()" dmx-data:old="var_bominsertold.value.toString()" dmx-data:createdate="NOW" dmx-data:designspecid="conn_dspecinfo.data.dspec.data.id.toString()" dmx-data:createuserid="whoami.data.identity.toString()" dmx-data:new="var_bominsertnew.value.toString()" dmx-data:updateuserid="whoami.data.identity.toString()" dmx-data:partnumberid="var_bominsertpnid.value.toString()" dmx-on:success="conn_dspecinfo.load({})"></dmx-api-action>
-
- <dmx-api-action id="api_deletethisitem" noload="true" method="delete" dmx-bind:url="pg_apiurl.value.concat('boms/'.concat(var_partidtodelete.value))" dmx-data:id=""></dmx-api-action>
- <dmx-serverconnect id="conn_deleteapp" url="/api/apps/deleteapp" dmx-on:success="conn_dspecinfo.load({pn: query_partid.data.id},true)" noload="true"></dmx-serverconnect>
-
-
- <dmx-value id="var_viewlocationid"></dmx-value>
- <dmx-value id="var_bominsertold"></dmx-value>
- <dmx-value id="var_bominsertnew"></dmx-value>
- <dmx-value id="var_bominsertpnid"></dmx-value>
- <dmx-value id="var_partidtodelete" dmx-on:updated="run([{run:{outputType:'text',action:`api_deletethisitem.load({})`}},{wait:{delay:1000}},{run:{outputType:'text',action:`conn_dspecinfo.load({pn: query_partid.data.id},true)`}}])"></dmx-value>
- <dmx-value id="var_deleteapp" dmx-on:updated="conn_deleteapp.load({id: value})"></dmx-value>
- <dmx-value id="var_revup" dmx-on:updated="run([{run:{outputType:'text',action:`var_dspecid.setValue(null)`}},{run:{outputType:'text',action:`api_postdspec.load({})`}},{run:{outputType:'text',action:`var_dspecid.setValue(api_postdspec.data.id)`}},{run:{outputType:'text',action:`conn_copybomitems.load({})`}}])"></dmx-value>
- <dmx-value id="var_dspecid" dmx-bind:value="conn_dspecinfo.data.dspec.data.id"></dmx-value>
-
- <div class="modal rounded rounded-3 border-dark" id="mdl_cpybom" is="dmx-bs5-modal" tabindex="-1">
- <div class="modal-dialog" role="document">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">Seach by Part#</h5>
- <button type="button" class="close" data-dismiss="modal" aria-label="Close" dmx-on:click="mdl_cpybom.hide()">
- <span aria-hidden="true">×</span>
- </button>
- </div>
- <div class="modal-body">
- <dmx-value id="var_bomdspecid" dmx-bind:value="conn_searchforbom.data.dspec.data.id"></dmx-value>
- <div class="container">
- <div class="row">
- <div class="col-9"><input id="txt_searchforbom" name="searchbom" type="text" class="form-control" placeholder="Part#"></div>
- <div class="col">
- <button id="btn_search" class="btn btn-primary" dmx-on:click="conn_search.load({input: txt_searchforbom.value});var_dspecid.setValue(conn_search.data.api.data.id)">
- <i class="fas fa-search" dmx-on:click="conn_searchforbom.load({pn: txt_searchforbom.value},true)"></i>
- </button>
- <button id="btn_copyfromotherpart" class="btn btn-primary" dmx-on:click="conn_copybomfromotherpart.load({olddspecid: var_bomdspecid.value, newdspecid: conn_dspecinfo.data.dspec.data.id});mdl_cpybom.hide();conn_dspecinfo.load({})">
- <i class="fas fa-copy" dmx-on:click="conn_copybomfromotherpart.load({});conn_dspecinfo.load({})"></i>
- </button>
- </div>
- </div>
- <div class="row">
- <div class="col">
- <div class="table-responsive">
- <table class="table table-striped table-bordered table-hover table-sm">
- <thead>
- <tr>
- <th class="visually-hidden">Id</th>
- <th class="visually-hidden">Partnumberid</th>
- <th class="visually-hidden">Tab</th>
- <th>Partnumber</th>
- <th>Description</th>
- <th>Old</th>
- <th>New</th>
- </tr>
- </thead>
- <tbody is="dmx-repeat" dmx-generator="bs4table" dmx-bind:repeat="conn_searchforbom.data.boms.data" id="tableRepeat1">
- <tr>
- <td dmx-text="id" class="visually-hidden"></td>
- <td dmx-text="partnumberid" class="visually-hidden"></td>
- <td dmx-text="tab" class="visually-hidden"></td>
- <td dmx-text="partnumber"></td>
- <td dmx-text="description"></td>
- <td dmx-text="old"></td>
- <td dmx-text="new"></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- </div>
- </div>
- </div>
-
- </div>
- </div>
- </div>
-
- <header>
- <h1 class="mt-3 ms-4 text-center">General DSpec</h1>
- </header>
-
- <div class="w-100 rounded-3 rounded border-secondary border-5 container-xxl text-start ms-auto me-auto pt-0 pb-0 ps-0 pe-0 bg-secondary-subtle">
- <h1 class="text-center">Part Info</h1>
- <div class="row">
- <div class="col">
- <div class="form-group mb-3">
- <label for="inp_createdby" class="form-label">Created By</label>
- <input type="text" class="form-control" id="inp_createdby" name="createby" aria-describedby="input1_help" placeholder="Enter some text" readonly="true" dmx-bind:value="conn_dspecinfo.data.creator.firstname+' '+conn_dspecinfo.data.creator.lastname">
- </div>
- </div>
- <div class="col">
- <div class="form-check">
- <input class="form-check-input" type="checkbox" value="" id="inp_approved" name="approved">
- <label class="form-check-label" for="inp_approved">Approved By</label>
- </div>
- <div class="form-check">
- <input class="form-check-input" type="checkbox" value="" id="inp_approved1" name="approved1">
- <label class="form-check-label" for="inp_approved1">FAQ By</label>
- </div>
- </div>
- </div>
- <div class="row w-100 pt-0 pb-0 ps-0 pe-0">
- <div class="col w-100 ms-1 pt-0 pb-0 pe-0">
- <div class="form-group mb-3 row">
-
- <label for="pt_obsolete" class="col-sm-2 col-form-label" style="width: fit-content;">Part #:</label>
- <div class="ms-2 col-sm-3">
- <input type="text" class="form-control" id="pt_pn" name="ptpn" aria-describedby="pn_help" placeholder="Part#" style="width: fit-content;" dmx-bind:value="conn_dspecinfo.data.part.data.number">
- </div>
- <label for="rev" class="col-sm-2 col-form-label" style="width: fit-content;">Rev:</label>
- <div class="ms-2 col-sm-6" style="display:inline-block;">
- <input type="text" class="form-control" id="pt_rev" name="ptrev" aria-describedby="input1_help" placeholder="Rev" style="width: fit-content; display:inline-block;" dmx-bind:value="conn_dspecinfo.data.dspec.data.rev">
- <button id="btn_newrev" class="btn btn-secondary btn-sm" style="display:inline-block;" dmx-show="conn_dspecinfo.data.dspec.data.id">New Rev</button>
- </div>
- </div>
- </div>
- </div>
- <div class="row w-100 pt-0 pb-0 ps-0 pe-0">
- <div class="col w-100 ms-1 pt-0 pb-0 pe-0 align-self-center">
- <div class="form-group mb-3 row">
-
- <label for="pt_obsolete" class="col-sm-2 col-form-label" style="width: fit-content;">Part Code:</label>
- <div class="ms-2 col-sm-3 align-self-center">
- <input type="text" class="form-control" id="pt_partcode" name="ptpartcode" aria-describedby="pn_help" placeholder="Part#" style="width: fit-content;" is="dmx-autocomplete" dmx-bind:data="conn_basedata.data.partcodes.data" optiontext="name" optionvalue="id" optionsearch="name" dmx-bind:value="conn_dspecinfo.data.part.data.partcode.id">
- </div>
- <div class="ms-2 col-sm-2 align-self-center">
- <div class="form-check">
- <input class="form-check-input" type="checkbox" value="" id="pt_obsolete" name="ptobsolete" dmx-bind:checked="(conn_dspecinfo.data.part.data.status.id == 2)">
- <label class="form-check-label" for="pt_obsolete" style="width: fit-content;">Obsolete</label>
- </div>
- </div>
- <label for="pt_replacedby" class="col-sm-2 col-form-label" style="width: fit-content;">Replaced By:</label>
- <div class="ms-2 col-sm-2 align-self-center">
- <div class="form-check">
- <input type="text" class="form-control" id="pt_replacedby" name="ptreplacedby" aria-describedby="ptreplacedby_help" placeholder="Replaced By" style="width: fit-content;" dmx-bind:value="conn_dspecinfo.data.part.data.replacedby.number">
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="row">
- <div class="col">
- <label for="pt_description" class="col-sm-2 col-form-label" style="width: fit-content;">Description</label>
- <textarea id="pt_description" class="form-control" name="ptdescription" dmx-bind:value="conn_dspecinfo.data.part.data.description"></textarea>
-
- </div>
- </div>
- <div class="row mb-3 pb-2">
- <div class="col">
- <label for="pt_comment" class="col-sm-2 col-form-label" style="width: fit-content;">Comments</label>
- <textarea id="pt_comment" class="form-control" name="ptcomment" dmx-bind:value="conn_dspecinfo.data.part.data.comments"></textarea>
-
- </div>
- </div>
- </div>
- <div class="w-100 rounded-3 rounded border-secondary border-5 bg-secondary-subtle container-xxl ms-auto me-auto pt-0 pb-0 ps-0 pe-0">
- <h1 class="text-center">Design Spec</h1>
- <div class="row w-100 pt-0 pb-0 ps-0 pe-0">
- <div class="col w-100 ms-1 pt-0 pb-0 pe-0">
- <div class="form-group mb-3 row" style="float:left;">
-
- <label for="pt_obsolete1" class="col-sm-2 col-form-label" style="width: fit-content; float: left;">Effective Date:</label>
- <div class="ms-2 col-sm-2">
- <input type="text" class="form-control" id="ds_effectivedate" name="dseffectivedate" aria-describedby="pn_help" style="width: 150px; float: left;" is="dmx-date-picker" placeholder="mm/dd/yyyy" dmx-bind:value="conn_dspecinfo.data.api.data.effectivedate.toDate()">
- </div>
- <label for="ds_workinstruction" class="col-sm-2 col-form-label" style="width: fit-content; float: left;">Work Instruction:</label>
- <div class="ms-2 col-sm-2" style="display:inline-block;">
- <input type="text" class="form-control" id="ds_workinstruction" name="dsworkinstruction" aria-describedby="input1_help" style="width: 150px; display:inline-block; float: left;" dmx-bind:value="conn_dspecinfo.data.api.data.workinstruction">
- </div>
- <label for="ds_application" class="col-sm-2 col-form-label" style="width: fit-content; float: left;">Application:</label>
- <div class="ms-2 col-sm-2" style="display:inline-block;">
- <input type="text" class="form-control" id="ds_application" name="dsapplication" style="width: fit-content; display:inline-block; float: left;" dmx-bind:value="conn_dspecinfo.data.api.data.application">
- </div>
- </div>
- </div>
- </div>
- <div class="row">
- <div class="col">
- <label for="ds_reasonforchange" class="col-sm-2 col-form-label" style="width: fit-content;">Reason for change</label>
- <textarea id="ds_reasonforchange" class="form-control" name="dsreasonforchange" dmx-bind:value="conn_dspecinfo.data.api.data.reasonforchange"></textarea>
-
- </div>
- </div>
- <div class="row mb-3 pb-2">
- <div class="col">
- <label for="ds_validation" class="col-sm-2 col-form-label" style="width: fit-content;">Validation</label>
- <textarea id="ds_validation" class="form-control" name="dsvalidation" dmx-bind:value="conn_dspecinfo.data.api.data.validation"></textarea>
-
- </div>
- </div>
- <div class="row mb-3 pb-2">
- <div class="col">
- <label for="ds_notes" class="col-sm-2 col-form-label" style="width: fit-content;">Notes</label>
- <textarea id="ds_notes" class="form-control" name="dsnotes" dmx-bind:value="conn_dspecinfo.data.api.data.note"></textarea>
-
- </div>
- </div>
- <div class="row pb-2">
- <div class="col align-self-center text-end">
- <button id="btn_savedspec" class="btn btn-success" dmx-on:click="api_postdspec.load({})">Save DSPEC</button>
- </div>
- </div>
- </div>
- <div class="container-xxl bg-secondary-subtle mt-3 mb-4 ms-auto me-auto pb-3 ps-0 pe-0">
- <h1 class="text-center">BOMS</h1>
- <div class="row">
- <div class="col">
- <button id="btn_copybom" class="btn btn-secondary shadow-lg mt-2 mb-2" dmx-on:click="mdl_cpybom.show()">
- <i class="fas fa-copy"></i></button>
- </div>
- </div>
- <div class="row">
- <div class="col">
- <div class="table-responsive">
- <table class="table table-striped table-bordered table-hover table-sm">
- <thead>
- <tr>
- <th class="visually-hidden">Id</th>
- <th class="visually-hidden">Partnumberid</th>
- <th>Part #</th>
- <th>Description</th>
- <th>Old</th>
- <th>New</th>
- <th>Action</th>
- </tr>
- <tr>
- <th scope="row" class="visually-hidden">
-
- </th>
- <th scope="row" class="visually-hidden"><input id="bom_partid" name="bompartid" type="text" class="form-control" dmx-bind:value="conn_search.data.api.data.id"></th>
- <th scope="row"><input id="bom_searchpart" name="bom_searchpart" type="text" dmx-on:blur="var_ptsearch.setValue(value)" class="form-control"></th>
- <th scope="row">
- <input id="bom_partdescription" name="bompartdescription" type="text" class="form-control" dmx-bind:value="conn_search.data.api.data.description">
- </th>
- <th scope="row">
- <input id="bom_partold" name="bompartold" type="text" class="form-control">
- </th>
- <th scope="row">
- <input id="bom_partnew" name="bompartnew" type="text" class="form-control">
- </th>
- <th scope="row">
- <button id="btn_newbomitem" class="btn btn-dark" dmx-on:click="var_viewlocationid.setValue(0);var_bominsertold.setValue(bom_partold.value);var_bominsertnew.setValue(bom_partnew.value);var_bominsertpnid.setValue(bom_partid.value);api_bominsertitem.load({})">+</button>
- </th>
- </tr>
- </thead>
- <tbody is="dmx-repeat" dmx-generator="bs5table" dmx-bind:repeat="conn_dspecinfo.data.boms.data" id="tablegeneral">
- <tr>
- <td dmx-text="id" class="visually-hidden"></td>
- <td dmx-text="partnumberid" class="visually-hidden"></td>
- <td dmx-text="partnumber"></td>
- <td dmx-text="description"></td>
- <td dmx-text="old"></td>
- <td dmx-text="new"></td>
- <td>
- <button id="btn_deleteitem" class="btn btn-danger" dmx-on:click="var_partidtodelete.setValue(id)">
- <i class="fas fa-trash-alt"></i>X</button>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- </div>
- </div>
- <meta name="ac:route" content="/dspecg">
|