非dicom阅片更改
parent
041c23daf6
commit
d866153ccc
|
@ -158,6 +158,7 @@
|
|||
<el-input
|
||||
v-if="question.Type === 'class' && question.ClassifyShowType === 1"
|
||||
v-model="questionForm[question.Id]"
|
||||
:disabled="!question.ClassifyEditType"
|
||||
/>
|
||||
<el-select
|
||||
v-if="question.Type === 'class' && question.ClassifyShowType === 2"
|
||||
|
@ -191,6 +192,7 @@
|
|||
type="number"
|
||||
:disabled="!question.ClassifyEditType"
|
||||
v-model="questionForm[question.Id]"
|
||||
@change="(val) => { formItemNumberChange(val, question) }"
|
||||
/>
|
||||
<!-- 自动计算 -->
|
||||
<!-- :precision="2" :step="0.1" :max="10" -->
|
||||
|
@ -225,7 +227,7 @@
|
|||
type="number"
|
||||
v-if="question.Type === 'number' && question.DataSource !== 1"
|
||||
@change="(val) => { formItemNumberChange(val, question) }"
|
||||
onblur="value=parseFloat(value).toFixed(parseInt(localStorage.getItem('digitPlaces')));console.log(localStorage.getItem('digitPlaces'))"
|
||||
onblur="value=parseFloat(value).toFixed(parseInt(localStorage.getItem('digitPlaces')));"
|
||||
@input="limitInput($event, questionForm, question.Id)"
|
||||
v-model="questionForm[question.Id]"
|
||||
>
|
||||
|
@ -235,7 +237,7 @@
|
|||
<el-input
|
||||
type="number"
|
||||
v-if="question.Type === 'number' && question.DataSource === 1"
|
||||
onblur="value=parseFloat(value).toFixed(parseInt(localStorage.getItem('digitPlaces')));console.log(localStorage.getItem('digitPlaces'))"
|
||||
onblur="value=parseFloat(value).toFixed(parseInt(localStorage.getItem('digitPlaces')));"
|
||||
@input="limitInput($event, questionForm, question.Id)"
|
||||
:disabled="question.DataSource === 1"
|
||||
v-model="questionForm[question.Id]"
|
||||
|
@ -408,7 +410,7 @@ export default {
|
|||
// if (!v[this.question.Id] || !oldv[this.question.Id]) return
|
||||
// } catch (e) {
|
||||
// }
|
||||
try {
|
||||
try {
|
||||
if (!v || !v[this.question.Id] || !oldv || !oldv[this.question.Id])
|
||||
return
|
||||
} catch (e) {
|
||||
|
@ -467,11 +469,9 @@ export default {
|
|||
if (value.split('.')[1].length >= this.digitPlaces) {
|
||||
this.$set(a, b, parseFloat(value).toFixed(this.digitPlaces))
|
||||
}
|
||||
} else {
|
||||
}
|
||||
},
|
||||
deleteTableCol(row, index) {
|
||||
console.log(row)
|
||||
this.$confirm(this.$t('trials:uploadNonDicoms:message:msg1')).then(() => {
|
||||
const loading = this.$loading({ fullscreen: true })
|
||||
var param = {
|
||||
|
@ -551,7 +551,6 @@ export default {
|
|||
for (const k in this.QuestionsForm) {
|
||||
if (reg.test(k)) {
|
||||
if (answers.findIndex(i => i.tableQuestionId === k) === -1) {
|
||||
console.log(this.QuestionsForm)
|
||||
answers.push({ tableQuestionId: k, answer: this.QuestionsForm[k] })
|
||||
}
|
||||
}
|
||||
|
@ -864,7 +863,6 @@ export default {
|
|||
this.QuestionsForm = {}
|
||||
} else {
|
||||
this.addOrEdit.type = 'edit'
|
||||
console.log(this.questionForm)
|
||||
this.QuestionsForm = Object.assign({}, this.questionForm[row.Id][index])
|
||||
}
|
||||
},
|
||||
|
@ -917,7 +915,6 @@ export default {
|
|||
|
||||
},
|
||||
async uploadScreenshot(param) {
|
||||
console.log('uploadScreenshot')
|
||||
if (!this.visitTaskId) return
|
||||
const loading = this.$loading({
|
||||
target: document.querySelector('.ecrf-wrapper'),
|
||||
|
@ -930,7 +927,6 @@ export default {
|
|||
let file = await this.fileToBlob(param.file)
|
||||
let res = await this.OSSclient.put(`/${this.$route.query.trialId}/Customize/${this.visitTaskId}/${fileName}`, file)
|
||||
this.fileList.push({ name: `${this.$t('trials:emailManageCfg:title:fileName')}${this.fileList.length + 1}`, url: this.$getObjectName(res.url) })
|
||||
console.log('fileList', this.fileList)
|
||||
this.urls.push(this.$getObjectName(res.url))
|
||||
this.$emit('setFormItemData', { key: this.question.Id, val: this.urls.length > 0 ? this.urls.join('|') : '', question: this.question })
|
||||
loading.close()
|
||||
|
@ -947,7 +943,6 @@ export default {
|
|||
},
|
||||
handleBeforeUpload(file, accept) {
|
||||
// 检测文件类型是否符合要求
|
||||
console.log('handleBeforeUpload', file)
|
||||
if (this.checkFileSuffix(file.name, accept) || accept === '-1') {
|
||||
return true
|
||||
} else {
|
||||
|
@ -955,7 +950,6 @@ export default {
|
|||
this.$alert(msg)
|
||||
return false
|
||||
}
|
||||
console.log(file)
|
||||
},
|
||||
checkFileSuffix(fileName, accept) {
|
||||
var index = fileName.lastIndexOf('.')
|
||||
|
@ -982,7 +976,6 @@ export default {
|
|||
},
|
||||
// 删除图片
|
||||
handleRemove(file, fileList) {
|
||||
console.log('handleRemove')
|
||||
if (file && file.status === "success") {
|
||||
this.imageUrl = ''
|
||||
this.fileList.splice(this.fileList.findIndex(f => f.url === file.url), 1)
|
||||
|
|
|
@ -55,6 +55,7 @@
|
|||
:question-form="questionForm"
|
||||
:reading-task-state="readingTaskState"
|
||||
:visit-task-id="visitTaskId"
|
||||
:calculation-list="calculationList"
|
||||
@setFormItemData="setFormItemData"
|
||||
@resetFormItemData="resetFormItemData"
|
||||
/>
|
||||
|
@ -110,7 +111,7 @@
|
|||
|
||||
<script>
|
||||
|
||||
import { getTrialReadingQuestion, saveVisitTaskQuestions, submitVisitTaskQuestionsInDto } from '@/api/trials'
|
||||
import { getTrialReadingQuestion, saveVisitTaskQuestions, submitVisitTaskQuestionsInDto, getQuestionCalculateRelation } from '@/api/trials'
|
||||
import { setSkipReadingCache } from '@/api/reading'
|
||||
import const_ from '@/const/sign-code'
|
||||
import FormItem from './FormItem'
|
||||
|
@ -158,10 +159,12 @@ export default {
|
|||
readingTaskState: 0,
|
||||
activeName: 0,
|
||||
formType: null,
|
||||
classArr: []
|
||||
classArr: [],
|
||||
calculationList: []
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getQuestionCalculateRelation()
|
||||
this.getQuestions()
|
||||
DicomEvent.$on('refreshQuestionAnswer', _ => {
|
||||
this.getQuestions()
|
||||
|
@ -212,7 +215,6 @@ export default {
|
|||
this.publicQuestions = res.Result.PublicPage
|
||||
}
|
||||
} else {
|
||||
console.log(1111)
|
||||
res.Result.SinglePage.map((v) => {
|
||||
if (v.Type === 'group' && v.Childrens.length === 0) return
|
||||
if (!v.IsPage && v.Type !== 'group' && v.Type !== 'summary') {
|
||||
|
@ -226,7 +228,6 @@ export default {
|
|||
}
|
||||
})
|
||||
this.questions = res.Result.SinglePage
|
||||
console.log(this.questions)
|
||||
}
|
||||
this.isRender = true
|
||||
}
|
||||
|
@ -248,6 +249,14 @@ export default {
|
|||
}
|
||||
})
|
||||
},
|
||||
async getQuestionCalculateRelation() {
|
||||
try {
|
||||
let res = await getQuestionCalculateRelation({TrialReadingCriterionId: this.criterionId})
|
||||
this.calculationList = res.Result
|
||||
} catch(e) {
|
||||
console.log(e)
|
||||
}
|
||||
},
|
||||
async handleSave() {
|
||||
const valid = await this.$refs['questions'].validate()
|
||||
if (!valid) return
|
||||
|
@ -356,28 +365,28 @@ export default {
|
|||
this.questionForm[v] = null
|
||||
},
|
||||
setFormItemData(obj) {
|
||||
this.$set(this.questionForm, obj.key, obj.val)
|
||||
if (this.classArr.length > 0) {
|
||||
let qs = this.classArr.find(i=>i.triggerId === obj.key)
|
||||
if (!qs) return
|
||||
let answer = null
|
||||
let list = JSON.parse(qs.classifyAlgorithms)
|
||||
if (qs.classifyType === 0) {
|
||||
let o = list.find(v => {
|
||||
return (
|
||||
parseFloat(obj.val) >= parseFloat(v.gt) &&
|
||||
parseFloat(obj.val) < parseFloat(v.lt)
|
||||
)
|
||||
})
|
||||
answer = o ? o.label : null
|
||||
} else if (qs.classifyType === 1) {
|
||||
let o = list.find(v => {
|
||||
return v.val.includes(obj.val)
|
||||
})
|
||||
answer = o ? o.label : null
|
||||
}
|
||||
this.$set(this.questionForm, qs.classId, answer)
|
||||
}
|
||||
this.$set(this.questionForm, obj.key, JSON.parse(JSON.stringify(obj.val)))
|
||||
this.classArr.map(i=>{
|
||||
if (i.triggerId === obj.key) {
|
||||
let answer = null
|
||||
let list = JSON.parse(i.classifyAlgorithms)
|
||||
if (i.classifyType === 0) {
|
||||
let o = list.find(v => {
|
||||
return (
|
||||
parseFloat(obj.val) >= parseFloat(v.gt) &&
|
||||
parseFloat(obj.val) < parseFloat(v.lt)
|
||||
)
|
||||
})
|
||||
answer = o ? o.label : null
|
||||
} else if (i.classifyType === 1) {
|
||||
let o = list.find(v => {
|
||||
return v.val.includes(obj.val)
|
||||
})
|
||||
answer = o ? o.label : null
|
||||
}
|
||||
this.$set(this.questionForm, i.classId, answer)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
:label="`${question.QuestionName}`"
|
||||
:prop="question.Id"
|
||||
:rules="[
|
||||
{ required: (question.IsRequired === 0 || (question.IsRequired ===1 && question.RelevanceId && (questionForm[question.RelevanceId] === question.RelevanceValue))) && question.Type!=='group' && question.Type!=='summary',
|
||||
{ required: (question.IsRequired === 0 || (question.IsRequired ===1 && question.RelevanceId && (question.RelevanceValueList.includes(isNaN(parseFloat(questionForm[question.RelevanceId])) ? questionForm[question.RelevanceId] : questionForm[question.RelevanceId].toString())))) && question.Type!=='group' && question.Type!=='summary',
|
||||
message: $t('common:ruleMessage:specify'), trigger: ['blur', 'change']},
|
||||
]"
|
||||
:class="[question.Type==='group'?'mb':question.Type==='upload'?'uploadWrapper':'']"
|
||||
|
@ -121,34 +121,67 @@
|
|||
<!-- 数值 -->
|
||||
<!-- :precision="2" :step="0.1" :max="10" -->
|
||||
<template v-if="question.Type==='number'">
|
||||
<el-input-number
|
||||
v-if="question.ValueType === 0"
|
||||
<!-- 数值 -->
|
||||
<el-select
|
||||
v-if="question.TypeValue"
|
||||
v-model="questionForm[question.Id]"
|
||||
:precision="0"
|
||||
:disabled="readingTaskState >= 2"
|
||||
/>
|
||||
<el-input-number
|
||||
v-else-if="question.ValueType === 3"
|
||||
clearable
|
||||
@change="(val) => { formItemNumberChange(val, question) }"
|
||||
>
|
||||
<el-option
|
||||
v-for="val in question.TypeValue.split('|')"
|
||||
:key="val"
|
||||
:label="val.trim()"
|
||||
:value="val.trim()"
|
||||
/>
|
||||
</el-select>
|
||||
<el-input
|
||||
type="number"
|
||||
v-if="question.DataSource !== 1"
|
||||
@change="(val) => { formItemNumberChange(val, question) }"
|
||||
onblur="value=parseFloat(value).toFixed(parseInt(localStorage.getItem('digitPlaces')));"
|
||||
@input="limitInput($event, questionForm, question.Id)"
|
||||
v-model="questionForm[question.Id]"
|
||||
:disabled="readingTaskState >= 2"
|
||||
/>
|
||||
<el-input-number
|
||||
v-else-if="question.ValueType === 1 || question.ValueType === 2"
|
||||
>
|
||||
<template slot="append" v-if="question.Unit !== 0">{{question.Unit !== 4 ? $fd('ValueUnit', question.Unit) : question.CustomUnit}}</template>
|
||||
<template slot="append" v-else-if="question.ValueType === 2">%</template>
|
||||
</el-input>
|
||||
<el-input
|
||||
type="number"
|
||||
v-if="question.DataSource === 1"
|
||||
onblur="value=parseFloat(value).toFixed(parseInt(localStorage.getItem('digitPlaces')));"
|
||||
@input="limitInput($event, questionForm, question.Id)"
|
||||
:disabled="question.DataSource === 1"
|
||||
v-model="questionForm[question.Id]"
|
||||
:precision="digitPlaces"
|
||||
:disabled="readingTaskState >= 2"
|
||||
/>
|
||||
>
|
||||
<template slot="append" v-if="question.Unit !== 0">{{question.Unit !== 4 ? $fd('ValueUnit', question.Unit) : question.CustomUnit}}</template>
|
||||
<template slot="append" v-else-if="question.ValueType === 2">%</template>
|
||||
</el-input>
|
||||
</template>
|
||||
<!-- 自动分类 -->
|
||||
<el-input
|
||||
v-if="question.Type === 'class' && !question.TypeValue"
|
||||
v-if="question.Type === 'class' && question.ClassifyShowType === 1"
|
||||
v-model="questionForm[question.Id]"
|
||||
disabled
|
||||
:disabled="!question.ClassifyEditType"
|
||||
/>
|
||||
<el-radio-group
|
||||
v-if="question.Type === 'class' && question.TypeValue"
|
||||
<el-select
|
||||
v-if="question.Type === 'class' && question.ClassifyShowType === 2"
|
||||
v-model="questionForm[question.Id]"
|
||||
disabled
|
||||
:disabled="!question.ClassifyEditType"
|
||||
@change="(val) => { formItemChange(val, question) }"
|
||||
>
|
||||
<el-option
|
||||
v-for="val in question.TypeValue.split('|')"
|
||||
:key="val"
|
||||
:label="val.trim()"
|
||||
:value="val.trim()"
|
||||
/>
|
||||
</el-select>
|
||||
<el-radio-group
|
||||
v-if="question.Type === 'class' && question.ClassifyShowType === 3"
|
||||
v-model="questionForm[question.Id]"
|
||||
:disabled="!question.ClassifyEditType"
|
||||
@change="(val) => { formItemChange(val, question) }"
|
||||
>
|
||||
<el-radio
|
||||
v-for="item of question.TypeValue.split('|')"
|
||||
|
@ -158,6 +191,13 @@
|
|||
{{ item.trim() }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
<el-input
|
||||
v-if="question.Type === 'class' && question.ClassifyShowType === 4"
|
||||
type="number"
|
||||
:disabled="!question.ClassifyEditType"
|
||||
v-model="questionForm[question.Id]"
|
||||
@change="(val) => { formItemNumberChange(val, question) }"
|
||||
/>
|
||||
<!-- 上传图像 -->
|
||||
<el-upload
|
||||
v-if="question.Type==='upload'"
|
||||
|
@ -219,8 +259,10 @@
|
|||
:reading-task-state="readingTaskState"
|
||||
:question-form="questionForm"
|
||||
:visit-task-id="visitTaskId"
|
||||
:calculationList="calculationList"
|
||||
@setFormItemData="setFormItemData"
|
||||
@resetFormItemData="resetFormItemData"
|
||||
@formItemNumberChange="formItemNumberChange"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -248,6 +290,12 @@ export default {
|
|||
visitTaskId: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
calculationList: {
|
||||
type: Array,
|
||||
default() {
|
||||
return []
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
|
@ -257,15 +305,24 @@ export default {
|
|||
imgVisible: false,
|
||||
imageUrl: '',
|
||||
urls: [],
|
||||
digitPlaces: null
|
||||
digitPlaces: null,
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
questionForm: {
|
||||
deep: true,
|
||||
immediate: true,
|
||||
handler(v) {
|
||||
// console.log(v)
|
||||
handler(v, oldv) {
|
||||
try {
|
||||
if (!v || !v[this.question.Id] || !oldv || !oldv[this.question.Id])
|
||||
return
|
||||
} catch (e) {
|
||||
console.log(e, v)
|
||||
}
|
||||
if (this.question.Type === 'class') {
|
||||
this.$emit("setFormItemData", { key: this.question.Id, val: v[this.question.Id], question: v })
|
||||
}
|
||||
this.formItemNumberChange(this.question.Id, false)
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -276,18 +333,180 @@ export default {
|
|||
this.fileList = []
|
||||
|
||||
this.urls.map(url => {
|
||||
this.fileList.push({ name: '', url: `/api/${url}` })
|
||||
this.fileList.push({ name: '', url: `${url}` })
|
||||
})
|
||||
}
|
||||
}
|
||||
this.digitPlaces = parseInt(localStorage.getItem('digitPlaces'))
|
||||
this.digitPlaces = localStorage.getItem('digitPlaces') ? parseInt(localStorage.getItem('digitPlaces')) : 0
|
||||
},
|
||||
methods: {
|
||||
limitInput(value, a, b) {
|
||||
if (value.indexOf('.') > -1) {
|
||||
if (value.split('.')[1].length >= this.digitPlaces) {
|
||||
this.$set(a, b, parseFloat(value).toFixed(this.digitPlaces))
|
||||
}
|
||||
}
|
||||
},
|
||||
logic(rules, num = 0) {
|
||||
try {
|
||||
if (rules.CalculateQuestionList.length === 0) {
|
||||
return false
|
||||
}
|
||||
let dataArr = []
|
||||
rules.CalculateQuestionList.forEach((o, i) => {
|
||||
if (i === 0) {
|
||||
if (rules.CustomCalculateMark > 4 && rules.CustomCalculateMark < 10) {
|
||||
switch (rules.CustomCalculateMark) {
|
||||
case 5:
|
||||
this.questionForm[o.QuestionId].forEach((q, qi) => {
|
||||
if (qi === 0) {
|
||||
num = parseFloat(q[o.TableQuestionId])
|
||||
} else {
|
||||
num *= parseFloat(q[o.TableQuestionId])
|
||||
}
|
||||
})
|
||||
break;
|
||||
case 6:
|
||||
this.questionForm[o.QuestionId].forEach((q, qi) => {
|
||||
if (qi === 0) {
|
||||
num = parseFloat(q[o.TableQuestionId])
|
||||
} else {
|
||||
num += parseFloat(q[o.TableQuestionId])
|
||||
}
|
||||
})
|
||||
break;
|
||||
case 7:
|
||||
this.questionForm[o.QuestionId].forEach((q, qi) => {
|
||||
if (qi === 0) {
|
||||
num = parseFloat(q[o.TableQuestionId])
|
||||
} else {
|
||||
num += parseFloat(q[o.TableQuestionId])
|
||||
}
|
||||
})
|
||||
num = this.questionForm[o.QuestionId].length === 0 ? 0 : num / this.questionForm[o.QuestionId].length
|
||||
break;
|
||||
case 8:
|
||||
var arr = []
|
||||
this.questionForm[o.QuestionId].forEach(q => {
|
||||
arr.push(q[o.TableQuestionId])
|
||||
})
|
||||
num = arr.length === 0 ? 0 : Math.max(...arr)
|
||||
break;
|
||||
case 9:
|
||||
var arr = []
|
||||
this.questionForm[o.QuestionId].forEach(q => {
|
||||
arr.push(q[o.TableQuestionId])
|
||||
})
|
||||
num = arr.length === 0 ? 0 : Math.min(...arr)
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
num = parseFloat(this.questionForm[o.TableQuestionId])
|
||||
if (!isNaN(num)) {
|
||||
dataArr.push(num)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
switch (rules.CustomCalculateMark) {
|
||||
case 1:
|
||||
num += parseFloat(this.questionForm[o.TableQuestionId])
|
||||
break;
|
||||
case 2:
|
||||
num -= parseFloat(this.questionForm[o.TableQuestionId])
|
||||
break;
|
||||
case 3:
|
||||
num *= parseFloat(this.questionForm[o.TableQuestionId])
|
||||
break;
|
||||
case 4:
|
||||
if (parseFloat(this.questionForm[o.TableQuestionId]) === 0) {
|
||||
num = 0
|
||||
} else {
|
||||
num /= parseFloat(this.questionForm[o.TableQuestionId])
|
||||
}
|
||||
break;
|
||||
case 10:
|
||||
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
|
||||
dataArr.push(parseFloat(this.questionForm[o.TableQuestionId]))
|
||||
}
|
||||
num = dataArr.length === 0 ? 0 : dataArr.reduce((acc, curr) => {
|
||||
return acc + (typeof curr === "number" ? curr : 0);
|
||||
}, 0) / dataArr.length;
|
||||
break;
|
||||
case 11:
|
||||
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
|
||||
dataArr.push(parseFloat(this.questionForm[o.TableQuestionId]))
|
||||
}
|
||||
num = Math.max(...dataArr);
|
||||
break;
|
||||
case 12:
|
||||
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
|
||||
dataArr.push(parseFloat(this.questionForm[o.TableQuestionId]))
|
||||
}
|
||||
num = Math.min(...dataArr);
|
||||
break;
|
||||
case 13:
|
||||
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
|
||||
dataArr.push(parseFloat(this.questionForm[o.TableQuestionId]))
|
||||
}
|
||||
num = dataArr.length === 0 ? 0 : dataArr.reduce((acc, curr) => acc && curr) ? 1 : 0
|
||||
break;
|
||||
case 14:
|
||||
if (!isNaN(parseFloat(this.questionForm[o.TableQuestionId]))) {
|
||||
dataArr.push(parseFloat(this.questionForm[o.TableQuestionId]))
|
||||
}
|
||||
num = dataArr.length === 0 ? 0 : dataArr.reduce((acc, curr) => acc || curr, 0) ? 1 : 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
})
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
var digitPlaces = parseInt(localStorage.getItem('digitPlaces'))
|
||||
if (rules.ValueType === 2) {
|
||||
num = num * 100
|
||||
}
|
||||
if (rules.CustomCalculateMark === 13 || rules.CustomCalculateMark === 14) {
|
||||
return num
|
||||
} else {
|
||||
return num.toFixed(digitPlaces)
|
||||
}
|
||||
|
||||
},
|
||||
formItemNumberChange(questionId, isTable) {
|
||||
if (isTable) {
|
||||
this.calculationList.forEach((v, i) => {
|
||||
var find = v.CalculateQuestionList.filter(o => {
|
||||
return o.QuestionId === questionId
|
||||
})
|
||||
// find的自动计算值number
|
||||
if (find) {
|
||||
var num = this.logic(v)
|
||||
if (num !== false) {
|
||||
this.$emit('setFormItemData', { key: v.QuestionId, val: num, question: v })
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.calculationList.forEach(v => {
|
||||
var find = v.CalculateQuestionList.filter(o => {
|
||||
return o.TableQuestionId === questionId
|
||||
})
|
||||
// find的自动计算值number
|
||||
if (find) {
|
||||
var num = this.logic(v)
|
||||
if (num !== false) {
|
||||
this.$emit('setFormItemData', { key: v.QuestionId, val: num, question: v })
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
formItemChange(v, question) {
|
||||
if (question.Childrens.length > 0) {
|
||||
this.resetChild(question.Childrens)
|
||||
} else {
|
||||
this.$emit('setFormItemData', { key: question.Id, val: v})
|
||||
this.$emit('setFormItemData', { key: question.Id, val: v, question: question})
|
||||
}
|
||||
},
|
||||
resetChild(obj) {
|
||||
|
|
Loading…
Reference in New Issue