Commit e19f3fbb authored by xinzhedeai's avatar xinzhedeai

add:隐患整改接口对接、逻辑处理、样式修改

parent 2b656580
...@@ -31,8 +31,8 @@ axios.defaults.headers.common['Authorization'] = ...@@ -31,8 +31,8 @@ axios.defaults.headers.common['Authorization'] =
// wgy账号token // wgy账号token
// axios.defaults.headers.common['Authorization'] = // axios.defaults.headers.common['Authorization'] =
// 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiLlrZnmgJ3lv40iLCJsb2dpbl91c2VyX2tleSI6ImU0Y2Q2YzQ2LWEyMTAtNGIyMi1hZjAxLTliNjFiMWUyMzcxZiJ9.6IYwYIgsCV2RnnxOrtphRJIcko05AVlqyYGba3KuYE9NzKJlXcgOI-1C0tjXUg2YkJDl1YVDzLKntXEwoUSjCw' // 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiLlrZnmgJ3lv40iLCJsb2dpbl91c2VyX2tleSI6ImU0Y2Q2YzQ2LWEyMTAtNGIyMi1hZjAxLTliNjFiMWUyMzcxZiJ9.6IYwYIgsCV2RnnxOrtphRJIcko05AVlqyYGba3KuYE9NzKJlXcgOI-1C0tjXUg2YkJDl1YVDzLKntXEwoUSjCw'
// axios.defaults.headers.common['Authorization'] = 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'] =
......
...@@ -21,6 +21,11 @@ if (window.env == 'dev') { ...@@ -21,6 +21,11 @@ if (window.env == 'dev') {
// 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'
// wgy账号token
axios.defaults.headers.common['Authorization'] =
'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNTcyMTAzMTg4NiIsImxvZ2luX3VzZXJfa2V5IjoiNGJjY2JjYzUtNmY0Yy00ZDhlLWJiYzEtZjYzMzVlZDBlZTgwIn0.j3jEfHzeu3kklm60kKCirwwyKaWD51ABicOzxEnuFOfGe63FFqYOQ122ojAhukbInnKj4try3DjrST6wNDVjVQ'
}else{ }else{
axios.defaults.baseURL = 'https://gqyjpt.weihai.cn/prod-api' axios.defaults.baseURL = 'https://gqyjpt.weihai.cn/prod-api'
......
...@@ -346,7 +346,7 @@ body { ...@@ -346,7 +346,7 @@ body {
align-items: center; align-items: center;
gap: 0.15rem; gap: 0.15rem;
/* 图标与标题间距15px */ /* 图标与标题间距15px */
margin-bottom: 0.3rem; /* margin-bottom: 0.3rem; */
/* 模块标题与内容间距30px */ /* 模块标题与内容间距30px */
} }
...@@ -371,7 +371,7 @@ body { ...@@ -371,7 +371,7 @@ body {
.timeline-item { .timeline-item {
display: flex; display: flex;
margin-bottom: 0.4rem; /* margin-bottom: 0.4rem; */
/* 时间线项间距40px */ /* 时间线项间距40px */
} }
......
...@@ -94,7 +94,8 @@ ...@@ -94,7 +94,8 @@
</div> </div>
</van-cell> </van-cell>
</van-cell-group> </van-cell-group>
<van-cell-group v-if="item?.rectificationImageUrlList?.length"> <!-- 2025年6月18日 隐患整改已单独显示,这里改为检查单详情才展示 -->
<van-cell-group v-if="item?.rectificationImageUrlList?.length && flag=='JC_XQ'">
<van-cell><span class="">整改情况:</span> <van-cell><span class="">整改情况:</span>
<div> <div>
<img v-for="(imgItem, subIndex) in item.rectificationImageUrlList" <img v-for="(imgItem, subIndex) in item.rectificationImageUrlList"
...@@ -110,16 +111,7 @@ ...@@ -110,16 +111,7 @@
</van-cell> </van-cell>
</van-cell-group> </van-cell-group>
<van-cell-group v-if="(flag=='0' || flag=='3') && userType=='shop'">
<van-cell><span class="title_require">请上传整改图片:</span><span
style="color: red">(格式png/jpg/jpeg,最多4张)</span>
<!-- <div>
<van-uploader style="width: 80px; height:80px;" v-model="item.photos" multiple
:max-count="4" :after-read="handleFileUpload" class="uploader-wrapper" />
</div> -->
<van-uploader v-model="item.photos" multiple :max-count="4" />
</van-cell>
</van-cell-group>
<!-- 整改期限 --> <!-- 整改期限 -->
<van-cell-group v-if="flag=='ADD'"> <van-cell-group v-if="flag=='ADD'">
...@@ -141,8 +133,8 @@ ...@@ -141,8 +133,8 @@
</div> </div>
</div> </div>
<!-- 新增隐患整改模块 --> <!-- 新增隐患整改模块 2025年6月18日11:03:11新增整改记录模块-->
<div class="rectification-module"> <div class="rectification-module" v-if="flag!=='ADD' && flag!=='JC_XQ'">
<!-- 模块标题 --> <!-- 模块标题 -->
<div class="module-header"> <div class="module-header">
<img src="../image/code/zhenggai-title.png" alt="整改图标" class="module-icon"> <img src="../image/code/zhenggai-title.png" alt="整改图标" class="module-icon">
...@@ -152,7 +144,7 @@ ...@@ -152,7 +144,7 @@
<!-- 时间线进度列表 --> <!-- 时间线进度列表 -->
<div class="timeline-list"> <div class="timeline-list">
<!-- 遍历整改记录 --> <!-- 遍历整改记录 -->
<div v-for="(record, index) in rectificationRecords" :key="index" class="timeline-item"> <div v-for="(record, index) in recordList" :key="index" class="timeline-item">
<!-- 时间线左侧标记(点+线) --> <!-- 时间线左侧标记(点+线) -->
<div class="timeline-marker"> <div class="timeline-marker">
<div class="marker-dot"></div> <div class="marker-dot"></div>
...@@ -166,41 +158,55 @@ ...@@ -166,41 +158,55 @@
<!-- 整改图片 --> <!-- 整改图片 -->
<div class="rectification-images"> <div class="rectification-images">
<img v-for="(img, i) in record.images" :key="i" <img v-for="(img, i) in record.rectificationImage" :key="i"
src="../image/code/zhenggai-title.png" alt="整改图" :src="img"
@click="showImage(record.images, i)" class="rect-image"> @click="showImage(record.rectificationImage, i)" class="rect-image">
</div> </div>
<!-- 状态容器(三种类型) --> <!-- 状态容器(三种类型) -->
<div :class="['status-container', record.status]"> <div :class="['status-container', record.status]">
<!-- 审批拒绝 --> <!-- 审核未通过 -->
<div v-if="record.status === 'reject'" class="reject-status"> <div v-if="record.rectificationStatus === 4" class="reject-status">
<span class="status-tag">审批拒绝</span> <span class="status-tag">{{ record.rectificationStatusName }}</span>
<div class="status-content"> <div class="status-content">
<p>审批日期:{{ record.approveDate }}</p> <p>审批日期:{{ record.reviewDate }}</p>
<p>拒绝原因:{{ record.rejectReason }}</p> <p>拒绝原因:{{ record.reason }}</p>
</div> </div>
</div> </div>
<!-- 待审批 --> <!-- 待审核 -->
<div v-if="record.status === 'pending'" class="pending-status"> <div v-if="record.rectificationStatus === 2" class="pending-status">
<span class="status-tag">待审批</span> <span class="status-tag">{{ record.rectificationStatusName }}</span>
</div>
<!-- 待整改 -->
<div v-if="record.rectificationStatus === 0" class="pending-status">
<span class="status-tag">{{ record.rectificationStatusName }}</span>
</div> </div>
<!-- 审批通过 --> <!-- 整改逾期 -->
<div v-if="record.status === 'approve'" class="approve-status"> <div v-if="record.rectificationStatus === 3" class="pending-status">
<div class="status-content"> <span class="status-tag">{{ record.rectificationStatusName }}</span>
<p>审批日期:{{ record.approveDate }}</p>
</div>
<span class="status-tag">审批通过</span>
</div> </div>
</div> </div>
<p class="rectification-date">整改截止日期:{{ record.rectificationDate }}</p> <p class="rectification-date" v-if="record.rectificationStatus === 3">整改截止日期:{{ record.rectificationDeadline }}</p>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- 2025年6月18日 位置调整。 -->
<van-cell-group v-if="(flag=='0' || flag=='3') && userType=='shop'">
<van-cell><span class="title_require">请上传整改图片:</span><span
style="color: red">(格式png/jpg/jpeg,最多4张)</span>
<!-- <div>
<van-uploader style="width: 80px; height:80px;" v-model="item.photos" multiple
:max-count="4" :after-read="handleFileUpload" class="uploader-wrapper" />
</div> -->
<van-uploader v-model="item.photos" multiple :max-count="4" />
</van-cell>
</van-cell-group>
<van-form v-if="checkPageIndex == (checkData?.length-1)"> <van-form v-if="checkPageIndex == (checkData?.length-1)">
<van-cell> <van-cell>
...@@ -209,8 +215,8 @@ ...@@ -209,8 +215,8 @@
<van-cell> <van-cell>
<van-field label="检查日期" v-model="checkDate" readonly /> <van-field label="检查日期" v-model="checkDate" readonly />
</van-cell> </van-cell>
<van-cell> <van-cell v-if="flag!=='ADD' && flag!=='JC_XQ'">
<van-field label="检查单位" v-model="checkDate" readonly /> <van-field label="检查单位" v-model="checkDeptName" readonly />
</van-cell> </van-cell>
<!-- <van-cell v-if="flag!='ADD'&&flag!='JC_XQ'"> <!-- <van-cell v-if="flag!='ADD'&&flag!='JC_XQ'">
<van-field label="整改截止日期" v-model="rectificationDeadline" readonly /> <van-field label="整改截止日期" v-model="rectificationDeadline" readonly />
...@@ -227,13 +233,13 @@ ...@@ -227,13 +233,13 @@
</van-form> </van-form>
<!-- 拒绝弹窗 --> <!-- 拒绝弹窗 -->
<van-action-sheet v-model="show4jujue" title=" "> <van-action-sheet v-model="jujue.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" <textarea class="textareaEle" v-model="jujue.refuseContent" name="" id="" cols="24" rows="3"
style="resize: none;"></textarea> 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="jujue.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;"> <h5 style="text-align: left;font-size: .3rem;color: #1081E3;font-weight: 500;">
标题{{index}}</h5> 标题{{index}}</h5>
...@@ -244,14 +250,14 @@ ...@@ -244,14 +250,14 @@
</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="jujue.show4jujue=false">取消</van-button>
<van-button type="info" size="small" @click="show4jujue=false">确定</van-button> <van-button type="info" size="small" @click="jujue.show4jujue=false;add4DSH_XQ(0);">确定</van-button>
</div> </div>
</div> </div>
</van-action-sheet> </van-action-sheet>
<!-- 延期操作确认弹窗 --> <!-- 延期操作确认弹窗 -->
<van-action-sheet v-model="show4yanqi" title=" "> <van-action-sheet v-model="yuqi.show4yanqi" title=" ">
<div class="content" style="padding: 1rem 1rem 0.5rem; text-align: center;"> <div class="content" style="padding: 1rem 1rem 0.5rem; text-align: center;">
<span style="font-size: 0.3rem; <span style="font-size: 0.3rem;
color: rgb(0, 0, 0); color: rgb(0, 0, 0);
...@@ -265,14 +271,16 @@ ...@@ -265,14 +271,16 @@
</van-action-sheet> </van-action-sheet>
<!-- 上报弹窗 --> <!-- 上报弹窗 -->
<van-action-sheet v-model="show4shangbao" title=" "> <van-action-sheet v-model="yuqi.show4shangbao" title=" ">
<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;"> <van-checkbox-group v-model="yuqi.dept">
<van-checkbox :key="subIndex" v-model="item" shape="square"> <div v-for="(item, subIndex) in 4" style="overflow: hidden;">
{{ '社会事业局' }} <van-checkbox :key="subIndex" :name="item" shape="square">
</van-checkbox> {{ '社会事业局' }}
</div> </van-checkbox>
</div>
</van-checkbox-group>
<van-button type="info" size="small" @click="shangbao">上报行业主管部门</van-button> <van-button type="info" size="small" @click="shangbao">上报行业主管部门</van-button>
</div> </div>
...@@ -282,8 +290,8 @@ ...@@ -282,8 +290,8 @@
<div class="bottom_bar" <div class="bottom_bar"
v-if="flag=='3' && ['admin', 'common', 'industry', 'street', 'wgy'].includes(userType)"> 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="yuqi.show4shangbao=true">上报行业主管部门</van-button>
<van-button type="info" size="small" @click="show4yanqi=true">限期3天整改</van-button> <van-button type="info" size="small" @click="yuqi.show4yanqi=true">限期3天整改</van-button>
</div> </div>
</div> </div>
...@@ -295,7 +303,7 @@ ...@@ -295,7 +303,7 @@
<div class="bottom_bar" v-if="flag=='2' && userType=='wgy'"> <div 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 type="danger" size="small" @click="add4DSH_XQ(0)" <van-button type="danger" size="small" @click="validRefuse(0)"
style="width: 2rem">拒绝</van-button> style="width: 2rem">拒绝</van-button>
<van-button type="info" size="small" @click="add4DSH_XQ(1)" style="width: 2rem">通过</van-button> <van-button type="info" size="small" @click="add4DSH_XQ(1)" style="width: 2rem">通过</van-button>
</div> </div>
......
...@@ -51,6 +51,7 @@ window.onload = function () { ...@@ -51,6 +51,7 @@ window.onload = function () {
components: { components: {
}, },
data: { data: {
previewUrl: BASE_URL,
userType: gemhoUtil.getCookie('userType'), userType: gemhoUtil.getCookie('userType'),
id: '', // 记录id || 隐患id id: '', // 记录id || 隐患id
merId: '', // 商户id merId: '', // 商户id
...@@ -59,6 +60,8 @@ window.onload = function () { ...@@ -59,6 +60,8 @@ window.onload = function () {
flag: 'ADD', flag: 'ADD',
// flag: 'JC_XQ', // flag: 'JC_XQ',
// flag: 'YH_XQ', // flag: 'YH_XQ',
// 检查单信息
deadlineOptions: ['1', '3', '5', '7'], deadlineOptions: ['1', '3', '5', '7'],
checkData: [], // 提交给后端,图片使用vant结构,base64,后端处理,不走爱山东中台。(数据量大!) checkData: [], // 提交给后端,图片使用vant结构,base64,后端处理,不走爱山东中台。(数据量大!)
originCheckData: [], originCheckData: [],
...@@ -72,37 +75,20 @@ window.onload = function () { ...@@ -72,37 +75,20 @@ window.onload = function () {
rectificationDeadline: '', // 整改截止日期 rectificationDeadline: '', // 整改截止日期
reviewDate: '', // 隐患审核日期 reviewDate: '', // 隐患审核日期
reviewRecord: '', reviewRecord: '',
show4yanqi:false, yuqi:{
show4shangbao:false, show4yanqi:false,
show4jujue :false, show4shangbao:false,
refuseContent: '', // 拒绝原因 dept:[], // 上报部门
dept4resuse:[], // 拒绝部门 },
rectificationRecords: [ jujue:{
/* 示例数据结构,实际从接口获取 */ show4jujue :false,
{ pushFlag: false, // 是否推送(审核拒绝时,如果true,则显示推送弹窗)
rectificationDate: '2024-03-15', // 整改日期 refuseContent: '', // 拒绝原因
images: ['/images/rectify-20240315-01.jpg', '/images/rectify-20240315-02.jpg'], // 整改图片路径 dept4resuse:[], // 拒绝部门
status: 'reject', // 状态:拒绝 },
approveDate: '2024-03-16', // 审批日期
rejectReason: '消防通道堵塞未清理,灭火器过期未更换' // 拒绝原因 recordList: [],
}, checkDeptName: '' // 检查单位
// 待审批记录(仅基础信息)
{
rectificationDate: '2024-03-20', // 整改日期
images: ['/images/rectify-20240320-01.jpg'], // 整改图片路径(单张)
status: 'pending', // 状态:待审批
// 待审批状态无需审批日期和拒绝原因
},
// 审批通过记录(含审批信息)
{
rectificationDate: '2024-03-25', // 整改日期
images: ['/images/rectify-20240325-01.jpg', '/images/rectify-20240325-02.jpg', '/images/rectify-20240325-03.jpg'], // 三张图片
status: 'approve', // 状态:通过
approveDate: '2024-03-26' // 审批日期
}
]
}, },
mounted() { mounted() {
/** /**
...@@ -305,6 +291,11 @@ window.onload = function () { ...@@ -305,6 +291,11 @@ window.onload = function () {
this.reviewDate = result.reviewDate // 隐患审核日期 this.reviewDate = result.reviewDate // 隐患审核日期
this.reviewRecord = result.reviewRecord this.reviewRecord = result.reviewRecord
// 2025年6月18日 新增返回字段 隐患整改、逾期上报等
this.jujue.pushFlag = true // result.pushFlag
this.recordList = result.recordList
this.checkDeptName = result.checkDeptName // 检查单位
// 表单数据 // 表单数据
this.checkData = result.data this.checkData = result.data
} }
...@@ -453,6 +444,13 @@ window.onload = function () { ...@@ -453,6 +444,13 @@ window.onload = function () {
closeable: true, closeable: true,
}); });
}, },
validRefuse(auditStatus){
if(this.jujue.pushFlag){
this.jujue.show4jujue = true
}else{
this.add4DSH_XQ(auditStatus)
}
},
add4DSH_XQ(auditStatus) { // 隐患详情 审核通过或拒绝 add4DSH_XQ(auditStatus) { // 隐患详情 审核通过或拒绝
vant.Toast.loading({ vant.Toast.loading({
message: '正在处理...', message: '正在处理...',
......
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