|
@@ -6,6 +6,7 @@ import { pick } from 'lodash-es';
|
|
|
import { ElMessage } from 'element-plus'
|
|
|
import type { FormInstance, FormRules } from 'element-plus'
|
|
|
import type { AxiosRequestConfig } from 'axios'
|
|
|
+import printJS from "print-js";
|
|
|
|
|
|
// #region (constant)
|
|
|
const TABLE_KEY = 'xkks_id'
|
|
@@ -95,6 +96,14 @@ const handleTableColBtn_edit = async (scope: { row: TYPE_TABLE_FIELD }) => {
|
|
|
whichDialogSubmit = 'edit'
|
|
|
const res = await detailApi(scope.row[TABLE_KEY])
|
|
|
dialogForm_Data.value = (res.data.one_info)
|
|
|
+ xsData.value = {
|
|
|
+ value: dialogForm_Data.value.xkks_zkzh,
|
|
|
+ label: dialogForm_Data.value.xkks_xsxm
|
|
|
+ }
|
|
|
+ kcData.value = {
|
|
|
+ value: dialogForm_Data.value.xkks_kcmc,
|
|
|
+ label: dialogForm_Data.value.xkks_kcmc_json
|
|
|
+ }
|
|
|
dialogVisible_addOrEdit.value = true
|
|
|
}
|
|
|
const handleTableColBtn_audit = (scope: { row: TYPE_TABLE_FIELD }) => {
|
|
@@ -135,6 +144,8 @@ const handleDialogFormBtn_submit = async (formRefKey: string, extendData?: Parti
|
|
|
const handleDialogFormBtn_cancel = (formRefKey?: string) => {
|
|
|
dialogVisible_addOrEdit.value = false
|
|
|
dialogVisible_audit.value = false
|
|
|
+ xsData.value = {};
|
|
|
+ kcData.value = {};
|
|
|
}
|
|
|
// #endregion
|
|
|
|
|
@@ -160,6 +171,7 @@ const dialogForm_Rules_addOrEdit = reactive({
|
|
|
|
|
|
// #region (dialog audit)
|
|
|
const dialogVisible_audit = ref<boolean>(false)
|
|
|
+const zkdDialog = ref<boolean>(false)
|
|
|
|
|
|
const dialogForm_Field_audit = reactive<{
|
|
|
FLAG: keyof TYPE_TABLE_FIELD,
|
|
@@ -274,6 +286,9 @@ function init() {
|
|
|
init()
|
|
|
// #endregion
|
|
|
|
|
|
+const xsData = ref({});
|
|
|
+const kcData = ref({});
|
|
|
+
|
|
|
|
|
|
const handleXsChange = ($event: { value: string, label: string }) => {
|
|
|
dialogForm_Data.value.xkks_zkzh = $event.value;
|
|
@@ -284,6 +299,88 @@ const handleKcChange = ($event: { value: string, label: string }) => {
|
|
|
dialogForm_Data.value.xkks_kcmc = $event.value;
|
|
|
dialogForm_Data.value.xkks_kcmc_json = $event.label;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+const handlePrint = () => {
|
|
|
+ printJS({
|
|
|
+ printable: "print-part",
|
|
|
+ type: "html",
|
|
|
+ style: `
|
|
|
+#print-part {
|
|
|
+ print-color-adjust: exact
|
|
|
+}
|
|
|
+.flex_center {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+}
|
|
|
+.flex {
|
|
|
+ display: flex;
|
|
|
+}
|
|
|
+
|
|
|
+.flex-col {
|
|
|
+ flex-direction: column;
|
|
|
+}
|
|
|
+
|
|
|
+.flex-row {
|
|
|
+ flex-direction: row;
|
|
|
+}
|
|
|
+
|
|
|
+.py-3 {
|
|
|
+ padding-top: 0.75rem;
|
|
|
+ padding-bottom: 0.75rem;
|
|
|
+}
|
|
|
+
|
|
|
+.py-2 {
|
|
|
+ padding-top: 0.5rem;
|
|
|
+ padding-bottom: 0.5rem;
|
|
|
+}
|
|
|
+
|
|
|
+.py-8 {
|
|
|
+ padding-top: 2rem;
|
|
|
+ padding-bottom: 2rem;
|
|
|
+}
|
|
|
+
|
|
|
+.px-3 {
|
|
|
+ padding-left: 0.75rem;
|
|
|
+ padding-right: 0.75rem;
|
|
|
+}
|
|
|
+
|
|
|
+.px-6 {
|
|
|
+ padding-left: 2rem;
|
|
|
+ padding-right: 2rem;
|
|
|
+}
|
|
|
+
|
|
|
+.text-2xl {
|
|
|
+ font-size: 1.5rem;
|
|
|
+ line-height: 2rem;
|
|
|
+}
|
|
|
+
|
|
|
+.pre::before {
|
|
|
+ background-color: rgba(96, 165, 250, 1);
|
|
|
+ display: inline-block;
|
|
|
+ height: 100%;
|
|
|
+ margin-right: 6px;
|
|
|
+ color: #60A5FA;
|
|
|
+ content: "|";
|
|
|
+ width: 4px;
|
|
|
+}
|
|
|
+
|
|
|
+.table-item {
|
|
|
+ width: 400px;margin: auto;border: 1px solid #aaa;padding: 20px;font-size: 20px;line-height: 30px;margin-bottom: 30px;
|
|
|
+}
|
|
|
+.justify-between {
|
|
|
+ justify-content: space-between;
|
|
|
+}
|
|
|
+.font30 {
|
|
|
+ font-size: 30px;
|
|
|
+}
|
|
|
+.font12 {
|
|
|
+ font-size: 12px;
|
|
|
+}
|
|
|
+`,
|
|
|
+ });
|
|
|
+};
|
|
|
</script>
|
|
|
|
|
|
<template>
|
|
@@ -314,6 +411,7 @@ const handleKcChange = ($event: { value: string, label: string }) => {
|
|
|
<el-button @click="handleTableRowBtn_export" type="success">导出打印</el-button>
|
|
|
<el-button @click="handleTableRowBtn_add" type="primary">新增</el-button>
|
|
|
<el-button @click="handleTableRowBtn_delete" type="danger">删除</el-button>
|
|
|
+ <el-button @click="zkdDialog=true" type="success">准考证打印</el-button>
|
|
|
</div>
|
|
|
|
|
|
<div class="divider"></div>
|
|
@@ -331,7 +429,7 @@ const handleKcChange = ($event: { value: string, label: string }) => {
|
|
|
<!-- <el-table-column prop="cm_id" label="班级编号" width="auto" show-overflow-tooltip></el-table-column> -->
|
|
|
<!-- <el-table-column prop="xkks_kcmc" label="考场名称" width="auto" show-overflow-tooltip></el-table-column> -->
|
|
|
<el-table-column prop="xkks_kcmc_json" label="考场名称" width="auto" show-overflow-tooltip></el-table-column>
|
|
|
- <!-- <el-table-column prop="xkks_zkzh" label="准考证号" width="auto" show-overflow-tooltip></el-table-column> -->
|
|
|
+ <el-table-column prop="xkks_zkzh" label="准考证号" width="auto" show-overflow-tooltip></el-table-column>
|
|
|
<el-table-column prop="xkks_zc_x" label="坐次列" width="auto" show-overflow-tooltip></el-table-column>
|
|
|
<el-table-column prop="xkks_zc_y" label="坐次行" width="auto" show-overflow-tooltip></el-table-column>
|
|
|
<el-table-column label="操作" fixed="right">
|
|
@@ -353,12 +451,12 @@ const handleKcChange = ($event: { value: string, label: string }) => {
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- {{ ksxx.ks }} -->
|
|
|
- <el-dialog v-model="dialogVisible_addOrEdit" append-to-body destroy-on-close>
|
|
|
+ <el-dialog v-model="dialogVisible_addOrEdit" append-to-body destroy-on-close @close="handleDialogFormBtn_cancel('dialogForm_Ref_addOrEdit')">
|
|
|
<el-form :model="dialogForm_Data" ref="dialogForm_Ref_addOrEdit" :rules="dialogForm_Rules_addOrEdit"
|
|
|
label-width="120px">
|
|
|
<el-form-item label="学生姓名" prop="xkks_xsxm">
|
|
|
<!-- <el-input v-model="dialogForm_Data.xkks_xsxm" clearable /> -->
|
|
|
- <el-select value-key="value" @change="handleXsChange">
|
|
|
+ <el-select value-key="value" v-model="xsData" @change="handleXsChange">
|
|
|
<el-option v-for="_ in ksxx.ks" :value="_" :label="_.label"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -370,12 +468,12 @@ const handleKcChange = ($event: { value: string, label: string }) => {
|
|
|
<el-form-item label="班级编号" prop="cm_id"><el-input v-model="dialogForm_Data.cm_id" clearable /></el-form-item> -->
|
|
|
<el-form-item label="考场名称" prop="xkks_kcmc">
|
|
|
<!-- <el-input v-model="dialogForm_Data.xkks_kcmc" clearable /> -->
|
|
|
- <el-select value-key="value" @change="handleKcChange">
|
|
|
+ <el-select value-key="value" v-model="kcData" @change="handleKcChange">
|
|
|
<el-option v-for="_ in ksxx.kc" :value="_" :label="_.label"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <!-- <el-form-item label="考场名称JSON" prop="xkks_kcmc_json"><el-input v-model="dialogForm_Data.xkks_kcmc_json" type="textarea" /></el-form-item>
|
|
|
- <el-form-item label="准考证号" prop="xkks_zkzh"><el-input v-model="dialogForm_Data.xkks_zkzh" clearable /></el-form-item> -->
|
|
|
+ <!-- <el-form-item label="考场名称JSON" prop="xkks_kcmc_json"><el-input v-model="dialogForm_Data.xkks_kcmc_json" type="textarea" /></el-form-item> -->
|
|
|
+ <el-form-item label="准考证号" prop="xkks_zkzh"><el-input v-model="dialogForm_Data.xkks_zkzh" clearable /></el-form-item>
|
|
|
<el-form-item label="坐次列" prop="xkks_zc_x">
|
|
|
<el-input v-model="dialogForm_Data.xkks_zc_x" clearable />
|
|
|
</el-form-item>
|
|
@@ -408,4 +506,43 @@ const handleKcChange = ($event: { value: string, label: string }) => {
|
|
|
</div>
|
|
|
</el-form>
|
|
|
</el-dialog>
|
|
|
+
|
|
|
+
|
|
|
+ <el-dialog v-model="zkdDialog" append-to-body destroy-on-close>
|
|
|
+ <div id="print-part" style="height: 500px;color: #000;overflow: auto;">
|
|
|
+ <div v-for="(item, index) in tableData" :key="index" class="table-item">
|
|
|
+ <div class="flex justify-between">
|
|
|
+ <div>
|
|
|
+ <div>{{ item.xkks_xsxm }}</div>
|
|
|
+ <div>准考证号:{{ item.xkks_zkzh }}</div>
|
|
|
+ <div>{{ item.xkks_kcmc_json }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="flex_center">
|
|
|
+ <div>
|
|
|
+ <div class="text-center font30">{{ item.xkks_zc_x }}排{{ item.xkks_zc_y }}座</div>
|
|
|
+ <div class="text-center font12">座位号</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="flex justify-center">
|
|
|
+ <el-button @click="handlePrint" type="primary">打印</el-button>
|
|
|
+ <el-button @click="zkdDialog=false" type="default">取消</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
</template>
|
|
|
+
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.table-item {
|
|
|
+ width: 400px;margin: auto;border: 1px solid #aaa;padding: 20px;font-size: 20px;line-height: 30px;margin-bottom: 30px;
|
|
|
+}
|
|
|
+.font30 {
|
|
|
+ font-size: 30px;
|
|
|
+}
|
|
|
+.font12 {
|
|
|
+ font-size: 12px;
|
|
|
+}
|
|
|
+</style>
|