|
@@ -15,10 +15,7 @@
|
|
|
<el-col :span="6">
|
|
|
<div class="aviName">
|
|
|
<span class="aviP">场景编号</span>
|
|
|
- <el-input
|
|
|
- v-model="tableFormer.alarmSceneId"
|
|
|
- placeholder="请输入场景编号"
|
|
|
- ></el-input>
|
|
|
+ <el-input v-model="tableFormer.alarmSceneId" placeholder="请输入场景编号"></el-input>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
@@ -28,40 +25,16 @@
|
|
|
v-model="tableFormer.IATACode"
|
|
|
placeholder="请输入航司二字码"
|
|
|
></el-input> -->
|
|
|
- <el-select
|
|
|
- v-model="tableFormer.IATACode"
|
|
|
- class="input-shadow"
|
|
|
- size="small"
|
|
|
- filterable
|
|
|
- default-first-option
|
|
|
- placeholder="请选择二字码"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="(item, index) in characterList"
|
|
|
- :key="index"
|
|
|
- :label="item.k"
|
|
|
- :value="item.k"
|
|
|
- />
|
|
|
+ <el-select v-model="tableFormer.IATACode" class="input-shadow" size="small" filterable default-first-option placeholder="请选择二字码">
|
|
|
+ <el-option v-for="(item, index) in characterList" :key="index" :label="item.k" :value="item.k" />
|
|
|
</el-select>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<div class="aviName" style="margin-left: 20px">
|
|
|
<span class="aviP">起飞机场</span>
|
|
|
- <el-select
|
|
|
- v-model="tableFormer.departmentAirport"
|
|
|
- class="input-shadow"
|
|
|
- size="small"
|
|
|
- filterable
|
|
|
- default-first-option
|
|
|
- placeholder="请选择机场"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="(item, index) in AirportList"
|
|
|
- :key="index"
|
|
|
- :label="item.planDepartureApt"
|
|
|
- :value="item.planDepartureApt"
|
|
|
- />
|
|
|
+ <el-select v-model="tableFormer.departmentAirport" class="input-shadow" size="small" filterable default-first-option placeholder="请选择机场">
|
|
|
+ <el-option v-for="(item, index) in AirportList" :key="index" :label="item.planDepartureApt" :value="item.planDepartureApt" />
|
|
|
</el-select>
|
|
|
<!-- <el-input
|
|
|
v-model="tableFormer.departmentAirport"
|
|
@@ -72,20 +45,8 @@
|
|
|
<el-col :span="6">
|
|
|
<div class="aviName" style="margin-left: 20px">
|
|
|
<span class="aviP">降落机场</span>
|
|
|
- <el-select
|
|
|
- v-model="tableFormer.landingAirport"
|
|
|
- class="input-shadow"
|
|
|
- size="small"
|
|
|
- filterable
|
|
|
- default-first-option
|
|
|
- placeholder="请选择机场"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="(item, index) in AirportList"
|
|
|
- :key="index"
|
|
|
- :label="item.planDepartureApt"
|
|
|
- :value="item.planDepartureApt"
|
|
|
- />
|
|
|
+ <el-select v-model="tableFormer.landingAirport" class="input-shadow" size="small" filterable default-first-option placeholder="请选择机场">
|
|
|
+ <el-option v-for="(item, index) in AirportList" :key="index" :label="item.planDepartureApt" :value="item.planDepartureApt" />
|
|
|
</el-select>
|
|
|
<!-- <el-input
|
|
|
v-model="tableFormer.landingAirport"
|
|
@@ -96,24 +57,14 @@
|
|
|
<el-col :span="6">
|
|
|
<div class="digName4">
|
|
|
<div class="aviP1">航班号</div>
|
|
|
- <el-input
|
|
|
- placeholder="请输入航班号"
|
|
|
- v-model="tableFormer.flightNo"
|
|
|
- ></el-input>
|
|
|
+ <el-input placeholder="请输入航班号" v-model="tableFormer.flightNo"></el-input>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<div class="digName1">
|
|
|
<div class="aviName1">
|
|
|
<div class="aviP2">起飞时间</div>
|
|
|
- <el-date-picker
|
|
|
- value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
- v-model="tableFormer.startDate"
|
|
|
- :rows="1"
|
|
|
- type="datetime"
|
|
|
- placeholder="选择日期时间"
|
|
|
- @change="inputChangeHandler(item.columnName)"
|
|
|
- >
|
|
|
+ <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" v-model="tableFormer.startDate" :rows="1" type="datetime" placeholder="选择日期时间" @change="inputChangeHandler(item.columnName)">
|
|
|
</el-date-picker>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -121,14 +72,7 @@
|
|
|
<el-col :span="6">
|
|
|
<div class="aviName1">
|
|
|
<div class="aviP5">降落时间</div>
|
|
|
- <el-date-picker
|
|
|
- value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
- v-model="tableFormer.endDate"
|
|
|
- :rows="1"
|
|
|
- type="datetime"
|
|
|
- placeholder="选择日期时间"
|
|
|
- @change="inputChangeHandler(item.columnName)"
|
|
|
- >
|
|
|
+ <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" v-model="tableFormer.endDate" :rows="1" type="datetime" placeholder="选择日期时间" @change="inputChangeHandler(item.columnName)">
|
|
|
</el-date-picker>
|
|
|
</div>
|
|
|
</el-col>
|
|
@@ -138,15 +82,7 @@
|
|
|
</div>
|
|
|
|
|
|
<div class="centerBox">
|
|
|
- <Search
|
|
|
- title="报警预警策略"
|
|
|
- :isSearch="false"
|
|
|
- :isSlot="false"
|
|
|
- :isChild="true"
|
|
|
- @clearSearchData="clearSearchData"
|
|
|
- @getSearchData="getSearchData"
|
|
|
- style="padding-left: 16px; padding-right: 32px"
|
|
|
- />
|
|
|
+ <Search title="报警预警策略" :isSearch="false" :isSlot="false" :isChild="true" @clearSearchData="clearSearchData" @getSearchData="getSearchData" style="padding-left: 16px; padding-right: 32px" />
|
|
|
|
|
|
<div class="LBox">
|
|
|
<!-- <div @click="addDig" class="lbox-add r24">
|
|
@@ -168,18 +104,11 @@
|
|
|
<!-- <div class="title flower">
|
|
|
{{ item.name }}
|
|
|
</div> -->
|
|
|
- <el-tooltip
|
|
|
- effect="dark"
|
|
|
- :content="item.StrategyName"
|
|
|
- placement="bottom"
|
|
|
- >
|
|
|
+ <el-tooltip effect="dark" :content="item.StrategyName" placement="bottom">
|
|
|
<div class="title flower">{{ item.StrategyName }}</div>
|
|
|
</el-tooltip>
|
|
|
<div class="edit_log" @click="editup(item)"></div>
|
|
|
- <div
|
|
|
- @click="delBox(item, index)"
|
|
|
- class="el-icon-close icon posab"
|
|
|
- ></div>
|
|
|
+ <div @click="delBox(item, index)" class="el-icon-close icon posab"></div>
|
|
|
</div>
|
|
|
<div class="text item" style="margin-top: 15px">
|
|
|
<div class="adTime fwgh" style="margin-bottom: 15px">
|
|
@@ -225,16 +154,8 @@
|
|
|
</p>
|
|
|
</div>
|
|
|
<div class="DelFoot right t30" style="background: #ffffff">
|
|
|
- <el-button
|
|
|
- size="medium"
|
|
|
- @click="tableRemove"
|
|
|
- class="r25 buwitch"
|
|
|
- type="danger"
|
|
|
- >删除</el-button
|
|
|
- >
|
|
|
- <el-button size="medium" class="r26" @click="rmFlag = false"
|
|
|
- >取消</el-button
|
|
|
- >
|
|
|
+ <el-button size="medium" @click="tableRemove" class="r25 buwitch" type="danger">删除</el-button>
|
|
|
+ <el-button size="medium" class="r26" @click="rmFlag = false">取消</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</Dialog>
|
|
@@ -300,54 +221,23 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col v-for="(item, index) in tableColsCopy" :key="index">
|
|
|
<el-form-item :label="item.columnLabel">
|
|
|
- <template
|
|
|
- v-if="
|
|
|
+ <template v-if="
|
|
|
item.listqueryTemplateID || item.listqueryTemplateID == 0
|
|
|
- "
|
|
|
- >
|
|
|
- <el-select
|
|
|
- size="small"
|
|
|
- clearable
|
|
|
- style="width: 100%"
|
|
|
- v-model="tableForm[item.columnName]"
|
|
|
- @change="changeSelect(item.columnName)"
|
|
|
- placeholder="请选择"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in tableOptions[item.columnName]"
|
|
|
- :key="item.v"
|
|
|
- :label="item.k"
|
|
|
- :value="item.v"
|
|
|
- >
|
|
|
+ ">
|
|
|
+ <el-select size="small" clearable style="width: 100%" v-model="tableForm[item.columnName]" @change="changeSelect(item.columnName)" placeholder="请选择">
|
|
|
+ <el-option v-for="item in tableOptions[item.columnName]" :key="item.v" :label="item.k" :value="item.v">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</template>
|
|
|
<template v-else-if="item.dataType == 'longtext'">
|
|
|
- <el-input
|
|
|
- size="small"
|
|
|
- :rows="1"
|
|
|
- type="textarea"
|
|
|
- @change="inputChangeHandler(item.columnName)"
|
|
|
- v-model="tableForm[item.columnName]"
|
|
|
- ></el-input>
|
|
|
+ <el-input size="small" :rows="1" type="textarea" @change="inputChangeHandler(item.columnName)" v-model="tableForm[item.columnName]"></el-input>
|
|
|
</template>
|
|
|
<template v-else-if="item.dataType == 'datetime'">
|
|
|
- <el-date-picker
|
|
|
- value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
- v-model="tableForm[item.columnName]"
|
|
|
- :rows="1"
|
|
|
- type="datetime"
|
|
|
- placeholder="选择日期时间"
|
|
|
- @change="inputChangeHandler(item.columnName)"
|
|
|
- >
|
|
|
+ <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" v-model="tableForm[item.columnName]" :rows="1" type="datetime" placeholder="选择日期时间" @change="inputChangeHandler(item.columnName)">
|
|
|
</el-date-picker>
|
|
|
</template>
|
|
|
<template v-else>
|
|
|
- <el-input
|
|
|
- size="small"
|
|
|
- v-model="tableForm[item.columnName]"
|
|
|
- @change="inputChangeHandler(item.columnName)"
|
|
|
- ></el-input>
|
|
|
+ <el-input size="small" v-model="tableForm[item.columnName]" @change="inputChangeHandler(item.columnName)"></el-input>
|
|
|
</template>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -355,9 +245,7 @@
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<div class="foot right">
|
|
|
- <el-button size="medium" @click="handleOk" class="r24" type="primary"
|
|
|
- >确定</el-button
|
|
|
- >
|
|
|
+ <el-button size="medium" @click="handleOk" class="r24" type="primary">确定</el-button>
|
|
|
<el-button @click="flag = false" size="medium">取消</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -382,7 +270,7 @@ import {
|
|
|
} from "@/api/SystemSettings.js";
|
|
|
export default {
|
|
|
components: { Dialog, Search },
|
|
|
- data() {
|
|
|
+ data () {
|
|
|
return {
|
|
|
optionProps: {
|
|
|
value: "inAicompanyCode2",
|
|
@@ -454,7 +342,7 @@ export default {
|
|
|
shortcuts: [
|
|
|
{
|
|
|
text: "最近一周",
|
|
|
- onClick(picker) {
|
|
|
+ onClick (picker) {
|
|
|
const end = new Date();
|
|
|
const start = new Date();
|
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
|
@@ -463,7 +351,7 @@ export default {
|
|
|
},
|
|
|
{
|
|
|
text: "最近一个月",
|
|
|
- onClick(picker) {
|
|
|
+ onClick (picker) {
|
|
|
const end = new Date();
|
|
|
const start = new Date();
|
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
|
@@ -472,7 +360,7 @@ export default {
|
|
|
},
|
|
|
{
|
|
|
text: "最近三个月",
|
|
|
- onClick(picker) {
|
|
|
+ onClick (picker) {
|
|
|
const end = new Date();
|
|
|
const start = new Date();
|
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
|
|
@@ -501,7 +389,7 @@ export default {
|
|
|
tableOptions: {},
|
|
|
};
|
|
|
},
|
|
|
- created() {
|
|
|
+ created () {
|
|
|
this.getAirPortData();
|
|
|
this.getCharacterData();
|
|
|
this.sysServiceWarn();
|
|
@@ -514,23 +402,23 @@ export default {
|
|
|
// this.AlarmlocationList(this.code4, "2");
|
|
|
},
|
|
|
watch: {
|
|
|
- code3() {
|
|
|
+ code3 () {
|
|
|
this.AlarmlocationList(this.code3, "1");
|
|
|
},
|
|
|
- code4() {
|
|
|
+ code4 () {
|
|
|
this.AlarmlocationList(this.code4, "2");
|
|
|
},
|
|
|
},
|
|
|
methods: {
|
|
|
- load() {
|
|
|
- // console.log("分页");
|
|
|
+ load () {
|
|
|
+ //
|
|
|
if (this.noMore || this.loading) {
|
|
|
return;
|
|
|
}
|
|
|
this.getQuery();
|
|
|
},
|
|
|
//获取预警报警场景(按照ID)
|
|
|
- async sysServiceWarn() {
|
|
|
+ async sysServiceWarn () {
|
|
|
try {
|
|
|
this.loading = true;
|
|
|
let arr = [];
|
|
@@ -554,12 +442,12 @@ export default {
|
|
|
} catch (error) {
|
|
|
this.page--;
|
|
|
this.loading = false;
|
|
|
- console.log(error);
|
|
|
- console.log(error);
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
},
|
|
|
//获取开始位置
|
|
|
- async AlarmlocationList(data, val) {
|
|
|
+ async AlarmlocationList (data, val) {
|
|
|
if (val == "1") {
|
|
|
const result = await Alarmlocation({ code: data });
|
|
|
if (result.code == 0) {
|
|
@@ -573,9 +461,9 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
//清除搜索
|
|
|
- clearSearchData() {},
|
|
|
+ clearSearchData () { },
|
|
|
//模糊查询
|
|
|
- findarrays(ar, feature, v) {
|
|
|
+ findarrays (ar, feature, v) {
|
|
|
var arr = [];
|
|
|
for (var i = 0; i < ar.length; i++) {
|
|
|
var atxt = ar[i][feature];
|
|
@@ -598,36 +486,36 @@ export default {
|
|
|
return arr;
|
|
|
},
|
|
|
//搜索
|
|
|
- getSearchData(val) {
|
|
|
+ getSearchData (val) {
|
|
|
if (val) {
|
|
|
this.infoArr = this.findarrays(this.infoArr, "name", val);
|
|
|
} else {
|
|
|
this.UserWarning();
|
|
|
}
|
|
|
},
|
|
|
- closeForm() {
|
|
|
+ closeForm () {
|
|
|
this.$refs.form.resetFields();
|
|
|
},
|
|
|
- changeValue(val) {
|
|
|
+ changeValue (val) {
|
|
|
this.form.name = val;
|
|
|
|
|
|
this.$forceUpdate();
|
|
|
},
|
|
|
- changeValue1(val) {
|
|
|
+ changeValue1 (val) {
|
|
|
this.form.WarningDur = val;
|
|
|
this.$forceUpdate();
|
|
|
},
|
|
|
- changeValue2(val) {
|
|
|
+ changeValue2 (val) {
|
|
|
this.form.alamDur = val;
|
|
|
this.$forceUpdate();
|
|
|
},
|
|
|
- changeValue3(val) {
|
|
|
+ changeValue3 (val) {
|
|
|
this.form.desc = val;
|
|
|
this.$forceUpdate();
|
|
|
},
|
|
|
|
|
|
//获取航司信息列表
|
|
|
- async getAirlines() {
|
|
|
+ async getAirlines () {
|
|
|
const res = await AirlinesInquiry({});
|
|
|
if (res.code === 0) {
|
|
|
this.aircompeny = res.returnData;
|
|
@@ -636,7 +524,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
//机场列表
|
|
|
- async getAirlist() {
|
|
|
+ async getAirlist () {
|
|
|
const res = await AirportsList({});
|
|
|
if (res.code === 0) {
|
|
|
this.arilist = res.returnData;
|
|
@@ -645,7 +533,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
//节点信息列表
|
|
|
- async tracenode() {
|
|
|
+ async tracenode () {
|
|
|
const res = await traceNodeslist({});
|
|
|
if (res.code === 0) {
|
|
|
this.traceList = res.returnData;
|
|
@@ -654,13 +542,13 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
//编辑数据
|
|
|
- async editSubmit() {
|
|
|
+ async editSubmit () {
|
|
|
this.tableFormer.event = 2;
|
|
|
this.generalDataReceptions(this.tableFormer);
|
|
|
},
|
|
|
|
|
|
//策略列表
|
|
|
- async UserWarning() {
|
|
|
+ async UserWarning () {
|
|
|
try {
|
|
|
let arr = [];
|
|
|
arr.push(this.$route.query.id);
|
|
@@ -678,8 +566,8 @@ export default {
|
|
|
this.page--;
|
|
|
}
|
|
|
} catch (error) {
|
|
|
- console.log(error);
|
|
|
- console.log(error);
|
|
|
+
|
|
|
+
|
|
|
this.page--;
|
|
|
}
|
|
|
// const res = await UserWarningList({
|
|
@@ -691,14 +579,14 @@ export default {
|
|
|
// this.$message.error.message;
|
|
|
// }
|
|
|
},
|
|
|
- infoIndex() {},
|
|
|
+ infoIndex () { },
|
|
|
|
|
|
- delBox(item) {
|
|
|
+ delBox (item) {
|
|
|
this.rmFlag = true;
|
|
|
this.tableObj.alarmStrategyID = item.alarmStrategyID;
|
|
|
},
|
|
|
//删除
|
|
|
- async remove() {
|
|
|
+ async remove () {
|
|
|
const res = await DelUserWarning({
|
|
|
id: this.DelId,
|
|
|
});
|
|
@@ -710,12 +598,12 @@ export default {
|
|
|
}
|
|
|
this.remove = false;
|
|
|
},
|
|
|
- addDig() {
|
|
|
+ addDig () {
|
|
|
this.flag = true;
|
|
|
this.tableType = "add";
|
|
|
this.tableForm = {};
|
|
|
},
|
|
|
- editInfo(item) {
|
|
|
+ editInfo (item) {
|
|
|
this.posType = 2;
|
|
|
this.editFalg = true;
|
|
|
this.form.name = item.name;
|
|
@@ -731,10 +619,10 @@ export default {
|
|
|
this.posArrCopy = _.cloneDeep(item);
|
|
|
},
|
|
|
|
|
|
- close() {
|
|
|
+ close () {
|
|
|
this.editFalg = false;
|
|
|
},
|
|
|
- async submit() {
|
|
|
+ async submit () {
|
|
|
if (this.posType === 1) {
|
|
|
const res = await AddUserWarning({
|
|
|
id: null,
|
|
@@ -783,7 +671,7 @@ export default {
|
|
|
this.closeForm();
|
|
|
},
|
|
|
// 新增/编辑-确认
|
|
|
- submitClickHandler() {
|
|
|
+ submitClickHandler () {
|
|
|
this.$refs["ruleForm"].validate((valid) => {
|
|
|
if (valid) {
|
|
|
if (this.tableType == "add") {
|
|
@@ -798,7 +686,7 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
//表格-增/删/改
|
|
|
- async generalDataReception(data) {
|
|
|
+ async generalDataReception (data) {
|
|
|
try {
|
|
|
data = {
|
|
|
...data,
|
|
@@ -824,7 +712,7 @@ export default {
|
|
|
this.tableForm = {};
|
|
|
}
|
|
|
} catch (error) {
|
|
|
- console.log(error);
|
|
|
+
|
|
|
this.flag = false;
|
|
|
this.rmFlag = false;
|
|
|
this.tableObj = {};
|
|
@@ -832,16 +720,16 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
//表格-删除-确认
|
|
|
- tableRemove() {
|
|
|
+ tableRemove () {
|
|
|
this.tableObj.event = 3;
|
|
|
this.generalDataReception(this.tableObj);
|
|
|
},
|
|
|
//弹框-确定
|
|
|
- handleOk() {
|
|
|
+ handleOk () {
|
|
|
this.submitClickHandler();
|
|
|
},
|
|
|
//表格-增/删/改
|
|
|
- async generalDataReceptions(data) {
|
|
|
+ async generalDataReceptions (data) {
|
|
|
try {
|
|
|
data = {
|
|
|
...data,
|
|
@@ -859,17 +747,17 @@ export default {
|
|
|
this.$message.error("操作失败");
|
|
|
}
|
|
|
} catch (error) {
|
|
|
- console.log(error);
|
|
|
+
|
|
|
}
|
|
|
},
|
|
|
//编辑
|
|
|
- editup(data) {
|
|
|
+ editup (data) {
|
|
|
this.flag = true;
|
|
|
this.tableType = "";
|
|
|
this.tableForm = JSON.parse(JSON.stringify(data));
|
|
|
},
|
|
|
// 选择机场
|
|
|
- async getAirPortData() {
|
|
|
+ async getAirPortData () {
|
|
|
try {
|
|
|
const res = await getQuery({
|
|
|
id: DATACONTENT_ID.departureAirId,
|
|
@@ -885,11 +773,11 @@ export default {
|
|
|
this.$message.error(res.message);
|
|
|
}
|
|
|
} catch (error) {
|
|
|
- console.log("出错了", error.message || error);
|
|
|
+
|
|
|
}
|
|
|
},
|
|
|
//选择二字码
|
|
|
- async getCharacterData() {
|
|
|
+ async getCharacterData () {
|
|
|
try {
|
|
|
const res = await getQuery({
|
|
|
id: DATACONTENT_ID.twoCharacterOptions,
|
|
@@ -905,15 +793,15 @@ export default {
|
|
|
this.$message.error(res.message);
|
|
|
}
|
|
|
} catch (error) {
|
|
|
- console.log("出错了", error.message || error);
|
|
|
+
|
|
|
}
|
|
|
},
|
|
|
// 列表滚动事件
|
|
|
- scrollEvent(e) {
|
|
|
+ scrollEvent (e) {
|
|
|
if (
|
|
|
e.srcElement.offsetHeight +
|
|
|
- e.srcElement.scrollTop -
|
|
|
- e.srcElement.scrollHeight ===
|
|
|
+ e.srcElement.scrollTop -
|
|
|
+ e.srcElement.scrollHeight ===
|
|
|
0
|
|
|
) {
|
|
|
if (this.isUpdate) {
|