调令调整

master
xy 2 years ago
parent 82b2cc5027
commit e32ece8ee5

@ -371,6 +371,21 @@ export default {
}; };
}, },
methods: { methods: {
//
async setPTransferStatus () {
if (this.data.is_adjust &&
this.data.to_transfer_id &&
this.data.to_transfer_id_transfers_id_relation &&
++this.data.status > this.data.to_transfer_id_transfers_id_relation.status) {
await save({
id: this.data.to_transfer_id,
table_name: "transfers",
status: ++this.data.status
},false)
}
},
show() { show() {
this.$emit('pause') this.$emit('pause')
if (!this.readonly) { if (!this.readonly) {
@ -385,7 +400,7 @@ export default {
} }
).then((res) => { ).then((res) => {
let copyData = deepCopy(this.data); let copyData = deepCopy(this.data);
copyData.status = copyData.tiaozhengleixing === 0 ? 5 : 3; copyData.status = 3;
copyData.receive_time = this.$moment().format('YYYY-MM-DD HH:mm') copyData.receive_time = this.$moment().format('YYYY-MM-DD HH:mm')
for (let key in copyData) { for (let key in copyData) {
if (/_relation/g.test(key)) { if (/_relation/g.test(key)) {
@ -409,7 +424,7 @@ export default {
} }
if (this.data.status === 3 || this.data.status === 5) { if (this.data.status === 3 || this.data.status === 5) {
this.$confirm( this.$confirm(
`确认要通知现场${this.data.status === 3 ? "开启" : "关闭"}`, `确认要通知现场${(this.data.status === 3 || this.data.tiaozhengleixing === 0) ? "开启" : "关闭"}`,
"提示", "提示",
{ {
confirmButtonText: "确定", confirmButtonText: "确定",
@ -432,8 +447,10 @@ export default {
}, },
false false
).then((_) => { ).then((_) => {
this.$emit("refresh"); this.setPTransferStatus().then(_ => {
this.$emit('start'); this.$emit("refresh");
this.$emit('start');
})
}); });
}).catch(_ => { }).catch(_ => {
this.$emit('start') this.$emit('start')
@ -522,8 +539,10 @@ export default {
table_name: "transfers", table_name: "transfers",
...copyData, ...copyData,
},false).then((_) => { },false).then((_) => {
this.$emit("refresh"); this.setPTransferStatus().then(_ => {
this.$emit('start') this.$emit("refresh");
this.$emit('start');
})
}); });
} }
if (this.data.status === 5) { if (this.data.status === 5) {
@ -559,8 +578,10 @@ export default {
table_name: "transfers", table_name: "transfers",
...copyData, ...copyData,
},false).then((_) => { },false).then((_) => {
this.$emit("refresh"); this.setPTransferStatus().then(_ => {
this.$emit('start') this.$emit("refresh");
this.$emit('start');
})
}); });
} }

@ -30,11 +30,7 @@
<div v-for="(item, index) in scrollList" :key="item.id" ref="listItem" class="list-item" :class="`list-item-${timeStatusFormat(item)}`"> <div v-for="(item, index) in scrollList" :key="item.id" ref="listItem" class="list-item" :class="`list-item-${timeStatusFormat(item)}`">
<div class="list-item__status"> <div class="list-item__status">
<template> <template>
<template v-if="timeStatusFormat(item) === 2"> <template v-if="timeStatusFormat(item) === 3">
<div class="list-item__status-2"></div>
<p>存在运行中指令</p>
</template>
<template v-else-if="timeStatusFormat(item) === 3">
<div class="list-item__status-3"></div> <div class="list-item__status-3"></div>
<p>倒计时{{ $moment(item.end_time).diff($moment(time),'minutes') }}分钟</p> <p>倒计时{{ $moment(item.end_time).diff($moment(time),'minutes') }}分钟</p>
</template> </template>
@ -46,13 +42,17 @@
</template> </template>
</template> </template>
<template v-if="item.id_logs_transfer_id_relation.length > 0"> <template v-if="timeStatusFormat(item) === 2">
<div class="list-item__status-2"></div>
<p>存在调整中指令</p>
</template>
<template v-if="item.is_adjust">
<span style="color: #d15d52;">调整</span> <span style="color: #d15d52;">调整</span>
</template> </template>
</div> </div>
<div class="list-item__name"> <div class="list-item__name">
<p>{{ item.equipment_id_equipments_id_relation ? item.equipment_id_equipments_id_relation.name : '' }}</p> <p>{{ item.equipment_id_equipments_id_relation ? item.equipment_id_equipments_id_relation.name : '' }}</p>
<div style="display: flex;align-items: center;"> <div style="display: flex;align-items: center;" v-if="item.equipment_id_equipments_id_relation && item.equipment_id_equipments_id_relation.type === 1">
<div class="list-item__number" v-for="(i,index) in Number(item.equipment_id_equipments_id_relation.bengzhashuliang || 0)" :style="index >= item.kaiqishuliang ? 'background: red;' : ''"></div> <div class="list-item__number" v-for="(i,index) in Number(item.equipment_id_equipments_id_relation.bengzhashuliang || 0)" :style="index >= item.kaiqishuliang ? 'background: red;' : ''"></div>
</div> </div>
</div> </div>
@ -209,6 +209,9 @@ export default {
} }
return 3 return 3
} }
if (item.id_transfers_to_transfer_id_relation.length > 0) {
return 2
}
if (diffMins < 0) { if (diffMins < 0) {
if (!item._isPlay) { if (!item._isPlay) {
item._isPlay = true item._isPlay = true
@ -418,7 +421,7 @@ $list-height: calc(#{$container-height} - 5.33rem);
display: flex; display: flex;
align-items: center; align-items: center;
font-weight: 600; font-weight: 600;
flex-basis: 12%; flex-basis: 14.5%;
$font-colors: #333, #527ded, #ecc069,#d15d52; $font-colors: #333, #527ded, #ecc069,#d15d52;
$colors: #fff,linear-gradient(to top left,#527ded, #527ded43),linear-gradient(to top left,#ecc069, #ecc06943),linear-gradient(to top left,#d15d52, #d15d5243); $colors: #fff,linear-gradient(to top left,#527ded, #527ded43),linear-gradient(to top left,#ecc069, #ecc06943),linear-gradient(to top left,#d15d52, #d15d5243);

@ -30,11 +30,7 @@
<div v-for="(item, index) in scrollList" :key="item.id" ref="listItem" class="list-item" :class="`list-item-${timeStatusFormat(item)}`"> <div v-for="(item, index) in scrollList" :key="item.id" ref="listItem" class="list-item" :class="`list-item-${timeStatusFormat(item)}`">
<div class="list-item__status"> <div class="list-item__status">
<template> <template>
<template v-if="timeStatusFormat(item) === 2"> <template v-if="timeStatusFormat(item) === 3">
<div class="list-item__status-2"></div>
<p>存在运行中指令</p>
</template>
<template v-else-if="timeStatusFormat(item) === 3">
<div class="list-item__status-3"></div> <div class="list-item__status-3"></div>
<p>倒计时{{ $moment(item.start_time).diff($moment(time),'minutes') }}分钟</p> <p>倒计时{{ $moment(item.start_time).diff($moment(time),'minutes') }}分钟</p>
</template> </template>
@ -46,13 +42,17 @@
</template> </template>
</template> </template>
<template v-if="item.id_logs_transfer_id_relation.length > 0"> <template v-if="timeStatusFormat(item) === 2">
<div class="list-item__status-2"></div>
<p>存在调整中指令</p>
</template>
<template v-if="item.is_adjust">
<span style="color: #d15d52;">调整</span> <span style="color: #d15d52;">调整</span>
</template> </template>
</div> </div>
<div class="list-item__name"> <div class="list-item__name">
<p>{{ item.equipment_id_equipments_id_relation ? item.equipment_id_equipments_id_relation.name : '' }}</p> <p>{{ item.equipment_id_equipments_id_relation ? item.equipment_id_equipments_id_relation.name : '' }}</p>
<div style="display: flex;align-items: center;"> <div style="display: flex;align-items: center;" v-if="item.equipment_id_equipments_id_relation && item.equipment_id_equipments_id_relation.type === 1">
<div class="list-item__number" v-for="(i,index) in Number(item.equipment_id_equipments_id_relation.bengzhashuliang || 0)" :style="index >= item.kaiqishuliang ? 'background: red;' : ''"></div> <div class="list-item__number" v-for="(i,index) in Number(item.equipment_id_equipments_id_relation.bengzhashuliang || 0)" :style="index >= item.kaiqishuliang ? 'background: red;' : ''"></div>
</div> </div>
</div> </div>
@ -103,7 +103,7 @@ export default {
auth: "receive" auth: "receive"
}, },
{ {
value: 5, value: 3,
label: "确认关闭通知", label: "确认关闭通知",
auth: "noticeClose" auth: "noticeClose"
}, },
@ -132,7 +132,7 @@ export default {
], ],
statusType: [ statusType: [
{ {
label: "存在运行中", label: "存在调整中",
color: "linear-gradient(to top left,#527ded, #527ded43)", color: "linear-gradient(to top left,#527ded, #527ded43)",
}, },
{ {
@ -223,7 +223,7 @@ export default {
} }
return 3 return 3
} }
if (this.toDo.filter(i => (i.id === item.id))?.length > 1) { if (item.id_transfers_to_transfer_id_relation.length > 0) {
return 2 return 2
} }
if (diffMins < 0) { if (diffMins < 0) {
@ -438,7 +438,7 @@ $list-height: calc(#{$container-height} - 5.33rem);
display: flex; display: flex;
align-items: center; align-items: center;
font-weight: 600; font-weight: 600;
flex-basis: 12%; flex-basis: 14.5%;
$font-colors: #333, #527ded, #ecc069,#d15d52; $font-colors: #333, #527ded, #ecc069,#d15d52;
$colors: #fff,linear-gradient(to top left,#527ded, #527ded43),linear-gradient(to top left,#ecc069, #ecc06943),linear-gradient(to top left,#d15d52, #d15d5243); $colors: #fff,linear-gradient(to top left,#527ded, #527ded43),linear-gradient(to top left,#ecc069, #ecc06943),linear-gradient(to top left,#d15d52, #d15d5243);

@ -184,10 +184,30 @@ export default {
).data; ).data;
res.forEach(i => { res.forEach(i => {
if (i.status === 2 || i.status === 3 || i.status === 4) { if (i.status === 2 || i.status === 3 || i.status === 4) {
transfers1.push(i) if (i.is_adjust && i.to_transfer_id) {
const pTransfer = transfers1.find(j => j.id === i.to_transfer_id)
if (pTransfer && (pTransfer.status === i.status)) {
transfers1.splice(transfers1.indexOf(pTransfer),1,i)
} else {
transfers1.push(i)
}
} else {
transfers1.push(i)
}
} }
if (i.status === 5 || i.status === 6) { if (i.status === 5 || i.status === 6) {
transfers2.push(i) if (i.is_adjust && i.to_transfer_id) {
const pTransfer = transfers2.find(j => j.id === i.to_transfer_id)
if (pTransfer && (pTransfer.status === i.status)) {
transfers2.splice(transfers2.indexOf(pTransfer),1,i)
} else {
transfers2.push(i)
}
} else {
if (!transfers2.find(j => j.to_transfer_id === i.id)) {
transfers2.push(i)
}
}
} }
if (i.status === 7) { if (i.status === 7) {
transfers3.push(i) transfers3.push(i)

@ -59,7 +59,7 @@
</div> </div>
</div> </div>
</template> </template>
<template #kaiqishuliang v-if="form.tiaozhengleixing !== 0 || equipmentType === 1"> <template #kaiqishuliang v-if="equipmentType === 1">
<div class="xy-table-item"> <div class="xy-table-item">
<div class="xy-table-item-label">调整数量 </div> <div class="xy-table-item-label">调整数量 </div>
<div class="xy-table-item-content"> <div class="xy-table-item-content">
@ -151,48 +151,54 @@ export default {
}, },
submit() { submit() {
const leixingLabel = this.tiaozhengleixings.find(i => i.id === this.form.tiaozhengleixing)?.value const leixingLabel = this.types.find(i => i.id === this.form.tiaozhengleixing)?.value
if (leixingLabel === '关闭') { if (leixingLabel === '关闭') {
this.form.kaiqishuliang = this.originalData.kaiqishuliang this.form.kaiqishuliang = this.originalData.kaiqishuliang
} else if (leixingLabel === '开') { } else if (leixingLabel === '开') {
this.form.kaiqishuliang = Number(this.detail?.kaiqishuliang) + this.form.kaiqishuliang this.form.kaiqishuliang = Number(this.detail?.kaiqishuliang) + this.form.kaiqishuliang
} else { } else {
} }
let updateData = JSON.stringify(this.form); let updateData = JSON.stringify(this.form);
if (this.type === "add") { let text = ""
if (this.form.hasOwnProperty("id")) { if (updateData !== this.originalData) {
delete this.form.id; let originalData = JSON.parse(this.originalData)
let nowData = JSON.parse(updateData)
let kv = new Map([
['content','调令内容'],
['tiaozhengleixing','调整状态'],
['kaiqishuliang','调整数量'],
])
for (let key of kv.keys()) {
if (key === 'kaiqishuliang') {
text += nowData[key] === originalData[key] ? "" : (`${kv.get(key)}】从"${originalData[key] || "0"}"更改为"${nowData[key]}"` || " ")
} else {
text += nowData[key] === originalData[key] ? "" : (`${kv.get(key)}】从"${this.types.find(i => i.id === originalData[key])?.value || originalData[key] || " "}"更改为"${this.types.find(i => i.id === nowData[key])?.value || nowData[key]}"` || " ")
}
} }
} }
if (this.type === "editor") { this.form.to_transfer_id = this.detail.id;
Object.defineProperty(this.form, "id", { this.form.is_adjust = 1;
value: this.id, this.form.id_logs_transfer_id_relation = this.detail.id_logs_transfer_id_relation.map(i => ({
enumerable: true, transfer_id: i.transfer_id,
configurable: true, content: i.content
writable: true, }))
}); this.form.id_logs_transfer_id_relation.push({
transfer_id: this.detail.id,
content: text
})
for (let key in this.detail) {
if (/_relation|_at/g.test(key)) {
delete this.detail[key]
}
} }
delete this.detail.id;
save({ save({
table_name: "transfers", table_name: "transfers",
...this.detail,
...this.form, ...this.form,
status: 2 status: 2,
}).then((res) => { }).then((res) => {
if (updateData !== this.originalData) { if (updateData !== this.originalData) {
let originalData = JSON.parse(this.originalData)
let nowData = JSON.parse(updateData)
let kv = new Map([
['content','调令内容'],
['tiaozhengleixing','调整状态'],
['kaiqishuliang','调整数量'],
])
let text = ""
for (let key in nowData) {
if (key === 'kaiqishuliang') {
text += nowData[key] === originalData[key] ? "" : (`${kv.get(key)}】从"${originalData[key] || "0"}"更改为"${nowData[key]}"` || " ")
} else {
text += nowData[key] === originalData[key] ? "" : (`${kv.get(key)}】从"${this.tiaozhengleixings.find(i => i.id === originalData[key])?.value || originalData[key] || " "}"更改为"${this.tiaozhengleixings.find(i => i.id === nowData[key])?.value || nowData[key]}"` || " ")
}
}
save({ save({
table_name: "logs", table_name: "logs",
transfer_id: this.getId(), transfer_id: this.getId(),
@ -238,7 +244,7 @@ export default {
}, },
{ {
id: 1, id: 1,
value: "开" value: "开"
} }
] ]
} else { } else {

@ -91,28 +91,33 @@ export default {
}, },
methods: { methods: {
async getWeatherInfo () { async getWeatherInfo () {
let infoObj = { try {
weather: '', let infoObj = {
water: '', weather: '',
rain: '', water: '',
prevent: '', rain: '',
early_warning: '' prevent: '',
} early_warning: ''
const weatherInfo = await weather() }
infoObj.weather = `${weatherInfo.weather},${weatherInfo.wD}${weatherInfo.wS},${weatherInfo.sendibleTemp}-${weatherInfo.temp}°C` const weatherInfo = await weather()
const infos = (await info({ if (!weatherInfo || typeof weatherInfo !== 'object' || weatherInfo.length === 0) return;
date: this.$moment().format('YYYY-MM-DD') infoObj.weather = `${weatherInfo.weather},${weatherInfo.wD}${weatherInfo.wS},${weatherInfo.sendibleTemp}-${weatherInfo.temp}°C`
}))[0] const infos = (await info({
infoObj.water = `${infos?.daily_water?.map(i => i.range + i.stnm + i.s_value + 'm,')?.toString()}` date: this.$moment().format('YYYY-MM-DD')
infoObj.rain = `${infos?.daily_rain?.map(i => i.type + i.rain_value + 'mm,')?.toString()}` }))[0]
infoObj.water = `${infos?.daily_water?.map(i => i.range + i.stnm + i.s_value + 'm,')?.toString()}`
infoObj.rain = `${infos?.daily_rain?.map(i => i.type + i.rain_value + 'mm,')?.toString()}`
this.weather = infoObj this.weather = infoObj
await save({ await save({
table_name: 'waters', table_name: 'waters',
date: this.$moment().format('YYYY-MM-DD'), date: this.$moment().format('YYYY-MM-DD'),
...infoObj ...infoObj
},false) },false)
} catch (err) {
}
}, },
async getWeather () { async getWeather () {
const res = (await index({ const res = (await index({

Loading…
Cancel
Save