mirror of
				https://github.com/TeaOSLab/EdgeAdmin.git
				synced 2025-11-04 13:10:26 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			75 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
Vue.component("http-charsets-box", {
 | 
						||
	props: ["v-usual-charsets", "v-all-charsets", "v-charset-config", "v-is-location", "v-is-group"],
 | 
						||
	data: function () {
 | 
						||
		let charsetConfig = this.vCharsetConfig
 | 
						||
		if (charsetConfig == null) {
 | 
						||
			charsetConfig = {
 | 
						||
				isPrior: false,
 | 
						||
				isOn: false,
 | 
						||
				charset: "",
 | 
						||
				isUpper: false,
 | 
						||
				force: false
 | 
						||
			}
 | 
						||
		}
 | 
						||
		return {
 | 
						||
			charsetConfig: charsetConfig,
 | 
						||
			advancedVisible: false
 | 
						||
		}
 | 
						||
	},
 | 
						||
	methods: {
 | 
						||
		changeAdvancedVisible: function (v) {
 | 
						||
			this.advancedVisible = v
 | 
						||
		}
 | 
						||
	},
 | 
						||
	template: `<div>
 | 
						||
	<input type="hidden" name="charsetJSON" :value="JSON.stringify(charsetConfig)"/>
 | 
						||
	<table class="ui table definition selectable">
 | 
						||
		<prior-checkbox :v-config="charsetConfig" v-if="vIsLocation || vIsGroup"></prior-checkbox>
 | 
						||
		<tbody v-show="(!vIsLocation && !vIsGroup) || charsetConfig.isPrior">
 | 
						||
			<tr>
 | 
						||
				<td class="title">启用字符编码</td>
 | 
						||
				<td>
 | 
						||
					<div class="ui checkbox">
 | 
						||
						<input type="checkbox" v-model="charsetConfig.isOn"/>
 | 
						||
						<label></label>
 | 
						||
					</div>
 | 
						||
				</td>
 | 
						||
			</tr>
 | 
						||
		</tbody>
 | 
						||
		<tbody v-show="((!vIsLocation && !vIsGroup) || charsetConfig.isPrior) && charsetConfig.isOn">	
 | 
						||
			<tr>
 | 
						||
				<td class="title">选择字符编码</td>
 | 
						||
				<td><select class="ui dropdown" style="width:20em" name="charset" v-model="charsetConfig.charset">
 | 
						||
						<option value="">[未选择]</option>
 | 
						||
						<optgroup label="常用字符编码"></optgroup>
 | 
						||
						<option v-for="charset in vUsualCharsets" :value="charset.charset">{{charset.charset}}({{charset.name}})</option>
 | 
						||
						<optgroup label="全部字符编码"></optgroup>
 | 
						||
						<option v-for="charset in vAllCharsets" :value="charset.charset">{{charset.charset}}({{charset.name}})</option>
 | 
						||
					</select>
 | 
						||
				</td>
 | 
						||
			</tr>
 | 
						||
		</tbody>
 | 
						||
		<more-options-tbody @change="changeAdvancedVisible" v-if="((!vIsLocation && !vIsGroup) || charsetConfig.isPrior) && charsetConfig.isOn"></more-options-tbody>
 | 
						||
		<tbody v-show="((!vIsLocation && !vIsGroup) || charsetConfig.isPrior) && charsetConfig.isOn && advancedVisible">
 | 
						||
			<tr>
 | 
						||
				<td>强制替换</td>
 | 
						||
				<td>
 | 
						||
					<checkbox v-model="charsetConfig.force"></checkbox>
 | 
						||
					<p class="comment">选中后,表示强制覆盖已经设置的字符集;不选中,表示如果源站已经设置了字符集,则保留不修改。</p>
 | 
						||
				</td>
 | 
						||
			</tr>
 | 
						||
			<tr>
 | 
						||
				<td>字符编码大写</td>
 | 
						||
				<td>
 | 
						||
					<div class="ui checkbox">
 | 
						||
						<input type="checkbox" v-model="charsetConfig.isUpper"/>
 | 
						||
						<label></label>
 | 
						||
					</div>
 | 
						||
					<p class="comment">选中后将指定的字符编码转换为大写,比如默认为<code-label>utf-8</code-label>,选中后将改为<code-label>UTF-8</code-label>。</p>
 | 
						||
				</td>
 | 
						||
			</tr>
 | 
						||
		</tbody>
 | 
						||
	</table>
 | 
						||
	<div class="margin"></div>
 | 
						||
</div>`
 | 
						||
}) |