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.
		
		
		
		
			
				
					255 lines
				
				12 KiB
			
		
		
			
		
	
	
					255 lines
				
				12 KiB
			| 
											6 months 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>
 | ||
|  |             <button @click="openTutorials(1)" class="btn btn-success m-l-15 " data-toggle="modal" data-target="#"><i class="mdi mdi-book-open-variant"></i> 复制实体模版</button>
 | ||
|  |             <button @click="openTutorials(2)" class="btn btn-cyan m-l-15 " data-toggle="modal" data-target="#"><i class="mdi mdi-book-open-variant"></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 width1000" 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.Title" name="Title" class="form-control" id="recipient-name">
 | ||
|  |                         </div>
 | ||
|  |                         <div class="form-group">
 | ||
|  |                             <label for="message-text" class="control-label">模版分类:</label>
 | ||
|  |                             <select v-model="formData.TypeId" name="TypeId" class="form-control">
 | ||
|  |                                 <option></option>
 | ||
|  |                                 <option value="1">实体</option>
 | ||
|  |                                 <option value="2">接口</option>
 | ||
|  |                             </select>
 | ||
|  |                         </div>
 | ||
|  |                         <div class="form-group">
 | ||
|  |                             <label for="message-text" class="control-label">编辑框样式:</label>
 | ||
|  |                             <select @change="setEditorValue" class="form-control" v-model="formData.TemplateContentStyle">
 | ||
|  |                                 <option>csharp</option>
 | ||
|  |                                 <option>javascript</option>
 | ||
|  |                                 <option>typescript</option>
 | ||
|  |                             </select>
 | ||
|  |                         </div>
 | ||
|  |                         <div class="form-group">
 | ||
|  |                             <label for="recipient-name" class="control-label">生成地址:</label>
 | ||
|  |                             <input type="text" v-model="formData.Url" name="Url"   class="form-control" id="recipient-name">
 | ||
|  |                         </div>
 | ||
|  |                         <div class="form-group">
 | ||
|  |                             <label for="message-text" class="control-label">内容(复制进来):</label>
 | ||
|  |                             <div id="editor" style="width: 100%; height: calc(100vh - 580px);"></div>
 | ||
|  |                             <textarea class="form-control hidden" v-model="formData.TemplateContent" name="TemplateContent" 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 src="js/ace/src-min/ace.js"></script>
 | ||
|  | <script src="js/ace/src-min/ext-language_tools.js"></script>
 | ||
|  | <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/GetTemplatePageList?v=1" + 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/DeleteTemplate?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/GetTemplateById?id=" + item.Id;
 | ||
|  |                 if (item.Id) {
 | ||
|  |                     this.title = this.editTitle;
 | ||
|  |                     axios.get(urlById, jwHeader)
 | ||
|  |                         .then(response => {
 | ||
|  |                             this.formData = response.data;
 | ||
|  |                             this.setEditorValue();
 | ||
|  |                         })
 | ||
|  |                         .catch(error => {
 | ||
|  |                             this.error = error.message;
 | ||
|  |                             this.data = null;
 | ||
|  |                         });
 | ||
|  |                 }
 | ||
|  |             },
 | ||
|  |             openAddDiv: function (item) {
 | ||
|  |                 this.title = this.addTitle;
 | ||
|  |                 this.formData = { Url: "{project}\\Models\\{0}.cs" };
 | ||
|  |                 this.setEditorValue();
 | ||
|  |             },
 | ||
|  |             addOrUpdate: function () {
 | ||
|  |                 var th = this;
 | ||
|  |                 var frmId = "frmEdit";
 | ||
|  |                 var json = this.formData;
 | ||
|  |                 var url = json.Id ?
 | ||
|  |                     "/PrivateReZeroRoute/100003/UpdateTemplate" :
 | ||
|  |                     "/PrivateReZeroRoute/100003/AddTemplate";
 | ||
|  |                 this.addOrUpdateSubmit(url, json);
 | ||
|  |             },
 | ||
|  |             addOrUpdateSubmit: function (url, json) {
 | ||
|  |                 if (this.formData.TypeId == 2)
 | ||
|  |                 {
 | ||
|  |                     return tools.alert("接口模版还在开发中,现在只支持实体");
 | ||
|  |                 }
 | ||
|  |                 var th = this;
 | ||
|  |                 var editor = ace.edit("editor");
 | ||
|  |                 this.formData.TemplateContent = editor.getValue();
 | ||
|  |                 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;
 | ||
|  |                     });
 | ||
|  |             },
 | ||
|  |             setEditorValue: function () {
 | ||
|  |                 if (this.formData.TemplateContentStyle == null) {
 | ||
|  |                     this.formData.TemplateContentStyle = "csharp";
 | ||
|  |                 }
 | ||
|  |                 var editor = ace.edit("editor");  
 | ||
|  |                 editor.setTheme("ace/theme/twilight");
 | ||
|  |                 editor.setOption("showPrintMargin", false);
 | ||
|  |                 editor.setOption("enableBasicAutocompletion", true);
 | ||
|  |                 editor.setOption("enableSnippets", true);
 | ||
|  |                 editor.setOption("useWorker", false);
 | ||
|  |                 editor.setOption("enableLiveAutocompletion", true)
 | ||
|  |                 editor.session.setMode("ace/mode/" + this.formData.TemplateContentStyle);
 | ||
|  |                 editor.setValue(this.formData.TemplateContent);
 | ||
|  |                 editor.selection.clearSelection();
 | ||
|  |                 editor.resize();
 | ||
|  | 
 | ||
|  |             },
 | ||
|  |             openTutorials: function (item)
 | ||
|  |             {
 | ||
|  |                 if (item == 1) {
 | ||
|  |                     var url = "/rezero/tutorials.html?type=" + item + "&style=csharp";
 | ||
|  |                     url = tools.appendQueryParams(url);
 | ||
|  |                     window.open(url);
 | ||
|  |                 } else
 | ||
|  |                 {
 | ||
|  |                     tools.alert("根据接口生成还在开发中");
 | ||
|  |                 }
 | ||
|  |             }
 | ||
|  |         }
 | ||
|  |     });</script>
 |