调令调整

master
xy 2 years ago
parent 82b2cc5027
commit e32ece8ee5

@ -371,6 +371,21 @@ export default {
};
},
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() {
this.$emit('pause')
if (!this.readonly) {
@ -385,7 +400,7 @@ export default {
}
).then((res) => {
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')
for (let key in copyData) {
if (/_relation/g.test(key)) {
@ -409,7 +424,7 @@ export default {
}
if (this.data.status === 3 || this.data.status === 5) {
this.$confirm(
`确认要通知现场${this.data.status === 3 ? "开启" : "关闭"}`,
`确认要通知现场${(this.data.status === 3 || this.data.tiaozhengleixing === 0) ? "开启" : "关闭"}`,
"提示",
{
confirmButtonText: "确定",
@ -432,8 +447,10 @@ export default {
},
false
).then((_) => {
this.$emit("refresh");
this.$emit('start');
this.setPTransferStatus().then(_ => {
this.$emit("refresh");
this.$emit('start');
})
});
}).catch(_ => {
this.$emit('start')
@ -522,8 +539,10 @@ export default {
table_name: "transfers",
...copyData,
},false).then((_) => {
this.$emit("refresh");
this.$emit('start')
this.setPTransferStatus().then(_ => {
this.$emit("refresh");
this.$emit('start');
})
});
}
if (this.data.status === 5) {
@ -559,8 +578,10 @@ export default {
table_name: "transfers",
...copyData,
},false).then((_) => {
this.$emit("refresh");
this.$emit('start')
this.setPTransferStatus().then(_ => {
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 class="list-item__status">
<template>
<template v-if="timeStatusFormat(item) === 2">
<div class="list-item__status-2"></div>
<p>存在运行中指令</p>
</template>
<template v-else-if="timeStatusFormat(item) === 3">
<template v-if="timeStatusFormat(item) === 3">
<div class="list-item__status-3"></div>
<p>倒计时{{ $moment(item.end_time).diff($moment(time),'minutes') }}分钟</p>
</template>
@ -46,13 +42,17 @@
</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>
</template>
</div>
<div class="list-item__name">
<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>
</div>
@ -209,6 +209,9 @@ export default {
}
return 3
}
if (item.id_transfers_to_transfer_id_relation.length > 0) {
return 2
}
if (diffMins < 0) {
if (!item._isPlay) {
item._isPlay = true
@ -418,7 +421,7 @@ $list-height: calc(#{$container-height} - 5.33rem);
display: flex;
align-items: center;
font-weight: 600;
flex-basis: 12%;
flex-basis: 14.5%;
$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);

@ -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 class="list-item__status">
<template>
<template v-if="timeStatusFormat(item) === 2">
<div class="list-item__status-2"></div>
<p>存在运行中指令</p>
</template>
<template v-else-if="timeStatusFormat(item) === 3">
<template v-if="timeStatusFormat(item) === 3">
<div class="list-item__status-3"></div>
<p>倒计时{{ $moment(item.start_time).diff($moment(time),'minutes') }}分钟</p>
</template>
@ -46,13 +42,17 @@
</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>
</template>
</div>
<div class="list-item__name">
<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>
</div>
@ -103,7 +103,7 @@ export default {
auth: "receive"
},
{
value: 5,
value: 3,
label: "确认关闭通知",
auth: "noticeClose"
},
@ -132,7 +132,7 @@ export default {
],
statusType: [
{
label: "存在运行中",
label: "存在调整中",
color: "linear-gradient(to top left,#527ded, #527ded43)",
},
{
@ -223,7 +223,7 @@ export default {
}
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
}
if (diffMins < 0) {
@ -438,7 +438,7 @@ $list-height: calc(#{$container-height} - 5.33rem);
display: flex;
align-items: center;
font-weight: 600;
flex-basis: 12%;
flex-basis: 14.5%;
$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);

@ -184,10 +184,30 @@ export default {
).data;
res.forEach(i => {
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) {
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) {
transfers3.push(i)

@ -59,7 +59,7 @@
</div>
</div>
</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-label">调整数量 </div>
<div class="xy-table-item-content">
@ -151,48 +151,54 @@ export default {
},
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 === '关闭') {
this.form.kaiqishuliang = this.originalData.kaiqishuliang
} else if (leixingLabel === '开') {
} else if (leixingLabel === '开') {
this.form.kaiqishuliang = Number(this.detail?.kaiqishuliang) + this.form.kaiqishuliang
} else {
}
let updateData = JSON.stringify(this.form);
if (this.type === "add") {
if (this.form.hasOwnProperty("id")) {
delete this.form.id;
let text = ""
if (updateData !== this.originalData) {
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") {
Object.defineProperty(this.form, "id", {
value: this.id,
enumerable: true,
configurable: true,
writable: true,
});
this.form.to_transfer_id = this.detail.id;
this.form.is_adjust = 1;
this.form.id_logs_transfer_id_relation = this.detail.id_logs_transfer_id_relation.map(i => ({
transfer_id: i.transfer_id,
content: i.content
}))
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({
table_name: "transfers",
...this.detail,
...this.form,
status: 2
status: 2,
}).then((res) => {
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({
table_name: "logs",
transfer_id: this.getId(),
@ -238,7 +244,7 @@ export default {
},
{
id: 1,
value: "开"
value: "开"
}
]
} else {

@ -91,28 +91,33 @@ export default {
},
methods: {
async getWeatherInfo () {
let infoObj = {
weather: '',
water: '',
rain: '',
prevent: '',
early_warning: ''
}
const weatherInfo = await weather()
infoObj.weather = `${weatherInfo.weather},${weatherInfo.wD}${weatherInfo.wS},${weatherInfo.sendibleTemp}-${weatherInfo.temp}°C`
const infos = (await info({
date: this.$moment().format('YYYY-MM-DD')
}))[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()}`
try {
let infoObj = {
weather: '',
water: '',
rain: '',
prevent: '',
early_warning: ''
}
const weatherInfo = await weather()
if (!weatherInfo || typeof weatherInfo !== 'object' || weatherInfo.length === 0) return;
infoObj.weather = `${weatherInfo.weather},${weatherInfo.wD}${weatherInfo.wS},${weatherInfo.sendibleTemp}-${weatherInfo.temp}°C`
const infos = (await info({
date: this.$moment().format('YYYY-MM-DD')
}))[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({
table_name: 'waters',
date: this.$moment().format('YYYY-MM-DD'),
...infoObj
},false)
await save({
table_name: 'waters',
date: this.$moment().format('YYYY-MM-DD'),
...infoObj
},false)
} catch (err) {
}
},
async getWeather () {
const res = (await index({

Loading…
Cancel
Save