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.
		
		
		
		
			
				
					244 lines
				
				4.4 KiB
			
		
		
			
		
	
	
					244 lines
				
				4.4 KiB
			| 
											6 months ago
										 | @@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>
 |