fix: test
This commit is contained in:
parent
c1e9f2e2d2
commit
5f03e59f8d
@ -1,74 +1,72 @@
|
||||
/**
|
||||
* api接口统一管理 综合教育培训考试系统--科目管理
|
||||
* 风险安全库api接口统一管理
|
||||
*/
|
||||
import { post, get } from '../../http'
|
||||
|
||||
// >>>>>>>>>>>>>>>>>>>>科目管理<<<<<<<<<<<<<<<<<<<<
|
||||
// 风险安全库 —— 作业类型、工序及部位接口 (左侧树)
|
||||
export const rtRiskSecurityLibraryAdd = data => post('xmgl/rtRiskSecurityLibraryType/add', data) //添加
|
||||
export const rtRiskSecurityLibraryEdit = data => post('xmgl/rtRiskSecurityLibraryType/edit', data) //编辑
|
||||
// export const rtRiskSecurityLibraryDelete = data => post('xmgl/rtRiskSecurityLibraryType/delete', data) //删除
|
||||
export const rtRiskSecurityLibraryDelete = data => get('xmgl/rtRiskSecurityLibraryType/deleteByRtRiskSecurityLibraryTypeId', data) //删除
|
||||
export const rtRiskSecurityLibraryPage = data => get('xmgl/rtRiskSecurityLibraryType/page', data) //查询列表数据
|
||||
// export const rtRiskSecurityLibraryList = data => post('xmgl/rtRiskSecurityLibraryType/list', data) //查询列表数据
|
||||
export const rtRiskSecurityLibraryList = data => post('xmgl/rtRiskSecurityLibraryType/selectRtRiskSecurityLibraryTypeList', data) //查询列表数据
|
||||
|
||||
// >>>>>>>>>>>>>>>>>>>>科目管理<<<<<<<<<<<<<<<<<<<<
|
||||
// 风险安全库 —— 具体项接口 (右侧列表)
|
||||
export const rtRiskSecurityLibraryConcreteAdd = data => post('xmgl/rtRiskSecurityLibraryTypeConcrete/add', data) //添加
|
||||
export const rtRiskSecurityLibraryConcreteEdit = data => post('xmgl/rtRiskSecurityLibraryTypeConcrete/edit', data) //编辑
|
||||
export const rtRiskSecurityLibraryConcreteDelete = data => post('xmgl/rtRiskSecurityLibraryTypeConcrete/delete', data) //编辑
|
||||
export const rtRiskSecurityLibraryConcreteList = data =>
|
||||
post('xmgl/rtRiskSecurityLibraryTypeConcrete/selectCompanyRtRiskSecurityLibraryTypeConcreteList', data) //查询列表数据
|
||||
|
||||
// 工作票相关接口 (右侧列表)
|
||||
export const rtWorkTicketAdd = data => post('xmgl/rtWorkTicket/add', data) //添加
|
||||
export const rtWorkTicketEdit = data => post('xmgl/rtWorkTicket/edit', data) //编辑
|
||||
export const rtWorkTicketDelete = data => post('xmgl/rtWorkTicket/delete', data) //删除
|
||||
export const rtWorkTicketPage = data => get('xmgl/rtWorkTicket/page', data) //删除
|
||||
|
||||
export const getCheckListDataApi = data => post('xmgl/inspectionRecord/list', data); // 查询 我的整改 || 我的提交 列表
|
||||
//获取详情信息
|
||||
export const getCheckDetailsApi = data => post('xmgl/inspectionRecord/getProjectInspectionDetails', data); // 查询 详情基本信息
|
||||
export const getCrewListDataApi = data => post('xmgl/systemUser/getProjectChilderSystemUserList', data); // 查询 所有整改人员
|
||||
export const getCheckRecordListApi = data => post('xmgl/inspectionRectifyRecord/selectInspectionRectifyRecord', data); // 获取当前 数据的整改记录列表
|
||||
export const addCheckReplyApi = data => post('xmgl/inspectionRectifyRecord/add', data); // 新增 整改 回复
|
||||
export const addCheckAuditApi = data => post('xmgl/inspectionRectifyRecord/auditInspectionRectifyRecord', data); // 新增 整改 审核
|
||||
//新增
|
||||
export const addCheckListDataApi = data => post('xmgl/inspectionRecord/add', data); // 新增 整改信息
|
||||
export const getWorkTickDetailText = data => post('xmgl/rtRiskSecurityLibraryTypeConcrete/queryJobPrerequisite', data) //添加
|
||||
|
||||
// 风险清册相关接口
|
||||
export const rtRiskInventoryTypeAdd = data => post('xmgl/rtRiskInventoryType/add', data) //添加
|
||||
export const rtRiskInventoryTypeEdit = data => post('xmgl/rtRiskInventoryType/edit', data) //编辑
|
||||
export const rtRiskInventoryTypeDelete = data => post('xmgl/rtRiskInventoryType/delete', data) //删除
|
||||
export const rtRiskInventoryTypePage = data => get('xmgl/rtRiskInventoryType/tree/page', data) //查询
|
||||
|
||||
/**
|
||||
* api接口统一管理
|
||||
*/
|
||||
// import {post,get} from '../http'
|
||||
// 仓库管理相关接口
|
||||
export const rtToolAdd = data => post('xmgl/rtTool/add', data) //添加
|
||||
export const rtToolEdit = data => post('xmgl/rtTool/edit', data) //编辑
|
||||
export const rtToolDelete = data => post('xmgl/rtTool/delete', data) //删除
|
||||
export const rtToolPage = data => get('xmgl/rtTool/page', data) //查询
|
||||
export const rtToolPageHistory = data => get('xmgl/rtToolHistory/page', data) //历史数据查询
|
||||
|
||||
//甘特图-列表查询任务进度
|
||||
export const getParentChildTaskListApi = data => post('xmgl/taskProgress/getParentChildList', data);
|
||||
// 进度款合同 相关接口
|
||||
export const rtProgressPaymentContractAdd = data => post('xmgl/rtProgressPaymentContract/add', data) //添加
|
||||
export const rtProgressPaymentContractEdit = data => post('xmgl/rtProgressPaymentContract/edit', data) //编辑
|
||||
export const rtProgressPaymentContractDelete = data => post('xmgl/rtProgressPaymentContract/delete', data) //删除
|
||||
export const rtProgressPaymentContractPage = data => get('xmgl/rtProgressPaymentContract/page', data) //查询
|
||||
|
||||
//分部分项工程管理
|
||||
export const addTaskProgressApi = data => post('xmgl/taskProgress/add', data);
|
||||
export const deleteTaskProgressApi = data => post('xmgl/taskProgress/delete', data);
|
||||
export const editTaskProgressApi = data => post('xmgl/taskProgress/edit', data);
|
||||
export const editProgressBindComponentApi = data => post('xmgl/taskProgress/editBimComponent', data);
|
||||
export const getTaskProgressPageApi = data => post('xmgl/taskProgress/getParentChildPage', data);
|
||||
|
||||
//分部分项工程管理--BIMBASE中心进度管理
|
||||
export const addTaskProgressRtApi = data => post('xmgl/taskProgressRt/add', data);
|
||||
export const deleteTaskProgressRtApi = data => post('xmgl/taskProgressRt/delete', data);
|
||||
export const editTaskProgressRtApi = data => post('xmgl/taskProgressRt/edit', data);
|
||||
export const editProgressBindComponentRtApi = data => post('xmgl/taskProgressRt/editBimComponent', data);
|
||||
export const getTaskProgressPageRtApi = data => post('xmgl/taskProgressRt/getParentChildPage', data);
|
||||
|
||||
|
||||
//分部分项工程管理_详情-进度记录
|
||||
export const getTaskProgressContentApi = data => get('xmgl/taskProgressContent/list', data);
|
||||
|
||||
//分部分项工程管理_详情-材料用量
|
||||
export const getTaskProgressMaterialRelApi = data => get('xmgl/taskProgressMaterialRel/detailList', data);
|
||||
|
||||
|
||||
//分部分项工程管理_上报进度
|
||||
export const addTaskProgressContentApi = data => post('xmgl/taskProgressContent/add', data);
|
||||
|
||||
//分部分项工程管理_开始任务
|
||||
export const addTaskProgressStart = data => post('xmgl/taskProgress/startTask', data);
|
||||
|
||||
|
||||
|
||||
//材料类型配置
|
||||
export const addTaskProgressMaterialRelApi = data => post('xmgl/taskProgressMaterialType/add', data);
|
||||
export const deleteTaskProgressMaterialRelApi = data => post('xmgl/taskProgressMaterialType/delete', data);
|
||||
export const getTypeProgressMaterialRelApi = data => get('xmgl/taskProgressMaterialType/list', data);
|
||||
|
||||
|
||||
//进度预警
|
||||
export const getTaskProgressAlarmPageApi = data => get('xmgl/taskProgressAlarm/page', data);
|
||||
|
||||
|
||||
//计划材料工程
|
||||
export const getTaskProgressMaterialRelTreeApi = data => get('xmgl/taskProgressMaterialRel/tree/list', data);
|
||||
// 技术管理——设计变更联系单 相关接口
|
||||
export const rtDesignChangeContactSheetAdd = data => post('xmgl/rtDesignChangeContactSheet/add', data) //添加
|
||||
export const rtDesignChangeContactSheetEdit = data => post('xmgl/rtDesignChangeContactSheet/edit', data) //编辑
|
||||
export const rtDesignChangeContactSheetDelete = data => post('xmgl/rtDesignChangeContactSheet/delete', data) //删除
|
||||
export const rtDesignChangeContactSheetPage = data => get('xmgl/rtDesignChangeContactSheet/page', data) //查询
|
||||
|
||||
// 技术管理——设计变更联系单 相关接口
|
||||
export const rtNewTechnologiesAndNewProcessAdd = data => post('xmgl/rtNewTechnologiesAndNewProcess/add', data) //添加
|
||||
export const rtNewTechnologiesAndNewProcessEdit = data => post('xmgl/rtNewTechnologiesAndNewProcess/edit', data) //编辑
|
||||
export const rtNewTechnologiesAndNewProcessDelete = data => post('xmgl/rtNewTechnologiesAndNewProcess/delete', data) //删除
|
||||
export const rtNewTechnologiesAndNewProcessPage = data => get('xmgl/rtNewTechnologiesAndNewProcess/page', data) //查询
|
||||
|
||||
// 技术管理——设计变更联系单 相关接口
|
||||
export const rtMaterialOrderAdd = data => post('xmgl/rtMaterialOrder/add', data) //添加
|
||||
export const rtMaterialOrderEdit = data => post('xmgl/rtMaterialOrder/edit', data) //编辑
|
||||
export const rtMaterialOrderDelete = data => post('xmgl/rtMaterialOrder/delete', data) //删除
|
||||
export const rtMaterialOrderPage = data => get('xmgl/rtMaterialOrder/page', data) //查询
|
||||
export const getArrivalInfoApi = data => post('xmgl/rtMaterialOrder/countRtMaterialOrder', data) //查询
|
||||
|
||||
// 施工图 相关接口
|
||||
export const rtConstructionDrawAdd = data => post('xmgl/rtConstructionDraw/add', data) //添加
|
||||
export const rtConstructionDrawEdit = data => post('xmgl/rtConstructionDraw/edit', data) //编辑
|
||||
export const rtConstructionDrawDelete = data => post('xmgl/rtConstructionDraw/delete', data) //删除
|
||||
export const rtConstructionDrawPage = data => get('xmgl/rtConstructionDraw/page', data) //查询
|
||||
|
||||
@ -1,150 +1,184 @@
|
||||
<template>
|
||||
<!-- 风险清册 -->
|
||||
<div class="fullHeight">
|
||||
<div v-if="type != 'detail'">
|
||||
<div class="searchBox whiteBlock">
|
||||
<el-form :inline="true" size="medium" :model="queryInfo" class="demo-form-inline">
|
||||
<el-form-item>
|
||||
<el-button size="medium" type="primary" @click="refreshBtn">新增</el-button>
|
||||
<el-button type="warning" plain @click="refreshBtn">刷新</el-button>
|
||||
<el-button class="expintBtn" size="medium" type="primary" @click="addBefore(1, null)">
|
||||
新增
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="table_wrap whiteBlock">
|
||||
<vue-scroll>
|
||||
<el-table height="650" class="tables" :data="listData1" lazy row-key="id" default-expand-all
|
||||
:tree-props="{ children: 'children' }">
|
||||
<el-table-column width="200" prop="taskName" label="分部分项工程名称">
|
||||
<el-table height="650" class="tables" :data="listData" lazy row-key="id" :tree-props="{ children: 'children' }"
|
||||
:header-cell-style="{ 'text-align': 'center' }">
|
||||
<!-- <el-table-column align="center" prop="subjectName" label="科目类别名称" ></el-table-column> -->
|
||||
<!-- <el-table-column prop="processName" label="工序名称"> -->
|
||||
<el-table-column prop="processName" label="工序名称">
|
||||
<template slot-scope="scope">
|
||||
<span :title="scope.row.taskName"
|
||||
style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis;width: 150px;">
|
||||
{{ scope.row.taskName }}
|
||||
<span v-if="scope.row.children.length == 0 && scope.row.parentId == '0'" :title="scope.row.processName" style="
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
width: 150px; ">
|
||||
{{ scope.row.processName }}
|
||||
</span>
|
||||
<span v-else :title="scope.row.processName" style="overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
|
||||
width: 150px;
|
||||
position: absolute;">
|
||||
{{ scope.row.processName }}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" prop="startDate" label="计划开始时间"> </el-table-column>
|
||||
<el-table-column align="center" prop="finishDate" label="计划完成时间"> </el-table-column>
|
||||
<el-table-column align="center" prop="actualStartDate" label="实际开始时间"> </el-table-column>
|
||||
<el-table-column align="center" prop="actualFinishDate" label="实际完成时间"></el-table-column>
|
||||
<el-table-column align="center" prop="dutyUserName" label="负责人"></el-table-column>
|
||||
|
||||
<!-- <el-table-column align="center" prop="code" label="风险编号"></el-table-column>
|
||||
<el-table-column align="center" prop="riskPossibleConsequence" label="风险可能导致的后果"></el-table-column>
|
||||
<el-table-column align="center" prop="riskAssessmentValueD" label="风险评定值D"></el-table-column>
|
||||
<el-table-column align="center" prop="riskLevel" label="风险级别"></el-table-column>
|
||||
<el-table-column align="center" prop="keyFactorsInRiskControl" label="风险控制关键因素"></el-table-column>
|
||||
<el-table-column align="center" prop="precaution" label="预防措施">
|
||||
<template slot-scope="scope">
|
||||
<div :title="scope.row.precaution" class="name-wrapper">
|
||||
{{ scope.row.precaution }}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column width="300" label="操作" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click.native.stop="addBefore(2, scope.row)" size="mini" type="text"
|
||||
icon="el-icon-circle-plus-outline">
|
||||
<el-button @click.native.stop="addBefore(2, scope.row)" size="mini" type="text" icon="el-icon-circle-plus-outline">
|
||||
新增
|
||||
</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-edit"
|
||||
@click.native.stop="editBefore(scope.row)">
|
||||
<el-button size="mini" type="text" icon="el-icon-document" @click.native.stop="showDetail(scope.rowchildren)">
|
||||
详情
|
||||
</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-edit" @click.native.stop="editBefore(scope.row)">
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button size="mini" type="text" class="delete-btn" icon="el-icon-delete"
|
||||
@click.native.stop="deleteBefore(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
</el-table>
|
||||
</vue-scroll>
|
||||
<el-pagination class="pagerBox" style="position: absolute; top: 85%; left: 40%"
|
||||
@size-change="SizeChange" @current-change="CurrentChange" :current-page="pagInfo.pageNo"
|
||||
:page-sizes="$store.state.PAGESIZRS" :page-size="pagInfo.pageSize"
|
||||
layout="total, sizes, prev, pager, next" :total="Number(pagInfo.total)" background></el-pagination>
|
||||
<el-pagination class="pagerBox" style="position: absolute; top: 85%; left: 40%" @size-change="SizeChange" @current-change="CurrentChange" :current-page="pagInfo.pageNo" :page-sizes="$store.state.PAGESIZRS" :page-size="pagInfo. pageSize" layout="total, sizes, prev, pager, next" :total="Number(pagInfo.total)" background>
|
||||
</el-pagination>
|
||||
</div>
|
||||
<!-- '新增父子级工程弹框' -->
|
||||
<el-dialog :modal-append-to-body="false" :title="title" :visible.sync="dialogVisible" width="667px"
|
||||
@close="close">
|
||||
<el-dialog :modal-append-to-body="false" :title="title" :visible.sync="dialogVisible" width="667px" @close="close">
|
||||
<div class="dialog_content">
|
||||
<el-form ref="addEditForm" label-width="135px" size="medium" class="dialogFormBox"
|
||||
:rules="addEditRules" :model="workerInfo">
|
||||
<el-form-item label="分部分项名称" prop="taskName" v-if="dialogType == 3">
|
||||
<el-input v-model="parentTaskName" placeholder="请输入" :disabled="dialogType == 3"></el-input>
|
||||
<el-form ref="addEditForm" label-width="145px" size="medium" class="dialogFormBox" :rules="addEditRules" :model="workerInfo">
|
||||
<el-form-item label="工序名称" prop="processName" v-if="dialogType == 3">
|
||||
<el-input v-model="parentTaskName" placeholder="请输入" :disabled="dialogType == 3 || title == '详情'"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item v-else label="分部分项名称" prop="taskName">
|
||||
<el-input v-model="workerInfo.taskName" placeholder="请输入"></el-input>
|
||||
<el-form-item v-else label="工序名称" prop="processName">
|
||||
<el-input :disabled="title == '详情'" v-model="workerInfo.processName" placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="dialogType == 3" label="子分部分项名称" prop="taskName">
|
||||
<el-input v-model="workerInfo.taskName" placeholder="请输入"></el-input>
|
||||
<el-form-item v-if="dialogType == 3" label="子工序名称" prop="processName">
|
||||
<el-input :disabled="title == '详情'" v-model="workerInfo.processName" placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="计划开始时间" prop="startDate">
|
||||
<el-date-picker @change="time1" v-model="workerInfo.startDate" type="date"
|
||||
placeholder="请选择日期" value-format="yyyy-MM-dd">
|
||||
</el-date-picker>
|
||||
<el-form-item label="风险编号" prop="code">
|
||||
<el-input :disabled="title == '详情'" v-model="workerInfo.code" placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="计划结束时间" prop="finishDate">
|
||||
<el-date-picker @change="time2" v-model="workerInfo.finishDate" :picker-options="dateBefore"
|
||||
type="date" placeholder="请选择日期" value-format="yyyy-MM-dd">
|
||||
</el-date-picker>
|
||||
<el-form-item label="风险可能导致的后果" prop="riskPossibleConsequence">
|
||||
<el-input :disabled="title == '详情'" v-model="workerInfo.riskPossibleConsequence" placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="实际开始时间" prop="actualStartDate">
|
||||
<el-date-picker v-model="workerInfo.actualStartDate" type="date" placeholder="请选择日期"
|
||||
value-format="yyyy-MM-dd">
|
||||
</el-date-picker>
|
||||
<el-form-item label="风险评定值D" prop="riskAssessmentValueD">
|
||||
<el-input :disabled="title == '详情'" v-model="workerInfo.riskAssessmentValueD" placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="实际结束时间" prop="actualFinishDate">
|
||||
<el-date-picker v-model="workerInfo.actualFinishDate" :picker-options="actualDateBefore"
|
||||
type="date" placeholder="请选择日期" value-format="yyyy-MM-dd">
|
||||
</el-date-picker>
|
||||
<el-form-item label="风险级别" prop="riskLevel">
|
||||
<el-input :disabled="title == '详情'" v-model="workerInfo.riskLevel" placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="负责人" prop="dutyUserName">
|
||||
<el-select v-model="workerInfo.dutyUserId" placeholder="请选择">
|
||||
<el-option v-for="item in principalLsit" :key="item.userId" :label="item.realName"
|
||||
:value="item.userId"> </el-option>
|
||||
</el-select>
|
||||
<el-form-item label="风险控制关键因素" prop="keyFactorsInRiskControl">
|
||||
<el-input :disabled="title == '详情'" v-model="workerInfo.keyFactorsInRiskControl" placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="进度(%)" prop="progressRatio">
|
||||
<el-input-number :disabled="workerInfo.status === 2" :max="100" style="width: 105%"
|
||||
v-model="workerInfo.progressRatio" @input="validateInput"></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="workerInfo.remark" placeholder="请输入"></el-input>
|
||||
<el-form-item label="预防措施" prop="precaution">
|
||||
<el-input type="textarea" :disabled="title == '详情'" v-model="workerInfo.precaution" placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="dialog-footer">
|
||||
<el-button class="cancleBtn" @click="dialogVisible = false" icon="el-icon-circle-close"
|
||||
size="medium">取消
|
||||
<el-button class="cancleBtn" @click="dialogVisible = false" icon="el-icon-circle-close" size="medium">取消
|
||||
</el-button>
|
||||
<el-button type="primary" icon="el-icon-circle-check" @click="submitBtn" size="medium">确定
|
||||
<el-button v-if="title != '详情'" type="primary" icon="el-icon-circle-check" @click="submitBtn" size="medium">确定
|
||||
</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 一级新增弹框 -->
|
||||
<el-dialog :modal-append-to-body="false" width="600px" title="导入" :visible.sync="uploadShow"
|
||||
@close="close2">
|
||||
|
||||
<div class="dialog-footer">
|
||||
<el-button class="cancleBtn" @click="uploadShow = false" icon="el-icon-circle-close"
|
||||
size="medium">取消
|
||||
</el-button>
|
||||
<el-button type="primary" icon="el-icon-circle-check" size="medium" @click="handleUploadConfirm">确定
|
||||
</el-button>
|
||||
</div>
|
||||
<!-- //查看大图 -->
|
||||
<el-dialog :modal-append-to-body="false" :visible.sync="showBigImg">
|
||||
<img width="100%" :src="dialogImageUrl" alt="" />
|
||||
</el-dialog>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {
|
||||
addTaskProgressApi, deleteTaskProgressApi, editTaskProgressApi, getTaskProgressPageApi
|
||||
rtRiskInventoryTypeAdd,
|
||||
rtRiskInventoryTypeEdit,
|
||||
rtRiskInventoryTypeDelete,
|
||||
rtRiskInventoryTypePage,
|
||||
} from '@/assets/js/api/examSystem/subjectManagement'
|
||||
|
||||
// import { getCrewListDataApi } from '@/assets/js/api/dailyCheck'
|
||||
export default {
|
||||
// components: {
|
||||
// detailpage
|
||||
// },
|
||||
mounted() {},
|
||||
data() {
|
||||
return {
|
||||
subjectList: [
|
||||
{id: 1,subjectName: '科目名称01', children:[{id: 1, subjectName: '子科目名称1'},{id: 2, subjectName: '子科目名称2'}]},
|
||||
{id: 2,subjectName: '科目名称02', children:[{id: 1, subjectName: '子科目名称1'},{id: 2, subjectName: '子科目名称2'}]},
|
||||
{id: 3,subjectName: '科目名称03', children:[{id: 1, subjectName: '子科目名称1'},{id: 2, subjectName: '子科目名称2'}]},
|
||||
listData1: [
|
||||
{
|
||||
id: '1',
|
||||
subjectName: '科目名称1',
|
||||
parentId: '0',
|
||||
children: [
|
||||
{ id: 1, subjectName: '子科目名称1', parentId: '1' },
|
||||
{ id: 2, subjectName: '子科目名称1', parentId: '1' },
|
||||
],
|
||||
|
||||
|
||||
},
|
||||
{
|
||||
id: '2',
|
||||
subjectName: '科目名称2',
|
||||
parentId: '0',
|
||||
children: [
|
||||
{ id: 1, subjectName: '子科目名称1', parentId: '2' },
|
||||
{ id: 2, subjectName: '子科目名称1', parentId: '2' },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: '3',
|
||||
subjectName: '科目名称3',
|
||||
children: [
|
||||
{ id: 1, subjectName: '子科目名称1', parentId: '2' },
|
||||
{ id: 2, subjectName: '子科目名称1', parentId: '2' },
|
||||
],
|
||||
},
|
||||
],
|
||||
fullscreenLoading: false,
|
||||
rowData: {},
|
||||
parentTaskName: '', // 用于存储父级taskName
|
||||
parentTaskName: '', // 用于存储父级processName
|
||||
options: [
|
||||
{
|
||||
label: '未开始',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: '进行中',
|
||||
value: 1,
|
||||
},
|
||||
{
|
||||
label: '已完成',
|
||||
value: 2,
|
||||
},
|
||||
// {
|
||||
// label: '已逾期',
|
||||
// value: 3
|
||||
// },
|
||||
],
|
||||
pagInfo: {
|
||||
pageNo: 1, //页数
|
||||
pageSize: 10, //条数
|
||||
total: 0 //总条数
|
||||
total: 0, //总条数
|
||||
},
|
||||
radio: 1,
|
||||
uploadShow: false, //导入弹框
|
||||
@ -152,69 +186,133 @@ export default {
|
||||
title: '',
|
||||
daterange: [],
|
||||
fileList: [], //上传文件
|
||||
downUrl: '', //下载文件地址
|
||||
projectSn: '',
|
||||
createUserId: '',
|
||||
listData: [],
|
||||
listData1: [],
|
||||
uploadUrl: '',
|
||||
fileUrl: '',
|
||||
dialogVisible: false, //新增弹窗
|
||||
workerInfo: {
|
||||
taskName: '',
|
||||
startDate: '',
|
||||
finishDate: '',
|
||||
actualStartDate: '',
|
||||
actualFinishDate: '',
|
||||
dutyUserId: '',
|
||||
progressRatio: '',
|
||||
remark: '',
|
||||
code: '',
|
||||
keyFactorsInRiskControl: '',
|
||||
level: 0,
|
||||
name: '',
|
||||
parentId: 0,
|
||||
status: 0,
|
||||
precaution: '',
|
||||
processName: '',
|
||||
projectSn: '',
|
||||
riskAssessmentValueD: '',
|
||||
riskLevel: '',
|
||||
riskPossibleConsequence: '',
|
||||
},
|
||||
principalLsit: [], //负责人
|
||||
seedId: '',
|
||||
showTime: false, //工期
|
||||
queryInfo: {
|
||||
taskName: '',
|
||||
status: '',
|
||||
actualStartDate: '',
|
||||
actualFinishDate: ''
|
||||
code: '',
|
||||
},
|
||||
type: 'add',
|
||||
addEditRules: {
|
||||
taskName: [
|
||||
processName: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('message.personnelPosition.required'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
startDate: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('message.personnelPosition.required'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
finishDate: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('message.personnelPosition.required'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
dialogImageUrl: '',
|
||||
showBigImg: false,
|
||||
times: '',
|
||||
fileName: ''
|
||||
// 时间限制
|
||||
pickerOptions: {
|
||||
// 对象
|
||||
disabledDate: (time) => {
|
||||
let nowData = this.times
|
||||
nowData = new Date(nowData.setDate(nowData.getDate() - 1))
|
||||
return time > nowData
|
||||
// return time.getTime() < Date.now()- 1 * 24 * 3600 * 1000;
|
||||
},
|
||||
},
|
||||
fileName: '',
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
headers() {
|
||||
return { Authorization: this.$store.state.userInfo.token }
|
||||
},
|
||||
dateAfter() {
|
||||
// 动态起始时间
|
||||
const startTimestamp = Date.now() * 1 - 24 * 60 * 60 * 1000
|
||||
const endTimestamp =
|
||||
Date.parse(this.workerInfo.finishDate) * 1 - 24 * 60 * 60 * 1000
|
||||
return {
|
||||
disabledDate(time) {
|
||||
const timestamp = time.getTime()
|
||||
if (endTimestamp) {
|
||||
if (timestamp >= startTimestamp && timestamp <= endTimestamp) {
|
||||
return false
|
||||
} else {
|
||||
return true
|
||||
}
|
||||
} else {
|
||||
return timestamp <= startTimestamp
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
dateBefore() {
|
||||
// 动态起始时间
|
||||
// const startTimestamp = Date.parse(this.workerInfo.startDate)
|
||||
const specifiedDate = new Date(this.workerInfo.startDate) // 指定的日期
|
||||
const prevDay = new Date(specifiedDate) // 创建一个新的 Date 对象,使用同样的日期
|
||||
prevDay.setDate(specifiedDate.getDate() - 1) // 将日期设置为前一天的日期
|
||||
|
||||
const lastTime = prevDay.getTime() // 获取前一天的时间戳
|
||||
// const startTimestamp = new Date(this.workerInfo.startDate)
|
||||
return {
|
||||
disabledDate(time) {
|
||||
const timestamp = time.getTime()
|
||||
if (timestamp > lastTime) {
|
||||
// console.log("计划结束时间",startTimestamp,timestamp)
|
||||
return false
|
||||
}
|
||||
return true
|
||||
},
|
||||
}
|
||||
},
|
||||
actualDateBefore() {
|
||||
// 动态起始时间
|
||||
// const startTimestamp = Date.parse(this.workerInfo.startDate)
|
||||
const specifiedDate = new Date(this.workerInfo.actualStartDate) // 指定的日期
|
||||
const prevDay = new Date(specifiedDate) // 创建一个新的 Date 对象,使用同样的日期
|
||||
prevDay.setDate(specifiedDate.getDate() - 1) // 将日期设置为前一天的日期
|
||||
|
||||
const lastTime = prevDay.getTime() // 获取前一天的时间戳
|
||||
// const startTimestamp = new Date(this.workerInfo.startDate)
|
||||
return {
|
||||
disabledDate(time) {
|
||||
const timestamp = time.getTime()
|
||||
if (timestamp > lastTime) {
|
||||
// console.log("计划结束时间",startTimestamp,timestamp)
|
||||
return false
|
||||
}
|
||||
return true
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
created() {
|
||||
this.projectSn = this.$store.state.projectSn
|
||||
this.createUserId = this.$store.state.userInfo.userId
|
||||
this.uploadUrl = this.$store.state.UPLOADURL
|
||||
this.fileUrl = this.$store.state.FILEURL
|
||||
this.downUrl =
|
||||
this.$http.defaults.baseURL + 'xmgl/progressTask/downloadTemplate'
|
||||
this.getProgressListData()
|
||||
// this.getCrewListData()
|
||||
},
|
||||
methods: {
|
||||
//导入确定提交
|
||||
@ -237,30 +335,44 @@ export default {
|
||||
projectSn: this.projectSn,
|
||||
pageNo: this.pagInfo.pageNo,
|
||||
pageSize: this.pagInfo.pageSize,
|
||||
taskName: this.queryInfo.taskName,
|
||||
status: this.queryInfo.status,
|
||||
actualFinishDate_begin: this.queryInfo.actualStartDate,
|
||||
actualFinishDate_end: this.queryInfo.actualFinishDate
|
||||
code: this.queryInfo.code,
|
||||
// processName: this.queryInfo.processName,
|
||||
// status: this.queryInfo.status,
|
||||
// actualFinishDate_begin: this.queryInfo.actualStartDate,
|
||||
// actualFinishDate_end: this.queryInfo.actualFinishDate
|
||||
}
|
||||
getTaskProgressPageApi(data).then(res => {
|
||||
rtRiskInventoryTypePage(data).then((res) => {
|
||||
if (res.code == 200) {
|
||||
// this.listData = res.result.records
|
||||
this.listData1 = res.result.records
|
||||
this.listData = res.result.records
|
||||
this.pagInfo.total = res.result.total
|
||||
}
|
||||
})
|
||||
},
|
||||
//获取选中作业类型、工序及部位
|
||||
// getCrewListData() {
|
||||
// let data = {
|
||||
// projectSn: this.projectSn
|
||||
// }
|
||||
// getWorkTickDetailText(data).then(res => {
|
||||
// if (res.code == 200) {
|
||||
// this.principalLsit = res.result
|
||||
// console.log('获取负责人下拉', this.principalLsit)
|
||||
// } else {
|
||||
// this.$message.error(res.message)
|
||||
// }
|
||||
// })
|
||||
// },
|
||||
//新增
|
||||
addBefore(addType, value) {
|
||||
if (addType == 1) {
|
||||
this.title = '新增分项'
|
||||
this.title = '新增风险清册'
|
||||
this.dialogType = 1
|
||||
} else {
|
||||
console.log('新增子分项点击', value)
|
||||
this.title = '新增子分项'
|
||||
this.dialogType = 3
|
||||
this.workerInfo.parentId = value.id
|
||||
this.parentTaskName = value.taskName
|
||||
this.parentTaskName = value.processName
|
||||
}
|
||||
this.dialogVisible = true
|
||||
},
|
||||
@ -276,22 +388,12 @@ export default {
|
||||
},
|
||||
//编辑
|
||||
submitBtn() {
|
||||
this.$refs.addEditForm.validate(valid => {
|
||||
this.$refs.addEditForm.validate((valid) => {
|
||||
if (valid) {
|
||||
let data = {
|
||||
taskName: this.workerInfo.taskName,
|
||||
startDate: this.workerInfo.startDate,
|
||||
finishDate: this.workerInfo.finishDate,
|
||||
actualStartDate: this.workerInfo.actualStartDate,
|
||||
actualFinishDate: this.workerInfo.actualFinishDate,
|
||||
dutyUserId: this.workerInfo.dutyUserId,
|
||||
progressRatio: this.workerInfo.progressRatio,
|
||||
remark: this.workerInfo.remark,
|
||||
parentId: this.workerInfo.parentId,
|
||||
projectSn: this.projectSn
|
||||
}
|
||||
let data = JSON.parse(JSON.stringify(this.workerInfo))
|
||||
data.projectSn = this.$store.state.projectSn
|
||||
if (this.dialogType == 1) {
|
||||
addTaskProgressApi(data).then(res => {
|
||||
rtRiskInventoryTypeAdd(data).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.$message.success(res.message)
|
||||
this.dialogVisible = false
|
||||
@ -300,7 +402,7 @@ export default {
|
||||
})
|
||||
} else if (this.dialogType == 2) {
|
||||
data.id = this.workerInfo.id
|
||||
editTaskProgressApi(data).then(res => {
|
||||
rtRiskInventoryTypeEdit(data).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.$message.success(res.message)
|
||||
this.dialogVisible = false
|
||||
@ -310,7 +412,7 @@ export default {
|
||||
} else if (this.dialogType == 3) {
|
||||
data.parentId = this.workerInfo.parentId
|
||||
data.level = 2
|
||||
addTaskProgressApi(data).then(res => {
|
||||
rtRiskInventoryTypeAdd(data).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.$message.success(res.message)
|
||||
this.dialogVisible = false
|
||||
@ -325,20 +427,24 @@ export default {
|
||||
},
|
||||
//删除
|
||||
deleteBefore(value) {
|
||||
this.$confirm(this.$t('message.quality.deleteHint'), this.$t('message.quality.hint'), {
|
||||
this.$confirm(
|
||||
this.$t('message.quality.deleteHint'),
|
||||
this.$t('message.quality.hint'),
|
||||
{
|
||||
confirmButtonText: this.$t('message.quality.confirm'),
|
||||
cancelButtonText: this.$t('message.quality.cancel'),
|
||||
type: 'warning'
|
||||
})
|
||||
type: 'warning',
|
||||
}
|
||||
)
|
||||
.then(() => {
|
||||
let data = {
|
||||
id: value.id
|
||||
id: value.id,
|
||||
}
|
||||
deleteTaskProgressApi(data).then(res => {
|
||||
rtRiskInventoryTypeDelete(data).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: this.$t('message.quality.successfullyDelete') + '!'
|
||||
message: this.$t('message.quality.successfullyDelete') + '!',
|
||||
})
|
||||
this.getProgressListData()
|
||||
}
|
||||
@ -366,7 +472,7 @@ export default {
|
||||
status: '',
|
||||
actualStartDate: '',
|
||||
actualFinishDate: '',
|
||||
taskName: ''
|
||||
processName: '',
|
||||
}
|
||||
this.getProgressListData()
|
||||
},
|
||||
@ -378,6 +484,22 @@ export default {
|
||||
this.pagInfo.pageNo = val
|
||||
this.getProgressListData()
|
||||
},
|
||||
//---------------
|
||||
// 点击行查看详情
|
||||
showDetail(val) {
|
||||
this.dialogType = 2
|
||||
this.title = '详情'
|
||||
console.log('当前点击的行', val)
|
||||
this.workerInfo = JSON.parse(JSON.stringify(val))
|
||||
this.workerInfo.id = val.id
|
||||
this.workerInfo.status = val.status
|
||||
this.dialogVisible = true
|
||||
},
|
||||
//关闭详请组件
|
||||
closeDetailFn(val) {
|
||||
this.type = val
|
||||
this.getProgressListData()
|
||||
},
|
||||
changeDate() {
|
||||
if (this.daterange) {
|
||||
this.queryInfo.actualStartDate = this.daterange[0]
|
||||
@ -389,11 +511,89 @@ export default {
|
||||
},
|
||||
validateInput() {
|
||||
let value = parseInt(this.workerInfo.progressRatio, 10)
|
||||
if (isNaN(value) || value < 0 || value > 100 || Math.floor(value) !== value) {
|
||||
if (
|
||||
isNaN(value) ||
|
||||
value < 0 ||
|
||||
value > 100 ||
|
||||
Math.floor(value) !== value
|
||||
) {
|
||||
this.workerInfo.progressRatio = ''
|
||||
}
|
||||
},
|
||||
time1(val) {
|
||||
console.log('开始时间', val)
|
||||
this.times = val
|
||||
},
|
||||
time2(val) {
|
||||
console.log('结束时间', val)
|
||||
},
|
||||
// 下载模板
|
||||
handleSuccess(res, file) {
|
||||
console.log(res)
|
||||
this.$refs.upload.clearFiles()
|
||||
this.fullscreenLoading = false
|
||||
if (res.code == 200 || res.code == 0) {
|
||||
this.$message.success(
|
||||
this.$t('message.safeMangeCheck.toLeadSuccess') + '!'
|
||||
)
|
||||
this.getProgressListData()
|
||||
} else {
|
||||
this.$message.error(this.$t('message.safeMangeCheck.toLeadFail') + '!')
|
||||
}
|
||||
},
|
||||
beforeAvatarUpload() {
|
||||
this.fullscreenLoading = true
|
||||
},
|
||||
downloadFn() {
|
||||
fetch(
|
||||
this.$http.defaults.baseURL +
|
||||
'xmgl/rtRiskInventoryType/downloadExcelTemplate',
|
||||
{
|
||||
headers: {
|
||||
Authorization: this.$store.state.userInfo.token,
|
||||
},
|
||||
}
|
||||
)
|
||||
.then((response) => {
|
||||
// 处理响应
|
||||
if (!response.ok) {
|
||||
throw new Error('导出失败')
|
||||
}
|
||||
return response.blob()
|
||||
})
|
||||
.then((blob) => {
|
||||
console.log('导出成功')
|
||||
// 创建一个下载链接
|
||||
const url = window.URL.createObjectURL(blob)
|
||||
// 创建一个<a>元素
|
||||
const link = document.createElement('a')
|
||||
link.href = url
|
||||
link.download = '风险清册导入模板.xlsx' // 指定下载文件的文件名
|
||||
// 模拟点击下载链接
|
||||
document.body.appendChild(link)
|
||||
link.click()
|
||||
document.body.removeChild(link)
|
||||
// 释放URL对象
|
||||
window.URL.revokeObjectURL(url)
|
||||
// 处理导出的文件
|
||||
// 这里可以使用blob对象来获取导出的文件内容或者将其保存到本地
|
||||
})
|
||||
.catch((error) => {
|
||||
// 处理错误
|
||||
console.error(error)
|
||||
})
|
||||
},
|
||||
//
|
||||
beforeUpload(file) {
|
||||
console.log('=========', file)
|
||||
this.fileName = file.name
|
||||
},
|
||||
// 上传mpp文件触发
|
||||
handleImportChange(file, fileList) {
|
||||
console.log('=[====]')
|
||||
// console.log((file, fileList))
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
@ -401,28 +601,33 @@ export default {
|
||||
text-decoration: none;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.expintBtn {
|
||||
display: inline-block !important;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.table_wrap {
|
||||
height: 800px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.delete-btn {
|
||||
color: #fe6565;
|
||||
}
|
||||
|
||||
.dialogUplod {
|
||||
height: 100px;
|
||||
margin-left: 70px;
|
||||
margin-top: 40px;
|
||||
|
||||
div {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
.name-wrapper {
|
||||
text-overflow: -o-ellipsis-lastline;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
}
|
||||
</style>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user