| | |
| | | <el-form-item label="任务名称" prop="taskName"> |
| | | <el-input v-model="form.taskName" placeholder="请输入任务名称"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="任务类别" prop="taskType"> |
| | | <el-form-item label="任务类别" prop="categoryEntities"> |
| | | <ul class="type-list"> |
| | | <li class="type-item"> |
| | | <div class="title">类别</div> |
| | |
| | | <div class="number">名额</div> |
| | | <div class="tool">操作</div> |
| | | </li> |
| | | <li class="type-item" v-for="(item, index) in form.taskType" :key="index"> |
| | | <div class="title">{{ item.title }}</div> |
| | | <li class="type-item" v-for="(item, index) in form.categoryEntities" :key="index"> |
| | | <div class="title">{{ item.categoryName }}</div> |
| | | <el-tooltip effect="dark" placement="top"> |
| | | <template #content> |
| | | <p style="width: 500px;">{{ item.introduction }}</p> |
| | | <p style="max-width: 500px;">{{ item.standard }}</p> |
| | | </template> |
| | | <div class="introduction"> |
| | | {{ item.introduction }} |
| | | {{ item.standard }} |
| | | </div> |
| | | </el-tooltip> |
| | | |
| | | <div class="number">{{ item.number }}</div> |
| | | <div class="number">{{ item.peopleNum }}</div> |
| | | <div class="tool"> |
| | | <el-popconfirm title="是否确认删除当前评优类别?" @confirm="deleteTaskType(index)"> |
| | | <template #reference> |
| | |
| | | <!-- 添加类别弹窗 --> |
| | | <el-dialog v-model="innerVisible" width="40%" title="添加评优类别" append-to-body @close="innerDialogClose"> |
| | | <el-form :model="taskTypeForm" :rules="taskTypeRules" ref="taskTypeFormRef" label-width="80px"> |
| | | <el-form-item label="类别" prop="title"> |
| | | <el-input v-model="taskTypeForm.title" placeholder="请输入类别名称"></el-input> |
| | | <el-form-item label="类别" prop="categoryName"> |
| | | <el-input v-model="taskTypeForm.categoryName" placeholder="请输入类别名称"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="认定标准" prop="introduction"> |
| | | <el-input type="textarea" v-model="taskTypeForm.introduction" placeholder="请输入认定标准"></el-input> |
| | | <el-form-item label="认定标准" prop="standard"> |
| | | <el-input type="textarea" v-model="taskTypeForm.standard" placeholder="请输入认定标准"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="名额" prop="number"> |
| | | <el-input v-model="taskTypeForm.number" placeholder="请输入名额数量"></el-input> |
| | | <el-form-item label="名额" prop="peopleNum"> |
| | | <el-input v-model="taskTypeForm.peopleNum" placeholder="请输入名额数量"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | <template #footer> |
| | |
| | | </div> |
| | | <template #footer> |
| | | <el-button @click="() => params.visible = false">取消</el-button> |
| | | <el-button type="primary">确定</el-button> |
| | | <el-button type="primary" @click="addEvaluateTask">确定</el-button> |
| | | </template> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | import _ from 'lodash'; |
| | | import { add } from '@/api/evaluate/evaluateTask' |
| | | |
| | | export default { |
| | | inject: ['type'], |
| | | props: { |
| | | params: { |
| | | type: Object, |
| | |
| | | return { |
| | | form: { |
| | | taskName: '', |
| | | taskType: [], |
| | | categoryEntities: [], |
| | | candidateCutoffTimeStart: '', |
| | | candidateCutoffTimeEnd: '' |
| | | }, |
| | | taskTypeForm: { |
| | | title: '', |
| | | introduction: '', |
| | | number: '' |
| | | categoryName: '', |
| | | standard: '', |
| | | peopleNum: '' |
| | | }, |
| | | rules: { |
| | | taskName: [ |
| | | { required: true, message: '请输入任务名称', trigger: 'click' }, |
| | | ], |
| | | taskType: [ |
| | | categoryEntities: [ |
| | | { required: true, message: '任务类别不可为空', trigger: 'click' }, |
| | | ], |
| | | candidateCutoffTimeStart: [ |
| | |
| | | ] |
| | | }, |
| | | taskTypeRules: { |
| | | title: [ |
| | | categoryName: [ |
| | | { required: true, message: '请输入类别', trigger: 'click' } |
| | | ], |
| | | introduction: [ |
| | | standard: [ |
| | | { required: true, message: '请输入认定标准', trigger: 'click' } |
| | | ], |
| | | number: [ |
| | | peopleNum: [ |
| | | { required: true, message: '请输入名额', trigger: 'click' } |
| | | ] |
| | | }, |
| | |
| | | }, |
| | | deleteTaskType(index) { |
| | | try { |
| | | this.form.taskType.splice(index, 1) |
| | | this.form.categoryEntities.splice(index, 1) |
| | | this.$message.success('删除当前评优类别成功') |
| | | } catch (error) { |
| | | this.$message.error('删除当前评优类别失败') |
| | |
| | | this.$refs.taskTypeFormRef.validate(vaild => { |
| | | if (!vaild) return |
| | | const curValue = _.cloneDeep(this.taskTypeForm) |
| | | this.form.taskType.push(curValue) |
| | | console.log(curValue); |
| | | this.form.categoryEntities.push(curValue) |
| | | console.log(this.form.categoryEntities); |
| | | this.innerVisible = false |
| | | }) |
| | | }, |
| | | addEvaluateTask() { |
| | | this.$refs.formRef.validate(valid => { |
| | | if (!valid) return |
| | | const data = { |
| | | ..._.cloneDeep(this.form), |
| | | type: this.type() |
| | | } |
| | | add(this.form).then(res => { |
| | | // if () |
| | | console.log(res); |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | }; |