Loading src/service/danger.js +107 −9 Original line number Original line Diff line number Diff line import request from '@/utils/axios' import request from '@/utils/axios' // 隐患上报模块 // 隐患上报模块 // 隐患上报已退回 export function dangerReturn(url,data) { return request({ url: url, method: 'post', data }) } // 请求新增表单数据信息的 // 请求新增表单数据信息的 export function getFormList(url,params) { export function getFormList(url,params) { return request({ return request({ Loading Loading @@ -59,6 +50,7 @@ export function postHdShowPeople(url,data) { }) }) } } // 隐患上报保存接口 // 隐患上报保存接口 export function postHdReportAdd(url,data) { export function postHdReportAdd(url,data) { return request({ return request({ Loading @@ -67,3 +59,109 @@ export function postHdReportAdd(url,data) { data data }) }) } } // 隐患上报已退回列表 export function dangerReturn(url,data) { return request({ url: url, method: 'post', data }) } // 隐患上报已退回删除 export function dangerReturnDel(url,data) { return request({ url: url, method: 'post', data }) } // 隐患上报已退回 回显所有数据接口 export function dangerReturnEcho(url,data) { return request({ url: url, method: 'get', data }) } // 隐患确认模块 // 隐患确认列表 export function dangerConfirm(url,data) { return request({ url: url, method: 'post', data }) } // 隐患确认form表单列表数据 export function getConfirmFormList(url,params) { return request({ url: url, method: 'get', params }) } // 隐患确认提交 export function dangerConSub(url,data) { return request({ url: url, method: 'post', data }) } // 隐患整改模块 // 隐患整改列表 export function dangerRect(url,data) { return request({ url: url, method: 'post', data }) } // 隐患整改 有退回原因的 export function dangerRectReturn(url,params) { return request({ url: url, method: 'get', params }) } // 隐患整改保存 没有退回原因 export function dangerRectAdd(url,data) { return request({ url: url, method: 'post', data }) } // 整改复查模块 // 整改复查列表 export function dangerReview(url,data) { return request({ url: url, method: 'post', data }) } // 整改复查保存 export function dangerReviewAdd(url,data) { return request({ url: url, method: 'post', data }) } // 隐患历史台账模块 export function dangerStandBook(url,data) { return request({ url: url, method: 'post', data }) } src/views/danger/addDanger/addDanger.vue +31 −6 Original line number Original line Diff line number Diff line Loading @@ -13,7 +13,7 @@ v-model="returnCause" v-model="returnCause" readonly readonly rows="1" rows="1" autosize="" autosize label="退回原因" label="退回原因" type="textarea" type="textarea" /> /> Loading Loading @@ -266,22 +266,27 @@ import { postHdInventories, postHdInventories, postHdRiskSource, postHdRiskSource, postHdShowPeople, postHdShowPeople, postHdReportAdd postHdReportAdd, dangerReturnEcho } from "@/service/danger"; } from "@/service/danger"; export default { export default { components: { components: { LHeader LHeader }, }, created() { created() { if (this.$route.params.status) { this.taskId = this.$route.params.taskId if (this.taskId) { this.isShowreturnCause = true; this.isShowreturnCause = true; this.text = "隐患上报退回"; this.text = "隐患上报退回"; this.postReturnEcho() } } console.log("taskid"+this.taskId); this.getList(); this.getList(); }, }, data() { data() { return { return { text: "新增隐患", text: "新增隐患", taskId:"", projectId: "", // 所属工程 projectId: "", // 所属工程 projectName: "", projectName: "", showProjectName: false, showProjectName: false, Loading Loading @@ -334,8 +339,8 @@ export default { formdata.append("dangerSource", values.dangerSource) formdata.append("dangerSource", values.dangerSource) formdata.append("hdPosition", values.hdPosition) formdata.append("hdPosition", values.hdPosition) formdata.append("hdDescribe", values.hdDescribe) formdata.append("hdDescribe", values.hdDescribe) formdata.append("hdPicture1", values.hdPicture1) formdata.append("hdPicture1[]", values.hdPicture1) formdata.append("hdVideo1", values.hdVideo1) formdata.append("hdVideo1[]", values.hdVideo1) formdata.append("hdExpirationTime", values.hdExpirationTime) formdata.append("hdExpirationTime", values.hdExpirationTime) formdata.append("rectificationUser", values.rectificationUser) formdata.append("rectificationUser", values.rectificationUser) this.$toast.loading({ this.$toast.loading({ Loading Loading @@ -379,6 +384,25 @@ export default { }); }); }, }, // 请求已退回详情数据 postReturnEcho(){ this.$toast.loading({ message: "加载中...", forbidClick: true, loadingType: "spinner", duration: 0 }); dangerReturnEcho(`/hdreport/edit/${this.taskId}`) .then(res => { this.$toast.clear(); console.log(res); }) .catch(() => { this.$toast.clear(); this.$toast.fail("加载失败,请稍后再试"); }); }, // 所属工程名称 // 所属工程名称 onConProjectName(value) { onConProjectName(value) { this.projectId = value.id; this.projectId = value.id; Loading Loading @@ -456,7 +480,8 @@ export default { cancel() { cancel() { this.$router.go(-1); this.$router.go(-1); } }, } } }; }; </script> </script> Loading src/views/danger/changeDanger/changeDanger.vuedeleted 100644 → 0 +0 −123 Original line number Original line Diff line number Diff line <template> <div> <!-- 内容列表 --> <div class="con-list"> <van-cell-group inset v-for="(item, index) in messageList" :key="index" @click="read(item)" @touchstart="touchstart(index, item)" @touchend.prevent="touchend(index)" > <van-row gutter=""> <van-col span="7">所属工程名称:</van-col> <van-col span="17">{{ item.project }}</van-col> </van-row> <van-row gutter=""> <van-col span="7">隐患项目名称:</van-col> <van-col span="17">{{ item.subject }}</van-col> </van-row> <van-row gutter=""> <van-col span="7">隐患发现时间:</van-col> <van-col span="17">{{ item.findTime }}</van-col> </van-row> <van-row gutter=""> <van-col span="7">隐患级别:</van-col> <van-col span="17">{{ item.level }}</van-col> </van-row> <!-- 长按显示遮罩层 --> <van-overlay :show="showIndex == index"> <div class="wrapper" @click.stop> <van-button round type="primary" @touchstart="goDetail(item)" >详情</van-button > <van-button round type="info" @touchstart="goConfirm(item)" >确认</van-button > </div> </van-overlay> </van-cell-group> </div> </div> </template> <script> export default { data() { return { messageList: [ { project: "朝阳区和平街14区简易住宅楼改造项目", subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。", findTime: "2021-10-26 16:30:00", level: "一般隐患A" } ], Loop: "", // 定时器 showIndex: null // 是否显示遮罩层 }; }, mounted() {}, methods: { read() {}, touchstart(index, item) { clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器 if (this.showIndex != null) { this.showIndex = null; return; } this.Loop = setTimeout(() => { this.showIndex = index; }, 300); // 这里的1000是指需要长按的时间,单位为ms }, touchend(index) { // 这个方法主要是用来将每次手指移出之后将计时器清零 clearInterval(this.Loop); }, // 详情 goDetail(data) { console.log(data); this.$router.push("/change-detail"); this.showIndex = null; }, // 确认 goConfirm(data) { console.log(data); this.$router.push("/change-info"); this.showIndex = null; } } }; </script> <style lang="less" scoped> /* @import url(); 引入css类 */ .con-list { padding: 10px 10px 0; background-color: #f0f1f5; .van-cell-group--inset { margin: 0; margin-bottom: 10px; padding: 10px; font-size: 13px; position: relative; .van-row{ margin-bottom: .133333rem; line-height: .64rem; } .van-overlay { position: absolute; .wrapper { display: flex; align-items: center; justify-content: space-evenly; height: 100%; } } } } </style> src/views/danger/changeDanger/changeInfo.vue +73 −4 Original line number Original line Diff line number Diff line Loading @@ -3,14 +3,24 @@ <LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader> <van-form <van-form @submit="onSubmit" @submit="onSubmit" :show-error='false' :show-error="false" :scroll-to-error="true" :scroll-to-error="true" validate-trigger="onSubmit" validate-trigger="onSubmit" > > <van-field v-if="isShowreturnCause" v-model="returnCause" readonly rows="1" autosize label="退回原因" type="textarea" /> <van-field <van-field v-model="value" v-model="value" label="隐患整改描述" label="隐患整改描述" name="隐患整改描述" name="details" rows="3" rows="3" type="textarea" type="textarea" placeholder="请输入" placeholder="请输入" Loading @@ -20,7 +30,6 @@ <van-field <van-field name="uploader" name="uploader" label="整改照片" label="整改照片" :rules="[{ required: true, message: '请上传图像' }]" > > <template #input> <template #input> <van-uploader v-model="uploaderImg" /> <van-uploader v-model="uploaderImg" /> Loading Loading @@ -49,6 +58,7 @@ <script> <script> import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue"; import { dangerRectReturn, dangerRectAdd } from "@/service/danger"; export default { export default { components: { components: { LHeader LHeader Loading @@ -56,16 +66,75 @@ export default { data() { data() { return { return { text: "整改确认", text: "整改确认", taskId: "", taskName: "", returnCause: "", isShowreturnCause: false, value: "", value: "", uploaderImg: [], //图像上传 uploaderImg: [], //图像上传 uploaderVideo: [] //视频上传 uploaderVideo: [] //视频上传 }; }; }, }, mounted() {}, created() { this.taskId = this.$route.params.taskId; this.taskName = this.$route.params.taskName; if (this.taskName == "隐患整改(已退回)") { this.isShowreturnCause = true; // 请求退回原因 this.getRectReturn(); } }, methods: { methods: { onSubmit(values) { onSubmit(values) { console.log("submit", values); console.log("submit", values); this.$toast.loading({ message: "提交中...", forbidClick: true, loadingType: "spinner", duration: 0 }); let formdata = new FormData(); formdata.append("details", this.value); // formdata.append("rePicture[]", values.uploader); // formdata.append("reVideo[]", values.uploader2); // 判断保存的url let url = `/rectification/add1/${this.taskId}`; if (this.taskName == "隐患整改(已退回)") { url = `/rectification/add2/${this.taskId}`; } dangerRectAdd(url,formdata) .then(res => { this.$toast.clear(); this.$toast.success({ message: "提交成功", duration: 2000 }); history.go(-1); }) .catch(() => { this.$toast.clear(); this.$toast.fail("提交失败,请稍后再试"); }); }, }, // 请求退回原因方法 getRectReturn() { this.$toast.loading({ message: "加载中...", forbidClick: true, loadingType: "spinner", duration: 0 }); dangerRectReturn(`/rectification/addReturn/${this.taskId}`) .then(res => { this.$toast.clear(); this.returnCause = res.data.reason; }) .catch(() => { this.$toast.clear(); this.$toast.fail("加载失败,请稍后再试"); }); }, cancel() { cancel() { this.$router.go(-1); this.$router.go(-1); } } Loading src/views/danger/changeDanger/index.vue +145 −16 Original line number Original line Diff line number Diff line Loading @@ -2,42 +2,171 @@ <div> <div> <LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader> <van-search v-model="searchValue" placeholder="搜索" @search="onSearch" /> <van-search v-model="searchValue" placeholder="搜索" @search="onSearch" /> <van-tabs <!-- 内容列表 --> v-model="active" <div class="con-list"> color="#247df7" <van-cell-group title-inactive-colo="#d0d1d1" inset title-active-color="#000000" v-for="(item, index) in messageList" :key="index" @click="read(item)" @touchstart="touchstart(index, item)" @touchend.prevent="touchend(index)" > > <van-tab title="隐患整改"> <van-row gutter=""> <change-danger></change-danger> <van-col span="5">所属项目:</van-col> </van-tab> <van-col span="19">{{ item.proId }}</van-col> </van-tabs> </van-row> <van-row gutter=""> <van-col span="5">隐患级别:</van-col> <van-col span="19">{{ item.hdLev }}</van-col> </van-row> <van-row gutter=""> <van-col span="5">适用范围:</van-col> <van-col span="19">{{ item.hdRange }}</van-col> </van-row> <van-row gutter=""> <van-col span="5">隐患类型:</van-col> <van-col span="19">{{ item.hdType }}</van-col> </van-row> <van-row gutter=""> <van-col span="5">发现时间:</van-col> <van-col span="19">{{ item.hdDiscoveryTime }}</van-col> </van-row> <van-row gutter=""> <van-col span="5">超期标识:</van-col> <van-col span="19">{{ item.dueDate | formatTime }}</van-col> </van-row> <van-row gutter=""> <van-col span="5">状态:</van-col> <van-col span="19">{{ item.taskName }}</van-col> </van-row> <!-- 长按显示遮罩层 --> <van-overlay :show="showIndex == index"> <div class="wrapper" @click.stop> <van-button round type="primary" @touchstart="goDetail(item)" >详情</van-button > <van-button round type="info" @touchstart="goConfirm(item)" >确认</van-button > </div> </van-overlay> </van-cell-group> </div> </div> </div> </template> </template> <script> <script> import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue"; import changeDanger from "./changeDanger.vue"; import { dangerRect } from "@/service/danger"; export default { export default { components: { components: { LHeader, LHeader, changeDanger }, }, data() { data() { return { return { text: "隐患整改", text: "隐患整改", active: "1", searchValue: "", searchValue: "" messageList: [], Loop: "", // 定时器 showIndex: null // 是否显示遮罩层 }; }; }, }, mounted() {}, created() { this.postList() }, methods: { methods: { onSearch(val) { onSearch(val) { console.log(val); console.log(val); }, postList(){ this.$toast.loading({ message: "加载中...", forbidClick: true, loadingType: "spinner", duration: 0 }); dangerRect("/rectification/list").then(res =>{ this.$toast.clear(); this.messageList = res.rows }).catch(() => { this.$toast.clear(); this.$toast.fail("加载失败,请稍后再试"); }); }, touchstart(index, item) { clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器 if (this.showIndex != null) { this.showIndex = null; return; } this.Loop = setTimeout(() => { this.showIndex = index; }, 300); // 这里的1000是指需要长按的时间,单位为ms }, touchend(index) { // 这个方法主要是用来将每次手指移出之后将计时器清零 clearInterval(this.Loop); }, // 详情 goDetail(data) { console.log(data); this.showIndex = null; }, // 确认 goConfirm(data) { console.log(data); this.$router.push({ name:"change-info", params:{ "taskId":data.taskId, "taskName":data.taskName } }); this.showIndex = null; } }, filters:{ formatTime:function(val){ if (new Date(val).getTime() <= new Date().getTime()){ return "超期" }else if(new Date(val).getTime()>= new Date().getTime() && new Date(val).getTime() <= new Date().getTime() + 259200000){ return "临期" }else { return "正常" } } } } } }; }; </script> </script> <style scoped> <style lang="less" scoped> /* @import url(); 引入css类 */ /* @import url(); 引入css类 */ .con-list { padding: 10px 10px 0; background-color: #f0f1f5; .van-cell-group--inset { margin: 0; margin-bottom: 10px; padding: 10px; font-size: 13px; position: relative; .van-row{ margin-bottom: .133333rem; line-height: .64rem; } .van-overlay { position: absolute; .wrapper { display: flex; align-items: center; justify-content: space-evenly; height: 100%; } } } } </style> </style> Loading
src/service/danger.js +107 −9 Original line number Original line Diff line number Diff line import request from '@/utils/axios' import request from '@/utils/axios' // 隐患上报模块 // 隐患上报模块 // 隐患上报已退回 export function dangerReturn(url,data) { return request({ url: url, method: 'post', data }) } // 请求新增表单数据信息的 // 请求新增表单数据信息的 export function getFormList(url,params) { export function getFormList(url,params) { return request({ return request({ Loading Loading @@ -59,6 +50,7 @@ export function postHdShowPeople(url,data) { }) }) } } // 隐患上报保存接口 // 隐患上报保存接口 export function postHdReportAdd(url,data) { export function postHdReportAdd(url,data) { return request({ return request({ Loading @@ -67,3 +59,109 @@ export function postHdReportAdd(url,data) { data data }) }) } } // 隐患上报已退回列表 export function dangerReturn(url,data) { return request({ url: url, method: 'post', data }) } // 隐患上报已退回删除 export function dangerReturnDel(url,data) { return request({ url: url, method: 'post', data }) } // 隐患上报已退回 回显所有数据接口 export function dangerReturnEcho(url,data) { return request({ url: url, method: 'get', data }) } // 隐患确认模块 // 隐患确认列表 export function dangerConfirm(url,data) { return request({ url: url, method: 'post', data }) } // 隐患确认form表单列表数据 export function getConfirmFormList(url,params) { return request({ url: url, method: 'get', params }) } // 隐患确认提交 export function dangerConSub(url,data) { return request({ url: url, method: 'post', data }) } // 隐患整改模块 // 隐患整改列表 export function dangerRect(url,data) { return request({ url: url, method: 'post', data }) } // 隐患整改 有退回原因的 export function dangerRectReturn(url,params) { return request({ url: url, method: 'get', params }) } // 隐患整改保存 没有退回原因 export function dangerRectAdd(url,data) { return request({ url: url, method: 'post', data }) } // 整改复查模块 // 整改复查列表 export function dangerReview(url,data) { return request({ url: url, method: 'post', data }) } // 整改复查保存 export function dangerReviewAdd(url,data) { return request({ url: url, method: 'post', data }) } // 隐患历史台账模块 export function dangerStandBook(url,data) { return request({ url: url, method: 'post', data }) }
src/views/danger/addDanger/addDanger.vue +31 −6 Original line number Original line Diff line number Diff line Loading @@ -13,7 +13,7 @@ v-model="returnCause" v-model="returnCause" readonly readonly rows="1" rows="1" autosize="" autosize label="退回原因" label="退回原因" type="textarea" type="textarea" /> /> Loading Loading @@ -266,22 +266,27 @@ import { postHdInventories, postHdInventories, postHdRiskSource, postHdRiskSource, postHdShowPeople, postHdShowPeople, postHdReportAdd postHdReportAdd, dangerReturnEcho } from "@/service/danger"; } from "@/service/danger"; export default { export default { components: { components: { LHeader LHeader }, }, created() { created() { if (this.$route.params.status) { this.taskId = this.$route.params.taskId if (this.taskId) { this.isShowreturnCause = true; this.isShowreturnCause = true; this.text = "隐患上报退回"; this.text = "隐患上报退回"; this.postReturnEcho() } } console.log("taskid"+this.taskId); this.getList(); this.getList(); }, }, data() { data() { return { return { text: "新增隐患", text: "新增隐患", taskId:"", projectId: "", // 所属工程 projectId: "", // 所属工程 projectName: "", projectName: "", showProjectName: false, showProjectName: false, Loading Loading @@ -334,8 +339,8 @@ export default { formdata.append("dangerSource", values.dangerSource) formdata.append("dangerSource", values.dangerSource) formdata.append("hdPosition", values.hdPosition) formdata.append("hdPosition", values.hdPosition) formdata.append("hdDescribe", values.hdDescribe) formdata.append("hdDescribe", values.hdDescribe) formdata.append("hdPicture1", values.hdPicture1) formdata.append("hdPicture1[]", values.hdPicture1) formdata.append("hdVideo1", values.hdVideo1) formdata.append("hdVideo1[]", values.hdVideo1) formdata.append("hdExpirationTime", values.hdExpirationTime) formdata.append("hdExpirationTime", values.hdExpirationTime) formdata.append("rectificationUser", values.rectificationUser) formdata.append("rectificationUser", values.rectificationUser) this.$toast.loading({ this.$toast.loading({ Loading Loading @@ -379,6 +384,25 @@ export default { }); }); }, }, // 请求已退回详情数据 postReturnEcho(){ this.$toast.loading({ message: "加载中...", forbidClick: true, loadingType: "spinner", duration: 0 }); dangerReturnEcho(`/hdreport/edit/${this.taskId}`) .then(res => { this.$toast.clear(); console.log(res); }) .catch(() => { this.$toast.clear(); this.$toast.fail("加载失败,请稍后再试"); }); }, // 所属工程名称 // 所属工程名称 onConProjectName(value) { onConProjectName(value) { this.projectId = value.id; this.projectId = value.id; Loading Loading @@ -456,7 +480,8 @@ export default { cancel() { cancel() { this.$router.go(-1); this.$router.go(-1); } }, } } }; }; </script> </script> Loading
src/views/danger/changeDanger/changeDanger.vuedeleted 100644 → 0 +0 −123 Original line number Original line Diff line number Diff line <template> <div> <!-- 内容列表 --> <div class="con-list"> <van-cell-group inset v-for="(item, index) in messageList" :key="index" @click="read(item)" @touchstart="touchstart(index, item)" @touchend.prevent="touchend(index)" > <van-row gutter=""> <van-col span="7">所属工程名称:</van-col> <van-col span="17">{{ item.project }}</van-col> </van-row> <van-row gutter=""> <van-col span="7">隐患项目名称:</van-col> <van-col span="17">{{ item.subject }}</van-col> </van-row> <van-row gutter=""> <van-col span="7">隐患发现时间:</van-col> <van-col span="17">{{ item.findTime }}</van-col> </van-row> <van-row gutter=""> <van-col span="7">隐患级别:</van-col> <van-col span="17">{{ item.level }}</van-col> </van-row> <!-- 长按显示遮罩层 --> <van-overlay :show="showIndex == index"> <div class="wrapper" @click.stop> <van-button round type="primary" @touchstart="goDetail(item)" >详情</van-button > <van-button round type="info" @touchstart="goConfirm(item)" >确认</van-button > </div> </van-overlay> </van-cell-group> </div> </div> </template> <script> export default { data() { return { messageList: [ { project: "朝阳区和平街14区简易住宅楼改造项目", subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。", findTime: "2021-10-26 16:30:00", level: "一般隐患A" } ], Loop: "", // 定时器 showIndex: null // 是否显示遮罩层 }; }, mounted() {}, methods: { read() {}, touchstart(index, item) { clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器 if (this.showIndex != null) { this.showIndex = null; return; } this.Loop = setTimeout(() => { this.showIndex = index; }, 300); // 这里的1000是指需要长按的时间,单位为ms }, touchend(index) { // 这个方法主要是用来将每次手指移出之后将计时器清零 clearInterval(this.Loop); }, // 详情 goDetail(data) { console.log(data); this.$router.push("/change-detail"); this.showIndex = null; }, // 确认 goConfirm(data) { console.log(data); this.$router.push("/change-info"); this.showIndex = null; } } }; </script> <style lang="less" scoped> /* @import url(); 引入css类 */ .con-list { padding: 10px 10px 0; background-color: #f0f1f5; .van-cell-group--inset { margin: 0; margin-bottom: 10px; padding: 10px; font-size: 13px; position: relative; .van-row{ margin-bottom: .133333rem; line-height: .64rem; } .van-overlay { position: absolute; .wrapper { display: flex; align-items: center; justify-content: space-evenly; height: 100%; } } } } </style>
src/views/danger/changeDanger/changeInfo.vue +73 −4 Original line number Original line Diff line number Diff line Loading @@ -3,14 +3,24 @@ <LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader> <van-form <van-form @submit="onSubmit" @submit="onSubmit" :show-error='false' :show-error="false" :scroll-to-error="true" :scroll-to-error="true" validate-trigger="onSubmit" validate-trigger="onSubmit" > > <van-field v-if="isShowreturnCause" v-model="returnCause" readonly rows="1" autosize label="退回原因" type="textarea" /> <van-field <van-field v-model="value" v-model="value" label="隐患整改描述" label="隐患整改描述" name="隐患整改描述" name="details" rows="3" rows="3" type="textarea" type="textarea" placeholder="请输入" placeholder="请输入" Loading @@ -20,7 +30,6 @@ <van-field <van-field name="uploader" name="uploader" label="整改照片" label="整改照片" :rules="[{ required: true, message: '请上传图像' }]" > > <template #input> <template #input> <van-uploader v-model="uploaderImg" /> <van-uploader v-model="uploaderImg" /> Loading Loading @@ -49,6 +58,7 @@ <script> <script> import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue"; import { dangerRectReturn, dangerRectAdd } from "@/service/danger"; export default { export default { components: { components: { LHeader LHeader Loading @@ -56,16 +66,75 @@ export default { data() { data() { return { return { text: "整改确认", text: "整改确认", taskId: "", taskName: "", returnCause: "", isShowreturnCause: false, value: "", value: "", uploaderImg: [], //图像上传 uploaderImg: [], //图像上传 uploaderVideo: [] //视频上传 uploaderVideo: [] //视频上传 }; }; }, }, mounted() {}, created() { this.taskId = this.$route.params.taskId; this.taskName = this.$route.params.taskName; if (this.taskName == "隐患整改(已退回)") { this.isShowreturnCause = true; // 请求退回原因 this.getRectReturn(); } }, methods: { methods: { onSubmit(values) { onSubmit(values) { console.log("submit", values); console.log("submit", values); this.$toast.loading({ message: "提交中...", forbidClick: true, loadingType: "spinner", duration: 0 }); let formdata = new FormData(); formdata.append("details", this.value); // formdata.append("rePicture[]", values.uploader); // formdata.append("reVideo[]", values.uploader2); // 判断保存的url let url = `/rectification/add1/${this.taskId}`; if (this.taskName == "隐患整改(已退回)") { url = `/rectification/add2/${this.taskId}`; } dangerRectAdd(url,formdata) .then(res => { this.$toast.clear(); this.$toast.success({ message: "提交成功", duration: 2000 }); history.go(-1); }) .catch(() => { this.$toast.clear(); this.$toast.fail("提交失败,请稍后再试"); }); }, }, // 请求退回原因方法 getRectReturn() { this.$toast.loading({ message: "加载中...", forbidClick: true, loadingType: "spinner", duration: 0 }); dangerRectReturn(`/rectification/addReturn/${this.taskId}`) .then(res => { this.$toast.clear(); this.returnCause = res.data.reason; }) .catch(() => { this.$toast.clear(); this.$toast.fail("加载失败,请稍后再试"); }); }, cancel() { cancel() { this.$router.go(-1); this.$router.go(-1); } } Loading
src/views/danger/changeDanger/index.vue +145 −16 Original line number Original line Diff line number Diff line Loading @@ -2,42 +2,171 @@ <div> <div> <LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader> <van-search v-model="searchValue" placeholder="搜索" @search="onSearch" /> <van-search v-model="searchValue" placeholder="搜索" @search="onSearch" /> <van-tabs <!-- 内容列表 --> v-model="active" <div class="con-list"> color="#247df7" <van-cell-group title-inactive-colo="#d0d1d1" inset title-active-color="#000000" v-for="(item, index) in messageList" :key="index" @click="read(item)" @touchstart="touchstart(index, item)" @touchend.prevent="touchend(index)" > > <van-tab title="隐患整改"> <van-row gutter=""> <change-danger></change-danger> <van-col span="5">所属项目:</van-col> </van-tab> <van-col span="19">{{ item.proId }}</van-col> </van-tabs> </van-row> <van-row gutter=""> <van-col span="5">隐患级别:</van-col> <van-col span="19">{{ item.hdLev }}</van-col> </van-row> <van-row gutter=""> <van-col span="5">适用范围:</van-col> <van-col span="19">{{ item.hdRange }}</van-col> </van-row> <van-row gutter=""> <van-col span="5">隐患类型:</van-col> <van-col span="19">{{ item.hdType }}</van-col> </van-row> <van-row gutter=""> <van-col span="5">发现时间:</van-col> <van-col span="19">{{ item.hdDiscoveryTime }}</van-col> </van-row> <van-row gutter=""> <van-col span="5">超期标识:</van-col> <van-col span="19">{{ item.dueDate | formatTime }}</van-col> </van-row> <van-row gutter=""> <van-col span="5">状态:</van-col> <van-col span="19">{{ item.taskName }}</van-col> </van-row> <!-- 长按显示遮罩层 --> <van-overlay :show="showIndex == index"> <div class="wrapper" @click.stop> <van-button round type="primary" @touchstart="goDetail(item)" >详情</van-button > <van-button round type="info" @touchstart="goConfirm(item)" >确认</van-button > </div> </van-overlay> </van-cell-group> </div> </div> </div> </template> </template> <script> <script> import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue"; import changeDanger from "./changeDanger.vue"; import { dangerRect } from "@/service/danger"; export default { export default { components: { components: { LHeader, LHeader, changeDanger }, }, data() { data() { return { return { text: "隐患整改", text: "隐患整改", active: "1", searchValue: "", searchValue: "" messageList: [], Loop: "", // 定时器 showIndex: null // 是否显示遮罩层 }; }; }, }, mounted() {}, created() { this.postList() }, methods: { methods: { onSearch(val) { onSearch(val) { console.log(val); console.log(val); }, postList(){ this.$toast.loading({ message: "加载中...", forbidClick: true, loadingType: "spinner", duration: 0 }); dangerRect("/rectification/list").then(res =>{ this.$toast.clear(); this.messageList = res.rows }).catch(() => { this.$toast.clear(); this.$toast.fail("加载失败,请稍后再试"); }); }, touchstart(index, item) { clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器 if (this.showIndex != null) { this.showIndex = null; return; } this.Loop = setTimeout(() => { this.showIndex = index; }, 300); // 这里的1000是指需要长按的时间,单位为ms }, touchend(index) { // 这个方法主要是用来将每次手指移出之后将计时器清零 clearInterval(this.Loop); }, // 详情 goDetail(data) { console.log(data); this.showIndex = null; }, // 确认 goConfirm(data) { console.log(data); this.$router.push({ name:"change-info", params:{ "taskId":data.taskId, "taskName":data.taskName } }); this.showIndex = null; } }, filters:{ formatTime:function(val){ if (new Date(val).getTime() <= new Date().getTime()){ return "超期" }else if(new Date(val).getTime()>= new Date().getTime() && new Date(val).getTime() <= new Date().getTime() + 259200000){ return "临期" }else { return "正常" } } } } } }; }; </script> </script> <style scoped> <style lang="less" scoped> /* @import url(); 引入css类 */ /* @import url(); 引入css类 */ .con-list { padding: 10px 10px 0; background-color: #f0f1f5; .van-cell-group--inset { margin: 0; margin-bottom: 10px; padding: 10px; font-size: 13px; position: relative; .van-row{ margin-bottom: .133333rem; line-height: .64rem; } .van-overlay { position: absolute; .wrapper { display: flex; align-items: center; justify-content: space-evenly; height: 100%; } } } } </style> </style>