Merge remote-tracking branch 'origin/master'

master
夜笙歌 2 days ago
commit 918e263f5b

@ -1,6 +1,6 @@
export interface VulcAlarmStandardVO {
/**
* ID
* ID
*/
alarmStandardId: string | number;
@ -54,11 +54,26 @@ export interface VulcAlarmStandardVO {
*/
remark: string;
/**
*
*/
dataType: string;
/**
*
*/
pointAddress: string;
/**
*
*/
stepTime: number;
}
export interface VulcAlarmStandardForm extends BaseEntity {
/**
* ID
* ID
*/
alarmStandardId?: string | number;
@ -112,12 +127,29 @@ export interface VulcAlarmStandardForm extends BaseEntity {
*/
remark?: string;
/**
*
*/
dataType?: string;
/**
*
*/
pointAddress?: string;
/**
*
*/
stepTime?: number;
technologyId?: string | number;
}
export interface VulcAlarmStandardQuery extends PageQuery {
/**
* ID
* ID
*/
alarmStandardId?: string | number;
@ -166,10 +198,27 @@ export interface VulcAlarmStandardQuery extends PageQuery {
*/
activeFlag?: string;
/**
*
*/
params?: any;
/**
*
*/
dataType?: string;
/**
*
*/
pointAddress?: string;
/**
*
*/
stepTime?: number;
/**
*
*/
params?: any;
technologyId?: string | number;
}

@ -4,13 +4,13 @@
:leave-active-class='proxy?.animate.searchAnimate.leave'>
<div v-show='showSearch' class='mb-[10px]'>
<el-card shadow='hover'>
<el-form ref='queryFormRef' :model='queryParams' :inline='true' label-width='100'>
<el-form ref='queryFormRef' :model='queryParams' :inline='true' label-width='80'>
<!-- <el-form-item label="报警标准ID" prop="alarmStandardId">-->
<!-- <el-input v-model="queryParams.alarmStandardId" placeholder="请输入报警标准ID" clearable @keyup.enter="handleQuery" />-->
<!-- </el-form-item>-->
<el-form-item label='报警项目' prop='alarmItemsId'>
<el-select v-model='queryParams.alarmItemsId' placeholder='请选择报警项目' clearable
@keyup.enter='handleQuery' >
@keyup.enter='handleQuery'>
<el-option
v-for='item in alarmItemsList'
:key='item.alarmItemsId'
@ -19,20 +19,31 @@
/>
</el-select>
</el-form-item>
<el-form-item label='工艺步序' prop='stepId'>
<el-select v-model='queryParams.stepId' placeholder='请选择工艺步序' clearable @keyup.enter='handleQuery' >
<el-form-item label='硫化工艺' prop='technologyId'>
<el-select v-model='queryParams.technologyId' placeholder='请选择硫化工艺' clearable
@keyup.enter='handleQuery'>
<el-option
v-for='item in technologyStepList'
:key='item.stepId'
:label='item.technologyName + "_" + item.stepName'
:value='item.stepId'
v-for='item in technologyInfoList'
:key='item.technologyId'
:label='item.technologyName'
:value='item.technologyId'
/>
</el-select>
</el-form-item>
<!-- <el-form-item label='工艺步序编号' prop='stepCode'>-->
<!-- <el-input v-model='queryParams.stepCode' placeholder='请输入工艺步序编号' clearable-->
<!-- @keyup.enter='handleQuery' />-->
<!-- <el-form-item label='工艺步序' prop='stepId'>-->
<!-- <el-select v-model='queryParams.stepId' placeholder='请选择工艺步序' clearable @keyup.enter='handleQuery'>-->
<!-- <el-option-->
<!-- v-for='item in technologyStepList'-->
<!-- :key='item.stepId'-->
<!-- :label='item.stepName'-->
<!-- :value='item.stepId'-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label='工艺步序编号' prop='stepCode'>-->
<!-- <el-input v-model='queryParams.stepCode' placeholder='请输入工艺步序编号' clearable-->
<!-- @keyup.enter='handleQuery' />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="控制标识" prop="activeFlag">-->
<!-- <el-select v-model="queryParams.activeFlag" placeholder="请选择控制标识" clearable >-->
<!-- <el-option v-for="dict in active_flag" :key="dict.value" :label="dict.label" :value="dict.value"/>-->
@ -88,6 +99,13 @@
width='120' />
<el-table-column label='最大值(Mpa/℃)' align='center' prop='maxValue' v-if='columns[8].visible' width='120' />
<el-table-column label='最小值(Mpa/℃)' align='center' prop='minValue' v-if='columns[9].visible' width='120' />
<el-table-column label='数据类型' align='center' prop='dataType' v-if='columns[19].visible'>
<template #default='scope'>
<dict-tag :options='machine_data_type' :value='scope.row.dataType' />
</template>
</el-table-column>
<el-table-column label='地址' align='center' prop='pointAddress' v-if='columns[20].visible' />
<el-table-column label='频率(毫秒)' align='center' prop='stepTime' v-if='columns[21].visible' width='120' />
<el-table-column label='控制标识' align='center' prop='activeFlag' v-if='columns[10].visible'>
<template #default='scope'>
<dict-tag :options='active_flag' :value='scope.row.activeFlag' />
@ -124,12 +142,22 @@
/>
</el-select>
</el-form-item>
<el-form-item label='工艺步序' prop='stepId'>
<el-form-item label='硫化工艺' prop='technologyId'>
<el-select v-model='form.technologyId' placeholder='请选择硫化工艺'>
<el-option
v-for='item in technologyInfoList'
:key='item.technologyId'
:label='item.technologyName'
:value='item.technologyId'
/>
</el-select>
</el-form-item>
<el-form-item label='工艺步序' prop='stepId' v-if='form.technologyId !== undefined'>
<el-select v-model='form.stepId' placeholder='请选择工艺步序'>
<el-option
v-for='item in technologyStepList'
:key='item.stepId'
:label='item.technologyName + "_" + item.stepName'
:label='item.stepName'
:value='item.stepId'
/>
</el-select>
@ -152,6 +180,22 @@
<el-form-item label='最小值(Mpa/℃)' prop='minValue'>
<el-input v-model='form.minValue' placeholder='请输入最小值(Mpa/℃)' />
</el-form-item>
<el-form-item label='数据类型' prop='dataType'>
<el-select v-model='form.dataType' placeholder='请选择数据类型'>
<el-option
v-for='dict in machine_data_type'
:key='dict.value'
:label='dict.label'
:value='dict.value'
></el-option>
</el-select>
</el-form-item>
<el-form-item label='地址' prop='pointAddress'>
<el-input v-model='form.pointAddress' placeholder='请输入地址' />
</el-form-item>
<el-form-item label='频率(毫秒)' prop='stepTime'>
<el-input v-model='form.stepTime' placeholder='请输入频率(毫秒)' />
</el-form-item>
<el-form-item label='控制标识' prop='activeFlag'>
<el-radio-group v-model='form.activeFlag'>
<el-radio
@ -185,12 +229,12 @@ import {
updateVulcAlarmStandard
} from '@/api/mes/vulcAlarmStandard';
import { VulcAlarmStandardVO, VulcAlarmStandardQuery, VulcAlarmStandardForm } from '@/api/mes/vulcAlarmStandard/types';
import { getProcessInfoList } from '@/api/mes/baseProcessInfo';
import { getProdVulcAlarmItemsList } from '@/api/mes/vulcAlarmItems';
import { getProdTechnologyStepInfoList } from '@/api/mes/technologyStepInfo';
import { getProdTechnologyInfoList } from '@/api/mes/technologyInfo';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { active_flag } = toRefs<any>(proxy?.useDict('active_flag'));
const { active_flag, machine_data_type } = toRefs<any>(proxy?.useDict('active_flag', 'machine_data_type'));
const vulcAlarmStandardList = ref<VulcAlarmStandardVO[]>([]);
const buttonLoading = ref(false);
@ -209,6 +253,7 @@ const dialog = reactive<DialogOption>({
title: ''
});
/** 查询报警项目下拉框结构 */
const alarmItemsList = ref([]);
const getSelectVulcAlarmItemsList = async () => {
@ -217,9 +262,17 @@ const getSelectVulcAlarmItemsList = async () => {
};
/** 查询硫化工艺下拉框结构 */
const technologyInfoList = ref([]);
const getSelectProdTechnologyInfoList = async () => {
let res = await getProdTechnologyInfoList({ processId: 18 });
technologyInfoList.value = res.data;
};
/** 查询硫化工艺步序下拉框结构 */
const technologyStepList = ref([]);
const getSelectTechnologyStepInfoList = async () => {
let res = await getProdTechnologyStepInfoList({ processId: 18 });
const getSelectTechnologyStepInfoList = async (technologyId: number) => {
let res = await getProdTechnologyStepInfoList({ processId: 18, technologyId: technologyId });
technologyStepList.value = res.data;
};
@ -243,7 +296,10 @@ const columns = ref<FieldOption[]>([
{ key: 15, label: `更新人`, visible: false },
{ key: 16, label: `更新时间`, visible: false },
{ key: 17, label: `删除标志`, visible: false },
{ key: 18, label: `工艺名称`, visible: true }
{ key: 18, label: `工艺名称`, visible: true },
{ key: 19, label: `数据类型`, visible: true },
{ key: 20, label: `地址`, visible: true },
{ key: 21, label: `频率(毫秒)`, visible: true }
]);
const initFormData: VulcAlarmStandardForm = {
@ -280,6 +336,9 @@ const data = reactive<PageData<VulcAlarmStandardForm, VulcAlarmStandardQuery>>({
alarmItemsId: [
{ required: true, message: '报警项目不能为空', trigger: 'blur' }
],
technologyId: [
{ required: true, message: '硫化工艺不能为空', trigger: 'blur' }
],
stepId: [
{ required: true, message: '工艺步序不能为空', trigger: 'blur' }
]
@ -288,6 +347,13 @@ const data = reactive<PageData<VulcAlarmStandardForm, VulcAlarmStandardQuery>>({
const { queryParams, form, rules } = toRefs(data);
watch(
() => form.value.technologyId,
(newVal: number, oldVal: number) => {
getSelectTechnologyStepInfoList(newVal);
}
);
/** 查询报警标准信息列表 */
const getList = async () => {
loading.value = true;
@ -380,7 +446,7 @@ const handleExport = () => {
onMounted(() => {
getSelectVulcAlarmItemsList();
getSelectTechnologyStepInfoList();
getSelectProdTechnologyInfoList();
getList();
});
</script>

@ -94,7 +94,10 @@
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['qms:qcInspectionItem:export']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleImport" v-hasPermi="['qms:qcInspectionItem:import']"></el-button>
<el-button type="warning" plain icon="Download" @click="handleExportTemplate" v-hasPermi="['qms:qcInspectionItem:export']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="Upload" @click="handleImport" v-hasPermi="['qms:qcInspectionItem:add']"></el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @queryTable="getList"></right-toolbar>
</el-row>
@ -289,6 +292,7 @@
</div>
</template>
</el-dialog>
<input ref="fileInput" type="file" accept=".xlsx, .xls" style="display: none" @change="onFileChange" />
</div>
</template>
@ -497,6 +501,13 @@ const handleExport = () => {
}, `qcInspectionItem_${new Date().getTime()}.xlsx`)
}
/** 导出模板按钮操作 */
const handleExportTemplate = () => {
proxy?.download('qms/qcInspectionItem/exportTemplate', {
}, `qcInspectionItem_template_${new Date().getTime()}.xlsx`)
}
/** 查询检测项类别列表 */
let qcInspectionItemCategoryList = ref([]);
const getCategoryList = async () => {

@ -34,6 +34,12 @@
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['qms:qcInspectionTemplate:export']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExportTemplate" v-hasPermi="['qms:qcInspectionTemplate:export']"></el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="Upload" @click="handleImport" v-hasPermi="['qms:qcInspectionTemplate:add']"></el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" :columns="columns" :search="true" @queryTable="getList"></right-toolbar>
</el-row>
</template>
@ -309,11 +315,12 @@
</div>
</template>
</el-dialog>
<input ref="fileInput" type="file" accept=".xlsx, .xls" style="display: none" @change="onFileChange" />
</div>
</template>
<script setup name="QcInspectionTemplate" lang="ts">
import { listQcInspectionTemplate, getQcInspectionTemplate, delQcInspectionTemplate, addQcInspectionTemplate, updateQcInspectionTemplate, getQcTemplateItemList } from '@/api/qms/qcInspectionTemplate';
import { listQcInspectionTemplate, getQcInspectionTemplate, delQcInspectionTemplate, addQcInspectionTemplate, updateQcInspectionTemplate, getQcTemplateItemList, importData } from '@/api/qms/qcInspectionTemplate';
import { QcInspectionTemplateVO, QcInspectionTemplateQuery, QcInspectionTemplateForm } from '@/api/qms/qcInspectionTemplate/types';
import { listQcTemplateItem, getQcTemplateItem, delQcTemplateItem, addQcTemplateItem, updateQcTemplateItem } from '@/api/qms/qcTemplateItem';
import { QcTemplateItemVO, QcTemplateItemQuery, QcTemplateItemForm } from '@/api/qms/qcTemplateItem/types';
@ -689,6 +696,45 @@ const handleExport = () => {
}, `qcInspectionTemplate_${new Date().getTime()}.xlsx`)
}
/** 导出模板按钮操作 */
const handleExportTemplate = () => {
proxy?.download('qms/qcInspectionTemplate/exportTemplate', {
}, `qcInspectionTemplate_template_${new Date().getTime()}.xlsx`)
}
/** 导出模板按钮操作 */
const handleExportTemplate = () => {
proxy?.download('qms/qcInspectionTemplate/exportTemplate', {
}, `qcInspectionTemplate_template_${new Date().getTime()}.xlsx`)
}
/** 导入按钮操作 */
const fileInput = ref<HTMLInputElement>();
const uploading = ref(false);
const handleImport = () => {
fileInput.value?.click();
}
const onFileChange = async (event: Event) => {
const input = event.target as HTMLInputElement;
if (input.files && input.files.length > 0) {
const file = input.files[0];
uploading.value = true;
try {
await importData(file, true);
proxy?.$modal.msgSuccess("导入成功");
await getList();
} catch (err) {
proxy?.$modal.msgError("导入失败");
console.error(err);
} finally {
uploading.value = false;
input.value = '';
}
}
}
//
let qcInspectionTypeList = ref([]);
@ -705,6 +751,31 @@ const getInspectionItemList = async () => {
}
/** 导入按钮操作 */
const fileInput = ref<HTMLInputElement>();
const uploading = ref(false);
const handleImport = () => {
fileInput.value?.click();
}
const onFileChange = async (event: Event) => {
const input = event.target as HTMLInputElement;
if (input.files && input.files.length > 0) {
const file = input.files[0];
uploading.value = true;
try {
await importData(file, true);
proxy?.$modal.msgSuccess("导入成功");
await getList();
} catch (err) {
proxy?.$modal.msgError("导入失败");
console.error(err);
} finally {
uploading.value = false;
input.value = '';
}
}
}
onMounted(() => {
getList();
getInspectionTypeList();

Loading…
Cancel
Save