From 92ba08a9f1a3166b413e87b539087c994a3d6a1f Mon Sep 17 00:00:00 2001 From: xy <271556543@qq.com> Date: Tue, 23 Jan 2024 17:36:09 +0800 Subject: [PATCH] 1 --- src/components/XyTable/index.vue | 2 +- .../bigScreen/component/centerRight1.vue | 2 +- .../bigScreen/component/detailTransfer.vue | 116 +++- .../bigScreen/component/transferBoard.vue | 21 +- src/views/order/component/createDispatch.vue | 40 +- src/views/order/component/dispatchList.vue | 5 +- src/views/order/handle.vue | 509 ++++++++------- src/views/order/orderPlan.vue | 598 +++++++++--------- 8 files changed, 725 insertions(+), 568 deletions(-) diff --git a/src/components/XyTable/index.vue b/src/components/XyTable/index.vue index e708f9f..35ef376 100644 --- a/src/components/XyTable/index.vue +++ b/src/components/XyTable/index.vue @@ -216,7 +216,7 @@ export default { let paginationHeight = 37; //分页的高度 let topHeight = 50; //页面 头部 this.tableHeight = - clientHeight - lxHeader_height - topHeight - paginationHeight - 20 - 25; + clientHeight - lxHeader_height - topHeight - paginationHeight - 20 - 25 + (this.isPage ? 0 : 36); //console.log(this.tableHeight) }, async getTableData(isRefresh = false) { diff --git a/src/views/bigScreen/component/centerRight1.vue b/src/views/bigScreen/component/centerRight1.vue index 203b3bf..fb34f9b 100644 --- a/src/views/bigScreen/component/centerRight1.vue +++ b/src/views/bigScreen/component/centerRight1.vue @@ -115,7 +115,7 @@ export default { if (i.status === 2 || i.status === 3) { this.transfers1.push(i) } - if (i.status === 4) { + if (i.status === 4 || i.status === 5) { this.transfers2.push(i) } if (i.status === 6) { diff --git a/src/views/bigScreen/component/detailTransfer.vue b/src/views/bigScreen/component/detailTransfer.vue index 519348c..0df4ecb 100644 --- a/src/views/bigScreen/component/detailTransfer.vue +++ b/src/views/bigScreen/component/detailTransfer.vue @@ -44,43 +44,75 @@ 执行状态 - - + @@ -104,15 +136,14 @@ export default { }, data() { return { - jieshouren: "", isShow: false, data: {}, typeMap: new Map([ [1,'待下发'], [2,'已下发'], - [3,'待执行'], + [3,'通知现场中'], [4,'执行中'], - [5,'已取消'], + [5,'通知现场中'], [6,'已完成'] ]) } @@ -127,9 +158,9 @@ export default { setData (data) { this.data = data }, - async esignConfirm () { + async esignConfirm (isSign) { let fileInfo; - if (this.data.status !== 2) { + if (this.$refs['esign'] && isSign) { const base64 = await this.$refs['esign'].generate({ format:'image/png', quality: 0.7 }); const file = base64toFile(base64,`${new Date().getTime()}.png`) const form = new FormData(); @@ -143,8 +174,11 @@ export default { let copyData = deepCopy(this.data) if (this.data.status === 2) { - copyData.status = 3; - copyData.jieshouren = this.jieshouren; + copyData.status = isSign ? 4 : 3; + if (isSign) { + copyData.start_sign = fileInfo.data?.id; + copyData.act_start_time = this.$moment().format('YYYY-MM-DD HH:mm'); + } for (let key in copyData) { if (/_relation/g.test(key)) { delete copyData[key] @@ -174,6 +208,24 @@ export default { }) } if (this.data.status === 4) { + copyData.status = isSign ? 6 : 5; + if (isSign) { + copyData.end_sign = fileInfo.data?.id; + copyData.act_end_time = this.$moment().format('YYYY-MM-DD HH:mm'); + } + for (let key in copyData) { + if (/_relation/g.test(key)) { + delete copyData[key] + } + } + save({ + table_name: 'transfers', + ...copyData + }).then(_ => { + this.$emit('refresh') + }) + } + if (this.data.status === 5) { copyData.status = 6; copyData.end_sign = fileInfo.data?.id; copyData.act_end_time = this.$moment().format('YYYY-MM-DD HH:mm'); diff --git a/src/views/bigScreen/component/transferBoard.vue b/src/views/bigScreen/component/transferBoard.vue index ab94854..b2c0122 100644 --- a/src/views/bigScreen/component/transferBoard.vue +++ b/src/views/bigScreen/component/transferBoard.vue @@ -14,18 +14,26 @@
{{ item.equipment_id_equipments_id_relation ? item.equipment_id_equipments_id_relation.name : '' }} +
{{label}}:{{ $moment(item[key]).format('YYYY-MM-DD HH:mm') || '-' }}
-
+
倒计时:{{ $moment(new Date(item.start_time)).diff($moment(time),'minutes') }}分
-
- + {{setStatusText(item.status)}}
@@ -202,9 +210,10 @@ export default { setStatusText () { return function (status) { const textMap = new Map([ - [2,'接收'], - [3,'确认'], - [4,'关闭'] + [2,'确认开启'], + [3,'确认开启'], + [4,'确认关闭'], + [5,'确认关闭'] ]) return textMap.get(status) } diff --git a/src/views/order/component/createDispatch.vue b/src/views/order/component/createDispatch.vue index 0b7e7a7..bc4367b 100644 --- a/src/views/order/component/createDispatch.vue +++ b/src/views/order/component/createDispatch.vue @@ -236,7 +236,12 @@ export default { key: "equipment_id", align: "center", render: (h, { row, index }) => { - let text = row.equipment ? row.equipment.name : ""; + const text = row.equipment ? row.equipment.name : ""; + const num = this.dispatches.reduce((pre, cur) => { + return cur.equipment_id === row.equipment_id + ? ++pre + : pre; + }, 0) return h("div", [ h( "el-popover", @@ -268,20 +273,16 @@ export default { cursor: "pointer", width: "20px", height: "20px", - display: "inline-block", + display: (num && num !== 0) ? "inline-block" : "none", background: "#367bc7", color: "#fff", }, }, - this.dispatches.reduce((pre, cur) => { - return cur.equipment_id === row.equipment_id - ? ++pre - : pre; - }, 0) + num ), h("Table", { style: { - width: "480px", + width: "540px", }, props: { size: "small", @@ -296,6 +297,7 @@ export default { title: "开始时间", key: "start_time", align: "center", + width: 170, render: (h, { row }) => h( "span", @@ -307,6 +309,7 @@ export default { { title: "结束时间", key: "end_time", + width: 170, align: "center", render: (h, { row }) => h( @@ -316,8 +319,29 @@ export default { ) ), }, + { + title: "调令等级", + width: 90, + key: "level", + align: "center", + render: (h, { row }) => { + let type = new Map([ + [1,'一般'], + [2,'紧急'] + ]) + return h('span',type.get(row.level)); + }, + }, + { + title: '类别', + width: 80, + key: 'leibie', + align: 'center', + render: (h,{ row }) => h('span', (this.abilities.find(i => i.value === row.leibie))?.key) + }, { title: "内容", + minWidth: 120, key: "content", }, ], diff --git a/src/views/order/component/dispatchList.vue b/src/views/order/component/dispatchList.vue index 66264b0..87b8c1f 100644 --- a/src/views/order/component/dispatchList.vue +++ b/src/views/order/component/dispatchList.vue @@ -205,6 +205,9 @@ export default { async getDispatches () { try { this.loading = true; + if (this.select.filter.find(i => i.key === 'start_time')) { + this.select.filter.pop(); + } this.select.filter.push({ key: "start_time", op: "like", @@ -242,7 +245,7 @@ export default { }, created() { this.getDispatches() - this.$bus.$on('pickDate',e => (this.date = e)) + this.$bus.$on('pickDate',e => (this.date = e,this.getDispatches())) this.$bus.$on('yinpaishui',e => (this.abilities = e)) this.$bus.$on('areas',e => (this.areas = e)) this.$bus.$on('createdTransfer',_ => (this.getDispatches())) diff --git a/src/views/order/handle.vue b/src/views/order/handle.vue index 70feb9a..f8fcf2c 100644 --- a/src/views/order/handle.vue +++ b/src/views/order/handle.vue @@ -12,98 +12,114 @@ @@ -266,6 +283,7 @@