|
|
|
|
@ -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>
|
|
|
|
|
|