|
@@ -16,7 +16,34 @@
|
|
|
@current-change="dataList"
|
|
|
@selection-change="selectionChange"
|
|
|
>
|
|
|
- <template #menu-left="{ size }">
|
|
|
+
|
|
|
+ <template #menu="{size,row,index}">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ link
|
|
|
+ v-if="row.bom === '0' || row.dataFile === '0'|| row.routeId === '0'|| row.craftFile === '0'"
|
|
|
+ size="small"
|
|
|
+ @click="handleEdit(row,0)"
|
|
|
+ ><i-ep-edit />编辑
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ link
|
|
|
+ v-if="row.materialState === '0' || row.deviceState === '0'"
|
|
|
+ size="small"
|
|
|
+ @click="handleRefresh(row.workOrderCode)"
|
|
|
+ ><i-ep-edit />刷新
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ link
|
|
|
+ v-if="row.bom === '0' || row.dataFile === '0'|| row.routeId === '0'|| row.craftFile === '0' || row.materialState === '0' || row.deviceState === '0'"
|
|
|
+ size="small"
|
|
|
+ @click="deleteRow(row)"
|
|
|
+ ><i-ep-edit />删除
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+<!-- <template #menu-left="{ size }">
|
|
|
<el-button
|
|
|
:disabled="toDeleteIds.length < 1"
|
|
|
type="danger"
|
|
@@ -25,7 +52,7 @@
|
|
|
@click="multipleDelete"
|
|
|
>删除</el-button
|
|
|
>
|
|
|
- </template>
|
|
|
+ </template>-->
|
|
|
</avue-crud>
|
|
|
<el-dialog
|
|
|
v-model="dialog.visible"
|
|
@@ -41,10 +68,9 @@
|
|
|
<script setup>
|
|
|
import { ref, getCurrentInstance } from "vue";
|
|
|
import { useCrud } from "@/hooks/userCrud";
|
|
|
-import ButtonPermKeys from "@/common/configs/buttonPermission";
|
|
|
+import {prepareCheckInfo,refreshPrepareCheckInfo} from "@/api/process"
|
|
|
|
|
|
import { useCommonStoreHook } from "@/store";
|
|
|
-import dictDataUtil from "@/common/configs/dictDataUtil";
|
|
|
const { isShowTable, tableType } = toRefs(useCommonStoreHook());
|
|
|
const test = () => {
|
|
|
isShowTable.value = true;
|
|
@@ -65,6 +91,27 @@ const dialog = reactive({
|
|
|
title: "订单选择",
|
|
|
visible: false,
|
|
|
});
|
|
|
+const checkInfo = (code) =>{
|
|
|
+ prepareCheckInfo(code).then((data)=>{
|
|
|
+ form.value.deviceStr = data.data.deviceStr
|
|
|
+ form.value.deviceState = data.data.deviceState
|
|
|
+ form.value.materialState = data.data.materialState
|
|
|
+ form.value.materialStr = data.data.materialStr
|
|
|
+ })
|
|
|
+}
|
|
|
+const handleEdit =(row,index)=>{
|
|
|
+ crudRef.value && crudRef.value.rowEdit(row,index);
|
|
|
+}
|
|
|
+const handleRefresh =(code)=>{
|
|
|
+ refreshPrepareCheckInfo(code).then((data)=>{
|
|
|
+ if(data.code === '200'){
|
|
|
+ ElMessage.success("刷新成功")
|
|
|
+ dataList()
|
|
|
+ }else{
|
|
|
+ ElMessage.error(data.msg)
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
const orderInfo = (value) => {
|
|
|
form.value.workOrderCode = value.workOrderCode
|
|
|
form.value.orderCode = value.orderCode
|
|
@@ -77,7 +124,7 @@ const orderInfo = (value) => {
|
|
|
// 设置表格列或者其他自定义的option
|
|
|
option.value = Object.assign(option.value, {
|
|
|
delBtn: false,
|
|
|
- selection: true,
|
|
|
+ selection: false,
|
|
|
editBtn: false,
|
|
|
dialogWidth: '45%', // 设置编辑弹窗的宽度为50%
|
|
|
column: [
|
|
@@ -85,8 +132,9 @@ option.value = Object.assign(option.value, {
|
|
|
label: "工单号",
|
|
|
prop: "workOrderCode",
|
|
|
search: true,
|
|
|
- width: 150,
|
|
|
+ width: 140,
|
|
|
overHidden: true,
|
|
|
+ editDisabled : true,
|
|
|
rules: [
|
|
|
{
|
|
|
required: true,
|
|
@@ -99,12 +147,17 @@ option.value = Object.assign(option.value, {
|
|
|
dialog.visible = true
|
|
|
}
|
|
|
},
|
|
|
+ change:({ value, column }) =>{
|
|
|
+ if(value){
|
|
|
+ checkInfo(value)
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
{
|
|
|
label: "计划单号",
|
|
|
prop: "orderCode",
|
|
|
search: true,
|
|
|
- width: 150,
|
|
|
+ width: 140,
|
|
|
overHidden: true,
|
|
|
disabled: true,
|
|
|
rules: [
|
|
@@ -134,7 +187,7 @@ option.value = Object.assign(option.value, {
|
|
|
label: "产品编码",
|
|
|
prop: "materialCode",
|
|
|
search: true,
|
|
|
- width: 150,
|
|
|
+ width: 140,
|
|
|
overHidden: true,
|
|
|
disabled: true,
|
|
|
rules: [
|
|
@@ -177,84 +230,163 @@ option.value = Object.assign(option.value, {
|
|
|
},
|
|
|
{
|
|
|
label: "工艺文件",
|
|
|
- width: 150,
|
|
|
+ width: 115,
|
|
|
+ overHidden: true,
|
|
|
+ prop: "craftFile",
|
|
|
+ addDisplay: false,
|
|
|
+ viewDisplay: false,
|
|
|
+ editDisplay: false,
|
|
|
+ html: true,
|
|
|
+ formatter: (val) => {
|
|
|
+ if (val.craftFile === '1') {
|
|
|
+ return '<b class="el-tag el-tag--success el-tag--light">已齐套</b>';
|
|
|
+ }
|
|
|
+ return '<b class="el-tag el-tag--danger el-tag--light">未齐套</b>';
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "工艺BOM",
|
|
|
+ width: 115,
|
|
|
+ overHidden: true,
|
|
|
+ prop: "bom",
|
|
|
+ viewDisplay: false,
|
|
|
+ addDisplay: false,
|
|
|
+ editDisplay: false,
|
|
|
+ html: true,
|
|
|
+ formatter: (val) => {
|
|
|
+ if (val.bom === '1') {
|
|
|
+ return '<b class="el-tag el-tag--success el-tag--light">已齐套</b>';
|
|
|
+ }
|
|
|
+ return '<b class="el-tag el-tag--danger el-tag--light">未齐套</b>';
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "工艺路线",
|
|
|
+ width: 115,
|
|
|
+ overHidden: true,
|
|
|
+ viewDisplay: false,
|
|
|
+ addDisplay: false,
|
|
|
+ editDisplay: false,
|
|
|
+ prop: "routeId",
|
|
|
+ html: true,
|
|
|
+ formatter: (val) => {
|
|
|
+ if (val.routeId === '1') {
|
|
|
+ return '<b class="el-tag el-tag--success el-tag--light">已齐套</b>';
|
|
|
+ }
|
|
|
+ return '<b class="el-tag el-tag--danger el-tag--light">未齐套</b>';
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "设计文件",
|
|
|
+ prop: "dataFile",
|
|
|
+ width: 115,
|
|
|
+ overHidden: true,
|
|
|
+ viewDisplay: false,
|
|
|
+ addDisplay: false,
|
|
|
+ editDisplay: false,
|
|
|
+ html: true,
|
|
|
+ formatter: (val) => {
|
|
|
+ if (val.dataFile === '1') {
|
|
|
+ return '<b class="el-tag el-tag--success el-tag--light">已齐套</b>';
|
|
|
+ }
|
|
|
+ return '<b class="el-tag el-tag--danger el-tag--light">未齐套</b>';
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "工艺文件",
|
|
|
+ width: 115,
|
|
|
overHidden: true,
|
|
|
prop: "craftFiles",
|
|
|
type: 'checkbox',
|
|
|
- span: 24,
|
|
|
- multiple: true,
|
|
|
- dicUrl:
|
|
|
- dictDataUtil.request_url + dictDataUtil.TYPE_CODE.prepare_craft_file,
|
|
|
- props: {
|
|
|
- label: "dictLabel",
|
|
|
- value: "dictValue",
|
|
|
- },
|
|
|
+ span: 12,
|
|
|
+ hide: true,
|
|
|
+ dicData: [{label: '已齐套', value: '1'}],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "工艺BOM",
|
|
|
+ width: 150,
|
|
|
+ span: 12,
|
|
|
+ type: "checkbox",
|
|
|
+ overHidden: true,
|
|
|
+ prop: "boms",
|
|
|
+ hide: true,
|
|
|
+ dicData: [ { label: "已齐套", value: "1", }, ],
|
|
|
},
|
|
|
{
|
|
|
label: "工艺路线",
|
|
|
width: 150,
|
|
|
- span: 24,
|
|
|
- type: "radio",
|
|
|
+ span: 12,
|
|
|
+ type: "checkbox",
|
|
|
overHidden: true,
|
|
|
- prop: "routeId",
|
|
|
- dicData: [
|
|
|
- {
|
|
|
- label: "版本正确",
|
|
|
- value: "1",
|
|
|
- },
|
|
|
- {
|
|
|
- label: "版本不正确",
|
|
|
- value: "0",
|
|
|
- },
|
|
|
- ],
|
|
|
+ hide: true,
|
|
|
+ prop: "routeIds",
|
|
|
+ dicData: [ { label: "已齐套", value: "1", }, ],
|
|
|
},
|
|
|
{
|
|
|
- label: "图纸资料",
|
|
|
+ label: "设计文件",
|
|
|
prop: "dataFiles",
|
|
|
width: 150,
|
|
|
overHidden: true,
|
|
|
type: 'checkbox',
|
|
|
- span: 24,
|
|
|
+ span: 12,
|
|
|
multiple: true,
|
|
|
- dicUrl:
|
|
|
- dictDataUtil.request_url + dictDataUtil.TYPE_CODE.prepare_data_file,
|
|
|
- props: {
|
|
|
- label: "dictLabel",
|
|
|
- value: "dictValue",
|
|
|
- },
|
|
|
+ hide: true,
|
|
|
+ dicData: [ { label: "已齐套", value: "1", }, ],
|
|
|
},
|
|
|
{
|
|
|
label: "设备状况",
|
|
|
- prop: "deviceStates",
|
|
|
+ prop: "deviceState",
|
|
|
width: 150,
|
|
|
+ hide: true,
|
|
|
+ addDisplay: false,
|
|
|
overHidden: true,
|
|
|
- type: 'checkbox',
|
|
|
+ viewDisplay: false,
|
|
|
+ editDisplay: false,
|
|
|
span: 24,
|
|
|
+ dicData: [ { label: "已齐套", value: "1", },{ label: "未齐套", value: "0", }, ],
|
|
|
multiple: true,
|
|
|
- dicUrl:
|
|
|
- dictDataUtil.request_url + dictDataUtil.TYPE_CODE.prepare_device_info,
|
|
|
- props: {
|
|
|
- label: "dictLabel",
|
|
|
- value: "dictValue",
|
|
|
- },
|
|
|
},
|
|
|
{
|
|
|
label: "物料状态",
|
|
|
prop: 'materialState',
|
|
|
- type: "radio",
|
|
|
width: 130,
|
|
|
+ hide: true,
|
|
|
+ editDisplay: false,
|
|
|
+ addDisplay: false,
|
|
|
+ viewDisplay: false,
|
|
|
overHidden: true,
|
|
|
span: 24,
|
|
|
- dicData: [
|
|
|
- {
|
|
|
- label: "齐套",
|
|
|
- value: 1,
|
|
|
- },
|
|
|
- {
|
|
|
- label: "未齐套",
|
|
|
- value: 0,
|
|
|
- },
|
|
|
- ],
|
|
|
+ dicData: [ { label: "已齐套", value: "1", },{ label: "未齐套", value: "0", }, ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "设备状况",
|
|
|
+ prop: "deviceStr",
|
|
|
+ disabled: true,
|
|
|
+ width: 200,
|
|
|
+ overHidden: true,
|
|
|
+ span: 24,
|
|
|
+ html: true,
|
|
|
+ formatter: (val) => {
|
|
|
+ if (val.deviceState === '1') {
|
|
|
+ return '<b class="el-tag el-tag--success el-tag--light">已齐套</b>';
|
|
|
+ }
|
|
|
+ return '<b class="el-tag el-tag--danger el-tag--light">'+val.deviceStr+'</b>';
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "物料状态",
|
|
|
+ prop: 'materialStr',
|
|
|
+ disabled: true,
|
|
|
+ width: 200,
|
|
|
+ overHidden: true,
|
|
|
+ span: 24,
|
|
|
+ html: true,
|
|
|
+ formatter: (val) => {
|
|
|
+ if (val.materialState === '1') {
|
|
|
+ return '<b class="el-tag el-tag--success el-tag--light">已齐套</b>';
|
|
|
+ }
|
|
|
+ return '<b class="el-tag el-tag--danger el-tag--light">未齐套</b>';
|
|
|
+ },
|
|
|
},
|
|
|
{
|
|
|
label: "创建时间",
|
|
@@ -270,24 +402,12 @@ option.value = Object.assign(option.value, {
|
|
|
],
|
|
|
});
|
|
|
|
|
|
+
|
|
|
onMounted(() => {
|
|
|
form.value.routeId = "1"
|
|
|
form.value.materialState = 1
|
|
|
// console.log("crudRef", crudRef)
|
|
|
dataList();
|
|
|
});
|
|
|
-/**
|
|
|
- * 上传excel相关
|
|
|
- */
|
|
|
-const uploadRef = ref(null);
|
|
|
-const uploadFinished = () => {
|
|
|
- // 上传完成后的刷新操作
|
|
|
- page.currentPage = 1;
|
|
|
- dataList();
|
|
|
-};
|
|
|
-const importExcelData = () => {
|
|
|
- if (uploadRef.value) {
|
|
|
- uploadRef.value.show("/api/v1/device/import");
|
|
|
- }
|
|
|
-};
|
|
|
+
|
|
|
</script>
|