You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
434 lines
9.2 KiB
434 lines
9.2 KiB
@@master_page.html |
|
<link |
|
href="css/page_table_list.css" |
|
rel="stylesheet" |
|
/> |
|
<div |
|
id="apibox" |
|
class="card" |
|
> |
|
<div class="search-bar"> |
|
<form |
|
id="frmSearach" |
|
action="lyear_forms_elements.html" |
|
method="post" |
|
onsubmit="return false;" |
|
> |
|
<div class="form-group"> |
|
<div class="row"> |
|
<div class="col-md-2"> |
|
<input |
|
class="form-control" |
|
type="text" |
|
id="systemTable" |
|
name="example-text-input" |
|
placeholder="本地表名" |
|
/> |
|
</div> |
|
<div class="col-md-3"> |
|
<button |
|
@click="onSearch()" |
|
id="btnSearch" |
|
class="btn btn-secondary" |
|
> |
|
<i class="mdi mdi-magnify"></i>搜索 |
|
</button> |
|
<button |
|
onclick="frmSearach.reset()" |
|
class="btn btn-close m-l-15" |
|
type="submit" |
|
> |
|
清空 |
|
</button> |
|
</div> |
|
<div class="col-md-4"></div> |
|
</div> |
|
</div> |
|
</form> |
|
<div class="toolbar-btn-action"> |
|
<button |
|
@click="openAddDiv()" |
|
class="btn btn-primary m-l-15" |
|
data-toggle="modal" |
|
data-target="#gridSystemModal" |
|
> |
|
<i class="mdi mdi-plus"></i> 新增 |
|
</button> |
|
</div> |
|
</div> |
|
<div class="card-body"> |
|
<h5></h5> |
|
<div class="table-responsive"> |
|
<table class="table table-bordered"> |
|
<thead> |
|
<tr |
|
v-if="data && data.Columns && data.Columns.length > 0" |
|
> |
|
<th |
|
class="mi-w-100" |
|
v-for="column in data.Columns" |
|
> |
|
{{column.ColumnDescription}} |
|
</th> |
|
<th>操作</th> |
|
</tr> |
|
</thead> |
|
<tbody v-if="data &&data.Data"> |
|
<tr |
|
v-if="data.Columns && data.Columns.length > 0" |
|
v-for="item in data.Data" |
|
> |
|
<td v-for="column in data.Columns"> |
|
{{ item[column.PropertyName] }} |
|
</td> |
|
|
|
<td class="table_opt"> |
|
<button |
|
data-toggle="modal" |
|
@click="openEditDiv(item)" |
|
data-target="#gridSystemModal" |
|
class="btn btn-link" |
|
type="button" |
|
> |
|
<i class="mdi mdi-lead-pencil"></i> 修改 |
|
</button> |
|
<button |
|
@click="deleteAndConfirm(item)" |
|
class="btn btn-link" |
|
type="button" |
|
> |
|
<i class="mdi mdi-do-not-disturb"></i> 删除 |
|
</button> |
|
</td> |
|
</tr> |
|
</tbody> |
|
</table> |
|
</div> |
|
</div> |
|
@@page_control.html |
|
<div |
|
class="modal fade" |
|
tabindex="-1" |
|
role="dialog" |
|
aria-labelledby="gridSystemModalLabel" |
|
id="gridSystemModal" |
|
style="display: none" |
|
> |
|
<div |
|
class="modal-dialog" |
|
role="document" |
|
> |
|
<div class="modal-content"> |
|
<div class="modal-header"> |
|
<button |
|
type="button" |
|
class="close" |
|
data-dismiss="modal" |
|
aria-label="Close" |
|
> |
|
<span aria-hidden="true">×</span> |
|
</button> |
|
<h4 |
|
class="modal-title" |
|
id="exampleModalLabel" |
|
> |
|
{{title}} |
|
</h4> |
|
</div> |
|
<div class="modal-body"> |
|
<form id="frmEdit"> |
|
<input |
|
type="hidden" |
|
v-model="formData.ID" |
|
name="ID" |
|
/> |
|
<div |
|
class="form-group" |
|
style=" |
|
display: flex; |
|
flex-flow: column nowrap; |
|
gap: 5px; |
|
" |
|
> |
|
<label |
|
for="" |
|
style="text-align: left" |
|
> |
|
本地</label |
|
> |
|
<input |
|
type="text" |
|
placeholder="表名" |
|
name="SYSTEM_TABLE_NAME" |
|
class="form-control" |
|
v-model="formData.SYSTEM_TABLE_NAME" |
|
/> |
|
<input |
|
type="text" |
|
placeholder="表注释" |
|
v-model="formData.SYSTEM_TABLE_CNNAME" |
|
name="SYSTEM_TABLE_CNNAME" |
|
class="form-control" |
|
/> |
|
<input |
|
type="text" |
|
placeholder="字段名" |
|
v-model="formData.SYSTEM_FIELD" |
|
name="SYSTEM_FIELD" |
|
class="form-control" |
|
/> |
|
<input |
|
type="text" |
|
placeholder="字段注释" |
|
required |
|
v-model="formData.SYSTEM_NAME" |
|
name="SYSTEM_TABLE_NAME" |
|
class="form-control" |
|
/> |
|
<select |
|
style="width: 100%" |
|
v-model="formData.SYSTEM_FIELD_TYPE" |
|
name="SYSTEM_FIELD_TYPE" |
|
class="form-control" |
|
> |
|
<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" |
|
name="SYSTEM_DICT_NAME" |
|
class="form-control" |
|
/> |
|
</div> |
|
<div |
|
class="form-group" |
|
style=" |
|
display: flex; |
|
flex-flow: column nowrap; |
|
gap: 5px; |
|
" |
|
> |
|
<label |
|
for="" |
|
style="text-align: left" |
|
> |
|
三方 |
|
</label> |
|
<input |
|
type="text" |
|
placeholder="表名" |
|
v-model="formData.OBJECT_TABLE_NAME" |
|
name="OBJECT_TABLE_NAME" |
|
class="form-control" |
|
/> |
|
<input |
|
type="text" |
|
placeholder="表注释" |
|
v-model="formData.OBJECT_TABLE_CNNAME" |
|
name="OBJECT_TABLE_CNNAME" |
|
class="form-control" |
|
/> |
|
<input |
|
type="text" |
|
placeholder="字段名" |
|
v-model="formData.INTERFACE_FIELD" |
|
name="INTERFACE_FIELD" |
|
class="form-control" |
|
/> |
|
<input |
|
type="text" |
|
placeholder="字段注释" |
|
required |
|
v-model="formData.INTERFACE_NAME" |
|
name="INTERFACE_NAME" |
|
class="form-control" |
|
/> |
|
<select |
|
style="width: 100%" |
|
title="字段类型" |
|
v-model="formData.OBJECT_FIELD_TYPE" |
|
name="OBJECT_FIELD_TYPE" |
|
class="form-control" |
|
> |
|
<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" |
|
name="OBJECT_DICT_NAME" |
|
class="form-control" |
|
/> |
|
</div> |
|
</form> |
|
</div> |
|
<div class="modal-footer"> |
|
<button |
|
type="button" |
|
id="btnCloseEdit" |
|
class="btn btn-default" |
|
data-dismiss="modal" |
|
> |
|
关闭 |
|
</button> |
|
<button |
|
type="button" |
|
@click="addOrUpdate()" |
|
class="btn btn-primary" |
|
> |
|
保存 |
|
</button> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
<script> |
|
var vueObj = new Vue({ |
|
el: '#apibox', |
|
data: { |
|
data: null, |
|
error: null, |
|
addTitle: '添加动态接口分类', |
|
editTitle: '修改态接口分类', |
|
title: '', |
|
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: '', |
|
}, |
|
databaseId: 1, |
|
database: [], |
|
tables: [], |
|
isSelectTable: {}, |
|
dict: { |
|
filedType: [], |
|
}, |
|
}, |
|
created() { |
|
this.getDictOption() |
|
}, |
|
mounted() { |
|
this.fetchData('') |
|
}, |
|
methods: { |
|
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 |
|
}) |
|
}, |
|
getDictOption() { |
|
axios |
|
.get( |
|
'/dict_data/simpleList?type=std_filed_type', |
|
jwHeader |
|
) |
|
.then(res => { |
|
this.dict.filedType = res.data |
|
}) |
|
}, |
|
onSearch: function (page) { |
|
var urlParameters = |
|
'&' + |
|
tools.objectToQueryString({ |
|
__pageNumber: page, |
|
__pageSize: tools.getValue('selPageSize'), |
|
}) |
|
this.fetchData(urlParameters) |
|
}, |
|
deleteAndConfirm: function (item) { |
|
var url = `/std_filed/delete?Id=${item.ID}` |
|
axios |
|
.get(url, jwHeader) |
|
.then(response => { |
|
this.data = response.data |
|
this.error = null |
|
this.onSearch() |
|
}) |
|
.catch(error => { |
|
this.error = error.message |
|
this.data = null |
|
}) |
|
}, |
|
openEditDiv: function (item) { |
|
var urlById = '/std_filed/get?id=' + item.ID |
|
if (item.ID) { |
|
this.title = this.editTitle |
|
axios |
|
.get(urlById, jwHeader) |
|
.then(response => { |
|
this.formData = response.data |
|
}) |
|
.catch(error => { |
|
this.error = error.message |
|
this.data = null |
|
}) |
|
} |
|
}, |
|
openAddDiv: function (item) { |
|
window.location.href = './add_filed.html' |
|
}, |
|
addOrUpdate: function () { |
|
var th = this |
|
var frmId = 'frmEdit' |
|
var json = this.formData |
|
var url = json.ID |
|
? '/std_filed/update' |
|
: '/std_filed/create' |
|
this.addOrUpdateSubmit(url, json) |
|
}, |
|
addOrUpdateSubmit: function (url, json) { |
|
var th = this |
|
axios |
|
.post(url, json, jwHeader) |
|
.then(response => { |
|
this.error = null |
|
this.onSearch() |
|
if (response.data == true) { |
|
frmEdit.reset() |
|
btnCloseEdit.click() |
|
} else { |
|
tools.highlightErrorFields(response.data) |
|
} |
|
}) |
|
.catch(error => { |
|
this.error = error.message |
|
this.data = null |
|
}) |
|
}, |
|
}, |
|
}) |
|
</script>
|
|
|