表单固定列
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2025-10-10 16:47:44 +08:00
parent ff1b4f6f21
commit 38eef44d79
2 changed files with 13 additions and 13 deletions

View File

@ -8,7 +8,7 @@
style="font-weight: bold;font-size: 14px;margin: 5px 0px;">
<div style="display: flex;justify-content: space-between;align-items: center;color:#fff;margin: 10px 0 5px">
<span :title="question.Remark">{{ question.QuestionName }}</span>
<el-button size="mini" v-if="readingTaskState < 2" @click="openAddTableCol(question)">
<el-button size="mini" v-if="readingTaskState < 2 && !question.IsPreinstall" @click="openAddTableCol(question)">
{{ $t('common:button:add') }}
</el-button>
</div>
@ -39,7 +39,7 @@
{{ $t('common:button:edit') }}
</el-button>
<el-button type="text" size="mini" :disabled="addOrEdit.visible"
v-if="scope.row.IsCurrentTaskAdd === 'True' || !question.IsCopyLesions || isBaseline"
v-if="(scope.row.IsCurrentTaskAdd === 'True' || !question.IsCopyLesions || isBaseline) && !question.IsPreinstall"
@click="deleteTableCol(question, scope.$index)">
{{ $t('common:button:delete') }}
</el-button>

View File

@ -15,14 +15,14 @@
:class="[question.Type === 'group' ? 'mb' : question.Type === 'upload' || question.Type === 'screenshot' ? 'uploadWrapper' : '']">
<!-- 输入框 -->
<el-input v-if="question.Type === 'input'" v-model="questionForm[question.Id]"
:disabled="question.TableQuestionType === 2 || (question.IsCopy && type === 'edit' && !isBaseline && questionForm.IsCurrentTaskAdd === 'False')" />
:disabled="question.TableQuestionType === 2 || (question.IsCopy && type === 'edit' && !isBaseline && questionForm.IsCurrentTaskAdd === 'False') || question.IsPreinstall" />
<!-- 多行文本输入框 -->
<el-input v-if="question.Type === 'textarea'" v-model="questionForm[question.Id]" type="textarea"
:disabled="question.TableQuestionType === 2 || (question.IsCopy && type === 'edit' && !isBaseline && questionForm.IsCurrentTaskAdd === 'False')"
:disabled="question.TableQuestionType === 2 || (question.IsCopy && type === 'edit' && !isBaseline && questionForm.IsCurrentTaskAdd === 'False') || question.IsPreinstall"
:autosize="{ minRows: 2, maxRows: 4 }" />
<!-- 下拉框 -->
<el-select v-if="question.Type === 'select'" v-model="questionForm[question.Id]" clearable
:disabled="(question.TableQuestionType === 2 || question.QuestionGenre === 2) || (question.IsCopy && type === 'edit' && !IsBaseline && questionForm.IsCurrentTaskAdd === 'False')"
:disabled="(question.TableQuestionType === 2 || question.IsPreinstall || question.QuestionGenre === 2) || (question.IsCopy && type === 'edit' && !IsBaseline && questionForm.IsCurrentTaskAdd === 'False')"
@change="((val) => { formItemChange(val, question) })">
<template v-if="question.TableQuestionType === 1">
<el-option v-for="item in organList" :key="item.Id" :label="item[question.DataTableColumn]"
@ -44,7 +44,7 @@
</el-select>
<!-- 单选 -->
<el-radio-group v-if="question.Type === 'radio'" v-model="questionForm[question.Id]"
:disabled="question.TableQuestionType === 2 || (question.IsCopy && type === 'edit' && !isBaseline && questionForm.IsCurrentTaskAdd === 'False')"
:disabled="question.TableQuestionType === 2 || question.IsPreinstall || (question.IsCopy && type === 'edit' && !isBaseline && questionForm.IsCurrentTaskAdd === 'False')"
@change="((val) => { formItemChange(val, question) })">
<el-radio v-for="val in question.TypeValue.split('|')" :key="val" :label="val">
{{ val }}
@ -52,7 +52,7 @@
</el-radio-group>
<!-- 复选框 -->
<el-checkbox-group v-if="question.Type === 'checkbox'"
:disabled="question.TableQuestionType === 2 || (question.IsCopy && type === 'edit' && !isBaseline && questionForm.IsCurrentTaskAdd === 'False')"
:disabled="question.TableQuestionType === 2 || question.IsPreinstall || (question.IsCopy && type === 'edit' && !isBaseline && questionForm.IsCurrentTaskAdd === 'False')"
v-model="questionForm[question.Id]">
<el-checkbox v-for="val in question.TypeValue.split('|')" :key="val" :label="val">
{{ val }}
@ -62,11 +62,11 @@
<el-input v-if="question.Type === 'class' && question.ClassifyShowType === 1"
v-model="questionForm[question.Id]" />
<el-select v-if="question.Type === 'class' && question.ClassifyShowType === 2" v-model="questionForm[question.Id]"
:disabled="!question.ClassifyEditType" @change="(val) => { formItemChange(val, question) }">
:disabled="!question.ClassifyEditType || question.IsPreinstall" @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"
v-model="questionForm[question.Id]" :disabled="!question.ClassifyEditType || question.IsPreinstall"
@change="(val) => { formItemChange(val, question) }">
<el-radio v-for="item of question.TypeValue.split('|')" :key="item.trim()" :label="item.trim()">
{{ item.trim() }}
@ -86,7 +86,7 @@
@blur="questionsMarkStatus[question.Id] && questionsMarkStatus[question.Id].isMarked ? () => { } : handleMarkedQsBlur(questionForm[question.Id], questionForm, question.Id, question)"
v-model="questionForm[question.Id]"
:title="questionsMarkStatus[rowId ? `${rowId}_${question.Id}` : question.Id] ? questionsMarkStatus[rowId ? `${rowId}_${question.Id}` : question.Id].OrderMarkName : question.Remark"
:disabled="(questionsMarkStatus[question.Id] && questionsMarkStatus[question.Id].isMarked && question.ImageMarkEnum === 2) || question.ImageMarkEnum === 1"
:disabled="(questionsMarkStatus[question.Id] && questionsMarkStatus[question.Id].isMarked && question.ImageMarkEnum === 2) || question.ImageMarkEnum === 1 || question.IsPreinstall"
style="width: 150px;margin-right: 5px;">
<template v-if="question.Unit !== 0" slot="append">
{{ question.Unit !== 4 ? $fd('ValueUnit', question.Unit) : question.CustomUnit }}
@ -144,21 +144,21 @@
<template v-else-if="question.ValueType === 2" slot="prefix">%</template>
</el-select>
<el-input type="text" v-else-if="question.Type === 'number' && question.DataSource !== 1"
:disabled="question.TableQuestionType === 2 || (question.IsCopy && type === 'edit' && !isBaseline && questionForm.IsCurrentTaskAdd === 'False')"
:disabled="question.TableQuestionType === 2 || (question.IsCopy && type === 'edit' && !isBaseline && questionForm.IsCurrentTaskAdd === 'False') || question.IsPreinstall"
@change="((val) => { formItemNumberChange(val, question) })" @input="numberInput(question.Id)"
@blur="handleBlur(questionForm[question.Id], questionForm, question.Id)" v-model="questionForm[question.Id]">
<template slot="append" v-if="question.Unit !== 0">{{ question.Unit !== 4 ? $fd('ValueUnit', question.Unit) :
question.CustomUnit }}</template>
</el-input>
<el-input type="text" v-else-if="question.Type === 'number' && question.DataSource === 1"
:disabled="question.DataSource === 1" @input="numberInput(question.Id, true)"
:disabled="question.DataSource === 1" @input="numberInput(question.Id, true) || question.IsPreinstall"
@blur="handleCalculationBlur(calculationValue)" v-model="calculationValue">
<template slot="append" v-if="question.Unit !== 0">{{ question.Unit !== 4 ? $fd('ValueUnit', question.Unit) :
question.CustomUnit }}</template>
</el-input>
</template>
<!-- 上传图像 -->
<el-upload v-if="question.Type === 'upload' || question.Type === 'screenshot'" :disabled="readingTaskState === 2"
<el-upload v-if="question.Type === 'upload' || question.Type === 'screenshot'" :disabled="readingTaskState === 2 || question.IsPreinstall"
action :accept="question.FileType" :limit="question.ImageCount === 0 ? 100 : question.ImageCount"
:on-preview="handlePictureCardPreview"
:before-upload="(file) => { return handleBeforeUpload(file, question.FileType, question.Type) }"