| | |
| | | return titles[props.operateType]; |
| | | }); |
| | | |
| | | const clsOptions = [ |
| | | { label: 'A', value: 'A' }, |
| | | { label: 'B', value: 'B' }, |
| | | { label: 'C', value: 'C' }, |
| | | { label: 'D', value: 'D' } |
| | | ]; |
| | | |
| | | type Model = Api.Qm.JudgeDetailsOperateParams; |
| | | |
| | | const model = ref<Model>(createDefaultModel()); |
| | | |
| | | function createDefaultModel(): Model { |
| | | return { |
| | | id: '', |
| | | judgeId: '', |
| | | itemCod: '', |
| | | itemName: '', |
| | | value3: null, |
| | | value1: null, |
| | | value2: null, |
| | | location: '', |
| | | cls: '', |
| | | stdscore: null, |
| | | ismix: null, |
| | | rid: '', |
| | | category: null, |
| | | decisionDes: '', |
| | | updateUser: '', |
| | | id: '', |
| | | judgeId: '', |
| | | itemCod: '', |
| | | itemName: '', |
| | | value3: null, |
| | | value1: null, |
| | | value2: null, |
| | | location: '', |
| | | cls: '', |
| | | stdscore: null, |
| | | ismix: null, |
| | | rid: '', |
| | | category: null, |
| | | decisionDes: '', |
| | | updateUser: '' |
| | | }; |
| | | } |
| | | |
| | | type RuleKey = Extract< |
| | | keyof Model, |
| | | | 'id' |
| | | >; |
| | | type RuleKey = Extract<keyof Model, 'id'>; |
| | | |
| | | const rules: Record<RuleKey, App.Global.FormRule> = { |
| | | const rules: Record<RuleKey, App.Global.FormRule | App.Global.FormRule[]> = { |
| | | id: createRequiredRule('请输入编码') |
| | | }; |
| | | |
| | | function handleUpdateModelWhenEdit() { |
| | | model.value = createDefaultModel(); |
| | | |
| | | if (props.operateType === 'edit' && props.rowData) { |
| | | if (props.rowData) { |
| | | Object.assign(model.value, jsonClone(props.rowData)); |
| | | } |
| | | } |
| | |
| | | async function handleSubmit() { |
| | | await validate(); |
| | | |
| | | const { id, judgeId, itemCod, itemName, value3, value1, value2, location, cls, stdscore, ismix, rid, category, decisionDes, updateUser } = model.value; |
| | | const { |
| | | id, |
| | | judgeId, |
| | | itemCod, |
| | | itemName, |
| | | value3, |
| | | value1, |
| | | value2, |
| | | location, |
| | | cls, |
| | | stdscore, |
| | | ismix, |
| | | rid, |
| | | category, |
| | | decisionDes, |
| | | updateUser |
| | | } = model.value; |
| | | |
| | | // request |
| | | if (props.operateType === 'add') { |
| | | const { error } = await fetchCreateJudgeDetails({ id, judgeId, itemCod, itemName, value3, value1, value2, location, cls, stdscore, ismix, rid, category, decisionDes, updateUser }); |
| | | const { error } = await fetchCreateJudgeDetails({ |
| | | id, |
| | | judgeId, |
| | | itemCod, |
| | | itemName, |
| | | value3, |
| | | value1, |
| | | value2, |
| | | location, |
| | | cls, |
| | | stdscore, |
| | | ismix, |
| | | rid, |
| | | category, |
| | | decisionDes, |
| | | updateUser |
| | | }); |
| | | if (error) return; |
| | | } |
| | | |
| | | if (props.operateType === 'edit') { |
| | | const { error } = await fetchUpdateJudgeDetails({ id, judgeId, itemCod, itemName, value3, value1, value2, location, cls, stdscore, ismix, rid, category, decisionDes, updateUser }); |
| | | const { error } = await fetchUpdateJudgeDetails({ |
| | | id, |
| | | judgeId, |
| | | itemCod, |
| | | itemName, |
| | | value3, |
| | | value1, |
| | | value2, |
| | | location, |
| | | cls, |
| | | stdscore, |
| | | ismix, |
| | | rid, |
| | | category, |
| | | decisionDes, |
| | | updateUser |
| | | }); |
| | | if (error) return; |
| | | } |
| | | |
| | |
| | | <NDrawer v-model:show="visible" :title="title" display-directive="show" :width="800" class="max-w-90%"> |
| | | <NDrawerContent :title="title" :native-scrollbar="false" closable> |
| | | <NForm ref="formRef" :model="model" :rules="rules"> |
| | | <NFormItem label="编码" path="id"> |
| | | <NInput v-model:value="model.id" placeholder="请输入编码" /> |
| | | </NFormItem> |
| | | <NFormItem label="判定主标识" path="judgeId"> |
| | | <NInput v-model:value="model.judgeId" placeholder="请输入判定主标识" /> |
| | | </NFormItem> |
| | | <NFormItem label="判定项ITEM" path="itemCod"> |
| | | <NInput v-model:value="model.itemCod" placeholder="请输入判定项ITEM" /> |
| | | </NFormItem> |
| | | <NFormItem label="判定项NAME" path="itemName"> |
| | | <NInput v-model:value="model.itemName" placeholder="请输入判定项NAME" /> |
| | | <NFormItem label="判定项" path="itemName"> |
| | | <NInput v-model:value="(model.itemName as any)" placeholder="请输入判定项" :disabled="operateType === 'edit'" /> |
| | | </NFormItem> |
| | | <NFormItem label="标准值" path="value3"> |
| | | <NInput v-model:value="model.value3" placeholder="请输入标准值" /> |
| | | <NInputNumber v-model:value="(model.value3 as any)" placeholder="请输入标准值" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="判定值1" path="value1"> |
| | | <NInput v-model:value="model.value1" placeholder="请输入判定值1" /> |
| | | <NFormItem label="下限值" path="value1"> |
| | | <NInputNumber v-model:value="(model.value1 as any)" placeholder="请输入下限值" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="判定值2" path="value2"> |
| | | <NInput v-model:value="model.value2" placeholder="请输入判定值2" /> |
| | | <NFormItem label="上限值" path="value2"> |
| | | <NInputNumber v-model:value="(model.value2 as any)" placeholder="请输入上限值" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="缺陷位置" path="location"> |
| | | <NInput v-model:value="model.location" placeholder="请输入缺陷位置" /> |
| | | <NFormItem label="分值" path="stdscore"> |
| | | <NInputNumber v-model:value="(model.stdscore as any)" placeholder="请输入分值" class="w-full" /> |
| | | </NFormItem> |
| | | <NFormItem label="判定级别 (A,B,C,D)" path="cls"> |
| | | <NInput v-model:value="model.cls" placeholder="请输入判定级别 (A,B,C,D)" /> |
| | | </NFormItem> |
| | | <NFormItem label="分值标准 (扣分标准,得分标准),比如不合格一次扣多少分" path="stdscore"> |
| | | <NInput v-model:value="model.stdscore" placeholder="请输入分值标准 (扣分标准,得分标准),比如不合格一次扣多少分" /> |
| | | </NFormItem> |
| | | <NFormItem label="标记此项是否为合成项目,比如外观,实际上关联了很多子项目" path="ismix"> |
| | | <NInput v-model:value="model.ismix" placeholder="请输入标记此项是否为合成项目,比如外观,实际上关联了很多子项目" /> |
| | | </NFormItem> |
| | | <NFormItem label="若此字段有UUID值,表明它可能为其他项目的子项,比如“空头”,它为烟支外观项目的子项" path="rid"> |
| | | <NInput v-model:value="model.rid" placeholder="请输入若此字段有UUID值,表明它可能为其他项目的子项,比如“空头”,它为烟支外观项目的子项" /> |
| | | </NFormItem> |
| | | <NFormItem label="范围-备用" path="category"> |
| | | <NInput v-model:value="model.category" placeholder="请输入范围-备用" /> |
| | | <NFormItem label="判定级别" path="cls"> |
| | | <NSelect v-model:value="(model.cls as any)" :options="clsOptions" placeholder="请选择判定级别" /> |
| | | </NFormItem> |
| | | <NFormItem label="备注" path="decisionDes"> |
| | | <NInput v-model:value="model.decisionDes" placeholder="请输入备注" /> |
| | | </NFormItem> |
| | | <NFormItem label="修改人" path="updateUser"> |
| | | <NInput v-model:value="model.updateUser" placeholder="请输入修改人" /> |
| | | <NInput v-model:value="(model.decisionDes as any)" type="textarea" placeholder="请输入备注" /> |
| | | </NFormItem> |
| | | </NForm> |
| | | <template #footer> |