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