Commit fac45351 authored by xinzhedeai's avatar xinzhedeai

add:隐患详情整改ui构建,隐患审核tablist修改

parent 271dd0e5
...@@ -35,8 +35,8 @@ axios.defaults.headers.common['Authorization'] = ...@@ -35,8 +35,8 @@ axios.defaults.headers.common['Authorization'] =
// 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNTcyMTAzMTg4NiIsImxvZ2luX3VzZXJfa2V5IjoiNGJjY2JjYzUtNmY0Yy00ZDhlLWJiYzEtZjYzMzVlZDBlZTgwIn0.j3jEfHzeu3kklm60kKCirwwyKaWD51ABicOzxEnuFOfGe63FFqYOQ122ojAhukbInnKj4try3DjrST6wNDVjVQ' // 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNTcyMTAzMTg4NiIsImxvZ2luX3VzZXJfa2V5IjoiNGJjY2JjYzUtNmY0Yy00ZDhlLWJiYzEtZjYzMzVlZDBlZTgwIn0.j3jEfHzeu3kklm60kKCirwwyKaWD51ABicOzxEnuFOfGe63FFqYOQ122ojAhukbInnKj4try3DjrST6wNDVjVQ'
// admin账号token // admin账号token
// axios.defaults.headers.common['Authorization'] = axios.defaults.headers.common['Authorization'] =
// 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImxvZ2luX3VzZXJfa2V5IjoiOTEyODc0N2ItNGE4NC00MWRjLTg0ZGUtZTY1ODNkMzBiNDcwIn0.w_JRlifng-sUQqvGnuRFH5-wiL-1tfwI1cF7E97gjaOZ37bvRQld3120Myf9MYqLtVHUVX_vhlcBj7Kmg9exZw' 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImxvZ2luX3VzZXJfa2V5IjoiOTEyODc0N2ItNGE4NC00MWRjLTg0ZGUtZTY1ODNkMzBiNDcwIn0.w_JRlifng-sUQqvGnuRFH5-wiL-1tfwI1cF7E97gjaOZ37bvRQld3120Myf9MYqLtVHUVX_vhlcBj7Kmg9exZw'
// 请求拦截器 // 请求拦截器
......
...@@ -11,16 +11,16 @@ if (window.env == 'dev') { ...@@ -11,16 +11,16 @@ if (window.env == 'dev') {
// axios.defaults.headers.common['Authorization'] = // axios.defaults.headers.common['Authorization'] =
// 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiLmtojotLnogIUiLCJsb2dpbl91c2VyX2tleSI6ImExNWIwMDNjLWRlYWItNGU2MC04ODg4LTJiODNjMzVkNDUzNSJ9.l6gHzFX-U5rKGJ7zoDA4jMBIxkhVgCjWr5ynFg1DR6xspM9Ls6raTxyEo2Kr61UbG2UD6P2kN63vF_U8nX8afg' // 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiLmtojotLnogIUiLCJsb2dpbl91c2VyX2tleSI6ImExNWIwMDNjLWRlYWItNGU2MC04ODg4LTJiODNjMzVkNDUzNSJ9.l6gHzFX-U5rKGJ7zoDA4jMBIxkhVgCjWr5ynFg1DR6xspM9Ls6raTxyEo2Kr61UbG2UD6P2kN63vF_U8nX8afg'
// 商户token // 商户token
axios.defaults.headers.common['Authorization'] = // axios.defaults.headers.common['Authorization'] =
'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiLlvKDlrZ3lvakiLCJsb2dpbl91c2VyX2tleSI6IjNjMmRiMWFiLWIyZGMtNDBjYi04YjM5LWRiNTJmM2VmYzNkYyJ9.sfZyPP-COShNCjwxKR26zGDsPHXss97gu7JEpaMapIZyMQEsxzMigVickcqdhaqDwTRcfr0IxAj64vnrriS9Cw' // 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiLlvKDlrZ3lvakiLCJsb2dpbl91c2VyX2tleSI6IjNjMmRiMWFiLWIyZGMtNDBjYi04YjM5LWRiNTJmM2VmYzNkYyJ9.sfZyPP-COShNCjwxKR26zGDsPHXss97gu7JEpaMapIZyMQEsxzMigVickcqdhaqDwTRcfr0IxAj64vnrriS9Cw'
// 凯丽 // 凯丽
// axios.defaults.headers.common['Authorization'] = // axios.defaults.headers.common['Authorization'] =
// 'Bearer eyJhbGciOiJlUzUxMiJ9.eyJzdWlioilxNZ92MZAzMDl00SlslmxyZ2luX3VzZXJfa2V5ljoiMEONTM1NzktNTJiMSO0N2QwLTkzNmEtMmViNWFhYzMzMTI1In0.EG_EwS7xS1jgi29Ly7WXOJBCW4DcAyOtLD4he06sV8b4i70kknNQqVAx063NpcDa5kmTFdZ6zEfPHYPfVR4dEO' // 'Bearer eyJhbGciOiJlUzUxMiJ9.eyJzdWlioilxNZ92MZAzMDl00SlslmxyZ2luX3VzZXJfa2V5ljoiMEONTM1NzktNTJiMSO0N2QwLTkzNmEtMmViNWFhYzMzMTI1In0.EG_EwS7xS1jgi29Ly7WXOJBCW4DcAyOtLD4he06sV8b4i70kknNQqVAx063NpcDa5kmTFdZ6zEfPHYPfVR4dEO'
// admin账号token // admin账号token
// axios.defaults.headers.common['Authorization'] = axios.defaults.headers.common['Authorization'] =
// 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImxvZ2luX3VzZXJfa2V5IjoiOTEyODc0N2ItNGE4NC00MWRjLTg0ZGUtZTY1ODNkMzBiNDcwIn0.w_JRlifng-sUQqvGnuRFH5-wiL-1tfwI1cF7E97gjaOZ37bvRQld3120Myf9MYqLtVHUVX_vhlcBj7Kmg9exZw' 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImxvZ2luX3VzZXJfa2V5IjoiOTEyODc0N2ItNGE4NC00MWRjLTg0ZGUtZTY1ODNkMzBiNDcwIn0.w_JRlifng-sUQqvGnuRFH5-wiL-1tfwI1cF7E97gjaOZ37bvRQld3120Myf9MYqLtVHUVX_vhlcBj7Kmg9exZw'
}else{ }else{
axios.defaults.baseURL = 'https://gqyjpt.weihai.cn/prod-api' axios.defaults.baseURL = 'https://gqyjpt.weihai.cn/prod-api'
......
...@@ -77,6 +77,7 @@ body { ...@@ -77,6 +77,7 @@ body {
.van-form .van-field__label { .van-form .van-field__label {
width: 1.8rem; width: 1.8rem;
} }
.van-form .van-field__control { .van-form .van-field__control {
text-align: right; text-align: right;
padding-right: 0.3rem; padding-right: 0.3rem;
...@@ -86,6 +87,7 @@ body { ...@@ -86,6 +87,7 @@ body {
.van-form .van-cell__value { .van-form .van-cell__value {
background: #fff; background: #fff;
} }
.yh_desc { .yh_desc {
width: 6.2rem; width: 6.2rem;
min-height: 0.68rem; min-height: 0.68rem;
...@@ -139,8 +141,7 @@ body { ...@@ -139,8 +141,7 @@ body {
margin: 0.3rem 0px 0.1rem 0.3rem; margin: 0.3rem 0px 0.1rem 0.3rem;
} }
.item-number { .item-number {}
}
.item-title { .item-title {
font-size: 0.28rem; font-size: 0.28rem;
...@@ -173,6 +174,7 @@ body { ...@@ -173,6 +174,7 @@ body {
background: #f5f6fa; background: #f5f6fa;
padding: 0.1rem 0.3rem; padding: 0.1rem 0.3rem;
} }
/* 图片预览大小 */ /* 图片预览大小 */
.expand-section .van-uploader__preview-image { .expand-section .van-uploader__preview-image {
display: block; display: block;
...@@ -255,7 +257,7 @@ body { ...@@ -255,7 +257,7 @@ body {
padding-right: 0.2rem; padding-right: 0.2rem;
} }
.bottom_bar > div { .bottom_bar>div {
/* display: grid; /* display: grid;
grid-template-columns: auto auto 0.6fr;*/ grid-template-columns: auto auto 0.6fr;*/
display: flex; display: flex;
...@@ -266,7 +268,7 @@ body { ...@@ -266,7 +268,7 @@ body {
width: 100vw; width: 100vw;
} }
.bottom_bar > div > span { .bottom_bar>div>span {
font-weight: 500; font-weight: 500;
font-size: 0.28rem; font-size: 0.28rem;
color: #545454; color: #545454;
...@@ -274,7 +276,7 @@ body { ...@@ -274,7 +276,7 @@ body {
/* width: 1.8rem; */ /* width: 1.8rem; */
} }
.bottom_bar > div > span:before { .bottom_bar>div>span:before {
display: inline-block; display: inline-block;
width: 0.3rem; width: 0.3rem;
height: 0.3rem; height: 0.3rem;
...@@ -285,11 +287,11 @@ body { ...@@ -285,11 +287,11 @@ body {
margin-right: 0.1rem; margin-right: 0.1rem;
} }
.bottom_bar > div > span:first-child:before { .bottom_bar>div>span:first-child:before {
background-image: url('../image/code/check_num.png'); background-image: url('../image/code/check_num.png');
} }
.bottom_bar > div > span:nth-child(2):before { .bottom_bar>div>span:nth-child(2):before {
background-image: url('../image/code/yh_num.png'); background-image: url('../image/code/yh_num.png');
} }
...@@ -304,7 +306,8 @@ body { ...@@ -304,7 +306,8 @@ body {
padding-left: 0.2rem; padding-left: 0.2rem;
background-color: #fff; background-color: #fff;
} }
.textareaEle{
.textareaEle {
border: 0.01rem solid #d8d8d8; border: 0.01rem solid #d8d8d8;
border-radius: 2px; border-radius: 2px;
font-size: .28rem; font-size: .28rem;
...@@ -312,76 +315,95 @@ body { ...@@ -312,76 +315,95 @@ body {
padding: .15rem; padding: .15rem;
} }
.content h5{ .content h5 {
margin-top: 0.3rem; margin-top: 0.3rem;
margin-bottom: 0.3rem; margin-bottom: 0.3rem;
font-family: PingFang SC; font-family: PingFang SC;
} }
.footer-bar{ .footer-bar {
display: flex; justify-content: space-around; display: flex;
justify-content: space-around;
margin-top: .5rem; margin-top: .5rem;
} }
.footer-bar .van-button--info{
width:2rem; .footer-bar .van-button--info {
} width: 2rem;
}
/* 隐患整改模块 */ /* 隐患整改模块 */
.rectification-module { .rectification-module {
padding: 0.3rem; /* 上下左右内边距30px */ padding: 0.3rem;
/* 上下左右内边距30px */
background: #fff; background: #fff;
margin-bottom: 0.2rem; /* 底部边距20px */ margin-bottom: 0.2rem;
/* 底部边距20px */
overflow: hidden;
} }
.module-header { .module-header {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 0.15rem; /* 图标与标题间距15px */ gap: 0.15rem;
margin-bottom: 0.3rem; /* 模块标题与内容间距30px */ /* 图标与标题间距15px */
margin-bottom: 0.3rem;
/* 模块标题与内容间距30px */
} }
.module-icon { .module-icon {
width: 0.4rem; /* 图标宽度40px */ width: 0.4rem;
height: 0.4rem; /* 图标高度40px */ /* 图标宽度40px */
height: 0.4rem;
/* 图标高度40px */
} }
.module-title { .module-title {
font-size: 0.32rem; /* 标题字体32px */ font-size: 0.28rem;
/* 标题字体32px */
font-weight: bold; font-weight: bold;
color: #333; color: #00B55E;
} }
.timeline-list { .timeline-list {
padding-left: 0.3rem; /* 时间线左侧内边距30px */ padding-left: 0.3rem;
/* 时间线左侧内边距30px */
} }
.timeline-item { .timeline-item {
display: flex; display: flex;
margin-bottom: 0.4rem; /* 时间线项间距40px */ margin-bottom: 0.4rem;
/* 时间线项间距40px */
} }
.timeline-marker { .timeline-marker {
position: relative; position: relative;
width: 0.4rem; /* 左侧标记区域宽度40px */ width: 0.4rem;
margin-right: 0.2rem; /* 标记与内容间距20px */ /* 左侧标记区域宽度40px */
margin-right: 0.2rem;
/* 标记与内容间距20px */
} }
.marker-dot { .marker-dot {
width: 0.2rem; /* 时间点直径20px */ width: 0.2rem;
/* 时间点直径20px */
height: 0.2rem; height: 0.2rem;
background: #1989fa; background: #1989fa;
border-radius: 50%; border-radius: 50%;
position: absolute; position: absolute;
left: 0; left: 0;
top: 0.05rem; /* 时间点垂直偏移5px */ top: 0.05rem;
/* 时间点垂直偏移5px */
} }
.marker-line { .marker-line {
width: 0.02rem; /* 时间线宽度2px */ width: 0.02rem;
/* 时间线宽度2px */
height: 100%; height: 100%;
background: #e5e7eb; background: #e5e7eb;
margin-left: 0.09rem; /* 时间线水平居中 */ margin-left: 0.09rem;
margin-top: 0.25rem; /* 时间线顶部偏移25px */ /* 时间线水平居中 */
margin-top: 0.25rem;
/* 时间线顶部偏移25px */
} }
.timeline-content { .timeline-content {
...@@ -389,67 +411,109 @@ body { ...@@ -389,67 +411,109 @@ body {
} }
.rectification-date { .rectification-date {
color: #666; color: #000;
font-size: 0.28rem; /* 日期字体28px */ font-size: 0.28rem;
margin-bottom: 0.15rem; /* 日期与图片间距15px */ /* 日期字体28px */
margin-bottom: 0.15rem;
/* 日期与图片间距15px */
font-weight: 500;
} }
.rectification-images { .rectification-images {
display: flex; display: flex;
gap: 0.2rem; /* 图片间距20px */ gap: 0.2rem;
margin-bottom: 0.2rem; /* 图片与状态容器间距20px */ /* 图片间距20px */
margin-bottom: 0.2rem;
/* 图片与状态容器间距20px */
} }
.rect-image { .rect-image {
width: 1.2rem; /* 图片宽度120px */ width: 1.2rem;
height: 1.2rem; /* 图片高度120px */ /* 图片宽度120px */
height: 1.2rem;
/* 图片高度120px */
object-fit: cover; object-fit: cover;
border-radius: 0.08rem; /* 图片圆角8px */ border-radius: 0.08rem;
/* 图片圆角8px */
} }
.status-container { .status-container {
border-radius: 0.08rem; /* 状态容器圆角8px */ border-radius: 0.08rem;
padding: 0.2rem; /* 状态容器内边距20px */ /* 状态容器圆角8px */
padding: 0.2rem;
/* 状态容器内边距20px */
} }
/* 审批拒绝状态 */ /* 审批拒绝状态 */
.reject-status { .reject-status {
background: #fef2f2; background: #fef2f2;
border: 0.02rem solid #fee2e2; /* 边框宽度2px */ border: 0.02rem solid #fee2e2;
/* 边框宽度2px */
padding: .1rem .24rem;
position: relative;
} }
.reject-status .status-tag { .reject-status .status-tag {
position: absolute;
right: .2rem;
top: 0.2rem;
background: #ef4444; background: #ef4444;
color: #fff; color: #fff;
font-size: 0.24rem; /* 标签字体24px */ font-size: 0.24rem;
padding: 0.04rem 0.12rem; /* 标签内边距4px 12px */ /* 标签字体24px */
border-radius: 0.04rem; /* 标签圆角4px */ padding: 0.09rem 0.12rem;
/* 标签内边距4px 12px */
border-radius: 0.04rem;
/* 标签圆角4px */
}
.reject-status>.status-content>p {
font-weight: 500;
font-size: 0.28rem;
color: #545454;
} }
/* 待审批状态 */ /* 待审批状态 */
.pending-status { .pending-status {
border: 0.02rem solid #fcd34d; /* 边框宽度2px */ border: 0.02rem solid #fcd34d;
/* 边框宽度2px */
background: #fffbeb; background: #fffbeb;
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
padding: 0.12rem;
} }
.pending-status .status-tag { .pending-status .status-tag {
color: #f59e0b; color: #fff;
font-size: 0.24rem; /* 标签字体24px */ background: #FF9415;
font-weight: 500;
font-size: 0.24rem;
padding: .1rem .3rem;
} }
/* 审批通过状态 */ /* 审批通过状态 */
.approve-status { .approve-status {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
padding: 0.12rem;
align-items: center; align-items: center;
background: #f0f9ff; background: #f0f9ff;
border: 0.02rem solid #e0f2fe; /* 边框宽度2px */ border: 0.02rem solid #e0f2fe;
/* 边框宽度2px */
} }
.approve-status .status-tag { .approve-status .status-tag {
color: #0ea5e9; color: #fff;
font-size: 0.24rem; /* 标签字体24px */ background: #00B55E;
font-weight: bold; font-weight: 500;
font-size: 0.24rem;
padding: .1rem .1rem;
display: inline-block;
width: 1.2rem;
}
.approve-status>.status-content>p {
font-weight: 500;
font-size: 0.28rem;
color: #545454;
} }
\ No newline at end of file
...@@ -2,27 +2,13 @@ ...@@ -2,27 +2,13 @@
<html lang="zh-CN"> <html lang="zh-CN">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<meta <meta http-equiv="X-UA-Compatible" content="IE=edge" />
http-equiv="X-UA-Compatible" <meta name="viewport"
content="IE=edge" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0, viewprot-fit:cover" />
/>
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0, viewprot-fit:cover"
/>
<title>消防安全检查清单</title> <title>消防安全检查清单</title>
<script <script type="text/javascript" src="../sdk/includeHead.js"></script>
type="text/javascript" <script type="text/javascript" src="../sdk/axios_http3.js"></script>
src="../sdk/includeHead.js" <script type="text/javascript" src="_check_info_data.js"></script>
></script>
<script
type="text/javascript"
src="../sdk/axios_http3.js"
></script>
<script
type="text/javascript"
src="_check_info_data.js"
></script>
<!-- <script type="text/javascript" src="_check_info_data_detail.js"></script> <!-- <script type="text/javascript" src="_check_info_data_detail.js"></script>
<script type="text/javascript" src="_check_info_data_detail_yh.js"></script> --> <script type="text/javascript" src="_check_info_data_detail_yh.js"></script> -->
...@@ -31,72 +17,47 @@ ...@@ -31,72 +17,47 @@
<body> <body>
<!-- 原 HTML 主体内容保持不变 --> <!-- 原 HTML 主体内容保持不变 -->
<div id="app"> <div id="app">
<div <div class="checklist-header" v-cloak>
class="checklist-header"
v-cloak
>
<p v-if="flag=='ADD'"> <p v-if="flag=='ADD'">
1.不合格或不满足等选择“否”的检查项,需将问题进行拍照上传,并描述问题详情。<br /> 1.不合格或不满足等选择“否”的检查项,需将问题进行拍照上传,并描述问题详情。<br />
2.检查人员对管辖范围内企业安全情况负责,需如实上报。 2.检查人员对管辖范围内企业安全情况负责,需如实上报。
</p> </p>
<h5>九小场所安全检查清单</h5> <h5>九小场所安全检查清单</h5>
</div> </div>
<div <div class="checklist-container" v-cloak>
class="checklist-container"
v-cloak
>
<div class="item_title">{{ checkData?.[checkPageIndex]?.name }}</div> <div class="item_title">{{ checkData?.[checkPageIndex]?.name }}</div>
<div <div v-for="(item, index) in checkData?.[checkPageIndex]?.['gqCheckItemList']" :key="item.id"
v-for="(item, index) in checkData?.[checkPageIndex]?.['gqCheckItemList']" class="check-item">
:key="item.id"
class="check-item"
>
<div class="item-header"> <div class="item-header">
<!-- <div class="item-number">{{ index + 1 }}</div> --> <!-- <div class="item-number">{{ index + 1 }}</div> -->
<div class="item-title">{{ item.id }}.{{ item.name }}</div> <div class="item-title">{{ item.id }}.{{ item.name }}</div>
</div> </div>
<!-- 单选按钮组 --> <!-- 单选按钮组 -->
<van-radio-group <van-radio-group v-model="item.itemAnswer" @change="handleSelectionChange($event, item, index)"
v-model="item.itemAnswer" :disabled="flag!=='ADD'" direction="horizontal">
@change="handleSelectionChange($event, item, index)"
:disabled="flag!=='ADD'"
direction="horizontal"
>
<van-radio :name="1"></van-radio> <van-radio :name="1"></van-radio>
<van-radio :name="2"></van-radio> <van-radio :name="2"></van-radio>
<van-radio :name="3">不涉及</van-radio> <van-radio :name="3">不涉及</van-radio>
</van-radio-group> </van-radio-group>
<!-- 否选项扩展内容 --> <!-- 否选项扩展内容 -->
<div <div v-show="item.itemAnswer === 2" class="expand-section">
v-show="item.itemAnswer === 2"
class="expand-section"
>
<div> <div>
<!-- 子检查项 --> <!-- 子检查项 -->
<div class="sub-checkbox-group"> <div class="sub-checkbox-group">
<van-cell v-if="item.itemType==1"> <van-cell v-if="item.itemType==1">
<van-checkbox <van-checkbox v-for="(subItem, subIndex) in item.gqCheckQuestionList"
v-for="(subItem, subIndex) in item.gqCheckQuestionList" :key="subIndex" v-model="subItem.check" shape="square" :disabled="flag!=='ADD'">
:key="subIndex"
v-model="subItem.check"
shape="square"
:disabled="flag!=='ADD'"
>
{{ subItem.name}} {{ subItem.name}}
</van-checkbox> </van-checkbox>
</van-cell> </van-cell>
<van-cell v-if="item.itemType==2"> <van-cell v-if="item.itemType==2">
<div class="limit_date_wrapper"> <div class="limit_date_wrapper">
<span>住宿人数:</span> <span>住宿人数:</span>
<input <input type="text" v-model="item.gqCheckQuestionList[0].content"
type="text" :disabled="flag!=='ADD'" maxlength="3"
v-model="item.gqCheckQuestionList[0].content" style="width: 0.8rem; height: 0.4rem; text-align: center" />
:disabled="flag!=='ADD'"
maxlength="3"
style="width: 0.8rem; height: 0.4rem; text-align: center"
/>
</div> </div>
</van-cell> </van-cell>
</div> </div>
...@@ -104,11 +65,7 @@ ...@@ -104,11 +65,7 @@
<!-- 隐患描述-新增情况 --> <!-- 隐患描述-新增情况 -->
<van-cell-group v-if="flag=='ADD'"> <van-cell-group v-if="flag=='ADD'">
<p class="title_require">请输入隐患描述</p> <p class="title_require">请输入隐患描述</p>
<van-field <van-field v-model="item.description" type="textarea" rows="1"></van-field>
v-model="item.description"
type="textarea"
rows="1"
></van-field>
</van-cell-group> </van-cell-group>
<!-- 隐患描述-非新增情况 --> <!-- 隐患描述-非新增情况 -->
<van-cell-group v-if="flag!=='ADD'"> <van-cell-group v-if="flag!=='ADD'">
...@@ -118,15 +75,11 @@ ...@@ -118,15 +75,11 @@
<!-- 照片上传 --> <!-- 照片上传 -->
<van-cell-group v-if="flag=='ADD'"> <van-cell-group v-if="flag=='ADD'">
<van-cell <van-cell><span class="title_require">请上传隐患图片:</span><span
><span class="title_require">请上传隐患图片:</span><span style="color: red">(格式png/jpg/jpeg,最多4张)</span> style="color: red">(格式png/jpg/jpeg,最多4张)</span>
<div> <div>
<van-uploader <van-uploader v-model="item.photos" :max-count="4"
v-model="item.photos" :after-read="handleFileUpload" class="uploader-wrapper" />
:max-count="4"
:after-read="handleFileUpload"
class="uploader-wrapper"
/>
</div> </div>
</van-cell> </van-cell>
</van-cell-group> </van-cell-group>
...@@ -135,31 +88,22 @@ ...@@ -135,31 +88,22 @@
<van-cell> <van-cell>
<span class="">隐患图片:</span> <span class="">隐患图片:</span>
<div> <div>
<img <img v-for="(imgItem, subIndex) in item.hiddenImageUrlList" :src="imgItem"
v-for="(imgItem, subIndex) in item.hiddenImageUrlList" alt="" style="width: 1.2rem; height: 1.2rem; margin-right: 0.2rem"
:src="imgItem" @click="showImage(item.hiddenImageUrlList,subIndex)" />
alt=""
style="width: 1.2rem; height: 1.2rem; margin-right: 0.2rem"
@click="showImage(item.hiddenImageUrlList,subIndex)"
/>
</div> </div>
</van-cell> </van-cell>
</van-cell-group> </van-cell-group>
<van-cell-group v-if="item?.rectificationImageUrlList?.length"> <van-cell-group v-if="item?.rectificationImageUrlList?.length">
<van-cell <van-cell><span class="">整改情况:</span>
><span class="">整改情况:</span>
<div> <div>
<img <img v-for="(imgItem, subIndex) in item.rectificationImageUrlList"
v-for="(imgItem, subIndex) in item.rectificationImageUrlList" :src="imgItem" alt=""
:src="imgItem"
alt=""
style="width: 1.2rem; height: 1.2rem; margin-right: 0.2rem" style="width: 1.2rem; height: 1.2rem; margin-right: 0.2rem"
@click="showImage(item.rectificationImageUrlList,subIndex)" @click="showImage(item.rectificationImageUrlList,subIndex)" />
/>
</div> </div>
</van-cell> </van-cell>
<van-cell <van-cell><span class="">整改日期:</span>
><span class="">整改日期:</span>
<div> <div>
<span>{{item.rectificationDate}}</span> <span>{{item.rectificationDate}}</span>
</div> </div>
...@@ -167,17 +111,13 @@ ...@@ -167,17 +111,13 @@
</van-cell-group> </van-cell-group>
<van-cell-group v-if="(flag=='0' || flag=='3') && userType=='shop'"> <van-cell-group v-if="(flag=='0' || flag=='3') && userType=='shop'">
<van-cell <van-cell><span class="title_require">请上传整改图片:</span><span
><span class="title_require">请上传整改图片:</span><span style="color: red">(格式png/jpg/jpeg,最多4张)</span> style="color: red">(格式png/jpg/jpeg,最多4张)</span>
<!-- <div> <!-- <div>
<van-uploader style="width: 80px; height:80px;" v-model="item.photos" multiple <van-uploader style="width: 80px; height:80px;" v-model="item.photos" multiple
:max-count="4" :after-read="handleFileUpload" class="uploader-wrapper" /> :max-count="4" :after-read="handleFileUpload" class="uploader-wrapper" />
</div> --> </div> -->
<van-uploader <van-uploader v-model="item.photos" multiple :max-count="4" />
v-model="item.photos"
multiple
:max-count="4"
/>
</van-cell> </van-cell>
</van-cell-group> </van-cell-group>
...@@ -186,12 +126,8 @@ ...@@ -186,12 +126,8 @@
<van-cell> <van-cell>
<div class="limit_date_wrapper"> <div class="limit_date_wrapper">
<span class="title_require">整改期限:</span> <span class="title_require">整改期限:</span>
<select <select class="day_select" name="" v-model="item.deadlineDays"
class="day_select" @change="handleDeadlineConfirm($event, item)">
name=""
v-model="item.deadlineDays"
@change="handleDeadlineConfirm($event, item)"
>
<option value="1">1</option> <option value="1">1</option>
<option value="3">3</option> <option value="3">3</option>
<option value="5">5</option> <option value="5">5</option>
...@@ -204,83 +140,35 @@ ...@@ -204,83 +140,35 @@
</div> </div>
</div> </div>
</div> </div>
<van-form v-if="checkPageIndex == (checkData?.length-1)">
<van-cell>
<van-field
label="检查人员"
v-model="checkPeopleName"
readonly
/>
</van-cell>
<van-cell>
<van-field
label="检查日期"
v-model="checkDate"
readonly
/>
</van-cell>
<van-cell v-if="flag!='ADD'&&flag!='JC_XQ'">
<van-field
label="整改截止日期"
v-model="rectificationDeadline"
readonly
/>
</van-cell>
<div v-if="flag=='0' || flag=='1' || flag=='3'">
<van-cell>
<van-field
label="审核日期"
v-model="reviewDate"
readonly
/>
</van-cell>
<van-cell>
<van-field
label="审核记录"
v-model="reviewRecord"
readonly
/>
</van-cell>
</div>
</van-form>
<!-- 新增隐患整改模块 --> <!-- 新增隐患整改模块 -->
<div class="rectification-module"> <div class="rectification-module">
<!-- 模块标题 --> <!-- 模块标题 -->
<div class="module-header"> <div class="module-header">
<img src="../assets/rectification-icon.png" alt="整改图标" class="module-icon"> <img src="../image/code/zhenggai-title.png" alt="整改图标" class="module-icon">
<h4 class="module-title">隐患整改</h4> <h4 class="module-title">隐患整改</h4>
</div> </div>
<!-- 时间线进度列表 --> <!-- 时间线进度列表 -->
<div class="timeline-list"> <div class="timeline-list">
<!-- 遍历整改记录 --> <!-- 遍历整改记录 -->
<div <div v-for="(record, index) in rectificationRecords" :key="index" class="timeline-item">
v-for="(record, index) in rectificationRecords"
:key="index"
class="timeline-item"
>
<!-- 时间线左侧标记(点+线) --> <!-- 时间线左侧标记(点+线) -->
<div class="timeline-marker"> <div class="timeline-marker">
<div class="marker-dot"></div> <div class="marker-dot"></div>
<div class="marker-line" v-if="index !== rectificationRecords.length - 1"></div> <div class="marker-line"></div>
</div> </div>
<!-- 时间线内容 --> <!-- 时间线内容 -->
<div class="timeline-content"> <div class="timeline-content">
<!-- 整改日期 --> <!-- 整改日期 -->
<p class="rectification-date">{{ record.rectificationDate }}</p> <p class="rectification-date">整改日期:{{ record.rectificationDate }}</p>
<!-- 整改图片 --> <!-- 整改图片 -->
<div class="rectification-images"> <div class="rectification-images">
<img <img v-for="(img, i) in record.images" :key="i"
v-for="(img, i) in record.images" src="../image/code/zhenggai-title.png" alt="整改图"
:key="i" @click="showImage(record.images, i)" class="rect-image">
:src="img"
alt="整改图"
@click="showImage(record.images, i)"
class="rect-image"
>
</div> </div>
<!-- 状态容器(三种类型) --> <!-- 状态容器(三种类型) -->
...@@ -312,30 +200,47 @@ ...@@ -312,30 +200,47 @@
</div> </div>
</div> </div>
<van-form v-if="checkPageIndex == (checkData?.length-1)">
<van-cell>
<van-field label="检查人员" v-model="checkPeopleName" readonly />
</van-cell>
<van-cell>
<van-field label="检查日期" v-model="checkDate" readonly />
</van-cell>
<van-cell v-if="flag!='ADD'&&flag!='JC_XQ'">
<van-field label="整改截止日期" v-model="rectificationDeadline" readonly />
</van-cell>
<div v-if="flag=='0' || flag=='1' || flag=='3'">
<van-cell>
<van-field label="审核日期" v-model="reviewDate" readonly />
</van-cell>
<van-cell>
<van-field label="审核记录" v-model="reviewRecord" readonly />
</van-cell>
</div>
</van-form>
<!-- 拒绝弹窗 --> <!-- 拒绝弹窗 -->
<van-action-sheet v-model="show4jujue" title=" "> <van-action-sheet v-model="show4jujue" title=" ">
<div class="content" style="padding:0.5rem 0.4rem 0.5rem; text-align: center;"> <div class="content" style="padding:0.5rem 0.4rem 0.5rem; text-align: center;">
<h5 style="text-align: left;font-size: .3rem;">拒绝原因</h5> <h5 style="text-align: left;font-size: .3rem;">拒绝原因</h5>
<textarea class="textareaEle" v-model="refuseContent" name="" id="" cols="24" rows="3" style="resize: none;"></textarea> <textarea class="textareaEle" v-model="refuseContent" name="" id="" cols="24" rows="3"
style="resize: none;"></textarea>
<h5 style="text-align: left;font-size: .3rem;">上报相关部门</h5> <h5 style="text-align: left;font-size: .3rem;">上报相关部门</h5>
<van-checkbox-group v-model="dept4resuse"> <van-checkbox-group v-model="dept4resuse">
<div v-for="(item, index) in 3" style="overflow: hidden;"> <div v-for="(item, index) in 3" style="overflow: hidden;">
<h5 style="text-align: left;font-size: .3rem;color: #1081E3;font-weight: 500;">标题{{index}}</h5> <h5 style="text-align: left;font-size: .3rem;color: #1081E3;font-weight: 500;">
<van-checkbox 标题{{index}}</h5>
:key="subIndex" <van-checkbox :key="subIndex" :name="item" shape="square" v-for="(item, subIndex) in 2">
:name="item"
shape="square"
v-for="(item, subIndex) in 2"
>
{{ '社会事业局'+subIndex }} {{ '社会事业局'+subIndex }}
</van-checkbox> </van-checkbox>
</div> </div>
</van-checkbox-group> </van-checkbox-group>
<div class="footer-bar"> <div class="footer-bar">
<van-button type="info" plain size="small" @click="show4jujue=false" >取消</van-button> <van-button type="info" plain size="small" @click="show4jujue=false">取消</van-button>
<van-button type="info" size="small" @click="show4jujue=false" >确定</van-button> <van-button type="info" size="small" @click="show4jujue=false">确定</van-button>
</div> </div>
</div> </div>
...@@ -349,7 +254,7 @@ ...@@ -349,7 +254,7 @@
display: inline-block; display: inline-block;
line-height: 1.5; line-height: 1.5;
margin-bottom: 1rem;">对该商家提醒限期 3 天整改,整改截止日期 为 2025-3-25</span> <br> margin-bottom: 1rem;">对该商家提醒限期 3 天整改,整改截止日期 为 2025-3-25</span> <br>
<van-button type="info" size="small" @click="shangbao" >&nbsp;&nbsp;确定&nbsp;&nbsp;</van-button> <van-button type="info" size="small" @click="shangbao">&nbsp;&nbsp;确定&nbsp;&nbsp;</van-button>
</div> </div>
</van-action-sheet> </van-action-sheet>
...@@ -359,162 +264,50 @@ ...@@ -359,162 +264,50 @@
<div class="content" style="padding: 0rem 1rem 0.5rem; text-align: center;"> <div class="content" style="padding: 0rem 1rem 0.5rem; text-align: center;">
<h4 style="text-align: left;font-size: .32rem;">选择行业主管部门</h4> <h4 style="text-align: left;font-size: .32rem;">选择行业主管部门</h4>
<div v-for="(item, subIndex) in 4" style="overflow: hidden;"> <div v-for="(item, subIndex) in 4" style="overflow: hidden;">
<van-checkbox <van-checkbox :key="subIndex" v-model="item" shape="square">
:key="subIndex"
v-model="item"
shape="square"
>
{{ '社会事业局' }} {{ '社会事业局' }}
</van-checkbox> </van-checkbox>
</div> </div>
<van-button type="info" size="small" @click="shangbao" >上报行业主管部门</van-button> <van-button type="info" size="small" @click="shangbao">上报行业主管部门</van-button>
</div> </div>
</van-action-sheet> </van-action-sheet>
<!-- 新增隐患整改模块 -->
<div class="rectification-module">
<!-- 模块标题 -->
<div class="module-header">
<img src="../assets/rectification-icon.png" alt="整改图标" class="module-icon">
<h4 class="module-title">隐患整改</h4>
</div>
<!-- 时间线进度列表 -->
<div class="timeline-list">
<!-- 遍历整改记录 -->
<div
v-for="(record, index) in rectificationRecords"
:key="index"
class="timeline-item"
>
<!-- 时间线左侧标记(点+线) -->
<div class="timeline-marker">
<div class="marker-dot"></div>
<div class="marker-line" v-if="index !== rectificationRecords.length - 1"></div>
</div>
<!-- 时间线内容 -->
<div class="timeline-content">
<!-- 整改日期 -->
<p class="rectification-date">{{ record.rectificationDate }}</p>
<!-- 整改图片 -->
<div class="rectification-images">
<img
v-for="(img, i) in record.images"
:key="i"
:src="img"
alt="整改图"
@click="showImage(record.images, i)"
class="rect-image"
>
</div>
<!-- 状态容器(三种类型) -->
<div :class="['status-container', record.status]">
<!-- 审批拒绝 -->
<div v-if="record.status === 'reject'" class="reject-status">
<span class="status-tag">审批拒绝</span>
<div class="status-content">
<p>审批日期:{{ record.approveDate }}</p>
<p>拒绝原因:{{ record.rejectReason }}</p>
</div>
</div>
<!-- 待审批 -->
<div v-if="record.status === 'pending'" class="pending-status">
<span class="status-tag">待审批</span>
</div>
<!-- 审批通过 -->
<div v-if="record.status === 'approve'" class="approve-status">
<div class="status-content">
<p>审批日期:{{ record.approveDate }}</p>
</div>
<span class="status-tag">审批通过</span>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 隐患详情底部栏 --> <!-- 隐患详情底部栏 -->
<div class="bottom_bar" v-if="flag=='3' && ['admin', 'common', 'industry', 'street', 'wgy'].includes(userType)"> <div class="bottom_bar"
v-if="flag=='3' && ['admin', 'common', 'industry', 'street', 'wgy'].includes(userType)">
<div> <div>
<van-button type="primary" size="small" @click="show4shangbao=true" >上报行业主管部门</van-button> <van-button type="primary" size="small" @click="show4shangbao=true">上报行业主管部门</van-button>
<van-button type="info" size="small" @click="show4yanqi=true" >限期3天整改</van-button> <van-button type="info" size="small" @click="show4yanqi=true">限期3天整改</van-button>
</div> </div>
</div> </div>
<div <div class="bottom_bar" v-if="(flag=='0' || flag=='3') && userType=='shop'">
class="bottom_bar"
v-if="(flag=='0' || flag=='3') && userType=='shop'"
>
<div style="display: flex; justify-content: center; gap: 1rem"> <div style="display: flex; justify-content: center; gap: 1rem">
<van-button <van-button type="info" size="small" @click="add4DZG_XQ" style="width: 2rem">提交整改</van-button>
type="info"
size="small"
@click="add4DZG_XQ"
style="width: 2rem"
>提交整改</van-button
>
</div> </div>
</div> </div>
<div <div class="bottom_bar" v-if="flag=='2' && userType=='wgy'">
class="bottom_bar"
v-if="flag=='2' && userType=='wgy'"
>
<div style="display: flex; justify-content: center; gap: 1rem"> <div style="display: flex; justify-content: center; gap: 1rem">
<van-button <van-button type="danger" size="small" @click="add4DSH_XQ(0)"
type="danger" style="width: 2rem">拒绝</van-button>
size="small" <van-button type="info" size="small" @click="add4DSH_XQ(1)" style="width: 2rem">通过</van-button>
@click="add4DSH_XQ(0)"
style="width: 2rem"
>拒绝</van-button
>
<van-button
type="info"
size="small"
@click="add4DSH_XQ(1)"
style="width: 2rem"
>通过</van-button
>
</div> </div>
</div> </div>
<!-- 新增底部栏 --> <!-- 新增底部栏 -->
<div <div class="bottom_bar" v-if="flag=='ADD' || flag=='JC_XQ'">
class="bottom_bar"
v-if="flag=='ADD' || flag=='JC_XQ'"
>
<div> <div>
<span class="check_num">{{ notNullCount }}/{{totalItems}}</span> <span class="check_num">{{ notNullCount }}/{{totalItems}}</span>
<span class="yh_num">{{noCount}} 隐患</span> <span class="yh_num">{{noCount}} 隐患</span>
<van-button <van-button v-show="checkPageIndex>0" type="info" plain size="small"
v-show="checkPageIndex>0" @click="prevPage">上一项</van-button>
type="info" <van-button v-show="checkPageIndex<3" type="info" size="small"
plain @click="validRequired">下一项</van-button>
size="small" <van-button type="info" size="small" @click="add4JC_XQ"
@click="prevPage" v-show="checkPageIndex===3&&flag=='ADD'">完成检查</van-button>
>上一项</van-button
>
<van-button
v-show="checkPageIndex<3"
type="info"
size="small"
@click="validRequired"
>下一项</van-button
>
<van-button
type="info"
size="small"
@click="add4JC_XQ"
v-show="checkPageIndex===3&&flag=='ADD'"
>完成检查</van-button
>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -74,7 +74,7 @@ window.onload = function () { ...@@ -74,7 +74,7 @@ window.onload = function () {
reviewRecord: '', reviewRecord: '',
show4yanqi:false, show4yanqi:false,
show4shangbao:false, show4shangbao:false,
show4jujue :true, show4jujue :false,
refuseContent: '', // 拒绝原因 refuseContent: '', // 拒绝原因
dept4resuse:[], // 拒绝部门 dept4resuse:[], // 拒绝部门
rectificationRecords: [ rectificationRecords: [
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<van-tabs v-model:active="activeTab" title-active-color="#1989fa" line-height="2px" @change="tabChange" <van-tabs v-model:active="activeTab" title-active-color="#1989fa" line-height="2px" @change="tabChange"
style="margin-bottom: 15px;"> style="margin-bottom: 15px;">
<!-- <div v-for="item in tabList""> --> <!-- <div v-for="item in tabList""> -->
<van-tab :title="item.title" :badge="item.msgNum||null" v-for="item in remindStatistic"></van-tab> <van-tab :title="item.title" :badge="item.msgNum||null" v-for="item in tabList"></van-tab>
<!-- </div> --> <!-- </div> -->
......
...@@ -51,8 +51,9 @@ window.addEventListener('load', function () { ...@@ -51,8 +51,9 @@ window.addEventListener('load', function () {
if (gemhoUtil.getCookie('userType') !== 'shop') { if (gemhoUtil.getCookie('userType') !== 'shop') {
this.showSearch = true this.showSearch = true
} }
this.init()
this.getRemindStatistic() this.getRemindStatistic()
this.init()
}, },
methods: { methods: {
markAllAsRead() { // 全部标记为已读 markAllAsRead() { // 全部标记为已读
......
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