8 changed files with 2628 additions and 161 deletions
			
			
		@ -0,0 +1,534 @@
					 | 
				
			||||
@@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"> | 
				
			||||
							{{ 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.OBJECT_PATH" | 
				
			||||
								name="OBJECT_PATH" | 
				
			||||
								class="form-control" | 
				
			||||
								id="recipient-name" | 
				
			||||
							/> | 
				
			||||
						</div> | 
				
			||||
						<div class="form-group"> | 
				
			||||
							<label | 
				
			||||
								for="message-text" | 
				
			||||
								class="control-label" | 
				
			||||
								>实体表名: | 
				
			||||
							</label> | 
				
			||||
							<div class="input-group"> | 
				
			||||
								<input | 
				
			||||
									v-model="formData.MAPPING_TABLE" | 
				
			||||
									type="text" | 
				
			||||
									name="MAPPING_TABLE" | 
				
			||||
									class="form-control" | 
				
			||||
								/> | 
				
			||||
								<span class="input-group-btn"> | 
				
			||||
									<button | 
				
			||||
										@click="openImportEntity(item)" | 
				
			||||
										class="btn btn-default" | 
				
			||||
										type="button" | 
				
			||||
									> | 
				
			||||
										选择表 | 
				
			||||
									</button> | 
				
			||||
								</span> | 
				
			||||
							</div> | 
				
			||||
						</div> | 
				
			||||
						<div class="form-group"> | 
				
			||||
							<label | 
				
			||||
								for="message-text" | 
				
			||||
								class="control-label" | 
				
			||||
								>实体归属:</label | 
				
			||||
							> | 
				
			||||
							<input | 
				
			||||
								type="radio" | 
				
			||||
								id="contactChoice2" | 
				
			||||
								name="ASSEMBLY_TYPE" | 
				
			||||
								value="0" | 
				
			||||
								v-model="formData.ASSEMBLY_TYPE" | 
				
			||||
								checked | 
				
			||||
							/> | 
				
			||||
							<label for="contactChoice2">系统</label> | 
				
			||||
							<input | 
				
			||||
								type="radio" | 
				
			||||
								id="contactChoice1" | 
				
			||||
								name="ASSEMBLY_TYPE" | 
				
			||||
								value="1" | 
				
			||||
								v-model="formData.ASSEMBLY_TYPE" | 
				
			||||
							/> | 
				
			||||
							<label for="contactChoice1">三方</label> | 
				
			||||
						</div> | 
				
			||||
						<div class="form-group"> | 
				
			||||
							<label | 
				
			||||
								for="message-text" | 
				
			||||
								class="control-label" | 
				
			||||
								>实体类型:</label | 
				
			||||
							> | 
				
			||||
							<input | 
				
			||||
								type="radio" | 
				
			||||
								id="contactChoice2" | 
				
			||||
								name="OBJECT_TYPE" | 
				
			||||
								value="0" | 
				
			||||
								v-model="formData.OBJECT_TYPE" | 
				
			||||
								checked | 
				
			||||
							/> | 
				
			||||
							<label for="contactChoice2">对象</label> | 
				
			||||
							<input | 
				
			||||
								type="radio" | 
				
			||||
								id="contactChoice1" | 
				
			||||
								name="OBJECT_TYPE" | 
				
			||||
								value="1" | 
				
			||||
								v-model="formData.OBJECT_TYPE" | 
				
			||||
							/> | 
				
			||||
							<label for="contactChoice1">列表</label> | 
				
			||||
						</div> | 
				
			||||
						<div class="form-group"> | 
				
			||||
							<label | 
				
			||||
								for="message-text" | 
				
			||||
								class="control-label" | 
				
			||||
								>参数类型:</label | 
				
			||||
							> | 
				
			||||
							<input | 
				
			||||
								type="radio" | 
				
			||||
								id="contactChoice2" | 
				
			||||
								name="PARAMETR_TYPE" | 
				
			||||
								value="0" | 
				
			||||
								v-model="formData.PARAMETR_TYPE" | 
				
			||||
								checked | 
				
			||||
							/> | 
				
			||||
							<label for="contactChoice2">入参</label> | 
				
			||||
							<input | 
				
			||||
								type="radio" | 
				
			||||
								id="contactChoice1" | 
				
			||||
								name="PARAMETR_TYPE" | 
				
			||||
								value="1" | 
				
			||||
								v-model="formData.PARAMETR_TYPE" | 
				
			||||
							/> | 
				
			||||
							<label for="contactChoice1">出参</label> | 
				
			||||
						</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 | 
				
			||||
		id="divImportEntity" | 
				
			||||
		class="modal fade bs-example-modal-lg" | 
				
			||||
		tabindex="-1" | 
				
			||||
		role="dialog" | 
				
			||||
		aria-labelledby="myLargeModalLabel" | 
				
			||||
		style="display: none" | 
				
			||||
	> | 
				
			||||
		<button | 
				
			||||
			id="btnImportEntity" | 
				
			||||
			type="button" | 
				
			||||
			class="btn btn-primary hidden" | 
				
			||||
			data-toggle="modal" | 
				
			||||
			data-target="#divImportEntity" | 
				
			||||
		></button> | 
				
			||||
		<div | 
				
			||||
			class="modal-dialog modal-lg border3CCC" | 
				
			||||
			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="myLargeModalLabel" | 
				
			||||
					> | 
				
			||||
						选择表 | 
				
			||||
					</h4> | 
				
			||||
				</div> | 
				
			||||
				<div class="modal-body"> | 
				
			||||
					<div class="input-group width250 m-b-10"> | 
				
			||||
						<input | 
				
			||||
							id="txtTableName" | 
				
			||||
							type="text" | 
				
			||||
							class="form-control" | 
				
			||||
						/> | 
				
			||||
						<span class="input-group-btn"> | 
				
			||||
							<button | 
				
			||||
								type="button" | 
				
			||||
								@click="bindImportTables()" | 
				
			||||
								class="btn btn-default" | 
				
			||||
							> | 
				
			||||
								<i class="mdi mdi-magnify"></i>搜索 | 
				
			||||
							</button> | 
				
			||||
							<button | 
				
			||||
								type="button" | 
				
			||||
								onclick="txtTableName.value=''" | 
				
			||||
								class="btn btn-default" | 
				
			||||
							> | 
				
			||||
								<i class="mdi mdi-refresh"></i>清空 | 
				
			||||
							</button> | 
				
			||||
						</span> | 
				
			||||
					</div> | 
				
			||||
					<div class="master-table-container"> | 
				
			||||
						<table class="table table-bordered"> | 
				
			||||
							<thead> | 
				
			||||
								<tr> | 
				
			||||
									<th>表名</th> | 
				
			||||
									<th>描述</th> | 
				
			||||
								</tr> | 
				
			||||
							</thead> | 
				
			||||
							<tbody v-if="tables.length>0"> | 
				
			||||
								<tr | 
				
			||||
									v-for="item in tables" | 
				
			||||
									@click="selectTable(item)" | 
				
			||||
									:style="{ | 
				
			||||
										'background-color':item.Id ==isSelectTable.Id? '#f5f5f5': '' | 
				
			||||
									}" | 
				
			||||
								> | 
				
			||||
									<td>{{ item.Name }}</td> | 
				
			||||
									<td>{{ item.Description }}</td> | 
				
			||||
								</tr> | 
				
			||||
							</tbody> | 
				
			||||
						</table> | 
				
			||||
					</div> | 
				
			||||
				</div> | 
				
			||||
				<div class="modal-footer"> | 
				
			||||
					<button | 
				
			||||
						type="button" | 
				
			||||
						id="btnImportEntityClose" | 
				
			||||
						class="btn btn-default" | 
				
			||||
						data-dismiss="modal" | 
				
			||||
					> | 
				
			||||
						关闭 | 
				
			||||
					</button> | 
				
			||||
					<button | 
				
			||||
						type="button" | 
				
			||||
						@click="importEntitySubmit()" | 
				
			||||
						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: {}, | 
				
			||||
			methodId: '', | 
				
			||||
			databaseId: 1, | 
				
			||||
			database: [], | 
				
			||||
			tables: [], | 
				
			||||
			isSelectTable: {}, | 
				
			||||
		}, | 
				
			||||
		mounted() { | 
				
			||||
			var url = window.location.href | 
				
			||||
			var methodId = url.substring(url.lastIndexOf('?') + 1) | 
				
			||||
			this.methodId = methodId | 
				
			||||
			this.fetchData('') | 
				
			||||
		}, | 
				
			||||
		methods: { | 
				
			||||
			fetchData(append) { | 
				
			||||
				var url = `/std_entity/list?methodID=${this.methodId}` + 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_entity/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) { | 
				
			||||
				this.title = this.addTitle | 
				
			||||
				this.formData = { | 
				
			||||
					OBJECT_TYPE: 0, | 
				
			||||
					PARAMETR_TYPE: 0, | 
				
			||||
					ASSEMBLY_TYPE: 0, | 
				
			||||
					METHOD_REF: this.methodId, | 
				
			||||
					MAPPING_TABLE: '', | 
				
			||||
				} | 
				
			||||
			}, | 
				
			||||
			addOrUpdate: function () { | 
				
			||||
				var th = this | 
				
			||||
				var frmId = 'frmEdit' | 
				
			||||
				var json = this.formData | 
				
			||||
				var url = json.METHOD_ID ? '/std_entity/update' : '/std_entity/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 | 
				
			||||
					}) | 
				
			||||
			}, | 
				
			||||
			openImportEntity: function () { | 
				
			||||
				btnImportEntity.click() | 
				
			||||
				this.bindImportTables() | 
				
			||||
			}, | 
				
			||||
			bindImportTables: function () { | 
				
			||||
				var url = | 
				
			||||
					'/PrivateReZeroRoute/100004/GetAllTables?databaseId=' + | 
				
			||||
					this.databaseId + | 
				
			||||
					'&tableName=' + | 
				
			||||
					txtTableName.value | 
				
			||||
				axios | 
				
			||||
					.get(url, jwHeader) | 
				
			||||
					.then(response => { | 
				
			||||
						this.tables = response.data | 
				
			||||
						this.error = null | 
				
			||||
					}) | 
				
			||||
					.catch(error => { | 
				
			||||
						this.error = error.message | 
				
			||||
					}) | 
				
			||||
			}, | 
				
			||||
			selectTable(item) { | 
				
			||||
				this.isSelectTable = item | 
				
			||||
			}, | 
				
			||||
			importEntitySubmit: function () { | 
				
			||||
				this.formData.MAPPING_TABLE = this.isSelectTable.Name | 
				
			||||
				btnImportEntityClose.click() | 
				
			||||
			}, | 
				
			||||
		}, | 
				
			||||
	}) | 
				
			||||
</script> | 
				
			||||
@ -0,0 +1,445 @@
					 | 
				
			||||
@@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 | 
				
			||||
								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" | 
				
			||||
							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: '', | 
				
			||||
			}, | 
				
			||||
			methodId: '', | 
				
			||||
			databaseId: 1, | 
				
			||||
			database: [], | 
				
			||||
			tables: [], | 
				
			||||
			isSelectTable: {}, | 
				
			||||
			dict: { | 
				
			||||
				filedType: [], | 
				
			||||
			}, | 
				
			||||
		}, | 
				
			||||
		created() { | 
				
			||||
			this.getDictOption() | 
				
			||||
		}, | 
				
			||||
		mounted() { | 
				
			||||
			var url = window.location.href | 
				
			||||
			var methodId = url.substring(url.lastIndexOf('?') + 1) | 
				
			||||
			this.methodId = methodId | 
				
			||||
			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({ | 
				
			||||
						systemTable: systemTable.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 = '/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) { | 
				
			||||
				this.title = this.addTitle | 
				
			||||
				this.formData = { | 
				
			||||
					OBJECT_TYPE: 0, | 
				
			||||
					PARAMETR_TYPE: 0, | 
				
			||||
					ASSEMBLY_TYPE: 0, | 
				
			||||
					METHOD_REF: this.methodId, | 
				
			||||
					MAPPING_TABLE: '', | 
				
			||||
				} | 
				
			||||
			}, | 
				
			||||
			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> | 
				
			||||
@ -0,0 +1,243 @@
					 | 
				
			||||
@@master_page.html | 
				
			||||
<div id="app"> | 
				
			||||
	<section class="app-container"> | 
				
			||||
		<form | 
				
			||||
			id="frmSubmit" | 
				
			||||
			class="form" | 
				
			||||
		> | 
				
			||||
			<section | 
				
			||||
				class="row" | 
				
			||||
				style="grid-area: a" | 
				
			||||
			> | 
				
			||||
				<label for="">本地</label> | 
				
			||||
				<input | 
				
			||||
					type="text" | 
				
			||||
					placeholder="表名" | 
				
			||||
					v-model="formData.SYSTEM_TABLE_NAME" | 
				
			||||
				/> | 
				
			||||
				<input | 
				
			||||
					type="text" | 
				
			||||
					placeholder="表注释" | 
				
			||||
					v-model="formData.SYSTEM_TABLE_CNNAME" | 
				
			||||
				/> | 
				
			||||
				<input | 
				
			||||
					type="text" | 
				
			||||
					placeholder="字段名" | 
				
			||||
					v-model="formData.SYSTEM_FIELD" | 
				
			||||
				/> | 
				
			||||
				<input | 
				
			||||
					type="text" | 
				
			||||
					placeholder="字段注释" | 
				
			||||
					required | 
				
			||||
					v-model="formData.SYSTEM_NAME" | 
				
			||||
				/> | 
				
			||||
				<select | 
				
			||||
					style="width: 100px" | 
				
			||||
					v-model="formData.SYSTEM_FIELD_TYPE" | 
				
			||||
				> | 
				
			||||
					<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" | 
				
			||||
				/> | 
				
			||||
			</section> | 
				
			||||
			<section | 
				
			||||
				class="row" | 
				
			||||
				style="grid-area: b" | 
				
			||||
			> | 
				
			||||
				<label for="">三方</label> | 
				
			||||
				<input | 
				
			||||
					type="text" | 
				
			||||
					placeholder="表名" | 
				
			||||
					v-model="formData.OBJECT_TABLE_NAME" | 
				
			||||
				/> | 
				
			||||
				<input | 
				
			||||
					type="text" | 
				
			||||
					placeholder="表注释" | 
				
			||||
					v-model="formData.OBJECT_TABLE_CNNAME" | 
				
			||||
				/> | 
				
			||||
				<input | 
				
			||||
					type="text" | 
				
			||||
					placeholder="字段名" | 
				
			||||
					v-model="formData.INTERFACE_FIELD" | 
				
			||||
				/> | 
				
			||||
				<input | 
				
			||||
					type="text" | 
				
			||||
					placeholder="字段注释" | 
				
			||||
					required | 
				
			||||
					v-model="formData.INTERFACE_NAME" | 
				
			||||
				/> | 
				
			||||
				<select | 
				
			||||
					style="width: 100px" | 
				
			||||
					title="字段类型" | 
				
			||||
					v-model="formData.OBJECT_FIELD_TYPE" | 
				
			||||
				> | 
				
			||||
					<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" | 
				
			||||
				/> | 
				
			||||
			</section> | 
				
			||||
			<section | 
				
			||||
				class="domain" | 
				
			||||
				style="grid-area: c" | 
				
			||||
			> | 
				
			||||
				<button | 
				
			||||
					type="button" | 
				
			||||
					@click="save" | 
				
			||||
				> | 
				
			||||
					保存 | 
				
			||||
				</button> | 
				
			||||
				<button>清空</button> | 
				
			||||
			</section> | 
				
			||||
		</form> | 
				
			||||
 | 
				
			||||
		<section class="list"> | 
				
			||||
			<section | 
				
			||||
				v-for="item in data.Data" | 
				
			||||
				:key="item.id" | 
				
			||||
			> | 
				
			||||
				{{item.ID}} | 
				
			||||
			</section> | 
				
			||||
		</section> | 
				
			||||
 | 
				
			||||
		@@page_control.html | 
				
			||||
	</section> | 
				
			||||
</div> | 
				
			||||
 | 
				
			||||
<script> | 
				
			||||
	new Vue({ | 
				
			||||
		el: '#app', | 
				
			||||
		data() { | 
				
			||||
			return { | 
				
			||||
				count: 1, | 
				
			||||
				data: null, | 
				
			||||
				error: null, | 
				
			||||
				dict: { | 
				
			||||
					filedType: [], | 
				
			||||
				}, | 
				
			||||
				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: '', | 
				
			||||
				}, | 
				
			||||
			} | 
				
			||||
		}, | 
				
			||||
		created() { | 
				
			||||
			this.getDictOption() | 
				
			||||
			this.fetchData('') | 
				
			||||
		}, | 
				
			||||
		mounted() {}, | 
				
			||||
		methods: { | 
				
			||||
			getDictOption() { | 
				
			||||
				axios | 
				
			||||
					.get('/dict_data/simpleList?type=std_filed_type', jwHeader) | 
				
			||||
					.then(res => { | 
				
			||||
						this.dict.filedType = res.data | 
				
			||||
					}) | 
				
			||||
			}, | 
				
			||||
			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 | 
				
			||||
					}) | 
				
			||||
			}, | 
				
			||||
			save() { | 
				
			||||
				const data = this.formData | 
				
			||||
				const url = data.ID ? '/std_filed/update' : '/std_filed/create' | 
				
			||||
				axios | 
				
			||||
					.post(url, data, jwHeader) | 
				
			||||
					.then(response => { | 
				
			||||
						console.log(response.data) | 
				
			||||
						this.fetchData('') | 
				
			||||
					}) | 
				
			||||
					.catch(error => {}) | 
				
			||||
			}, | 
				
			||||
		}, | 
				
			||||
	}) | 
				
			||||
</script> | 
				
			||||
 | 
				
			||||
<style> | 
				
			||||
	.app-container { | 
				
			||||
		box-sizing: border-box; | 
				
			||||
		padding: 10px; | 
				
			||||
		background-color: #fff; | 
				
			||||
	} | 
				
			||||
	.form { | 
				
			||||
		padding: 10px; | 
				
			||||
		display: grid; | 
				
			||||
		grid-template-rows: repeat(2, 1fr); | 
				
			||||
		grid-template-columns: auto auto; | 
				
			||||
		grid-template-areas: 'a c' 'b c'; | 
				
			||||
		gap: 5px; | 
				
			||||
	} | 
				
			||||
 | 
				
			||||
	.form .row { | 
				
			||||
		display: flex; | 
				
			||||
		flex-flow: row nowrap; | 
				
			||||
		gap: 5px; | 
				
			||||
		align-items: center; | 
				
			||||
	} | 
				
			||||
 | 
				
			||||
	.form .domain { | 
				
			||||
		display: flex; | 
				
			||||
		flex-flow: row nowrap; | 
				
			||||
		align-items: end; | 
				
			||||
		gap: 10px; | 
				
			||||
	} | 
				
			||||
	.domain button { | 
				
			||||
		border: 0; | 
				
			||||
		padding: 5px 10px; | 
				
			||||
		background-color: #0029be; | 
				
			||||
		border-radius: 4px; | 
				
			||||
		color: #fff; | 
				
			||||
	} | 
				
			||||
	.row label { | 
				
			||||
		margin-bottom: 0; | 
				
			||||
		font-weight: normal; | 
				
			||||
	} | 
				
			||||
	.row input, | 
				
			||||
	.row select { | 
				
			||||
		outline: none; | 
				
			||||
		border: 0; | 
				
			||||
		padding: 5px 10px; | 
				
			||||
		background-color: #cccccc88; | 
				
			||||
		border-radius: 4px; | 
				
			||||
		color: #000; | 
				
			||||
	} | 
				
			||||
</style> | 
				
			||||
@ -0,0 +1,407 @@
					 | 
				
			||||
@@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> | 
				
			||||
					</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}` | 
				
			||||
			}, | 
				
			||||
			appendFiled(item) { | 
				
			||||
				window.location.href = `./std_filed_map.html?type=${item.PARAMETR_TYPE}&table=${item.MAPPING_TABLE}` | 
				
			||||
			}, | 
				
			||||
		}, | 
				
			||||
	}) | 
				
			||||
</script> | 
				
			||||
@ -0,0 +1,333 @@
					 | 
				
			||||
@@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">字典名称:</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 | 
				
			||||
								@click="appendData(item)" | 
				
			||||
								data-target="#gridSystemModal" | 
				
			||||
								class="btn btn-link" | 
				
			||||
							> | 
				
			||||
								<i class="mdi mdi-database"></i> 数据 | 
				
			||||
							</button> | 
				
			||||
							<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.TYPE" | 
				
			||||
								name="Description" | 
				
			||||
								id="message-text" | 
				
			||||
							></textarea> | 
				
			||||
						</div> | 
				
			||||
						<div class="form-group"> | 
				
			||||
							<label | 
				
			||||
								for="message-text" | 
				
			||||
								class="control-label" | 
				
			||||
								>备注:</label | 
				
			||||
							> | 
				
			||||
							<textarea | 
				
			||||
								class="form-control" | 
				
			||||
								v-model="formData.REMARK" | 
				
			||||
								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 = '/dict/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) { | 
				
			||||
				var urlById = '/dict/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) { | 
				
			||||
				this.title = this.addTitle | 
				
			||||
				this.formData = {} | 
				
			||||
			}, | 
				
			||||
			addOrUpdate: function () { | 
				
			||||
				var th = this | 
				
			||||
				var frmId = 'frmEdit' | 
				
			||||
				var json = this.formData | 
				
			||||
				var url = json.ID ? '/dict/update' : '/dict/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) { | 
				
			||||
							frmEdit.reset() | 
				
			||||
							btnCloseEdit.click() | 
				
			||||
						} else { | 
				
			||||
							tools.highlightErrorFields(response.data) | 
				
			||||
						} | 
				
			||||
					}) | 
				
			||||
					.catch(error => { | 
				
			||||
						this.error = error.message | 
				
			||||
						this.data = null | 
				
			||||
					}) | 
				
			||||
			}, | 
				
			||||
			appendData(item) { | 
				
			||||
				// 跳转到其他html页面 | 
				
			||||
				window.location.href = `./sys_dict_data.html?type=${item.TYPE}` | 
				
			||||
			}, | 
				
			||||
		}, | 
				
			||||
	}) | 
				
			||||
</script> | 
				
			||||
@ -0,0 +1,341 @@
					 | 
				
			||||
@@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">字典标签:</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.LABEL" | 
				
			||||
								name="LABEL" | 
				
			||||
								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.VALUE" | 
				
			||||
								name="VALUE" | 
				
			||||
								id="message-text" | 
				
			||||
							></textarea> | 
				
			||||
						</div> | 
				
			||||
						<div class="form-group"> | 
				
			||||
							<label | 
				
			||||
								for="message-text" | 
				
			||||
								class="control-label" | 
				
			||||
								>排序:</label | 
				
			||||
							> | 
				
			||||
							<input | 
				
			||||
								class="form-control" | 
				
			||||
								v-model="formData.SORT" | 
				
			||||
								name="SORT" | 
				
			||||
								type="number" | 
				
			||||
								id="message-text" | 
				
			||||
							/> | 
				
			||||
						</div> | 
				
			||||
						<div class="form-group"> | 
				
			||||
							<label | 
				
			||||
								for="message-text" | 
				
			||||
								class="control-label" | 
				
			||||
								>备注:</label | 
				
			||||
							> | 
				
			||||
							<textarea | 
				
			||||
								class="form-control" | 
				
			||||
								v-model="formData.REMARK" | 
				
			||||
								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: {}, | 
				
			||||
			dictType: '', | 
				
			||||
		}, | 
				
			||||
		mounted() { | 
				
			||||
			var url = window.location.href | 
				
			||||
			var dictType = url.substring(url.lastIndexOf('=') + 1) | 
				
			||||
			this.dictType = dictType | 
				
			||||
			this.fetchData('') | 
				
			||||
		}, | 
				
			||||
		methods: { | 
				
			||||
			fetchData(append) { | 
				
			||||
				var url = `/dict_data/list?type=${this.dictType}` + 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) { | 
				
			||||
				var urlById = '/dict_data/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) { | 
				
			||||
				this.title = this.addTitle | 
				
			||||
				this.formData = {} | 
				
			||||
			}, | 
				
			||||
			addOrUpdate: function () { | 
				
			||||
				var th = this | 
				
			||||
				var frmId = 'frmEdit' | 
				
			||||
				var json = this.formData | 
				
			||||
				var url = json.ID ? '/dict_data/update' : '/dict_data/create' | 
				
			||||
				json.DICT_TYPE = this.dictType | 
				
			||||
				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) { | 
				
			||||
							frmEdit.reset() | 
				
			||||
							btnCloseEdit.click() | 
				
			||||
						} else { | 
				
			||||
							tools.highlightErrorFields(response.data) | 
				
			||||
						} | 
				
			||||
					}) | 
				
			||||
					.catch(error => { | 
				
			||||
						this.error = error.message | 
				
			||||
						this.data = null | 
				
			||||
					}) | 
				
			||||
			}, | 
				
			||||
		}, | 
				
			||||
	}) | 
				
			||||
</script> | 
				
			||||
					Loading…
					
					
				
		Reference in new issue