- La Città non si vede se non l'ho aggiunta a mano... occorre mandare anche la descrizione...

(remote_field)
This commit is contained in:
paoloar77
2022-02-03 10:28:21 +01:00
parent 124cb5cc64
commit 45a771fab2
4 changed files with 51 additions and 0 deletions

View File

@@ -91,6 +91,7 @@
optval="_id" optlab="label"
:useinput="false"
:col="col"
:row="row"
:options="tools.SelectHours">
</CMySelect>
</div>
@@ -159,6 +160,7 @@
<div v-if="isInModif" class="justify-center q-gutter-sm clgutter q-mt-sm">
<CMySelect
:col="col"
:row="row"
:label="col.label"
v-model:value="myvalue"
@update:value="changevalRec"
@@ -178,6 +180,7 @@
<div v-if="isInModif" class="justify-center q-gutter-sm clgutter q-mt-sm">
<CMySelect
:col="col"
:row="row"
:label="col.label"
v-model:value="myvalue"
@update:value="changevalRec"
@@ -252,6 +255,7 @@
<div v-if="isInModif">
<CMySelect
:col="col"
:row="row"
:multiple="true"
:withToggle="true"
:label="col.label"
@@ -318,6 +322,7 @@
<div v-if="isInModif">
<CMySelect
:col="col"
:row="row"
:label="col.label"
v-model:value="myvalue"
:pickup="col.fieldtype === costanti.FieldType.select_by_server"
@@ -348,6 +353,7 @@
<div v-else-if="col.fieldtype === costanti.FieldType.multiselect_by_server">
<CMySelect
:col="col"
:row="row"
:multiselect_by_server="true"
:label="col.label"
v-model:arrvalue="myvalue"
@@ -372,6 +378,7 @@
<div v-if="isInModif">
<CMySelect
:col="col"
:row="row"
:label="col.label"
v-model:value="myvalue"
@update:value="changevalRec"
@@ -534,6 +541,7 @@
<div v-if="isFieldDb()">
<CMySelect
:col="col"
:row="row"
label="Ore" v-model:value="myvalue"
optval="value" optlab="label"
:dense="false"
@@ -556,6 +564,7 @@
v-else-if="(col.fieldtype === costanti.FieldType.select) || (col.fieldtype === costanti.FieldType.select_by_server)">
<CMySelect
:col="col"
:row="row"
:label="col.label"
v-model:value="scope.value"
:pickup="col.fieldtype === costanti.FieldType.select_by_server"
@@ -573,6 +582,7 @@
<div v-else-if="col.fieldtype === costanti.FieldType.multiselect_by_server">
<CMySelect
:col="col"
:row="row"
:multiselect_by_server="true"
:label="col.label"
v-model:arrvalue="scope.value"
@@ -628,6 +638,7 @@
<div class="justify-center q-gutter-sm clgutter q-mt-sm">
<CMySelect
:col="col"
:row="row"
:label="col.label"
v-model:value="scope.value"
@update:value="changevalRec"
@@ -647,6 +658,7 @@
<div class="justify-center q-gutter-sm clgutter q-mt-sm">
<CMySelect
:col="col"
:row="row"
:label="col.label"
v-model:value="scope.value"
@update:value="changevalRec"
@@ -672,6 +684,7 @@
<div v-else-if="col.fieldtype === costanti.FieldType.star5">
<CMySelect
:col="col"
:row="row"
:label="col.label"
v-model:value="scope.value"
:optval="fieldsTable.getKeyByTable(col.jointable)"

View File

@@ -44,6 +44,13 @@ export default defineComponent({
required: false,
default: 0
},
row: {
type: Object,
required: false,
default: () => {
return {}
},
},
col: {
type: Object as PropType<IColGridTable>,
required: false,
@@ -265,6 +272,28 @@ export default defineComponent({
}
}
// Check if exist other array:
if (props.col) {
if (props.col.remote_table && props.col.remote_key && props.col.remote_field) {
try {
const myarrremote = props.row[props.col.remote_table]
for (const myrec of myarrremote) {
let myidkey = myrec[props.col.remote_key]
if (!arrtempOpt.value.includes(myidkey)){
let myobj: any = {}
myobj[props.col.remote_key] = myidkey
myobj[props.col.remote_field] = myrec[props.col.remote_field]
arrtempOpt.value.push(myobj)
}
}
}catch (e){}
}
}
myarrvalue.value = []
for (const val of props.arrvalue) {
rec = arrtempOpt.value.find((myrec: any) => val === (myrec[`${props.optval}`]))