|
|
@ -151,7 +151,7 @@ const handleTabsEdit = (targetName: TabPaneName | undefined, action: 'remove' | |
|
|
|
FtMessage.warning('最多添加10次喷涂') |
|
|
|
return |
|
|
|
} |
|
|
|
form.value.times.push(cloneDeep(form.value.times.at(-1))) |
|
|
|
form.value.times.push(cloneDeep({ ...form.value.times.at(-1), id: Date.now() })) |
|
|
|
const selection = sprayRefs.value[activeTab.value].getSelection() |
|
|
|
console.log(selection) |
|
|
|
activeTab.value = form.value.times.length - 1 |
|
|
@ -169,6 +169,7 @@ const handleTabsEdit = (targetName: TabPaneName | undefined, action: 'remove' | |
|
|
|
console.log(activeTab.value) |
|
|
|
} |
|
|
|
form.value.times.splice(activeTab.value, 1) |
|
|
|
console.log(activeTab.value) |
|
|
|
} |
|
|
|
|
|
|
|
// 异步任务调用 |
|
|
@ -244,14 +245,24 @@ const touchendHandle = () => { |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-form-item label="基质" prop="matrixId" :rules="[{ required: true, message: '请选择基质', trigger: 'change' }]"> |
|
|
|
<el-form-item |
|
|
|
label="基质" |
|
|
|
prop="matrixId" |
|
|
|
:rules="[{ required: true, message: '请选择基质', trigger: 'change' }]" |
|
|
|
> |
|
|
|
<el-select v-model="form.matrixId" placeholder=""> |
|
|
|
<el-option v-for="matrix in matrixList" :key="matrix.id" :label="matrix.name" :value="matrix.id" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-tabs v-model="activeTab" :editable="!disabled" type="card" @edit="handleTabsEdit" @tab-change="tabChangeHandle"> |
|
|
|
<el-tabs |
|
|
|
v-model="activeTab" |
|
|
|
:editable="!disabled" |
|
|
|
type="card" |
|
|
|
@edit="handleTabsEdit" |
|
|
|
@tab-change="tabChangeHandle" |
|
|
|
> |
|
|
|
<el-tab-pane v-for="(item, index) in form.times" :key="index" :label="`第${index + 1}次`" :name="index" /> |
|
|
|
</el-tabs> |
|
|
|
<Swiper |
|
|
@ -264,7 +275,16 @@ const touchendHandle = () => { |
|
|
|
> |
|
|
|
<SwiperSlide v-for="(item, index) in form.times" :key="index"> |
|
|
|
<div class="tab-content"> |
|
|
|
<TrayGraph ref="sprayRefs" :key="index" :edit-select="!disabled" :container="`spray-params-${index + 1}`" select @touchstart="touchstartHandle" @touchmove="touchmoveHandle" @touchend="touchendHandle" /> |
|
|
|
<TrayGraph |
|
|
|
ref="sprayRefs" |
|
|
|
:key="item.id" |
|
|
|
:edit-select="!disabled" |
|
|
|
:container="`spray-params-${index + 1}`" |
|
|
|
select |
|
|
|
@touchstart="touchstartHandle" |
|
|
|
@touchmove="touchmoveHandle" |
|
|
|
@touchend="touchendHandle" |
|
|
|
/> |
|
|
|
<div class="content-form"> |
|
|
|
<el-form-item label="喷涂路线"> |
|
|
|
<div class="route-img"> |
|
|
@ -317,7 +337,9 @@ const touchendHandle = () => { |
|
|
|
<el-form-item |
|
|
|
label="氮气气压" |
|
|
|
:prop="`times.${index}.gasPressure`" |
|
|
|
:rules="[{ required: true, |
|
|
|
:rules="[ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
trigger: 'blur', |
|
|
|
validator: (rule: any, value: any, callback: any) => { |
|
|
|
if (!value) { |
|
|
@ -329,7 +351,8 @@ const touchendHandle = () => { |
|
|
|
else { |
|
|
|
callback(); |
|
|
|
} |
|
|
|
} }, |
|
|
|
}, |
|
|
|
}, |
|
|
|
]" |
|
|
|
> |
|
|
|
<el-input v-model="item.gasPressure" type="number" /> |
|
|
@ -338,7 +361,9 @@ const touchendHandle = () => { |
|
|
|
<el-form-item |
|
|
|
label="基质流速" |
|
|
|
:prop="`times.${index}.volume`" |
|
|
|
:rules="[{ required: true, |
|
|
|
:rules="[ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
trigger: 'blur', |
|
|
|
validator: (rule: any, value: any, callback: any) => { |
|
|
|
if (!value) { |
|
|
@ -350,7 +375,8 @@ const touchendHandle = () => { |
|
|
|
else { |
|
|
|
callback(); |
|
|
|
} |
|
|
|
} }, |
|
|
|
}, |
|
|
|
}, |
|
|
|
]" |
|
|
|
> |
|
|
|
<el-input v-model="item.volume" type="number" /> |
|
|
@ -391,7 +417,9 @@ const touchendHandle = () => { |
|
|
|
<el-form-item |
|
|
|
label="移动速度" |
|
|
|
:prop="`times.${index}.movingSpeed`" |
|
|
|
:rules="[{ required: true, |
|
|
|
:rules="[ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
trigger: 'blur', |
|
|
|
validator: (rule: any, value: any, callback: any) => { |
|
|
|
if (!value) { |
|
|
@ -403,7 +431,8 @@ const touchendHandle = () => { |
|
|
|
else { |
|
|
|
callback(); |
|
|
|
} |
|
|
|
} }, |
|
|
|
}, |
|
|
|
}, |
|
|
|
]" |
|
|
|
> |
|
|
|
<el-input v-model="item.movingSpeed" type="number" /> |
|
|
@ -412,7 +441,9 @@ const touchendHandle = () => { |
|
|
|
<el-form-item |
|
|
|
label="间距" |
|
|
|
:prop="`times.${index}.spacing`" |
|
|
|
:rules="[{ required: true, |
|
|
|
:rules="[ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
trigger: 'blur', |
|
|
|
validator: (rule: any, value: any, callback: any) => { |
|
|
|
if (!value) { |
|
|
@ -424,7 +455,8 @@ const touchendHandle = () => { |
|
|
|
else { |
|
|
|
callback(); |
|
|
|
} |
|
|
|
} }, |
|
|
|
}, |
|
|
|
}, |
|
|
|
]" |
|
|
|
> |
|
|
|
<el-input v-model="item.spacing" type="number" /> |
|
|
@ -433,7 +465,9 @@ const touchendHandle = () => { |
|
|
|
<el-form-item |
|
|
|
label="等待时间" |
|
|
|
:prop="`times.${index}.delay`" |
|
|
|
:rules="[{ required: true, |
|
|
|
:rules="[ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
trigger: 'blur', |
|
|
|
validator: (rule: any, value: any, callback: any) => { |
|
|
|
if (!value) { |
|
|
@ -445,7 +479,8 @@ const touchendHandle = () => { |
|
|
|
else { |
|
|
|
callback(); |
|
|
|
} |
|
|
|
} }, |
|
|
|
}, |
|
|
|
}, |
|
|
|
]" |
|
|
|
> |
|
|
|
<el-input v-model="item.delay" type="number" /> |
|
|
@ -455,7 +490,9 @@ const touchendHandle = () => { |
|
|
|
v-if="item.matrixPathType === 'grid'" |
|
|
|
label="中间等待时间" |
|
|
|
:prop="`times.${index}.gridDelay`" |
|
|
|
:rules="[{ required: true, |
|
|
|
:rules="[ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
trigger: 'blur', |
|
|
|
validator: (rule: any, value: any, callback: any) => { |
|
|
|
if (!value) { |
|
|
@ -467,7 +504,8 @@ const touchendHandle = () => { |
|
|
|
else { |
|
|
|
callback(); |
|
|
|
} |
|
|
|
} }, |
|
|
|
}, |
|
|
|
}, |
|
|
|
]" |
|
|
|
> |
|
|
|
<el-input v-model="item.gridDelay" type="number" /> |
|
|
|