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.
197 lines
8.5 KiB
197 lines
8.5 KiB
3 weeks ago
|
@@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-1"><label class="form-control" t>名称:</label></div>
|
||
|
<div class="col-md-3"><input class="form-control" type="text" id="txtSearch" 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 data-toggle="modal" @click="deleteAndConfirm(item)" data-target="#divDelBox" 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">
|
||
|
<label for="recipient-name" class="control-label">名称:</label>
|
||
|
<input type="text" v-model="formData.Name" name="Name" class="form-control" id="recipient-name">
|
||
|
</div>
|
||
|
<div class="form-group">
|
||
|
<label for="message-text" class="control-label">内容:</label>
|
||
|
<textarea class="form-control" v-model="formData.Description" name="Description" id="message-text"></textarea>
|
||
|
</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: {
|
||
|
|
||
|
}
|
||
|
},
|
||
|
mounted() {
|
||
|
this.fetchData("");
|
||
|
},
|
||
|
methods: {
|
||
|
fetchData(append) {
|
||
|
var url = "/PrivateReZeroRoute/100003/GetDynamicInterfaceCategoryPageList?ParentId=200" + append;
|
||
|
axios.get(url, jwHeader)
|
||
|
.then(response => {
|
||
|
this.data = response.data;
|
||
|
this.error = null;
|
||
|
})
|
||
|
.catch(error => {
|
||
|
this.error = error.message;
|
||
|
this.data = null;
|
||
|
});
|
||
|
},
|
||
|
onSearch: function (page) {
|
||
|
|
||
|
var urlParameters="&"+tools.objectToQueryString({
|
||
|
Name: txtSearch.value,
|
||
|
__pageNumber: page,
|
||
|
__pageSize: tools.getValue("selPageSize"),
|
||
|
});
|
||
|
this.fetchData(urlParameters);
|
||
|
},
|
||
|
deleteAndConfirm: function (item) {
|
||
|
if (item == null) {
|
||
|
if (localStorage.delId == 200100) {
|
||
|
tools.alert("初始化分类不能删除");
|
||
|
btnDelClose.click();
|
||
|
return;
|
||
|
}
|
||
|
var url = "/PrivateReZeroRoute/100003/DeleteDynamicInterfaceCategory?IsDeleted=true&Id=" + localStorage.delId;
|
||
|
axios.get(url, jwHeader)
|
||
|
.then(response => {
|
||
|
this.data = response.data;
|
||
|
this.error = null;
|
||
|
this.onSearch();
|
||
|
btnDelClose.click();
|
||
|
})
|
||
|
.catch(error => {
|
||
|
this.error = error.message;
|
||
|
this.data = null;
|
||
|
});
|
||
|
} else {
|
||
|
localStorage.delId = item.Id;
|
||
|
}
|
||
|
},
|
||
|
openEditDiv: function (item)
|
||
|
{
|
||
|
var urlById = "/PrivateReZeroRoute/100003/GetDynamicInterfaceCategoryById?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)
|
||
|
{
|
||
|
this.title= this.addTitle;
|
||
|
this.formData = {};
|
||
|
},
|
||
|
addOrUpdate: function () {
|
||
|
var th = this;
|
||
|
var frmId = "frmEdit";
|
||
|
var json = this.formData;
|
||
|
var url = json.Id ?
|
||
|
"/PrivateReZeroRoute/100003/UpdateDynamicInterfaceCategory" :
|
||
|
"/PrivateReZeroRoute/100003/AddDynamicInterfaceCategory";
|
||
|
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>
|