From 1e0628ef4e5258980a8865d15cc9a258604011de Mon Sep 17 00:00:00 2001
From: xy <271556543@qq.com>
Date: Wed, 26 Feb 2025 13:56:25 +0800
Subject: [PATCH] =?UTF-8?q?=E5=BF=AB=E9=80=9F=E8=B0=83=E4=BB=A4=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/bigScreen1/component/callback.vue | 2 +-
src/views/order/component/createDispatch.vue | 25 ++--
src/views/order/component/dispatchList.vue | 96 +++++++++++----
src/views/order/component/normalCreate.vue | 2 +-
src/views/order/component/quickCreate.vue | 122 ++++++++++++-------
src/views/order/handle.vue | 7 +-
6 files changed, 171 insertions(+), 83 deletions(-)
diff --git a/src/views/bigScreen1/component/callback.vue b/src/views/bigScreen1/component/callback.vue
index c9d81c7..e3131f5 100644
--- a/src/views/bigScreen1/component/callback.vue
+++ b/src/views/bigScreen1/component/callback.vue
@@ -153,7 +153,7 @@ export default {
}
this.form.status = 1;
- save(Object.assign(this.form, { table_name: 'feedbacks' })).then(res => {
+ save(Object.assign(this.form, { table_name: 'feedbacks' })).then(res => {
this.$Message.success({
content: `${this.type === "add" ? "新增" : "编辑"}成功`,
});
diff --git a/src/views/order/component/createDispatch.vue b/src/views/order/component/createDispatch.vue
index 9acb774..8253fa2 100644
--- a/src/views/order/component/createDispatch.vue
+++ b/src/views/order/component/createDispatch.vue
@@ -94,6 +94,7 @@
0) {
- this.diaolingleixing = keys.map((key) => {
- return {
- key,
- value: /^\d*$/.test(obj[key]) ? Number(obj[key]) : obj[key],
- };
- });
+ this.diaolingleixing = keys.map((key) => ({
+ key,
+ value: /^\d*$/.test(obj[key]) ? Number(obj[key]) : obj[key],
+ }));
}
}
this.$bus.$emit("diaolingleixing", this.diaolingleixing);
@@ -1348,8 +1347,8 @@ export default {
this.getArea();
this.getType();
this.getAbility();
- this.getEquipmentInfos();
this.getDiaolingleixing();
+ this.getEquipmentInfos();
},
destroyed() {
document.querySelector(".app-wrapper").onscroll = null;
diff --git a/src/views/order/component/dispatchList.vue b/src/views/order/component/dispatchList.vue
index b590408..cd3df0d 100644
--- a/src/views/order/component/dispatchList.vue
+++ b/src/views/order/component/dispatchList.vue
@@ -22,8 +22,9 @@
-
-
+
+
+
{
- let area = row.equipment_id_equipments_id_relation ? row.equipment_id_equipments_id_relation.area : "";
- let text = this.areas.find(i => i.value === area)?.key
- return h('span',text)
- }
- },
- {
- title: "点位",
+ title: "工程名称",
width: 240,
key: "equipment_id",
align: "center",
@@ -168,11 +176,15 @@ export default {
},
},
{
- title: '类别',
- width: 100,
- key: 'leibie',
- align: 'center',
- render: (h,{ row }) => h('span', (this.abilities.find(i => i.value === row.leibie))?.key)
+ title: "范围",
+ width: 140,
+ key: "area",
+ align: "center",
+ render: (h, { row, index }) => {
+ let area = row.equipment_id_equipments_id_relation ? row.equipment_id_equipments_id_relation.area : "";
+ let text = this.areas.find(i => i.value === area)?.key
+ return h('span',text)
+ }
},
{
title: "开启闸门数量",
@@ -188,6 +200,20 @@ export default {
align: "center",
render: (h,{ row }) => h('span', row.kaiqishuliang1 ?? 0)
},
+ {
+ title: '类别',
+ width: 100,
+ key: 'leibie',
+ align: 'center',
+ render: (h,{ row }) => h('span', (this.abilities.find(i => i.value === row.leibie))?.key)
+ },
+ {
+ title: '调令类型',
+ width: 100,
+ key: 'diaolingleixing',
+ align: 'center',
+ render: (h,{ row }) => h('span', (this.diaolingleixing.find(i => i.value === row.diaolingleixing))?.key)
+ },
{
title: "调令日期",
width: 120,
@@ -517,6 +543,10 @@ export default {
equipment_id: i.equipment_id,
start_time: this.$moment(i.start_time).format('HH:mm'),
end_time: this.$moment(i.end_time).format('HH:mm'),
+ kaiqishuliang: i.kaiqishuliang,
+ kaiqishuliang1: i.kaiqishuliang1,
+ yinpaishui: i.yinpaishui,
+ diaolingleixing: i.diaolingleixing,
content: i.content,
level: i.level,
}
@@ -550,7 +580,23 @@ export default {
// });
// });
},
-
+ async destroyTransfers () {
+ try {
+ await this.$confirm('确认操作?','提示')
+ let promiseAll = this.$refs['listTable'].getSelection().map(i => destroy({
+ table_name: 'transfers',
+ id: i.id
+ }))
+ const res = await Promise.all(promiseAll)
+ this.$message({
+ type: 'success',
+ message: `删除${res.length}条调令`
+ })
+ await this.getDispatches();
+ } catch (err) {
+ console.error(err)
+ }
+ },
async distributeTransfers () {
let promiseAll = this.$refs['listTable'].getSelection().map(i => {
for (let key in i) {
diff --git a/src/views/order/component/normalCreate.vue b/src/views/order/component/normalCreate.vue
index f63b34b..d1f80a6 100644
--- a/src/views/order/component/normalCreate.vue
+++ b/src/views/order/component/normalCreate.vue
@@ -35,7 +35,7 @@
创建调令
-
+
diff --git a/src/views/order/component/quickCreate.vue b/src/views/order/component/quickCreate.vue
index 7a0f0a5..09f07eb 100644
--- a/src/views/order/component/quickCreate.vue
+++ b/src/views/order/component/quickCreate.vue
@@ -8,7 +8,7 @@
>
-
+
@@ -20,6 +20,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -83,16 +98,17 @@ export default {
},
{
title: '开启时间',
- width: 140,
+ width: 220,
align: 'center',
key: 'start_time',
render: (h,{ row }) => {
- return h('TimePicker',{
+ return h('DatePicker',{
props: {
value: row.start_time,
- type: 'time',
+ type: 'datetime',
size: 'small',
- transfer: true
+ transfer: true,
+ format: "yyyy-MM-dd HH:mm:ss"
},
on: {
['on-change']:e => row.start_time = e
@@ -102,16 +118,17 @@ export default {
},
{
title: '结束时间',
- width: 140,
+ width: 220,
align: 'center',
key: 'end_time',
render: (h,{ row }) => {
- return h('TimePicker',{
+ return h('DatePicker',{
props: {
value: row.end_time,
- type: 'time',
+ type: 'datetime',
size: 'small',
- transfer: true
+ transfer: true,
+ format: "yyyy-MM-dd HH:mm:ss"
},
on: {
['on-change']:e => row.end_time = e
@@ -234,7 +251,10 @@ export default {
}
}
],
- data: []
+ data: [],
+ showModal: false,
+ bindValue: '',
+ bindDate: new Date()
}
},
methods: {
@@ -277,37 +297,57 @@ export default {
},
add () {
- this.$prompt('请输入内容','快速调令', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- inputType: 'textarea',
- closeOnClickModal: false,
- inputPlaceholder: '点位 开始时间 结束时间 调令内容 闸门数量 水泵数量 类别 调令类型,\n点位 开始时间 结束时间 调令内容 闸门数量 水泵数量 类别 调令类型 \n每个值以空格隔开,每条调令用","分割',
- }).then(({ value, action }) => {
- if (action === 'confirm') {
- let uid = uuid();
- let group = value.split(/;|;/)?.filter(i => i)?.map(i => i.replace(/\n/g,''));
- group.forEach((item,index) => {
- let dataArr = item.split(/\s+/);
- if (dataArr.length === 8 && this.equipments.find(i => i.name === dataArr[0]) && (this.isTimeFormat(dataArr[1]) && this.isTimeFormat(dataArr[2]))) {
- this.data.push({
- no: uid,
- equipment_id: this.equipments.find(i => i.name === dataArr[0])?.id,
- start_time: `${dataArr[1]}`,
- end_time: `${dataArr[2]}`,
- content: dataArr[3] ?? '',
- kaiqishuliang: dataArr[4] ?? 0,
- kaiqishuliang1: dataArr[5] ?? 0,
- leibie: this.abilities.find(j => j.key === dataArr[6])?.value,
- diaolingleixing: this.diaolingleixing.find(j => j.key === dataArr[7])?.value,
- level: 1,
- status: 1
- })
- }
+ let uid = uuid();
+ let group = this.bindValue.split(/;|;/)?.filter(i => i)?.map(i => i.replace(/\n/g,''));
+ group.forEach((item,index) => {
+ let dataArr = item.split(/\s+/);
+ if (dataArr.length === 8 && this.equipments.find(i => i.name === dataArr[0]) && (this.isTimeFormat(dataArr[1]) && this.isTimeFormat(dataArr[2]))) {
+ this.data.push({
+ no: uid,
+ equipment_id: this.equipments.find(i => i.name === dataArr[0])?.id,
+ start_time: `${this.bindDate} ${dataArr[1]}`,
+ end_time: `${this.bindDate} ${dataArr[2]}`,
+ content: dataArr[3] ?? '',
+ kaiqishuliang: dataArr[4] ?? 0,
+ kaiqishuliang1: dataArr[5] ?? 0,
+ leibie: this.abilities.find(j => j.key === dataArr[6])?.value,
+ diaolingleixing: this.diaolingleixing.find(j => j.key === dataArr[7])?.value,
+ level: 1,
+ status: 1
})
- console.log(this.data)
}
- }).catch(_ => {})
+ })
+ // this.$prompt('请输入内容','快速调令', {
+ // confirmButtonText: '确定',
+ // cancelButtonText: '取消',
+ // inputType: 'textarea',
+ // closeOnClickModal: false,
+ // inputPlaceholder: '点位 开始时间 结束时间 调令内容 闸门数量 水泵数量 类别 调令类型,\n点位 开始时间 结束时间 调令内容 闸门数量 水泵数量 类别 调令类型 \n每个值以空格隔开,每条调令用","分割',
+ // }).then(({ value, action }) => {
+ // if (action === 'confirm') {
+ // let uid = uuid();
+ // let group = value.split(/;|;/)?.filter(i => i)?.map(i => i.replace(/\n/g,''));
+ // group.forEach((item,index) => {
+ // let dataArr = item.split(/\s+/);
+ // if (dataArr.length === 8 && this.equipments.find(i => i.name === dataArr[0]) && (this.isTimeFormat(dataArr[1]) && this.isTimeFormat(dataArr[2]))) {
+ // this.data.push({
+ // no: uid,
+ // equipment_id: this.equipments.find(i => i.name === dataArr[0])?.id,
+ // start_time: `${dataArr[1]}`,
+ // end_time: `${dataArr[2]}`,
+ // content: dataArr[3] ?? '',
+ // kaiqishuliang: dataArr[4] ?? 0,
+ // kaiqishuliang1: dataArr[5] ?? 0,
+ // leibie: this.abilities.find(j => j.key === dataArr[6])?.value,
+ // diaolingleixing: this.diaolingleixing.find(j => j.key === dataArr[7])?.value,
+ // level: 1,
+ // status: 1
+ // })
+ // }
+ // })
+ // console.log(this.data)
+ // }
+ // }).catch(_ => {})
},
submit () {
@@ -316,8 +356,8 @@ export default {
return save({
table_name: 'transfers',
...form,
- start_time: `${this.$moment().format('YYYY-MM-DD')} ${form.start_time}`,
- end_time: `${this.$moment().format('YYYY-MM-DD')} ${form.end_time}`,
+ start_time: form.start_time,
+ end_time: form.end_time,
},false)
})
let loadingInstance = this.$loading({
diff --git a/src/views/order/handle.vue b/src/views/order/handle.vue
index f409605..716b36f 100644
--- a/src/views/order/handle.vue
+++ b/src/views/order/handle.vue
@@ -17,7 +17,7 @@
-
+