@@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="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" style="text-align: center" > <span v-if="['SAVE_INPUT','SAVE_OUTPUT'].includes(column.PropertyName)" > {{formatter(item[column.PropertyName])}} </span> <span v-else> {{ item[column.PropertyName] }} </span> </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> <button @click="append(item)" class="btn btn-link" type="button" > <i class="mdi mdi-lead-pencil"></i> 配置对象 </button> <!-- <button @click="appendFiled(item)" class="btn btn-link" type="button" > <i class="mdi mdi-folder-google-drive"></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.METHOD_ID" name="METHOD_ID" /> <div class="form-group"> <label for="recipient-name" class="control-label" >方法名称:</label > <input type="text" v-model="formData.METHOD_NAME" name="METHOD_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.METHOD_VALUE" name="METHOD_VALUE" id="message-text" ></textarea> </div> <div class="form-group"> <label for="message-text" class="control-label" >保存入参:</label > <input type="radio" id="contactChoice2" name="SAVE_INPUT" value="0" v-model="formData.SAVE_INPUT" checked /> <label for="contactChoice2">否</label> <input type="radio" id="contactChoice1" name="SAVE_INPUT" value="1" v-model="formData.SAVE_INPUT" /> <label for="contactChoice1">是</label> </div> <div class="form-group"> <label for="message-text" class="control-label" >保存出参:</label > <input type="radio" id="contactChoice2" name="SAVE_OUTPUT" value="0" v-model="formData.SAVE_OUTPUT" checked /> <label for="contactChoice2">否</label> <input type="radio" id="contactChoice1" name="SAVE_OUTPUT" value="1" v-model="formData.SAVE_OUTPUT" /> <label for="contactChoice1">是</label> </div> <div class="form-group"> <label for="message-text" class="control-label" >所属对接对象:</label > <textarea class="form-control" v-model="formData.BIND_OBJECT" name="BIND_OBJECT" id="message-text" ></textarea> </div> <div class="form-group"> <label for="bind-sys-code" class="control-label" >系统方法名:</label > <input type="text" v-model="formData.BIND_SYS_CODE" name="BIND_SYS_CODE" class="form-control" id="bind-sys-code" /> </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 = '/std_method/list?' + 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({ title: 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) { console.log(item) var urlById = '/std_method/get?METHOD_ID=' + item.METHOD_ID if (item.METHOD_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 = { SAVE_INPUT: 0, SAVE_OUTPUT: 0, } }, addOrUpdate: function () { var th = this var frmId = 'frmEdit' var json = this.formData var url = json.METHOD_ID ? '/std_method/update' : '/std_method/create' this.addOrUpdateSubmit(url, json) }, addOrUpdateSubmit: function (url, json) { if (url == '/std_method/create') { // 生成uuid const uuid = crypto.randomUUID().replace(/-/g, '') json.METHOD_ID = uuid } 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 }) }, formatter(v) { return !v ? '否' : '是' }, append(item) { window.location.href = `./std_entity_config.html?${item.METHOD_ID}` }, }, }) </script>