From d8d68a0aee93073b5ec3195368ca0ed1076f66a2 Mon Sep 17 00:00:00 2001 From: 董国庆 <364620639@qq.com> Date: 星期三, 25 六月 2025 17:58:08 +0800 Subject: [PATCH] 对接评定接口和中台待办事项 --- laboratory/src/views/deliveryAssessment/restsTask/components/detail.vue | 101 +++++++++++++++++++++++++++++++++++++------------- 1 files changed, 75 insertions(+), 26 deletions(-) diff --git a/laboratory/src/views/deliveryAssessment/restsTask/components/detail.vue b/laboratory/src/views/deliveryAssessment/restsTask/components/detail.vue index 8ac3fcd..eb3621e 100644 --- a/laboratory/src/views/deliveryAssessment/restsTask/components/detail.vue +++ b/laboratory/src/views/deliveryAssessment/restsTask/components/detail.vue @@ -3,6 +3,7 @@ :visible.sync="dialogVisible" :title="type === 'add' ? '新增其他任务' : '其他任务详情'" width="70%" + @open='open' @close="handleClose" > <div class="content-box"> @@ -11,10 +12,10 @@ <div>所属项目组</div> </div> <Table :data="criteriaList" :height="null"> - <el-table-column prop="name" label="项目组名称" /> - <el-table-column prop="name" label="项目负责人" /> - <el-table-column prop="name" label="项目组成员" /> - <el-table-column prop="name" label="创建时间" /> + <el-table-column prop="teamName" label="项目组名称" /> + <el-table-column prop="personCharge" label="项目负责人" /> + <el-table-column prop="staffName" label="项目组成员" /> + <el-table-column prop="createTime" label="创建时间" /> </Table> <el-row> @@ -37,14 +38,15 @@ > <el-option v-for="member in memberList" - :key="member.id" - :label="member.name" - :value="member.id" + :key="member.userId" + :label="member.nickName" + :value="member.userId" /> </el-select> </el-form-item> <el-form-item label="任务内容" prop="taskContent" required> <el-input + type="textarea" v-model="form.taskContent" placeholder="请输入" :disabled="type === 'detail'" @@ -61,6 +63,7 @@ </el-form-item> <el-form-item label="评定积分" prop="score" required> <el-input + type="number" v-model="form.score" placeholder="请输入" :disabled="type === 'detail'" @@ -70,10 +73,15 @@ </el-col> </el-row> </div> + <template v-slot:footer> + <el-button v-if="type === 'add'" type="primary" @click="handleSave">确认</el-button> + </template> </el-dialog> </template> <script> +import {getDetailByUserId, add, update, getDetailById} from '../service.js' +import moment from 'moment' export default { name: "Detail", props: { @@ -81,9 +89,9 @@ type: Boolean, default: false, }, - reportData: { - type: Object, - default: () => ({}), + id: { + type: String, + default: () => (''), }, type: { type: String, @@ -94,10 +102,12 @@ return { dialogVisible: false, form: { - assignee: "", + id: '', + teamId: '', + assignee: "", // 实际为 testerId taskContent: "", taskTime: "", - score: "", + score: "", // 实际为 evaluateScore }, rules: { assignee: [ @@ -122,22 +132,61 @@ }, immediate: true, }, - reportData: { - handler(val) { - if (val) { - this.form = { - assignee: val.assignee || "", - taskContent: val.taskContent || "", - taskTime: val.taskTime || "", - score: val.score || "", - }; - this.memberList = val.memberList || []; - } - }, - immediate: true, - }, }, methods: { + open(){ + getDetailByUserId().then(res=>{ + this.criteriaList=[{...res}] + this.memberList=res.staffs.filter(item => item.roleType == '5') || [] + this.form.teamId = res.id || '' + }) + // 如果是详情,获取详情数据 + if(this.type === 'detail' && this.id){ + getDetailById({id: this.id}).then(res => { + if(res && res){ + this.form = { + id: res.id || '', + teamId: res.teamId || '', + assignee: res.testerId || '', + taskContent: res.taskContent || '', + taskTime: res.taskTime || '', + score: res.evaluateScore || '', + } + } + }) + } else if(this.type === 'add') { + // 新增时清空表单 + this.form = { + id: '', + teamId: this.form.teamId, + assignee: '', + taskContent: '', + taskTime: '', + score: '', + } + } + }, + handleSave() { + this.$refs.formRef.validate(valid => { + if (!valid) return; + const params = { + id: this.form.id, + teamId: this.form.teamId, + taskContent: this.form.taskContent, + taskTime: this.form.taskTime ? moment(this.form.taskTime).format('YYYY-MM-DD HH:mm:ss') : '', + testerId: this.form.assignee, + evaluateScore: this.form.score, + }; + const api = this.type === 'add' ? add : update; + api(params).then(res => { + if(res && res.code === 200){ + this.$message.success('保存成功'); + this.$emit('close'); + this.$emit('update:modelValue', false); + } + }) + }) + }, handleClose() { this.$emit("update:modelValue", false); }, -- Gitblit v1.7.1