|
@@ -160,6 +160,11 @@
|
|
|
icon="el-icon-delete"
|
|
|
@click="handleDelete(scope.row)"
|
|
|
>删除</el-button>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ @click="handleOpenitem(scope.row)"
|
|
|
+ >开项</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -313,6 +318,106 @@
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
</el-dialog>
|
|
|
+
|
|
|
+ <!-- 添加或修改开项对话框 -->
|
|
|
+ <el-dialog :title="openitemTitle" :visible.sync="openitemOpen" width="500px" append-to-body>
|
|
|
+ <el-form ref="openitemForm" :model="openitemForm" :rules="openitemRules" label-width="120px">
|
|
|
+ <el-form-item label="问题类型" prop="type">
|
|
|
+ <el-select v-model="openitemForm.type" placeholder="请选择问题类型">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in dict.type.t_open_item_type"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="存在问题描述" prop="description">
|
|
|
+ <el-input v-model="openitemForm.description" type="textarea" placeholder="请输入内容" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="开项级别" prop="level">
|
|
|
+ <el-select v-model="openitemForm.level" placeholder="请选择开项级别">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in dict.type.t_open_item_level"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="开项时间" prop="openTime">
|
|
|
+ <el-date-picker clearable
|
|
|
+ v-model="openitemForm.openTime"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="请选择开项时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="闭项时间" prop="closeTime">
|
|
|
+ <el-date-picker clearable
|
|
|
+ v-model="openitemForm.closeTime"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="请选择闭项时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="问题处理状态" prop="result">
|
|
|
+ <el-select v-model="openitemForm.status" placeholder="请选择问题处理状态">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in dict.type.t_open_item_status"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="负责人" prop="personInCharge">
|
|
|
+ <el-select clearable v-model="openitemForm.personInCharge" placeholder="请选择负责人">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in userOptions"
|
|
|
+ :key="dict.dictValue"
|
|
|
+ :label="dict.dictLabel"
|
|
|
+ :value="dict.dictValue"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="审核人" prop="reviewer">
|
|
|
+ <el-select clearable v-model="openitemForm.reviewer" placeholder="请选择审核人">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in userOptions"
|
|
|
+ :key="dict.dictValue"
|
|
|
+ :label="dict.dictLabel"
|
|
|
+ :value="dict.dictValue"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="责任人确认" prop="result">
|
|
|
+ <el-select v-model="openitemForm.result" placeholder="请选择责任人确认">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in dict.type.t_open_item_result"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="截至时间" prop="deadline">
|
|
|
+ <el-date-picker clearable
|
|
|
+ v-model="openitemForm.deadline"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="请选择截至时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="备注" prop="remarks">
|
|
|
+ <el-input v-model="openitemForm.remarks" type="textarea" placeholder="请输入内容" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="submitOpenitemForm">确 定</el-button>
|
|
|
+ <el-button @click="cancelOpenitem">取 消</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -322,10 +427,11 @@ import { listDept } from "@/api/system/dept";
|
|
|
import { listAllUser } from "@/api/system/user";
|
|
|
import { getToken } from "@/utils/auth";
|
|
|
import { addCommonfile, allFileList, delCommonfile, updateCommonfile } from "@/api/rc/commonfile";
|
|
|
+import { listOpenitem, getOpenitem, delOpenitem, addOpenitem, updateOpenitem } from "@/api/rc/openitem";
|
|
|
|
|
|
export default {
|
|
|
name: "Questionnaire",
|
|
|
- dicts: ['t_sec_sub_chap_completion_status', 't_sec_sub_chap_yes_no_na', 't_sec_sub_chap_type', 't_sec_sub_chap_standard'],
|
|
|
+ dicts: ['t_open_item_result', 't_open_item_type', 't_open_item_level', 't_open_item_status','t_sec_sub_chap_completion_status', 't_sec_sub_chap_yes_no_na', 't_sec_sub_chap_type', 't_sec_sub_chap_standard'],
|
|
|
data() {
|
|
|
return {
|
|
|
// 遮罩层
|
|
@@ -344,8 +450,10 @@ export default {
|
|
|
questionnaireList: [],
|
|
|
// 弹出层标题
|
|
|
title: "",
|
|
|
+ openitemTitle: "",
|
|
|
// 是否显示弹出层
|
|
|
open: false,
|
|
|
+ openitemOpen: false,
|
|
|
// 查询参数
|
|
|
queryParams: {
|
|
|
pageNum: 1,
|
|
@@ -369,9 +477,12 @@ export default {
|
|
|
},
|
|
|
// 表单参数
|
|
|
form: {},
|
|
|
+ openitemForm: {},
|
|
|
// 表单校验
|
|
|
rules: {
|
|
|
},
|
|
|
+ openitemRules: {
|
|
|
+ },
|
|
|
// 用户列表
|
|
|
userOptions: [],
|
|
|
// 附件参数
|
|
@@ -404,10 +515,56 @@ export default {
|
|
|
},
|
|
|
created() {
|
|
|
// this.getList();
|
|
|
- this.getDeptList();
|
|
|
this.getUserList();
|
|
|
},
|
|
|
- methods: {/** 附件按钮操作 */
|
|
|
+ methods: {
|
|
|
+ /** 开项按钮操作 */
|
|
|
+ handleOpenitem(row) {
|
|
|
+ this.resetOpenitem();
|
|
|
+ this.openitemOpen = true;
|
|
|
+ this.openitemTitle = "添加开项";
|
|
|
+ this.openitemForm.deptId = row.deptId;
|
|
|
+ this.openitemForm.auditId = row.auditId;
|
|
|
+ this.openitemForm.questionnaireId = row.id;
|
|
|
+ this.openitemForm.code = row.code;
|
|
|
+ },
|
|
|
+ /** 开项提交按钮 */
|
|
|
+ submitOpenitemForm() {
|
|
|
+ this.$refs["openitemForm"].validate(valid => {
|
|
|
+ if (valid) {
|
|
|
+ addOpenitem(this.openitemForm).then(response => {
|
|
|
+ this.$modal.msgSuccess("新增开项成功");
|
|
|
+ this.openitemOpen = false;
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 取消按钮
|
|
|
+ cancelOpenitem() {
|
|
|
+ this.openitemOpen = false;
|
|
|
+ this.resetOpenitem();
|
|
|
+ },
|
|
|
+ // 开项表单重置
|
|
|
+ resetOpenitem() {
|
|
|
+ this.openitemForm = {
|
|
|
+ id: null,
|
|
|
+ type: null,
|
|
|
+ questionnaireId: null,
|
|
|
+ description: null,
|
|
|
+ level: null,
|
|
|
+ openTime: null,
|
|
|
+ closeTime: null,
|
|
|
+ status: null,
|
|
|
+ personInCharge: null,
|
|
|
+ reviewer: null,
|
|
|
+ result: null,
|
|
|
+ deadline: null,
|
|
|
+ remarks: null,
|
|
|
+ deptId: null
|
|
|
+ };
|
|
|
+ this.resetForm("openitemForm");
|
|
|
+ },
|
|
|
+ /** 附件按钮操作 */
|
|
|
handleDoc(row , type) {
|
|
|
var typeName = "";
|
|
|
if (type === "questionnaire-standard"){
|
|
@@ -473,7 +630,7 @@ export default {
|
|
|
for (let i = 0; i < data.length; i++) {
|
|
|
// 非顶级节点
|
|
|
if (data[i].parentId !== 0) {
|
|
|
- // 插入装置列表
|
|
|
+ // 插入用户列表
|
|
|
this.userOptions.push({"dictLabel": data[i].nickName, "dictValue": data[i].userId});
|
|
|
}
|
|
|
}
|
|
@@ -503,19 +660,6 @@ export default {
|
|
|
this.loading = false;
|
|
|
});
|
|
|
},
|
|
|
- /** 查询装置列表 */
|
|
|
- getDeptList() {
|
|
|
- listDept().then(response => {
|
|
|
- let data = response.data;
|
|
|
- for (let i = 0; i < data.length; i++) {
|
|
|
- // 非顶级节点
|
|
|
- if (data[i].parentId !== 0) {
|
|
|
- // 插入装置列表
|
|
|
- this.deptOptions.push({"dictLabel": data[i].deptName, "dictValue": data[i].deptId});
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
// 取消按钮
|
|
|
cancel() {
|
|
|
this.open = false;
|