|
@@ -53,7 +53,7 @@
|
|
</div>
|
|
</div>
|
|
<!-- 添加或修改判故逻辑对话框 -->
|
|
<!-- 添加或修改判故逻辑对话框 -->
|
|
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="60%" :before-close="handleClose">
|
|
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="60%" :before-close="handleClose">
|
|
- <el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
|
|
|
+ <el-form ref="formRef" :model="form" :rules="rules" label-width="80px">
|
|
<el-form-item label="机型" prop="model">
|
|
<el-form-item label="机型" prop="model">
|
|
<el-select disabled v-model="form.model" placeholder="请选择机型">
|
|
<el-select disabled v-model="form.model" placeholder="请选择机型">
|
|
<el-option v-for="item in aircaftModelAll" :key="item.aircaftModelId" :label="item.aircaftModelName" :value="item.aircaftModelId"> </el-option>
|
|
<el-option v-for="item in aircaftModelAll" :key="item.aircaftModelId" :label="item.aircaftModelName" :value="item.aircaftModelId"> </el-option>
|
|
@@ -96,7 +96,36 @@
|
|
<el-button @click="addSymbol(item)" type="primary" v-for="(item, index) in operatorList" :key="index">{{ item }}</el-button>
|
|
<el-button @click="addSymbol(item)" type="primary" v-for="(item, index) in operatorList" :key="index">{{ item }}</el-button>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
|
|
+ <el-col :span="24">
|
|
|
|
+ <el-form-item label="持续判据">
|
|
|
|
+ <el-button @click="innerVisible = true" type="primary">增加持续判据</el-button>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-col>
|
|
</el-form>
|
|
</el-form>
|
|
|
|
+ <el-dialog width="30%" title="增加持续判据" :visible.sync="innerVisible" :before-close="sustainClose" append-to-body>
|
|
|
|
+ <el-form ref="sustainDataFormRef" :model="sustainDataForm" :rules="sustainRules" label-width="80px">
|
|
|
|
+ <el-form-item label="参数">
|
|
|
|
+ <el-select v-model="sustainDataForm.params" placeholder="请选择参数">
|
|
|
|
+ <el-option v-for="item in paramsList" :key="item" :label="item" :value="item"> </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="符号">
|
|
|
|
+ <el-select v-model="sustainDataForm.symbol" placeholder="请选择符号">
|
|
|
|
+ <el-option v-for="(item, index) in symbolList" :key="index" :label="item" :value="item"> </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="数值">
|
|
|
|
+ <el-input v-model="sustainDataForm.number" placeholder="请输入数值" />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label-width="100px" label="持续时间(s)">
|
|
|
|
+ <el-input-number v-model="sustainDataForm.sustainTime" :min="0" :precision="1" :step="0.5" placeholder="请输入持续时间(s)"></el-input-number>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
|
+ <el-button @click="sustainClose">取 消</el-button>
|
|
|
|
+ <el-button type="primary" @click="submitSustainData">确 定</el-button>
|
|
|
|
+ </span>
|
|
|
|
+ </el-dialog>
|
|
<span slot="footer" class="dialog-footer">
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button @click="handleClose">取 消</el-button>
|
|
<el-button @click="handleClose">取 消</el-button>
|
|
<el-button type="primary" @click="submit">确 定</el-button>
|
|
<el-button type="primary" @click="submit">确 定</el-button>
|
|
@@ -123,6 +152,7 @@ export default {
|
|
return {
|
|
return {
|
|
dialogTitle: '新增',
|
|
dialogTitle: '新增',
|
|
dialogVisible: false,
|
|
dialogVisible: false,
|
|
|
|
+ innerVisible: false,
|
|
keyWordData: '',
|
|
keyWordData: '',
|
|
aircaftModelIdList: [],
|
|
aircaftModelIdList: [],
|
|
currentNodeKey: '',
|
|
currentNodeKey: '',
|
|
@@ -177,11 +207,25 @@ export default {
|
|
hmcCode: [{ required: true, message: 'HMC码不能为空', trigger: 'blur' }],
|
|
hmcCode: [{ required: true, message: 'HMC码不能为空', trigger: 'blur' }],
|
|
name: [{ required: true, message: '判据名称不能为空', trigger: 'blur' }]
|
|
name: [{ required: true, message: '判据名称不能为空', trigger: 'blur' }]
|
|
},
|
|
},
|
|
|
|
+ sustainRules: {
|
|
|
|
+ params: [{ required: true, message: '参数不能为空', trigger: 'change' }],
|
|
|
|
+ symbol: [{ required: true, message: '符号不能为空', trigger: 'change' }],
|
|
|
|
+ number: [{ required: true, message: '数值不能为空', trigger: 'blur' }],
|
|
|
|
+ sustainTime: [{ required: true, message: '持续时间不能为空', trigger: 'blur' }]
|
|
|
|
+ },
|
|
aircaftModelAll: [],
|
|
aircaftModelAll: [],
|
|
allAirConfig: [],
|
|
allAirConfig: [],
|
|
operatorList: ['+', '-', '*', '/', '>', '<', '≥', '≤', '(', ')', '&&', '||', '==', '≠', '删除', '清空'],
|
|
operatorList: ['+', '-', '*', '/', '>', '<', '≥', '≤', '(', ')', '&&', '||', '==', '≠', '删除', '清空'],
|
|
numberList: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '.'],
|
|
numberList: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '.'],
|
|
- paramsList: []
|
|
|
|
|
|
+ paramsList: [],
|
|
|
|
+ symbolList: ['>', '<', '≥', '≤', '≠', '=='],
|
|
|
|
+ // 持续时间内容
|
|
|
|
+ sustainDataForm: {
|
|
|
|
+ params: '',
|
|
|
|
+ symbol: '',
|
|
|
|
+ number: '',
|
|
|
|
+ sustainTime: ''
|
|
|
|
+ }
|
|
}
|
|
}
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
@@ -203,7 +247,6 @@ export default {
|
|
},
|
|
},
|
|
|
|
|
|
async removeJudgeFaultLogicAPI(params) {
|
|
async removeJudgeFaultLogicAPI(params) {
|
|
- console.log('params', params)
|
|
|
|
try {
|
|
try {
|
|
const { code } = await removeJudgeFaultLogic(params)
|
|
const { code } = await removeJudgeFaultLogic(params)
|
|
if (code === 200) {
|
|
if (code === 200) {
|
|
@@ -314,13 +357,11 @@ export default {
|
|
},
|
|
},
|
|
|
|
|
|
submit() {
|
|
submit() {
|
|
- this.$refs['form'].validate((valid) => {
|
|
|
|
|
|
+ this.$refs['formRef'].validate((valid) => {
|
|
if (valid) {
|
|
if (valid) {
|
|
let c = this.form.remarks.slice(2, this.form.remarks.length - 2).split(' ')
|
|
let c = this.form.remarks.slice(2, this.form.remarks.length - 2).split(' ')
|
|
- console.log('c', c)
|
|
|
|
let newFormula = c.map((item) => (item === '\\&\\&' ? '&&' : item))
|
|
let newFormula = c.map((item) => (item === '\\&\\&' ? '&&' : item))
|
|
this.form.remarks = newFormula.join(' ')
|
|
this.form.remarks = newFormula.join(' ')
|
|
- console.log('this.form', this.form)
|
|
|
|
switch (this.dialogTitle) {
|
|
switch (this.dialogTitle) {
|
|
case '编辑':
|
|
case '编辑':
|
|
this.updateJudgeFaultLogicAPI()
|
|
this.updateJudgeFaultLogicAPI()
|
|
@@ -409,17 +450,27 @@ export default {
|
|
let formula = deepClone(this.form.remarks)
|
|
let formula = deepClone(this.form.remarks)
|
|
// 先拿到当前的字符 去除前后 $$ 符号 以空格分隔
|
|
// 先拿到当前的字符 去除前后 $$ 符号 以空格分隔
|
|
let c = formula.slice(2, formula.length - 2).split(' ')
|
|
let c = formula.slice(2, formula.length - 2).split(' ')
|
|
- if (number == '.' && !this.numberList.find((i) => i == c[c.length - 1])) {
|
|
|
|
|
|
+ const lastData = c[c.length - 1]
|
|
|
|
+ const lastIsNumber = this.numberList.find((i) => i == lastData.charAt(lastData.length - 1))
|
|
|
|
+ if (number == '.' && !lastIsNumber) {
|
|
useMessage('error', '小数点前必须为数字')
|
|
useMessage('error', '小数点前必须为数字')
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- if (this.paramsList.find((i) => i == c[c.length - 1])) {
|
|
|
|
|
|
+ if (this.paramsList.find((i) => i == lastData)) {
|
|
useMessage('error', '参数和数字不能相邻')
|
|
useMessage('error', '参数和数字不能相邻')
|
|
return
|
|
return
|
|
} else {
|
|
} else {
|
|
- c.push(number)
|
|
|
|
- const str = c.join(' ')
|
|
|
|
- this.form.remarks = `$$${str}$$`
|
|
|
|
|
|
+ // 判断最后一位是不是数字
|
|
|
|
+ if (lastIsNumber) {
|
|
|
|
+ const newLastData = lastData + number
|
|
|
|
+ c[c.length - 1] = newLastData
|
|
|
|
+ const str = c.join(' ')
|
|
|
|
+ this.form.remarks = `$$${str}$$`
|
|
|
|
+ } else {
|
|
|
|
+ c.push(number)
|
|
|
|
+ const str = c.join(' ')
|
|
|
|
+ this.form.remarks = `$$${str}$$`
|
|
|
|
+ }
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
|
|
@@ -485,8 +536,31 @@ export default {
|
|
}
|
|
}
|
|
})
|
|
})
|
|
const str = newFormula.join(' ')
|
|
const str = newFormula.join(' ')
|
|
- console.log('str', `$$${str}$$`)
|
|
|
|
return `$$${str}$$`
|
|
return `$$${str}$$`
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ // 增加判据
|
|
|
|
+ submitSustainData() {
|
|
|
|
+ this.$refs['sustainDataFormRef'].validate((valid) => {
|
|
|
|
+ if (valid) {
|
|
|
|
+ const number = Number(this.sustainDataForm.number)
|
|
|
|
+ const sustainTime = Number(this.sustainDataForm.sustainTime)
|
|
|
|
+ const formula = this.form.remarks.slice(2, this.form.remarks.length - 2)
|
|
|
|
+ const newFormula = formula + ` \\&\\&checkVibrationDuration(${this.sustainDataForm.params},'${this.sustainDataForm.symbol}',${number},${sustainTime},时间)`
|
|
|
|
+ this.form.remarks = `$$${newFormula}$$`
|
|
|
|
+ this.sustainClose()
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ sustainClose() {
|
|
|
|
+ this.innerVisible = false
|
|
|
|
+ this.sustainDataForm = {
|
|
|
|
+ params: '',
|
|
|
|
+ symbol: '',
|
|
|
|
+ number: '',
|
|
|
|
+ sustainTime: ''
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|