|
@@ -2,94 +2,49 @@
|
|
<div>
|
|
<div>
|
|
<div>
|
|
<div>
|
|
<div>报表默认说明</div>
|
|
<div>报表默认说明</div>
|
|
- <a-button>确定</a-button>
|
|
|
|
- <a-button>取消</a-button>
|
|
|
|
|
|
+ <a-button @click="handleOrgPorps">确定</a-button>
|
|
|
|
+ <a-button @click="goBack">取消</a-button>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div>
|
|
<div>
|
|
- <div>
|
|
|
|
- <div>整体分析——试卷特征量数</div>
|
|
|
|
- <a-textarea :auto-size="{ minRows: 3, maxRows: 5 }"></a-textarea>
|
|
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
- <div>整体分析——等距(10分)分组频数分布</div>
|
|
|
|
- <a-textarea :auto-size="{ minRows: 3, maxRows: 5 }"></a-textarea>
|
|
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
- <div>整体分析——科目分数线分组的频数分布</div>
|
|
|
|
- <a-textarea :auto-size="{ minRows: 3, maxRows: 5 }"></a-textarea>
|
|
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
- <div>整体分析——科目成绩占初试总分权重</div>
|
|
|
|
- <a-textarea :auto-size="{ minRows: 3, maxRows: 5 }"></a-textarea>
|
|
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
- <div>试卷分析——试卷题目编排</div>
|
|
|
|
- <a-textarea :auto-size="{ minRows: 3, maxRows: 5 }"></a-textarea>
|
|
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
- <div>试卷分析——试题特征量数</div>
|
|
|
|
- <a-textarea :auto-size="{ minRows: 3, maxRows: 5 }"></a-textarea>
|
|
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
- <div>试卷分析——题型题目难度等级构成分布</div>
|
|
|
|
- <a-textarea :auto-size="{ minRows: 3, maxRows: 5 }"></a-textarea>
|
|
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
- <div>试卷分析——内容题目难度等级构成分布</div>
|
|
|
|
- <a-textarea :auto-size="{ minRows: 3, maxRows: 5 }"></a-textarea>
|
|
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
- <div>试卷分析——能力题目难度等级构成分布(一)</div>
|
|
|
|
- <a-textarea :auto-size="{ minRows: 3, maxRows: 5 }"></a-textarea>
|
|
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
- <div>试卷分析——能力题目难度等级构成分布(二)</div>
|
|
|
|
- <a-textarea :auto-size="{ minRows: 3, maxRows: 5 }"></a-textarea>
|
|
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
- <div>试卷分析——题型题目区分度等级构成分布</div>
|
|
|
|
- <a-textarea :auto-size="{ minRows: 3, maxRows: 5 }"></a-textarea>
|
|
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
- <div>试卷分析——内容题目区分度等级构成分布</div>
|
|
|
|
- <a-textarea :auto-size="{ minRows: 3, maxRows: 5 }"></a-textarea>
|
|
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
- <div>试卷分析——能力题目区分度等级构成分布(一)</div>
|
|
|
|
- <a-textarea :auto-size="{ minRows: 3, maxRows: 5 }"></a-textarea>
|
|
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
- <div>试卷分析——能力题目区分度等级构成分布(二)</div>
|
|
|
|
- <a-textarea :auto-size="{ minRows: 3, maxRows: 5 }"></a-textarea>
|
|
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
- <div>试卷分析——试题难度分组分布(按本科目成绩分组)</div>
|
|
|
|
- <a-textarea :auto-size="{ minRows: 3, maxRows: 5 }"></a-textarea>
|
|
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
- <div>试卷分析——试题难度分组分布(按初试总分分组)</div>
|
|
|
|
- <a-textarea :auto-size="{ minRows: 3, maxRows: 5 }"></a-textarea>
|
|
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
- <div>试卷分析——客观题选项选择比率分布</div>
|
|
|
|
- <a-textarea :auto-size="{ minRows: 3, maxRows: 5 }"></a-textarea>
|
|
|
|
|
|
+ <div v-for="(item, index) in Object.keys(orgPorps).sort()" :key="index">
|
|
|
|
+ <div>{{ codeToName(item) }}</div>
|
|
|
|
+ <a-textarea
|
|
|
|
+ :auto-size="{ minRows: 3, maxRows: 5 }"
|
|
|
|
+ v-model:value="orgPorps[item]"
|
|
|
|
+ ></a-textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
-import { getRootOrgSettings } from "@/api/rootOrgPage";
|
|
|
|
|
|
+import { getRootOrgSettings, saveOrgSetting } from "@/api/rootOrgPage";
|
|
import { onMounted, reactive } from "vue-demi";
|
|
import { onMounted, reactive } from "vue-demi";
|
|
import { useRoute } from "vue-router";
|
|
import { useRoute } from "vue-router";
|
|
|
|
+import { ORG_GLOSSARY } from "@/constants/constants";
|
|
|
|
+import { goBack } from "@/utils/utils";
|
|
|
|
|
|
const route = useRoute();
|
|
const route = useRoute();
|
|
-const orgId = route.params.orgId as string;
|
|
|
|
-const rootOrg = reactive({});
|
|
|
|
|
|
+const orgId = +route.params.orgId;
|
|
|
|
+
|
|
|
|
+let orgPorps = reactive<any>({});
|
|
|
|
+// let orgPorps = reactive<typeof ORG_GLOSSARY>({} as any);
|
|
|
|
|
|
onMounted(async () => {
|
|
onMounted(async () => {
|
|
const res = await getRootOrgSettings(orgId);
|
|
const res = await getRootOrgSettings(orgId);
|
|
console.log(res);
|
|
console.log(res);
|
|
|
|
+ // orgPorps = res.data;
|
|
|
|
+ Object.assign(orgPorps, res.data);
|
|
});
|
|
});
|
|
|
|
+
|
|
|
|
+async function handleOrgPorps() {
|
|
|
|
+ await saveOrgSetting(orgId, orgPorps);
|
|
|
|
+}
|
|
|
|
+function codeToName(item: any): any {
|
|
|
|
+ return ORG_GLOSSARY[item as keyof typeof ORG_GLOSSARY];
|
|
|
|
+}
|
|
|
|
+function codeToValue(item: any): any {
|
|
|
|
+ return orgPorps[item as keyof typeof ORG_GLOSSARY];
|
|
|
|
+}
|
|
</script>
|
|
</script>
|