|
@@ -10,7 +10,26 @@
|
|
|
:rules="rules"
|
|
|
:items="items"
|
|
|
:model="model"
|
|
|
- ></base-form>
|
|
|
+ >
|
|
|
+ <template #form-item-paperTable>
|
|
|
+ <base-table
|
|
|
+ ref="tableRef"
|
|
|
+ v-loading="paperLoading"
|
|
|
+ style="width: 240px"
|
|
|
+ border
|
|
|
+ stripe
|
|
|
+ size="small"
|
|
|
+ :data="paperTableData"
|
|
|
+ :columns="[
|
|
|
+ { label: '密号', prop: 'secretNumber', width: 120 },
|
|
|
+ { label: '分数', prop: 'score' },
|
|
|
+ ]"
|
|
|
+ max-height="180"
|
|
|
+ :cell-style="{ padding: '3px 0' }"
|
|
|
+ :header-cell-style="{ padding: '3px 0' }"
|
|
|
+ ></base-table>
|
|
|
+ </template>
|
|
|
+ </base-form>
|
|
|
</div>
|
|
|
<div class="flex-1 radius-base fill-blank tree-card">
|
|
|
<div class="flex items-center justify-between">
|
|
@@ -93,7 +112,7 @@
|
|
|
<script setup lang="ts" name="MarkingAssess">
|
|
|
/** 强制考核分发 */
|
|
|
import { reactive, ref, computed, watch } from 'vue'
|
|
|
-import { ElButton, ElInput, ElTree, ElMessage } from 'element-plus'
|
|
|
+import { ElButton, ElInput, ElTree, ElMessage, ElTable } from 'element-plus'
|
|
|
import BaseForm from '@/components/element/BaseForm.vue'
|
|
|
import BaseTable from '@/components/element/BaseTable.vue'
|
|
|
import BaseDialog from '@/components/element/BaseDialog.vue'
|
|
@@ -130,19 +149,31 @@ const model = reactive<ExtractApiParams<'handOutForceCheck'>>({
|
|
|
|
|
|
const { fetch: handOutForceCheck, loading } = useFetch('handOutForceCheck')
|
|
|
const { fetch: getForceCheckGroupList, result: forceCheckGroupList } = useFetch('getForceCheckGroupList')
|
|
|
-
|
|
|
+const { fetch: getExpertAssessList, result: rfSampleList, loading: paperLoading } = useFetch('getExpertAssessList')
|
|
|
const { fetch: getMarkerTree, result: markerTree } = useFetch('getMarkerTree')
|
|
|
const paperCount = computed(() => {
|
|
|
return (forceCheckGroupList.value || []).find((item) => {
|
|
|
return item.forceGroupNumber == model.forceGroupNumber
|
|
|
})?.paperCount
|
|
|
})
|
|
|
+const paperTableData = computed<any>(() => {
|
|
|
+ return rfSampleList.value?.result || []
|
|
|
+})
|
|
|
watch(
|
|
|
model,
|
|
|
() => {
|
|
|
if ((model.subjectCode, model.mainNumber)) {
|
|
|
getForceCheckGroupList({ subjectCode: model.subjectCode, mainNumber: model.mainNumber })
|
|
|
getMarkerTree({ subjectCode: model.subjectCode, mainNumber: model.mainNumber, name: '' })
|
|
|
+ if (model.forceGroupNumber) {
|
|
|
+ getExpertAssessList({
|
|
|
+ subjectCode: model.subjectCode,
|
|
|
+ mainNumber: model.mainNumber,
|
|
|
+ pageNumber: 1,
|
|
|
+ pageSize: 9999999,
|
|
|
+ forceGroupNumber: model.forceGroupNumber,
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
{ immediate: true }
|
|
@@ -162,6 +193,8 @@ watch(dataModel, () => {
|
|
|
const { formRef, elFormRef, defineColumn, _ } = useForm()
|
|
|
|
|
|
const Span12 = defineColumn(_, '', { span: 12 })
|
|
|
+const Span6 = defineColumn(_, '', { span: 6 })
|
|
|
+const Span18 = defineColumn(_, '', { span: 18 })
|
|
|
|
|
|
const rules: EpFormRules = {
|
|
|
subjectCode: [{ required: true, message: '请选择科目' }],
|
|
@@ -203,7 +236,7 @@ const items = computed<EpFormItem[]>(() => {
|
|
|
disabled: !isExpert.value && !isLeader.value,
|
|
|
},
|
|
|
}),
|
|
|
- {
|
|
|
+ Span6({
|
|
|
rowKey: 'row-3',
|
|
|
prop: 'forceGroupNumber',
|
|
|
slotType: 'radio',
|
|
@@ -213,7 +246,11 @@ const items = computed<EpFormItem[]>(() => {
|
|
|
slotLabel: `第${v.forceGroupNumber}组`,
|
|
|
})),
|
|
|
},
|
|
|
- },
|
|
|
+ }),
|
|
|
+ Span18({
|
|
|
+ rowKey: 'row-3',
|
|
|
+ slotName: 'paperTable',
|
|
|
+ }),
|
|
|
]
|
|
|
})
|
|
|
|
|
@@ -370,14 +407,16 @@ const sendHandler = () => {
|
|
|
}
|
|
|
}
|
|
|
.top-box {
|
|
|
- height: 395px;
|
|
|
+ // height: 395px;
|
|
|
+ height: 420px;
|
|
|
.form-card {
|
|
|
padding: 16px 20px 20px 20px;
|
|
|
}
|
|
|
.tree-card {
|
|
|
padding: 10px 20px 20px 20px;
|
|
|
.tree-box {
|
|
|
- height: 320px;
|
|
|
+ // height: 320px;
|
|
|
+ height: 345px;
|
|
|
margin-top: 10px;
|
|
|
}
|
|
|
}
|