diff --git a/src/App.vue b/src/App.vue index 3b3a1c7..aec76a8 100644 --- a/src/App.vue +++ b/src/App.vue @@ -32,4 +32,20 @@ export default { font-size: 14px; border-radius: 15px; } +.appeal .el-button{ + padding: 7px 10px; + font-size: 14px; + border-radius: 15px; + width: 63px; +} +.el-button--text{ + padding: 5px 10px; +} +.el-loading-spinner { + top: 50%; + /* margin-top: -21px; */ + width: 90%; + text-align: center; + position: fixed; +} diff --git a/src/components/AliOSS/index.vue b/src/components/AliOSS/index.vue index f5f9df7..324f3f8 100644 --- a/src/components/AliOSS/index.vue +++ b/src/components/AliOSS/index.vue @@ -54,25 +54,29 @@ export default { console.log(fileList) fileList.forEach(item => { if (item.status === 'ready') { - const suffix = item.name.split('.')[1] + // const suffix = item.name.split('.')[1] + const suffix = item.name.substr(item.name.lastIndexOf('.')+1) const fileName = UUID.generate() + '.' + suffix item.name = fileName OSS(item.raw, fileName).then(res => { - this.$emit('input', res.url) - item.url = res.url + + this.$emit('input', 'http://storage.myntv.cn/'+res.name) + item.url = 'http://storage.myntv.cn/'+res.name item.status = 'success' const list = fileList.filter(item => item.status === 'success').map(item => item.url) + console.log(list); this.$emit('input', list) }) } }) } else { - const suffix = file.name.split('.')[0] + // const suffix = file.name.split('.')[0] + const suffix = item.name.substr(item.name.lastIndexOf('.')+1) const fileName = UUID.generate() + '.' + suffix file.name = fileName this.fileList = [file] OSS(file.raw, fileName).then(res => { - this.$emit('input', res.url) + this.$emit('input', 'http://storage.myntv.cn/'+res.name) }) } }, diff --git a/src/components/Breadcrumb/index.vue b/src/components/Breadcrumb/index.vue index a9cba01..4f2f359 100644 --- a/src/components/Breadcrumb/index.vue +++ b/src/components/Breadcrumb/index.vue @@ -1,8 +1,12 @@ diff --git a/src/views/convenience/detail.vue b/src/views/convenience/detail.vue index 8062b11..074ae32 100644 --- a/src/views/convenience/detail.vue +++ b/src/views/convenience/detail.vue @@ -1,21 +1,45 @@ @@ -838,7 +1084,7 @@ export default { filters: { sponsorFilter(status) { const statusMap = { - SELF: "居民", + SELF: "群众", STAFF: "工作人员" }; return statusMap[status]; @@ -854,7 +1100,7 @@ export default { }, statusFilter(status) { const statusMap = { - MINE: "待我处理", + MINE: "我处理", FORWARDED: "已转交", FORWARDED_APPLY: "转交超限审批中", SUBMIT_APPLY: "已提交审批", @@ -877,7 +1123,8 @@ export default { 11: "发起审批", 12: "撤销审批", 13: "审批操作", - 14: "转交" + 14: "转交", + 16: "提示" }; return statusMap[status]; }, @@ -955,7 +1202,9 @@ export default { dialogEventType: false, typeOptions: [], eventTypeId: undefined, - applyDetail: false + applyDetail: false, + isEventTypeChange: false, + cxPop: false }; }, created() { @@ -970,6 +1219,7 @@ export default { this.convenience = res.d; const tempData = Object.assign({}, this.convenience); const now = Date.parse(new Date()).toString() / 1000; + // console.log(now); clearInterval(this.acceptanceInterval); clearInterval(this.prerequisitesInterval); clearInterval(this.finishTimeInterval); @@ -985,17 +1235,21 @@ export default { // 要件准备 case "PREREQUISITES": if (tempData.prerequisitesTime === null) { - this.preMsec = now - this.convenience.createDate; + this.preMsec = + now - tempData.createDate - tempData.acceptanceTime; this.acceptanceMsec = tempData.acceptanceTime; this.timeFormat("acceptanceTime", this.acceptanceMsec); this.countdown(tempData.phase); } break; - // 办结 + // 办理中 case "PROCESSING": if (tempData.finishTime === null) { this.finishMsec = - now - this.preMsec - this.convenience.createDate; + now - + tempData.createDate - + tempData.acceptanceTime - + tempData.prerequisitesTime; this.acceptanceMsec = tempData.acceptanceTime; this.preMsec = tempData.prerequisitesTime; this.timeFormat("acceptanceTime", this.acceptanceMsec); @@ -1003,6 +1257,20 @@ export default { this.countdown(tempData.phase); } break; + // 办结 + case "FINISH": + // console.log(123); + if (tempData.finishTime !== null) { + this.finishMsec = tempData.finishTime; + this.acceptanceMsec = tempData.acceptanceTime; + this.preMsec = tempData.prerequisitesTime; + this.timeFormat("acceptanceTime", this.acceptanceMsec); + this.timeFormat("prerequisitesTime", this.preMsec); + this.timeFormat("finishTime", this.finishMsec); + + this.countdown(tempData.phase); + } + break; } // const now = Date.parse(new Date()).toString() / 1000; // switch (this.convenience.phase) { @@ -1044,16 +1312,16 @@ export default { typeList().then(res => { this.typeOptions = []; res.d.map(i => { - let children = []; + const children = []; i.eventTypesList.map(c => { - let level2 = { + const level2 = { label: c.eventName, value: c.id }; children.push(level2); }); - let level1 = { + const level1 = { label: i.eventName, children }; @@ -1086,6 +1354,7 @@ export default { }, 1000); } else if (phase === "PROCESSING") { this.finishTimeInterval = setInterval(() => { + // console.log(233); this.timeFormat("finishTime", this.finishMsec); this.finishMsec++; }, 1000); @@ -1093,18 +1362,144 @@ export default { this.convenience.acceptanceTime + this.convenience.prerequisitesTime + this.finishMsec; + console.log(this.totalMsec); this.totalTimeInterval = setInterval(() => { this.timeFormat("totalTime", this.totalMsec); this.totalMsec++; }, 1000); } else if (phase === "FINISH") { + // console.log(233); this.finishMsec; + this.totalMsec = + this.convenience.acceptanceTime + + this.convenience.prerequisitesTime + + this.convenience.finishTime; + this.timeFormat("totalTime", this.totalMsec); + // this.totalTimeInterval = setInterval(() => { + // this.totalMsec++; + // }, 1000); + } else { + // 除FINISH外total都要计时 + // this.totalTimeInterval = setInterval(() => { + // this.timeFormat(this.totalTime, this.totalMsec); + // this.totalMsec++; + // }, 1000); } + + // if (phase === "PENDING_ORDER") { + // // 受理 + // if (this.convenience.acceptanceTime === null) { + // this.acceptanceInterval = setInterval(() => { + // this.acceptanceTime.hour = Math.floor(this.acceptanceMsec / 3600); + // this.acceptanceTime.minute = Math.floor( + // ((this.acceptanceMsec % 86400) % 3600) / 60 + // ); + // this.acceptanceTime.second = Math.floor( + // ((this.acceptanceMsec % 86400) % 3600) % 60 + // ); + // this.totalTime = this.acceptanceTime; + // this.acceptanceMsec++; + // }, 1000); + // } else { + // this.acceptanceTime.hour = Math.floor(this.acceptanceMsec / 3600); + // this.acceptanceTime.minute = Math.floor( + // ((this.acceptanceMsec % 86400) % 3600) / 60 + // ); + // this.acceptanceTime.second = Math.floor( + // ((this.acceptanceMsec % 86400) % 3600) % 60 + // ); + // } + // } else if (phase === "PREREQUISITES") { + // // 要件准备 + // if (this.convenience.prerequisitesTime === null) { + // this.prerequisitesInterval = setInterval(() => { + // this.prerequisitesTime.hour = Math.floor(this.preMsec / 3600); + // this.prerequisitesTime.minute = Math.floor( + // ((this.preMsec % 86400) % 3600) / 60 + // ); + // this.prerequisitesTime.second = Math.floor( + // ((this.preMsec % 86400) % 3600) % 60 + // ); + // // this.totalTime = this.acceptanceTime; + // this.totalMsec = this.acceptanceMsec + this.preMsec; + // this.totalTime.hour = Math.floor(this.totalMsec / 3600); + // this.totalTime.minute = Math.floor( + // ((this.totalMsec % 86400) % 3600) / 60 + // ); + // this.totalTime.second = Math.floor( + // ((this.totalMsec % 86400) % 3600) % 60 + // ); + // this.preMsec++; + // }, 1000); + // } else { + // this.prerequisitesTime.hour = Math.floor(this.preMsec / 3600); + // this.prerequisitesTime.minute = Math.floor( + // ((this.preMsec % 86400) % 3600) / 60 + // ); + // this.prerequisitesTime.second = Math.floor( + // ((this.preMsec % 86400) % 3600) % 60 + // ); + // } + // } else if (phase === "PROCESSING") { + // // 办结 + // if (this.convenience.finishTime === null) { + // this.finishTimeInterval = setInterval(() => { + // this.finishTime.hour = Math.floor(this.finishMsec / 3600); + // this.finishTime.minute = Math.floor( + // ((this.finishMsec % 86400) % 3600) / 60 + // ); + // this.finishTime.second = Math.floor( + // ((this.finishMsec % 86400) % 3600) % 60 + // ); + // this.finishMsec++; + // }, 1000); + // } else { + // this.finishTime.hour = Math.floor(this.finishMsec / 3600); + // this.finishTime.minute = Math.floor( + // ((this.finishMsec % 86400) % 3600) / 60 + // ); + // this.finishTime.second = Math.floor( + // ((this.finishMsec % 86400) % 3600) % 60 + // ); + // console.log(this.convenience.finishTime); + // } + // } else { + // this.acceptanceTime.hour = Math.floor(this.acceptanceMsec / 3600); + // this.acceptanceTime.minute = Math.floor( + // ((this.acceptanceMsec % 86400) % 3600) / 60 + // ); + // this.acceptanceTime.second = Math.floor( + // ((this.acceptanceMsec % 86400) % 3600) % 60 + // ); + // this.prerequisitesTime.hour = Math.floor(this.preMsec / 3600); + // this.prerequisitesTime.minute = Math.floor( + // ((this.preMsec % 86400) % 3600) / 60 + // ); + // this.prerequisitesTime.second = Math.floor( + // ((this.preMsec % 86400) % 3600) % 60 + // ); + // this.finishTime.hour = Math.floor(this.finishMsec / 3600); + // this.finishTime.minute = Math.floor( + // ((this.finishMsec % 86400) % 3600) / 60 + // ); + // this.finishTime.second = Math.floor( + // ((this.finishMsec % 86400) % 3600) % 60 + // ); + // } }, timeFormat(obj, timeStamp) { - this[obj].hour = Math.floor(timeStamp / 3600); - this[obj].minute = Math.floor(((timeStamp % 86400) % 3600) / 60); - this[obj].second = Math.floor(((timeStamp % 86400) % 3600) % 60); + this[obj].hour = + Math.floor(timeStamp / 3600) < 9 + ? "0" + Math.floor(timeStamp / 3600) + : Math.floor(timeStamp / 3600); + this[obj].minute = + Math.floor(((timeStamp % 86400) % 3600) / 60) < 9 + ? "0" + Math.floor(((timeStamp % 86400) % 3600) / 60) + : Math.floor(((timeStamp % 86400) % 3600) / 60); + this[obj].second = + Math.floor(((timeStamp % 86400) % 3600) % 60) < 9 + ? "0" + Math.floor(((timeStamp % 86400) % 3600) % 60) + : Math.floor(((timeStamp % 86400) % 3600) % 60); }, getCommunicationList() { communicationList({ id: this.id }).then(res => { @@ -1148,11 +1543,12 @@ export default { type: 2 }; update(payload).then(res => { - console.log(res); + // console.log(res); this.$notify.success("撤销成功"); }); }, handleContact() { + this.resetPayload(); this.$nextTick(() => { this.$refs.contractForm.clearValidate(); }); @@ -1162,7 +1558,7 @@ export default { this.payload.version = this.convenience.version; }, getNames(arr) { - let temp = []; + const temp = []; arr.map(item => { temp.push(item.name); }); @@ -1225,7 +1621,7 @@ export default { this.handleUpdate(11); }, handleUpdate(type) { - console.log(type); + // console.log(type); this.resetPayload(); this.updateType = type; this.payload.id = this.convenience.id; @@ -1260,7 +1656,7 @@ export default { case 14: // console.log("handle14"); // 转交 - let frequencys = this.convenience.records.filter( + const frequencys = this.convenience.records.filter( m => m.frequency !== null ); if ( @@ -1286,8 +1682,21 @@ export default { break; } }, + handleEventTypeChange(val) { + // console.log(val); + // handle + this.payload = { + id: this.id, + type: 4, + version: this.convenience.version, + remark: val + }; + this.updateType = 4; + this.updateData(); + // this.dialogEventType = false; + }, handleChange(val) { - console.log(val); + // console.log(val); }, apply() { // this.$refs.updateForm.validate(valid=>{ @@ -1331,6 +1740,20 @@ export default { this.$router.push("/convenience/list"); return; } + if (this.updateType === 4) { + this.isEventTypeChange = false; + } + if (this.updateType === 12) { + this.cxPop = false; + } + // if (this.updateType===12){ + // this.$notify.success('撤销成功') + // } + // if(this.updateType===10||this.updateType===13){ + // if(this.payload.approve){ + // this.$notify.success('审批通过') + // } + // } this.getInfo(); } }); @@ -1365,6 +1788,15 @@ export default { this.updateType = 4; this.updateData(); this.dialogEventType = false; + }, + cascader() { + this.isEventTypeChange = !this.isEventTypeChange; + this.$nextTick(() => { + console.log(this.$refs.cascader) + const tempRef = this.$refs.cascader; + tempRef.$el.style.display='inline-block' + this.$refs.cascader.focusFirstNode() + }, 100); } }, beforeRouteLeave(to, from, next) { @@ -1373,12 +1805,29 @@ export default { clearInterval(this.finishTimeInterval); next(); } + // timeFormat(timeStamp) { + // const timeStr = `${ + // Math.floor(timeStamp / 3600) < 9 + // ? "0" + Math.floor(timeStamp / 3600) + // : Math.floor(timeStamp / 3600) + // }:${ + // Math.floor(((timeStamp % 86400) % 3600) / 60) < 9 + // ? "0" + Math.floor(((timeStamp % 86400) % 3600) / 60) + // : Math.floor(((timeStamp % 86400) % 3600) / 60) + // }:${ + // Math.floor(((timeStamp % 86400) % 3600) % 60) < 9 + // ? "0" + Math.floor(((timeStamp % 86400) % 3600) % 60) + // : Math.floor(((timeStamp % 86400) % 3600) % 60) + // }`; + // return timeStr; + // } }; diff --git a/src/views/convenience/img/icon_acceptance.png b/src/views/convenience/img/icon_acceptance.png index 0a8a0e6..5eabe7e 100644 Binary files a/src/views/convenience/img/icon_acceptance.png and b/src/views/convenience/img/icon_acceptance.png differ diff --git a/src/views/convenience/img/icon_finish.png b/src/views/convenience/img/icon_finish.png index 5ee0260..5bf54f6 100644 Binary files a/src/views/convenience/img/icon_finish.png and b/src/views/convenience/img/icon_finish.png differ diff --git a/src/views/convenience/img/icon_fujian_self.png b/src/views/convenience/img/icon_fujian_self.png new file mode 100644 index 0000000..7a781ed Binary files /dev/null and b/src/views/convenience/img/icon_fujian_self.png differ diff --git a/src/views/convenience/img/icon_jd.png b/src/views/convenience/img/icon_jd.png new file mode 100644 index 0000000..88a697a Binary files /dev/null and b/src/views/convenience/img/icon_jd.png differ diff --git a/src/views/convenience/img/icon_prepare.png b/src/views/convenience/img/icon_prepare.png index 9f27390..6120554 100644 Binary files a/src/views/convenience/img/icon_prepare.png and b/src/views/convenience/img/icon_prepare.png differ diff --git a/src/views/convenience/img/icon_yj.png b/src/views/convenience/img/icon_yj.png new file mode 100644 index 0000000..96e3888 Binary files /dev/null and b/src/views/convenience/img/icon_yj.png differ diff --git a/src/views/convenience/img/timeLine_self.png b/src/views/convenience/img/timeLine_self.png new file mode 100644 index 0000000..d8f5a41 Binary files /dev/null and b/src/views/convenience/img/timeLine_self.png differ diff --git a/src/views/convenience/img/timeLine_staff.png b/src/views/convenience/img/timeLine_staff.png new file mode 100644 index 0000000..fdbc172 Binary files /dev/null and b/src/views/convenience/img/timeLine_staff.png differ diff --git a/src/views/convenience/list.vue b/src/views/convenience/list.vue index dd4e21a..ad27b6c 100644 --- a/src/views/convenience/list.vue +++ b/src/views/convenience/list.vue @@ -3,7 +3,7 @@
直接建立工单 @@ -32,7 +32,7 @@
-
+
-
城乡养老保险个人变更登记
+
{{ item.eventType.eventName }}
{{ item.sponsor | sponsorFilter }}创建于{{ item.createDate | parseTime("{y}-{m}-{d} {h}:{i}:{s}") @@ -57,11 +57,14 @@

流水号:{{ item.serialNumber }}

阶段:{{ item.phase | phaseFilter }} - + {{ timers && timers[index].status === null ? "" - : timers&&timers[index].status + : timers && timers[index].status ? "已超时" : "即将超时" }} @@ -77,10 +80,12 @@

-

受理人:{{ item.currentResponsiblePerson.name }}

+

受理人:{{ item.firstResponsiblePerson.name }}

-
-

+

+ +
+ {{ + (timers && timeFormat(timers[index].time)) || "00:00:00" + }} +
+ 接单 +
+
@@ -200,7 +220,7 @@ export default { filters: { sponsorFilter(status) { const statusMap = { - SELF: "居民", + SELF: "群众", STAFF: "工作人员" }; return statusMap[status]; @@ -216,10 +236,10 @@ export default { }, statusFilter(status) { const statusMap = { - MINE: "待我处理", + MINE: "我处理", FORWARDED: "已转交", FORWARDED_APPLY: "转交超限审批中", - SUBMIT_APPLY: "提交申请", + SUBMIT_APPLY: "已提交审批", WAIT_APPLY: "待审核" }; return statusMap[status]; @@ -309,6 +329,7 @@ export default { clearInterval(this.timersInterval); const tempData = res.d.records; const now = Date.parse(new Date()).toString() / 1000; + // console.log(now); const arr = []; tempData.map((item, index) => { let msec = []; @@ -326,7 +347,7 @@ export default { break; case "PREREQUISITES": // 要件准备 - msec = now - item.createDate - item.acceptanceTime; + msec = now - item.createDate; obj = { time: msec, phase: item.phase, @@ -336,11 +357,7 @@ export default { break; case "PROCESSING": // 办理中 - msec = - now - - item.createDate - - item.acceptanceTime - - item.prerequisitesTime; + msec = now - item.createDate; obj = { time: msec, phase: item.phase, diff --git a/src/views/login/img/login_titleLine_left.png b/src/views/login/img/login_titleLine_left.png new file mode 100644 index 0000000..455a760 Binary files /dev/null and b/src/views/login/img/login_titleLine_left.png differ diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 93ebb7e..a4d92fc 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -2,8 +2,10 @@