8 changed files with 904 additions and 220 deletions
@ -0,0 +1,243 @@ |
|||||||
|
@@master_page.html |
||||||
|
<div id="app"> |
||||||
|
<section class="app-container"> |
||||||
|
<form |
||||||
|
id="frmSubmit" |
||||||
|
class="form" |
||||||
|
> |
||||||
|
<section |
||||||
|
class="row" |
||||||
|
style="grid-area: a" |
||||||
|
> |
||||||
|
<label for="">本地</label> |
||||||
|
<input |
||||||
|
type="text" |
||||||
|
placeholder="表名" |
||||||
|
v-model="formData.SYSTEM_TABLE_NAME" |
||||||
|
/> |
||||||
|
<input |
||||||
|
type="text" |
||||||
|
placeholder="表注释" |
||||||
|
v-model="formData.SYSTEM_TABLE_CNNAME" |
||||||
|
/> |
||||||
|
<input |
||||||
|
type="text" |
||||||
|
placeholder="字段名" |
||||||
|
v-model="formData.SYSTEM_FIELD" |
||||||
|
/> |
||||||
|
<input |
||||||
|
type="text" |
||||||
|
placeholder="字段注释" |
||||||
|
required |
||||||
|
v-model="formData.SYSTEM_NAME" |
||||||
|
/> |
||||||
|
<select |
||||||
|
style="width: 100px" |
||||||
|
v-model="formData.SYSTEM_FIELD_TYPE" |
||||||
|
> |
||||||
|
<option |
||||||
|
v-for="(item,index) in dict.filedType" |
||||||
|
:key="index" |
||||||
|
:value="item.VALUE" |
||||||
|
> |
||||||
|
{{item.LABEL}} |
||||||
|
</option> |
||||||
|
</select> |
||||||
|
<input |
||||||
|
v-if="formData.SYSTEM_FIELD_TYPE == 'dict'" |
||||||
|
type="text" |
||||||
|
placeholder="字典名称" |
||||||
|
v-model="formData.SYSTEM_DICT_NAME" |
||||||
|
/> |
||||||
|
</section> |
||||||
|
<section |
||||||
|
class="row" |
||||||
|
style="grid-area: b" |
||||||
|
> |
||||||
|
<label for="">三方</label> |
||||||
|
<input |
||||||
|
type="text" |
||||||
|
placeholder="表名" |
||||||
|
v-model="formData.OBJECT_TABLE_NAME" |
||||||
|
/> |
||||||
|
<input |
||||||
|
type="text" |
||||||
|
placeholder="表注释" |
||||||
|
v-model="formData.OBJECT_TABLE_CNNAME" |
||||||
|
/> |
||||||
|
<input |
||||||
|
type="text" |
||||||
|
placeholder="字段名" |
||||||
|
v-model="formData.INTERFACE_FIELD" |
||||||
|
/> |
||||||
|
<input |
||||||
|
type="text" |
||||||
|
placeholder="字段注释" |
||||||
|
required |
||||||
|
v-model="formData.INTERFACE_NAME" |
||||||
|
/> |
||||||
|
<select |
||||||
|
style="width: 100px" |
||||||
|
title="字段类型" |
||||||
|
v-model="formData.OBJECT_FIELD_TYPE" |
||||||
|
> |
||||||
|
<option |
||||||
|
v-for="(item,index) in dict.filedType" |
||||||
|
:key="index" |
||||||
|
:value="item.VALUE" |
||||||
|
> |
||||||
|
{{item.LABEL}} |
||||||
|
</option> |
||||||
|
</select> |
||||||
|
<input |
||||||
|
v-if="formData.OBJECT_FIELD_TYPE == 'dict'" |
||||||
|
type="text" |
||||||
|
placeholder="字典名称" |
||||||
|
v-model="formData.OBJECT_DICT_NAME" |
||||||
|
/> |
||||||
|
</section> |
||||||
|
<section |
||||||
|
class="domain" |
||||||
|
style="grid-area: c" |
||||||
|
> |
||||||
|
<button |
||||||
|
type="button" |
||||||
|
@click="save" |
||||||
|
> |
||||||
|
保存 |
||||||
|
</button> |
||||||
|
<button>清空</button> |
||||||
|
</section> |
||||||
|
</form> |
||||||
|
|
||||||
|
<section class="list"> |
||||||
|
<section |
||||||
|
v-for="item in data.Data" |
||||||
|
:key="item.id" |
||||||
|
> |
||||||
|
{{item.ID}} |
||||||
|
</section> |
||||||
|
</section> |
||||||
|
|
||||||
|
@@page_control.html |
||||||
|
</section> |
||||||
|
</div> |
||||||
|
|
||||||
|
<script> |
||||||
|
new Vue({ |
||||||
|
el: '#app', |
||||||
|
data() { |
||||||
|
return { |
||||||
|
count: 1, |
||||||
|
data: null, |
||||||
|
error: null, |
||||||
|
dict: { |
||||||
|
filedType: [], |
||||||
|
}, |
||||||
|
formData: { |
||||||
|
ID: '', |
||||||
|
SYSTEM_NAME: '', |
||||||
|
SYSTEM_FIELD: '', |
||||||
|
INTERFACE_NAME: '', |
||||||
|
INTERFACE_FIELD: '', |
||||||
|
OBJECT_TABLE_NAME: '', |
||||||
|
OBJECT_TABLE_CNNAME: '', |
||||||
|
SYSTEM_TABLE_CNNAME: '', |
||||||
|
SYSTEM_TABLE_NAME: '', |
||||||
|
SYSTEM_FIELD_TYPE: 'value', |
||||||
|
SYSTEM_DICT_NAME: '', |
||||||
|
OBJECT_FIELD_TYPE: 'value', |
||||||
|
OBJECT_DICT_NAME: '', |
||||||
|
}, |
||||||
|
} |
||||||
|
}, |
||||||
|
created() { |
||||||
|
this.getDictOption() |
||||||
|
this.fetchData('') |
||||||
|
}, |
||||||
|
mounted() {}, |
||||||
|
methods: { |
||||||
|
getDictOption() { |
||||||
|
axios |
||||||
|
.get('/dict_data/simpleList?type=std_filed_type', jwHeader) |
||||||
|
.then(res => { |
||||||
|
this.dict.filedType = res.data |
||||||
|
}) |
||||||
|
}, |
||||||
|
fetchData(append) { |
||||||
|
var url = '/std_filed/list?' + append |
||||||
|
axios |
||||||
|
.get(url, jwHeader) |
||||||
|
.then(response => { |
||||||
|
this.data = response.data |
||||||
|
this.error = null |
||||||
|
}) |
||||||
|
.catch(error => { |
||||||
|
this.error = error.message |
||||||
|
this.data = null |
||||||
|
}) |
||||||
|
}, |
||||||
|
save() { |
||||||
|
const data = this.formData |
||||||
|
const url = data.ID ? '/std_filed/update' : '/std_filed/create' |
||||||
|
axios |
||||||
|
.post(url, data, jwHeader) |
||||||
|
.then(response => { |
||||||
|
console.log(response.data) |
||||||
|
this.fetchData('') |
||||||
|
}) |
||||||
|
.catch(error => {}) |
||||||
|
}, |
||||||
|
}, |
||||||
|
}) |
||||||
|
</script> |
||||||
|
|
||||||
|
<style> |
||||||
|
.app-container { |
||||||
|
box-sizing: border-box; |
||||||
|
padding: 10px; |
||||||
|
background-color: #fff; |
||||||
|
} |
||||||
|
.form { |
||||||
|
padding: 10px; |
||||||
|
display: grid; |
||||||
|
grid-template-rows: repeat(2, 1fr); |
||||||
|
grid-template-columns: auto auto; |
||||||
|
grid-template-areas: 'a c' 'b c'; |
||||||
|
gap: 5px; |
||||||
|
} |
||||||
|
|
||||||
|
.form .row { |
||||||
|
display: flex; |
||||||
|
flex-flow: row nowrap; |
||||||
|
gap: 5px; |
||||||
|
align-items: center; |
||||||
|
} |
||||||
|
|
||||||
|
.form .domain { |
||||||
|
display: flex; |
||||||
|
flex-flow: row nowrap; |
||||||
|
align-items: end; |
||||||
|
gap: 10px; |
||||||
|
} |
||||||
|
.domain button { |
||||||
|
border: 0; |
||||||
|
padding: 5px 10px; |
||||||
|
background-color: #0029be; |
||||||
|
border-radius: 4px; |
||||||
|
color: #fff; |
||||||
|
} |
||||||
|
.row label { |
||||||
|
margin-bottom: 0; |
||||||
|
font-weight: normal; |
||||||
|
} |
||||||
|
.row input, |
||||||
|
.row select { |
||||||
|
outline: none; |
||||||
|
border: 0; |
||||||
|
padding: 5px 10px; |
||||||
|
background-color: #cccccc88; |
||||||
|
border-radius: 4px; |
||||||
|
color: #000; |
||||||
|
} |
||||||
|
</style> |
Loading…
Reference in new issue