master
xy 3 years ago
parent d5ef591186
commit 669aa8cc11

@ -464,44 +464,41 @@ export default {
// })
// }
// this.form = res.fields
this.table = res.fields
this.table = this.form
?.filter((i) => i.list_show)
.map((i) => {
let linkOb = {};
if (i.parameter_id) {
linkOb.customFn = (row) => {
return <span>{row[i.link_with_name]?.value}</span>;
};
}
if (i.link_table_name) {
if (i.link_relation === "hasOne") {
linkOb.customFn = (row) => {
if (i._relations) {
let { link_relation, foreign_key, link_with_name } = i._relations
if (link_relation === 'newHasOne' || link_relation === 'hasOne') {
linkOb.customFn = row => {
if (i.edit_input === "file") {
return (
<a
download={row[i.link_with_name]?.original_name}
href={row[i.link_with_name]?.url}
download={row[link_with_name]?.original_name}
href={row[link_with_name]?.url}
>
{row[i.link_with_name]?.original_name}
{row[link_with_name]?.original_name}
</a>
);
} else {
return (
<span>
{row[i.link_with_name]?.name ||
row[i.link_with_name]?.no ||
row[i.link_with_name]?.value}
{row[link_with_name]?.name ||
row[link_with_name]?.no ||
row[link_with_name]?.value}
</span>
);
}
};
}
}
if (i.link_relation === "hasMany") {
if (link_relation === "hasMany" || link_relation === 'newHasMany') {
linkOb.customFn = (row) => {
return (
<div>
{row[i.link_with_name]?.map((o) => (
{row[link_with_name]?.map((o) => (
<span>{o?.name || o?.no || o?.value}</span>
))}
</div>

@ -23,6 +23,36 @@
placeholder="请输入帮助文字"
></el-input>
</el-form-item>
<el-form-item prop="select_item" label="下拉框选项">
<div class="select-item">
<div class="select-item__header">
<span></span>
<span></span>
</div>
<div class="select-item__body" v-for="(i, index) in selectItem">
<div><el-input v-model="i.key" size="mini"></el-input></div>
<div><el-input v-model="i.value" size="mini"></el-input></div>
<div>
<el-button
type="danger"
size="mini"
circle
icon="el-icon-delete"
@click="selectItem.splice(index, 1)"
></el-button>
</div>
</div>
<el-button
type="primary"
size="mini"
circle
icon="el-icon-plus"
@click="selectItem.push({ key: '', value: '' })"
></el-button>
</div>
</el-form-item>
<el-form-item prop="validation" label="校验规则">
<el-select
v-model="selectedForm.validation"
@ -64,7 +94,10 @@
style="width: 100%"
>
<el-option
v-for="item in [{ value: 'left',label: '左' }, { value: 'right',label: '右' }]"
v-for="item in [
{ value: 'left', label: '左' },
{ value: 'right', label: '右' },
]"
:label="item.label"
:value="item.value"
></el-option>
@ -140,7 +173,6 @@
<script>
import { index as formIndex, realTableIndex } from "@/api/system/customForm";
import { listparameter } from "@/api/system/dictionary";
import { translate } from "@/api/system/customFormField";
import { debounce } from "@/utils";
@ -164,6 +196,7 @@ export default {
],
},
selectItem: [], //
parameters: [], //
forms: [], //
};
@ -184,11 +217,20 @@ export default {
async getForms() {
const resReal = await realTableIndex();
const res = await formIndex({ page: 1, page_size: 999 });
this.forms = [...res.data,...resReal.map(i => { return { name: i,table_name: i } })];
this.forms = [
...res.data,
...resReal.map((i) => {
return { name: i, table_name: i };
}),
];
},
saveField() {
this.selectItem.forEach(i => {
this.selectedForm.select_item = {}
this.selectedForm.select_item[i.key] = i.value;
})
this.$store.commit("form/SPLICE_FORM_LIST", {
index: this.selectedIndex,
length: 1,
@ -201,6 +243,21 @@ export default {
computed: {
...mapState("form", ["selectedForm", "formList", "selectedIndex"]),
},
watch: {
selectedForm(newVal) {
if(newVal) {
this.selectItem = [];
if(newVal.select_item && typeof newVal.select_item === "object") {
for(let key in newVal.select_item) {
this.selectItem.push({
key,
value: newVal.select_item[key]
})
}
}
}
}
},
created() {
this.getForms();
@ -225,4 +282,32 @@ export default {
::v-deep .el-input-number.is-without-controls .el-input__inner {
text-align: left;
}
.select-item {
text-align: center;
&__header {
font-weight: 600;
display: flex;
& > span {
flex-basis: 30%;
& + span {
margin-left: 10px;
}
}
}
&__body {
display: flex;
& > div {
flex-basis: 30%;
& + div {
margin-left: 10px;
}
}
}
}
</style>

@ -201,7 +201,7 @@ export default {
sort: newIndex,
help: "",
validation: "",
select_item: "",
select_item: {},
list_show: 1,
form_show: 1,
is_fix: "",

Loading…
Cancel
Save