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>
 | |
| 
 |