rpm-mcarman 2 лет назад
Родитель
Сommit
cec352ce6c
7 измененных файлов: 1620 добавлений и 31 удалений
  1. +30
    -0
      app/api/DSpec/basedatasets.json
  2. +720
    -0
      app/api/DSpec/searchpn.json
  3. +259
    -0
      app/api/Parts/newpartbasedata.json
  4. +327
    -0
      public/dmxAppConnect/config.js
  5. +1
    -1
      views/layouts/main.ejs
  6. +1
    -1
      views/layouts/smain.ejs
  7. +282
    -29
      views/secure/dspec.ejs

+ 30
- 0
app/api/DSpec/basedatasets.json Просмотреть файл

@@ -546,5 +546,35 @@
}
],
"outputType": "object"
},
{
"name": "models",
"module": "api",
"action": "send",
"options": {
"url": "{{$_ENV.API_BASEURL+'models'}}"
},
"output": true,
"metaData": {
"apiUrl": {
"name": "API_BASEURL",
"type": "text"
}
}
},
{
"name": "engines",
"module": "api",
"action": "send",
"options": {
"url": "{{$_ENV.API_BASEURL+'engines'}}"
},
"output": true,
"metaData": {
"apiUrl": {
"name": "API_BASEURL",
"type": "text"
}
}
}
]

+ 720
- 0
app/api/DSpec/searchpn.json Просмотреть файл

@@ -3628,6 +3628,726 @@
}
],
"outputType": "object"
},
{
"name": "apps",
"module": "api",
"action": "send",
"options": {
"url": "{{$_ENV.API_BASEURL+'applications/pn/'+part.data.id}}",
"schema": [
{
"type": "array",
"name": "data",
"sub": [
{
"type": "object",
"name": "partnumber",
"sub": [
{
"type": "text",
"name": "weight"
},
{
"type": "object",
"name": "status",
"sub": [
{
"type": "number",
"name": "id"
}
]
},
{
"type": "number",
"name": "createuserid"
},
{
"type": "text",
"name": "file"
},
{
"type": "text",
"name": "updatedate"
},
{
"type": "number",
"name": "updateuserid"
},
{
"type": "text",
"name": "secondaryvendorpartnumber"
},
{
"type": "text",
"name": "primarycustomerpartnumber"
},
{
"type": "object",
"name": "secondaryvendor",
"sub": [
{
"type": "number",
"name": "id"
}
]
},
{
"type": "object",
"name": "replaces",
"sub": [
{
"type": "number",
"name": "id"
}
]
},
{
"type": "object",
"name": "replacedby",
"sub": [
{
"type": "number",
"name": "id"
}
]
},
{
"type": "object",
"name": "partcode",
"sub": [
{
"type": "number",
"name": "id"
}
]
},
{
"type": "text",
"name": "stdcost"
},
{
"type": "text",
"name": "listprice"
},
{
"type": "number",
"name": "id"
},
{
"type": "text",
"name": "ppap"
},
{
"type": "text",
"name": "number"
},
{
"type": "object",
"name": "primaryvendor",
"sub": [
{
"type": "number",
"name": "id"
}
]
},
{
"type": "text",
"name": "comments"
},
{
"type": "text",
"name": "createdate"
},
{
"type": "text",
"name": "primaryvendorpartnumber"
},
{
"type": "text",
"name": "description"
}
]
},
{
"type": "text",
"name": "transcapacity"
},
{
"type": "text",
"name": "hydcapacity"
},
{
"type": "text",
"name": "plumbing"
},
{
"type": "text",
"name": "createuserid"
},
{
"type": "text",
"name": "updatedate"
},
{
"type": "text",
"name": "voltage"
},
{
"type": "text",
"name": "startingserial"
},
{
"type": "number",
"name": "updateuserid"
},
{
"type": "text",
"name": "motor"
},
{
"type": "text",
"name": "arrangement"
},
{
"type": "text",
"name": "electric"
},
{
"type": "text",
"name": "type"
},
{
"type": "number",
"name": "id"
},
{
"type": "text",
"name": "serialprefix"
},
{
"type": "text",
"name": "endingserial"
},
{
"type": "boolean",
"name": "oe"
},
{
"type": "object",
"name": "model",
"sub": [
{
"type": "text",
"name": "updatedate"
},
{
"type": "object",
"name": "product",
"sub": [
{
"type": "text",
"name": "updatedate"
},
{
"type": "number",
"name": "id"
},
{
"type": "number",
"name": "updateuserid"
},
{
"type": "text",
"name": "createdate"
},
{
"type": "text",
"name": "description"
},
{
"type": "text",
"name": "name"
},
{
"type": "number",
"name": "createuserid"
}
]
},
{
"type": "object",
"name": "make",
"sub": [
{
"type": "text",
"name": "updatedate"
},
{
"type": "number",
"name": "id"
},
{
"type": "number",
"name": "updateuserid"
},
{
"type": "text",
"name": "createdate"
},
{
"type": "text",
"name": "description"
},
{
"type": "text",
"name": "name"
},
{
"type": "number",
"name": "createuserid"
}
]
},
{
"type": "number",
"name": "id"
},
{
"type": "number",
"name": "updateuserid"
},
{
"type": "text",
"name": "createdate"
},
{
"type": "text",
"name": "description"
},
{
"type": "text",
"name": "displacement"
},
{
"type": "text",
"name": "name"
},
{
"type": "number",
"name": "createuserid"
}
]
},
{
"type": "object",
"name": "engine",
"sub": [
{
"type": "text",
"name": "id"
}
]
},
{
"type": "text",
"name": "createdate"
},
{
"type": "text",
"name": "enginecapacity"
},
{
"type": "text",
"name": "description"
}
]
},
{
"type": "object",
"name": "headers",
"sub": [
{
"type": "text",
"name": "connection"
},
{
"type": "text",
"name": "content-length"
},
{
"type": "text",
"name": "content-type"
},
{
"type": "text",
"name": "date"
}
]
}
]
},
"output": true,
"meta": [
{
"type": "array",
"name": "data",
"sub": [
{
"type": "object",
"name": "partnumber",
"sub": [
{
"type": "text",
"name": "weight"
},
{
"type": "object",
"name": "status",
"sub": [
{
"type": "number",
"name": "id"
}
]
},
{
"type": "number",
"name": "createuserid"
},
{
"type": "text",
"name": "file"
},
{
"type": "text",
"name": "updatedate"
},
{
"type": "number",
"name": "updateuserid"
},
{
"type": "text",
"name": "secondaryvendorpartnumber"
},
{
"type": "text",
"name": "primarycustomerpartnumber"
},
{
"type": "object",
"name": "secondaryvendor",
"sub": [
{
"type": "number",
"name": "id"
}
]
},
{
"type": "object",
"name": "replaces",
"sub": [
{
"type": "number",
"name": "id"
}
]
},
{
"type": "object",
"name": "replacedby",
"sub": [
{
"type": "number",
"name": "id"
}
]
},
{
"type": "object",
"name": "partcode",
"sub": [
{
"type": "number",
"name": "id"
}
]
},
{
"type": "text",
"name": "stdcost"
},
{
"type": "text",
"name": "listprice"
},
{
"type": "number",
"name": "id"
},
{
"type": "text",
"name": "ppap"
},
{
"type": "text",
"name": "number"
},
{
"type": "object",
"name": "primaryvendor",
"sub": [
{
"type": "number",
"name": "id"
}
]
},
{
"type": "text",
"name": "comments"
},
{
"type": "text",
"name": "createdate"
},
{
"type": "text",
"name": "primaryvendorpartnumber"
},
{
"type": "text",
"name": "description"
}
]
},
{
"type": "text",
"name": "transcapacity"
},
{
"type": "text",
"name": "hydcapacity"
},
{
"type": "text",
"name": "plumbing"
},
{
"type": "text",
"name": "createuserid"
},
{
"type": "text",
"name": "updatedate"
},
{
"type": "text",
"name": "voltage"
},
{
"type": "text",
"name": "startingserial"
},
{
"type": "number",
"name": "updateuserid"
},
{
"type": "text",
"name": "motor"
},
{
"type": "text",
"name": "arrangement"
},
{
"type": "text",
"name": "electric"
},
{
"type": "text",
"name": "type"
},
{
"type": "number",
"name": "id"
},
{
"type": "text",
"name": "serialprefix"
},
{
"type": "text",
"name": "endingserial"
},
{
"type": "boolean",
"name": "oe"
},
{
"type": "object",
"name": "model",
"sub": [
{
"type": "text",
"name": "updatedate"
},
{
"type": "object",
"name": "product",
"sub": [
{
"type": "text",
"name": "updatedate"
},
{
"type": "number",
"name": "id"
},
{
"type": "number",
"name": "updateuserid"
},
{
"type": "text",
"name": "createdate"
},
{
"type": "text",
"name": "description"
},
{
"type": "text",
"name": "name"
},
{
"type": "number",
"name": "createuserid"
}
]
},
{
"type": "object",
"name": "make",
"sub": [
{
"type": "text",
"name": "updatedate"
},
{
"type": "number",
"name": "id"
},
{
"type": "number",
"name": "updateuserid"
},
{
"type": "text",
"name": "createdate"
},
{
"type": "text",
"name": "description"
},
{
"type": "text",
"name": "name"
},
{
"type": "number",
"name": "createuserid"
}
]
},
{
"type": "number",
"name": "id"
},
{
"type": "number",
"name": "updateuserid"
},
{
"type": "text",
"name": "createdate"
},
{
"type": "text",
"name": "description"
},
{
"type": "text",
"name": "displacement"
},
{
"type": "text",
"name": "name"
},
{
"type": "number",
"name": "createuserid"
}
]
},
{
"type": "object",
"name": "engine",
"sub": [
{
"type": "text",
"name": "id"
}
]
},
{
"type": "text",
"name": "createdate"
},
{
"type": "text",
"name": "enginecapacity"
},
{
"type": "text",
"name": "description"
}
]
},
{
"type": "object",
"name": "headers",
"sub": [
{
"type": "text",
"name": "connection"
},
{
"type": "text",
"name": "content-length"
},
{
"type": "text",
"name": "content-type"
},
{
"type": "text",
"name": "date"
}
]
}
],
"outputType": "object",
"metaData": {
"apiUrl": {
"name": "id",
"type": "number"
}
}
}
]
}


+ 259
- 0
app/api/Parts/newpartbasedata.json Просмотреть файл

@@ -613,5 +613,264 @@
}
],
"outputType": "object"
},
{
"name": "models",
"module": "api",
"action": "send",
"options": {
"url": "{{$_ENV.API_BASEURL+'models'}}",
"schema": [
{
"type": "key_array",
"name": "data",
"sub": [
{
"type": "text",
"name": "updatedate"
},
{
"type": "number",
"name": "id"
},
{
"type": "number",
"name": "updateuserid"
},
{
"type": "text",
"name": "createdate"
},
{
"type": "text",
"name": "description"
},
{
"type": "text",
"name": "name"
},
{
"type": "number",
"name": "createuserid"
}
]
},
{
"type": "object",
"name": "headers",
"sub": [
{
"type": "text",
"name": "connection"
},
{
"type": "text",
"name": "content-length"
},
{
"type": "text",
"name": "content-type"
},
{
"type": "text",
"name": "date"
}
]
}
]
},
"output": true,
"metaData": {
"apiUrl": {
"name": "API_BASEURL",
"type": "text"
}
},
"meta": [
{
"type": "key_array",
"name": "data",
"sub": [
{
"type": "text",
"name": "updatedate"
},
{
"type": "number",
"name": "id"
},
{
"type": "number",
"name": "updateuserid"
},
{
"type": "text",
"name": "createdate"
},
{
"type": "text",
"name": "description"
},
{
"type": "text",
"name": "name"
},
{
"type": "number",
"name": "createuserid"
}
]
},
{
"type": "object",
"name": "headers",
"sub": [
{
"type": "text",
"name": "connection"
},
{
"type": "text",
"name": "content-length"
},
{
"type": "text",
"name": "content-type"
},
{
"type": "text",
"name": "date"
}
]
}
],
"outputType": "object"
},
{
"name": "engines",
"module": "api",
"action": "send",
"options": {
"url": "{{$_ENV.API_BASEURL+'engines'}}",
"schema": [
{
"type": "array",
"name": "data",
"sub": [
{
"type": "text",
"name": "updatedate"
},
{
"type": "number",
"name": "id"
},
{
"type": "number",
"name": "updateuserid"
},
{
"type": "text",
"name": "createdate"
},
{
"type": "text",
"name": "description"
},
{
"type": "text",
"name": "displacement"
},
{
"type": "number",
"name": "createuserid"
}
]
},
{
"type": "object",
"name": "headers",
"sub": [
{
"type": "text",
"name": "connection"
},
{
"type": "text",
"name": "content-length"
},
{
"type": "text",
"name": "content-type"
},
{
"type": "text",
"name": "date"
}
]
}
]
},
"output": true,
"metaData": {},
"meta": [
{
"type": "array",
"name": "data",
"sub": [
{
"type": "text",
"name": "updatedate"
},
{
"type": "number",
"name": "id"
},
{
"type": "number",
"name": "updateuserid"
},
{
"type": "text",
"name": "createdate"
},
{
"type": "text",
"name": "description"
},
{
"type": "text",
"name": "displacement"
},
{
"type": "number",
"name": "createuserid"
}
]
},
{
"type": "object",
"name": "headers",
"sub": [
{
"type": "text",
"name": "connection"
},
{
"type": "text",
"name": "content-length"
},
{
"type": "text",
"name": "content-type"
},
{
"type": "text",
"name": "date"
}
]
}
],
"outputType": "object"
}
]

+ 327
- 0
public/dmxAppConnect/config.js Просмотреть файл

@@ -7448,6 +7448,333 @@ dmx.config({
}
],
"outputType": "array"
},
"tableRepeat5": {
"meta": [
{
"type": "object",
"name": "partnumber",
"sub": [
{
"type": "text",
"name": "weight"
},
{
"type": "object",
"name": "status",
"sub": [
{
"type": "number",
"name": "id"
}
]
},
{
"type": "number",
"name": "createuserid"
},
{
"type": "text",
"name": "file"
},
{
"type": "text",
"name": "updatedate"
},
{
"type": "number",
"name": "updateuserid"
},
{
"type": "text",
"name": "secondaryvendorpartnumber"
},
{
"type": "text",
"name": "primarycustomerpartnumber"
},
{
"type": "object",
"name": "secondaryvendor",
"sub": [
{
"type": "number",
"name": "id"
}
]
},
{
"type": "object",
"name": "replaces",
"sub": [
{
"type": "number",
"name": "id"
}
]
},
{
"type": "object",
"name": "replacedby",
"sub": [
{
"type": "number",
"name": "id"
}
]
},
{
"type": "object",
"name": "partcode",
"sub": [
{
"type": "number",
"name": "id"
}
]
},
{
"type": "text",
"name": "stdcost"
},
{
"type": "text",
"name": "listprice"
},
{
"type": "number",
"name": "id"
},
{
"type": "text",
"name": "ppap"
},
{
"type": "text",
"name": "number"
},
{
"type": "object",
"name": "primaryvendor",
"sub": [
{
"type": "number",
"name": "id"
}
]
},
{
"type": "text",
"name": "comments"
},
{
"type": "text",
"name": "createdate"
},
{
"type": "text",
"name": "primaryvendorpartnumber"
},
{
"type": "text",
"name": "description"
}
]
},
{
"type": "text",
"name": "transcapacity"
},
{
"type": "text",
"name": "hydcapacity"
},
{
"type": "text",
"name": "plumbing"
},
{
"type": "text",
"name": "createuserid"
},
{
"type": "text",
"name": "updatedate"
},
{
"type": "text",
"name": "voltage"
},
{
"type": "text",
"name": "startingserial"
},
{
"type": "number",
"name": "updateuserid"
},
{
"type": "text",
"name": "motor"
},
{
"type": "text",
"name": "arrangement"
},
{
"type": "text",
"name": "electric"
},
{
"type": "text",
"name": "type"
},
{
"type": "number",
"name": "id"
},
{
"type": "text",
"name": "serialprefix"
},
{
"type": "text",
"name": "endingserial"
},
{
"type": "boolean",
"name": "oe"
},
{
"type": "object",
"name": "model",
"sub": [
{
"type": "text",
"name": "updatedate"
},
{
"type": "object",
"name": "product",
"sub": [
{
"type": "text",
"name": "updatedate"
},
{
"type": "number",
"name": "id"
},
{
"type": "number",
"name": "updateuserid"
},
{
"type": "text",
"name": "createdate"
},
{
"type": "text",
"name": "description"
},
{
"type": "text",
"name": "name"
},
{
"type": "number",
"name": "createuserid"
}
]
},
{
"type": "object",
"name": "make",
"sub": [
{
"type": "text",
"name": "updatedate"
},
{
"type": "number",
"name": "id"
},
{
"type": "number",
"name": "updateuserid"
},
{
"type": "text",
"name": "createdate"
},
{
"type": "text",
"name": "description"
},
{
"type": "text",
"name": "name"
},
{
"type": "number",
"name": "createuserid"
}
]
},
{
"type": "number",
"name": "id"
},
{
"type": "number",
"name": "updateuserid"
},
{
"type": "text",
"name": "createdate"
},
{
"type": "text",
"name": "description"
},
{
"type": "text",
"name": "displacement"
},
{
"type": "text",
"name": "name"
},
{
"type": "number",
"name": "createuserid"
}
]
},
{
"type": "object",
"name": "engine",
"sub": [
{
"type": "text",
"name": "id"
}
]
},
{
"type": "text",
"name": "createdate"
},
{
"type": "text",
"name": "enginecapacity"
},
{
"type": "text",
"name": "description"
}
],
"outputType": "array"
}
},
"repeattest": {


+ 1
- 1
views/layouts/main.ejs Просмотреть файл

@@ -116,7 +116,7 @@
<div class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbar1_dropdown" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Account&nbsp;</a>
<div class="dropdown-menu" aria-labelledby="navbar1_dropdown">
<a class="dropdown-item" href="#" dmx-on:click="modal1.show()">Login</a>
<a class="dropdown-item" href="#" dmx-on:click="modal1.show();modal1.login1.inp_email.focus()">Login</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Account</a>
</div>


+ 1
- 1
views/layouts/smain.ejs Просмотреть файл

@@ -47,7 +47,7 @@
</head>

<body is="dmx-app" id="main">
<dmx-value id="var_ptsearch" dmx-on:updated="conn_search.load({})"></dmx-value>
<dmx-value id="var_ptsearch" dmx-on:updated="conn_search.load({},true)"></dmx-value>
<dmx-value id="var_partid"></dmx-value>
<dmx-value id="var_userinfo"></dmx-value>
<dmx-value id="pg_apiurl" dmx-bind:value="conn_urls.data.apiurl"></dmx-value>


+ 282
- 29
views/secure/dspec.ejs Просмотреть файл

@@ -1,7 +1,225 @@
<!-- Wappler include head-page="layouts/smain" fontawesome_5="cdn" bootstrap5="local" is="dmx-app" id="dspec" appConnect="local" components="{dmxStateManagement:{},dmxAutocomplete:{},dmxDatePicker:{},dmxBootstrap5Navigation:{},dmxFormatter:{}}" jquery_slim_35="cdn" moment_2="cdn" -->
<!-- Wappler include head-page="layouts/smain" fontawesome_5="cdn" bootstrap5="local" is="dmx-app" id="dspec" appConnect="local" components="{dmxStateManagement:{},dmxAutocomplete:{},dmxDatePicker:{},dmxBootstrap5Navigation:{},dmxFormatter:{},dmxBootstrap5Modal:{}}" jquery_slim_35="cdn" moment_2="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-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="conn_dspecinfo.data.dspec.data.id"></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="api_loadbombydspec.load({},true);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-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-value>

<div class="modal rounded rounded-3 border-dark" id="mdl_app" is="dmx-bs5-modal" tabindex="-1">
<div class="modal-dialog modal-dialog-centered modal-dialog-scrollable modal-xl" role="document">
<div class="modal-content">
<dmx-value id="var_appid" dmx-on:updated="inp_appmodel.setValue(conn_dspecinfo.data.apps.data.where(`id`, value, '==')[0].model.id);txt_appid.setValue(value);inp_appengine.setValue(conn_dspecinfo.data.apps.data.where(`id`, value, '==')[0].engine.id);inp_appdesc.setValue(conn_dspecinfo.data.apps.data.where(`id`, value, '==')[0].description)"></dmx-value>
<dmx-value id="var_newmodelid"></dmx-value>
<dmx-api-action id="api_postapplication" noload="true" dmx-bind:url="pg_apiurl.value.concat('applications/create')" url="http://vapor.prelub.com/api/applications/create" method="post" dmx-data:id="txt_appid.value.toNumber()" dmx-data:engineid="inp_appengine.value.toNumber()" dmx-data:modelid="inp_appmodel.value.toNumber()" dmx-data:oe="inp_chkoe.checked" dmx-data:partnumberid="conn_dspecinfo.data.part.data.id" dmx-data:description="inp_appdesc.value" dmx-data:arrangement="inp_arrangement.value" dmx-data:serialprefix="inp_serialprefix.value" dmx-data:motor="inp_motor.value" dmx-data:electric="inp_electric.value" dmx-data:plumbing="inp_plumbing.value" dmx-data:voltage="inp_voltage.value" dmx-data:type="inp_type.value" dmx-data:enginecapacity="inp_engcapacity.value" dmx-data:transcapacity="inp_transcapacity.value" dmx-data:hydcapacity="inp_hydcapacity.value" dmx-data:startingserial="inp_serialstart.value" dmx-data:endingserial="inp_serialend.value" data-type="json" dmx-on:success="mdl_app.hide();conn_dspecinfo.load({})"></dmx-api-action>
<div class="modal-header">
<h5 class="modal-title">Application</h5>&nbsp;&nbsp;
&nbsp;&nbsp;
<a href="#" class="btn btn-sm btn-secondary" id="anc_newmodel" dmx-on:click="mod_newmodel.show()">New Model</a>&nbsp;&nbsp;
<a href="#" class="btn btn-sm btn-secondary" id="anc_newengine" dmx-on:click="mod_newengine.show();mod_newengine.inp_newengineproduct.setValue(6);mod_newengine.inp_newengineproduct.disable(true)">New Engine</a><button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="modal bg-secondary rounded-pill border-dark rounded-1" id="mod_newmodel" is="dmx-bs5-modal" tabindex="-1">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<dmx-api-action id="api_postmodel" noload="true" url="http://vapor.prelub.com/api/v1.0/models/insert" method="post" data-type="json" dmx-data:name="inp_newmodelname.value" dmx-data:makeid="inp_newmodelmake.value.toNumber()" dmx-data:productid="inp_newmodelproduct.value.toNumber()" dmx-data:description="null" dmx-data:createuserid="-1" dmx-data:updateuserid="-1" dmx-on:success="api_models.load({});var_newmodelid.setValue(api_postmodel.data.id);inp_appmodel.setValue(api_postmodel.data.id);mod_newmodel.hide();mod_confirmnewmodel.hide()" dmx-bind:url="pg_apiurl.value.concat('models')" dmx-data:displacement="null"></dmx-api-action>
<div class="modal-header">
<h5 class="modal-title" id="mod_customer1">New Model</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="modal" id="mod_confirmnewmodel" is="dmx-bs5-modal" tabindex="-1">
<div class="modal-dialog modal-sm modal-dialog-centered" role="document">
<div class="modal-content">

<div class="modal-body">
<p class="lh-sm small text-center">Model already exists. Do you still wish to add it?</p>
</div>
<div class="modal-footer">
<button id="btn_yes" class="btn btn-success btn-sm" dmx-on:click="api_postmodel.load({})">YES</button>
<button id="btn_cancel" class="btn btn-danger btn-sm" dmx-on:click="mod_confirmnewmodel.hide()">NO</button>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col" style="display: flex; width: 100%;">
<label>Name:</label>
<input id="inp_newmodelname" name="newmodelname" type="text" class="form-control">
&nbsp;&nbsp;

</div>
</div>
<div class="row">
<div class="col" style="display: flex; width: 100%;">
<label>Product:</label>
<input id="inp_newmodelproduct" name="inpnewmodelproduct" type="text" class="form-control" is="dmx-autocomplete" dmx-bind:data="api_products.data" optiontext="name" optionvalue="id" optionsearch="name">&nbsp;&nbsp;

</div>
</div>
<div class="row">
<div class="col" style="display: flex; width: 100%;">
<label>Make:</label>
<input id="inp_newmodelmake" name="inpnewmodelmake" type="text" class="form-control" is="dmx-autocomplete" dmx-bind:data="api_makes.data" optiontext="name" optionvalue="id" optionsearch="name">&nbsp;&nbsp;

</div>
</div>

</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" dmx-on:click="run({condition:{if:`api_models.data.where(\`name\`, inp_newmodelname.value, \'==\')`,then:{steps:{run:{action:`mod_confirmnewmodel.show()`,outputType:'text'}}},else:{steps:{run:{action:`api_postmodel.load({})`,outputType:'text'}}},outputType:'boolean'}})">Save changes</button>
</div>
</div>
</div>
</div>
<div class="modal bg-secondary" id="mod_newengine" is="dmx-bs5-modal" tabindex="-1">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<dmx-api-action id="api_postenginemodel" noload="true" url="http://vapor.prelub.com/api/v1.0/models/insert" method="post" data-type="json" dmx-data:name="inp_newenginename.value" dmx-data:makeid="inp_newenginemake.value.toNumber()" dmx-data:productid="inp_newengineproduct.value.toNumber()" dmx-data:description="null" dmx-data:createuserid="-1" dmx-data:updateuserid="-1" dmx-on:success="api_models.load({});inp_appengine.setValue(api_postenginemodel.data.id);mod_confirmnewengine.hide();mod_newengine.hide()" dmx-bind:url="pg_apiurl.value.concat('models')" dmx-data:displacement="inp_newenginedisplacement.value"></dmx-api-action>
<div class="modal-header">
<h5 class="modal-title" id="mod_customer2">New Engine</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="modal" id="mod_confirmnewengine" is="dmx-bs5-modal" tabindex="-1">
<div class="modal-dialog modal-sm modal-dialog-centered" role="document">
<div class="modal-content">

<div class="modal-body">
<p class="lh-sm small text-center">Model already exists. Do you still wish to add it?</p>
</div>
<div class="modal-footer">
<button id="btn_yesengine" class="btn btn-success btn-sm" dmx-on:click="api_postenginemodel.load({})">YES</button>
<button id="btn_cancelengine" class="btn btn-danger btn-sm" dmx-on:click="mod_confirmnewengine.hide()">NO</button>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col" style="display: flex; width: 100%;">
<label>Displacement:</label>
<input id="inp_newenginename" name="newenginename" type="text" class="form-control">
&nbsp;&nbsp;

</div>
</div>
<div class="row">
<div class="col" style="display: flex; width: 100%;">
<label>Name:</label>
<input id="inp_newenginedisplacement" name="newenginedisplacement" type="text" class="form-control">
&nbsp;&nbsp;

</div>
</div>
<div class="row visually-hidden">
<div class="col" style="display: flex; width: 100%;">
<label>Product:</label>
<input id="inp_newengineproduct" name="inpnewengineproduct" type="text" class="form-control" is="dmx-autocomplete" dmx-bind:data="api_products.data" optiontext="name" optionvalue="id" optionsearch="name">&nbsp;&nbsp;

</div>
</div>
<div class="row">
<div class="col" style="display: flex; width: 100%;">
<label>Make:</label>
<input id="inp_newenginemake" name="inpnewenginemake" type="text" class="form-control" is="dmx-autocomplete" dmx-bind:data="api_makes.data" optiontext="name" optionvalue="id" optionsearch="name">&nbsp;&nbsp;

</div>
</div>

</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" dmx-on:click="run({condition:{if:`api_models.data.where(\`name\`, inp_newenginename.value, \'==\')`,then:{steps:{run:{action:`mod_confirmnewengine.show()`,outputType:'text'}}},else:{steps:{run:{action:`api_postenginemodel.load({})`,outputType:'text'}}},outputType:'boolean'}})">Save changes</button>
</div>
</div>
</div>
</div>
<input id="txt_appid" name="appid" type="hidden" class="form-control visually-hidden">
<div class="row align-items-center justify-content-start g-0" style="padding-top: 1px; padding-bottom: 1px; padding-left: 1px; padding-right: 1px;">
<div class="align-self-center col-4" style="display: flex; width: 100%;">

<label style="padding: 10px;">Model:</label>
<input id="inp_appmodel" name="inpappmodel" type="text" class="form-control" is="dmx-autocomplete" dmx-bind:data="conn_basedata.data.models.data" optiontext="name" optionvalue="id" optionsearch="name" style="padding: 10px;">
<label style="padding: 10px;">Engine:</label>
<input id="inp_appengine" name="inpappengine" type="text" class="form-control" is="dmx-autocomplete" dmx-bind:data="conn_basedata.data.engines.data" optiontext="displacement" optionvalue="id" optionsearch="displacement" style="padding: 10px;">

</div>
</div>
<div class="row align-items-center justify-content-start g-0" style="padding-top: 1px; padding-bottom: 1px; padding-left: 1px; padding-right: 1px;">
<div class="align-self-center col-4" style="display: flex; width: 100%;">
<label style="padding: 10px;">Description:</label>
<textarea id="inp_appdesc" class="form-control" name="appdesc" style="padding: 10px;"></textarea>
<label style="padding: 10px;">Arrangement:</label>
<input id="inp_arrangement" name="inparrangement" type="text" class="form-control form-control-sm" style="padding: 10px;">

</div>
</div>
<div class="row align-items-center justify-content-start g-0" style="padding-top: 1px; padding-bottom: 1px; padding-left: 1px; padding-right: 1px;">
<div class="align-self-center col-4" style="display: flex; width: 100%;">
<label>Serial Prefix:</label>
<input id="inp_serialprefix" name="inpserialprefix" type="text" class="form-control form-control-sm" style="width: 100px; padding: 10px;">
<label class="form-check-label" for="inpchkoe" style="padding: 10px;">OE:</label>
<div class="form-check" style="padding: 10px;">
<input class="form-check-input" type="checkbox" value="" id="inp_chkoe" name="inpchkoe">
</div>
<label style="padding: 10px;">Motor:</label>
<input id="inp_motor" name="inpmotor" type="text" class="form-control form-control-sm" style="width: 100px; padding: 10px;">
</div>
</div>
<div class="row align-items-center justify-content-start g-0" style="padding-top: 1px; padding-bottom: 1px; padding-left: 1px; padding-right: 1px;">
<div class="align-self-center col-4" style="display: flex; width: 100%;">
<label style="padding: 10px;">Electric:</label>
<input id="inp_electric" name="inpelectric" type="text" class="form-control form-control-sm" style="width: 100px; padding: 10px;">
<label style="padding: 10px;">Plumbing:</label>
<input id="inp_plumbing" name="inpplumbing" type="text" class="form-control form-control-sm" style="width: 100px; padding: 10px;">
<label style="padding: 10px;">Voltage:</label>
<input id="inp_voltage" name="inpvoltage" type="text" class="form-control form-control-sm" style="width: 100px; padding: 10px;">
</div>
</div>
<div class="row align-items-center justify-content-start g-0" style="padding-top: 1px; padding-bottom: 1px; padding-left: 1px; padding-right: 1px;">
<div class="align-self-center col-4" style="display: flex; width: 100%;">
<label style="padding: 10px;">Starting Serial:</label>
<input id="inp_serialstart" name="inpserialstart" type="text" class="form-control form-control-sm" style="width: 200px; padding: 10px;">
<label style="padding: 10px;">Ending Serial:</label>
<input id="inp_serialend" name="inpserialend" type="text" class="form-control form-control-sm" style="width: 200px; padding: 10px;">
<label style="padding: 10px;">type:</label>
<input id="inp_type" name="inptype" type="text" class="form-control form-control-sm" style="width: 200px; padding: 10px;">
</div>
</div>
<div class="row align-items-center justify-content-start g-0" style="padding-top: 1px; padding-bottom: 1px; padding-left: 1px; padding-right: 1px;">
<div class="align-self-center col-4" style="display: flex; width: 100%;">
<label style="padding: 10px;">Engine Capacity:</label>
<input id="inp_engcapacity" name="inpengcapacity" type="text" class="form-control form-control-sm" style="width: 200px; padding: 10px;">
<label style="padding: 10px;">Trans Capacity:</label>
<input id="inp_transcapacity" name="inptranscapacity" type="text" class="form-control form-control-sm" style="width: 200px; padding: 10px;">
<label style="padding: 10px;">Hyd Capacity:</label>
<input id="inp_hydcapacity" name="inphydcapacity" type="text" class="form-control form-control-sm" style="width: 200px; padding: 10px;">
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" dmx-on:click="var_appid.setValue(0);var_newmodelid.setValue(0);txt_appid.setValue();inp_appmodel.setValue(0);inp_appengine.setValue(0);inp_appdesc.setValue();inp_arrangement.setValue();inp_serialprefix.setValue();inp_chkoe.select(false);inp_motor.setValue();inp_electric.setValue();inp_plumbing.setValue();inp_voltage.setValue();inp_serialstart.setValue();inp_serialend.setValue();inp_type.setValue();inp_engcapacity.setValue();inp_transcapacity.setValue();inp_hydcapacity.setValue()">Close</button>
<button type="button" class="btn btn-primary" dmx-on:click="api_postapplication.load({});txt_appid.setValue();inp_appmodel.setValue(0);inp_appengine.setValue(0);inp_appdesc.setValue();inp_arrangement.setValue();inp_serialprefix.setValue();inp_chkoe.select(false);inp_motor.setValue();inp_electric.setValue();inp_plumbing.setValue();inp_voltage.setValue();inp_serialstart.setValue();inp_serialend.setValue();inp_type.setValue();inp_engcapacity.setValue();inp_transcapacity.setValue();inp_hydcapacity.setValue();mdl_app.hide()">Save changes</button>
</div>
</div>
</div>
</div>

<header>
<h1 class="mt-3 ms-4">Kit DSpec</h1>

@@ -138,25 +356,25 @@
</div>
<div class="row">
<div class="col">
<ul class="nav nav-tabs" id="navTabs1_tabs" role="tablist">
<ul class="nav nav-tabs mb-2" id="navTabs1_tabs" role="tablist">
<li class="nav-item">
<a class="nav-link active bg-primary text-white" id="navTabs1_1_tab" data-bs-toggle="tab" href="#" data-bs-target="#navTabs1_1" role="tab" aria-controls="navTabs1_1" aria-selected="true" dmx-on:click="var_viewlocationid.setValue(14)">Motor</a>
<a class="nav-link active bg-primary text-white me-2" id="navTabs1_1_tab" data-bs-toggle="tab" href="#" data-bs-target="#navTabs1_1" role="tab" aria-controls="navTabs1_1" aria-selected="true" dmx-on:click="var_viewlocationid.setValue(14)">Motor</a>
</li>
<li class="nav-item">
<a class="nav-link bg-primary text-white" id="navTabs1_2_tab" data-bs-toggle="tab" href="#" data-bs-target="#navTabs1_2" role="tab" aria-controls="navTabs1_2" aria-selected="false" dmx-on:click="var_viewlocationid.setValue(19)">Electrical</a>
<a class="nav-link bg-primary text-white me-2" id="navTabs1_2_tab" data-bs-toggle="tab" href="#" data-bs-target="#navTabs1_2" role="tab" aria-controls="navTabs1_2" aria-selected="false" dmx-on:click="var_viewlocationid.setValue(19)">Electrical</a>
</li>
<li class="nav-item">
<a class="nav-link text-white bg-primary" id="navTabs1_3_tab" data-bs-toggle="tab" href="#" data-bs-target="#navTabs1_3" role="tab" aria-controls="navTabs1_3" aria-selected="false" dmx-on:click="var_viewlocationid.setValue(17)">Plumbing</a>
<a class="nav-link text-white bg-primary me-2" id="navTabs1_3_tab" data-bs-toggle="tab" href="#" data-bs-target="#navTabs1_3" role="tab" aria-controls="navTabs1_3" aria-selected="false" dmx-on:click="var_viewlocationid.setValue(17)">Plumbing</a>
</li>
<li class="nav-item">
<a class="nav-link bg-primary text-white" id="navTabs1_4_tab" data-bs-toggle="tab" href="#" data-bs-target="#navTabs1_4" role="tab" aria-controls="navTabs1_4" aria-selected="false" dmx-on:click="var_viewlocationid.setValue(11)">Instructions</a>
<a class="nav-link bg-primary text-white me-2" id="navTabs1_4_tab" data-bs-toggle="tab" href="#" data-bs-target="#navTabs1_4" role="tab" aria-controls="navTabs1_4" aria-selected="false" dmx-on:click="var_viewlocationid.setValue(11)">Instructions</a>
</li>
<li class="nav-item">
<a class="nav-link text-white bg-primary" id="navTabs1_5_tab" data-bs-toggle="tab" href="#" data-bs-target="#navTabs1_5" role="tab" aria-controls="navTabs1_5" aria-selected="false" dmx-on:click="var_viewlocationid.setValue(21)">Applications</a>
<a class="nav-link text-white bg-primary me-2" id="navTabs1_5_tab" data-bs-toggle="tab" href="#" data-bs-target="#navTabs1_5" role="tab" aria-controls="navTabs1_5" aria-selected="false" dmx-on:click="var_viewlocationid.setValue(21)">Applications</a>
</li>
</ul>
<div class="tab-content" id="navTabs1_content" dmx-on:blur="frm_motor.reset()">
<div class="tab-pane fade show active" id="navTabs1_1" role="tabpanel">
<div class="tab-content" id="navTabs1_content">
<div class="tab-pane fade show active" id="navTabs1_1" role="tabpanel" dmx-on:blur="bom_partid.setValue('');bom_searchpart.setValue('');bom_partdescription.setValue('');bom_partold.setValue('');bom_partnew.setValue('');var_ptsearch.setValue('')">
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover table-sm">
<thead>
@@ -185,7 +403,7 @@
<input id="bom_partnew" name="bompartnew" type="text" class="form-control">
</th>
<th scope="row">
<button id="btn_newbomitem" class="btn btn-dark">Add</button>
<button id="btn_newbomitem" class="btn btn-dark" dmx-on:click="var_viewlocationid.setValue(14);var_bominsertold.setValue(bom_partold.value);var_bominsertnew.setValue(bom_partnew.value);var_bominsertpnid.setValue(bom_partid.value);api_bominsertitem.load({})">Add</button>
</th>
</tr>
</thead>
@@ -198,14 +416,14 @@
<td dmx-text="old"></td>
<td dmx-text="new"></td>
<td>
<button id="btn_deleteitem" class="btn btn-danger">X</button>
<button id="btn_deleteitem" class="btn btn-danger" dmx-on:click="var_partidtodelete.setValue(id)">X</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="tab-pane fade" id="navTabs1_2" role="tabpanel">
<div class="tab-pane fade" id="navTabs1_2" role="tabpanel" dmx-on:blur="bom_elecpartid.setValue('');bom_searchelecpart.setValue('');bom_partelecdescription.setValue('');bom_partelecnew.setValue('');bom_partelecold.setValue('');var_ptsearch.setValue('')">
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover table-sm">
<thead>
@@ -222,10 +440,10 @@
<th scope="row" class="visually-hidden">

</th>
<th scope="row" class="visually-hidden"><input id="bom_elecpartid" name="bomelecpartid" type="text" class="form-control"></th>
<th scope="row"><input id="bom_searchelecpart" name="bom_searchpart" type="text" class="form-control"></th>
<th scope="row" class="visually-hidden"><input id="bom_elecpartid" name="bomelecpartid" type="text" class="form-control" dmx-bind:value="conn_search.data.api.data.id"></th>
<th scope="row"><input id="bom_searchelecpart" name="bom_searchpart" type="text" class="form-control" dmx-on:blur="var_ptsearch.setValue(value)"></th>
<th scope="row">
<input id="bom_partelecdescription" name="bompartelecdescription" type="text" class="form-control">
<input id="bom_partelecdescription" name="bompartelecdescription" type="text" class="form-control" dmx-bind:value="conn_search.data.api.data.description">
</th>
<th scope="row">
<input id="bom_partelecold" name="bompartelecold" type="text" class="form-control">
@@ -234,7 +452,7 @@
<input id="bom_partelecnew" name="bompartelecnew" type="text" class="form-control">
</th>
<th scope="row">
<button id="btn_newbomelecitem" class="btn btn-dark">Add</button>
<button id="btn_newbomelecitem" class="btn btn-dark" dmx-on:click="var_viewlocationid.setValue(19);var_bominsertold.setValue(bom_partelecold.value);var_bominsertnew.setValue(bom_partelecnew.value);var_bominsertpnid.setValue(bom_elecpartid.value);api_bominsertitem.load({})">Add</button>
</th>
</tr>
</thead>
@@ -247,14 +465,14 @@
<td dmx-text="old"></td>
<td dmx-text="new"></td>
<td>
<button id="btn_deleteelecitem" class="btn btn-danger">X</button>
<button id="btn_deleteelecitem" class="btn btn-danger" dmx-on:click="var_partidtodelete.setValue(id)">X</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="tab-pane fade" id="navTabs1_3" role="tabpanel">
<div class="tab-pane fade" id="navTabs1_3" role="tabpanel" dmx-on:blur="bom_partplumbid.setValue('');bom_searchplumbpart.setValue('');bom_partplumbdescription.setValue('');bom_partplumbold.setValue('');bom_partplumbnew.setValue('');var_ptsearch.setValue('')">
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover table-sm">
<thead>
@@ -271,10 +489,10 @@
<th scope="row" class="visually-hidden">

</th>
<th scope="row" class="visually-hidden"><input id="bom_partplumbid" name="bompartplumbid" type="text" class="form-control"></th>
<th scope="row"><input id="bom_searchplumbpart" name="bom_searchplumbpart" type="text" class="form-control"></th>
<th scope="row" class="visually-hidden"><input id="bom_partplumbid" name="bompartplumbid" type="text" class="form-control" dmx-bind:value="conn_search.data.api.data.id"></th>
<th scope="row"><input id="bom_searchplumbpart" name="bom_searchplumbpart" type="text" class="form-control" dmx-on:blur="var_ptsearch.setValue(value)"></th>
<th scope="row">
<input id="bom_partplumbdescription" name="bompartplumbdescription" type="text" class="form-control">
<input id="bom_partplumbdescription" name="bompartplumbdescription" type="text" class="form-control" dmx-bind:value="conn_search.data.api.data.description">
</th>
<th scope="row">
<input id="bom_partplumbold" name="bompartplumbold" type="text" class="form-control">
@@ -283,7 +501,7 @@
<input id="bom_partplumbnew" name="bompartplumbnew" type="text" class="form-control">
</th>
<th scope="row">
<button id="btn_newbomplumbitem" class="btn btn-dark">Add</button>
<button id="btn_newbomplumbitem" class="btn btn-dark" dmx-on:click="var_viewlocationid.setValue(17);var_bominsertold.setValue(bom_partplumbold.value);var_bominsertnew.setValue(bom_partplumbnew.value);var_bominsertpnid.setValue(bom_partplumbid.value);api_bominsertitem.load({})">Add</button>
</th>
</tr>
</thead>
@@ -296,14 +514,14 @@
<td dmx-text="old"></td>
<td dmx-text="new"></td>
<td>
<button id="btn_deleteplumbitem" class="btn btn-danger">X</button>
<button id="btn_deleteplumbitem" class="btn btn-danger" dmx-on:click="var_partidtodelete.setValue(id)">X</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="tab-pane fade" id="navTabs1_4" role="tabpanel">
<div class="tab-pane fade" id="navTabs1_4" role="tabpanel" dmx-on:blur="bom_partinsid.setValue('');bom_searchinspart.setValue('');bom_partinsdescription.setValue('');bom_partinsold.setValue('');bom_partinsnew.setValue('');var_ptsearch.setValue('')">
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover table-sm">
<thead>
@@ -320,10 +538,10 @@
<th scope="row" class="visually-hidden">

</th>
<th scope="row" class="visually-hidden"><input id="bom_partinsid" name="bompartinsid" type="text" class="form-control"></th>
<th scope="row"><input id="bom_searchinspart" name="bom_searchinspart" type="text" class="form-control"></th>
<th scope="row" class="visually-hidden"><input id="bom_partinsid" name="bompartinsid" type="text" class="form-control" dmx-bind:value="conn_search.data.api.data.id"></th>
<th scope="row"><input id="bom_searchinspart" name="bom_searchinspart" type="text" class="form-control" dmx-on:blur="var_ptsearch.setValue(value)"></th>
<th scope="row">
<input id="bom_partinsdescription" name="bompartinsdescription" type="text" class="form-control">
<input id="bom_partinsdescription" name="bompartinsdescription" type="text" class="form-control" dmx-bind:value="conn_search.data.api.data.description">
</th>
<th scope="row">
<input id="bom_partinsold" name="bompartinsold" type="text" class="form-control">
@@ -332,7 +550,7 @@
<input id="bom_partinsnew" name="bompartinsnew" type="text" class="form-control">
</th>
<th scope="row">
<button id="btn_newbominsitem" class="btn btn-dark">Add</button>
<button id="btn_newbominsitem" class="btn btn-dark" dmx-on:click="var_viewlocationid.setValue(11);var_bominsertold.setValue(bom_partinsold.value);var_bominsertnew.setValue(bom_partinsnew.value);var_bominsertpnid.setValue(bom_partinsid.value);api_bominsertitem.load({})">Add</button>
</th>
</tr>
</thead>
@@ -345,7 +563,7 @@
<td dmx-text="old"></td>
<td dmx-text="new"></td>
<td>
<button id="btn_deleteinsitem" class="btn btn-danger">X</button>
<button id="btn_deleteinsitem" class="btn btn-danger" dmx-on:click="var_partidtodelete.setValue(id)">X</button>
</td>
</tr>
</tbody>
@@ -354,6 +572,41 @@
</div>
<div class="tab-pane fade" id="navTabs1_5" role="tabpanel">
<button id="btn_newapp" class="btn btn-secondary" dmx-on:click="mdl_app.show()">Add</button>
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th scope="row">Action</th>
<th>Serialprefix</th>
<th>Startingserial</th>
<th>Endingserial</th>
<th>Type</th>


<th>Model</th>
<th>Product</th>
<th>Description</th>
</tr>
</thead>
<tbody is="dmx-repeat" dmx-generator="bs5table" dmx-bind:repeat="conn_dspecinfo.data.apps.data" id="tableRepeat5">
<tr>
<td style="display: inline-block;">
<button id="btn_viewapp" class="btn btn-primary btn-sm" dmx-bind:value="id" dmx-on:click="mdl_app.var_appid.setValue(id);mdl_app.show()">View</button>
<button id="btn_deleteapp" class="btn btn-danger btn-sm" dmx-bind:value="id" dmx-on:click="var_deleteapp.setValue(value)">X</button>
</td>
<td dmx-text="serialprefix"></td>
<td dmx-text="startingserial"></td>
<td dmx-text="endingserial"></td>
<td dmx-text="type"></td>


<td dmx-text="model.name"></td>
<td dmx-text="model.product.name"></td>
<td dmx-text="description"></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>


Загрузка…
Отмена
Сохранить