opl页面调整

This commit is contained in:
caoqianming 2022-10-11 18:02:33 +08:00
parent dc7b9e2f91
commit 553e29de5c
11 changed files with 5550 additions and 5025 deletions

View File

@ -229,7 +229,7 @@
</el-table-column> --> </el-table-column> -->
</scTable> </scTable>
</el-card> </el-card>
<el-card header="气体检测记录" style="margin-top: 8px" shadow="hover"> <el-card header="气体检测记录" style="margin-top: 8px" shadow="hover" v-show="oplcateCode=='fire'||oplcateCode=='space'||oplcateCode=='cooler'">
<scTable <scTable
ref="gasTable" ref="gasTable"
:data="gasData" :data="gasData"
@ -316,7 +316,7 @@
risks_checked: [], risks_checked: [],
}, },
initForm: {}, initForm: {},
oplcateCode: "", oplcateCode: 'fire',
operationId: "", operationId: "",
oplId: "", oplId: "",
leveloptions: [ leveloptions: [
@ -371,6 +371,7 @@
this.$API.opm.opl.read.req(this.oplId).then((res) => { this.$API.opm.opl.read.req(this.oplId).then((res) => {
this.mainLoading = false this.mainLoading = false
this.form = res; this.form = res;
this.oplcateCode = res.cate_code
// this.oplcateId = res.cate; // this.oplcateId = res.cate;
// this.operationId = res.operation; // this.operationId = res.operation;
// this.getOperation(); // this.getOperation();

View File

@ -25,13 +25,13 @@
:model="form" :model="form"
:rules="rules" :rules="rules"
label-width="110px" label-width="110px"
style="margin: 40px 40px 40px 40px" style="margin: 40px 40px 0px 40px"
> >
<el-row> <el-row>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="关联作业"> <el-form-item label="关联作业">
<el-input <el-input
v-model="operationId" v-model="form.name"
type="text" type="text"
:disabled="true" :disabled="true"
></el-input> ></el-input>
@ -47,7 +47,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业开始时间"> <el-form-item label="作业开始时间" prop="start_time">
<el-date-picker <el-date-picker
v-model="form.start_time" v-model="form.start_time"
type="datetime" type="datetime"
@ -56,7 +56,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业结束时间"> <el-form-item label="作业结束时间" prop="end_time">
<el-date-picker <el-date-picker
v-model="form.end_time" v-model="form.end_time"
type="datetime" type="datetime"
@ -64,9 +64,8 @@
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<!--
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业级别"> <el-form-item label="作业级别" prop="level">
<el-select v-model="form.level" placeholder="选择作业级别"> <el-select v-model="form.level" placeholder="选择作业级别">
<el-option <el-option
v-for="item in leveloptions" v-for="item in leveloptions"
@ -77,9 +76,9 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
-->
<el-col :md="12" :sm="12" :xs="24" > <el-col :md="12" :sm="12" :xs="24" >
<el-form-item label="作业部门"> <el-form-item label="作业部门" prop="dept_do">
<el-cascader <el-cascader
placeholder="选择作业部门" placeholder="选择作业部门"
getCheckedNodes="true" getCheckedNodes="true"
@ -90,96 +89,49 @@
label: 'label', // label: 'label', //
value: 'value', // value: 'value', //
emitPath: false, // false emitPath: false, // false
checkStrictly: true
}" }"
clearable clearable
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业负责人"> <el-form-item label="作业负责人" prop="charger">
<el-select v-model="form.charger" placeholder="选择作业负责人"> <el-input
v-model="form.charger_name"
style="width:200px"
disabled
></el-input>
<!-- <el-select v-model="form.charger_name" placeholder="选择作业负责人">
<el-option <el-option
v-for="item in useroptions" v-for="item in useroptions"
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.id" :value="item.id"
/> />
</el-select> </el-select> -->
<ehsUserSelect :multiple="false" @submit="getCharger"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业监护人"> <el-form-item label="作业监护人" prop="monitor">
<el-select v-model="form.monitor" placeholder="选择作业监护人">
<el-option
v-for="item in useroptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<!--
临时用电
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="安装/拆除">
<el-input v-model="work_type" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="安装/拆除时间">
<el-input v-model="work_time" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="验收时间">
<el-input v-model="accept_time" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="用电地点">
<el-input v-model="power_to" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="电源接入点">
<el-input v-model="power_from" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="用电开始">
<el-input <el-input
v-model="power_start_time" v-model="form.monitor_name"
type="text" style="width:200px"
clearable disabled
></el-input> ></el-input>
<ehsUserSelect :multiple="false" @submit="getMonitor"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="用电截至">
<el-input
v-model="power_end_time"
type="text"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="计划用电天数">
<el-input v-model="power_days" type="text" clearable></el-input>
</el-form-item>
</el-col> !-->
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="风险选择"> <el-form-item label="风险选择" prop="risks_checked">
<el-checkbox-group v-model="form.risks_checked"> <el-checkbox-group v-model="form.risks_checked">
<el-checkbox <el-checkbox
v-for="(item, index) in risklist" v-for="(item, index) in risklist"
:key="index" :key="index"
:label="item.id" :label="item.id"
>{{ item.name }}</el-checkbox >{{ item.name }}
</el-checkbox
> >
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
@ -193,38 +145,28 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!--
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="逃生路径">
<el-input v-model="escape_route" type="text" clearable></el-input>
</el-form-item>
</el-col> !-->
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="措施选择"> <el-form-item label="措施选择" prop="measures_checked">
<el-checkbox-group v-model="form.measures_checked"> <el-checkbox-group v-model="form.measures_checked">
<el-checkbox <el-checkbox
v-for="(item, index) in measurelist" v-for="(item, index) in measurelist"
:key="index" :key="index"
:label="item.id" :label="item.id"
>{{ item.name }}</el-checkbox >{{ item.name }}
</el-checkbox
> >
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-card class="box-card"> <el-card header="应急处置">
<div class="clearfix">
<span>应急处置</span>
</div>
<div class="content"> <div class="content">
<p>1施救人员必须穿戴防护用品防毒面具正压式空气呼吸器长管式呼吸器和安全绳方可进入库仓内进行救援</p> <p>1施救人员必须穿戴防护用品防毒面具正压式空气呼吸器长管式呼吸器和安全绳方可进入库
仓内进行救援</p>
<p>2将受伤人员托起或使用三角架绞盘和全身式安全带将伤者救出</p> <p>2将受伤人员托起或使用三角架绞盘和全身式安全带将伤者救出</p>
<p>3如伤者发生骨折不应随意移动伤者立即拨打120</p> <p>3如伤者发生骨折不应随意移动伤者立即拨打120</p>
<p>4发生人员窒息中毒将其转移到空气新鲜流通的场所插入氧气袋或进行心肺复苏术情况严重拨打120</p> <p>4发生人员窒息中毒将其转移到空气新鲜流通的场所插入氧气袋或进行心肺复苏术情况严重拨打120</p>
<p>5逃生通道</p> <p>4逃生通道</p>
</div> </div>
</el-card> </el-card>
<el-form-item label="其他应急处置"> <el-form-item label="其他应急处置">
@ -235,25 +177,13 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!--
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业审批照片">
<el-input v-model="create_imgs" type="text" clearable></el-input>
</el-form-item>
</el-col>
!-->
</el-row>
<el-row>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item>
<el-button style="margin-top: 12px" @click="handleNextStep"
>下一步</el-button
>
</el-form-item>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
<div style="margin-bottom: 20px; text-align:center">
<el-button type="primary" plain @click="handleNextStep"
>下一步
</el-button>
</div>
</el-main> </el-main>
<!--作业人员!--> <!--作业人员!-->
@ -271,6 +201,8 @@
row-key="id" row-key="id"
hidePagination hidePagination
stripe stripe
hideDo
style="height: 300px;"
> >
<el-table-column <el-table-column
label="#" label="#"
@ -290,10 +222,9 @@
<el-tag v-for="item in scope.row.certificates_" <el-tag v-for="item in scope.row.certificates_"
:key="item.number" :key="item.number"
:label="item.name" :label="item.name"
:value="item.number">{{item.name}}</el-tag> :value="item.number">{{item.name}}
</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="创建时间" label="创建时间"
@ -314,7 +245,7 @@
</template> </template>
</el-table-column> </el-table-column>
</scTable> </scTable>
<sc-dialog v-model="workerdialog" draggable title="选择作业人员"> <el-dialog v-model="workerdialog" draggable title="选择作业人员">
<el-form <el-form
ref="workerForm" ref="workerForm"
:model="formworker" :model="formworker"
@ -327,18 +258,12 @@
<el-row> <el-row>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="作业人员"> <el-form-item label="作业人员">
<el-select <el-input
v-model="formworker.worker" v-model="formworker.worker_name"
@change="selectWorker" style="width:200px"
placeholder="选择作业人员" disabled
> ></el-input>
<el-option <ehsUserSelect :multiple="false" @submit="getWorker"/>
v-for="item in useroptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
@ -381,16 +306,17 @@
<el-button @click="dialogcart = false"> </el-button> <el-button @click="dialogcart = false"> </el-button>
<el-button type="primary" @click="submitWorker"> </el-button> <el-button type="primary" @click="submitWorker"> </el-button>
</template> </template>
</sc-dialog> </el-dialog>
<el-button style="margin-top: 12px" @click="handleLastStep" <div style="margin-top:20px;text-align:center">
>上一步</el-button <el-button style="margin-right: 4px" @click="handleLastStep"
> >上一步
<el-button style="margin-top: 12px" @click="handleNextStep" </el-button>
>下一步</el-button <el-button type="primary" plain @click="handleNextStep"
> >下一步
</el-button>
</div>
</el-main> </el-main>
<!--气体浓度检测记录!--> <!--气体检测记录!-->
<el-main class="nopadding" v-show="active === 2"> <el-main class="nopadding" v-show="active === 2">
<div class="left-panel" style="margin: 10px"> <div class="left-panel" style="margin: 10px">
<el-button <el-button
@ -404,7 +330,9 @@
:data="apigasObj" :data="apigasObj"
row-key="id" row-key="id"
hidePagination hidePagination
hideDo
stripe stripe
style="height: 300px;"
> >
<el-table-column <el-table-column
label="#" label="#"
@ -425,7 +353,7 @@
<el-table-column label="O2(%)" prop="o2" width="150"></el-table-column> <el-table-column label="O2(%)" prop="o2" width="150"></el-table-column>
<el-table-column label="CO" prop="co" width="150"></el-table-column> <el-table-column label="CO" prop="co" width="150"></el-table-column>
<el-table-column <el-table-column
label="H2S" label="h2s"
prop="h2s" prop="h2s"
width="150" width="150"
></el-table-column> ></el-table-column>
@ -433,26 +361,25 @@
label="检验结论" label="检验结论"
prop="is_ok" prop="is_ok"
width="150" width="150"
> <template #default="scope"> >
<template #default="scope">
{{ is_ok_[scope.row.is_ok] }} {{ is_ok_[scope.row.is_ok] }}
</template></el-table-column> </template>
</el-table-column>
<el-table-column <el-table-column
label="检测人" label="检测人"
prop="checker" prop="checker"
width="150" width="150"
> <template #default="scope"> >
<template #default="scope">
{{ scope.row.checker_.name }} {{ scope.row.checker_.name }}
</template></el-table-column> </template>
<el-table-column </el-table-column>
label="创建时间"
prop="create_time"
width="150"
></el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="200"> <el-table-column label="操作" fixed="right" align="center" width="200">
<template #default="scope"> <template #default="scope">
<el-popconfirm <el-popconfirm
title="确定删除该气体浓度检测记录吗?" title="确定删除该条气体检测记录吗?"
@confirm="delgas(scope.row)" @confirm="delgas(scope.row)"
> >
<template #reference> <template #reference>
@ -461,9 +388,8 @@
</el-popconfirm> </el-popconfirm>
</template> </template>
</el-table-column> </el-table-column>
</scTable> </scTable>
<sc-dialog v-model="gasdialog" draggable title="气体检测记录"> <el-dialog v-model="gasdialog" draggable title="气体检测记录">
<el-form <el-form
ref="gasForm" ref="gasForm"
:model="formgas" :model="formgas"
@ -507,7 +433,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="H2S(10ppm)"> <el-form-item label="H2S">
<el-input <el-input
v-model.number="formgas.h2s" v-model.number="formgas.h2s"
type="text" type="text"
@ -519,14 +445,20 @@
<el-form-item label="检验结论"> <el-form-item label="检验结论">
<el-radio-group v-model="formgas.is_ok"> <el-radio-group v-model="formgas.is_ok">
<el-radio :label="true" >正常</el-radio> <el-radio l :label="true">正常</el-radio>
<el-radio :label="false">不正常</el-radio> <el-radio :label="false">不正常</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="检测人"> <el-form-item label="检测人">
<el-select <el-input
v-model="formgas.checker_name"
style="width:200px"
disabled
></el-input>
<ehsUserSelect :multiple="false" @submit="getChecker"/>
<!-- <el-select
v-model="formgas.checker" v-model="formgas.checker"
placeholder="选择作业人员" placeholder="选择作业人员"
> >
@ -536,7 +468,7 @@
:label="item.name" :label="item.name"
:value="item.id" :value="item.id"
/> />
</el-select> </el-select> -->
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -545,11 +477,20 @@
<el-button @click="dialoggase = false"> </el-button> <el-button @click="dialoggase = false"> </el-button>
<el-button type="primary" @click="submitgas"> </el-button> <el-button type="primary" @click="submitgas"> </el-button>
</template> </template>
</sc-dialog> </el-dialog>
<el-button style="margin-top: 12px" @click="handleLastStep" <div style="margin-top:20px;text-align:center">
>上一步</el-button <el-button @click="handleLastStep" style="margin-right:4px">上一步</el-button>
> <el-button
<el-button style="margin-top: 12px" @click="submitOut">退出</el-button> :loading="tLoading"
v-for=" item in initForm.transitions"
:key="item.id"
type="primary"
@click="submitTicketCreate(item.id)"
style="margin-right:4px"
>{{item.name}}
</el-button>
<el-button @click="submitOut" type="warning">退出</el-button>
</div>
</el-main> </el-main>
</el-container> </el-container>
</template> </template>
@ -561,38 +502,43 @@
.box-card p { .box-card p {
line-height: 20px; line-height: 20px;
} }
.content { .content {
margin-top: 10px; margin-top: 10px;
} }
.stepSuc:hover { .stepSuc:hover {
cursor: pointer; cursor: pointer;
} }
.stepErr:hover { .stepErr:hover {
cursor: not-allowed; cursor: not-allowed;
} }
</style> </style>
<script> <script>
import {genTree} from "@/utils/verificate"; import {genTree} from "@/utils/verificate";
const defaultformworker = { const defaultformworker = {
id: "", id: "",
worker: null, worker: null,
duty: null, duty: "作业人员",
certificates: [], certificates: [],
opl: "", opl: "",
}; };
const defaultformgas = { const defaultformgas = {
id: "", id: "",
is_ok: true,
check_time: null, check_time: null,
opl:"" opl: "",
}; };
export default { export default {
name: "clear", name: "fire",
components: {}, components: {},
data() { data() {
return { return {
active: 0, active: 0,
stepSuc: [0], stepSuc: [0],
stepTitle: ["基本信息", "作业人员", "气体浓度检测记录"], stepTitle: ["基本信息", "作业人员", "气体检测记录"],
query: {}, query: {},
selection: [], selection: [],
issave: false, // issave: false, //
@ -607,21 +553,21 @@ export default {
cate: "", cate: "",
risks_checked: [], risks_checked: [],
}, },
initForm: {},
operationId: "", operationId: "",
oplcateId: "", oplcateId: "",
oplcateCode: "",
oplId: "", oplId: "",
leveloptions: [ leveloptions: [
{ id: 10, name: "特级" }, {id: 10, name: "特殊动火"},
{ id: 20, name: "一级" }, {id: 20, name: "一级动火"},
{ id: 30, name: "二级" }, {id: 30, name: "二级动火"},
], ],
deptoptions: [], deptoptions: [],
useroptions: [], useroptions: [],
risklist: [], risklist: [],
measurelist: [], measurelist: [],
pagtitle: "", pagtitle: "",
dutyOptions: [ dutyOptions: [
{value: 10, label: "作业人员"}, {value: 10, label: "作业人员"},
{value: 20, label: "起重司机"}, {value: 20, label: "起重司机"},
@ -640,6 +586,33 @@ export default {
true: "正常", true: "正常",
false: "不正常", false: "不正常",
}, },
tLoading: false,
rules: {
start_time: [
{required: true, message: '请选择'}
],
end_time: [
{required: true, message: '请选择'}
],
level: [
{required: true, message: '请选择'}
],
dept_do: [
{required: true, message: '请选择'}
],
charger: [
{required: true, message: '请选择'}
],
monitor: [
{required: true, message: '请选择'}
],
risks_checked: [
{required: true, message: '请选择'}
],
measures_checked: [
{required: true, message: '请选择'}
],
}
}; };
}, },
mounted() { mounted() {
@ -647,11 +620,28 @@ export default {
this.oplcateId = this.$route.query.oplcateId; //ID this.oplcateId = this.$route.query.oplcateId; //ID
this.oplId = this.$route.query.oplId; //ID this.oplId = this.$route.query.oplId; //ID
this.getoplData(); this.getoplData();
this.getInit();
this.getDept(); this.getDept();
this.getUser(); // this.getUser();
}, },
methods: { methods: {
getCharger(data) {
this.form.charger=data.id;
this.form.charger_name=data.name
},
getChecker(data){
this.formgas.checker=data.id;
this.formgas.checker_name=data.name
},
getMonitor(data) {
this.form.monitor=data.id;
this.form.monitor_name=data.name
},
getWorker(data) {
this.formworker.worker=data.id,
this.formworker.worker_name=data.name
this.selectWorker()
},
getoplData() { getoplData() {
if (this.oplId == "") { if (this.oplId == "") {
this.getOperation(); this.getOperation();
@ -664,7 +654,7 @@ export default {
getData() { getData() {
this.$API.opm.opl.read.req(this.oplId).then((res) => { this.$API.opm.opl.read.req(this.oplId).then((res) => {
this.form = res; this.form = res;
this.oplId = res.id;
this.oplcateId = res.cate; this.oplcateId = res.cate;
this.operationId = res.operation; this.operationId = res.operation;
this.getOperation(); this.getOperation();
@ -677,6 +667,7 @@ export default {
this.$API.opm.operation.read.req(this.operationId).then((res) => { this.$API.opm.operation.read.req(this.operationId).then((res) => {
this.form.start_time = res.start_time; // this.form.start_time = res.start_time; //
this.form.end_time = res.end_time; // this.form.end_time = res.end_time; //
this.form.name = res.name; //
console.log(res); console.log(res);
}); });
@ -689,18 +680,14 @@ export default {
}, },
// //
getUser() {
this.$API.system.user.list.req({ page: 0 }).then((res) => {
this.useroptions = res;
});
},
// //
//ID //ID===>
getOplcates() { getOplcates() {
this.$API.opm.oplcate.read.req(this.oplcateId).then((res) => { this.$API.opm.oplcate.read.req(this.oplcateId).then((res) => {
console.log(res); // console.log(res); //
this.pagtitle = res.name; this.pagtitle = res.name;
this.oplcateCode = res.code;
this.risklist = res.risk_options_; // this.risklist = res.risk_options_; //
this.measurelist = res.measure_options_; // this.measurelist = res.measure_options_; //
}); });
@ -719,10 +706,12 @@ export default {
}, },
// //
handleNextStep() { handleNextStep() {
if (this.active == 0) { if (this.active == 0) {
console.log(this.oplId); this.$refs.dialogForm.validate((valid) => {
if (valid) {
// //
if (this.oplId == "" && this.issave == false) { if (this.oplId == "") {
// //
debugger; debugger;
this.form.cate = this.oplcateId; this.form.cate = this.oplcateId;
@ -731,30 +720,41 @@ export default {
this.$API.opm.opl.create this.$API.opm.opl.create
.req(this.form) .req(this.form)
.then((res) => { .then((res) => {
this.$emit("success", this.form, this.mode); this.$emit("success", this.form);
this.$message.success("创建成功"); this.$message.success("创建成功");
this.issave = true; this.issave = true;
this.active = 1; this.active = 1;
this.oplId = res.id; this.oplId = res.id;
this.getworkerList(res.id); this.getworkerList();
this.getgasList(res.id); this.getgasList();
return res; return res;
}) })
.catch((err) => { .catch((err) => {
return err; return err;
}); });
} else if (this.oplId != "") { } else if (this.oplId != "") {
this.$API.opm.opl.update.req(this.form.id, this.form).then(() => {
this.$API.opm.opl.update.req(this.oplId, this.form).then(() => {
this.$message.success("基本修改成功!"); this.$message.success("基本修改成功!");
this.issave = true; this.issave = true;
this.active = 1; this.active = 1;
this.getworkerList(this.form.id); this.getgasList();
this.getgasList(this.form.id); this.getworkerList();
}); });
} else { } else {
this.active = 1; this.active = 1;
} }
}
})
} else { } else {
if (this.active==1){
if(this.apiworkerObj.length==0){
this.$message.warning("请添加作业人员");
return
}
}
this.active = 2; this.active = 2;
} }
@ -772,8 +772,8 @@ export default {
}, },
// //
getworkerList(id) { getworkerList() {
this.$API.opm.worker.list.req({ opl: id, page: 0 }).then((res) => { this.$API.opm.worker.list.req({opl: this.oplId, page: 0}).then((res) => {
this.apiworkerObj = res; this.apiworkerObj = res;
console.log(res); console.log(res);
}); });
@ -791,8 +791,7 @@ export default {
.req(row.id) .req(row.id)
.then((res) => { .then((res) => {
this.$message.success("作业人员删除成功"); this.$message.success("作业人员删除成功");
this.getworkerList()
this.$refs.workerTable.refresh();
return res; return res;
}) })
.catch((err) => { .catch((err) => {
@ -808,24 +807,23 @@ export default {
.req(this.formworker) .req(this.formworker)
.then((res) => { .then((res) => {
this.$message.success("创建作业人员成功"); this.$message.success("创建作业人员成功");
this.$refs.workerTable.refresh(); this.getworkerList();
this.workerdialog = false; this.workerdialog = false;
}) })
.catch((err) => { .catch((err) => {
return err; return err;
}); });
}); });
}, },
//
getgasList(id) { //
this.$API.opm.gas.list.req({ opl: id, page: 0 }).then((res) => { getgasList() {
this.$API.opm.gas.list.req({opl: this.oplId, page: 0}).then((res) => {
this.apigasObj = res; this.apigasObj = res;
console.log(res); console.log(res);
}); });
}, },
//Form //Form
addgas() { addgas() {
this.gasdialog = true; this.gasdialog = true;
@ -840,9 +838,8 @@ export default {
this.$API.opm.gas.create this.$API.opm.gas.create
.req(this.formgas) .req(this.formgas)
.then((res) => { .then((res) => {
this.$message.success("创建气体浓度检测记录成功"); this.$message.success("创建气体检测记录成功");
this.$refs.gasTable.refresh(); this.getgasList();
this.gasdialog = false; this.gasdialog = false;
}) })
@ -852,25 +849,49 @@ export default {
}); });
}, },
// //
delgas(row) { delgas(row) {
this.$API.opm.gas.delete this.$API.opm.gas.delete
.req(row.id) .req(row.id)
.then((res) => { .then((res) => {
this.$message.success("气体浓度检测记录删除成功"); this.$message.success("气体检测记录删除成功");
this.$refs.gasTable.refresh(); this.getgasList()
return res; return res;
}) })
.catch((err) => { .catch((err) => {
return err; return err;
}); });
}, },
//
getInit() {
this.$API.wf.workflow.initkey.req('opl_clear').then((res) => {
this.initForm = res;
});
},
//,
submitTicketCreate(id) {
let ticket = {};
ticket.workflow = this.initForm.workflow;
ticket.ticket_data = {opl: this.oplId};
ticket.transition = id;
ticket.title = this.form.name + '-申请';
this.tLoading = true
this.$API.wf.ticket.create.req(ticket).then((res) => {
this.tLoading = false
this.$message.success("提交成功");
this.submitOut()
}).catch(e=>{this.tLoading=false});
},
//退 //退
submitOut() { submitOut() {
this.$router.push({ this.$router.push({
name: "opl", name: "opl",
query: { query: {
operationid: this.$route.query.id,//ID id: this.operationId,//ID
}, },
}); });

View File

@ -25,13 +25,13 @@
:model="form" :model="form"
:rules="rules" :rules="rules"
label-width="110px" label-width="110px"
style="margin: 40px 40px 40px 40px" style="margin: 40px 40px 0px 40px"
> >
<el-row> <el-row>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="关联作业"> <el-form-item label="关联作业">
<el-input <el-input
v-model="operationId" v-model="form.name"
type="text" type="text"
:disabled="true" :disabled="true"
></el-input> ></el-input>
@ -47,7 +47,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业开始时间"> <el-form-item label="作业开始时间" prop="start_time">
<el-date-picker <el-date-picker
v-model="form.start_time" v-model="form.start_time"
type="datetime" type="datetime"
@ -56,7 +56,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业结束时间"> <el-form-item label="作业结束时间" prop="end_time">
<el-date-picker <el-date-picker
v-model="form.end_time" v-model="form.end_time"
type="datetime" type="datetime"
@ -64,41 +64,61 @@
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24" > <el-col :md="12" :sm="12" :xs="24" >
<el-form-item label="作业负责人"> <el-form-item label="作业部门" prop="dept_do">
<el-select v-model="form.charger" placeholder="选择作业负责人"> <el-cascader
placeholder="选择作业部门"
getCheckedNodes="true"
v-model="form.dept_do"
:options="deptoptions"
:props="{
expandTrigger: 'hover', //
label: 'label', //
value: 'value', //
emitPath: false, // false
checkStrictly: true
}"
clearable
/>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业负责人" prop="charger">
<el-input
v-model="form.charger_name"
style="width:200px"
disabled
></el-input>
<!-- <el-select v-model="form.charger_name" placeholder="选择作业负责人">
<el-option <el-option
v-for="item in useroptions" v-for="item in useroptions"
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.id" :value="item.id"
/> />
</el-select> </el-select> -->
<ehsUserSelect :multiple="false" @submit="getCharger"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业监护人"> <el-form-item label="作业监护人" prop="monitor">
<el-select v-model="form.monitor" placeholder="选择作业监护人"> <el-input
<el-option v-model="form.monitor_name"
v-for="item in useroptions" style="width:200px"
:key="item.id" disabled
:label="item.name" ></el-input>
:value="item.id" <ehsUserSelect :multiple="false" @submit="getMonitor"/>
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="风险选择"> <el-form-item label="风险选择" prop="risks_checked">
<el-checkbox-group v-model="form.risks_checked"> <el-checkbox-group v-model="form.risks_checked">
<el-checkbox <el-checkbox
v-for="(item, index) in risklist" v-for="(item, index) in risklist"
:key="index" :key="index"
:label="item.id" :label="item.id"
>{{ item.name }}</el-checkbox >{{ item.name }}
</el-checkbox
> >
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
@ -112,33 +132,27 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="措施选择"> <el-form-item label="措施选择" prop="measures_checked">
<el-checkbox-group v-model="form.measures_checked"> <el-checkbox-group v-model="form.measures_checked">
<el-checkbox <el-checkbox
v-for="(item, index) in measurelist" v-for="(item, index) in measurelist"
:key="index" :key="index"
:label="item.id" :label="item.id"
>{{ item.name }}</el-checkbox >{{ item.name }}
</el-checkbox
> >
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-card class="box-card"> <el-card header="应急处置">
<div class="clearfix">
<span>应急处置</span>
</div>
<div class="content"> <div class="content">
<p>1施救人员必须穿戴好耐高温防护用品方可进入篦冷机内进行救援</p> <p>1施救人员必须穿戴好耐高温防护用品方可进入篦冷机内进行救援</p>
<p>2将受伤人员托起或使用担架将伤者抬出篦冷机</p> <p>2将受伤人员托起或使用担架将伤者抬出篦冷机</p>
<p>3发生人员窒息中毒将其转移到空气新鲜流通的场所插入氧气袋或进行心肺复苏术情况严重拨打120 </p> <p>3发生人员窒息中毒将其转移到空气新鲜流通的场所插入氧气袋或进行心肺复苏术情况严重拨打120
</p>
<p>4发生人员烫伤时用冷清水对烫伤部位进行冲洗或用浸泡用干净的纱布或衣物盖住被烫伤部位伤势严重时立即拨打120送医若贴身衣服与伤口粘在一起时可用剪刀剪开然后缓慢剥离衣物</p> <p>4发生人员烫伤时用冷清水对烫伤部位进行冲洗或用浸泡用干净的纱布或衣物盖住被烫伤部位伤势严重时立即拨打120送医若贴身衣服与伤口粘在一起时可用剪刀剪开然后缓慢剥离衣物</p>
<p>5逃生通道 </p>
</div> </div>
</el-card> </el-card>
<el-form-item label="其他应急处置"> <el-form-item label="其他应急处置">
@ -149,19 +163,13 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item>
<el-button style="margin-top: 12px" @click="handleNextStep"
>下一步</el-button
>
</el-form-item>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
<div style="margin-bottom: 20px; text-align:center">
<el-button type="primary" plain @click="handleNextStep"
>下一步
</el-button>
</div>
</el-main> </el-main>
<!--作业人员!--> <!--作业人员!-->
@ -179,6 +187,8 @@
row-key="id" row-key="id"
hidePagination hidePagination
stripe stripe
hideDo
style="height: 300px;"
> >
<el-table-column <el-table-column
label="#" label="#"
@ -198,7 +208,8 @@
<el-tag v-for="item in scope.row.certificates_" <el-tag v-for="item in scope.row.certificates_"
:key="item.number" :key="item.number"
:label="item.name" :label="item.name"
:value="item.number">{{item.name}}</el-tag> :value="item.number">{{item.name}}
</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -220,7 +231,7 @@
</template> </template>
</el-table-column> </el-table-column>
</scTable> </scTable>
<sc-dialog v-model="workerdialog" draggable title="选择作业人员"> <el-dialog v-model="workerdialog" draggable title="选择作业人员">
<el-form <el-form
ref="workerForm" ref="workerForm"
:model="formworker" :model="formworker"
@ -233,18 +244,12 @@
<el-row> <el-row>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="作业人员"> <el-form-item label="作业人员">
<el-select <el-input
v-model="formworker.worker" v-model="formworker.worker_name"
@change="selectWorker" style="width:200px"
placeholder="选择作业人员" disabled
> ></el-input>
<el-option <ehsUserSelect :multiple="false" @submit="getWorker"/>
v-for="item in useroptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
@ -287,14 +292,192 @@
<el-button @click="dialogcart = false"> </el-button> <el-button @click="dialogcart = false"> </el-button>
<el-button type="primary" @click="submitWorker"> </el-button> <el-button type="primary" @click="submitWorker"> </el-button>
</template> </template>
</sc-dialog> </el-dialog>
<el-button style="margin-top: 12px" @click="handleLastStep" <div style="margin-top:20px;text-align:center">
>上一步</el-button <el-button style="margin-right: 4px" @click="handleLastStep"
> >上一步
<el-button style="margin-top: 12px" @click="submitOut">退出</el-button> </el-button>
<el-button type="primary" plain @click="handleNextStep"
>下一步
</el-button>
</div>
</el-main> </el-main>
<!--气体检测记录!-->
<el-main class="nopadding" v-show="active === 2">
<div class="left-panel" style="margin: 10px">
<el-button
type="primary"
icon="el-icon-plus"
@click="addgas"
></el-button>
</div>
<scTable
ref="gasTable"
:data="apigasObj"
row-key="id"
hidePagination
hideDo
stripe
style="height: 300px;"
>
<el-table-column
label="#"
fixed="left"
type="index"
width="50"
></el-table-column>
<el-table-column
label="检测时间"
prop="check_time"
width="150"
></el-table-column>
<el-table-column
label="检测部位"
prop="check_place"
width="150"
></el-table-column>
<el-table-column label="O2(%)" prop="o2" width="150"></el-table-column>
<el-table-column label="CO" prop="co" width="150"></el-table-column>
<el-table-column
label="45℃"
prop="f5"
width="150"
></el-table-column>
<el-table-column
label="检验结论"
prop="is_ok"
width="150"
>
<template #default="scope">
{{ is_ok_[scope.row.is_ok] }}
</template>
</el-table-column>
<el-table-column
label="检测人"
prop="checker"
width="150"
>
<template #default="scope">
{{ scope.row.checker_.name }}
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="200">
<template #default="scope">
<el-popconfirm
title="确定删除该条气体检测记录吗?"
@confirm="delgas(scope.row)"
>
<template #reference>
<el-button text type="danger" size="small">删除</el-button>
</template>
</el-popconfirm>
</template>
</el-table-column>
</scTable>
<el-dialog v-model="gasdialog" draggable title="气体检测记录">
<el-form
ref="gasForm"
:model="formgas"
:rules="rules"
:disabled="mode == 'show'"
label-width="80px"
width="70%"
style="margin: 40px 40px 40px 40px"
>
<el-row>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item label="检测时间">
<el-date-picker
v-model="formgas.check_time"
type="datetime"
placeholder="选择检测时间"
/>
</el-form-item>
</el-col>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item label="检测部位">
<el-input
v-model="formgas.check_place"
type="text"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item label="O2(%)">
<el-input v-model.number="formgas.o2" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item label="CO">
<el-input
v-model.number="formgas.co"
type="text"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item label="45℃">
<el-input
v-model.number="formgas.f5"
type="text"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item label="检验结论">
<el-radio-group v-model="formgas.is_ok">
<el-radio l :label="true">正常</el-radio>
<el-radio :label="false">不正常</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item label="检测人">
<el-input
v-model="formgas.checker_name"
style="width:200px"
disabled
></el-input>
<ehsUserSelect :multiple="false" @submit="getChecker"/>
<!-- <el-select
v-model="formgas.checker"
placeholder="选择作业人员"
>
<el-option
v-for="item in useroptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select> -->
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<el-button @click="dialoggase = false"> </el-button>
<el-button type="primary" @click="submitgas"> </el-button>
</template>
</el-dialog>
<div style="margin-top:20px;text-align:center">
<el-button @click="handleLastStep" style="margin-right:4px">上一步</el-button>
<el-button
:loading="tLoading"
v-for=" item in initForm.transitions"
:key="item.id"
type="primary"
@click="submitTicketCreate(item.id)"
style="margin-right:4px"
>{{item.name}}
</el-button>
<el-button @click="submitOut" type="warning">退出</el-button>
</div>
</el-main>
</el-container> </el-container>
</template> </template>
<style scoped> <style scoped>
@ -305,39 +488,43 @@
.box-card p { .box-card p {
line-height: 20px; line-height: 20px;
} }
.content { .content {
margin-top: 10px; margin-top: 10px;
} }
.stepSuc:hover { .stepSuc:hover {
cursor: pointer; cursor: pointer;
} }
.stepErr:hover { .stepErr:hover {
cursor: not-allowed; cursor: not-allowed;
} }
</style> </style>
<script> <script>
import {genTree} from "@/utils/verificate"; import {genTree} from "@/utils/verificate";
const defaultformworker = { const defaultformworker = {
id: "", id: "",
worker: null, worker: null,
duty: null, duty: "作业人员",
certificates: [], certificates: [],
opl: "", opl: "",
}; };
const defaultformgas = { const defaultformgas = {
id: "", id: "",
is_ok: true,
check_time: null, check_time: null,
opl:"" opl: "",
}; };
export default { export default {
name: "cooler", name: "fire",
components: {}, components: {},
data() { data() {
return { return {
active: 0, active: 0,
stepSuc: [0], stepSuc: [0],
stepTitle: ["基本信息", "作业人员"], stepTitle: ["基本信息", "作业人员", "气体检测记录"],
query: {}, query: {},
selection: [], selection: [],
issave: false, // issave: false, //
@ -352,9 +539,10 @@ export default {
cate: "", cate: "",
risks_checked: [], risks_checked: [],
}, },
initForm: {},
operationId: "", operationId: "",
oplcateId: "", oplcateId: "",
oplcateCode: "",
oplId: "", oplId: "",
leveloptions: [ leveloptions: [
{id: 10, name: "特殊动火"}, {id: 10, name: "特殊动火"},
@ -366,7 +554,6 @@ export default {
risklist: [], risklist: [],
measurelist: [], measurelist: [],
pagtitle: "", pagtitle: "",
dutyOptions: [ dutyOptions: [
{value: 10, label: "作业人员"}, {value: 10, label: "作业人员"},
{value: 20, label: "起重司机"}, {value: 20, label: "起重司机"},
@ -385,6 +572,33 @@ export default {
true: "正常", true: "正常",
false: "不正常", false: "不正常",
}, },
tLoading: false,
rules: {
start_time: [
{required: true, message: '请选择'}
],
end_time: [
{required: true, message: '请选择'}
],
level: [
{required: true, message: '请选择'}
],
dept_do: [
{required: true, message: '请选择'}
],
charger: [
{required: true, message: '请选择'}
],
monitor: [
{required: true, message: '请选择'}
],
risks_checked: [
{required: true, message: '请选择'}
],
measures_checked: [
{required: true, message: '请选择'}
],
}
}; };
}, },
mounted() { mounted() {
@ -392,13 +606,28 @@ export default {
this.oplcateId = this.$route.query.oplcateId; //ID this.oplcateId = this.$route.query.oplcateId; //ID
this.oplId = this.$route.query.oplId; //ID this.oplId = this.$route.query.oplId; //ID
this.getoplData(); this.getoplData();
this.getInit();
this.getDept(); this.getDept();
this.getUser(); // this.getUser();
}, },
methods: { methods: {
getCharger(data) {
this.form.charger=data.id;
this.form.charger_name=data.name
},
getChecker(data){
this.formgas.checker=data.id;
this.formgas.checker_name=data.name
},
getMonitor(data) {
this.form.monitor=data.id;
this.form.monitor_name=data.name
},
getWorker(data) {
this.formworker.worker=data.id,
this.formworker.worker_name=data.name
this.selectWorker()
},
getoplData() { getoplData() {
if (this.oplId == "") { if (this.oplId == "") {
this.getOperation(); this.getOperation();
@ -411,7 +640,7 @@ export default {
getData() { getData() {
this.$API.opm.opl.read.req(this.oplId).then((res) => { this.$API.opm.opl.read.req(this.oplId).then((res) => {
this.form = res; this.form = res;
this.oplId = res.id;
this.oplcateId = res.cate; this.oplcateId = res.cate;
this.operationId = res.operation; this.operationId = res.operation;
this.getOperation(); this.getOperation();
@ -424,6 +653,7 @@ export default {
this.$API.opm.operation.read.req(this.operationId).then((res) => { this.$API.opm.operation.read.req(this.operationId).then((res) => {
this.form.start_time = res.start_time; // this.form.start_time = res.start_time; //
this.form.end_time = res.end_time; // this.form.end_time = res.end_time; //
this.form.name = res.name; //
console.log(res); console.log(res);
}); });
@ -436,18 +666,14 @@ export default {
}, },
// //
getUser() {
this.$API.system.user.list.req({ page: 0 }).then((res) => {
this.useroptions = res;
});
},
// //
//ID //ID===>
getOplcates() { getOplcates() {
this.$API.opm.oplcate.read.req(this.oplcateId).then((res) => { this.$API.opm.oplcate.read.req(this.oplcateId).then((res) => {
console.log(res); // console.log(res); //
this.pagtitle = res.name; this.pagtitle = res.name;
this.oplcateCode = res.code;
this.risklist = res.risk_options_; // this.risklist = res.risk_options_; //
this.measurelist = res.measure_options_; // this.measurelist = res.measure_options_; //
}); });
@ -466,8 +692,10 @@ export default {
}, },
// //
handleNextStep() { handleNextStep() {
if (this.active == 0) { if (this.active == 0) {
// console.log(this.oplId); this.$refs.dialogForm.validate((valid) => {
if (valid) {
// //
if (this.oplId == "") { if (this.oplId == "") {
// //
@ -484,8 +712,8 @@ export default {
this.active = 1; this.active = 1;
this.oplId = res.id; this.oplId = res.id;
this.getworkerList(res.id); this.getworkerList();
this.getgasList();
return res; return res;
}) })
.catch((err) => { .catch((err) => {
@ -497,14 +725,25 @@ export default {
this.$message.success("基本修改成功!"); this.$message.success("基本修改成功!");
this.issave = true; this.issave = true;
this.active = 1; this.active = 1;
this.getgasList();
this.getworkerList(this.oplId); this.getworkerList();
}); });
} else { } else {
this.active = 1; this.active = 1;
} }
} }
})
} else {
if (this.active==1){
if(this.apiworkerObj.length==0){
this.$message.warning("请添加作业人员");
return
}
}
this.active = 2;
}
// this.stepSuc.push(++this.active) // this.stepSuc.push(++this.active)
}, },
@ -519,8 +758,8 @@ export default {
}, },
// //
getworkerList(id) { getworkerList() {
this.$API.opm.worker.list.req({ opl: id, page: 0 }).then((res) => { this.$API.opm.worker.list.req({opl: this.oplId, page: 0}).then((res) => {
this.apiworkerObj = res; this.apiworkerObj = res;
console.log(res); console.log(res);
}); });
@ -538,7 +777,7 @@ export default {
.req(row.id) .req(row.id)
.then((res) => { .then((res) => {
this.$message.success("作业人员删除成功"); this.$message.success("作业人员删除成功");
this.$refs.workerTable.refresh(); this.getworkerList()
return res; return res;
}) })
.catch((err) => { .catch((err) => {
@ -554,8 +793,40 @@ export default {
.req(this.formworker) .req(this.formworker)
.then((res) => { .then((res) => {
this.$message.success("创建作业人员成功"); this.$message.success("创建作业人员成功");
this.$refs.workerTable.refresh(); this.getworkerList();
this.workerdialog = false; this.workerdialog = false;
})
.catch((err) => {
return err;
});
});
},
//
getgasList() {
this.$API.opm.gas.list.req({opl: this.oplId, page: 0}).then((res) => {
this.apigasObj = res;
console.log(res);
});
},
//Form
addgas() {
this.gasdialog = true;
this.formgas = Object.assign({}, defaultformgas);
},
//
submitgas() {
this.formgas.opl = this.oplId;
this.$refs.gasForm.validate(async (valid) => {
this.$API.opm.gas.create
.req(this.formgas)
.then((res) => {
this.$message.success("创建气体检测记录成功");
this.getgasList();
this.gasdialog = false;
}) })
.catch((err) => { .catch((err) => {
@ -565,12 +836,48 @@ export default {
}); });
}, },
//
delgas(row) {
this.$API.opm.gas.delete
.req(row.id)
.then((res) => {
this.$message.success("气体检测记录删除成功");
this.getgasList()
return res;
})
.catch((err) => {
return err;
});
},
//
getInit() {
this.$API.wf.workflow.initkey.req('opl_cooler').then((res) => {
this.initForm = res;
});
},
//,
submitTicketCreate(id) {
let ticket = {};
ticket.workflow = this.initForm.workflow;
ticket.ticket_data = {opl: this.oplId};
ticket.transition = id;
ticket.title = this.form.name + '-申请';
this.tLoading = true
this.$API.wf.ticket.create.req(ticket).then((res) => {
this.tLoading = false
this.$message.success("提交成功");
this.submitOut()
}).catch(e=>{this.tLoading=false});
},
//退 //退
submitOut() { submitOut() {
this.$router.push({ this.$router.push({
name: "opl", name: "opl",
query: { query: {
operationid: this.$route.query.id,//ID id: this.operationId,//ID
}, },
}); });

View File

@ -25,7 +25,7 @@
:model="form" :model="form"
:rules="rules" :rules="rules"
label-width="110px" label-width="110px"
style="margin: 40px 40px 40px 40px" style="margin: 40px 40px 0px 40px"
> >
<el-row> <el-row>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
@ -47,7 +47,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业开始时间"> <el-form-item label="作业开始时间" prop="start_time">
<el-date-picker <el-date-picker
v-model="form.start_time" v-model="form.start_time"
type="datetime" type="datetime"
@ -56,7 +56,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业结束时间"> <el-form-item label="作业结束时间" prop="end_time">
<el-date-picker <el-date-picker
v-model="form.end_time" v-model="form.end_time"
type="datetime" type="datetime"
@ -65,7 +65,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业级别"> <el-form-item label="作业级别" prop="level">
<el-select v-model="form.level" placeholder="选择作业级别"> <el-select v-model="form.level" placeholder="选择作业级别">
<el-option <el-option
v-for="item in leveloptions" v-for="item in leveloptions"
@ -78,7 +78,7 @@
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24" > <el-col :md="12" :sm="12" :xs="24" >
<el-form-item label="作业部门"> <el-form-item label="作业部门" prop="dept_do">
<el-cascader <el-cascader
placeholder="选择作业部门" placeholder="选择作业部门"
getCheckedNodes="true" getCheckedNodes="true"
@ -96,7 +96,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业负责人"> <el-form-item label="作业负责人" prop="charger">
<el-input <el-input
v-model="form.charger_name" v-model="form.charger_name"
style="width:200px" style="width:200px"
@ -114,7 +114,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业监护人"> <el-form-item label="作业监护人" prop="monitor">
<el-input <el-input
v-model="form.monitor_name" v-model="form.monitor_name"
style="width:200px" style="width:200px"
@ -124,7 +124,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="风险选择"> <el-form-item label="风险选择" prop="risks_checked">
<el-checkbox-group v-model="form.risks_checked"> <el-checkbox-group v-model="form.risks_checked">
<el-checkbox <el-checkbox
v-for="(item, index) in risklist" v-for="(item, index) in risklist"
@ -146,7 +146,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="措施选择"> <el-form-item label="措施选择" prop="measures_checked">
<el-checkbox-group v-model="form.measures_checked"> <el-checkbox-group v-model="form.measures_checked">
<el-checkbox <el-checkbox
v-for="(item, index) in measurelist" v-for="(item, index) in measurelist"
@ -177,16 +177,12 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> </el-form>
<el-col :md="24" :sm="12" :xs="24"> <div style="margin-bottom: 20px; text-align:center">
<el-form-item> <el-button type="primary" plain @click="handleNextStep"
<el-button style="margin-top: 12px" type="primary" plain @click="handleNextStep"
>下一步 >下一步
</el-button> </el-button>
</el-form-item> </div>
</el-col>
</el-row>
</el-form>
</el-main> </el-main>
<!--作业人员!--> <!--作业人员!-->
@ -205,7 +201,7 @@
hidePagination hidePagination
stripe stripe
hideDo hideDo
style="height: 200px;" style="height: 300px;"
> >
<el-table-column <el-table-column
label="#" label="#"
@ -333,8 +329,9 @@
:data="apigasObj" :data="apigasObj"
row-key="id" row-key="id"
hidePagination hidePagination
hideDo
stripe stripe
style="height: 200px;" style="height: 300px;"
> >
<el-table-column <el-table-column
label="#" label="#"
@ -377,11 +374,6 @@
{{ scope.row.checker_.name }} {{ scope.row.checker_.name }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column
label="创建时间"
prop="create_time"
width="150"
></el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="200"> <el-table-column label="操作" fixed="right" align="center" width="200">
<template #default="scope"> <template #default="scope">
@ -396,7 +388,7 @@
</template> </template>
</el-table-column> </el-table-column>
</scTable> </scTable>
<sc-dialog v-model="gasdialog" draggable title="气体检测记录"> <el-dialog v-model="gasdialog" draggable title="气体检测记录">
<el-form <el-form
ref="gasForm" ref="gasForm"
:model="formgas" :model="formgas"
@ -484,7 +476,7 @@
<el-button @click="dialoggase = false"> </el-button> <el-button @click="dialoggase = false"> </el-button>
<el-button type="primary" @click="submitgas"> </el-button> <el-button type="primary" @click="submitgas"> </el-button>
</template> </template>
</sc-dialog> </el-dialog>
<div style="margin-top:20px;text-align:center"> <div style="margin-top:20px;text-align:center">
<el-button @click="handleLastStep" style="margin-right:4px">上一步</el-button> <el-button @click="handleLastStep" style="margin-right:4px">上一步</el-button>
<el-button <el-button
@ -528,12 +520,13 @@
const defaultformworker = { const defaultformworker = {
id: "", id: "",
worker: null, worker: null,
duty: null, duty: "作业人员",
certificates: [], certificates: [],
opl: "", opl: "",
}; };
const defaultformgas = { const defaultformgas = {
id: "", id: "",
is_ok: true,
check_time: null, check_time: null,
opl: "", opl: "",
}; };
@ -592,7 +585,33 @@
true: "正常", true: "正常",
false: "不正常", false: "不正常",
}, },
tLoading: false tLoading: false,
rules: {
start_time: [
{required: true, message: '请选择'}
],
end_time: [
{required: true, message: '请选择'}
],
level: [
{required: true, message: '请选择'}
],
dept_do: [
{required: true, message: '请选择'}
],
charger: [
{required: true, message: '请选择'}
],
monitor: [
{required: true, message: '请选择'}
],
risks_checked: [
{required: true, message: '请选择'}
],
measures_checked: [
{required: true, message: '请选择'}
],
}
}; };
}, },
mounted() { mounted() {
@ -634,7 +653,7 @@
getData() { getData() {
this.$API.opm.opl.read.req(this.oplId).then((res) => { this.$API.opm.opl.read.req(this.oplId).then((res) => {
this.form = res; this.form = res;
this.oplId = res.id;
this.oplcateId = res.cate; this.oplcateId = res.cate;
this.operationId = res.operation; this.operationId = res.operation;
this.getOperation(); this.getOperation();
@ -686,8 +705,10 @@
}, },
// //
handleNextStep() { handleNextStep() {
if (this.active == 0) { if (this.active == 0) {
// console.log(this.oplId); this.$refs.dialogForm.validate((valid) => {
if (valid) {
// //
if (this.oplId == "") { if (this.oplId == "") {
// //
@ -704,8 +725,8 @@
this.active = 1; this.active = 1;
this.oplId = res.id; this.oplId = res.id;
this.getworkerList(res.id); this.getworkerList();
this.getgasList(res.id); this.getgasList();
return res; return res;
}) })
.catch((err) => { .catch((err) => {
@ -717,14 +738,22 @@
this.$message.success("基本修改成功!"); this.$message.success("基本修改成功!");
this.issave = true; this.issave = true;
this.active = 1; this.active = 1;
this.getgasList(this.oplId); this.getgasList();
this.getworkerList(this.oplId); this.getworkerList();
}); });
} else { } else {
this.active = 1; this.active = 1;
} }
}
})
} else { } else {
if (this.active==1){
if(this.apiworkerObj.length==0){
this.$message.warning("请添加作业人员");
return
}
}
this.active = 2; this.active = 2;
} }
@ -742,8 +771,8 @@
}, },
// //
getworkerList(id) { getworkerList() {
this.$API.opm.worker.list.req({opl: id, page: 0}).then((res) => { this.$API.opm.worker.list.req({opl: this.oplId, page: 0}).then((res) => {
this.apiworkerObj = res; this.apiworkerObj = res;
console.log(res); console.log(res);
}); });
@ -761,7 +790,7 @@
.req(row.id) .req(row.id)
.then((res) => { .then((res) => {
this.$message.success("作业人员删除成功"); this.$message.success("作业人员删除成功");
this.$refs.workerTable.refresh(); this.getworkerList()
return res; return res;
}) })
.catch((err) => { .catch((err) => {
@ -777,7 +806,7 @@
.req(this.formworker) .req(this.formworker)
.then((res) => { .then((res) => {
this.$message.success("创建作业人员成功"); this.$message.success("创建作业人员成功");
this.getworkerList(this.oplId); this.getworkerList();
this.workerdialog = false; this.workerdialog = false;
}) })
.catch((err) => { .catch((err) => {
@ -787,8 +816,8 @@
}, },
// //
getgasList(id) { getgasList() {
this.$API.opm.gas.list.req({opl: id, page: 0}).then((res) => { this.$API.opm.gas.list.req({opl: this.oplId, page: 0}).then((res) => {
this.apigasObj = res; this.apigasObj = res;
console.log(res); console.log(res);
}); });
@ -809,7 +838,7 @@
.req(this.formgas) .req(this.formgas)
.then((res) => { .then((res) => {
this.$message.success("创建气体检测记录成功"); this.$message.success("创建气体检测记录成功");
this.getgasList(this.oplId); this.getgasList();
this.gasdialog = false; this.gasdialog = false;
}) })
@ -826,7 +855,7 @@
.req(row.id) .req(row.id)
.then((res) => { .then((res) => {
this.$message.success("气体检测记录删除成功"); this.$message.success("气体检测记录删除成功");
this.$refs.gasTable.refresh(); this.getgasList()
return res; return res;
}) })
.catch((err) => { .catch((err) => {

View File

@ -25,13 +25,13 @@
:model="form" :model="form"
:rules="rules" :rules="rules"
label-width="110px" label-width="110px"
style="margin: 40px 40px 40px 40px" style="margin: 40px 40px 0px 40px"
> >
<el-row> <el-row>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="关联作业"> <el-form-item label="关联作业">
<el-input <el-input
v-model="operationId" v-model="form.name"
type="text" type="text"
:disabled="true" :disabled="true"
></el-input> ></el-input>
@ -47,7 +47,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业开始时间"> <el-form-item label="作业开始时间" prop="start_time">
<el-date-picker <el-date-picker
v-model="form.start_time" v-model="form.start_time"
type="datetime" type="datetime"
@ -56,7 +56,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业结束时间"> <el-form-item label="作业结束时间" prop="end_time">
<el-date-picker <el-date-picker
v-model="form.end_time" v-model="form.end_time"
type="datetime" type="datetime"
@ -65,20 +65,20 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业级别"> <el-form-item label="作业级别" prop="level">
<el-select v-model="form.level" placeholder="选择作业级别"> <el-select v-model="form.level" placeholder="选择作业级别">
<el-option <el-option
v-for="item in leveloptions" v-for="item in leveloptions"
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.id" :value="item.name"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24" > <el-col :md="12" :sm="12" :xs="24" >
<el-form-item label="作业部门"> <el-form-item label="作业部门" prop="dept_do">
<el-cascader <el-cascader
placeholder="选择作业部门" placeholder="选择作业部门"
getCheckedNodes="true" getCheckedNodes="true"
@ -88,7 +88,7 @@
expandTrigger: 'hover', // expandTrigger: 'hover', //
label: 'label', // label: 'label', //
value: 'value', // value: 'value', //
emitPath: false, emitPath: false, // false
checkStrictly: true checkStrictly: true
}" }"
clearable clearable
@ -96,90 +96,42 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业负责人"> <el-form-item label="作业负责人" prop="charger">
<el-select v-model="form.charger" placeholder="选择作业负责人"> <el-input
v-model="form.charger_name"
style="width:200px"
disabled
></el-input>
<!-- <el-select v-model="form.charger_name" placeholder="选择作业负责人">
<el-option <el-option
v-for="item in useroptions" v-for="item in useroptions"
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.id" :value="item.id"
/> />
</el-select> </el-select> -->
<ehsUserSelect :multiple="false" @submit="getCharger"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业监护人"> <el-form-item label="作业监护人" prop="monitor">
<el-select v-model="form.monitor" placeholder="选择作业监护人">
<el-option
v-for="item in useroptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<!--
临时用电
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="安装/拆除">
<el-input v-model="work_type" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="安装/拆除时间">
<el-input v-model="work_time" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="验收时间">
<el-input v-model="accept_time" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="用电地点">
<el-input v-model="power_to" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="电源接入点">
<el-input v-model="power_from" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="用电开始">
<el-input <el-input
v-model="power_start_time" v-model="form.monitor_name"
type="text" style="width:200px"
clearable disabled
></el-input> ></el-input>
<ehsUserSelect :multiple="false" @submit="getMonitor"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="用电截至">
<el-input
v-model="power_end_time"
type="text"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="计划用电天数">
<el-input v-model="power_days" type="text" clearable></el-input>
</el-form-item>
</el-col> !-->
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="风险选择"> <el-form-item label="风险选择" prop="risks_checked">
<el-checkbox-group v-model="form.risks_checked"> <el-checkbox-group v-model="form.risks_checked">
<el-checkbox <el-checkbox
v-for="(item, index) in risklist" v-for="(item, index) in risklist"
:key="index" :key="index"
:label="item.id" :label="item.id"
>{{ item.name }}</el-checkbox >{{ item.name }}
</el-checkbox
> >
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
@ -193,36 +145,23 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!--
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="逃生路径">
<el-input v-model="escape_route" type="text" clearable></el-input>
</el-form-item>
</el-col> !-->
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="措施选择"> <el-form-item label="措施选择" prop="measures_checked">
<el-checkbox-group v-model="form.measures_checked"> <el-checkbox-group v-model="form.measures_checked">
<el-checkbox <el-checkbox
v-for="(item, index) in measurelist" v-for="(item, index) in measurelist"
:key="index" :key="index"
:label="item.id" :label="item.id"
>{{ item.name }}</el-checkbox >{{ item.name }}
</el-checkbox
> >
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-card class="box-card"> <el-card header="应急处置">
<div class="clearfix">
<span>应急处置</span>
</div>
<div class="content"> <div class="content">
<p>1如伤者发生骨折采用夹板木棍等将骨折部位上下关节固定后送医当伤者昏迷意识不清时则不应随意移动伤者立即拨打120求救</p> <p>1如伤者发生骨折采用夹板木棍等将骨折部位上下关节固定后送医当伤者昏迷意识不清时则不应随意移动伤者立即拨打120求救2如果伤者出血采用止血带或包扎伤口的方法止血然后送医或拨打120</p>
<p>2如果伤者出血采用止血带或包扎伤口的方法止血然后送医或拨打120</p>
</div> </div>
</el-card> </el-card>
<el-form-item label="其他应急处置"> <el-form-item label="其他应急处置">
@ -233,25 +172,13 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!--
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业审批照片">
<el-input v-model="create_imgs" type="text" clearable></el-input>
</el-form-item>
</el-col>
!-->
</el-row>
<el-row>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item>
<el-button style="margin-top: 12px" @click="handleNextStep"
>下一步</el-button
>
</el-form-item>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
<div style="margin-bottom: 20px; text-align:center">
<el-button type="primary" plain @click="handleNextStep"
>下一步
</el-button>
</div>
</el-main> </el-main>
<!--作业人员!--> <!--作业人员!-->
@ -269,6 +196,8 @@
row-key="id" row-key="id"
hidePagination hidePagination
stripe stripe
hideDo
style="height: 300px;"
> >
<el-table-column <el-table-column
label="#" label="#"
@ -288,7 +217,8 @@
<el-tag v-for="item in scope.row.certificates_" <el-tag v-for="item in scope.row.certificates_"
:key="item.number" :key="item.number"
:label="item.name" :label="item.name"
:value="item.number">{{item.name}}</el-tag> :value="item.number">{{item.name}}
</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -310,7 +240,7 @@
</template> </template>
</el-table-column> </el-table-column>
</scTable> </scTable>
<sc-dialog v-model="workerdialog" draggable title="选择作业人员"> <el-dialog v-model="workerdialog" draggable title="选择作业人员">
<el-form <el-form
ref="workerForm" ref="workerForm"
:model="formworker" :model="formworker"
@ -323,18 +253,12 @@
<el-row> <el-row>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="作业人员"> <el-form-item label="作业人员">
<el-select <el-input
v-model="formworker.worker" v-model="formworker.worker_name"
@change="selectWorker" style="width:200px"
placeholder="选择作业人员" disabled
> ></el-input>
<el-option <ehsUserSelect :multiple="false" @submit="getWorker"/>
v-for="item in useroptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
@ -377,14 +301,22 @@
<el-button @click="dialogcart = false"> </el-button> <el-button @click="dialogcart = false"> </el-button>
<el-button type="primary" @click="submitWorker"> </el-button> <el-button type="primary" @click="submitWorker"> </el-button>
</template> </template>
</sc-dialog> </el-dialog>
<el-button style="margin-top: 12px" @click="handleLastStep" <div style="margin-top:20px;text-align:center">
>上一步</el-button <el-button @click="handleLastStep" style="margin-right:4px">上一步</el-button>
> <el-button
<el-button style="margin-top: 12px" @click="submitOut">退出</el-button> :loading="tLoading"
v-for=" item in initForm.transitions"
:key="item.id"
type="primary"
@click="submitTicketCreate(item.id)"
style="margin-right:4px"
>{{item.name}}
</el-button>
<el-button @click="submitOut" type="warning">退出</el-button>
</div>
</el-main> </el-main>
</el-container> </el-container>
</template> </template>
<style scoped> <style scoped>
@ -395,22 +327,26 @@
.box-card p { .box-card p {
line-height: 20px; line-height: 20px;
} }
.content { .content {
margin-top: 10px; margin-top: 10px;
} }
.stepSuc:hover { .stepSuc:hover {
cursor: pointer; cursor: pointer;
} }
.stepErr:hover { .stepErr:hover {
cursor: not-allowed; cursor: not-allowed;
} }
</style> </style>
<script> <script>
import {genTree} from "@/utils/verificate"; import {genTree} from "@/utils/verificate";
const defaultformworker = { const defaultformworker = {
id: "", id: "",
worker: null, worker: null,
duty: null, duty: "作业人员",
certificates: [], certificates: [],
opl: "", opl: "",
}; };
@ -420,11 +356,10 @@ const defaultformgas = {
opl:"" opl:""
}; };
export default { export default {
name: "high", name: "fire",
components: {}, components: {},
data() { data() {
return { return {
active: 0, active: 0,
stepSuc: [0], stepSuc: [0],
stepTitle: ["基本信息", "作业人员"], stepTitle: ["基本信息", "作业人员"],
@ -442,9 +377,10 @@ export default {
cate: "", cate: "",
risks_checked: [], risks_checked: [],
}, },
initForm: {},
operationId: "", operationId: "",
oplcateId: "", oplcateId: "",
oplcateCode: "",
oplId: "", oplId: "",
leveloptions: [ leveloptions: [
{ id: "特级", name: "特级:>30米" }, { id: "特级", name: "特级:>30米" },
@ -457,7 +393,6 @@ export default {
risklist: [], risklist: [],
measurelist: [], measurelist: [],
pagtitle: "", pagtitle: "",
dutyOptions: [ dutyOptions: [
{value: 10, label: "作业人员"}, {value: 10, label: "作业人员"},
{value: 20, label: "起重司机"}, {value: 20, label: "起重司机"},
@ -476,6 +411,33 @@ export default {
true: "正常", true: "正常",
false: "不正常", false: "不正常",
}, },
tLoading: false,
rules: {
start_time: [
{required: true, message: '请选择'}
],
end_time: [
{required: true, message: '请选择'}
],
level: [
{required: true, message: '请选择'}
],
dept_do: [
{required: true, message: '请选择'}
],
charger: [
{required: true, message: '请选择'}
],
monitor: [
{required: true, message: '请选择'}
],
risks_checked: [
{required: true, message: '请选择'}
],
measures_checked: [
{required: true, message: '请选择'}
],
}
}; };
}, },
mounted() { mounted() {
@ -483,13 +445,28 @@ export default {
this.oplcateId = this.$route.query.oplcateId; //ID this.oplcateId = this.$route.query.oplcateId; //ID
this.oplId = this.$route.query.oplId; //ID this.oplId = this.$route.query.oplId; //ID
this.getoplData(); this.getoplData();
this.getInit();
this.getDept(); this.getDept();
this.getUser(); // this.getUser();
}, },
methods: { methods: {
getCharger(data) {
this.form.charger=data.id;
this.form.charger_name=data.name
},
getChecker(data){
this.formgas.checker=data.id;
this.formgas.checker_name=data.name
},
getMonitor(data) {
this.form.monitor=data.id;
this.form.monitor_name=data.name
},
getWorker(data) {
this.formworker.worker=data.id,
this.formworker.worker_name=data.name
this.selectWorker()
},
getoplData() { getoplData() {
if (this.oplId == "") { if (this.oplId == "") {
this.getOperation(); this.getOperation();
@ -502,7 +479,7 @@ export default {
getData() { getData() {
this.$API.opm.opl.read.req(this.oplId).then((res) => { this.$API.opm.opl.read.req(this.oplId).then((res) => {
this.form = res; this.form = res;
this.oplId = res.id;
this.oplcateId = res.cate; this.oplcateId = res.cate;
this.operationId = res.operation; this.operationId = res.operation;
this.getOperation(); this.getOperation();
@ -515,6 +492,7 @@ export default {
this.$API.opm.operation.read.req(this.operationId).then((res) => { this.$API.opm.operation.read.req(this.operationId).then((res) => {
this.form.start_time = res.start_time; // this.form.start_time = res.start_time; //
this.form.end_time = res.end_time; // this.form.end_time = res.end_time; //
this.form.name = res.name; //
console.log(res); console.log(res);
}); });
@ -527,18 +505,14 @@ export default {
}, },
// //
getUser() {
this.$API.system.user.list.req({ page: 0 }).then((res) => {
this.useroptions = res;
});
},
// //
//ID //ID===>
getOplcates() { getOplcates() {
this.$API.opm.oplcate.read.req(this.oplcateId).then((res) => { this.$API.opm.oplcate.read.req(this.oplcateId).then((res) => {
console.log(res); // console.log(res); //
this.pagtitle = res.name; this.pagtitle = res.name;
this.oplcateCode = res.code;
this.risklist = res.risk_options_; // this.risklist = res.risk_options_; //
this.measurelist = res.measure_options_; // this.measurelist = res.measure_options_; //
}); });
@ -557,8 +531,10 @@ export default {
}, },
// //
handleNextStep() { handleNextStep() {
if (this.active == 0) { if (this.active == 0) {
// console.log(this.oplId); this.$refs.dialogForm.validate((valid) => {
if (valid) {
// //
if (this.oplId == "") { if (this.oplId == "") {
// //
@ -575,8 +551,8 @@ export default {
this.active = 1; this.active = 1;
this.oplId = res.id; this.oplId = res.id;
this.getworkerList(res.id); this.getworkerList();
this.getgasList();
return res; return res;
}) })
.catch((err) => { .catch((err) => {
@ -588,14 +564,16 @@ export default {
this.$message.success("基本修改成功!"); this.$message.success("基本修改成功!");
this.issave = true; this.issave = true;
this.active = 1; this.active = 1;
this.getgasList();
this.getworkerList(this.oplId); this.getworkerList();
}); });
} else { } else {
this.active = 1; this.active = 1;
} }
} }
})
}
// this.stepSuc.push(++this.active) // this.stepSuc.push(++this.active)
}, },
@ -610,8 +588,8 @@ export default {
}, },
// //
getworkerList(id) { getworkerList() {
this.$API.opm.worker.list.req({ opl: id, page: 0 }).then((res) => { this.$API.opm.worker.list.req({opl: this.oplId, page: 0}).then((res) => {
this.apiworkerObj = res; this.apiworkerObj = res;
console.log(res); console.log(res);
}); });
@ -629,7 +607,7 @@ export default {
.req(row.id) .req(row.id)
.then((res) => { .then((res) => {
this.$message.success("作业人员删除成功"); this.$message.success("作业人员删除成功");
this.$refs.workerTable.refresh(); this.getworkerList()
return res; return res;
}) })
.catch((err) => { .catch((err) => {
@ -645,8 +623,41 @@ export default {
.req(this.formworker) .req(this.formworker)
.then((res) => { .then((res) => {
this.$message.success("创建作业人员成功"); this.$message.success("创建作业人员成功");
this.getworkerList();
this.workerdialog = false; this.workerdialog = false;
this.$refs.workerTable.refresh(); })
.catch((err) => {
return err;
});
});
},
//
getgasList() {
this.$API.opm.gas.list.req({opl: this.oplId, page: 0}).then((res) => {
this.apigasObj = res;
console.log(res);
});
},
//Form
addgas() {
this.gasdialog = true;
this.formgas = Object.assign({}, defaultformgas);
},
//
submitgas() {
this.formgas.opl = this.oplId;
this.$refs.gasForm.validate(async (valid) => {
this.$API.opm.gas.create
.req(this.formgas)
.then((res) => {
this.$message.success("创建气体检测记录成功");
this.getgasList();
this.gasdialog = false;
}) })
.catch((err) => { .catch((err) => {
return err; return err;
@ -655,12 +666,52 @@ export default {
}); });
}, },
//
delgas(row) {
this.$API.opm.gas.delete
.req(row.id)
.then((res) => {
this.$message.success("气体检测记录删除成功");
this.getgasList()
return res;
})
.catch((err) => {
return err;
});
},
//
getInit() {
this.$API.wf.workflow.initkey.req('opl_high').then((res) => {
this.initForm = res;
});
},
//,
submitTicketCreate(id) {
if(this.apiworkerObj.length==0){
this.$message.warning("请添加作业人员");
return
}
let ticket = {};
ticket.workflow = this.initForm.workflow;
ticket.ticket_data = {opl: this.oplId};
ticket.transition = id;
ticket.title = this.form.name + '-申请';
this.tLoading = true
this.$API.wf.ticket.create.req(ticket).then((res) => {
this.tLoading = false
this.$message.success("提交成功");
this.submitOut()
}).catch(e=>{this.tLoading=false});
},
//退 //退
submitOut() { submitOut() {
this.$router.push({ this.$router.push({
name: "opl", name: "opl",
query: { query: {
operationid: this.$route.query.id,//ID id: this.operationId,//ID
}, },
}); });

View File

@ -25,13 +25,13 @@
:model="form" :model="form"
:rules="rules" :rules="rules"
label-width="110px" label-width="110px"
style="margin: 40px 40px 40px 40px" style="margin: 40px 40px 0px 40px"
> >
<el-row> <el-row>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="关联作业"> <el-form-item label="关联作业">
<el-input <el-input
v-model="operationId" v-model="form.name"
type="text" type="text"
:disabled="true" :disabled="true"
></el-input> ></el-input>
@ -47,7 +47,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业开始时间"> <el-form-item label="作业开始时间" prop="start_time">
<el-date-picker <el-date-picker
v-model="form.start_time" v-model="form.start_time"
type="datetime" type="datetime"
@ -56,7 +56,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业结束时间"> <el-form-item label="作业结束时间" prop="end_time">
<el-date-picker <el-date-picker
v-model="form.end_time" v-model="form.end_time"
type="datetime" type="datetime"
@ -65,20 +65,20 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业级别"> <el-form-item label="作业级别" prop="level">
<el-select v-model="form.level" placeholder="选择作业级别"> <el-select v-model="form.level" placeholder="选择作业级别">
<el-option <el-option
v-for="item in leveloptions" v-for="item in leveloptions"
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.id" :value="item.name"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24" > <el-col :md="12" :sm="12" :xs="24" >
<el-form-item label="作业部门"> <el-form-item label="作业部门" prop="dept_do">
<el-cascader <el-cascader
placeholder="选择作业部门" placeholder="选择作业部门"
getCheckedNodes="true" getCheckedNodes="true"
@ -89,96 +89,49 @@
label: 'label', // label: 'label', //
value: 'value', // value: 'value', //
emitPath: false, // false emitPath: false, // false
checkStrictly: true
}" }"
clearable clearable
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业负责人"> <el-form-item label="作业负责人" prop="charger">
<el-select v-model="form.charger" placeholder="选择作业负责人"> <el-input
v-model="form.charger_name"
style="width:200px"
disabled
></el-input>
<!-- <el-select v-model="form.charger_name" placeholder="选择作业负责人">
<el-option <el-option
v-for="item in useroptions" v-for="item in useroptions"
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.id" :value="item.id"
/> />
</el-select> </el-select> -->
<ehsUserSelect :multiple="false" @submit="getCharger"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业监护人"> <el-form-item label="作业监护人" prop="monitor">
<el-select v-model="form.monitor" placeholder="选择作业监护人">
<el-option
v-for="item in useroptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<!--
临时用电
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="安装/拆除">
<el-input v-model="work_type" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="安装/拆除时间">
<el-input v-model="work_time" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="验收时间">
<el-input v-model="accept_time" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="用电地点">
<el-input v-model="power_to" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="电源接入点">
<el-input v-model="power_from" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="用电开始">
<el-input <el-input
v-model="power_start_time" v-model="form.monitor_name"
type="text" style="width:200px"
clearable disabled
></el-input> ></el-input>
<ehsUserSelect :multiple="false" @submit="getMonitor"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="用电截至">
<el-input
v-model="power_end_time"
type="text"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="计划用电天数">
<el-input v-model="power_days" type="text" clearable></el-input>
</el-form-item>
</el-col> !-->
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="风险选择"> <el-form-item label="风险选择" prop="risks_checked">
<el-checkbox-group v-model="form.risks_checked"> <el-checkbox-group v-model="form.risks_checked">
<el-checkbox <el-checkbox
v-for="(item, index) in risklist" v-for="(item, index) in risklist"
:key="index" :key="index"
:label="item.id" :label="item.id"
>{{ item.name }}</el-checkbox >{{ item.name }}
</el-checkbox
> >
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
@ -192,39 +145,25 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="措施选择"> <el-form-item label="措施选择" prop="measures_checked">
<el-checkbox-group v-model="form.measures_checked"> <el-checkbox-group v-model="form.measures_checked">
<el-checkbox <el-checkbox
v-for="(item, index) in measurelist" v-for="(item, index) in measurelist"
:key="index" :key="index"
:label="item.id" :label="item.id"
>{{ item.name }}</el-checkbox >{{ item.name }}
</el-checkbox
> >
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-card class="box-card"> <el-card header="应急处置">
<div class="clearfix">
<span>应急处置</span>
</div>
<div class="content"> <div class="content">
<p>1如伤者发生骨折采用夹板木棍等将骨折部位上下关节固定后送医当伤者昏迷意识不清时则不应随意移动伤者立即拨打120求救</p> <p>1如伤者发生骨折采用夹板木棍等将骨折部位上下关节固定后送医当伤者昏迷意识不清时则不应随意移动伤者立即拨打120求救2如发现伤者出血用止血带或包扎伤的方法止血然后送医或拨打120</p>
<p>2如发现伤者出血用止血带或包扎伤的方法止血然后送医或拨打120</p>
</div> </div>
</el-card> </el-card>
<el-form-item label="逃生路径">
<el-input v-model="escape_route" type="text" clearable></el-input>
</el-form-item>
<el-form-item label="其他应急处置"> <el-form-item label="其他应急处置">
<el-input <el-input
v-model="form.other_emr" v-model="form.other_emr"
@ -233,25 +172,13 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!--
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业审批照片">
<el-input v-model="create_imgs" type="text" clearable></el-input>
</el-form-item>
</el-col>
!-->
</el-row>
<el-row>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item>
<el-button style="margin-top: 12px" @click="handleNextStep"
>下一步</el-button
>
</el-form-item>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
<div style="margin-bottom: 20px; text-align:center">
<el-button type="primary" plain @click="handleNextStep"
>下一步
</el-button>
</div>
</el-main> </el-main>
<!--作业人员!--> <!--作业人员!-->
@ -269,6 +196,8 @@
row-key="id" row-key="id"
hidePagination hidePagination
stripe stripe
hideDo
style="height: 300px;"
> >
<el-table-column <el-table-column
label="#" label="#"
@ -288,7 +217,8 @@
<el-tag v-for="item in scope.row.certificates_" <el-tag v-for="item in scope.row.certificates_"
:key="item.number" :key="item.number"
:label="item.name" :label="item.name"
:value="item.number">{{item.name}}</el-tag> :value="item.number">{{item.name}}
</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -310,7 +240,7 @@
</template> </template>
</el-table-column> </el-table-column>
</scTable> </scTable>
<sc-dialog v-model="workerdialog" draggable title="选择作业人员"> <el-dialog v-model="workerdialog" draggable title="选择作业人员">
<el-form <el-form
ref="workerForm" ref="workerForm"
:model="formworker" :model="formworker"
@ -323,18 +253,12 @@
<el-row> <el-row>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="作业人员"> <el-form-item label="作业人员">
<el-select <el-input
v-model="formworker.worker" v-model="formworker.worker_name"
@change="selectWorker" style="width:200px"
placeholder="选择作业人员" disabled
> ></el-input>
<el-option <ehsUserSelect :multiple="false" @submit="getWorker"/>
v-for="item in useroptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
@ -377,14 +301,22 @@
<el-button @click="dialogcart = false"> </el-button> <el-button @click="dialogcart = false"> </el-button>
<el-button type="primary" @click="submitWorker"> </el-button> <el-button type="primary" @click="submitWorker"> </el-button>
</template> </template>
</sc-dialog> </el-dialog>
<el-button style="margin-top: 12px" @click="handleLastStep" <div style="margin-top:20px;text-align:center">
>上一步</el-button <el-button @click="handleLastStep" style="margin-right:4px">上一步</el-button>
> <el-button
<el-button style="margin-top: 12px" @click="submitOut">退出</el-button> :loading="tLoading"
v-for=" item in initForm.transitions"
:key="item.id"
type="primary"
@click="submitTicketCreate(item.id)"
style="margin-right:4px"
>{{item.name}}
</el-button>
<el-button @click="submitOut" type="warning">退出</el-button>
</div>
</el-main> </el-main>
</el-container> </el-container>
</template> </template>
<style scoped> <style scoped>
@ -395,22 +327,26 @@
.box-card p { .box-card p {
line-height: 20px; line-height: 20px;
} }
.content { .content {
margin-top: 10px; margin-top: 10px;
} }
.stepSuc:hover { .stepSuc:hover {
cursor: pointer; cursor: pointer;
} }
.stepErr:hover { .stepErr:hover {
cursor: not-allowed; cursor: not-allowed;
} }
</style> </style>
<script> <script>
import {genTree} from "@/utils/verificate"; import {genTree} from "@/utils/verificate";
const defaultformworker = { const defaultformworker = {
id: "", id: "",
worker: null, worker: null,
duty: null, duty: "作业人员",
certificates: [], certificates: [],
opl: "", opl: "",
}; };
@ -420,11 +356,10 @@ const defaultformgas = {
opl:"" opl:""
}; };
export default { export default {
name: "hoisting", name: "fire",
components: {}, components: {},
data() { data() {
return { return {
active: 0, active: 0,
stepSuc: [0], stepSuc: [0],
stepTitle: ["基本信息", "作业人员"], stepTitle: ["基本信息", "作业人员"],
@ -442,21 +377,21 @@ export default {
cate: "", cate: "",
risks_checked: [], risks_checked: [],
}, },
initForm: {},
operationId: "", operationId: "",
oplcateId: "", oplcateId: "",
oplcateCode: "",
oplId: "", oplId: "",
leveloptions: [ leveloptions: [
{ id: "一级吊装", name: "特级:>30米" }, { id: "一级吊装", name: "一级吊装" },
{ id: "二级吊装", name: "二级吊装" }, { id: "二级吊装", name: "二级吊装" },
{ id: "三级吊装", name: "三级吊装" }, { id: "三级吊装", name: "三级吊装" }
], ],
deptoptions: [], deptoptions: [],
useroptions: [], useroptions: [],
risklist: [], risklist: [],
measurelist: [], measurelist: [],
pagtitle: "", pagtitle: "",
dutyOptions: [ dutyOptions: [
{value: 10, label: "作业人员"}, {value: 10, label: "作业人员"},
{value: 20, label: "起重司机"}, {value: 20, label: "起重司机"},
@ -475,6 +410,33 @@ export default {
true: "正常", true: "正常",
false: "不正常", false: "不正常",
}, },
tLoading: false,
rules: {
start_time: [
{required: true, message: '请选择'}
],
end_time: [
{required: true, message: '请选择'}
],
level: [
{required: true, message: '请选择'}
],
dept_do: [
{required: true, message: '请选择'}
],
charger: [
{required: true, message: '请选择'}
],
monitor: [
{required: true, message: '请选择'}
],
risks_checked: [
{required: true, message: '请选择'}
],
measures_checked: [
{required: true, message: '请选择'}
],
}
}; };
}, },
mounted() { mounted() {
@ -482,13 +444,28 @@ export default {
this.oplcateId = this.$route.query.oplcateId; //ID this.oplcateId = this.$route.query.oplcateId; //ID
this.oplId = this.$route.query.oplId; //ID this.oplId = this.$route.query.oplId; //ID
this.getoplData(); this.getoplData();
this.getInit();
this.getDept(); this.getDept();
this.getUser(); // this.getUser();
}, },
methods: { methods: {
getCharger(data) {
this.form.charger=data.id;
this.form.charger_name=data.name
},
getChecker(data){
this.formgas.checker=data.id;
this.formgas.checker_name=data.name
},
getMonitor(data) {
this.form.monitor=data.id;
this.form.monitor_name=data.name
},
getWorker(data) {
this.formworker.worker=data.id,
this.formworker.worker_name=data.name
this.selectWorker()
},
getoplData() { getoplData() {
if (this.oplId == "") { if (this.oplId == "") {
this.getOperation(); this.getOperation();
@ -501,7 +478,7 @@ export default {
getData() { getData() {
this.$API.opm.opl.read.req(this.oplId).then((res) => { this.$API.opm.opl.read.req(this.oplId).then((res) => {
this.form = res; this.form = res;
this.oplId = res.id;
this.oplcateId = res.cate; this.oplcateId = res.cate;
this.operationId = res.operation; this.operationId = res.operation;
this.getOperation(); this.getOperation();
@ -514,6 +491,7 @@ export default {
this.$API.opm.operation.read.req(this.operationId).then((res) => { this.$API.opm.operation.read.req(this.operationId).then((res) => {
this.form.start_time = res.start_time; // this.form.start_time = res.start_time; //
this.form.end_time = res.end_time; // this.form.end_time = res.end_time; //
this.form.name = res.name; //
console.log(res); console.log(res);
}); });
@ -526,18 +504,14 @@ export default {
}, },
// //
getUser() {
this.$API.system.user.list.req({ page: 0 }).then((res) => {
this.useroptions = res;
});
},
// //
//ID //ID===>
getOplcates() { getOplcates() {
this.$API.opm.oplcate.read.req(this.oplcateId).then((res) => { this.$API.opm.oplcate.read.req(this.oplcateId).then((res) => {
console.log(res); // console.log(res); //
this.pagtitle = res.name; this.pagtitle = res.name;
this.oplcateCode = res.code;
this.risklist = res.risk_options_; // this.risklist = res.risk_options_; //
this.measurelist = res.measure_options_; // this.measurelist = res.measure_options_; //
}); });
@ -556,8 +530,10 @@ export default {
}, },
// //
handleNextStep() { handleNextStep() {
if (this.active == 0) { if (this.active == 0) {
// console.log(this.oplId); this.$refs.dialogForm.validate((valid) => {
if (valid) {
// //
if (this.oplId == "") { if (this.oplId == "") {
// //
@ -574,8 +550,8 @@ export default {
this.active = 1; this.active = 1;
this.oplId = res.id; this.oplId = res.id;
this.getworkerList(res.id); this.getworkerList();
this.getgasList();
return res; return res;
}) })
.catch((err) => { .catch((err) => {
@ -587,14 +563,16 @@ export default {
this.$message.success("基本修改成功!"); this.$message.success("基本修改成功!");
this.issave = true; this.issave = true;
this.active = 1; this.active = 1;
this.getgasList();
this.getworkerList(this.oplId); this.getworkerList();
}); });
} else { } else {
this.active = 1; this.active = 1;
} }
} }
})
}
// this.stepSuc.push(++this.active) // this.stepSuc.push(++this.active)
}, },
@ -609,8 +587,8 @@ export default {
}, },
// //
getworkerList(id) { getworkerList() {
this.$API.opm.worker.list.req({ opl: id, page: 0 }).then((res) => { this.$API.opm.worker.list.req({opl: this.oplId, page: 0}).then((res) => {
this.apiworkerObj = res; this.apiworkerObj = res;
console.log(res); console.log(res);
}); });
@ -628,7 +606,7 @@ export default {
.req(row.id) .req(row.id)
.then((res) => { .then((res) => {
this.$message.success("作业人员删除成功"); this.$message.success("作业人员删除成功");
this.$refs.workerTable.refresh(); this.getworkerList()
return res; return res;
}) })
.catch((err) => { .catch((err) => {
@ -644,8 +622,41 @@ export default {
.req(this.formworker) .req(this.formworker)
.then((res) => { .then((res) => {
this.$message.success("创建作业人员成功"); this.$message.success("创建作业人员成功");
this.getworkerList();
this.workerdialog = false; this.workerdialog = false;
this.$refs.workerTable.refresh(); })
.catch((err) => {
return err;
});
});
},
//
getgasList() {
this.$API.opm.gas.list.req({opl: this.oplId, page: 0}).then((res) => {
this.apigasObj = res;
console.log(res);
});
},
//Form
addgas() {
this.gasdialog = true;
this.formgas = Object.assign({}, defaultformgas);
},
//
submitgas() {
this.formgas.opl = this.oplId;
this.$refs.gasForm.validate(async (valid) => {
this.$API.opm.gas.create
.req(this.formgas)
.then((res) => {
this.$message.success("创建气体检测记录成功");
this.getgasList();
this.gasdialog = false;
}) })
.catch((err) => { .catch((err) => {
return err; return err;
@ -654,12 +665,52 @@ export default {
}); });
}, },
//
delgas(row) {
this.$API.opm.gas.delete
.req(row.id)
.then((res) => {
this.$message.success("气体检测记录删除成功");
this.getgasList()
return res;
})
.catch((err) => {
return err;
});
},
//
getInit() {
this.$API.wf.workflow.initkey.req('opl_hoisting').then((res) => {
this.initForm = res;
});
},
//,
submitTicketCreate(id) {
if(this.apiworkerObj.length==0){
this.$message.warning("请添加作业人员");
return
}
let ticket = {};
ticket.workflow = this.initForm.workflow;
ticket.ticket_data = {opl: this.oplId};
ticket.transition = id;
ticket.title = this.form.name + '-申请';
this.tLoading = true
this.$API.wf.ticket.create.req(ticket).then((res) => {
this.tLoading = false
this.$message.success("提交成功");
this.submitOut()
}).catch(e=>{this.tLoading=false});
},
//退 //退
submitOut() { submitOut() {
this.$router.push({ this.$router.push({
name: "opl", name: "opl",
query: { query: {
operationid: this.$route.query.id,//ID id: this.operationId,//ID
}, },
}); });

View File

@ -40,36 +40,16 @@
<el-card header="许可证" style="margin-top: 8px"> <el-card header="许可证" style="margin-top: 8px">
<div class="left-panel"> <div class="left-panel">
<el-button <el-button icon="el-icon-plus" style="margin: 3px 0px 0px 10px" v-for="(item, index) in oplcateList"
icon="el-icon-plus" :key="index" :title="item.name" type="primary" v-auth="'opl.create'" @click="addOpl(item.id, item.code)">
style="margin: 3px 0px 0px 10px"
v-for="(item, index) in oplcateList"
:key="index"
:title="item.name"
type="primary"
v-auth="'opl.create'"
@click="addFire(item.id, item.name)"
>
{{ item.name }} {{ item.name }}
</el-button> </el-button>
</div> </div>
<el-divider /> <el-divider />
<scTable <scTable ref="table" :data="apiObj" row-key="id" @selection-change="selectionChange" stripe hidePagination
ref="table" hideRefresh @resetQuery="resetQuery">
:data="apiObj"
row-key="id"
@selection-change="selectionChange"
stripe
hidePagination
hideRefresh
@resetQuery="resetQuery"
>
<el-table-column label="#" type="index" width="50"></el-table-column> <el-table-column label="#" type="index" width="50"></el-table-column>
<el-table-column <el-table-column label="作业许可编号" prop="number" width="150"></el-table-column>
label="作业许可编号"
prop="number"
width="150"
></el-table-column>
<el-table-column label="作业级别" prop="level"></el-table-column> <el-table-column label="作业级别" prop="level"></el-table-column>
<el-table-column label="许可证种类" prop="cate_name"></el-table-column> <el-table-column label="许可证种类" prop="cate_name"></el-table-column>
<el-table-column label="流程状态" width="160"> <el-table-column label="流程状态" width="160">
@ -80,51 +60,30 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="预计开始" prop="start_time" width="150"></el-table-column> <el-table-column label="预计开始" prop="start_time" width="150"></el-table-column>
<el-table-column label="作业部门" prop="dept_do" <el-table-column label="作业部门" prop="dept_do"><template #default="scope">
><template #default="scope">
{{ scope.row.dept_do_.name }} {{ scope.row.dept_do_.name }}
</template></el-table-column </template></el-table-column>
> <el-table-column label="作业负责人" prop="charger"><template #default="scope">
<el-table-column label="作业负责人" prop="charger"
><template #default="scope">
{{ scope.row.charger_.name }} {{ scope.row.charger_.name }}
</template></el-table-column </template></el-table-column>
> <el-table-column label="作业监护人" prop="monitor"><template #default="scope">
<el-table-column label="作业监护人" prop="monitor"
><template #default="scope">
{{ scope.row.monitor_.name }} {{ scope.row.monitor_.name }}
</template></el-table-column </template></el-table-column>
>
<el-table-column label="操作" fixed="right" width="80"> <el-table-column label="操作" fixed="right" width="80">
<template #default="scope"> <template #default="scope">
<el-button-group> <el-button-group>
<el-button <el-button text type="primary" size="small" @click="table_show(scope.row, scope.$index)">查看
text
type="primary"
size="small"
@click="table_show(scope.row, scope.$index)"
>查看
</el-button> </el-button>
<el-button <el-button v-if="operationObj.state === 10" text type="warning" size="small" v-auth="'opl.update'"
v-if="operationObj.state === 10" @click="table_edit(scope.row, scope.$index)">编辑
text
type="warning"
size="small"
v-auth="'opl.update'"
@click="table_edit(scope.row, scope.$index)"
>编辑
</el-button> </el-button>
</el-button-group> </el-button-group>
</template> </template>
</el-table-column> </el-table-column>
</scTable> </scTable>
</el-card> </el-card>
<el-drawer <el-drawer :size="'50%'" v-model="showLimited" :title="oplName + '作业许可证详情'">
:size="'50%'"
v-model="showLimited"
:title="oplName + '作业许可证详情'"
>
<sc-fire :id="oplId"></sc-fire> <sc-fire :id="oplId"></sc-fire>
</el-drawer> </el-drawer>
</el-main> </el-main>
@ -206,181 +165,30 @@ export default {
}, },
// //
addFire(id, name) { addOpl(id, code) {
switch (name) {
case "动火":
this.$router.push({ this.$router.push({
name: "fire", name: code,
query: { query: {
operationid: this.$route.query.id, //ID operationid: this.$route.query.id, //ID
oplcateId: id, //ID oplcateId: id, //ID
oplId: "", //ID oplId: "", //ID
}, },
}); });
break;
case "有限空间":
this.$router.push({
name: "space",
query: {
operationid: this.$route.query.id, //ID
oplcateId: id, //ID
oplId: "", //ID
},
});
break;
case "清库":
this.$router.push({
name: "clear",
query: {
operationid: this.$route.query.id, //ID
oplcateId: id, //ID
oplId: "", //ID
},
});
break;
case "高处":
this.$router.push({
name: "high",
query: {
operationid: this.$route.query.id, //ID
oplcateId: id, //ID
oplId: "", //ID
},
});
break;
case "吊装":
this.$router.push({
name: "hoisting",
query: {
operationid: this.$route.query.id, //ID
oplcateId: id, //ID
oplId: "", //ID
},
});
break;
case "预热器清堵":
this.$router.push({
name: "preheat",
query: {
operationid: this.$route.query.id, //ID
oplcateId: id, //ID
oplId: "", //ID
},
});
break;
case "篦冷机清大块":
this.$router.push({
name: "cooler",
query: {
operationid: this.$route.query.id, //ID
oplcateId: id, //ID
oplId: "", //ID
},
});
break;
case "动土":
this.$router.push({
name: "soil",
query: {
operationid: this.$route.query.id, //ID
oplcateId: id, //ID
oplId: "", //ID
},
});
break;
case "临时用电":
this.$router.push({
name: "usecl",
query: {
operationid: this.$route.query.id, //ID
oplcateId: id, //ID
oplId: "", //ID
},
});
break;
}
}, },
// //
table_edit(row) { table_edit(row) {
switch (row.cate_name) {
case "动火":
this.$router.push({ this.$router.push({
name: "fire", name: row.cate_code,
query: { query: {
oplId: row.id, //ID oplId: row.id, //ID
}, },
}); });
break;
case "有限空间":
this.$router.push({
name: "space",
query: {
oplId: row.id, //ID
},
});
break;
case "清库":
this.$router.push({
name: "clear",
query: {
oplId: row.id, //ID
},
});
break;
case "高处":
this.$router.push({
name: "high",
query: {
oplId: row.id, //ID
},
});
break;
case "吊装":
this.$router.push({
name: "hoisting",
query: {
oplId: row.id, //ID
},
});
break;
case "预热器清堵":
this.$router.push({
name: "preheat",
query: {
oplId: row.id, //ID
},
});
break;
case "篦冷机清大块":
this.$router.push({
name: "cooler",
query: {
oplId: row.id, //ID
},
});
break;
case "动土":
this.$router.push({
name: "soil",
query: {
oplId: row.id, //ID
},
});
break;
case "临时用电":
this.$router.push({
name: "usecl",
query: {
oplId: row.id, //ID
},
});
break;
}
}, },
// //
table_show(row) { table_show(row) {
this.showLimited = true; this.showLimited = true;
this.oplId = row.id; this.oplId = row.id;
this.oplCode = row.cate_code;
this.oplName = row.cate_name; this.oplName = row.cate_name;
this.workId = row.workers[0]; this.workId = row.workers[0];
}, },

View File

@ -25,13 +25,13 @@
:model="form" :model="form"
:rules="rules" :rules="rules"
label-width="110px" label-width="110px"
style="margin: 40px 40px 40px 40px" style="margin: 40px 40px 0px 40px"
> >
<el-row> <el-row>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="关联作业"> <el-form-item label="关联作业">
<el-input <el-input
v-model="operationId" v-model="form.name"
type="text" type="text"
:disabled="true" :disabled="true"
></el-input> ></el-input>
@ -47,7 +47,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业开始时间"> <el-form-item label="作业开始时间" prop="start_time">
<el-date-picker <el-date-picker
v-model="form.start_time" v-model="form.start_time"
type="datetime" type="datetime"
@ -56,7 +56,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业结束时间"> <el-form-item label="作业结束时间" prop="end_time">
<el-date-picker <el-date-picker
v-model="form.end_time" v-model="form.end_time"
type="datetime" type="datetime"
@ -64,9 +64,21 @@
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业级别" prop="level">
<el-select v-model="form.level" placeholder="选择作业级别">
<el-option
v-for="item in leveloptions"
:key="item.id"
:label="item.name"
:value="item.name"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24" > <el-col :md="12" :sm="12" :xs="24" >
<el-form-item label="作业部门"> <el-form-item label="作业部门" prop="dept_do">
<el-cascader <el-cascader
placeholder="选择作业部门" placeholder="选择作业部门"
getCheckedNodes="true" getCheckedNodes="true"
@ -77,45 +89,49 @@
label: 'label', // label: 'label', //
value: 'value', // value: 'value', //
emitPath: false, // false emitPath: false, // false
checkStrictly: true
}" }"
clearable clearable
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业负责人"> <el-form-item label="作业负责人" prop="charger">
<el-select v-model="form.charger" placeholder="选择作业负责人"> <el-input
v-model="form.charger_name"
style="width:200px"
disabled
></el-input>
<!-- <el-select v-model="form.charger_name" placeholder="选择作业负责人">
<el-option <el-option
v-for="item in useroptions" v-for="item in useroptions"
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.id" :value="item.id"
/> />
</el-select> </el-select> -->
<ehsUserSelect :multiple="false" @submit="getCharger"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业监护人"> <el-form-item label="作业监护人" prop="monitor">
<el-select v-model="form.monitor" placeholder="选择作业监护人"> <el-input
<el-option v-model="form.monitor_name"
v-for="item in useroptions" style="width:200px"
:key="item.id" disabled
:label="item.name" ></el-input>
:value="item.id" <ehsUserSelect :multiple="false" @submit="getMonitor"/>
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="风险选择"> <el-form-item label="风险选择" prop="risks_checked">
<el-checkbox-group v-model="form.risks_checked"> <el-checkbox-group v-model="form.risks_checked">
<el-checkbox <el-checkbox
v-for="(item, index) in risklist" v-for="(item, index) in risklist"
:key="index" :key="index"
:label="item.id" :label="item.id"
>{{ item.name }}</el-checkbox >{{ item.name }}
</el-checkbox
> >
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
@ -129,40 +145,25 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!--
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="逃生路径">
<el-input v-model="escape_route" type="text" clearable></el-input>
</el-form-item>
</el-col> !-->
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="措施选择"> <el-form-item label="措施选择" prop="measures_checked">
<el-checkbox-group v-model="form.measures_checked"> <el-checkbox-group v-model="form.measures_checked">
<el-checkbox <el-checkbox
v-for="(item, index) in measurelist" v-for="(item, index) in measurelist"
:key="index" :key="index"
:label="item.id" :label="item.id"
>{{ item.name }}</el-checkbox >{{ item.name }}
</el-checkbox
> >
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-card class="box-card"> <el-card header="应急处置">
<div class="clearfix">
<span>应急处置</span>
</div>
<div class="content"> <div class="content">
<p>1发生火灾时立即使用消防器材进行灭火</p> <p>1发生火灾时立即使用消防器材进行灭火</p>
<p> <p>2高温物料冲入眼睛时用洗眼器进行持续冲洗严重时拨打120送医</p>
2高温物料冲入眼睛时用洗眼器进行持续冲洗严重时拨打120送医 <p>3发生人员烫伤时用喷淋装置对烫伤部位进行冲洗或用清水浸泡用干净的纱布或衣物盖住被烫伤部位伤势严重时立即拨打120送医若贴身衣服与伤口粘在一起时可用剪刀剪开然后缓慢剥离衣物</p>
</p>
<p>
3发生人员烫伤时用喷淋装置对烫伤部位进行冲洗或用清水浸泡用干净的纱布或衣物盖住被烫伤部位伤势严重时立即拨打120送医若贴身衣服与伤口粘在一起时可用剪刀剪开然后缓慢剥离衣物
</p>
</div> </div>
</el-card> </el-card>
<el-form-item label="其他应急处置"> <el-form-item label="其他应急处置">
@ -173,25 +174,13 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!--
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业审批照片">
<el-input v-model="create_imgs" type="text" clearable></el-input>
</el-form-item>
</el-col>
!-->
</el-row>
<el-row>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item>
<el-button style="margin-top: 12px" @click="handleNextStep"
>下一步</el-button
>
</el-form-item>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
<div style="margin-bottom: 20px; text-align:center">
<el-button type="primary" plain @click="handleNextStep"
>下一步
</el-button>
</div>
</el-main> </el-main>
<!--作业人员!--> <!--作业人员!-->
@ -209,7 +198,8 @@
row-key="id" row-key="id"
hidePagination hidePagination
stripe stripe
hideDo
style="height: 300px;"
> >
<el-table-column <el-table-column
label="#" label="#"
@ -226,13 +216,11 @@
</el-table-column> </el-table-column>
<el-table-column label="证书" prop="certificates" width="150"> <el-table-column label="证书" prop="certificates" width="150">
<template #default="scope"> <template #default="scope">
<el-tag <el-tag v-for="item in scope.row.certificates_"
v-for="item in scope.row.certificates_"
:key="item.number" :key="item.number"
:label="item.name" :label="item.name"
:value="item.number" :value="item.number">{{item.name}}
>{{ item.name }}</el-tag </el-tag>
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -242,6 +230,7 @@
></el-table-column> ></el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="200"> <el-table-column label="操作" fixed="right" align="center" width="200">
<template #default="scope"> <template #default="scope">
<el-popconfirm <el-popconfirm
title="确定删除该作业人员吗?" title="确定删除该作业人员吗?"
@confirm="delWorker(scope.row)" @confirm="delWorker(scope.row)"
@ -253,7 +242,7 @@
</template> </template>
</el-table-column> </el-table-column>
</scTable> </scTable>
<sc-dialog v-model="workerdialog" draggable title="选择作业人员"> <el-dialog v-model="workerdialog" draggable title="选择作业人员">
<el-form <el-form
ref="workerForm" ref="workerForm"
:model="formworker" :model="formworker"
@ -266,18 +255,12 @@
<el-row> <el-row>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="作业人员"> <el-form-item label="作业人员">
<el-select <el-input
v-model="formworker.worker" v-model="formworker.worker_name"
@change="selectWorker" style="width:200px"
placeholder="选择作业人员" disabled
> ></el-input>
<el-option <ehsUserSelect :multiple="false" @submit="getWorker"/>
v-for="item in useroptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
@ -320,11 +303,21 @@
<el-button @click="dialogcart = false"> </el-button> <el-button @click="dialogcart = false"> </el-button>
<el-button type="primary" @click="submitWorker"> </el-button> <el-button type="primary" @click="submitWorker"> </el-button>
</template> </template>
</sc-dialog> </el-dialog>
<el-button style="margin-top: 12px" @click="handleLastStep" <div style="margin-top:20px;text-align:center">
>上一步</el-button <el-button @click="handleLastStep" style="margin-right:4px">上一步</el-button>
> <el-button
<el-button style="margin-top: 12px" @click="submitOut">退出</el-button> :loading="tLoading"
v-for=" item in initForm.transitions"
:key="item.id"
type="primary"
@click="submitTicketCreate(item.id)"
style="margin-right:4px"
>{{item.name}}
</el-button>
<el-button @click="submitOut" type="warning">退出</el-button>
</div>
</el-main> </el-main>
</el-container> </el-container>
</template> </template>
@ -336,32 +329,36 @@
.box-card p { .box-card p {
line-height: 20px; line-height: 20px;
} }
.content { .content {
margin-top: 10px; margin-top: 10px;
} }
.stepSuc:hover { .stepSuc:hover {
cursor: pointer; cursor: pointer;
} }
.stepErr:hover { .stepErr:hover {
cursor: not-allowed; cursor: not-allowed;
} }
</style> </style>
<script> <script>
import {genTree} from "@/utils/verificate"; import {genTree} from "@/utils/verificate";
const defaultformworker = { const defaultformworker = {
id: "", id: "",
worker: null, worker: null,
duty: null, duty: "作业人员",
certificates: [], certificates: [],
opl: "", opl: "",
}; };
const defaultformgas = { const defaultformgas = {
id: "", id: "",
check_time: null, check_time: null,
opl: "", opl:""
}; };
export default { export default {
name: "preheat", name: "fire",
components: {}, components: {},
data() { data() {
return { return {
@ -382,21 +379,22 @@ export default {
cate: "", cate: "",
risks_checked: [], risks_checked: [],
}, },
initForm: {},
operationId: "", operationId: "",
oplcateId: "", oplcateId: "",
oplcateCode: "",
oplId: "", oplId: "",
leveloptions: [ leveloptions: [
{ id: "一级吊装", name: "特级:>30米" }, { id: "特级", name: "特级:>30米" },
{ id: "二级吊装", name: "二级吊装" }, { id: "三级", name: "三级:15-30米" },
{ id: "三级吊装", name: "三级吊装" }, { id: "二级", name: "二级:>5-15米" },
{ id: "一级", name: "一级:1.8-5米" },
], ],
deptoptions: [], deptoptions: [],
useroptions: [], useroptions: [],
risklist: [], risklist: [],
measurelist: [], measurelist: [],
pagtitle: "", pagtitle: "",
dutyOptions: [ dutyOptions: [
{value: 10, label: "作业人员"}, {value: 10, label: "作业人员"},
{value: 20, label: "起重司机"}, {value: 20, label: "起重司机"},
@ -415,6 +413,33 @@ export default {
true: "正常", true: "正常",
false: "不正常", false: "不正常",
}, },
tLoading: false,
rules: {
start_time: [
{required: true, message: '请选择'}
],
end_time: [
{required: true, message: '请选择'}
],
level: [
{required: true, message: '请选择'}
],
dept_do: [
{required: true, message: '请选择'}
],
charger: [
{required: true, message: '请选择'}
],
monitor: [
{required: true, message: '请选择'}
],
risks_checked: [
{required: true, message: '请选择'}
],
measures_checked: [
{required: true, message: '请选择'}
],
}
}; };
}, },
mounted() { mounted() {
@ -422,11 +447,28 @@ export default {
this.oplcateId = this.$route.query.oplcateId; //ID this.oplcateId = this.$route.query.oplcateId; //ID
this.oplId = this.$route.query.oplId; //ID this.oplId = this.$route.query.oplId; //ID
this.getoplData(); this.getoplData();
this.getInit();
this.getDept(); this.getDept();
this.getUser(); // this.getUser();
}, },
methods: { methods: {
getCharger(data) {
this.form.charger=data.id;
this.form.charger_name=data.name
},
getChecker(data){
this.formgas.checker=data.id;
this.formgas.checker_name=data.name
},
getMonitor(data) {
this.form.monitor=data.id;
this.form.monitor_name=data.name
},
getWorker(data) {
this.formworker.worker=data.id,
this.formworker.worker_name=data.name
this.selectWorker()
},
getoplData() { getoplData() {
if (this.oplId == "") { if (this.oplId == "") {
this.getOperation(); this.getOperation();
@ -439,7 +481,7 @@ export default {
getData() { getData() {
this.$API.opm.opl.read.req(this.oplId).then((res) => { this.$API.opm.opl.read.req(this.oplId).then((res) => {
this.form = res; this.form = res;
this.oplId = res.id;
this.oplcateId = res.cate; this.oplcateId = res.cate;
this.operationId = res.operation; this.operationId = res.operation;
this.getOperation(); this.getOperation();
@ -452,6 +494,7 @@ export default {
this.$API.opm.operation.read.req(this.operationId).then((res) => { this.$API.opm.operation.read.req(this.operationId).then((res) => {
this.form.start_time = res.start_time; // this.form.start_time = res.start_time; //
this.form.end_time = res.end_time; // this.form.end_time = res.end_time; //
this.form.name = res.name; //
console.log(res); console.log(res);
}); });
@ -464,18 +507,14 @@ export default {
}, },
// //
getUser() {
this.$API.system.user.list.req({ page: 0 }).then((res) => {
this.useroptions = res;
});
},
// //
//ID //ID===>
getOplcates() { getOplcates() {
this.$API.opm.oplcate.read.req(this.oplcateId).then((res) => { this.$API.opm.oplcate.read.req(this.oplcateId).then((res) => {
console.log(res); // console.log(res); //
this.pagtitle = res.name; this.pagtitle = res.name;
this.oplcateCode = res.code;
this.risklist = res.risk_options_; // this.risklist = res.risk_options_; //
this.measurelist = res.measure_options_; // this.measurelist = res.measure_options_; //
}); });
@ -494,8 +533,10 @@ export default {
}, },
// //
handleNextStep() { handleNextStep() {
if (this.active == 0) { if (this.active == 0) {
// console.log(this.oplId); this.$refs.dialogForm.validate((valid) => {
if (valid) {
// //
if (this.oplId == "") { if (this.oplId == "") {
// //
@ -512,25 +553,29 @@ export default {
this.active = 1; this.active = 1;
this.oplId = res.id; this.oplId = res.id;
this.getworkerList(res.id); this.getworkerList();
this.getgasList();
return res; return res;
}) })
.catch((err) => { .catch((err) => {
return err; return err;
}); });
} else if (this.oplId != "") { } else if (this.oplId != "") {
this.$API.opm.opl.update.req(this.oplId, this.form).then(() => { this.$API.opm.opl.update.req(this.oplId, this.form).then(() => {
this.$message.success("基本修改成功!"); this.$message.success("基本修改成功!");
this.issave = true; this.issave = true;
this.active = 1; this.active = 1;
this.getgasList();
this.getworkerList();
this.getworkerList(this.oplId);
}); });
} else { } else {
this.active = 1; this.active = 1;
} }
} }
})
}
// this.stepSuc.push(++this.active) // this.stepSuc.push(++this.active)
}, },
@ -545,8 +590,8 @@ export default {
}, },
// //
getworkerList(id) { getworkerList() {
this.$API.opm.worker.list.req({ opl: id, page: 0 }).then((res) => { this.$API.opm.worker.list.req({opl: this.oplId, page: 0}).then((res) => {
this.apiworkerObj = res; this.apiworkerObj = res;
console.log(res); console.log(res);
}); });
@ -564,7 +609,7 @@ export default {
.req(row.id) .req(row.id)
.then((res) => { .then((res) => {
this.$message.success("作业人员删除成功"); this.$message.success("作业人员删除成功");
this.$refs.workerTable.refresh(); this.getworkerList()
return res; return res;
}) })
.catch((err) => { .catch((err) => {
@ -575,12 +620,12 @@ export default {
submitWorker() { submitWorker() {
this.formworker.opl = this.oplId; this.formworker.opl = this.oplId;
this.$refs.workerForm.validate(async (valid) => { this.$refs.workerForm.validate(async (valid) => {
this.$API.opm.worker.create this.$API.opm.worker.create
.req(this.formworker) .req(this.formworker)
.then((res) => { .then((res) => {
this.$refs.workerTable.refresh();
this.$message.success("创建作业人员成功"); this.$message.success("创建作业人员成功");
this.getworkerList();
this.workerdialog = false; this.workerdialog = false;
}) })
.catch((err) => { .catch((err) => {
@ -589,16 +634,90 @@ export default {
}); });
}, },
//
getgasList() {
this.$API.opm.gas.list.req({opl: this.oplId, page: 0}).then((res) => {
this.apigasObj = res;
console.log(res);
});
},
//Form
addgas() {
this.gasdialog = true;
this.formgas = Object.assign({}, defaultformgas);
},
//
submitgas() {
this.formgas.opl = this.oplId;
this.$refs.gasForm.validate(async (valid) => {
this.$API.opm.gas.create
.req(this.formgas)
.then((res) => {
this.$message.success("创建气体检测记录成功");
this.getgasList();
this.gasdialog = false;
})
.catch((err) => {
return err;
});
});
},
//
delgas(row) {
this.$API.opm.gas.delete
.req(row.id)
.then((res) => {
this.$message.success("气体检测记录删除成功");
this.getgasList()
return res;
})
.catch((err) => {
return err;
});
},
//
getInit() {
this.$API.wf.workflow.initkey.req('opl_preheat').then((res) => {
this.initForm = res;
});
},
//,
submitTicketCreate(id) {
if(this.apiworkerObj.length==0){
this.$message.warning("请添加作业人员");
return
}
let ticket = {};
ticket.workflow = this.initForm.workflow;
ticket.ticket_data = {opl: this.oplId};
ticket.transition = id;
ticket.title = this.form.name + '-申请';
this.tLoading = true
this.$API.wf.ticket.create.req(ticket).then((res) => {
this.tLoading = false
this.$message.success("提交成功");
this.submitOut()
}).catch(e=>{this.tLoading=false});
},
//退 //退
submitOut() { submitOut() {
this.$router.push({ this.$router.push({
name: "opl", name: "opl",
query: { query: {
operationid: this.$route.query.id, //ID id: this.operationId,//ID
}, },
}); });
}, }
}, },
}; };
</script> </script>

View File

@ -25,13 +25,13 @@
:model="form" :model="form"
:rules="rules" :rules="rules"
label-width="110px" label-width="110px"
style="margin: 40px 40px 40px 40px" style="margin: 40px 40px 0px 40px"
> >
<el-row> <el-row>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="关联作业"> <el-form-item label="关联作业">
<el-input <el-input
v-model="operationId" v-model="form.name"
type="text" type="text"
:disabled="true" :disabled="true"
></el-input> ></el-input>
@ -47,7 +47,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业开始时间"> <el-form-item label="作业开始时间" prop="start_time">
<el-date-picker <el-date-picker
v-model="form.start_time" v-model="form.start_time"
type="datetime" type="datetime"
@ -56,7 +56,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业结束时间"> <el-form-item label="作业结束时间" prop="end_time">
<el-date-picker <el-date-picker
v-model="form.end_time" v-model="form.end_time"
type="datetime" type="datetime"
@ -65,20 +65,20 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业级别"> <el-form-item label="作业级别" prop="level">
<el-select v-model="form.level" placeholder="选择作业级别"> <el-select v-model="form.level" placeholder="选择作业级别">
<el-option <el-option
v-for="item in leveloptions" v-for="item in leveloptions"
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.id" :value="item.name"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24" > <el-col :md="12" :sm="12" :xs="24" >
<el-form-item label="作业部门"> <el-form-item label="作业部门" prop="dept_do">
<el-cascader <el-cascader
placeholder="选择作业部门" placeholder="选择作业部门"
getCheckedNodes="true" getCheckedNodes="true"
@ -89,45 +89,49 @@
label: 'label', // label: 'label', //
value: 'value', // value: 'value', //
emitPath: false, // false emitPath: false, // false
checkStrictly: true
}" }"
clearable clearable
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业负责人"> <el-form-item label="作业负责人" prop="charger">
<el-select v-model="form.charger" placeholder="选择作业负责人"> <el-input
v-model="form.charger_name"
style="width:200px"
disabled
></el-input>
<!-- <el-select v-model="form.charger_name" placeholder="选择作业负责人">
<el-option <el-option
v-for="item in useroptions" v-for="item in useroptions"
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.id" :value="item.id"
/> />
</el-select> </el-select> -->
<ehsUserSelect :multiple="false" @submit="getCharger"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业监护人"> <el-form-item label="作业监护人" prop="monitor">
<el-select v-model="form.monitor" placeholder="选择作业监护人"> <el-input
<el-option v-model="form.monitor_name"
v-for="item in useroptions" style="width:200px"
:key="item.id" disabled
:label="item.name" ></el-input>
:value="item.id" <ehsUserSelect :multiple="false" @submit="getMonitor"/>
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="风险选择"> <el-form-item label="风险选择" prop="risks_checked">
<el-checkbox-group v-model="form.risks_checked"> <el-checkbox-group v-model="form.risks_checked">
<el-checkbox <el-checkbox
v-for="(item, index) in risklist" v-for="(item, index) in risklist"
:key="index" :key="index"
:label="item.id" :label="item.id"
>{{ item.name }}</el-checkbox >{{ item.name }}
</el-checkbox
> >
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
@ -141,32 +145,21 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!--
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="逃生路径">
<el-input v-model="escape_route" type="text" clearable></el-input>
</el-form-item>
</el-col> !-->
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="措施选择"> <el-form-item label="措施选择" prop="measures_checked">
<el-checkbox-group v-model="form.measures_checked"> <el-checkbox-group v-model="form.measures_checked">
<el-checkbox <el-checkbox
v-for="(item, index) in measurelist" v-for="(item, index) in measurelist"
:key="index" :key="index"
:label="item.id" :label="item.id"
>{{ item.name }}</el-checkbox >{{ item.name }}
</el-checkbox
> >
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-card class="box-card"> <el-card header="应急处置">
<div class="clearfix">
<span>应急处置</span>
</div>
<div class="content"> <div class="content">
<p>1管线被破坏时,应立即停止作业并报告相关部门现场设置紧急隔离线保护现场等待抢修</p> <p>1管线被破坏时,应立即停止作业并报告相关部门现场设置紧急隔离线保护现场等待抢修</p>
<p>2发生人员受伤时应立即组织救援救援过程中应避免二次伤害根据伤情送医或拨打120</p> <p>2发生人员受伤时应立即组织救援救援过程中应避免二次伤害根据伤情送医或拨打120</p>
@ -181,25 +174,13 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!--
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业审批照片">
<el-input v-model="create_imgs" type="text" clearable></el-input>
</el-form-item>
</el-col>
!-->
</el-row>
<el-row>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item>
<el-button style="margin-top: 12px" @click="handleNextStep"
>下一步</el-button
>
</el-form-item>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
<div style="margin-bottom: 20px; text-align:center">
<el-button type="primary" plain @click="handleNextStep"
>下一步
</el-button>
</div>
</el-main> </el-main>
<!--作业人员!--> <!--作业人员!-->
@ -217,6 +198,8 @@
row-key="id" row-key="id"
hidePagination hidePagination
stripe stripe
hideDo
style="height: 300px;"
> >
<el-table-column <el-table-column
label="#" label="#"
@ -236,7 +219,8 @@
<el-tag v-for="item in scope.row.certificates_" <el-tag v-for="item in scope.row.certificates_"
:key="item.number" :key="item.number"
:label="item.name" :label="item.name"
:value="item.number">{{item.name}}</el-tag> :value="item.number">{{item.name}}
</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -258,7 +242,7 @@
</template> </template>
</el-table-column> </el-table-column>
</scTable> </scTable>
<sc-dialog v-model="workerdialog" draggable title="选择作业人员"> <el-dialog v-model="workerdialog" draggable title="选择作业人员">
<el-form <el-form
ref="workerForm" ref="workerForm"
:model="formworker" :model="formworker"
@ -271,18 +255,12 @@
<el-row> <el-row>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="作业人员"> <el-form-item label="作业人员">
<el-select <el-input
v-model="formworker.worker" v-model="formworker.worker_name"
@change="selectWorker" style="width:200px"
placeholder="选择作业人员" disabled
> ></el-input>
<el-option <ehsUserSelect :multiple="false" @submit="getWorker"/>
v-for="item in useroptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
@ -325,14 +303,22 @@
<el-button @click="dialogcart = false"> </el-button> <el-button @click="dialogcart = false"> </el-button>
<el-button type="primary" @click="submitWorker"> </el-button> <el-button type="primary" @click="submitWorker"> </el-button>
</template> </template>
</sc-dialog> </el-dialog>
<el-button style="margin-top: 12px" @click="handleLastStep" <div style="margin-top:20px;text-align:center">
>上一步</el-button <el-button @click="handleLastStep" style="margin-right:4px">上一步</el-button>
> <el-button
<el-button style="margin-top: 12px" @click="submitOut">退出</el-button> :loading="tLoading"
v-for=" item in initForm.transitions"
:key="item.id"
type="primary"
@click="submitTicketCreate(item.id)"
style="margin-right:4px"
>{{item.name}}
</el-button>
<el-button @click="submitOut" type="warning">退出</el-button>
</div>
</el-main> </el-main>
</el-container> </el-container>
</template> </template>
<style scoped> <style scoped>
@ -343,22 +329,26 @@
.box-card p { .box-card p {
line-height: 20px; line-height: 20px;
} }
.content { .content {
margin-top: 10px; margin-top: 10px;
} }
.stepSuc:hover { .stepSuc:hover {
cursor: pointer; cursor: pointer;
} }
.stepErr:hover { .stepErr:hover {
cursor: not-allowed; cursor: not-allowed;
} }
</style> </style>
<script> <script>
import {genTree} from "@/utils/verificate"; import {genTree} from "@/utils/verificate";
const defaultformworker = { const defaultformworker = {
id: "", id: "",
worker: null, worker: null,
duty: null, duty: "作业人员",
certificates: [], certificates: [],
opl: "", opl: "",
}; };
@ -368,11 +358,10 @@ const defaultformgas = {
opl:"" opl:""
}; };
export default { export default {
name: "soil", name: "fire",
components: {}, components: {},
data() { data() {
return { return {
active: 0, active: 0,
stepSuc: [0], stepSuc: [0],
stepTitle: ["基本信息", "作业人员"], stepTitle: ["基本信息", "作业人员"],
@ -390,9 +379,10 @@ export default {
cate: "", cate: "",
risks_checked: [], risks_checked: [],
}, },
initForm: {},
operationId: "", operationId: "",
oplcateId: "", oplcateId: "",
oplcateCode: "",
oplId: "", oplId: "",
leveloptions: [ leveloptions: [
{ id: "主干道", name: "主干道" }, { id: "主干道", name: "主干道" },
@ -403,7 +393,6 @@ export default {
risklist: [], risklist: [],
measurelist: [], measurelist: [],
pagtitle: "", pagtitle: "",
dutyOptions: [ dutyOptions: [
{value: 10, label: "作业人员"}, {value: 10, label: "作业人员"},
{value: 20, label: "起重司机"}, {value: 20, label: "起重司机"},
@ -422,6 +411,33 @@ export default {
true: "正常", true: "正常",
false: "不正常", false: "不正常",
}, },
tLoading: false,
rules: {
start_time: [
{required: true, message: '请选择'}
],
end_time: [
{required: true, message: '请选择'}
],
level: [
{required: true, message: '请选择'}
],
dept_do: [
{required: true, message: '请选择'}
],
charger: [
{required: true, message: '请选择'}
],
monitor: [
{required: true, message: '请选择'}
],
risks_checked: [
{required: true, message: '请选择'}
],
measures_checked: [
{required: true, message: '请选择'}
],
}
}; };
}, },
mounted() { mounted() {
@ -429,13 +445,28 @@ export default {
this.oplcateId = this.$route.query.oplcateId; //ID this.oplcateId = this.$route.query.oplcateId; //ID
this.oplId = this.$route.query.oplId; //ID this.oplId = this.$route.query.oplId; //ID
this.getoplData(); this.getoplData();
this.getInit();
this.getDept(); this.getDept();
this.getUser(); // this.getUser();
}, },
methods: { methods: {
getCharger(data) {
this.form.charger=data.id;
this.form.charger_name=data.name
},
getChecker(data){
this.formgas.checker=data.id;
this.formgas.checker_name=data.name
},
getMonitor(data) {
this.form.monitor=data.id;
this.form.monitor_name=data.name
},
getWorker(data) {
this.formworker.worker=data.id,
this.formworker.worker_name=data.name
this.selectWorker()
},
getoplData() { getoplData() {
if (this.oplId == "") { if (this.oplId == "") {
this.getOperation(); this.getOperation();
@ -448,7 +479,7 @@ export default {
getData() { getData() {
this.$API.opm.opl.read.req(this.oplId).then((res) => { this.$API.opm.opl.read.req(this.oplId).then((res) => {
this.form = res; this.form = res;
this.oplId = res.id;
this.oplcateId = res.cate; this.oplcateId = res.cate;
this.operationId = res.operation; this.operationId = res.operation;
this.getOperation(); this.getOperation();
@ -461,6 +492,7 @@ export default {
this.$API.opm.operation.read.req(this.operationId).then((res) => { this.$API.opm.operation.read.req(this.operationId).then((res) => {
this.form.start_time = res.start_time; // this.form.start_time = res.start_time; //
this.form.end_time = res.end_time; // this.form.end_time = res.end_time; //
this.form.name = res.name; //
console.log(res); console.log(res);
}); });
@ -473,18 +505,14 @@ export default {
}, },
// //
getUser() {
this.$API.system.user.list.req({ page: 0 }).then((res) => {
this.useroptions = res;
});
},
// //
//ID //ID===>
getOplcates() { getOplcates() {
this.$API.opm.oplcate.read.req(this.oplcateId).then((res) => { this.$API.opm.oplcate.read.req(this.oplcateId).then((res) => {
console.log(res); // console.log(res); //
this.pagtitle = res.name; this.pagtitle = res.name;
this.oplcateCode = res.code;
this.risklist = res.risk_options_; // this.risklist = res.risk_options_; //
this.measurelist = res.measure_options_; // this.measurelist = res.measure_options_; //
}); });
@ -503,8 +531,10 @@ export default {
}, },
// //
handleNextStep() { handleNextStep() {
if (this.active == 0) { if (this.active == 0) {
// console.log(this.oplId); this.$refs.dialogForm.validate((valid) => {
if (valid) {
// //
if (this.oplId == "") { if (this.oplId == "") {
// //
@ -521,8 +551,8 @@ export default {
this.active = 1; this.active = 1;
this.oplId = res.id; this.oplId = res.id;
this.getworkerList(res.id); this.getworkerList();
this.getgasList();
return res; return res;
}) })
.catch((err) => { .catch((err) => {
@ -534,14 +564,16 @@ export default {
this.$message.success("基本修改成功!"); this.$message.success("基本修改成功!");
this.issave = true; this.issave = true;
this.active = 1; this.active = 1;
this.getgasList();
this.getworkerList(this.oplId); this.getworkerList();
}); });
} else { } else {
this.active = 1; this.active = 1;
} }
} }
})
}
// this.stepSuc.push(++this.active) // this.stepSuc.push(++this.active)
}, },
@ -556,8 +588,8 @@ export default {
}, },
// //
getworkerList(id) { getworkerList() {
this.$API.opm.worker.list.req({ opl: id, page: 0 }).then((res) => { this.$API.opm.worker.list.req({opl: this.oplId, page: 0}).then((res) => {
this.apiworkerObj = res; this.apiworkerObj = res;
console.log(res); console.log(res);
}); });
@ -575,7 +607,7 @@ export default {
.req(row.id) .req(row.id)
.then((res) => { .then((res) => {
this.$message.success("作业人员删除成功"); this.$message.success("作业人员删除成功");
this.$refs.workerTable.refresh(); this.getworkerList()
return res; return res;
}) })
.catch((err) => { .catch((err) => {
@ -591,8 +623,41 @@ export default {
.req(this.formworker) .req(this.formworker)
.then((res) => { .then((res) => {
this.$message.success("创建作业人员成功"); this.$message.success("创建作业人员成功");
this.getworkerList();
this.workerdialog = false; this.workerdialog = false;
this.$refs.workerTable.refresh(); })
.catch((err) => {
return err;
});
});
},
//
getgasList() {
this.$API.opm.gas.list.req({opl: this.oplId, page: 0}).then((res) => {
this.apigasObj = res;
console.log(res);
});
},
//Form
addgas() {
this.gasdialog = true;
this.formgas = Object.assign({}, defaultformgas);
},
//
submitgas() {
this.formgas.opl = this.oplId;
this.$refs.gasForm.validate(async (valid) => {
this.$API.opm.gas.create
.req(this.formgas)
.then((res) => {
this.$message.success("创建气体检测记录成功");
this.getgasList();
this.gasdialog = false;
}) })
.catch((err) => { .catch((err) => {
return err; return err;
@ -601,12 +666,52 @@ export default {
}); });
}, },
//
delgas(row) {
this.$API.opm.gas.delete
.req(row.id)
.then((res) => {
this.$message.success("气体检测记录删除成功");
this.getgasList()
return res;
})
.catch((err) => {
return err;
});
},
//
getInit() {
this.$API.wf.workflow.initkey.req('opl_soil').then((res) => {
this.initForm = res;
});
},
//,
submitTicketCreate(id) {
if(this.apiworkerObj.length==0){
this.$message.warning("请添加作业人员");
return
}
let ticket = {};
ticket.workflow = this.initForm.workflow;
ticket.ticket_data = {opl: this.oplId};
ticket.transition = id;
ticket.title = this.form.name + '-申请';
this.tLoading = true
this.$API.wf.ticket.create.req(ticket).then((res) => {
this.tLoading = false
this.$message.success("提交成功");
this.submitOut()
}).catch(e=>{this.tLoading=false});
},
//退 //退
submitOut() { submitOut() {
this.$router.push({ this.$router.push({
name: "opl", name: "opl",
query: { query: {
operationid: this.$route.query.id,//ID id: this.operationId,//ID
}, },
}); });

View File

@ -25,13 +25,13 @@
:model="form" :model="form"
:rules="rules" :rules="rules"
label-width="110px" label-width="110px"
style="margin: 40px 40px 40px 40px" style="margin: 40px 40px 0px 40px"
> >
<el-row> <el-row>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="关联作业"> <el-form-item label="关联作业">
<el-input <el-input
v-model="operationId" v-model="form.name"
type="text" type="text"
:disabled="true" :disabled="true"
></el-input> ></el-input>
@ -47,7 +47,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业开始时间"> <el-form-item label="作业开始时间" prop="start_time">
<el-date-picker <el-date-picker
v-model="form.start_time" v-model="form.start_time"
type="datetime" type="datetime"
@ -56,7 +56,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业结束时间"> <el-form-item label="作业结束时间" prop="end_time">
<el-date-picker <el-date-picker
v-model="form.end_time" v-model="form.end_time"
type="datetime" type="datetime"
@ -65,7 +65,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业级别"> <el-form-item label="作业级别" prop="level">
<el-select v-model="form.level" placeholder="选择作业级别"> <el-select v-model="form.level" placeholder="选择作业级别">
<el-option <el-option
v-for="item in leveloptions" v-for="item in leveloptions"
@ -78,7 +78,7 @@
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24" > <el-col :md="12" :sm="12" :xs="24" >
<el-form-item label="作业部门"> <el-form-item label="作业部门" prop="dept_do">
<el-cascader <el-cascader
placeholder="选择作业部门" placeholder="选择作业部门"
getCheckedNodes="true" getCheckedNodes="true"
@ -96,90 +96,42 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业负责人"> <el-form-item label="作业负责人" prop="charger">
<el-select v-model="form.charger" placeholder="选择作业负责人"> <el-input
v-model="form.charger_name"
style="width:200px"
disabled
></el-input>
<!-- <el-select v-model="form.charger_name" placeholder="选择作业负责人">
<el-option <el-option
v-for="item in useroptions" v-for="item in useroptions"
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.id" :value="item.id"
/> />
</el-select> </el-select> -->
<ehsUserSelect :multiple="false" @submit="getCharger"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业监护人"> <el-form-item label="作业监护人" prop="monitor">
<el-select v-model="form.monitor" placeholder="选择作业监护人">
<el-option
v-for="item in useroptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<!--
临时用电
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="安装/拆除">
<el-input v-model="work_type" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="安装/拆除时间">
<el-input v-model="work_time" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="验收时间">
<el-input v-model="accept_time" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="用电地点">
<el-input v-model="power_to" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="电源接入点">
<el-input v-model="power_from" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="用电开始">
<el-input <el-input
v-model="power_start_time" v-model="form.monitor_name"
type="text" style="width:200px"
clearable disabled
></el-input> ></el-input>
<ehsUserSelect :multiple="false" @submit="getMonitor"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="用电截至">
<el-input
v-model="power_end_time"
type="text"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="计划用电天数">
<el-input v-model="power_days" type="text" clearable></el-input>
</el-form-item>
</el-col> !-->
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="风险选择"> <el-form-item label="风险选择" prop="risks_checked">
<el-checkbox-group v-model="form.risks_checked"> <el-checkbox-group v-model="form.risks_checked">
<el-checkbox <el-checkbox
v-for="(item, index) in risklist" v-for="(item, index) in risklist"
:key="index" :key="index"
:label="item.id" :label="item.id"
>{{ item.name }}</el-checkbox >{{ item.name }}
</el-checkbox
> >
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
@ -193,36 +145,28 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!--
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="逃生路径">
<el-input v-model="escape_route" type="text" clearable></el-input>
</el-form-item>
</el-col> !-->
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="措施选择"> <el-form-item label="措施选择" prop="measures_checked">
<el-checkbox-group v-model="form.measures_checked"> <el-checkbox-group v-model="form.measures_checked">
<el-checkbox <el-checkbox
v-for="(item, index) in measurelist" v-for="(item, index) in measurelist"
:key="index" :key="index"
:label="item.id" :label="item.id"
>{{ item.name }}</el-checkbox >{{ item.name }}
</el-checkbox
> >
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-card class="box-card"> <el-card header="应急处置">
<div class="clearfix">
<span>应急处置</span>
</div>
<div class="content"> <div class="content">
<p>1施救人员必须穿戴防护用品防毒面具正压式空气呼吸器长管式呼吸器和安全绳方可进入有限空间进行救援</p> <p>1施救人员必须穿戴防护用品防毒面具正压式空气呼吸器长管式呼吸器和安全绳方可进入有限
空间进行救援</p>
<p>2将受伤人员托起或使用三角架绞盘和全身式安全带将伤者拉出有限空间</p> <p>2将受伤人员托起或使用三角架绞盘和全身式安全带将伤者拉出有限空间</p>
<p>3如伤者发生骨折采用夹板木棍等对骨折部位上下关节进行固定当伤者昏迷或意识不清楚则不应随意移动伤者立即拨打120</p> <p>
3如伤者发生骨折采用夹板木棍等对骨折部位上下关节进行固定当伤者昏迷或意识不清楚则不应随意移动伤者立即拨打120
</p>
<p>4发生人员窒息中毒将其转移到空气新鲜流通的场所插入氧气袋或进行心肺复苏术边抢救边拨打120求救</p> <p>4发生人员窒息中毒将其转移到空气新鲜流通的场所插入氧气袋或进行心肺复苏术边抢救边拨打120求救</p>
<p>5逃生出口</p> <p>5逃生出口</p>
</div> </div>
@ -235,25 +179,13 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!--
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业审批照片">
<el-input v-model="create_imgs" type="text" clearable></el-input>
</el-form-item>
</el-col>
!-->
</el-row>
<el-row>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item>
<el-button style="margin-top: 12px" @click="handleNextStep"
>下一步</el-button
>
</el-form-item>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
<div style="margin-bottom: 20px; text-align:center">
<el-button type="primary" plain @click="handleNextStep"
>下一步
</el-button>
</div>
</el-main> </el-main>
<!--作业人员!--> <!--作业人员!-->
@ -271,6 +203,8 @@
row-key="id" row-key="id"
hidePagination hidePagination
stripe stripe
hideDo
style="height: 300px;"
> >
<el-table-column <el-table-column
label="#" label="#"
@ -290,10 +224,9 @@
<el-tag v-for="item in scope.row.certificates_" <el-tag v-for="item in scope.row.certificates_"
:key="item.number" :key="item.number"
:label="item.name" :label="item.name"
:value="item.number">{{item.name}}</el-tag> :value="item.number">{{item.name}}
</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="创建时间" label="创建时间"
@ -314,7 +247,7 @@
</template> </template>
</el-table-column> </el-table-column>
</scTable> </scTable>
<sc-dialog v-model="workerdialog" draggable title="选择作业人员"> <el-dialog v-model="workerdialog" draggable title="选择作业人员">
<el-form <el-form
ref="workerForm" ref="workerForm"
:model="formworker" :model="formworker"
@ -327,18 +260,12 @@
<el-row> <el-row>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="作业人员"> <el-form-item label="作业人员">
<el-select <el-input
v-model="formworker.worker" v-model="formworker.worker_name"
@change="selectWorker" style="width:200px"
placeholder="选择作业人员" disabled
> ></el-input>
<el-option <ehsUserSelect :multiple="false" @submit="getWorker"/>
v-for="item in useroptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
@ -381,16 +308,17 @@
<el-button @click="dialogcart = false"> </el-button> <el-button @click="dialogcart = false"> </el-button>
<el-button type="primary" @click="submitWorker"> </el-button> <el-button type="primary" @click="submitWorker"> </el-button>
</template> </template>
</sc-dialog> </el-dialog>
<el-button style="margin-top: 12px" @click="handleLastStep" <div style="margin-top:20px;text-align:center">
>上一步</el-button <el-button style="margin-right: 4px" @click="handleLastStep"
> >上一步
<el-button style="margin-top: 12px" @click="handleNextStep" </el-button>
>下一步</el-button <el-button type="primary" plain @click="handleNextStep"
> >下一步
</el-button>
</div>
</el-main> </el-main>
<!--气体浓度检测记录!--> <!--气体检测记录!-->
<el-main class="nopadding" v-show="active === 2"> <el-main class="nopadding" v-show="active === 2">
<div class="left-panel" style="margin: 10px"> <div class="left-panel" style="margin: 10px">
<el-button <el-button
@ -404,7 +332,9 @@
:data="apigasObj" :data="apigasObj"
row-key="id" row-key="id"
hidePagination hidePagination
hideDo
stripe stripe
style="height: 300px;"
> >
<el-table-column <el-table-column
label="#" label="#"
@ -425,7 +355,7 @@
<el-table-column label="O2(%)" prop="o2" width="150"></el-table-column> <el-table-column label="O2(%)" prop="o2" width="150"></el-table-column>
<el-table-column label="CO" prop="co" width="150"></el-table-column> <el-table-column label="CO" prop="co" width="150"></el-table-column>
<el-table-column <el-table-column
label="H2S" label="h2s"
prop="h2s" prop="h2s"
width="150" width="150"
></el-table-column> ></el-table-column>
@ -433,26 +363,25 @@
label="检验结论" label="检验结论"
prop="is_ok" prop="is_ok"
width="150" width="150"
> <template #default="scope"> >
<template #default="scope">
{{ is_ok_[scope.row.is_ok] }} {{ is_ok_[scope.row.is_ok] }}
</template></el-table-column> </template>
</el-table-column>
<el-table-column <el-table-column
label="检测人" label="检测人"
prop="checker" prop="checker"
width="150" width="150"
> <template #default="scope"> >
<template #default="scope">
{{ scope.row.checker_.name }} {{ scope.row.checker_.name }}
</template></el-table-column> </template>
<el-table-column </el-table-column>
label="创建时间"
prop="create_time"
width="150"
></el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="200"> <el-table-column label="操作" fixed="right" align="center" width="200">
<template #default="scope"> <template #default="scope">
<el-popconfirm <el-popconfirm
title="确定删除该气体浓度检测记录吗?" title="确定删除该条气体检测记录吗?"
@confirm="delgas(scope.row)" @confirm="delgas(scope.row)"
> >
<template #reference> <template #reference>
@ -461,15 +390,14 @@
</el-popconfirm> </el-popconfirm>
</template> </template>
</el-table-column> </el-table-column>
</scTable> </scTable>
<sc-dialog v-model="gasdialog" draggable title="气体检测记录"> <el-dialog v-model="gasdialog" draggable title="气体检测记录">
<el-form <el-form
ref="gasForm" ref="gasForm"
:model="formgas" :model="formgas"
:rules="rules" :rules="rules"
:disabled="mode == 'show'" :disabled="mode == 'show'"
label-width="120px" label-width="80px"
width="70%" width="70%"
style="margin: 40px 40px 40px 40px" style="margin: 40px 40px 40px 40px"
> >
@ -498,7 +426,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="CO(ppm)"> <el-form-item label="CO">
<el-input <el-input
v-model.number="formgas.co" v-model.number="formgas.co"
type="text" type="text"
@ -507,7 +435,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="H2S(10ppm)"> <el-form-item label="H2S">
<el-input <el-input
v-model.number="formgas.h2s" v-model.number="formgas.h2s"
type="text" type="text"
@ -526,7 +454,13 @@
</el-col> </el-col>
<el-col :md="24" :sm="12" :xs="24"> <el-col :md="24" :sm="12" :xs="24">
<el-form-item label="检测人"> <el-form-item label="检测人">
<el-select <el-input
v-model="formgas.checker_name"
style="width:200px"
disabled
></el-input>
<ehsUserSelect :multiple="false" @submit="getChecker"/>
<!-- <el-select
v-model="formgas.checker" v-model="formgas.checker"
placeholder="选择作业人员" placeholder="选择作业人员"
> >
@ -536,7 +470,7 @@
:label="item.name" :label="item.name"
:value="item.id" :value="item.id"
/> />
</el-select> </el-select> -->
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -545,10 +479,9 @@
<el-button @click="dialoggase = false"> </el-button> <el-button @click="dialoggase = false"> </el-button>
<el-button type="primary" @click="submitgas"> </el-button> <el-button type="primary" @click="submitgas"> </el-button>
</template> </template>
</sc-dialog> </el-dialog>
<el-button @click="handleLastStep" <div style="margin-top:20px;text-align:center">
>上一步</el-button <el-button @click="handleLastStep" style="margin-right:4px">上一步</el-button>
>
<el-button <el-button
:loading="tLoading" :loading="tLoading"
v-for=" item in initForm.transitions" v-for=" item in initForm.transitions"
@ -558,7 +491,8 @@
style="margin-right:4px" style="margin-right:4px"
>{{item.name}} >{{item.name}}
</el-button> </el-button>
<el-button @click="submitOut">退出</el-button> <el-button @click="submitOut" type="warning">退出</el-button>
</div>
</el-main> </el-main>
</el-container> </el-container>
</template> </template>
@ -570,38 +504,43 @@
.box-card p { .box-card p {
line-height: 20px; line-height: 20px;
} }
.content { .content {
margin-top: 10px; margin-top: 10px;
} }
.stepSuc:hover { .stepSuc:hover {
cursor: pointer; cursor: pointer;
} }
.stepErr:hover { .stepErr:hover {
cursor: not-allowed; cursor: not-allowed;
} }
</style> </style>
<script> <script>
import {genTree} from "@/utils/verificate"; import {genTree} from "@/utils/verificate";
const defaultformworker = { const defaultformworker = {
id: "", id: "",
worker: null, worker: null,
duty: null, duty: "作业人员",
certificates: [], certificates: [],
opl: "", opl: "",
}; };
const defaultformgas = { const defaultformgas = {
id: "", id: "",
is_ok: true,
check_time: null, check_time: null,
opl:"" opl: "",
}; };
export default { export default {
name: "space", name: "fire",
components: {}, components: {},
data() { data() {
return { return {
active: 0, active: 0,
stepSuc: [0], stepSuc: [0],
stepTitle: ["基本信息", "作业人员", "气体浓度检测记录"], stepTitle: ["基本信息", "作业人员", "气体检测记录"],
query: {}, query: {},
selection: [], selection: [],
issave: false, // issave: false, //
@ -619,18 +558,18 @@ export default {
initForm: {}, initForm: {},
operationId: "", operationId: "",
oplcateId: "", oplcateId: "",
oplcateCode: "",
oplId: "", oplId: "",
leveloptions: [ leveloptions: [
{ id: 10, name: "特级" }, {id: 10, name: "特殊动火"},
{ id: 20, name: "一级" }, {id: 20, name: "一级动火"},
{ id: 30, name: "二级" }, {id: 30, name: "二级动火"},
], ],
deptoptions: [], deptoptions: [],
useroptions: [], useroptions: [],
risklist: [], risklist: [],
measurelist: [], measurelist: [],
pagtitle: "", pagtitle: "",
dutyOptions: [ dutyOptions: [
{value: 10, label: "作业人员"}, {value: 10, label: "作业人员"},
{value: 20, label: "起重司机"}, {value: 20, label: "起重司机"},
@ -649,6 +588,33 @@ export default {
true: "正常", true: "正常",
false: "不正常", false: "不正常",
}, },
tLoading: false,
rules: {
start_time: [
{required: true, message: '请选择'}
],
end_time: [
{required: true, message: '请选择'}
],
level: [
{required: true, message: '请选择'}
],
dept_do: [
{required: true, message: '请选择'}
],
charger: [
{required: true, message: '请选择'}
],
monitor: [
{required: true, message: '请选择'}
],
risks_checked: [
{required: true, message: '请选择'}
],
measures_checked: [
{required: true, message: '请选择'}
],
}
}; };
}, },
mounted() { mounted() {
@ -658,9 +624,26 @@ export default {
this.getoplData(); this.getoplData();
this.getInit(); this.getInit();
this.getDept(); this.getDept();
this.getUser(); // this.getUser();
}, },
methods: { methods: {
getCharger(data) {
this.form.charger=data.id;
this.form.charger_name=data.name
},
getChecker(data){
this.formgas.checker=data.id;
this.formgas.checker_name=data.name
},
getMonitor(data) {
this.form.monitor=data.id;
this.form.monitor_name=data.name
},
getWorker(data) {
this.formworker.worker=data.id,
this.formworker.worker_name=data.name
this.selectWorker()
},
getoplData() { getoplData() {
if (this.oplId == "") { if (this.oplId == "") {
this.getOperation(); this.getOperation();
@ -669,18 +652,11 @@ export default {
this.getData(); this.getData();
} }
}, },
//
getInit() {
this.$API.wf.workflow.initkey.req('opl_space').then((res) => {
this.initForm = res;
});
},
//oplId //oplId
getData() { getData() {
this.$API.opm.opl.read.req(this.oplId).then((res) => { this.$API.opm.opl.read.req(this.oplId).then((res) => {
this.form = res; this.form = res;
this.oplId = res.id;
this.oplcateId = res.cate; this.oplcateId = res.cate;
this.operationId = res.operation; this.operationId = res.operation;
this.getOperation(); this.getOperation();
@ -693,6 +669,7 @@ export default {
this.$API.opm.operation.read.req(this.operationId).then((res) => { this.$API.opm.operation.read.req(this.operationId).then((res) => {
this.form.start_time = res.start_time; // this.form.start_time = res.start_time; //
this.form.end_time = res.end_time; // this.form.end_time = res.end_time; //
this.form.name = res.name; //
console.log(res); console.log(res);
}); });
@ -705,18 +682,14 @@ export default {
}, },
// //
getUser() {
this.$API.system.user.list.req({ page: 0 }).then((res) => {
this.useroptions = res;
});
},
// //
//ID //ID===>
getOplcates() { getOplcates() {
this.$API.opm.oplcate.read.req(this.oplcateId).then((res) => { this.$API.opm.oplcate.read.req(this.oplcateId).then((res) => {
console.log(res); // console.log(res); //
this.pagtitle = res.name; this.pagtitle = res.name;
this.oplcateCode = res.code;
this.risklist = res.risk_options_; // this.risklist = res.risk_options_; //
this.measurelist = res.measure_options_; // this.measurelist = res.measure_options_; //
}); });
@ -735,10 +708,12 @@ export default {
}, },
// //
handleNextStep() { handleNextStep() {
if (this.active == 0) { if (this.active == 0) {
console.log(this.oplId); this.$refs.dialogForm.validate((valid) => {
if (valid) {
// //
if (this.oplId == "" && this.issave == false) { if (this.oplId == "") {
// //
debugger; debugger;
this.form.cate = this.oplcateId; this.form.cate = this.oplcateId;
@ -747,30 +722,41 @@ export default {
this.$API.opm.opl.create this.$API.opm.opl.create
.req(this.form) .req(this.form)
.then((res) => { .then((res) => {
this.$emit("success", this.form, this.mode); this.$emit("success", this.form);
this.$message.success("创建成功"); this.$message.success("创建成功");
this.issave = true; this.issave = true;
this.active = 1; this.active = 1;
this.oplId = res.id; this.oplId = res.id;
this.getworkerList(res.id); this.getworkerList();
this.getgasList(res.id); this.getgasList();
return res; return res;
}) })
.catch((err) => { .catch((err) => {
return err; return err;
}); });
} else if (this.oplId != "") { } else if (this.oplId != "") {
this.$API.opm.opl.update.req(this.form.id, this.form).then(() => {
this.$API.opm.opl.update.req(this.oplId, this.form).then(() => {
this.$message.success("基本修改成功!"); this.$message.success("基本修改成功!");
this.issave = true; this.issave = true;
this.active = 1; this.active = 1;
this.getworkerList(this.form.id); this.getgasList();
this.getgasList(this.form.id); this.getworkerList();
}); });
} else { } else {
this.active = 1; this.active = 1;
} }
}
})
} else { } else {
if (this.active==1){
if(this.apiworkerObj.length==0){
this.$message.warning("请添加作业人员");
return
}
}
this.active = 2; this.active = 2;
} }
@ -788,8 +774,8 @@ export default {
}, },
// //
getworkerList(id) { getworkerList() {
this.$API.opm.worker.list.req({ opl: id, page: 0 }).then((res) => { this.$API.opm.worker.list.req({opl: this.oplId, page: 0}).then((res) => {
this.apiworkerObj = res; this.apiworkerObj = res;
console.log(res); console.log(res);
}); });
@ -807,7 +793,7 @@ export default {
.req(row.id) .req(row.id)
.then((res) => { .then((res) => {
this.$message.success("作业人员删除成功"); this.$message.success("作业人员删除成功");
this.$refs.workerTable.refresh(); this.getworkerList()
return res; return res;
}) })
.catch((err) => { .catch((err) => {
@ -823,23 +809,23 @@ export default {
.req(this.formworker) .req(this.formworker)
.then((res) => { .then((res) => {
this.$message.success("创建作业人员成功"); this.$message.success("创建作业人员成功");
this.getworkerList();
this.workerdialog = false; this.workerdialog = false;
this.$refs.workerTable.refresh();
}) })
.catch((err) => { .catch((err) => {
return err; return err;
}); });
}); });
}, },
//
getgasList(id) { //
this.$API.opm.gas.list.req({ opl: id, page: 0 }).then((res) => { getgasList() {
this.$API.opm.gas.list.req({opl: this.oplId, page: 0}).then((res) => {
this.apigasObj = res; this.apigasObj = res;
console.log(res); console.log(res);
}); });
}, },
//Form //Form
addgas() { addgas() {
this.gasdialog = true; this.gasdialog = true;
@ -854,9 +840,9 @@ export default {
this.$API.opm.gas.create this.$API.opm.gas.create
.req(this.formgas) .req(this.formgas)
.then((res) => { .then((res) => {
this.$message.success("创建气体浓度检测记录成功"); this.$message.success("创建气体检测记录成功");
this.getgasList();
this.gasdialog = false; this.gasdialog = false;
this.$refs.gasTable.refresh();
}) })
.catch((err) => { .catch((err) => {
@ -865,13 +851,14 @@ export default {
}); });
}, },
// //
delgas(row) { delgas(row) {
this.$API.opm.gas.delete this.$API.opm.gas.delete
.req(row.id) .req(row.id)
.then((res) => { .then((res) => {
this.$message.success("气体浓度检测记录删除成功"); this.$message.success("气体检测记录删除成功");
this.$refs.gasTable.refresh(); this.getgasList()
return res; return res;
}) })
.catch((err) => { .catch((err) => {
@ -879,6 +866,13 @@ export default {
}); });
}, },
//
getInit() {
this.$API.wf.workflow.initkey.req('opl_space').then((res) => {
this.initForm = res;
});
},
//, //,
submitTicketCreate(id) { submitTicketCreate(id) {
let ticket = {}; let ticket = {};
@ -899,7 +893,7 @@ export default {
this.$router.push({ this.$router.push({
name: "opl", name: "opl",
query: { query: {
operationid: this.$route.query.id,//ID id: this.operationId,//ID
}, },
}); });

View File

@ -25,13 +25,13 @@
:model="form" :model="form"
:rules="rules" :rules="rules"
label-width="110px" label-width="110px"
style="margin: 40px 40px 40px 40px" style="margin: 40px 40px 0px 40px"
> >
<el-row> <el-row>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="关联作业"> <el-form-item label="关联作业">
<el-input <el-input
v-model="operationId" v-model="form.name"
type="text" type="text"
:disabled="true" :disabled="true"
></el-input> ></el-input>
@ -47,7 +47,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业开始时间"> <el-form-item label="作业开始时间" prop="start_time">
<el-date-picker <el-date-picker
v-model="form.start_time" v-model="form.start_time"
type="datetime" type="datetime"
@ -56,7 +56,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业结束时间"> <el-form-item label="作业结束时间" prop="end_time">
<el-date-picker <el-date-picker
v-model="form.end_time" v-model="form.end_time"
type="datetime" type="datetime"
@ -67,7 +67,7 @@
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业部门"> <el-form-item label="作业部门" prop="dept_do">
<el-cascader <el-cascader
placeholder="选择作业部门" placeholder="选择作业部门"
getCheckedNodes="true" getCheckedNodes="true"
@ -86,7 +86,7 @@
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="作业监护人"> <el-form-item label="作业监护人" prop="monitor">
<el-select v-model="form.monitor" placeholder="选择作业监护人"> <el-select v-model="form.monitor" placeholder="选择作业监护人">
<el-option <el-option
v-for="item in useroptions" v-for="item in useroptions"
@ -152,18 +152,6 @@
placeholder="选择开始时间" placeholder="选择开始时间"
/> />
</el-form-item> </el-form-item>
</el-col>
<el-col :md="12" :sm="12" :xs="24">
<el-form-item label="验收人签名">
<el-select v-model="form.charger" placeholder="选择验收人签名">
<el-option
v-for="item in useroptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="12" :xs="24"> <el-col :md="12" :sm="12" :xs="24">
<el-form-item label="用电功率"> <el-form-item label="用电功率">
@ -272,16 +260,12 @@
</el-col> </el-col>
!--> !-->
</el-row> </el-row>
<el-row>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item>
<el-button style="margin-top: 12px" @click="handleNextStep"
>下一步</el-button
>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<div style="margin-bottom: 20px; text-align:center">
<el-button type="primary" plain @click="handleNextStep"
>下一步
</el-button>
</div>
</el-main> </el-main>
<!--作业人员!--> <!--作业人员!-->
@ -340,7 +324,7 @@
</template> </template>
</el-table-column> </el-table-column>
</scTable> </scTable>
<sc-dialog v-model="workerdialog" draggable title="选择作业人员"> <el-dialog v-model="workerdialog" draggable title="选择作业人员">
<el-form <el-form
ref="workerForm" ref="workerForm"
:model="formworker" :model="formworker"
@ -407,11 +391,21 @@
<el-button @click="dialogcart = false"> </el-button> <el-button @click="dialogcart = false"> </el-button>
<el-button type="primary" @click="submitWorker"> </el-button> <el-button type="primary" @click="submitWorker"> </el-button>
</template> </template>
</sc-dialog> </el-dialog>
<el-button style="margin-top: 12px" @click="handleLastStep" <div style="margin-top:20px;text-align:center">
>上一步</el-button <el-button @click="handleLastStep" style="margin-right:4px">上一步</el-button>
> <el-button
<el-button style="margin-top: 12px" @click="submitOut">退出</el-button> :loading="tLoading"
v-for=" item in initForm.transitions"
:key="item.id"
type="primary"
@click="submitTicketCreate(item.id)"
style="margin-right:4px"
>{{item.name}}
</el-button>
<el-button @click="submitOut" type="warning">退出</el-button>
</div>
</el-main> </el-main>
@ -441,7 +435,7 @@ import { genTree } from "@/utils/verificate";
const defaultformworker = { const defaultformworker = {
id: "", id: "",
worker: null, worker: null,
duty: null, duty: "作业人员",
certificates: [], certificates: [],
opl: "", opl: "",
}; };
@ -473,7 +467,7 @@ export default {
cate: "", cate: "",
risks_checked: [], risks_checked: [],
}, },
initForm: {},
operationId: "", operationId: "",
oplcateId: "", oplcateId: "",
oplId: "", oplId: "",
@ -507,6 +501,32 @@ export default {
true: "正常", true: "正常",
false: "不正常", false: "不正常",
}, },
rules: {
start_time: [
{required: true, message: '请选择'}
],
end_time: [
{required: true, message: '请选择'}
],
level: [
{required: true, message: '请选择'}
],
dept_do: [
{required: true, message: '请选择'}
],
charger: [
{required: true, message: '请选择'}
],
monitor: [
{required: true, message: '请选择'}
],
risks_checked: [
{required: true, message: '请选择'}
],
measures_checked: [
{required: true, message: '请选择'}
],
}
}; };
}, },
mounted() { mounted() {
@ -514,9 +534,8 @@ export default {
this.oplcateId = this.$route.query.oplcateId; //ID this.oplcateId = this.$route.query.oplcateId; //ID
this.oplId = this.$route.query.oplId; //ID this.oplId = this.$route.query.oplId; //ID
this.getoplData(); this.getoplData();
this.getInit();
this.getDept(); this.getDept();
this.getUser();
}, },
methods: { methods: {
@ -685,7 +704,27 @@ export default {
}); });
}, },
//
getInit() {
this.$API.wf.workflow.initkey.req('opl_usecl').then((res) => {
this.initForm = res;
});
},
//,
submitTicketCreate(id) {
let ticket = {};
ticket.workflow = this.initForm.workflow;
ticket.ticket_data = {opl: this.oplId};
ticket.transition = id;
ticket.title = this.form.name + '-申请';
this.tLoading = true
this.$API.wf.ticket.create.req(ticket).then((res) => {
this.tLoading = false
this.$message.success("提交成功");
this.submitOut()
}).catch(e=>{this.tLoading=false});
},
//退 //退
submitOut(){ submitOut(){
this.$router.push({ this.$router.push({