import { defineComponent, onMounted, ref } from 'vue'
|
import type { Ref } from 'vue'
|
import styles from './PipeAccessoryAssembly.module.scss'
|
import pipeImage from '@/images/pipe-assembly-drawing-example.png'
|
import {
|
ElInput,
|
ElForm,
|
ElFormItem,
|
ElButton,
|
ElSelect,
|
ElOption,
|
ElMessage,
|
ElCol,
|
} from 'element-plus'
|
import {
|
getPlaceNoForStockList,
|
getMaterialModelList,
|
instock,
|
findSingleWorkPlanByFilter
|
} from '@/widgets/PipeAccessoryAssembly/Models/Service/PipeAccessoryAssembly'
|
import { Message } from '@element-plus/icons-vue/dist/types'
|
|
export default defineComponent({
|
name: 'PipeAccessoryAssembly',
|
setup() {
|
// 查询表单数据
|
const queryForm = ref({
|
pipeSpecCode: '',
|
processRouteNumber: '',
|
taskCode: '',
|
length: '',
|
projectNumber: '',
|
shipNumber: '',
|
material: '',
|
outerDiameter: '',
|
thickness: '',
|
plannedStartTime: '',
|
plannedEndTime: '',
|
workstationCode: '',
|
processName: '',
|
equipmentCode: ''
|
})
|
|
// 数据源
|
const modelOptions = ref<Array<{ value: string; label: string }>>([])
|
const placeNoOptions = ref<Array<{ value: string; label: string }>>([])
|
|
onMounted(() => {
|
// 组件挂载后获取型号列表和库位号列表
|
getModelList()
|
getPlaceNoList()
|
})
|
|
// 组盘操作
|
const handlePalletize = () => {
|
console.log('组盘操作', queryForm.value)
|
// 这里添加组盘逻辑
|
}
|
|
// 组盘入库操作
|
const handlePalletizeStorage = () => {
|
console.log('组盘入库操作', queryForm.value)
|
instock(queryForm.value), resetQueryForm()
|
ElMessage.success({
|
message: '组盘入库成功',
|
type: 'success',
|
})
|
// 这里添加组盘入库逻辑
|
}
|
|
const resetQueryForm = () => {
|
queryForm.value.materialModel = ''
|
queryForm.value.placeNo = ''
|
queryForm.value.materialBatch = ''
|
queryForm.value.stockNumber = ''
|
}
|
|
const getModelList = async () => {
|
const models = await getMaterialModelList()
|
modelOptions.value = models.map((item: string) => ({
|
value: item.materialModel,
|
label: item.materialModelDesc,
|
}))
|
}
|
|
const getPlaceNoList = async () => {
|
const placeNos = await getPlaceNoForStockList(2)
|
console.log('库位号列表:', placeNos)
|
placeNoOptions.value = placeNos.map((item: string) => ({
|
value: item.placeNo,
|
label: item.placeNoDesc,
|
}))
|
}
|
const handleChange =async (value) => {
|
console.log('输入内容确认:', value); // 失去焦点或回车时触发
|
// 在此处添加业务逻辑(如校验、提交等)
|
const param={
|
pipeSpecCode:value,
|
pipeSpecCode_FilterMode:2,//精准查询
|
processName:'装配工序',
|
processName_FilterMode:2,//精准查询
|
}
|
const workPlan = await findSingleWorkPlanByFilter(param);
|
console.log('返回:'+workPlan);
|
if(workPlan==''){
|
ElMessage.error('没有找到数据');
|
queryForm.value ={ pipeSpecCode: '',
|
processRouteNumber: '',
|
taskCode: '',
|
length: '',
|
projectNumber: '',
|
shipNumber: '',
|
material: '',
|
outerDiameter: '',
|
thickness: '',
|
plannedStartTime: '',
|
plannedEndTime: '',
|
workstationCode: '',
|
processName: '',
|
equipmentCode: ''}
|
}else{
|
queryForm.value=workPlan;
|
}
|
};
|
|
return () => {
|
return (
|
<div
|
class={styles.PipeAccessoryAssemblyContent}
|
style="overflow-y: auto !important; height: 100%;"
|
>
|
<ElFormItem label="管段编号">
|
<ElInput
|
v-model={queryForm.value.pipeSpecCode}
|
clearable
|
class={styles.formInput}
|
onInput={handleChange}
|
/>
|
</ElFormItem>
|
<div class={styles.actionButtons}>
|
<ElButton type="warning">开工</ElButton>
|
<ElButton type="warning">完工</ElButton>
|
<ElButton type="warning">暂停</ElButton>
|
<ElButton type="warning">自动</ElButton>
|
<ElButton type="warning">质检</ElButton>
|
</div>
|
|
<h2 class={styles.blockTitle}>当前任务</h2>
|
<ElForm label-position="left" >
|
|
<ElFormItem label="物料流向">
|
<ElInput
|
v-model={queryForm.value.processRouteNumber}
|
disabled
|
clearable
|
class={styles.formInput}
|
/>
|
</ElFormItem>
|
<ElFormItem label="任务编号">
|
<ElInput
|
v-model={queryForm.value.taskCode}
|
disabled
|
clearable
|
class={styles.formInput}
|
/>
|
</ElFormItem>
|
<ElFormItem label="管段长度">
|
<ElInput
|
v-model={queryForm.value.length}
|
disabled
|
clearable
|
class={styles.formInput}
|
/>
|
</ElFormItem>
|
<ElFormItem label="项目号">
|
<ElInput
|
v-model={queryForm.value.projectNumber}
|
disabled
|
clearable
|
class={styles.formInput}
|
/>
|
</ElFormItem>
|
<ElFormItem label="船号">
|
<ElInput
|
v-model={queryForm.value.shipNumber}
|
disabled
|
clearable
|
class={styles.formInput}
|
/>
|
</ElFormItem>
|
<ElFormItem label="材质">
|
<ElInput
|
v-model={queryForm.value.material}
|
disabled
|
clearable
|
class={styles.formInput}
|
/>
|
</ElFormItem>
|
<ElFormItem label="外径">
|
<ElInput
|
v-model={queryForm.value.outerDiameter}
|
disabled
|
clearable
|
class={styles.formInput}
|
/>
|
</ElFormItem>
|
<ElFormItem label="壁 厚">
|
<ElInput
|
v-model={queryForm.value.thickness}
|
disabled
|
clearable
|
class={styles.formInput}
|
/>
|
</ElFormItem>
|
<ElFormItem label="计划开始时间">
|
<ElInput
|
v-model={queryForm.value.plannedStartTime}
|
disabled
|
clearable
|
class={styles.formInput}
|
/>
|
</ElFormItem>
|
<ElFormItem label="计划完成时间">
|
<ElInput
|
v-model={queryForm.value.plannedEndTime}
|
disabled
|
clearable
|
class={styles.formInput}
|
/>
|
</ElFormItem>
|
</ElForm>
|
|
<h2 class={styles.blockTitle}>当前工位/设备信息</h2>
|
<ElForm label-position="left" >
|
<ElFormItem label="工位代码">
|
<ElInput
|
v-model={queryForm.value.workstationCode}
|
disabled
|
clearable
|
class={styles.formInput}
|
/>
|
</ElFormItem>
|
<ElFormItem label="工序名称">
|
<ElInput
|
v-model={queryForm.value.processName}
|
disabled
|
clearable
|
class={styles.formInput}
|
/>
|
</ElFormItem>
|
<ElFormItem label="设备代码">
|
<ElInput
|
v-model={queryForm.value.equipmentCode}
|
disabled
|
clearable
|
class={styles.formInput}
|
/>
|
</ElFormItem>
|
{/* <ElFormItem label="设备状态">
|
<ElInput
|
v-model={queryForm.value.materialBatch}
|
disabled
|
clearable
|
class={styles.formInput}
|
/>
|
</ElFormItem> */}
|
{/* <ElFormItem label="操作人">
|
<ElInput
|
v-model={queryForm.value.materialBatch}
|
disabled
|
clearable
|
class={styles.formInput}
|
/>
|
</ElFormItem> */}
|
</ElForm>
|
|
<div class="info-block">
|
<h2 class="block-title">工艺信息</h2>
|
<el-table stripe>
|
<el-table-column prop="sequence" label="序"></el-table-column>
|
<el-table-column prop="flangeA" label="法兰A"></el-table-column>
|
<el-table-column prop="flangeB" label="法兰B"></el-table-column>
|
</el-table>
|
</div>
|
<h2 class="block-title">图纸</h2>
|
<img
|
src={pipeImage}
|
alt="设备图片"
|
style="height:1250px;"
|
class="equipment-image"
|
></img>
|
</div>
|
)
|
}
|
},
|
})
|