fix:工单查询
This commit is contained in:
parent
69f0829df5
commit
3e9ebee9bb
@ -46,7 +46,30 @@ export function getLineName() {
|
||||
export function getProcessInfoTree(data) {
|
||||
return request({
|
||||
url: 'mes/ProcessInfo/GetProcessInfoByLineCode/' + data,
|
||||
method: 'post',
|
||||
})
|
||||
}
|
||||
//重置密码
|
||||
export function resetPassword() {
|
||||
return request({
|
||||
url: 'mes/PasswordInfo/resetFirstInspectionPwd',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
//更改密码
|
||||
export function changePassword(data) {
|
||||
return request({
|
||||
url: 'mes/PasswordInfo/changeFirstInspectionPwd',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
//效验密码
|
||||
export function checkPassword(data) {
|
||||
return request({
|
||||
url: `mes/PasswordInfo/checkFirstInspectionPwd?password=${data}`,
|
||||
method: 'post',
|
||||
|
||||
})
|
||||
}
|
||||
@ -62,7 +62,7 @@
|
||||
|
||||
<div>
|
||||
</div>
|
||||
<el-dialog :title="title" :lock-scroll="false" v-model="open" width="500">
|
||||
<el-dialog :title="title" :lock-scroll="false" :close-on-click-modal="false" v-model="open" width="500">
|
||||
<el-form ref="formRef" :model="form" :rules="rules" label-width="120px">
|
||||
<el-row :gutter="20">
|
||||
<el-col :lg="24">
|
||||
@ -83,7 +83,8 @@
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog v-model="dialogVisible" title="是否首检" width="500" :before-close="handleClose1">
|
||||
<el-dialog v-model="dialogVisible" :close-on-click-modal="false" title="是否首检" width="500"
|
||||
:before-close="handleClose1">
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button @click="handleClose">取消</el-button>
|
||||
@ -93,7 +94,8 @@
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
<el-dialog v-model="dialogVisibleFirst" title="结束首检" width="500" :before-close="handleEnd">
|
||||
<el-dialog v-model="dialogVisibleFirst" :close-on-click-modal="false" title="结束首检" width="500"
|
||||
:before-close="handleEnd">
|
||||
<el-form ref="formRef1" :model="form" :rules="rules" label-width="140px">
|
||||
<el-row>
|
||||
<el-col :lg="24">
|
||||
@ -117,7 +119,7 @@
|
||||
</template>
|
||||
</el-dialog>
|
||||
<!-- 确定首检弹窗 -->
|
||||
<el-dialog v-model="dialogTableVisible" title="" width="800">
|
||||
<el-dialog v-model="dialogTableVisible" :close-on-click-modal="false" title="" width="800">
|
||||
<el-form ref="formRef" :model="form" :rules="rules" label-width="70px">
|
||||
<el-row>
|
||||
<el-col :lg="24">
|
||||
@ -137,21 +139,21 @@
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
<!-- 修改密码弹窗 -->
|
||||
<el-dialog title="修改密码" :lock-scroll="false" v-model="openPassword" width="500">
|
||||
<el-form ref="formRef" :model="form1" :rules="rules" label-width="80px">
|
||||
<el-dialog title="修改密码" :close-on-click-modal="false" :lock-scroll="false" v-model="openPassword" width="500">
|
||||
<el-form ref="formRef2" :model="form1" :rules="rules" label-width="80px">
|
||||
<el-row :gutter="20">
|
||||
<el-col :lg="24">
|
||||
<el-form-item label="旧密码" prop="oldPassword">
|
||||
<el-input v-model="form1.oldPassword" placeholder="请输入旧密码" />
|
||||
<el-form-item label="旧密码" prop="oldPwd">
|
||||
<el-input v-model="form1.oldPwd" placeholder="请输入旧密码" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="24">
|
||||
<el-form-item label="新密码" prop="newPassWord">
|
||||
<el-input v-model="form1.newPassWord" placeholder="请输入密码" />
|
||||
<el-form-item label="新密码" prop="newPwd">
|
||||
<el-input v-model="form1.newPwd" placeholder="请输入密码" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="24">
|
||||
<el-form-item label="确认密码" prop="resetPassword">
|
||||
<el-form-item label="确定密码" prop="resetPassword">
|
||||
<el-input v-model="form1.resetPassword" placeholder="请输入确认密码" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -167,7 +169,7 @@
|
||||
|
||||
<script setup name="processInformationManagement">
|
||||
import { ElMessageBox, ElMessage } from 'element-plus'
|
||||
import { getCache, addCache, updateCache, delCache, getLineName, getProcessInfoTree } from "@/api/basicDataManagement/categoryManagement/index"
|
||||
import { getCache, addCache, updateCache, delCache, getLineName, getProcessInfoTree, resetPassword, checkPassword, changePassword } from "@/api/basicDataManagement/categoryManagement/index"
|
||||
import { useRouter } from "vue-router"
|
||||
import useUserStore from '@/store/modules/user'
|
||||
import { getToken } from '@/utils/auth'
|
||||
@ -249,9 +251,14 @@ const selectS = ref(null)
|
||||
//是否合格
|
||||
function handleSelectQualified(val) {
|
||||
console.log(val, 'val');
|
||||
flog.value = false
|
||||
// firstTime.value = 1
|
||||
selectS.value == val
|
||||
|
||||
if (val == '合格') {
|
||||
firstTime.value = 1
|
||||
flog.value = false
|
||||
} else {
|
||||
firstTime.value = 0
|
||||
}
|
||||
// selectS.value == val
|
||||
}
|
||||
//下拉名称发生变化时
|
||||
function handleSelectLineName(val) {
|
||||
@ -286,6 +293,20 @@ function handlePassWord() {
|
||||
proxy.$refs["formRef1"].validate((valid) => {
|
||||
if (valid) {
|
||||
console.log(form.value.materialType, '数据的密码');
|
||||
checkPassword(form.value.materialType).then(res => {
|
||||
if (res.code == 200) {
|
||||
ElMessage({
|
||||
message: res.msg,
|
||||
type: 'success',
|
||||
})
|
||||
}
|
||||
if (res.code == 404) {
|
||||
ElMessage({
|
||||
message: res.msg,
|
||||
type: 'error',
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
@ -307,9 +328,13 @@ function handleResetpassword() {
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
}).then(() => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '重置密码成功',
|
||||
resetPassword().then(res => {
|
||||
if (res.code == 200) {
|
||||
ElMessage({
|
||||
message: '重置密码成功',
|
||||
type: 'success',
|
||||
})
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
ElMessage({
|
||||
@ -323,14 +348,7 @@ function closeUpload() {
|
||||
openPassword.value = false
|
||||
form1.value = {}
|
||||
}
|
||||
//修改密码确认按钮
|
||||
function submitFormSubmit() {
|
||||
proxy.$refs["formRef"].validate((valid) => {
|
||||
if (valid) {
|
||||
console.log(form1.value, '数据的密码');
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//修改密码
|
||||
const dialogVisible = ref(false)
|
||||
const dialogVisibleFirst = ref(false)
|
||||
@ -345,23 +363,27 @@ const options = ref([
|
||||
{ routingCode: 'ROUTING_003', routingName: '塑料制品成型工艺' }
|
||||
])
|
||||
|
||||
// 模拟工艺数据
|
||||
const mockProcessData = [
|
||||
|
||||
]
|
||||
const firstTime = ref(0)
|
||||
// 查询
|
||||
function handleQuery() {
|
||||
// console.log(form.value.lineCode, '工艺下拉的值');
|
||||
// console.log(selectS.value, '是否合格');
|
||||
if (flog.value == true && firstTime.value == 0) {
|
||||
// console.log(form.value.processCode, 'form.processCode');
|
||||
dialogVisible.value = true
|
||||
} else if (flog.value == true && firstTime.value == 1 || firstTime.value == 0) {
|
||||
alert('请选择工艺路线')
|
||||
// alert('请首检')
|
||||
return
|
||||
}
|
||||
if (flog.value == false && firstTime.value == 1 && selectS.value == '合格') {
|
||||
alert('不用首检')
|
||||
if (flog.value == true || flog.value == false && form.value.lineCode == undefined) {
|
||||
// alert('请选择工艺路线')
|
||||
ElMessage.error('请选择工艺路线')
|
||||
return
|
||||
}
|
||||
if (flog.value == false && firstTime.value == 1) {
|
||||
// alert('不用首检')
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// 重置查询
|
||||
@ -372,13 +394,6 @@ function resetQuery() {
|
||||
queryParams.pageSize = 10
|
||||
handleQuery()
|
||||
}
|
||||
|
||||
// 自定义排序
|
||||
function sortChange(column) {
|
||||
// 在实际应用中实现排序逻辑
|
||||
console.log('排序字段:', column.prop, '排序方式:', column.order)
|
||||
}
|
||||
|
||||
// 表单相关
|
||||
const formRef = ref()
|
||||
const title = ref('')
|
||||
@ -395,15 +410,30 @@ const state = reactive({
|
||||
description: ''
|
||||
},
|
||||
form1: {
|
||||
oldPassword: '',
|
||||
newPassWord: '',
|
||||
resetPassword: ''
|
||||
oldPwd: '',
|
||||
newPwd: '',
|
||||
},
|
||||
rules: {
|
||||
oldPassword: [{ required: true, message: '旧密码不能为空', trigger: 'blur' }],
|
||||
newPassWord: [{ required: true, message: '新不能为空', trigger: 'blur' }],
|
||||
resetPassword: [{ required: true, message: '确定密码不能为空', trigger: 'blur' }],
|
||||
|
||||
materialType: [{ required: true, message: '密码不能为空', trigger: 'blur' }],
|
||||
oldPwd: [{ required: true, message: '旧密码不能为空', trigger: 'blur' }],
|
||||
newPwd: [
|
||||
{ required: true, message: '新密码不能为空', trigger: 'blur' },
|
||||
{ min: 6, message: '密码长度至少6位', trigger: 'blur' }
|
||||
],
|
||||
resetPassword: [
|
||||
{ required: true, message: '确认密码不能为空', trigger: 'blur' },
|
||||
{
|
||||
validator: (rule, value, callback) => {
|
||||
if (value !== form1.value.newPwd) {
|
||||
callback(new Error('两次输入的密码不一致'));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
},
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
operationSeq: [
|
||||
{ required: true, message: '工艺顺序号不能为空', trigger: 'blur' },
|
||||
{ type: 'number', message: '工艺顺序号必须为数字', trigger: 'blur' }
|
||||
@ -416,7 +446,33 @@ const state = reactive({
|
||||
})
|
||||
|
||||
const { form, form1, rules } = toRefs(state)
|
||||
//效验密码是否一致
|
||||
function submitFormSubmit() {
|
||||
proxy.$refs["formRef2"].validate((valid) => {
|
||||
if (valid) {
|
||||
let data = {
|
||||
oldPwd: form1.value.oldPwd,
|
||||
newPwd: form1.value.newPwd,
|
||||
}
|
||||
changePassword(data).then(res => {
|
||||
if (res.code == 200) {
|
||||
ElMessage({
|
||||
message: res.msg,
|
||||
type: 'success',
|
||||
})
|
||||
openPassword.value = false
|
||||
}
|
||||
if (res.code == 404) {
|
||||
ElMessage({
|
||||
message: res.msg,
|
||||
type: 'error',
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
// 关闭弹窗
|
||||
function cancel() {
|
||||
open.value = false
|
||||
|
||||
3
src/views/processParameterTraceability/index.vue
Normal file
3
src/views/processParameterTraceability/index.vue
Normal file
@ -0,0 +1,3 @@
|
||||
<template>
|
||||
<div>过程参数追溯</div>
|
||||
</template>
|
||||
539
src/views/ticketInquiry/index.vue
Normal file
539
src/views/ticketInquiry/index.vue
Normal file
@ -0,0 +1,539 @@
|
||||
<template>
|
||||
<div>
|
||||
<div>
|
||||
<el-form :model="queryParams" label-position="right" inline ref="queryRef" v-show="showSearch"
|
||||
@submit.prevent>
|
||||
<el-form-item label="物料名称" prop="materialName">
|
||||
<el-input v-model.trim="queryParams.materialName" placeholder="请输入物料名称" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="物料编码" prop="materialCode">
|
||||
<el-input v-model.trim="queryParams.materialCode" placeholder="请输入物料编码" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button icon="search" type="primary" @click="handleQuery">{{ $t('btn.search')
|
||||
}}</el-button>
|
||||
<el-button icon="refresh" @click="resetQuery">{{ $t('btn.reset') }}</el-button>
|
||||
</el-form-item>
|
||||
<el-row :gutter="15" class="mb10">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" v-hasPermi="['business:processmodeloperation:add']" plain icon="plus"
|
||||
@click="handleAdd">
|
||||
{{ $t('btn.add') }}
|
||||
</el-button>
|
||||
<el-button class="tool-box" color="#626aef" icon="Download" @click="handleImport"> 导入
|
||||
</el-button>
|
||||
<el-button class="tool-box" color="#00aa00" icon="Upload" @click="handleDownload"> 导出
|
||||
</el-button>
|
||||
<el-button class="tool-box" color="#ff0000" icon="Delete" @click="handleDeletes"> 删除
|
||||
</el-button>
|
||||
</el-col>
|
||||
|
||||
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"
|
||||
:columns="columns"></right-toolbar>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<!-- 工具区域 -->
|
||||
<el-row :gutter="15" class="mb10">
|
||||
</el-row>
|
||||
<el-table :data="dataList" v-loading="loading" ref="table" border
|
||||
header-cell-class-name="el-table-header-cell" @selection-change="handleSelectionChange"
|
||||
highlight-current-row @sort-change="sortChange">
|
||||
<el-table-column type="selection" width="55">
|
||||
</el-table-column>
|
||||
<el-table-column prop="materialName" label="物料名称" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="materialCode" label="物料编码" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="materialModel" label="物料型号" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="materialType" label="物料类别" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="parameter" label="参数" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="brand" label="品牌" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="supplier" label="供应商" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="deviceId" label="设备标识符" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="feature" label="特点" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="remark" label="备注" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="processName" label="工艺名称" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="processCode" label="工艺编码" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="createName" label="创建人" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="createTime" label="创建时间" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="updateName" label="更新人" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="updateTime" label="更新时间" align="center" :show-overflow-tooltip="true" />
|
||||
<!-- <el-table-column prop="delflag" label="delflag" align="center" :show-overflow-tooltip="true" /> -->
|
||||
<el-table-column label="操作" width="160">
|
||||
<template #default="scope">
|
||||
<el-button type="success" size="small" icon="edit" title="编辑"
|
||||
v-hasPermi="['business:processmodeloperation:edit']"
|
||||
@click="handleUpdate(scope.row)"></el-button>
|
||||
<el-button type="danger" size="small" icon="delete" title="删除"
|
||||
v-hasPermi="['business:processmodeloperation:delete']"
|
||||
@click="handleDelete(scope.row)"></el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList" />
|
||||
</div>
|
||||
|
||||
<div>
|
||||
</div>
|
||||
<el-dialog :title="title" :lock-scroll="false" v-model="open" width="800">
|
||||
<el-form ref="formRef" :model="form" :rules="rules" label-width="120px">
|
||||
<el-row :gutter="20">
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="物料名称" prop="materialName">
|
||||
<el-input v-model="form.materialName" placeholder="请输入物料名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="物料编码" prop="materialCode">
|
||||
<el-input v-model="form.materialCode" placeholder="请输入物料编码" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="物料型号" prop="materialModel">
|
||||
<el-input v-model="form.materialModel" placeholder="请输入物料型号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="物料类别" prop="materialType">
|
||||
<el-input v-model="form.materialType" placeholder="请输入物料类别" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="参数" prop="parameter">
|
||||
<el-input v-model="form.parameter" placeholder="请输入参数" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="品牌" prop="brand">
|
||||
<el-input v-model="form.brand" placeholder="请输入品牌" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="供应商" prop="supplier">
|
||||
<el-input v-model="form.supplier" placeholder="请输入供应商" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="设备标识符" prop="deviceId">
|
||||
<el-input v-model="form.deviceId" placeholder="请输入设备标识符" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="工艺名称" prop="processName">
|
||||
<!-- <el-input v-model="form.processName" placeholder="请输入工艺名称" /> -->
|
||||
<el-select v-model="form.processName" placeholder="请选择">
|
||||
<el-option v-for="item in productionLine" :key="item.value" :label="item.label"
|
||||
:value="item.label" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="工艺编码" prop="processCode">
|
||||
<el-input disabled v-model="form.processCode" placeholder="请输入工艺编码" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="特点" prop="feature">
|
||||
<el-input v-model="form.feature" placeholder="请输入特点" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="form.remark" placeholder="请输入备注" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<template #footer v-if="opertype != 3">
|
||||
<el-button text @click="cancel">{{ $t('btn.cancel') }}</el-button>
|
||||
<el-button type="primary" @click="submitForm">{{ $t('btn.submit') }}</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 导入对话框 -->
|
||||
<el-dialog :title="upload.title" v-model="upload.open" width="400px" append-to-body draggable
|
||||
:close-on-click-modal="false"> <span v-if="show">数据正在导入中请稍等……</span>
|
||||
<el-upload name="file" ref="uploadRef" :limit="1" accept=".xlsx,.xls" :headers="upload.headers"
|
||||
:action="`${upload.url}`" :disabled="upload.isUploading" :on-progress="handleFileUploadProgress"
|
||||
:on-success="handleFileSuccess" :on-error="handleFileError" :auto-upload="false" drag>
|
||||
<el-icon class="el-icon--upload">
|
||||
<upload-filled />
|
||||
</el-icon>
|
||||
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
||||
<template #tip>
|
||||
<div class="el-upload__tip text-center">
|
||||
<span>仅允许导入xls、xlsx格式文件。</span>
|
||||
<el-link type="primary" :underline="false" style="font-size: 12px; vertical-align: baseline"
|
||||
@click="importTemplate">下载模板</el-link>
|
||||
</div>
|
||||
</template>
|
||||
</el-upload>
|
||||
<template #footer>
|
||||
<el-button @click="upload.open = false">{{ $t('btn.cancel') }}</el-button>
|
||||
<el-button type="primary" @click="submitFileForm">{{ $t('btn.submit') }}</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup name="processInformationManagement">
|
||||
import { ElMessageBox, ElMessage } from 'element-plus'
|
||||
import { getProcessInfoList, getProcessInfoById, addProcessInfo, updateProcessInfo, delProcessInfo, getLineName } from "@/api/basicDataManagement/inventoryManagement/index"
|
||||
import useUserStore from '@/store/modules/user'
|
||||
import { getToken } from '@/utils/auth'
|
||||
const dialogTableVisible = ref(false)
|
||||
const userStore = useUserStore()
|
||||
const userId = userStore.userId
|
||||
const userName = userStore.userName
|
||||
console.log(userStore.userId, 'userStore.userId')
|
||||
import { ref, reactive, getCurrentInstance, watch, toRefs } from 'vue';
|
||||
// 使用ref和reactive初始化响应式数据
|
||||
const { proxy } = getCurrentInstance()
|
||||
const ids = ref([])
|
||||
const loading = ref(false)
|
||||
const showSearch = ref(true)
|
||||
const show = ref(false)
|
||||
const dataList = ref([])
|
||||
// 查询参数
|
||||
const queryParams = reactive({
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
materialCode: '',
|
||||
materialName: '',
|
||||
})
|
||||
//详情请求参数
|
||||
const queryParamsDetail = reactive({
|
||||
pageNum: 1,
|
||||
pageSize: 20,
|
||||
id: null
|
||||
})
|
||||
const productionLine = ref([])
|
||||
const gridData = ref([])
|
||||
//导入参数
|
||||
const upload = reactive({
|
||||
open: false,
|
||||
title: '导入数据',
|
||||
isUploading: false,
|
||||
// updateSupport: 0,
|
||||
// uploadType: 1,
|
||||
headers: { Authorization: 'Bearer ' + getToken() },
|
||||
url: import.meta.env.VITE_APP_BASE_API + `/mes/MaterialInfo/ImportMaterialInfo?userId=${userStore.userId}&userName=${userStore.userName}`
|
||||
})
|
||||
//文件上传中
|
||||
const handleFileUploadProgress = (event, file, fileList) => {
|
||||
upload.isUploading = true,
|
||||
show.value = true
|
||||
console.log(upload.url, '上传地址');
|
||||
}
|
||||
// 多选下拉
|
||||
function handleSelectionChange(val) {
|
||||
const selectedIds = val.map(item => item.materialCode);
|
||||
ids.value = selectedIds;
|
||||
console.log(ids.value, 'ids.value多选下拉数据');
|
||||
}
|
||||
function getList() {
|
||||
getProcessInfoList(queryParams).then(res => {
|
||||
if (res.code == 200) {
|
||||
dataList.value = res.data.result
|
||||
total.value = res.data.totalNum
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
/** 文件上传成功处理 */
|
||||
const handleFileSuccess = (response, file, fileList) => {
|
||||
|
||||
const { code, msg, data } = response
|
||||
if (code === 500) {
|
||||
proxy.$message.error('模板存在异常!')
|
||||
upload.isUploading = false
|
||||
proxy.$refs['uploadRef'].clearFiles()
|
||||
return
|
||||
}
|
||||
if (data === -1) {
|
||||
proxy.$message.error('模板不匹配!')
|
||||
upload.isUploading = false
|
||||
proxy.$refs['uploadRef'].clearFiles()
|
||||
return
|
||||
}
|
||||
if (code == 404) {
|
||||
proxy.$message.error(response.msg)
|
||||
upload.isUploading = false
|
||||
proxy.$refs['uploadRef'].clearFiles()
|
||||
return
|
||||
}
|
||||
upload.open = false
|
||||
show.value = false
|
||||
upload.isUploading = false
|
||||
proxy.$refs['uploadRef'].clearFiles()
|
||||
// dialogVisibleActualAssembly.value = true
|
||||
// proxy.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + `导入成功:${data}条` + '</div>', '导入结果', {
|
||||
// dangerouslyUseHTMLString: true
|
||||
// })
|
||||
if (code == 200) {
|
||||
ElMessage({
|
||||
message: '导入成功',
|
||||
type: 'success',
|
||||
})
|
||||
getList()
|
||||
}
|
||||
}
|
||||
/** 文件上传异常处理 */
|
||||
const handleFileError = (error, file, fileList) => {
|
||||
const { code, msg, data } = error.response || {}
|
||||
if (error) {
|
||||
proxy.$message.error('模板导入异常!')
|
||||
return
|
||||
}
|
||||
}
|
||||
//文件上传按钮
|
||||
function submitFileForm() {
|
||||
proxy.$refs['uploadRef'].submit()
|
||||
}
|
||||
// 列配置
|
||||
const columns = ref([
|
||||
{ visible: true, prop: 'materialCode', label: '物料编码' },
|
||||
{ visible: true, prop: 'materialName', label: '物料名称' },
|
||||
{ visible: true, prop: 'operationSeq', label: '工艺顺序号' },
|
||||
{ visible: true, prop: 'workCenter', label: '工作中心/设备/车间' },
|
||||
{ visible: true, prop: 'standardTime', label: '标准工时(分钟)' },
|
||||
{ visible: true, prop: 'description', label: '工艺描述' }
|
||||
])
|
||||
|
||||
const total = ref(0)
|
||||
const detailTotail = ref(0)
|
||||
const queryRef = ref()
|
||||
|
||||
//导入
|
||||
function handleImport() {
|
||||
upload.open = true
|
||||
}
|
||||
/** 下载模板操作 */
|
||||
function importTemplate() {
|
||||
proxy.download('/mes/MaterialInfo/importTemplate', '导入模板')
|
||||
}
|
||||
//导出
|
||||
function handleDownload() {
|
||||
proxy
|
||||
.$confirm('是否确定要导出数据吗?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
})
|
||||
.then(async () => {
|
||||
await proxy.downFile('/mes/MaterialInfo/export', { ...queryParams })
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 查询
|
||||
function handleQuery() {
|
||||
queryParams.pageNum = 1
|
||||
getList()
|
||||
}
|
||||
|
||||
// 重置查询
|
||||
function resetQuery() {
|
||||
proxy.resetForm('queryRef')
|
||||
queryParams.materialCode = null
|
||||
queryParams.materialName = null
|
||||
queryParams.pageSize = 10
|
||||
handleQuery()
|
||||
}
|
||||
|
||||
// 自定义排序
|
||||
function sortChange(column) {
|
||||
// 在实际应用中实现排序逻辑
|
||||
console.log('排序字段:', column.prop, '排序方式:', column.order)
|
||||
}
|
||||
|
||||
// 表单相关
|
||||
const formRef = ref()
|
||||
const title = ref('')
|
||||
const opertype = ref(0)
|
||||
const open = ref(false)
|
||||
|
||||
const state = reactive({
|
||||
form: {
|
||||
id: null,
|
||||
materialCode: '',
|
||||
materialName: '',
|
||||
materialModel: '',
|
||||
materialType: '',
|
||||
parameter: '',
|
||||
brand: '',
|
||||
supplier: '',
|
||||
deviceId: '',
|
||||
feature: '',
|
||||
remark: '',
|
||||
processName: '',
|
||||
processCode: '',
|
||||
lineCode: '',
|
||||
lineName: ''
|
||||
},
|
||||
rules: {
|
||||
materialCode: [{ required: true, message: '物料编码不能为空', trigger: 'blur' }],
|
||||
materialName: [{ required: true, message: '物料名称不能为空', trigger: 'blur' }],
|
||||
materialModel: [{ required: true, message: '物料型号不能为空', trigger: 'blur' }],
|
||||
materialType: [{ required: true, message: '物料类别不能为空', trigger: 'blur' }],
|
||||
parameter: [{ required: true, message: '参数不能为空', trigger: 'blur' }],
|
||||
brand: [{ required: true, message: '物料品牌不能为空', trigger: 'blur' }],
|
||||
supplier: [{ required: true, message: '供应商不能为空', trigger: 'blur' }],
|
||||
deviceId: [{ required: true, message: '设备标识符不能为空', trigger: 'blur' }],
|
||||
processCode: [{ required: true, message: '产线编码不能为空', trigger: 'blur' }],
|
||||
processName: [{ required: true, message: '产线名称不能为空', trigger: 'blur' }]
|
||||
}
|
||||
})
|
||||
|
||||
const { form, rules } = toRefs(state)
|
||||
//监听下拉
|
||||
watch(() => form.value.processName, (newLineName) => {
|
||||
if (newLineName) {
|
||||
const selectedLine = productionLine.value.find(item => item.label === newLineName);
|
||||
if (selectedLine) {
|
||||
form.value.processCode = selectedLine.value;
|
||||
}
|
||||
} else {
|
||||
form.value.processCode = '';
|
||||
}
|
||||
});
|
||||
// 关闭弹窗
|
||||
function cancel() {
|
||||
open.value = false
|
||||
reset()
|
||||
}
|
||||
|
||||
// 重置表单
|
||||
function reset() {
|
||||
form.value = {
|
||||
id: null,
|
||||
materialCode: '',
|
||||
materialName: '',
|
||||
materialModel: '',
|
||||
materialType: '',
|
||||
parameter: '',
|
||||
brand: '',
|
||||
supplier: '',
|
||||
deviceId: '',
|
||||
feature: '',
|
||||
remark: '',
|
||||
processName: '',
|
||||
processCode: '',
|
||||
lineCode: '',
|
||||
lineName: ''
|
||||
}
|
||||
proxy.resetForm('formRef')
|
||||
}
|
||||
|
||||
// 添加工艺
|
||||
function handleAdd() {
|
||||
getLineName().then(res => {
|
||||
if (res.code == 200) {
|
||||
productionLine.value = res.data
|
||||
}
|
||||
})
|
||||
reset()
|
||||
open.value = true
|
||||
title.value = '添加工艺'
|
||||
opertype.value = 1
|
||||
}
|
||||
|
||||
// 修改工艺
|
||||
function handleUpdate(row) {
|
||||
getLineName().then(res => {
|
||||
if (res.code == 200) {
|
||||
productionLine.value = res.data
|
||||
}
|
||||
})
|
||||
reset()
|
||||
form.value = { ...row }
|
||||
open.value = true
|
||||
title.value = '修改工艺'
|
||||
opertype.value = 2
|
||||
}
|
||||
|
||||
// 提交表单
|
||||
function submitForm() {
|
||||
let data = {
|
||||
...form.value,
|
||||
userId: userId,
|
||||
userName: userName
|
||||
}
|
||||
proxy.$refs["formRef"].validate((valid) => {
|
||||
if (valid) {
|
||||
if (opertype.value === 2) {
|
||||
updateProcessInfo(data).then(res => {
|
||||
if (res.code == 200) {
|
||||
ElMessage({
|
||||
message: '修改成功',
|
||||
type: 'success',
|
||||
})
|
||||
getList()
|
||||
}
|
||||
})
|
||||
} else {
|
||||
addProcessInfo(data).then(res => {
|
||||
if (res.code == 200) {
|
||||
ElMessage({
|
||||
message: '新增成功',
|
||||
type: 'success',
|
||||
})
|
||||
}
|
||||
getList()
|
||||
})
|
||||
}
|
||||
open.value = false
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function handleDeletes() {
|
||||
if (ids.value.length === 0) {
|
||||
ElMessage({
|
||||
message: '请至少选择一条记录进行删除',
|
||||
type: 'warning',
|
||||
});
|
||||
return;
|
||||
}
|
||||
proxy.$confirm(
|
||||
`确认删除${ids.value.length}条数据吗?`,
|
||||
'提示',
|
||||
{ confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }
|
||||
).then(() => {
|
||||
delProcessInfo(ids.value).then(res => {
|
||||
if (res.code === 200) {
|
||||
ElMessage({ message: '删除成功', type: 'success' });
|
||||
getList();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
// 删除工艺
|
||||
function handleDelete(row) {
|
||||
proxy.$confirm(
|
||||
'确认删除该条数据吗?',
|
||||
'提示',
|
||||
{ confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }
|
||||
).then(() => {
|
||||
delProcessInfo([row.materialCode]).then(res => {
|
||||
if (res.code === 200) {
|
||||
ElMessage({ message: '删除成功', type: 'success' });
|
||||
getList();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// 树节点选择
|
||||
function handlerTreeSelected(id) {
|
||||
queryParams.RoutingCode = id
|
||||
handleQuery()
|
||||
}
|
||||
|
||||
// 初始化加载数据
|
||||
getList()
|
||||
</script>
|
||||
Loading…
x
Reference in New Issue
Block a user