<commit_before><template>
	<div class="my-3 my-md-5">
		<div class="container">
			<div class="page-header">
				<h1 class="page-title">
					操作日志
				</h1>
				<div class="page-options d-flex">
					<div class="input-icon ml-2">
						<span class="input-icon-addon">
							<i class="fe fe-calendar">
							</i>
						</span>
						<DatePicker ref="datePicker" v-on:selected="loadAudit(1)"></DatePicker>
					</div>					
				</div>
				<button class="btn btn-primary ml-2" @click="loadAudit(1)">搜索</button>
			</div>
			<div class="card">
				<div class="card-body">
					<vue-loading v-if="loading" type="spiningDubbles" color="rgb(90, 193, 221)" :size="{ width: '50px', height: '50px' }"></vue-loading>

					<table class="table table-bordered" v-if="! loading">
						<thead>
							<tr>
								<th>操作时间</th>
								<th>操作内容</th>
								<th>操作人</th>
								<th>IP 地址</th>
							</tr>
						</thead>
						<tbody>
							<tr v-for="row in data" :key="row.id">
								<td nowrap>
									{{ moment(row.event_time).format('YYYY-MM-DD HH:mm:ss') }}
								</td>
								<td>{{ row.content }}</td>
								<td nowrap>{{ row.user }}</td>
								<td nowrap>{{ row.ip }}</td>
							</tr>
						</tbody>
					</table>
					<nav v-if="! loading">
						<b-pagination align="center" :total-rows="total" v-model="currentPage" :per-page="10">
						</b-pagination>
					</nav>
				</div>
			</div>
		</div>
	</div>
</template>

<script>
import DatePicker from "@/components/DatePicker"
import { mapGetters } from "vuex"<commit_msg>审计支持空字段处理<commit_after><template>
	<div class="my-3 my-md-5">
		<div class="container">
			<div class="page-header">
				<h1 class="page-title">
					操作日志
				</h1>
				<div class="page-options d-flex">
					<div class="input-icon ml-2">
						<span class="input-icon-addon">
							<i class="fe fe-calendar">
							</i>
						</span>
						<DatePicker ref="datePicker" v-on:selected="loadAudit(1)"></DatePicker>
					</div>					
				</div>
				<button class="btn btn-primary ml-2" @click="loadAudit(1)">搜索</button>
			</div>
			<div class="card">
				<div class="card-body">
					<vue-loading v-if="loading" type="spiningDubbles" color="rgb(90, 193, 221)" :size="{ width: '50px', height: '50px' }"></vue-loading>

					<table class="table table-bordered" v-if="! loading">
						<thead>
							<tr>
								<th>操作时间</th>
								<th>操作内容</th>
								<th>操作人</th>
								<th>IP 地址</th>
							</tr>
						</thead>
						<tbody>
							<tr v-for="row in data" :key="row.id">
								<td nowrap>
									{{ moment(row.event_time).format('YYYY-MM-DD HH:mm:ss') }}
								</td>
								<td>{{ row.content }}</td>
								<td nowrap>{{ row.user.length ? row.user : '-' }}</td>
								<td nowrap>{{ row.ip }}</td>
							</tr>
						</tbody>
					</table>
					<nav v-if="! loading">
						<b-pagination align="center" :total-rows="total" v-model="currentPage" :per-page="10">
						</b-pagination>
					</nav>
				</div>
			</div>
		</div>
	</div>
</template>

<script>
import DatePicker from "@/components/DatePicker"
import { mapGetters } from "vuex"
{'fraction_non_alphanumeric': 0.21289695398574207, 'fraction_numerical': 0.014257939079714841, 'mean_word_length': 2.3627450980392157, 'pattern_counts': {'":': 0, '<': 121, '<?xml version=': 0, '>': 121, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5614988', 'n_tokens_mistral': 1648, 'n_tokens_neox': 1193, 'n_words': 230}