From 0bfd7a25e60a0f6fae421123e216f4d50e14254c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E5=89=8D=E6=98=8E?= <909355014@qq.com> Date: Mon, 26 Sep 2022 15:55:52 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/http.api.js | 12 +- manifest.json | 4 +- pages/home/home_.vue | 15 +-- pages/home/list/ticket.vue | 22 +++- pages/workSpace/newWork/addUser.vue | 8 +- pages/workSpace/operation/gasList.vue | 25 +++-- pages/workSpace/operation/operationCreate.vue | 106 ++++++++++++------ pages/workSpace/operation/operationList.vue | 25 +++-- pages/workSpace/operation/oplDetail.vue | 3 +- pages/workSpace/opls/fire.vue | 14 ++- pages/workSpace/rpj/rpjDetail.vue | 12 +- pages/workSpace/rpj/rpjLisst.vue | 33 ++++-- pages/workSpace/visit/visitList.vue | 8 +- pages/workSpace/workSpace.vue | 28 +++++ store/index.js | 1 + 15 files changed, 226 insertions(+), 90 deletions(-) diff --git a/common/http.api.js b/common/http.api.js index 0e37775..271cdd2 100644 --- a/common/http.api.js +++ b/common/http.api.js @@ -50,12 +50,14 @@ const install = (Vue, vm) => { let addNodeEnd = (id, data = {}) => vm.$u.get(`/wf/ticket/${id}/add_node_end/`, data); //加签处理 let deliver = (id, data = {}) => vm.$u.get(`/wf/ticket/${id}/deliver/`, data); //转交工单 let ticketHandle = (id, data = {}) => vm.$u.post(`/wf/ticket/${id}/handle/`, data); //工单处理 + let ticketRetry = (id) => vm.$u.post(`/wf/ticket/${id}/retry_script/`, data); //工单重试 let ticketAccept = (id) => vm.$u.post(`/wf/ticket/${id}/accpet/`); //接单 let operationList = (data = {}) => vm.$u.get('/opm/operation/', data); //作业列表 let operationItem = (id) => vm.$u.get(`/opm/operation/${id}/`); //作业详情 let operationCreat = (data = {}) => vm.$u.post('/opm/operation/', data); //作业新建 let operationUpdate = (id, data = {}) => vm.$u.put(`/opm/operation/${id}/`, data); //作业编辑 + let operationDelete = (id) => vm.$u.delete(`/opm/operation/${id}/`); //作业编辑 let oplItem = (id) => vm.$u.get(`/opm/opl/${id}/`); //opl作业许可证查询 let oplLists = (data = {}) => vm.$u.get('/opm/opl/', data); //作业许可证 let oplCate = (data = {}) => vm.$u.get('/opm/opl_cate/', data); //作业许可证类型 @@ -66,7 +68,8 @@ const install = (Vue, vm) => { let oplWorkerCreate = (data = {}) => vm.$u.post('/opm/opl_worker/', data); //作业许可证工作人员创建 let oplWorkerDelete = (id) => vm.$u.delete(`/opm/opl_worker/${id}/`); //作业许可证工作人员删除 let oplGasList = (data = {}) => vm.$u.get('/opm/gas_check/', data); //气体检测记录 - let oplGasCreate = (data = {}) => vm.$u.post('/opm/gas_check/', data); //作业许可证类型 + let oplGasCreate = (data = {}) => vm.$u.post('/opm/gas_check/', data); //气体监测记录创建 + let oplGasDelete = (id) => vm.$u.delete(`/opm/gas_check/${id}`); //气体监测记录删除 let oplMtartMtask = (id) => vm.$u.post(`/opm/opl/${id}/start_mtask/`); //作业开始监控 let oplStopMtask = (id) => vm.$u.post(`/opm/opl/${id}/stop_mtask/`); //作业结束监控 @@ -83,6 +86,7 @@ const install = (Vue, vm) => { let rpjMemberDelete = (id) => vm.$u.post(`/rpm/rpj_member/${id}/`); //入厂项目工作人员删除 let areaLists = (data = {}) => vm.$u.get('/am/area/', data); //作业区域 + let areaDetail = (id) => vm.$u.get(`/am/area/${id}/`); // 区域详情 let visitList = (data = {}) => vm.$u.get(`/vm/visit/`, data); //来访项目查询 let visitItem = (id) => vm.$u.get(`/vm/visit/${id}/`); //来访项目详情 @@ -105,6 +109,7 @@ const install = (Vue, vm) => { let eventtHandle = (id,data={}) => vm.$u.post(`/ecm/event/${id}/handle/`, data); //事件处理 let thirdBltBind = (data={}) => vm.$u.post(`/third/tdevice/blt_bind/`, data); //解绑卡 + let tdevice = (data={}) => vm.$u.get(`/third/tdevice/`, data); //设备列表 vm.$u.api = { getUserInfo , @@ -131,6 +136,7 @@ const install = (Vue, vm) => { workflowInit, getTicketTransitions, getTicketLog, + ticketRetry, visitList, visitItem, @@ -163,6 +169,7 @@ const install = (Vue, vm) => { operationItem, operationCreat, operationUpdate, + operationDelete, operationList, oplLists, oplItem, @@ -176,12 +183,14 @@ const install = (Vue, vm) => { oplMtartMtask, oplStopMtask, oplWorkerDelete, + oplGasDelete, hrmUserInfo, hrmCertificate, hrmUpdateInfo, areaLists, + areaDetail, eventList, eventtItem, @@ -192,6 +201,7 @@ const install = (Vue, vm) => { permissions, thirdBltBind, + tdevice }; } diff --git a/manifest.json b/manifest.json index 20a904f..605978c 100644 --- a/manifest.json +++ b/manifest.json @@ -2,8 +2,8 @@ "name" : "曲阳金隅EHS", "appid" : "__UNI__B00D419", "description" : "曲阳金隅EHS", - "versionName" : "1.00.09", - "versionCode" : 10009, + "versionName" : "1.00.11", + "versionCode" : 10011, "transformPx" : false, /* 5+App特有相关 */ "app-plus" : { diff --git a/pages/home/home_.vue b/pages/home/home_.vue index 25e4112..6732ab9 100644 --- a/pages/home/home_.vue +++ b/pages/home/home_.vue @@ -64,7 +64,7 @@ - 实时事件 + 最近发生 查看更多 @@ -151,14 +151,15 @@ }, getEvent() { let that = this; - let date = new Date(); - let years = date.getFullYear(); - let months = date.getMonth()+1; - let days = date.getDate(); - that.eventList = [] + // let date = new Date(); + // let years = date.getFullYear(); + // let months = date.getMonth() + 1; + // let days = date.getDate(); + // that.eventList = [] let params = { page: 1, - start_create: years+'-'+months+'-'+days + page_size: 2, + ordering: '-create_time' }; that.$u.api.eventList(params).then(res => { let eventList = res.results.filter(item => { diff --git a/pages/home/list/ticket.vue b/pages/home/list/ticket.vue index de75554..17087c3 100644 --- a/pages/home/list/ticket.vue +++ b/pages/home/list/ticket.vue @@ -48,7 +48,7 @@ 关闭 + v-if="vuex_user.id===val.create_by&&val.state_.type!==1&&val.state_.enable_retreat"> 撤回 @@ -57,6 +57,10 @@ 查看 + + + 重试 + @@ -126,10 +130,18 @@ projectId = row.ticket_data.opl; cateType = 'opl' } - const params = `?ticketId=${row.id}&projectId=${projectId}&cateType=${cateType}&type=${type}`; - uni.navigateTo({ - url: '../detail/ticketHandle' + params, - }) + if(type=='retry'){ + that.$u.api.ticketRetry(row.id).then(res => { + uni.showToast({ + title: '重试下发成功' + }) + }) + }else{ + const params = `?ticketId=${row.id}&projectId=${projectId}&cateType=${cateType}&type=${type}`; + uni.navigateTo({ + url: '../detail/ticketHandle' + params, + }) + } }, //接单 diff --git a/pages/workSpace/newWork/addUser.vue b/pages/workSpace/newWork/addUser.vue index feb1c42..1638783 100644 --- a/pages/workSpace/newWork/addUser.vue +++ b/pages/workSpace/newWork/addUser.vue @@ -61,11 +61,9 @@ }, saveVisitor(){ this.$u.api.visitorCreate(this.formData).then(res=>{ - if(res.err_msg){}else{ - uni.navigateTo({ - url: '/pages/workSpace/visit/vpeopleList' - }) - } + uni.navigateBack({ + delta: 1 + }) }) }, goBack() { diff --git a/pages/workSpace/operation/gasList.vue b/pages/workSpace/operation/gasList.vue index 34b39ee..b698587 100644 --- a/pages/workSpace/operation/gasList.vue +++ b/pages/workSpace/operation/gasList.vue @@ -4,16 +4,22 @@ leftIcon="left" border backgroundColor="#2cade8" color="#fff" fixed statusBar shadow> - - + + 检测部位:{{row.check_place}} O₂(%):{{row.o2}} CO:{{row.co}} 可燃气体(V%LEL):{{row.lel}} - 检验结论:{{row.is_ok}} + 检验结论: + 正常 + 异常 + 检测人:{{row.checker_.name}} 检验时间:{{row.check_time}} + + + @@ -32,7 +38,7 @@
检测时间: - + @@ -99,7 +105,7 @@ limitedDialog: false, formData: { opl: '', - check_time: '选择日期', + check_time: null, check_place:'', o2:'', co:'', @@ -125,6 +131,11 @@ this.getInit(); }, methods: { + remove(row){ + this.$u.api.oplGasDelete(row.id).then(res => { + this.getGasCheckList() + }) + }, timeChange(e){ // debugger; console.log(e.detail.value) @@ -309,12 +320,12 @@ } .dialogCont { - width: 80vw; + width: 92vw; position: absolute; top: 50%; margin: auto; background-color: #ffffff; - left: 10vw; + left: 4vw; transform: translateY(-50%); padding: 20rpx; border-radius: 20rpx; diff --git a/pages/workSpace/operation/operationCreate.vue b/pages/workSpace/operation/operationCreate.vue index 438e69d..81d6cb3 100644 --- a/pages/workSpace/operation/operationCreate.vue +++ b/pages/workSpace/operation/operationCreate.vue @@ -13,7 +13,7 @@ - * + 具体地点 @@ -23,19 +23,17 @@ * - 开始时间 + 作业时间 - - - - - - * - 结束时间 - - - + + + @@ -55,7 +53,7 @@ 作业区域 - + @@ -68,6 +66,18 @@ + + + * + 属地部门 + + + + + + * @@ -90,20 +100,6 @@ - - - - * - 属地部门 - - - - - - - @@ -127,12 +123,12 @@ start_time: '', //作业开始时间 end_time: '', //作业结束时间 state_work: '', //生产状态 - belong_dept: '', //所属部门 - area: '', //作业区域 + area: null, //作业区域 dept_ter: '', //属地部门 dept_bus: '', //业务部门 coordinator: '', //业务部门协调员 }, + datetimerange: [], userRange: [], vchannelOptions: [], //作业区域 @@ -155,6 +151,12 @@ depRange: [], } }, + watch: { + datetimerange(newval) { + this.formData.start_time = this.datetimerange[0] + this.formData.end_time = this.datetimerange[1] + }, + }, onLoad(params) { debugger; if(params.operationId){ @@ -178,12 +180,45 @@ this.range = []; }, methods: { + areaChange(val) { + this.getVchannelOptions(val) + this.getAreaDept(val) + }, + getVchannelOptions(val) { + if(val==null || val==''){ + return + } + this.$u.api.tdevice({area: val, type: 60, page: 0}).then(res=>{ + let vchannelOptions = []; + let obj = {}; + res.forEach(item => { + obj = { + value: null, + text: '' + }; + obj.value = item.id; + obj.text = item.name; + vchannelOptions.push(obj); + }) + this.vchannelOptions = vchannelOptions + }) + }, + getAreaDept(val){ + console.log(val) + if(val==null || val==''){ + return + } + this.$u.api.areaDetail(val).then(res=>{ + this.formData.dept_ter = res.belong_dept + }) + }, //获取工作operation getOperation() { debugger; let that = this; that.$u.api.operationItem(that.operationId).then((res) => { that.formData.id = res.id; // + that.formData.state = res.state; that.formData.name = res.name; // that.formData.place = res.place; // that.formData.state_work = res.state_work; // @@ -193,9 +228,11 @@ that.formData.dept_ter = res.dept_ter; // that.formData.start_time = res.start_time; //作业开始时间 that.formData.end_time = res.end_time; //作业结束时间 + if(res.vchannels){ + that.formData.vchannel = res.vchannels[0] + } that.operationName = res.name; //作业 - console.log(res); - debugger; + that.datetimerange = [res.start_time, res.end_time] }); }, saveSubmit() { @@ -203,12 +240,16 @@ if (!that.paramsCheck()) { return; } else { + if(this.formData.vchannel){ + this.formData.vchannels = [this.formData.vchannel] + } if(this.formData.id){ if(this.formData.state!=10){ uni.navigateTo({ url: '/pages/workSpace/operation/oplCate?operationId='+this.formData.id }) }else{ + this.$u.api.operationUpdate(this.formData.id,this.formData).then(res => { let params = `?operationId=${res.id}`; uni.navigateTo({ @@ -232,8 +273,6 @@ let that = this; that.$u.api.deptList({page: 0}).then(res => { that.depRange = that.redata(res); - - console.log(that.depRange) }) }, //获取作业区域 @@ -289,7 +328,6 @@ parent.children = parent.children ? parent.children : []; parent.children.push(item); } - console.log(arr); return arr; }, diff --git a/pages/workSpace/operation/operationList.vue b/pages/workSpace/operation/operationList.vue index b46cb5c..fe252e6 100644 --- a/pages/workSpace/operation/operationList.vue +++ b/pages/workSpace/operation/operationList.vue @@ -55,7 +55,11 @@ 查看 - + + + 删除 + + 新增违规 @@ -114,7 +118,7 @@ //下拉刷新 onPullDownRefresh() { this.params.pageNum = 1; - this.ticketList = []; + this.lists = []; this.getLists(); }, methods: { @@ -126,11 +130,18 @@ }) }, operationHandle(val,type) { - let operation = val.id;//作业id - const params = `?operationId=${val.id}&type=${type}`; - uni.navigateTo({ - url: '/pages/workSpace/operation/operationCreate' + params, - }) + if (type=='delete'){ + this.$u.api.operationDelete(val.id).then(res => { + this.resetSearch() + }) + }else{ + let operation = val.id;//作业id + const params = `?operationId=${val.id}&type=${type}`; + uni.navigateTo({ + url: '/pages/workSpace/operation/operationCreate' + params, + }) + } + }, operationDetail(val){ let operation = val.id;//作业id diff --git a/pages/workSpace/operation/oplDetail.vue b/pages/workSpace/operation/oplDetail.vue index 17eaca6..d0d7b86 100644 --- a/pages/workSpace/operation/oplDetail.vue +++ b/pages/workSpace/operation/oplDetail.vue @@ -107,7 +107,8 @@ {{item1.check_place}} - + 正常 + 异常 diff --git a/pages/workSpace/opls/fire.vue b/pages/workSpace/opls/fire.vue index 0d2990e..0efcc90 100644 --- a/pages/workSpace/opls/fire.vue +++ b/pages/workSpace/opls/fire.vue @@ -172,9 +172,7 @@ risks_checked: [], measures_checked: [], }, - header: { - Authorization: "Bearer " + this.vuex_token - }, + header: {}, oplId: null, operationName: '', oplCateName: '', @@ -209,6 +207,9 @@ if (params.oplId) { this.oplId = params.oplId; this.formData.id = params.oplId; + }else{ + console.log('s', this.vuex_user.belong_dept) + this.formData.dept_do = this.vuex_user.belong_dept } this.formData.cate = this.oplcateId; this.formData.operation = this.operationId; @@ -223,6 +224,11 @@ this.getHeader(); }, methods: { + getHeader() { + this.header = { + Authorization: "Bearer " + this.vuex_token + } + }, //获取工作operation getOperation() { let that = this; @@ -415,7 +421,7 @@ } else { that.$u.api.oplCreate(that.formData).then(res => { uni.hideLoading(); - params = `?oplId=${res.oplId}`; + params = `?oplId=${res.id}`; uni.navigateTo({ url: '/pages/workSpace/operation/workerList' + params }) diff --git a/pages/workSpace/rpj/rpjDetail.vue b/pages/workSpace/rpj/rpjDetail.vue index 3ab4436..d0c8d0a 100644 --- a/pages/workSpace/rpj/rpjDetail.vue +++ b/pages/workSpace/rpj/rpjDetail.vue @@ -48,7 +48,7 @@ - 证书: + 资料: 资质内容 @@ -68,7 +68,7 @@ - 暂无相关证书 + 暂无相关资料 作业人员: @@ -108,6 +108,14 @@ }, workerList:[], certificateList:[], + stateOptions: { + 10: "创建中", + 20: "审批中", + 30: "待入厂", + 40: "进行中", + 50: "已完成", + 60: "已关闭", + }, act_states: { 0: "草稿中", 1: "进行中", diff --git a/pages/workSpace/rpj/rpjLisst.vue b/pages/workSpace/rpj/rpjLisst.vue index 73ba788..df5a126 100644 --- a/pages/workSpace/rpj/rpjLisst.vue +++ b/pages/workSpace/rpj/rpjLisst.vue @@ -40,16 +40,20 @@ 相关方:{{val.rparty_name}} 合同编号:{{val.contract_number}} + 状态:{{stateOptions[val.state]}} 作业类型:{{typeOptions[val.type]}} 所属部门:{{val.belong_dept_name}} - 入厂时间:{{val.come_time}} - 离厂时间:{{val.leave_time}} + 入厂时间:{{val.come_time}}-{{val.leave_time}} 编辑 + + + 删除 + @@ -78,9 +82,10 @@ stateOptions: { 10: "创建中", 20: "审批中", - 30: "待作业", - 40: "作业中", - 50: "已关闭", + 30: "待入厂", + 40: "进行中", + 50: "已完成", + 60: "已关闭", }, typeOptions: { 10: "建筑施工", @@ -120,7 +125,7 @@ //下拉刷新 onPullDownRefresh() { this.params.pageNum = 1; - this.ticketList = []; + this.lists = []; this.getLists(); }, methods: { @@ -132,10 +137,18 @@ }) }, rpjHandle(val, type) { - const params = `?rpj=${val.id}&type=${type}`; - uni.navigateTo({ - url: '/pages/workSpace/rpj/rpjCreate' + params, - }) + if(type=='delete'){ + this.$u.api.rpjDelete(val.id).then(res => { + this.resetSearch() + }) + }else{ + const params = `?rpj=${val.id}&type=${type}`; + uni.navigateTo({ + url: '/pages/workSpace/rpj/rpjCreate' + params, + }) + + } + }, rpjDetail(val){ const params = `?rpjId=${val.id}`; diff --git a/pages/workSpace/visit/visitList.vue b/pages/workSpace/visit/visitList.vue index 36d1571..9775aaa 100644 --- a/pages/workSpace/visit/visitList.vue +++ b/pages/workSpace/visit/visitList.vue @@ -113,8 +113,8 @@ }, //下拉刷新 onPullDownRefresh() { - this.pageNum = 1; - this.ticketList = []; + this.params.pageNum = 1; + this.lists = []; this.getLists(); }, methods: { @@ -137,9 +137,7 @@ }) }else if(type=='delete'){ this.$u.api.visitDelete(val.id).then(res => { - this.pageNum = 1; - this.ticketList = []; - this.getLists(); + this.resetSearch() }) } diff --git a/pages/workSpace/workSpace.vue b/pages/workSpace/workSpace.vue index 4b31888..f986f1d 100644 --- a/pages/workSpace/workSpace.vue +++ b/pages/workSpace/workSpace.vue @@ -79,6 +79,7 @@ + @@ -119,6 +120,22 @@ this.limitedOperation = this.vuex_perm.includes('operation.create')>-1||this.vuex_perm.includes('superuser')>-1; }, methods: { + bindBtl(){ + let that = this; + uni.scanCode({ + success: function (res) { + let form = {}; + form.type = 20; + form.code = res.result; + that.$u.api.thirdBltBind(form).then(res=>{ + uni.showToast({ + title: res, + icon: "none" + }) + }) + } + }); + }, goInto(index) { if (index == 0) { uni.navigateTo({ @@ -460,4 +477,15 @@ -webkit-box-orient: vertical; -webkit-line-clamp: 1; } + .backCard { + width: 100px; + height: 48px; + border-radius: 25px; + line-height: 48px; + box-shadow: 0 0 6px 2px rgba(255, 170, 0, 0.3); + z-index: 100; + position: fixed; + bottom: 80px; + right: 20px; + } diff --git a/store/index.js b/store/index.js index b090462..cbd11d9 100644 --- a/store/index.js +++ b/store/index.js @@ -40,6 +40,7 @@ const store = new Vuex.Store({ // vuex_host: 'http://222.222.144.147:6013', // vuex_api: 'http://222.222.144.147:6013/api', // vuex_apifile: 'http://222.222.144.147:6013/api/file/', + // vuex_api: 'http://127.0.0.1:8000/api', vuex_host: 'http://10.99.5.79:20309', vuex_api: 'http://10.99.5.79:20309/api', vuex_apifile: 'http://10.99.5.79:20309/api/file/',