Commit 37e23fbf authored by dlkong's avatar dlkong

Merge branch 'develop' into dev_kdl

parents e0d02a23 4ceac299
......@@ -26,7 +26,7 @@ import tabBar from "@/components/TabBar";
export default {
components: {
tabBar,
tabBar
},
data() {
return {
......@@ -36,32 +36,58 @@ export default {
headH: "",
screenH: "",
transitionName: "slide-left",
cachePage: [
'riskAdd'
],
cachePage: ["riskAdd"],
// 不需要展示底部tabbar的页面
noTab:["login", "login2", 'addCurrent','addPresent','addInherent','riskInherent',"choose-people","scan",'success','fail','warn','center','reset-pas-two','riskTaskList','riskBigDetail','riskView','resultPage'],
noTab: [
"login",
"login2",
"addCurrent",
"addPresent",
"addInherent",
"riskInherent",
"choose-people",
"scan",
"success",
"fail",
"warn",
"center",
"reset-pas-two",
"riskTaskList",
"riskBigDetail",
"riskView",
"resultPage",
"riskAppvoreText"
],
// cachePage预先定义的缓存页面
otherCache: [],
// 专门处理列表缓存的页面,这些页面缓存逻辑与其他缓存不一样去详情返回列表缓存,但是进入列表必须刷新,如何有需要缓存的列表请放到这里来。
listCache:['insert-danger','confirme-danger','change-danger','review-danger','stand-book','major-danger','delay-approval',
'my-delay','risk-account','risk-confirme','my-delay'],
listCache: [
"insert-danger",
"confirme-danger",
"change-danger",
"review-danger",
"stand-book",
"major-danger",
"delay-approval",
"my-delay",
"risk-account",
"risk-confirme",
"my-delay"
]
// 'report-return', 'risk-return', 风险和隐患的上报退回不需要缓存
};
},
mounted() {
// 这个配合列表路由使用缓存初始缓存页面
this.otherCache=[...this.cachePage];
this.otherCache = [...this.cachePage];
let tabH =
document
.getElementsByTagName("html")[0]
.style.fontSize.split("px")[0] * 1.33333;
document.getElementsByTagName("html")[0].style.fontSize.split("px")[0] *
1.33333;
let sH = document.documentElement.clientHeight;
this.headH =
document
.getElementsByTagName("html")[0]
.style.fontSize.split("px")[0] * 1.5;
document.getElementsByTagName("html")[0].style.fontSize.split("px")[0] *
1.5;
+"px";
this.appHeight = sH - tabH + "px";
this.tabH = tabH + "px";
......@@ -69,23 +95,24 @@ export default {
},
computed: {
showTab() {
return !this.noTab.includes(
this.$route.name
);
},
return !this.noTab.includes(this.$route.name);
}
},
methods:{
methods: {
// 处理缓存的方法
handleCache(roterFromName, roterToName, markRoterName){
if(roterToName == markRoterName){
handleCache(roterFromName, roterToName, markRoterName) {
if (roterToName == markRoterName) {
// 从定义缓存列表中移除
if(this.cachePage.findIndex(item => item == roterFromName) != -1){
this.cachePage.splice(this.cachePage.findIndex(item => item == roterFromName), 1)
if (this.cachePage.findIndex(item => item == roterFromName) != -1) {
this.cachePage.splice(
this.cachePage.findIndex(item => item == roterFromName),
1
);
}
}else{
} else {
// 判断有无路由 加入缓存
if(this.cachePage.findIndex(item => item == roterFromName) == -1){
this.cachePage.push(roterFromName)
if (this.cachePage.findIndex(item => item == roterFromName) == -1) {
this.cachePage.push(roterFromName);
}
}
}
......@@ -93,29 +120,36 @@ export default {
watch: {
$route(to, from) {
// 列表操作去除缓存,刷新列表页
if(from.name == 'confirme-danger' || to.name=='confirme-danger'){ // 隐患整改页面缓存处理
this.handleCache('confirme-danger', to.name, 'affirm-danger')
}else if(from.name == 'change-danger' || to.name=='change-danger'){ // 隐患整改页面缓存处理
this.handleCache('change-danger', to.name, 'change-info')
}else if(from.name == 'review-danger' || to.name=='review-danger'){ // 隐患复查页面缓存处理
this.handleCache('review-danger', to.name, 'review-add')
}else if(from.name == 'major-danger' || to.name=='major-danger'){ // 企业审批页面缓存处理
this.handleCache('major-danger', to.name, 'major-survey')
}else if(from.name == 'risk-confirme' || to.name=='risk-confirme'){ // 风险确认页面缓存处理
this.handleCache('risk-confirme', to.name, 'risk-affirm')
if (from.name == "confirme-danger" || to.name == "confirme-danger") {
// 隐患整改页面缓存处理
this.handleCache("confirme-danger", to.name, "affirm-danger");
} else if (from.name == "change-danger" || to.name == "change-danger") {
// 隐患整改页面缓存处理
this.handleCache("change-danger", to.name, "change-info");
} else if (from.name == "review-danger" || to.name == "review-danger") {
// 隐患复查页面缓存处理
this.handleCache("review-danger", to.name, "review-add");
} else if (from.name == "major-danger" || to.name == "major-danger") {
// 企业审批页面缓存处理
this.handleCache("major-danger", to.name, "major-survey");
} else if (from.name == "risk-confirme" || to.name == "risk-confirme") {
// 风险确认页面缓存处理
this.handleCache("risk-confirme", to.name, "risk-affirm");
}
// 列表页面动态添加缓存
if(from.name=='save-workbench'){
if (from.name == "save-workbench") {
// 如何使从工作台进入列表页面在cachePage里添加页面
if((!this.cachePage.includes(to.name))&&this.listCache.includes(to.name)){
this.cachePage.push(to.name)
if (
!this.cachePage.includes(to.name) &&
this.listCache.includes(to.name)
) {
this.cachePage.push(to.name);
}
}
if(to.name=='save-workbench'){
if (to.name == "save-workbench") {
// 如何回到工作台默认恢复预定义缓存页面
this.cachePage=[...this.otherCache];
this.cachePage = [...this.otherCache];
}
// 有主级到次级
......@@ -127,15 +161,14 @@ export default {
} else {
this.transitionName = ""; //同级无过渡效果
}
},
},
}
}
};
</script>
<style lang="less">
body{
background-color: #f0f1f5;
body {
background-color: #f0f1f5;
}
#app {
font-family: "Avenir", Helvetica, Arial, sans-serif;
......@@ -174,8 +207,6 @@ background-color: #f0f1f5;
// background-color: #f0f1f5;
// overflow: auto;
width: 100%;
height: auto;
-webkit-overflow-scrolling: touch;
......
......@@ -23,7 +23,7 @@ export default {
data() {
return {
active: "0",
active: localStorage.getItem('active')?localStorage.getItem('active'):1,
tabBarList: [
{
key: "1",
......@@ -53,11 +53,11 @@ export default {
};
},
mounted() {
this.active = this.index
// this.active = this.index
},
methods: {
onChange(index) {
this.active = index;
localStorage.setItem('active',index);
if(this.active==index){
this.tabBarList.forEach((item)=>{
if(item.name==this.active){
......
<template>
<div style="width:100%">
<LHeader :text="text"></LHeader>
<!-- 搜索 -->
<div class="content-wrap">
<!-- <div class="search-wrap">
......@@ -70,7 +69,6 @@
</template>
<script>
import LHeader from "@/components/header.vue";
import { getFun, postFun } from "@/service/table";
import { getUserInfo } from "@/utils/userInfo";
import { debounce } from "@/utils/common.js";
......@@ -78,9 +76,6 @@ import { Toast } from "vant";
export default {
name: "select-people",
components: {
LHeader
},
created() {
this.getInsideUser(getUserInfo().secondaryUnit);
},
......@@ -106,7 +101,7 @@ export default {
this.resultName = this.allDeptList.find(
item => item.deptId == this.result
).deptName;
this.$emit("changeDept", this.result);
this.$emit("changeDept", this.result, this.resultName);
},
// 查询内部人员
getInsideUser(id, val) {
......
......@@ -5,197 +5,202 @@ Vue.use(VueRouter)
const routes = [{
path: '/',
redirect: '/login'
},
// 登录页
{
},
// 登录页
{
path: '/login',
name: 'login',
component: () => import('../views/login.vue'),
},
// 我的地盘页面
{
},
// 我的地盘页面
{
path: '/my',
name: 'my',
component: () => import('../views/my'),
},
{
},
{
path: '/my-role',
name: 'my-role',
meta: {
title: '我的权限'
},
component: () => import('@/views/my/role')
},
{
},
{
path: '/my-reset-pas',
name: 'my-reset-pas',
meta: {
title: '修改密码'
},
component: () => import('@/views/my/resetPas')
},
// 安全工作台页面
{
},
// 安全工作台页面
{
path: '/save-workbench',
name: 'save-workbench',
component: () => import('../views/saveWorkbench'),
},
// 创建任务页面
{
},
// 创建任务页面
{
path: '/create-task',
name: 'create-task',
component: () => import('../views/createTask'),
},
// 选择任务类型
{
},
// 选择任务类型
{
path: '/task-type',
name: 'task-type',
component: () => import('../views/createTask/taskSubPage/taskType.vue'),
},
// 选择作业任务
{
},
// 选择作业任务
{
path: '/work-task',
name: 'work-task',
component: () => import('../views/createTask/taskSubPage/workTask'),
},
// 选择作业综合班
{
},
// 选择作业综合班
{
path: '/work-class',
name: 'work-class',
component: () => import('../views/createTask/taskSubPage/workClass'),
},
// 选择作业综合组
{
},
// 选择作业综合组
{
path: '/work-group',
name: 'work-group',
component: () => import('../views/createTask/taskSubPage/workGroup'),
},
// 选择作业负责人
{
},
// 选择作业负责人
{
path: '/work-leader',
name: 'work-leader',
component: () => import('../views/createTask/taskSubPage/workLeader'),
},
// 选择作业其他人员
{
},
// 选择作业其他人员
{
path: '/work-other-per',
name: 'work-other-per',
component: () => import('../views/createTask/taskSubPage/workOtherPer'),
},
// 选择微流域
{
},
// 选择微流域
{
path: '/micro-watersh',
name: 'micro-watersh',
component: () => import('../views/createTask/taskSubPage/microWatersh'),
},
// 选择管段
{
},
// 选择管段
{
path: '/pipe-section',
name: 'pipe-section',
component: () => import('../views/createTask/taskSubPage/pipeSection'),
},
// 选择车牌号
{
},
// 选择车牌号
{
path: '/license-plate',
name: 'license-plate',
component: () => import('../views/createTask/taskSubPage/licensePlate'),
},
// 选择手杆爬行器
{
},
// 选择手杆爬行器
{
path: '/work-device',
name: 'work-device',
component: () => import('../views/createTask/taskSubPage/workDevice'),
},
},
//风险项目新增
{
//风险项目新增
{
path: '/riskAdd',
name: 'riskAdd',
component: () => import('../views/riskProject/add'),
},
//风险项目管理
{
},
//风险项目管理
{
path: '/riskManage',
name: 'riskManage',
component: () => import('../views/riskProject/manage'),
},
//风险评估
{
},
//风险评估
{
path: '/riskAssess',
name: 'riskAssess',
component: () => import('../views/riskProject/assess'),
},
//风险审批
{
},
//风险审批
{
path: '/riskApprove',
name: 'riskApprove',
component: () => import('../views/riskProject/approve'),
},
//风险台账
{
},
//风险台账
{
path: '/riskLedger',
name: 'riskLedger',
component: () => import('../views/riskProject/ledger'),
},
//任务单
{
},
//任务单
{
path: '/riskTaskList',
name: 'riskTaskList',
component: () => import('../views/riskProject/add/taskList.vue'),
},
//固有风险列表
{
},
//固有风险列表
{
path: '/riskInherent',
name: 'riskInherent',
component: () => import('../views/riskProject/add/inherentRisks.vue'),
},
//新增固有风险
{
},
//新增固有风险
{
path: '/addInherent',
name: 'addInherent',
component: () => import('../views/riskProject/add/addInherent.vue'),
},
{//编辑固有风险
},
{//编辑固有风险
path: '/addCurrent',
name: 'addCurrent',
component: () => import('../views/riskProject/add/addCurrent.vue'),
},
{//新增现状风险
},
{//新增现状风险
path: '/addPresent ',
name: 'addPresent',
component: () => import('../views/riskProject/add/addPresent.vue'),
},
{//风险评估列表详情页
},
{//风险评估列表详情页
path: '/riskBigDetail',
name: 'riskBigDetail',
component: () => import('../views/riskProject/assess/riskBigDetail.vue'),
},
{//执行情况管理
},
{//执行情况管理
path: '/riskExecution',
name: 'riskExecution',
component: () => import('../views/riskProject/execution/index.vue'),
},
{//四色图
},
{//四色图
path: '/riskView',
name: 'riskView',
component: () => import('../views/drawCanvas/riskView.vue'),
},
{//任务台账
},
{//任务台账
path: '/taskLedger',
name: 'taskLedger',
component: () => import('../views/riskProject/taskLedger/index.vue'),
},
{//任务台账
},
{//任务台账
path: '/taskDetail',
name: 'taskDetail',
component: () => import('../views/riskProject/taskLedger/taskDetail.vue'),
},
{//任务台账
},
{//任务台账
path: '/resultPage',
name: 'resultPage',
component: () => import('../views/riskProject/add/resultPage.vue'),
},
},
{//任务台账
path: '/riskAppvoreText',
name: 'riskAppvoreText',
component: () => import('../views/riskProject/add/riskAppvoreText.vue'),
}
]
const router = new VueRouter({
......
......@@ -300,14 +300,7 @@ export default {
factor: "", //风险因素
showFactor: false,
columnsFactor: [],
messageList: [
{
title: '回显风险源名称',
time: '2022-12-12',
name: 'Mr.周',
state: 1
}
],
messageList: [],
source: "", //风险源
userPrefix: "", //风险源
showSource: false,
......
......@@ -183,15 +183,15 @@
<van-popover v-model="showPopoveSetRank" trigger="click" :actions="columnsSetRank"
@select="onSelectSetRank">
<template #reference>
<van-field v-model="severityValue" readonly required name="level" label="发生的可能性"
<van-field v-model="severityValue" readonly required name="level" label="后果严重程度"
placeholder="请选择" />
</template>
</van-popover>
</van-collapse-item>
</van-collapse>
<van-row type="flex" justify="center" style="margin-top:10px">
<van-col span="6"><van-button size="small" plain type="info" @click="showGradeDialog = false">取消</van-button></van-col>
<van-col span="6"><van-button size="small" type="info" @click="goResultPage">开始测评</van-button></van-col>
<van-col span="6"><van-button size="small" plain native-type="button" type="info" @click="showGradeDialog = false">取消</van-button></van-col>
<van-col span="6"><van-button size="small" type="info" native-type="button" @click="goResultPage">开始测评</van-button></van-col>
</van-row>
</div>
</van-dialog>
......
......@@ -86,7 +86,7 @@
:rules="[{ required: true, message: '准事故类型不能为空' }]"
/>
<van-field
<!-- <van-field
readonly
v-model="form.level"
required
......@@ -95,7 +95,9 @@
placeholder="请选择"
@click="seletGrade('level')"
:rules="[{ required: true, message: '风险等级不能为空' }]"
/>
/> -->
<van-field readonly v-model="form.level" required name="level" label="风险等级" placeholder="请选择"
@click="seletGrade" :rules="[{ required: true, message: '风险等级不能为空' }]" />
<van-field
required
......@@ -295,7 +297,7 @@
</van-uploader>
</template>
</van-field>
<div style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;" >
<div v-if="this.$route.params.isView" style="height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;" >
<img src="@/assets/accidentIcon/bookmark.svg" alt="" style="position: relative;top: 32%;transform: translateY(-50%);" >
参考依据
</div>
......@@ -330,13 +332,42 @@
/>
</van-popup>
<div style="margin: 16px 16px 0">
<div style="margin: 16px 16px 0" v-if="this.$route.params.isView" >
<van-button round block type="info" native-type="submit"
>上报</van-button
>
</div>
</van-form>
<div style="margin: 10px 16px 0px; padding-bottom: 16px">
<van-dialog v-model="showGradeDialog" title="风险评测配置" :show-cancel-button="false" :show-confirm-button="false" >
<div class="dialogContain">
<van-collapse v-model="activeNames">
<van-collapse-item title="风险模型" name="1">
<van-field readonly required name="level" label="当前风险模型" placeholder="LS风险矩阵评估模型" />
</van-collapse-item>
<van-collapse-item title="风险模型配置" name="2">
<van-popover v-model="showPopover" trigger="click" :actions="columnsRiskRank"
@select="onSelect">
<template #reference>
<van-field v-model="possibleValue" readonly required name="level" label="发生的可能性"
placeholder="请选择" />
</template>
</van-popover>
<van-popover v-model="showPopoveSetRank" trigger="click" :actions="columnsSetRank"
@select="onSelectSetRank">
<template #reference>
<van-field v-model="severityValue" readonly required name="level" label="后果严重程度"
placeholder="请选择" />
</template>
</van-popover>
</van-collapse-item>
</van-collapse>
<van-row type="flex" justify="center" style="margin-top:10px">
<van-col span="6"><van-button size="small" plain type="info" @click="showGradeDialog = false">取消</van-button></van-col>
<van-col span="6"><van-button size="small" type="info" @click="goResultPage">开始测评</van-button></van-col>
</van-row>
</div>
</van-dialog>
<div v-if="this.$route.params.isView" style="margin: 10px 16px 0px; padding-bottom: 16px">
<van-button round block type="warning" @click.native="cancel"
>取消</van-button
>
......@@ -393,6 +424,10 @@ export default {
},
data() {
return {
showPopoveSetRank: false,
activeNames: ["1"],
showPopover: false,
showGradeDialog: false,
taskId: "",
text: "添加现状风险",
id: "",
......@@ -459,6 +494,10 @@ export default {
urgentImg: [], //应急措施图片
returnCause: "", // 退回原因
isShowreturnCause: false,
possibleValue: "",
possibleScore:0,
severityValue: "",
severityScore:0,
};
},
created() {
......@@ -546,22 +585,42 @@ export default {
]
},
seletGrade(name){
this.showTrouble=true
this.riskName=name
this.columnsTrouble=[
{
name:'重大风险',
},
{
name:'较大风险',
this.getGradeList('possibility')
this.getGradeList('severity')
this.showGradeDialog = true
},
//风险模型配置
getGradeList(type) {
// possibility 可能性 severity 严重性
getFun(`/risk/plan/matrix/${type}/list`).then(res => {
let arr = []
res.data.forEach(item => {
arr.push({ text: item.title, type: item.type, sort: item.sort, score: item.score })
})
if (type === 'possibility') {
this.columnsRiskRank = arr
} else {
this.columnsSetRank = arr
}
})
},
{
name:'一般风险',
onSelect(data) {
this.possibleValue = data.text
this.possibleScore = data.score
},
{
name:'较小风险',
onSelectSetRank(data) {
this.severityValue = data.text
this.severityScore = data.score
},
]
//开始测评
goResultPage(){
this.$router.push({
name:'resultPage',
params:{
score:this.severityScore * this.possibleScore
}
})
},
performTasks(){
......
......@@ -86,8 +86,8 @@
<van-field
required
clickable
name="deptId"
:value="form.deptId"
name="deptName"
:value="form.deptName"
label="评估小组选择"
placeholder="请选择"
@click="selectDept()"
......@@ -208,10 +208,10 @@
>{{ item[filedName] }}</van-checkbox
>
</van-checkbox-group>
<div>
<van-button type="primary" @click="checkAll">全选</van-button>
<van-button type="info" @click="toggleAll">反选</van-button>
</div>
<div style="display: flex;justify-content: space-around;">
<van-button native-type="button" type="primary" v-on:click="checkAll">全选</van-button>
<van-button native-type="button" type="info" @click="toggleAll">反选</van-button>
</div>
</van-popup>
......@@ -416,19 +416,9 @@ export default {
});
},
onRiskList(value) {
console.log(
"%c [ value ]-331",
"font-size:13px; background:pink; color:#bf2c9f;",
value
);
if (this.filedName == "nickName") {
this.form.workUserIds = this.filterField("userId", value).join();
this.form.workUserNames = this.filterField("nickName", value).join();
console.log(
"%c [ this.form.workUserNames ]-334",
"font-size:13px; background:pink; color:#bf2c9f;",
this.form.workUserNames
);
} else {
this.form.buildingIds = this.filterField("id", value).join();
this.form.buildingNames = this.filterField("name", value).join();
......@@ -440,9 +430,10 @@ export default {
selectDept() {
this.projectDept = true;
},
changeDept(id) {
changeDept(id, name) {
console.log(id);
this.form.deptId = id;
this.form.deptName = name;
},
closeDept() {
console.log(this.form.deptId);
......
......@@ -14,7 +14,7 @@
<div class="con-list">
<van-cell-group inset v-for="(item, index) in messageList" :key="index" @click="touchstart(index, item)">
<div style="font-size: 0.45rem;padding: 5px 0;">
{{ item.title }}
{{ item.name }}
</div>
<van-row gutter="">
<van-col span="17">
......
......@@ -14,7 +14,7 @@
finished-text="没有更多了"
@load="getInsideUser()"
>
<van-radio v-for="item in projectList" :name="item.id" :key="item.id" @click="selData(item)">
<van-radio style="margin: 0px 10px;" v-for="item in projectList" :name="item.id" :key="item.id" @click="selData(item)">
<van-cell :title="item.name" />
</van-radio>
</van-list>
......
<template>
<div>
<LHeader text="备注"></LHeader>
<van-field
v-model="messageText"
rows="10"
autosize
label="备注信息"
type="textarea"
maxlength="500"
placeholder="请输入备注信息"
show-word-limit
/>
<div
style="display: flex;
justify-content: space-around;
background-color: #fff;
border-top: 1px solid #e3e3e3;
height: 1.5rem;
width: 100%;
text-align: center;
position: fixed;
bottom: 0;"
>
<div
@click="appvore"
style="color: #4bced0;font-size: 14px;font-weight: 600;"
>
<div style="font-size: 22px;"><van-icon name="success" /></div>
<div>保存</div>
</div>
</div>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import { getFun, postFun } from "@/service/table.js";
export default {
name: "risk-appvore-text",
components: {
LHeader
},
data() {
return {
messageText: null,
result: null,
buildingIds: [],
planId: 0
};
},
created() {
this.result = this.$route.params.result;
this.buildingIds = this.$route.params.buildingIds;
this.planId = this.$route.params.planId;
},
methods: {
//审批
appvore() {
var buildingDtos = [];
for (let i = 0; i < this.buildingIds.length; i++) {
var buildingDto = {
buildingId: this.buildingIds[0],
taskResult: this.result,
taskOpinion: this.messageText
};
buildingDtos[i] = buildingDto;
}
console.log(buildingDtos);
var params = {
id: this.planId,
taskResult: this.result,
taskOpinion: this.messageText,
buildingDtos: buildingDtos
};
postFun("/risk/plan/approve", params)
.then(res => {
console.log(res);
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
this.$router.replace({
name: "riskApprove",
params: {}
});
}
},
watch: {}
};
</script>
This diff is collapsed.
......@@ -175,6 +175,7 @@ export default {
// buildingId: item.buildingId
}
});
sessionStorage.setItem("pathAuth", "riskApprove");
sessionStorage.setItem("planId", item.id);
sessionStorage.setItem("buildingId", "");
}
......
......@@ -278,20 +278,10 @@ export default {
}
});
sessionStorage.setItem("planId", item.id);
sessionStorage.setItem("pathAuth", "riskAssess");
sessionStorage.setItem("buildingId", item.buildingId);
this.showIndex = false;
},
// 详情
goDetail(data) {
this.$router.push({
name: "riskBigDetail",
params: {
id: data.businessId || data.id
}
});
this.showIndex = false;
},
// 确认
goConfirm(data) {
this.$router.push({
......
......@@ -277,6 +277,7 @@ export default {
buildingId: item.buildingId
}
});
sessionStorage.setItem("pathAuth", "riskExecution");
sessionStorage.setItem("planId", item.id);
sessionStorage.setItem("buildingId", item.buildingId);
this.showIndex = false;
......
......@@ -40,20 +40,24 @@
:key="index"
@click="touchstart(index, item)"
>
<div style="font-size: 0.45rem;padding: 5px 0;">{{item.name}}</div>
<div style="font-size: 0.45rem;padding: 5px 0;">
{{ item.name }}
</div>
<van-row gutter="">
<van-col span="17">
<van-row gutter="">
<van-col span="9">发起时间:</van-col>
<van-col span="15">{{timestampToTimes(item.startTime)||item.startTime }}</van-col>
<van-col span="15">{{
timestampToTimes(item.startTime) || item.startTime
}}</van-col>
</van-row>
<van-row gutter="">
<van-col span="9">处理人员:</van-col>
<van-col span="15">{{ item.leaderUserName }}</van-col>
</van-row>
</van-col>
<van-col span="7" :style="{'color':'#03b615'}">
<van-col span="7" :style="{ color: '#03b615' }">
{{ item.state }}
</van-col>
</van-row>
......@@ -67,7 +71,6 @@
<van-overlay :show="showIndex == index">
<div class="wrapper" @click.stop="showIndex = null">
<van-button round type="primary" @click="goDetail(item)"
>详情</van-button
>
<!-- <van-button round type="info" @click="goConfirm(item)" v-show="active==0"
......@@ -84,86 +87,87 @@
position: fixed;
top: 30%;
"
v-if="messageList['length']==0"
v-if="messageList['length'] == 0"
>
暂无数据
</div>
</div>
<!-- 暂无数据 -->
<!-- {{messageList}} -->
</van-tab>
</van-tabs>
<div style="width: 60px;position: fixed;right: 5%;top: 80%;" @click="handadd">
<img src="@/assets/accidentIcon/add.svg" alt="" width="100%" >
<div
style="width: 60px;position: fixed;right: 5%;top: 80%;"
@click="handadd"
>
<img src="@/assets/accidentIcon/add.svg" alt="" width="100%" />
</div>
</div>
</template>
</template>
<script>
import LHeader from "@/components/header.vue";
import { timestampToTime, generateId } from "@/utils/format";
import { getFun, postFun } from "@/service/table.js";
<script>
import LHeader from "@/components/header.vue";
import { timestampToTime, generateId } from "@/utils/format";
import { getFun, postFun } from "@/service/table.js";
// import { postriskConList } from "@/service/risk";
export default {
name:'risk-confirme',
export default {
name: "risk-confirme",
components: {
LHeader,
LHeader
},
data() {
return {
text: "任务管理",
searchValue: "",
isHaveNews: false,
messageList: [
],
messageList: [],
Loop: "", // 定时器
showIndex: null, // 是否显示遮罩层,
active: 0,
tabs: [
{
title: "待执行",
api: "/risk/plan/create/list?status=wait",
api: "/risk/plan/create/list?status=wait"
},
{
title: "执行中",
api: "/risk/plan/create/list?status=running",
api: "/risk/plan/create/list?status=running"
},
{
title: "已执行",
api: "/risk/plan/create/list?status=finish",
},
],
api: "/risk/plan/create/list?status=finish"
}
]
};
},
created() {
this.postList();
},
methods: {
timestampToTimes(time){
return timestampToTime(new Date(time),"DT1", true)
timestampToTimes(time) {
return timestampToTime(new Date(time), "DT1", true);
},
handadd(){
handadd() {
this.$router.push({
name: "riskAdd",
params: {
title:'新增'
},
})
title: "新增"
}
});
},
postList(select = "") {
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
duration: 0
});
// let formdata = new FormData();
// formdata.append("select", select);
getFun(this.tabs[this.active]['api'])
.then((res) => {
getFun(this.tabs[this.active]["api"])
.then(res => {
this.$toast.clear();
this.messageList =res.data||res.rows;
this.messageList = res.data || res.rows;
// 判断有无数据返回
if (this.messageList.length == 0) {
this.isHaveNews = true;
......@@ -191,10 +195,11 @@
this.$router.push({
name: "riskTaskList",
params: {
id: data.businessId ||data.id,
},
id: data.businessId || data.id
}
});
sessionStorage.setItem('planId',data.id)
sessionStorage.setItem("pathAuth", "riskManage");
sessionStorage.setItem("planId", data.id);
this.showIndex = null;
},
// 确认
......@@ -202,22 +207,21 @@
this.$router.push({
name: "risk-affirm",
params: {
data: data,
},
data: data
}
});
this.showIndex = null;
},
},
};
</script>
<style lang="less" scoped>
}
}
};
</script>
#app {
<style lang="less" scoped>
#app {
font-family: "";
color: #2c3e50;
}
.con-list {
}
.con-list {
padding: 0;
background-color: #f0f1f5;
.van-cell-group--inset {
......@@ -245,9 +249,8 @@
}
}
}
}
/deep/.van-tab__pane{
}
/deep/.van-tab__pane {
min-height: 8rem;
}
</style>
\ No newline at end of file
}
</style>
......@@ -11,34 +11,29 @@
>
<van-tab title="排序">
<template #title> 排序 <van-icon name="down" /></template>
<div
class="con-list"
>
<van-cell-group
inset
@click="touchstart(0)"
>
<div style="font-size: 0.45rem;padding: 5px 0;">项目评估任务单1</div>
<div class="con-list" >
<van-cell-group v-for="(item,index) in taskList" :key="index" inset @click="touchstart(index, item)" >
<div style="font-size: 0.45rem;padding: 5px 0;">{{item.name}}</div>
<van-row gutter="">
<van-col span="17">
<van-row gutter="">
<van-col span="9">发起时间:</van-col>
<van-col span="15">2023-07-05</van-col>
<van-col span="15">{{ timestampToTimes(item.startTime) }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="9">处理人员:</van-col>
<van-col span="15">孔德龙</van-col>
<van-col span="15">{{item.leaderUserName}}</van-col>
</van-row>
</van-col>
<van-col span="7" :style="{'color':'#03b615'}">
发起
{{item.state}}
</van-col>
</van-row>
<!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == 0">
<van-overlay :show="showIndex == index">
<div class="wrapper" @click.stop="showIndex = null">
<van-button round type="primary" @click="goDetail()"
<van-button round type="primary" @click="goDetail(item)"
>详情</van-button
>
</div>
......@@ -55,7 +50,8 @@
<script type="text/ecmascript-6">
import LHeader from "@/components/header.vue";
import { timestampToTime, generateId } from "@/utils/format";
import { getFun, postFun } from "@/service/table.js";
export default {
name:'taskLedger',//任务台账
data() {
......@@ -63,15 +59,25 @@ export default {
text:'任务台账',
active: 0,
showIndex: null, // 是否显示遮罩层,
taskList: [], // 是否显示遮罩层,
}
},
components: {
LHeader,
},
mounted() {
this.getList()
},
methods: {
timestampToTimes(time) {
return timestampToTime(new Date(time), "DT2", true);
},
getList(){
getFun('/risk/plan/details/list').then(res=>{
console.log('%c [ res ]-77', 'font-size:13px; background:pink; color:#bf2c9f;', res)
this.taskList=res.data
})
},
//点击列表
touchstart(index, item) {
if (this.showIndex != null) {
......@@ -81,11 +87,11 @@ export default {
this.showIndex = index;
},
// 详情
goDetail(){
goDetail(item){
this.$router.push({
name: "taskDetail",
name: "riskTaskList",
params: {
id:'',
id:item.id,
},
});
}
......
This diff is collapsed.
......@@ -4,29 +4,32 @@
<LHeader :text="text"></LHeader>
</van-sticky>
<div class="section">
<van-tabs v-model="activeName" color="#2980f7" animated >
<van-tabs v-model="activeName" color="#2980f7" animated @click="onClick">
<van-tab title="固有风险信息" name="a">
<TabDetail :InherentRisk="InherentRisk"/>
</van-tab>
<van-tab title="现状风险" name="b">
<van-cell-group
inset
v-for="(item, index) in quoRiskList"
:key="index"
>
<div class="quolist">
<van-cell-group style="padding: 10px;box-sizing: border-box;background-color: #fff;margin: 8px;border-radius: 10px;" v-for="(item, index) in quoRiskList" :key="index" @click="goDetail(item)">
<div style="font-size: 0.45rem;padding: 5px 0;">
{{ item.name }}
</div>
<van-row gutter="">
<van-row gutter="4">
<van-col span="17">
<van-row gutter="">
<van-col span="9">创建人:</van-col>
<van-col span="15">{{ item.leaderUserName }}</van-col>
<van-col span="9">风险系数:</van-col>
<van-col span="15">{{ item.coefficient }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="9">创建时间:</van-col>
<van-col span="15">{{
timestampToTimes(item.createTime)
}}</van-col>
</van-row>
<van-row gutter="">
<van-col span="9">发起时间</van-col>
<van-col span="9">风险描述</van-col>
<van-col span="15">{{
timestampToTimes(item.startTime)
item.describe
}}</van-col>
</van-row>
</van-col>
......@@ -34,20 +37,21 @@
<van-row>
{{ item.state }}
</van-row>
<van-row>
<van-button
type="info"
size="mini"
@click="todetail(index, item)"
>{{ active == 2 ? "去处理" : "去审批" }}</van-button
>
<van-row type="flex" style="flex-direction: column;align-items: center;">
<van-col>
<van-image round width="34" height="34" src="https://img01.yzcdn.cn/vant/cat.jpeg" />
</van-col>
<van-col>
{{ item.userName }}
</van-col>
</van-row>
</van-col>
</van-row>
</van-cell-group>
</div>
</van-tab>
<van-tab title="四色图" name="c">
<drawCanvas/>
<drawCanvas />
</van-tab>
</van-tabs>
</div>
......@@ -57,33 +61,67 @@
<script type="text/ecmascript-6">
import LHeader from "@/components/header.vue";
import drawCanvas from '@/views/drawCanvas/riskView.vue'
import TabDetail from "./tabDetail.vue"
import { getFun, postFun } from "@/service/table.js";
import { timestampToTime } from "@/utils/format";
export default {
name: 'taskDetail',
data() {
return {
text: "固有风险列表",
activeName: 'a',
quoRiskList:[],//现状风险列表
InherentRisk:[],//固有风险
inherentId:''
quoRiskList: [],//现状风险列表
InherentRisk: {},//固有风险
inherentId: ''
}
},
components: {
LHeader,
drawCanvas
drawCanvas,
TabDetail
},
created(){
created() {
this.inherentId = this.$route.params.id
},
mounted() {
this.getInherentRiskList(this.$route.params.id)
this.getQuoRiskList(this.$route.params.id)
},
methods: {
getQuoRiskList(inherentId){
getFun(`/risk/plan/existing/list/${inherentId}`).then(res=>{
getInherentRiskList(inherentId){
getFun(`/risk/plan/inherent/details/${inherentId}`).then(res=>{
this.InherentRisk= res.data
})
},
getQuoRiskList(inherentId) {
getFun(`/risk/plan/existing/list/${inherentId}`).then(res => {
this.quoRiskList = res.data
})
},
timestampToTimes(time) {
return timestampToTime(new Date(time), "DT2", true);
},
goDetail(item){
console.log(item,'???')
this.$router.push({
name:'addPresent',
params:{
isView:false,
// buildingId:,
// planId:,
// floorId:,
// roomId:,
// inherentId:,
// roomName:,
}
})
},
onClick(name){
if(name==='a'){
this.getQuoRiskList(this.$route.params.id)
}else if(name==='b'){
this.getInherentRiskList(this.$route.params.id)
}
}
},
}
......@@ -100,4 +138,8 @@ export default {
height: 100%;
overflow-y: auto;
}
.quolist{
padding: 10px;
box-sizing: border-box;
}
</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