|
|
|
|
@ -277,8 +277,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
row[info.name].push({
|
|
|
|
|
response: response.data.data,
|
|
|
|
|
name: response.data.data.original_name,
|
|
|
|
|
url: response.data.data.url,
|
|
|
|
|
TYPE_FILE: 1
|
|
|
|
|
url: response.data.data.url
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
this.$message.error("上传失败")
|
|
|
|
|
@ -316,22 +315,13 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
file.response = file.response.data;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
this.form[info.name] = fileList.map(i => ({
|
|
|
|
|
...i,
|
|
|
|
|
TYPE_FILE: 1
|
|
|
|
|
}));
|
|
|
|
|
this.form[info.name] = fileList
|
|
|
|
|
},
|
|
|
|
|
onRemove: (file, fileList) => {
|
|
|
|
|
this.form[info.name] = fileList.map(i => ({
|
|
|
|
|
...i,
|
|
|
|
|
TYPE_FILE: 1
|
|
|
|
|
}));
|
|
|
|
|
this.form[info.name] = fileList
|
|
|
|
|
},
|
|
|
|
|
onError: (err, file, fileList) => {
|
|
|
|
|
this.form[info.name] = fileList.map(i => ({
|
|
|
|
|
...i,
|
|
|
|
|
TYPE_FILE: 1
|
|
|
|
|
}));
|
|
|
|
|
this.form[info.name] = fileList
|
|
|
|
|
this.$message({
|
|
|
|
|
type: "warning",
|
|
|
|
|
message: err,
|
|
|
|
|
@ -905,21 +895,21 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
},
|
|
|
|
|
[formItem,(() => {
|
|
|
|
|
if (info.is_sign) {
|
|
|
|
|
let log = this.logs.find(log => log.node?.fields?.findIndex(field => field?.field?.name === info.name) !== -1)
|
|
|
|
|
if (log) {
|
|
|
|
|
let log = this.logs.find(log => log.node?.fields?.findIndex(field => field?.field?.name === info.name) !== -1) && (row ? row[info.name] : this.form[info.name])
|
|
|
|
|
if (log && log.user) {
|
|
|
|
|
return h('div',[
|
|
|
|
|
h('el-image',{
|
|
|
|
|
style: {
|
|
|
|
|
'max-height': '80px'
|
|
|
|
|
},
|
|
|
|
|
props: {
|
|
|
|
|
src: log.user.sign_file?.url,
|
|
|
|
|
src: log.user?.sign_file?.url,
|
|
|
|
|
fit: 'contain',
|
|
|
|
|
alt: log.user.sign_id
|
|
|
|
|
alt: log.user?.sign_id
|
|
|
|
|
},
|
|
|
|
|
attrs: {
|
|
|
|
|
src: log.user.sign_file?.url,
|
|
|
|
|
alt: log.user.sign_id
|
|
|
|
|
src: log.user?.sign_file?.url,
|
|
|
|
|
alt: log.user?.sign_id
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
])
|
|
|
|
|
@ -930,11 +920,6 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (device === "mobile") {
|
|
|
|
|
let findValue = options?.find((i) =>
|
|
|
|
|
typeof i === "object"
|
|
|
|
|
? i.id === (row ? row[info.name] : this.form[info.name])
|
|
|
|
|
: i === (row ? row[info.name] : this.form[info.name])
|
|
|
|
|
);
|
|
|
|
|
if (info._writeable || pWrite) {
|
|
|
|
|
switch (info.type) {
|
|
|
|
|
case "text":
|
|
|
|
|
@ -1024,13 +1009,18 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
});
|
|
|
|
|
break;
|
|
|
|
|
case "select":
|
|
|
|
|
let findSelect = options?.find((i) =>
|
|
|
|
|
typeof i === "object"
|
|
|
|
|
? i.id === (row ? row[info.name] : this.form[info.name])
|
|
|
|
|
: i === (row ? row[info.name] : this.form[info.name])
|
|
|
|
|
);
|
|
|
|
|
formItem = h("van-field", {
|
|
|
|
|
props: {
|
|
|
|
|
readonly: true,
|
|
|
|
|
clickable: true,
|
|
|
|
|
name: info.name,
|
|
|
|
|
label: info.label,
|
|
|
|
|
value: typeof findValue === "object" ? findValue.name : findValue,
|
|
|
|
|
value: typeof findSelect === "object" ? findSelect.name : findSelect,
|
|
|
|
|
clearable: true,
|
|
|
|
|
placeholder: info.help_text,
|
|
|
|
|
},
|
|
|
|
|
@ -1045,13 +1035,22 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
});
|
|
|
|
|
break;
|
|
|
|
|
case "choice":
|
|
|
|
|
let findChoice = info.multiple ? options?.filter((i) =>
|
|
|
|
|
typeof i === "object"
|
|
|
|
|
? (row ? row[info.name].indexOf(i.id) !== -1 : this.form[info.name].indexOf(i.id) !== -1)
|
|
|
|
|
: i === (row ? row[info.name] : this.form[info.name])
|
|
|
|
|
) : options?.find((i) =>
|
|
|
|
|
typeof i === "object"
|
|
|
|
|
? i.id === (row ? row[info.name] : this.form[info.name])
|
|
|
|
|
: i === (row ? row[info.name] : this.form[info.name])
|
|
|
|
|
);
|
|
|
|
|
formItem = h("van-field", {
|
|
|
|
|
props: {
|
|
|
|
|
readonly: true,
|
|
|
|
|
clickable: true,
|
|
|
|
|
name: info.name,
|
|
|
|
|
label: info.label,
|
|
|
|
|
value: typeof findValue === "object" ? findValue.name : findValue,
|
|
|
|
|
value: (findChoice instanceof Array) ? (findChoice.map(i => typeof i === "object" ? i.name : i).toString()) : (typeof findChoice === "object" ? findChoice.name : findChoice),
|
|
|
|
|
clearable: true,
|
|
|
|
|
placeholder: info.help_text,
|
|
|
|
|
},
|
|
|
|
|
@ -1190,13 +1189,18 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
])
|
|
|
|
|
break;
|
|
|
|
|
case 'relation-flow':
|
|
|
|
|
let findFlow = options?.find((i) =>
|
|
|
|
|
typeof i === "object"
|
|
|
|
|
? i.id === (row ? row[info.name] : this.form[info.name])
|
|
|
|
|
: i === (row ? row[info.name] : this.form[info.name])
|
|
|
|
|
);
|
|
|
|
|
formItem = h("van-field", {
|
|
|
|
|
props: {
|
|
|
|
|
readonly: true,
|
|
|
|
|
clickable: true,
|
|
|
|
|
name: info.name,
|
|
|
|
|
label: info.label,
|
|
|
|
|
value: typeof findValue === "object" ? (findValue.name || findValue.title) : findValue,
|
|
|
|
|
value: typeof findFlow === "object" ? (findFlow.name || findFlow.title) : findFlow,
|
|
|
|
|
clearable: true,
|
|
|
|
|
placeholder: info.help_text,
|
|
|
|
|
},
|
|
|
|
|
@ -1327,7 +1331,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
);
|
|
|
|
|
break;
|
|
|
|
|
case "select":
|
|
|
|
|
let findValue = options.find((i) =>
|
|
|
|
|
let findSelect = options.find((i) =>
|
|
|
|
|
typeof i === "object"
|
|
|
|
|
? i.id === this.form[info.name]
|
|
|
|
|
: i === this.form[info.name]
|
|
|
|
|
@ -1340,12 +1344,32 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
},
|
|
|
|
|
props: {
|
|
|
|
|
title: info.label,
|
|
|
|
|
value: typeof findValue === "object" ? findValue.name : findValue
|
|
|
|
|
value: typeof findSelect === "object" ? findSelect.name : findSelect
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
break;
|
|
|
|
|
case 'choice':
|
|
|
|
|
let findChoice = options.find((i) =>
|
|
|
|
|
typeof i === "object"
|
|
|
|
|
? i.id === this.form[info.name]
|
|
|
|
|
: i === this.form[info.name]
|
|
|
|
|
);
|
|
|
|
|
formItem = h(
|
|
|
|
|
"van-cell",
|
|
|
|
|
{
|
|
|
|
|
attrs: {
|
|
|
|
|
for: info.name
|
|
|
|
|
},
|
|
|
|
|
props: {
|
|
|
|
|
title: info.label,
|
|
|
|
|
value: typeof findChoice === "object" ? findChoice.name : findChoice
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
break;
|
|
|
|
|
case 'file':
|
|
|
|
|
let files = (row ? row[info.name] : this.form[info.name])
|
|
|
|
|
formItem = h(
|
|
|
|
|
"van-cell",
|
|
|
|
|
{
|
|
|
|
|
@ -1356,12 +1380,11 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
title: info.label,
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
(row ? row[info.name] : this.form[info.name]).map(file => h("div", {}, [
|
|
|
|
|
((files && files !== 'null' && files !== 'undefined') ? files : [])?.map(file => h("div", {}, [
|
|
|
|
|
h(
|
|
|
|
|
"a",
|
|
|
|
|
{
|
|
|
|
|
attrs: {
|
|
|
|
|
href: file.url,
|
|
|
|
|
download: file.name,
|
|
|
|
|
},
|
|
|
|
|
class: {
|
|
|
|
|
@ -1370,6 +1393,11 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
style: {
|
|
|
|
|
padding: "0 4px",
|
|
|
|
|
},
|
|
|
|
|
on: {
|
|
|
|
|
click:_ => {
|
|
|
|
|
this.$bus.$emit('online-file', file.url)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
file.name
|
|
|
|
|
),
|
|
|
|
|
@ -1386,7 +1414,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
}),
|
|
|
|
|
h(
|
|
|
|
|
"div",
|
|
|
|
|
this.form[info.name].map((sForm, sIndex) =>
|
|
|
|
|
this.form[info.name]?.map((sForm, sIndex) =>
|
|
|
|
|
h(
|
|
|
|
|
"van-cell-group",
|
|
|
|
|
{
|
|
|
|
|
|