This commit is contained in:
zds
2022-11-30 19:08:02 +08:00
parent 317f5ec001
commit 64ea2071a6
36 changed files with 1045 additions and 49 deletions

View File

@@ -0,0 +1,128 @@
<template>
<el-dialog
title="产品工艺参数设置"
append-to-body
:visible.sync="dialogVisible"
destroy-on-close
@close="close"
>
<el-form :inline="true" :model="formData" class="demo-form-inline">
<el-form-item label="产品编码">
<el-input v-model.trim="formData.material_code" disabled />
</el-form-item>
<el-form-item label="产品名称">
<el-input v-model.trim="formData.material_name" disabled />
</el-form-item>
<el-form-item label="工序编码">
<el-input v-model.trim="formData.workprocedure_code" disabled />
</el-form-item>
<el-form-item label="工序名称">
<el-input v-model.trim="formData.workprocedure_name" disabled />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">保存</el-button>
</el-form-item>
</el-form>
<el-divider />
<!--表格渲染-->
<el-table
:data="tableData"
stripe
style="width: 100%"
>
<el-table-column
prop="para_code"
label="项点编码"
width="180"
/>
<el-table-column
prop="para_name"
label="项点名称"
width="180"
/>
<el-table-column prop="value" label="参数值">
<template slot-scope="scope">
<el-input-number
v-model="tableData[scope.$index].value"
:controls="false"
controls-position="right"
precision="2"
style="width: 100px"
:min="0"
/>
</template>
</el-table-column>
</el-table>
<!-- <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="dialogVisible = false"> </el-button>
</span>-->
</el-dialog>
</template>
<script>
import { crud } from '@crud/crud'
import crudProductProcessParam from '@/api/wms/basedata/pdm/productProcessParam'
export default {
name: 'SetDialog',
mixins: [crud()],
props: {
dialogShow: {
type: Boolean,
default: false
},
openParam: {
type: Object
}
},
data() {
return {
dialogVisible: false,
cols: [],
tableData: [],
formData: null
}
},
watch: {
dialogShow: {
handler(newValue, oldValue) {
this.dialogVisible = newValue
if (newValue) {
const param = {
workprocedure_code: this.openParam.workprocedure_code,
material_id: this.openParam.optRow
}
crudProductProcessParam.getSetData(param).then(res => {
this.formData = res.formData
this.tableData = res.tableData
})
}
}
}
},
methods: {
onSubmit() {
const param = {
formData: this.formData,
tableData: this.tableData
}
crudProductProcessParam.saveData(param).then(res => {
this.notify('操作成功', 'success')
this.close()
})
},
notify(title, type) {
this.$notify({
title: title,
type: type,
duration: 2500
})
},
close() {
this.$emit('update:dialogShow', false)
}
}
}
</script>

View File

@@ -0,0 +1,178 @@
<template>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<el-input
v-model="query.search"
clearable
style="width: 300px"
size="mini"
placeholder="输入产品编码或名称"
prefix-icon="el-icon-search"
class="filter-item"
/>
<rrOperation />
<crudOperation :permission="permission" />
<!--表单组件-->
<!--表格渲染-->
<el-table
ref="table"
v-loading="crud.loading"
:data="crud.data"
size="mini"
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column prop="material_code" label="物料编码" min-width="130" fixed />
<el-table-column prop="material_name" label="物料名称" min-width="100" fixed />
<template v-for="(col,index) in cols">
<el-table-column v-if="col.isVisiable" :prop="col.prop" :label="col.label" width="130px" />
</template>
<el-table-column v-permission="[]" label="操作" fixed="right" width="150px" align="center">
<template slot-scope="scope">
<div class="btn1">
<udOperation
:is-visiable-del="false"
:data="scope.row"
:permission="permission"
/>
</div>
<div class="btn2">
<el-button slot="left" type="text" icon="el-icon-delete" size="mini" @click="delid(scope.row)" >删除</el-button>
</div>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
</div>
<SetDialog :dialog-show.sync="setShow" :open-param="openParam" />
</div>
</template>
<script>
import crudWorkProcedure from '@/api/wms/basedata/pdm/workProcedure'
import crudProductProcessParam from '@/api/wms/basedata/pdm/productProcessParam'
import CRUD, { crud, form, header, presenter } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import SetDialog from '@/views/wms/basedata/pdm/productProcessParam/SetDialog'
import crudBagrecord from '@/api/wms/basedata/master/bagrecord'
export default {
name: 'ProductProcessParam1',
components: { pagination, crudOperation, rrOperation, udOperation, SetDialog },
mixins: [presenter(), header(), form(), crud()],
cruds() {
return CRUD({
title: '工序',
url: 'api/productProcessParam',
idField: 'workprocedure_id',
sort: 'workprocedure_id,desc',
crudMethod: { ...crudWorkProcedure },
optShow: {
add: false,
edit: false,
del: false,
download: false,
reset: true
}
})
},
data() {
return {
permission: {},
workprocedure_code: null,
setShow: false,
openParam: {},
// 行转列https://www.jb51.net/article/196058.htm
cols: [],
rules: {
workProcedure_id: [
{ required: true, message: '工序标识不能为空', trigger: 'blur' }
],
workprocedure_code: [
{ required: true, message: '工序编码不能为空', trigger: 'blur' }
],
workprocedure_name: [
{ required: true, message: '工序名称不能为空', trigger: 'blur' }
],
is_keyworkprocedure: [
{ required: true, message: '是否关键工序不能为空', trigger: 'blur' }
],
is_finishback: [
{ required: true, message: '是否完工汇报不能为空', trigger: 'blur' }
],
is_used: [
{ required: true, message: '是否启用不能为空', trigger: 'blur' }
]
}
}
},
watch: {
setShow: {
handler(newValue, oldValue) {
this.setShow = newValue
if (!newValue) {
this.crud.toQuery()
}
}
}
},
created() {
// 根据菜单配置路径获取工序编码(qm/GX002)
// 获取最后5位
var str = this.$route.path
var workprocedure_code = str.substring(str.length - 5)
this.workprocedure_code = workprocedure_code
crudProductProcessParam.getTableTitle(workprocedure_code).then(res => {
this.cols = res
})
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
},
[CRUD.HOOK.beforeToEdit](v1, v2) {
this.openParam = {
optRow: v2.material_id,
workprocedure_code: this.workprocedure_code
}
this.setShow = true
return false
},
delid(row) {
const msg = '是否确认删除?'
this.$confirm(msg, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
row.workprocedure_code = this.workprocedure_code
crudProductProcessParam.del(row).then(res => {
this.crud.toQuery()
this.crud.notify('删除成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
})
})
}
}
}
</script>
<style scoped>
.btn1{
float: left;
margin-left: 40px;
}
.btn2{
float: right;
}
</style>