|
@@ -50,7 +50,8 @@
|
|
|
<!-- 通用 -->
|
|
|
<template v-if="RootCate == '0'">
|
|
|
<el-table :data="tableData" tooltip-effect="dark" style="width: 100%">
|
|
|
- <el-table-column label="序号" width="100" prop="hp_id"></el-table-column>
|
|
|
+ <el-table-column type="index" label="序号" width="50" />
|
|
|
+ <!-- <el-table-column label="序号" width="100" prop="hp_id"></el-table-column> -->
|
|
|
<el-table-column label="名称" width="auto" prop="hp_name"></el-table-column>
|
|
|
<!-- <el-table-column label="占比(%)" width="100" prop="hp_zbsz"></el-table-column> -->
|
|
|
|
|
@@ -84,11 +85,12 @@
|
|
|
</el-table>
|
|
|
|
|
|
<el-dialog v-if="visibleRight" :visible.sync="visibleRight" width="360" append-to-body>
|
|
|
- <el-form :model="rightForm" label-width="120px">
|
|
|
- <el-form-item label="评分模板名称" required>
|
|
|
+ <el-form :model="rightForm" label-width="120px" ref="rightFormRef">
|
|
|
+ <el-form-item label="评分模板名称" :rules="{ required: true, message: '评分模板名称不能为空', tigger: 'submit' }"
|
|
|
+ prop="hp_name">
|
|
|
<el-input v-model="rightForm.hp_name"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="评分方式">
|
|
|
+ <el-form-item label="评分方式" prop="hp_pfzbsz">
|
|
|
<el-radio-group v-model="rightForm.hp_pfzbsz">
|
|
|
<el-radio label="1">最高分最低分设置</el-radio>
|
|
|
<el-radio label="2">占比设置</el-radio>
|
|
@@ -96,17 +98,20 @@
|
|
|
</el-form-item>
|
|
|
|
|
|
<template v-if="rightForm.hp_pfzbsz === '1'">
|
|
|
- <el-form-item label="最高分" required>
|
|
|
+ <el-form-item label="最高分" :rules="{ required: true, message: '最高分不能为空', tigger: 'submit' }"
|
|
|
+ prop="hp_dffw">
|
|
|
<el-input-number :min="rightForm.hp_affw || -Infinity" controls-position="right"
|
|
|
v-model="rightForm.hp_dffw"></el-input-number>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="最低分" required>
|
|
|
+ <el-form-item label="最低分" :rules="{ required: true, message: '最低分不能为空', tigger: 'submit' }"
|
|
|
+ prop="hp_affw">
|
|
|
<el-input-number :max="rightForm.hp_dffw || Infinity" controls-position="right"
|
|
|
v-model="rightForm.hp_affw"></el-input-number>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
<template v-if="rightForm.hp_pfzbsz === '2'">
|
|
|
- <el-form-item label="占比(%)" required>
|
|
|
+ <el-form-item label="占比(%)" :rules="{ required: true, message: '占比不能为空', tigger: 'submit' }"
|
|
|
+ prop="hp_zbsz">
|
|
|
<el-input-number controls-position="right" :min="0" :max="100"
|
|
|
v-model="rightForm.hp_zbsz"></el-input-number>
|
|
|
</el-form-item>
|
|
@@ -122,7 +127,8 @@
|
|
|
<!-- 精准 -->
|
|
|
<template v-if="RootCate == '1'">
|
|
|
<el-table :data="tableData" tooltip-effect="dark" style="width: 100%">
|
|
|
- <el-table-column label="序号" width="100" prop="hp_id"></el-table-column>
|
|
|
+ <el-table-column type="index" label="序号" width="50" />
|
|
|
+ <!-- <el-table-column label="序号" width="100" prop="hp_id"></el-table-column> -->
|
|
|
<el-table-column label="考试细则" width="auto" prop="hp_name"></el-table-column>
|
|
|
<!-- <el-table-column label="占比(%)" width="100" prop="hp_zbsz"></el-table-column> -->
|
|
|
|
|
@@ -156,19 +162,21 @@
|
|
|
</el-table>
|
|
|
|
|
|
<el-dialog v-if="visibleRight" :visible.sync="visibleRight" width="360" append-to-body>
|
|
|
- <el-form :model="rightForm" label-width="120px">
|
|
|
- <el-form-item label="考试细则" required>
|
|
|
+ <el-form :model="rightForm" label-width="120px" ref="rightFormRef">
|
|
|
+ <el-form-item label="考试细则" :rules="{ required: true, message: '考试细则不能为空', tigger: 'submit' }"
|
|
|
+ prop="hp_name">
|
|
|
<el-input v-model="rightForm.hp_name"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="专家" required>
|
|
|
+ <el-form-item label="专家" :rules="{ required: true, message: '专家不能为空', tigger: 'submit' }"
|
|
|
+ prop="hp_zjsz">
|
|
|
<!-- <el-input v-model="rightForm.hp_zjsz"></el-input> -->
|
|
|
- <remote-cascader-user v-model="rightForm.hp_zjsz" :my-props="{ multiple: true }"
|
|
|
+ <remote-cascader-user v-model="rightForm.hp_zjsz" :my-props="{ multiple: false }"
|
|
|
:d1="{ dept_id: 2 }" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="附件模板">
|
|
|
+ <el-form-item label="附件模板" prop="hp_fjmb">
|
|
|
<FileUpload :full.sync="rightForm.hp_fjmb"></FileUpload>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="评分方式">
|
|
|
+ <el-form-item label="评分方式" prop="hp_name">
|
|
|
<el-radio-group v-model="rightForm.hp_pfzbsz">
|
|
|
<el-radio label="1">最高分最低分设置</el-radio>
|
|
|
<el-radio label="2">占比设置</el-radio>
|
|
@@ -176,17 +184,19 @@
|
|
|
</el-form-item>
|
|
|
|
|
|
<template v-if="rightForm.hp_pfzbsz === '1'">
|
|
|
- <el-form-item label="最高分" required>
|
|
|
+ <el-form-item label="最高分" :rules="{ required: true, message: '最高分不能为空', tigger: 'submit' }"
|
|
|
+ prop="hp_dffw">
|
|
|
<el-input-number :min="rightForm.hp_affw || -Infinity" controls-position="right"
|
|
|
v-model="rightForm.hp_dffw"></el-input-number>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="最低分" required>
|
|
|
+ <el-form-item label="最低分" :rules="{ required: true, message: '最低分不能为空', tigger: 'submit' }"
|
|
|
+ prop="hp_affw">
|
|
|
<el-input-number :max="rightForm.hp_dffw || Infinity" controls-position="right"
|
|
|
v-model="rightForm.hp_affw"></el-input-number>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
- <template v-if="rightForm.hp_pfzbsz === '2'">
|
|
|
- <el-form-item label="占比(%)" required>
|
|
|
+ <template v-if="rightForm.hp_pfzbsz === '2'" prop="hp_zbsz">
|
|
|
+ <el-form-item label="占比(%)" :rules="{ required: true, message: '占比不能为空', tigger: 'submit' }">
|
|
|
<el-input-number controls-position="right" :min="0" :max="100"
|
|
|
v-model="rightForm.hp_zbsz"></el-input-number>
|
|
|
</el-form-item>
|
|
@@ -205,7 +215,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { defineComponent, ref, onUnmounted } from "@vue/composition-api";
|
|
|
+import { defineComponent, ref, onUnmounted, getCurrentInstance } from "@vue/composition-api";
|
|
|
import { treeApi, queryApi, addApi, deleteApi, editApi } from '../api'
|
|
|
import { Message } from 'element-ui'
|
|
|
import FileUpload from "@/components/FileUpload/index.vue";
|
|
@@ -215,6 +225,8 @@ export default defineComponent({
|
|
|
props: ["hp_id"],
|
|
|
components: { FileUpload, RemoteCascaderUser },
|
|
|
setup(props) {
|
|
|
+ const _this = getCurrentInstance().proxy;
|
|
|
+ const rightFormRef = ref()
|
|
|
const RootId = props.hp_id;
|
|
|
// 刷新后丢失数据
|
|
|
const RootName = ref(sessionStorage.getItem("hp_name"));
|
|
@@ -333,6 +345,7 @@ export default defineComponent({
|
|
|
visibleRight.value = false;
|
|
|
}
|
|
|
function handleRightSubmit() {
|
|
|
+ // console.log('_this :>> ', _this);
|
|
|
function fetchApi() {
|
|
|
if (currentMode === "add") {
|
|
|
return addApi({
|
|
@@ -347,14 +360,22 @@ export default defineComponent({
|
|
|
return editApi(rightForm.value.hp_id, rightForm.value);
|
|
|
}
|
|
|
}
|
|
|
- fetchApi().then(({ code }) => {
|
|
|
- if (code === "1") {
|
|
|
- Message.success("提交成功");
|
|
|
- handleRightQuery();
|
|
|
+ _this.$refs['rightFormRef'].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ fetchApi().then(({ code }) => {
|
|
|
+ if (code === "1") {
|
|
|
+ Message.success("提交成功");
|
|
|
+ handleRightQuery();
|
|
|
+ }
|
|
|
+ }).then(() => {
|
|
|
+ handleRightCancel();
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ console.log('error submit!!');
|
|
|
+ return false;
|
|
|
}
|
|
|
- }).then(() => {
|
|
|
- handleRightCancel();
|
|
|
});
|
|
|
+
|
|
|
}
|
|
|
function handleRightDel(id) {
|
|
|
deleteApi(id).then(({ code }) => code === "1" && (handleRightQuery()));
|
|
@@ -382,6 +403,7 @@ export default defineComponent({
|
|
|
handleRightAdd,
|
|
|
handleRightDel,
|
|
|
handleRightEdit,
|
|
|
+ rightFormRef
|
|
|
};
|
|
|
},
|
|
|
})
|