Commit c96e4114 authored by 王李辉's avatar 王李辉

恢复删除的文件

parent 1ea5a41b
Pipeline #8210 passed with stage
in 5 minutes and 3 seconds
......@@ -551,6 +551,67 @@ const routes = [{
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/majorDanger/majorSurvey'),
},
// 隐患巡查首页
{
path: '/danger-patrol',
name: 'danger-patrol',
meta: {
title: '隐患巡查首页',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/dangerPatrol'),
},
// 执行巡查首页-安全管理类
{
path: '/implement',
name: 'implement',
meta: {
title: '执行巡查首页-安全管理类',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/dangerPatrol/implement'),
},
// 取消巡查
{
path: '/cancel-patrol',
name: 'cancel-patrol',
meta: {
title: '取消巡查',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/dangerPatrol/cancelPatrol'),
},
// 巡查记录
{
path: '/record-patrol',
name: 'record-patrol',
meta: {
title: '巡查记录',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/dangerPatrol/recordPatrol'),
},
// 巡查记录详情
{
path: '/record-detail',
name: 'record-detail',
meta: {
title: '巡查记录详情',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/dangerPatrol/recordPatrol/detail.vue'),
},
// 巡查统计
{
path: '/statistics',
name: 'statistics',
meta: {
title: '巡查统计',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/dangerPatrol/statistics'),
},
// 延期审批列表
......
<template>
<div>
<van-sticky offset-top="0">
<LHeader :text="text"></LHeader>
</van-sticky>
<van-sticky offset-top="1.5rem">
<van-search
v-model="searchValue"
show-action
placeholder="请输入搜索内容"
@search="onSearch"
>
<template #action>
<div @click="onSearch">搜索</div>
</template>
</van-search>
</van-sticky>
<!-- 内容列表 -->
<!-- 接口对接4 START -->
<van-tabs
v-model="active"
@change="
getList(searchValue);
showIndex = null;
"
color="#2980f7"
animated
:sticky="true"
offset-top="2.93rem"
>
<van-tab v-for="(item, key) in tabs" :key="key" :title="item.title">
<div
class="con-list"
@touchmove="showIndex = null"
v-if="key == active"
>
<van-cell-group
inset
v-for="(item, index) in messageList"
:key="index"
@click="touchstart(index, item)"
>
<van-row gutter="">
<van-col span="7">隐患单编号:</van-col>
<van-col span="17">{{
item.businessId || item.pid
}}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">所属项目:</van-col>
<van-col span="17">{{ item.proId }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7" v-if="item.hdLev"
>隐患级别:</van-col
>
<van-col span="17">{{
item.hdLev | dangerText
}}</van-col>
</van-row>
<van-row gutter="" v-show="item.examineResult">
<van-col span="7">是否通过:</van-col>
<van-col span="17">{{
item.examineResult == 1 ? "是" : "否"
}}</van-col>
</van-row>
<van-row gutter="" v-show="item.examineReason">
<van-col span="7">意见:</van-col>
<van-col span="17">{{
item.examineReason
}}</van-col>
</van-row>
<van-row gutter="" v-if="item.taskName">
<van-col span="7">工单状态:</van-col>
<van-col span="17">{{ item.taskName }}</van-col>
</van-row>
<!-- 长按显示遮罩层 -->
<template>
<van-overlay :show="showIndex == index">
<div
class="wrapper"
@click.stop="showIndex = null"
>
<van-button
round
type="primary"
@click="goDetail(item, 'normal-detail')"
>隐患详情</van-button
>
<van-button
round
type="info"
@click="goConfirm(item)"
v-if="active == 0"
>审批
</van-button>
<van-button
round
type="info"
@click="
goDetail(
item,
'finish-delay-detail'
)
"
v-if="active == 1"
>延期查看</van-button
>
</div>
</van-overlay>
</template>
</van-cell-group>
</div>
<!-- 暂无数据 -->
<div
style="
width: 100%;
text-align: center;
font-size: 0.48rem;
position: fixed;
top: 30%;
"
v-if="messageList.length == 0"
>
暂无数据
</div>
</van-tab>
</van-tabs>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import { getFun, postFun } from "@/service/table.js";
import { delayList } from "@/service/danger";
export default {
name:'delay-approval',
components: {
LHeader,
},
data() {
return {
text: "延期审批",
searchValue: "",
isHaveNews: false,
messageList: [],
Loop: "", // 定时器
showIndex: null, // 是否显示遮罩层
active: 0,
tabs: [
{
title: "待审批",
api: "/delayApply/list",
},
{
title: "已审批",
api: "/delayApply/finishList",
},
],
};
},
created() {
this.getList();
},
methods: {
getList(select = "") {
/*接口对接3 START*/
// 例子:
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
});
let formdata = new FormData();
formdata.append("select", select);
postFun(this.tabs[this.active]["api"], formdata)
.then((res) => {
this.$toast.clear();
this.messageList = res.rows || res.data;
// 判断有无数据返回
if (this.messageList.length == 0) {
this.isHaveNews = true;
}
})
.catch((err) => {
console.log(err);
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
/*接口对接3 END*/
},
onSearch() {
this.getList(this.searchValue);
},
touchstart(index, item) {
if (this.showIndex != null) {
this.showIndex = null;
return;
}
this.showIndex = index;
},
// 详情
goDetail(data, name = "normal-detail") {
let id =
name == "normal-detail" ? data.businessId || data.pid : data.id;
this.$router.push({
name,
params: {
id,
},
});
this.showIndex = null;
},
// 审批
goConfirm(data) {
this.$router.push({
name: "ratify-info",
params: {
taskId: data.taskId,
},
});
this.showIndex = null;
},
},
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
#app {
font-family: "";
color: #2c3e50;
}
.con-list {
padding: 0;
background-color: #f0f1f5;
.van-cell-group--inset {
margin: 0;
margin-bottom: 0.26667rem;
padding: 0.25rem;
font-size: 0.4rem;
position: relative;
border-radius: 4%;
box-shadow: 0px 0px 10px 2px #f3f3f3;
width: 90%;
margin: 0.4rem auto;
.van-row {
font-size: 0.4rem;
line-height: 0.8rem;
margin-bottom: 0;
}
.van-overlay {
position: absolute;
.wrapper {
display: flex;
align-items: center;
justify-content: space-evenly;
height: 100%;
}
}
}
}
/deep/.van-tab__pane-wrapper {
min-height: 8rem;
}
.van-tabs__track {
min-height: 3rem;
}
</style>
<template>
<div>
<LHeader :text="text"></LHeader>
<van-form
@submit="onSubmit"
:show-error="false"
:scroll-to-error="true"
validate-trigger="onSubmit"
>
<van-field
v-model="applyDate"
readonly
name="applyDate"
label="延期时间"
placeholder="空"
/>
<van-field
v-model="applyReason"
readonly
label="延期理由"
name="applyReason"
rows="1"
autosize
type="textarea"
placeholder="空"
/>
<van-field name="isAgree" label="延期是否通过">
<template #input>
<van-radio-group
v-model="isAgree"
direction="horizontal"
@change="selectResult"
>
<van-radio name="1">通过</van-radio>
<van-radio name="0">退回</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field
v-model="opinion"
label='审批意见'
name="examineReason"
rows="3"
type="textarea"
placeholder="请输入"
required
:rules="[{ required: true, message: '理由或者意见不能为空' }]"
/>
<div style="margin: 16px">
<van-button round block type="info" native-type="submit"
>保存</van-button
>
</div>
</van-form>
<div style="margin: 10px 16px 0px; padding-bottom: 16px">
<van-button round block type="warning" @click.native="cancel"
>取消</van-button
>
</div>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import {getFun,postFun} from "@/service/table.js";
import { delayReturn } from "@/service/danger";
import { delayEdit } from "@/service/danger";
export default {
components: {
LHeader,
},
data() {
return {
pid:'',
id:'',
text: "延期审批",
taskId: "",
delayTime: "", // 延迟时间
showDelayTime: false,
delayApply: "", // 延迟理由
isAgree: '1', // 延期是否通过
opinion: "", //理由或者意见
applyDate: "", //延期时间
applyReason: "", //延期理由
};
},
created() {
this.taskId = this.$route.params.taskId;
this.getReturnEcho();
},
methods: {
onSubmit(values) {
this.$toast.loading({
message: "提交中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
});
// console.log(this.isAgree)
let formdata = new FormData();
formdata.append("examineResult", this.isAgree*1);
formdata.append("examineReason", values.examineReason);
formdata.append("taskId", this.taskId);
formdata.append("pid", this.pid);
formdata.append('applyDate',this.applyDate);
formdata.append('id',this.id);
delayEdit(`/delayApply/edit`, formdata)
.then((res) => {
this.$toast.clear();
this.$toast.success({
message: "提交成功",
duration: 2000,
});
history.go(-1);
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("提交失败,请稍后再试");
});
},
// 请求已退回详情数据
getReturnEcho() {
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
});
delayReturn(`/delayApply/edit/${this.taskId}`)
.then((res) => {
this.$toast.clear();
// 对数据进行赋值
this.applyDate = res.data.delayApply.applyDate;
this.applyReason = res.data.delayApply.applyReason;
this.pid=res.data.delayApply.pid;
this.id=res.data.delayApply.id;
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
},
selectResult(val) {
this.isAgree = val;
},
cancel() {
this.$router.go(-1);
},
},
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment