按钮权限添加及质量修改

dev-scheduling
jinna 1 month ago
parent a27a2e2f3a
commit 7d4cb774c0
  1. 26
      src/views/oem/baseTemplate/index.vue
  2. 49
      src/views/oem/facInnerApproval/index.vue
  3. 49
      src/views/oem/oemApproval/index.vue
  4. 90
      src/views/oem/oemOrder/index.vue
  5. 38
      src/views/oem/oemProcess/index.vue
  6. 42
      src/views/productionManagement/components/addQuantity.vue
  7. 15
      src/views/productionTesting/productionQuality.vue
  8. 4
      src/views/qualityManagement/tankSolutionSystem/components/addEditInfoDialog.vue
  9. 6
      src/views/qualityManagement/tankSolutionSystem/components/batchDialog.vue

@ -3,14 +3,14 @@
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud" <avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud"
@row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" @row-del="rowDel" @search-change="searchChange" @search-reset="searchReset"
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange" @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
@refresh-change="refreshChange" @on-load="onLoad" > @refresh-change="refreshChange" @on-load="onLoad" @sort-change="sortChange">
<template #menu-left> <template #menu-left>
</template> </template>
<template #menu-right> <template #menu-right>
<el-button type="primary" @click="maintenanceFn()">维护 <el-button type="primary" @click="maintenanceFn()" v-if="permission.baseTemplate_maintain">维护
</el-button> </el-button>
<el-button type="primary" @click="handleImport()">导入 <el-button type="primary" @click="handleImport()" v-if="permission.baseTemplate_import">导入
</el-button> </el-button>
</template> </template>
<!-- <template #ocName="scope"> <!-- <template #ocName="scope">
@ -32,6 +32,7 @@
import {getList,} from "@/api/outsourcingManagement/baseTemplate" import {getList,} from "@/api/outsourcingManagement/baseTemplate"
import maintenanceDialog from './components/maintenanceDialog.vue' import maintenanceDialog from './components/maintenanceDialog.vue'
import basicImport from '@/components/basic-import/main.vue' import basicImport from '@/components/basic-import/main.vue'
import { mapGetters } from "vuex";
export default { export default {
components: { components: {
maintenanceDialog, maintenanceDialog,
@ -95,7 +96,7 @@ export default {
{ {
label: '工艺能力', label: '工艺能力',
prop: 'caId', prop: 'caId',
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: true, search: true,
@ -118,7 +119,7 @@ export default {
label: '厂家', label: '厂家',
prop: 'oemName', prop: 'oemName',
// bind: 'bsOemCustomer.ocName', // bind: 'bsOemCustomer.ocName',
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: true, search: true,
@ -142,7 +143,22 @@ export default {
] ]
} }
}, },
computed: {
...mapGetters(["permission"]),
},
methods: { methods: {
//
sortChange({ prop, order }) {
console.log('prop----------',prop)
console.log('order----------',order)
this.query.ascs = undefined;
this.query.descs = undefined;
const orderByFieldKey = order === 'ascending' ? 'ascs' : 'descs';
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
this.query[orderByFieldKey] = orderByField;
// //
this.onLoad(this.page, this.query);
},
// //
handleImport() { handleImport() {
this.isShowImport = true this.isShowImport = true

@ -16,13 +16,14 @@
@size-change="sizeChange" @size-change="sizeChange"
@refresh-change="refreshChange" @refresh-change="refreshChange"
@on-load="onLoad" @on-load="onLoad"
@sort-change="sortChange"
> >
<template #menu-left> <template #menu-left>
<el-button type="primary" @click="handleApproval('batch')">批量审批</el-button> <el-button type="primary" @click="handleApproval('batch')" v-if="permission.facInnerApproval_examine">批量审批</el-button>
</template> </template>
<template #menu-right> </template> <template #menu-right> </template>
<template #menu="scope"> <template #menu="scope">
<el-button type="text" v-if="scope.row.approvalStatus == 2" @click="handleApproval('one',scope.row)">审批</el-button> <el-button type="text" v-if="scope.row.approvalStatus == 2 && permission.facInnerApproval_examine" @click="handleApproval('one',scope.row)">审批</el-button>
</template> </template>
</avue-crud> </avue-crud>
@ -37,6 +38,7 @@
<script> <script>
import {getList,oemApproval} from "@/api/outsourcingManagement/oemApproval" import {getList,oemApproval} from "@/api/outsourcingManagement/oemApproval"
import approvalDialog from "./approvalDialog.vue"; import approvalDialog from "./approvalDialog.vue";
import { mapGetters } from "vuex";
export default { export default {
components: { components: {
approvalDialog, approvalDialog,
@ -100,7 +102,7 @@ export default {
{ {
label: "车间订单号", label: "车间订单号",
prop: "woCode", prop: "woCode",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: true, search: true,
@ -111,7 +113,7 @@ export default {
label: "零件号", label: "零件号",
prop: "partCode", prop: "partCode",
// bind: "prWorkOrder.pjYieldOrder.partCode", // bind: "prWorkOrder.pjYieldOrder.partCode",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: true, search: true,
@ -121,7 +123,7 @@ export default {
label: "批次号", label: "批次号",
prop: "batchNo", prop: "batchNo",
// bind: "prWorkOrder.batchNo", // bind: "prWorkOrder.batchNo",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: true, search: true,
@ -131,7 +133,7 @@ export default {
label: "产品名称", label: "产品名称",
prop: "partName", prop: "partName",
// bind: "prWorkOrder.pjYieldOrder.partName", // bind: "prWorkOrder.pjYieldOrder.partName",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: false, search: false,
@ -141,7 +143,7 @@ export default {
label: "生产标识", label: "生产标识",
prop: "productIdent", prop: "productIdent",
// bind: "prWorkOrder.pjYieldOrder.prodIdent", // bind: "prWorkOrder.pjYieldOrder.prodIdent",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: false, search: false,
@ -151,7 +153,7 @@ export default {
label: "生产数量", label: "生产数量",
prop: "makeQty", prop: "makeQty",
// bind: "prWorkOrder.makeQty", // bind: "prWorkOrder.makeQty",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: false, search: false,
@ -161,7 +163,7 @@ export default {
label: "面积(d㎡)", label: "面积(d㎡)",
prop: "totalArea", prop: "totalArea",
// bind: "prWorkOrder.pjYieldOrder.poArea", // bind: "prWorkOrder.pjYieldOrder.poArea",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: false, search: false,
@ -174,7 +176,7 @@ export default {
searchRange: true, searchRange: true,
format: "YYYY-MM-DD", format: "YYYY-MM-DD",
valueFormat: "YYYY-MM-DD", valueFormat: "YYYY-MM-DD",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: true, search: true,
@ -183,7 +185,7 @@ export default {
{ {
label: "备注", label: "备注",
prop: "memo", prop: "memo",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: false, search: false,
@ -192,7 +194,7 @@ export default {
{ {
label: "审核状态", label: "审核状态",
prop: "approvalStatus", prop: "approvalStatus",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: true, search: true,
@ -219,7 +221,7 @@ export default {
label: "申请人", label: "申请人",
prop: "proposer", prop: "proposer",
// bind: "createMan.userName", // bind: "createMan.userName",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: true, search: true,
@ -229,7 +231,7 @@ export default {
label: "审批人", label: "审批人",
prop: "approver", prop: "approver",
// bind: "approvalMan.userName", // bind: "approvalMan.userName",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: false, search: false,
@ -238,7 +240,7 @@ export default {
{ {
label: "审批时间", label: "审批时间",
prop: "approvalTime", prop: "approvalTime",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: false, search: false,
@ -247,7 +249,7 @@ export default {
{ {
label: "处理意见", label: "处理意见",
prop: "approvalMemo", prop: "approvalMemo",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: false, search: false,
@ -264,11 +266,26 @@ export default {
isOpen: false, isOpen: false,
}; };
}, },
computed: {
...mapGetters(["permission"]),
},
created(){ created(){
this.search.approvalStatus = 2 this.search.approvalStatus = 2
this.query = this.search; this.query = this.search;
}, },
methods: { methods: {
//
sortChange({ prop, order }) {
console.log('prop----------',prop)
console.log('order----------',order)
this.query.ascs = undefined;
this.query.descs = undefined;
const orderByFieldKey = order === 'ascending' ? 'ascs' : 'descs';
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
this.query[orderByFieldKey] = orderByField;
// //
this.onLoad(this.page, this.query);
},
searchChange(params, done){ searchChange(params, done){
this.query = params; this.query = params;
this.page.currentPage = 1 this.page.currentPage = 1

@ -16,13 +16,14 @@
@size-change="sizeChange" @size-change="sizeChange"
@refresh-change="refreshChange" @refresh-change="refreshChange"
@on-load="onLoad" @on-load="onLoad"
@sort-change="sortChange"
> >
<template #menu-left> <template #menu-left>
<el-button type="primary" @click="handleApproval('batch')">批量审批</el-button> <el-button type="primary" @click="handleApproval('batch')" v-if="permission.oemApproval_examine">批量审批</el-button>
</template> </template>
<template #menu-right> </template> <template #menu-right> </template>
<template #menu="scope"> <template #menu="scope">
<el-button type="text" v-if="scope.row.approvalStatus == 2" @click="handleApproval('one',scope.row)" <el-button type="text" v-if="scope.row.approvalStatus == 2 && permission.oemApproval_examine" @click="handleApproval('one',scope.row)"
>审批</el-button >审批</el-button
> >
</template> </template>
@ -39,6 +40,7 @@
<script> <script>
import {getList,oemApproval} from "@/api/outsourcingManagement/oemApproval" import {getList,oemApproval} from "@/api/outsourcingManagement/oemApproval"
import approvalDialog from "./approvalDialog.vue"; import approvalDialog from "./approvalDialog.vue";
import { mapGetters } from "vuex";
export default { export default {
components: { components: {
approvalDialog, approvalDialog,
@ -96,7 +98,7 @@ export default {
{ {
label: "车间订单号", label: "车间订单号",
prop: "woCode", prop: "woCode",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: true, search: true,
@ -107,7 +109,7 @@ export default {
label: "零件号", label: "零件号",
prop: "partCode", prop: "partCode",
// bind: "prWorkOrder.pjYieldOrder.partCode", // bind: "prWorkOrder.pjYieldOrder.partCode",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: true, search: true,
@ -117,7 +119,7 @@ export default {
label: "批次号", label: "批次号",
prop: "batchNo", prop: "batchNo",
// bind: "prWorkOrder.batchNo", // bind: "prWorkOrder.batchNo",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: true, search: true,
@ -127,7 +129,7 @@ export default {
label: "产品名称", label: "产品名称",
prop: "partName", prop: "partName",
// bind: "prWorkOrder.pjYieldOrder.partName", // bind: "prWorkOrder.pjYieldOrder.partName",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: false, search: false,
@ -137,7 +139,7 @@ export default {
label: "生产标识", label: "生产标识",
prop: "productIdent", prop: "productIdent",
// bind: "prWorkOrder.pjYieldOrder.prodIdent", // bind: "prWorkOrder.pjYieldOrder.prodIdent",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: false, search: false,
@ -147,7 +149,7 @@ export default {
label: "生产数量", label: "生产数量",
prop: "makeQty", prop: "makeQty",
// bind: "prWorkOrder.makeQty", // bind: "prWorkOrder.makeQty",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: false, search: false,
@ -157,7 +159,7 @@ export default {
label: "面积(d㎡)", label: "面积(d㎡)",
prop: "totalArea", prop: "totalArea",
// bind: "prWorkOrder.pjYieldOrder.poArea", // bind: "prWorkOrder.pjYieldOrder.poArea",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: false, search: false,
@ -170,7 +172,7 @@ export default {
searchRange:true, searchRange:true,
format: "YYYY-MM-DD", format: "YYYY-MM-DD",
valueFormat: "YYYY-MM-DD", valueFormat: "YYYY-MM-DD",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: true, search: true,
@ -179,7 +181,7 @@ export default {
{ {
label: "备注", label: "备注",
prop: "memo", prop: "memo",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: false, search: false,
@ -188,7 +190,7 @@ export default {
{ {
label: "审核状态", label: "审核状态",
prop: "approvalStatus", prop: "approvalStatus",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: true, search: true,
@ -214,7 +216,7 @@ export default {
label: "申请人", label: "申请人",
prop: "proposer", prop: "proposer",
// bind: "createMan.userName", // bind: "createMan.userName",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: true, search: true,
@ -224,7 +226,7 @@ export default {
label: "审批人", label: "审批人",
prop: "approver", prop: "approver",
// bind: "approvalMan.userName", // bind: "approvalMan.userName",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: false, search: false,
@ -233,7 +235,7 @@ export default {
{ {
label: "审批时间", label: "审批时间",
prop: "approvalTime", prop: "approvalTime",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: false, search: false,
@ -242,7 +244,7 @@ export default {
{ {
label: "处理意见", label: "处理意见",
prop: "approvalMemo", prop: "approvalMemo",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: false, search: false,
@ -263,11 +265,26 @@ export default {
woId:'', woId:'',
}; };
}, },
computed: {
...mapGetters(["permission"]),
},
created(){ created(){
this.search.approvalStatus = 2 this.search.approvalStatus = 2
this.query = this.search; this.query = this.search;
}, },
methods: { methods: {
//
sortChange({ prop, order }) {
console.log('prop----------',prop)
console.log('order----------',order)
this.query.ascs = undefined;
this.query.descs = undefined;
const orderByFieldKey = order === 'ascending' ? 'ascs' : 'descs';
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
this.query[orderByFieldKey] = orderByField;
// //
this.onLoad(this.page, this.query);
},
searchChange(params, done){ searchChange(params, done){
this.query = params; this.query = params;
this.page.currentPage = 1 this.page.currentPage = 1

@ -17,6 +17,7 @@
@refresh-change="refreshChange" @refresh-change="refreshChange"
@on-load="onLoad" @on-load="onLoad"
:row-class-name="rowCLassName" :row-class-name="rowCLassName"
@sort-change="sortChange"
> >
<template #menu-left> <template #menu-left>
<!-- <el-button type="primary" @click="materialFormPrint">领料单打印</el-button> --> <!-- <el-button type="primary" @click="materialFormPrint">领料单打印</el-button> -->
@ -24,23 +25,23 @@
<template #menu-right="{ size }"> <template #menu-right="{ size }">
<!-- 加工中 --> <!-- 加工中 -->
<el-button type="warning" @click="filterFun('3')" plain <el-button type="warning" @click="filterFun('3')" plain v-if="permission.oemOrder_processing"
>加工中</el-button >加工中</el-button
> >
<!-- 检验中 --> <!-- 检验中 -->
<el-button type="danger" @click="filterFun('4')" plain <el-button type="danger" @click="filterFun('4')" plain v-if="permission.oemOrder_inspection"
>检验中</el-button >检验中</el-button
> >
<!-- 已下达 --> <!-- 已下达 -->
<el-button type="success" @click="filterFun('2')" plain <el-button type="success" @click="filterFun('2')" plain v-if="permission.oemOrder_issued"
>已下达</el-button >已下达</el-button
> >
<!-- 已完成 --> <!-- 已完成 -->
<el-button type="success" plain @click="filterFun('15')" <el-button type="success" plain @click="filterFun('15')" v-if="permission.oemOrder_completed"
>已完成</el-button >已完成</el-button
> >
<!-- 全部 --> <!-- 全部 -->
<el-button type="primary" @click="filterFun()" plain <el-button type="primary" @click="filterFun()" plain v-if="permission.oemOrder_all"
>全部</el-button >全部</el-button
> >
</template> </template>
@ -50,21 +51,21 @@
<!-- <el-button type="primary" link @click="takeBack(scope.row)" <!-- <el-button type="primary" link @click="takeBack(scope.row)"
>领料单打印</el-button >领料单打印</el-button
> --> > -->
<el-button type="primary" link @click="changeFn(scope.row)">厂家更改</el-button> <el-button type="primary" link @click="changeFn(scope.row)" v-if="permission.oemOrder_change_factiry">厂家更改</el-button>
<!-- </template> --> <!-- </template> -->
<template <template
v-if="scope.row.approvalStatus != 2 && scope.row.runStatus < 15" v-if="scope.row.approvalStatus != 2 && scope.row.runStatus < 15"
> >
<el-button type="text" @click="takeBack(scope.row)">收回</el-button> <el-button type="text" @click="takeBack(scope.row)" v-if="permission.oemOrder_takeBack">收回</el-button>
<el-button type="text" v-if="scope.row.oemStatus == 1 " @click="turnFacInner(scope.row)" >转厂内</el-button> <el-button type="text" v-if="scope.row.oemStatus == 1 && permission.oemOrder_turnFacInner" @click="turnFacInner(scope.row)" >转厂内</el-button>
<el-button type="text" @click="inBatches(scope.row)" >分批</el-button> <el-button type="text" @click="inBatches(scope.row)" v-if="permission.oemOrder_batch">分批</el-button>
</template> </template>
<template <template
v-if="scope.row.approvalStatus != 2 && scope.row.runStatus >= 15"> v-if="scope.row.approvalStatus != 2 && scope.row.runStatus >= 15">
<!-- <span style="color: red">订单{{ scope.row.runStatusTitle }}</span> --> <!-- <span style="color: red">订单{{ scope.row.runStatusTitle }}</span> -->
<el-button type="text" @click="qualityRecords(scope.row)">质量记录</el-button> <el-button type="text" @click="qualityRecords(scope.row)" v-if="permission.oemOrder_quality">质量记录</el-button>
<el-button type="text" @click="certificate(scope.row)">合格证</el-button> <el-button type="text" @click="certificate(scope.row)" v-if="permission.oemOrder_certificate">合格证</el-button>
</template> </template>
</template> </template>
<!-- <template #virtualMac="scope"> <!-- <template #virtualMac="scope">
@ -211,14 +212,14 @@ export default {
prop: "planNumber", prop: "planNumber",
// bind: "prWorkOrder.pjYieldOrder.poCode", // bind: "prWorkOrder.pjYieldOrder.poCode",
search: false, search: false,
sortable: true, sortable: 'custom',
overHidden: true, overHidden: true,
width: 170, width: 170,
}, },
{ {
label: "订单单号", label: "订单单号",
prop: "woCode", prop: "woCode",
sortable: true, sortable: 'custom',
search: true, search: true,
overHidden: true, overHidden: true,
width: 190, width: 190,
@ -227,7 +228,7 @@ export default {
label: "零件号", label: "零件号",
prop: "partCode", prop: "partCode",
// bind: "prWorkOrder.pjYieldOrder.partCode", // bind: "prWorkOrder.pjYieldOrder.partCode",
sortable: true, sortable: 'custom',
search: true, search: true,
overHidden: true, overHidden: true,
hide: false, hide: false,
@ -238,7 +239,7 @@ export default {
label: "计划下达时间", label: "计划下达时间",
prop: "planIssuanceTime", prop: "planIssuanceTime",
// bind: "prWorkOrder.pjYieldOrder.failureTime", // bind: "prWorkOrder.pjYieldOrder.failureTime",
sortable: true, sortable: 'custom',
search: true, search: true,
overHidden: true, overHidden: true,
width: 170, width: 170,
@ -254,7 +255,7 @@ export default {
label: "镀后入库时间", label: "镀后入库时间",
prop: "postPlatingStorageTime", prop: "postPlatingStorageTime",
// bind: "prWorkOrder.putStoreTime", // bind: "prWorkOrder.putStoreTime",
sortable: true, sortable: 'custom',
search: true, search: true,
overHidden: true, overHidden: true,
width: 150, width: 150,
@ -270,7 +271,7 @@ export default {
label: "订单状态", label: "订单状态",
prop: "orderStatus", prop: "orderStatus",
// bind: 'prWorkOrder.runStatus', // bind: 'prWorkOrder.runStatus',
sortable: true, sortable: 'custom',
search: true, search: true,
overHidden: true, overHidden: true,
width: 120, width: 120,
@ -320,7 +321,7 @@ export default {
prop: "oemStatusList", prop: "oemStatusList",
type:"select", type:"select",
// bind: 'prWorkOrder.runStatus', // bind: 'prWorkOrder.runStatus',
sortable: true, sortable: 'custom',
hide: true, hide: true,
search: true, search: true,
dicData:[ dicData:[
@ -333,7 +334,7 @@ export default {
label: "订单状态", label: "订单状态",
prop: "runStatusName", prop: "runStatusName",
// bind: 'prWorkOrder.runStatus', // bind: 'prWorkOrder.runStatus',
sortable: true, sortable: 'custom',
search: false, search: false,
overHidden: true, overHidden: true,
width: 120, width: 120,
@ -378,12 +379,14 @@ export default {
label:'外协状态', label:'外协状态',
prop:"oemStatusTitle", prop:"oemStatusTitle",
search:false, search:false,
width:100,
sortable: 'custom',
}, },
{ {
label: "批次号", label: "批次号",
prop: "batchNo", prop: "batchNo",
// bind: "prWorkOrder.batchNo", // bind: "prWorkOrder.batchNo",
sortable: true, sortable: 'custom',
search: true, search: true,
overHidden: true, overHidden: true,
width: 120, width: 120,
@ -393,7 +396,7 @@ export default {
label: "产品名称", label: "产品名称",
prop: "partName", prop: "partName",
// bind: "prWorkOrder.pjYieldOrder.partName", // bind: "prWorkOrder.pjYieldOrder.partName",
sortable: true, sortable: 'custom',
search: true, search: true,
overHidden: true, overHidden: true,
width: 120, width: 120,
@ -404,7 +407,7 @@ export default {
label: "流程卡号", label: "流程卡号",
prop: "cardNo", prop: "cardNo",
// bind: "prWorkOrder.cardNo", // bind: "prWorkOrder.cardNo",
sortable: true, sortable: 'custom',
search: true, search: true,
overHidden: true, overHidden: true,
width: 120, width: 120,
@ -415,6 +418,7 @@ export default {
// bind: "prWorkOrder.mesCardNo", // bind: "prWorkOrder.mesCardNo",
display: true, display: true,
search: false, search: false,
sortable: 'custom',
overHidden: true, overHidden: true,
width: 120, width: 120,
}, },
@ -422,7 +426,7 @@ export default {
label: "镀种信息", label: "镀种信息",
prop: "plate", prop: "plate",
// bind: "prWorkOrder.pjYieldOrder.plate", // bind: "prWorkOrder.pjYieldOrder.plate",
sortable: true, sortable: 'custom',
search: true, search: true,
overHidden: true, overHidden: true,
width: 120, width: 120,
@ -431,7 +435,7 @@ export default {
label: "生产标识", label: "生产标识",
prop: "productIdent", prop: "productIdent",
// bind: "prWorkOrder.pjYieldOrder.prodIdent", // bind: "prWorkOrder.pjYieldOrder.prodIdent",
sortable: true, sortable: 'custom',
search: true, search: true,
overHidden: true, overHidden: true,
width: 120, width: 120,
@ -440,7 +444,7 @@ export default {
label: "优先级", label: "优先级",
prop: "priority", prop: "priority",
// bind: "prWorkOrder.priority", // bind: "prWorkOrder.priority",
sortable: true, sortable: 'custom',
search: true, search: true,
overHidden: true, overHidden: true,
width: 120, width: 120,
@ -479,7 +483,7 @@ export default {
label: "使用部门", label: "使用部门",
prop: "deptName", prop: "deptName",
// bind: "prWorkOrder.pjYieldOrder.useDept", // bind: "prWorkOrder.pjYieldOrder.useDept",
sortable: true, sortable: 'custom',
search: true, search: true,
overHidden: true, overHidden: true,
width: 120, width: 120,
@ -490,7 +494,7 @@ export default {
label: "数量", label: "数量",
prop: "makeQty", prop: "makeQty",
// bind: "prWorkOrder.makeQty", // bind: "prWorkOrder.makeQty",
sortable: true, sortable: 'custom',
search: false, search: false,
overHidden: true, overHidden: true,
width: 120, width: 120,
@ -499,7 +503,7 @@ export default {
label: "面积(d㎡)", label: "面积(d㎡)",
prop: "totalArea", prop: "totalArea",
// bind: "prWorkOrder.pjYieldOrder.poArea", // bind: "prWorkOrder.pjYieldOrder.poArea",
sortable: true, sortable: 'custom',
search: false, search: false,
overHidden: true, overHidden: true,
width: 120, width: 120,
@ -508,7 +512,7 @@ export default {
label: "单批次面积", label: "单批次面积",
prop: "area", prop: "area",
// bind: "prWorkOrder.batchArea", // bind: "prWorkOrder.batchArea",
sortable: true, sortable: 'custom',
search: false, search: false,
overHidden: true, overHidden: true,
width: 120, width: 120,
@ -517,7 +521,7 @@ export default {
label: "需求交期", label: "需求交期",
prop: "demandDate", prop: "demandDate",
// bind: "prWorkOrder.demandDate", // bind: "prWorkOrder.demandDate",
sortable: true, sortable: 'custom',
search: true, search: true,
type: "date", type: "date",
format: "YYYY-MM-DD", format: "YYYY-MM-DD",
@ -530,7 +534,7 @@ export default {
label: "外协代码/简称", label: "外协代码/简称",
prop: "oemCode", prop: "oemCode",
// bind: "inCustomer.codeAndName", // bind: "inCustomer.codeAndName",
sortable: true, sortable: 'custom',
search: true, search: true,
overHidden: true, overHidden: true,
width: 150, width: 150,
@ -540,7 +544,7 @@ export default {
label: "计划员", label: "计划员",
prop: "planner", prop: "planner",
// bind: "prWorkOrder.pjYieldOrder.planUser", // bind: "prWorkOrder.pjYieldOrder.planUser",
sortable: true, sortable: 'custom',
search: true, search: true,
overHidden: true, overHidden: true,
width: 120, width: 120,
@ -549,7 +553,7 @@ export default {
label: "调度员", label: "调度员",
prop: "dispatcher", prop: "dispatcher",
// bind: "prWorkOrder.dispatcher.userName", // bind: "prWorkOrder.dispatcher.userName",
sortable: true, sortable: 'custom',
search: true, search: true,
overHidden: true, overHidden: true,
width: 120, width: 120,
@ -557,7 +561,7 @@ export default {
// { // {
// label: '', // label: '',
// prop: 'memo', // prop: 'memo',
// sortable: true, // sortable: 'custom',
// search: false, // search: false,
// width: 120, // width: 120,
// }, // },
@ -565,7 +569,7 @@ export default {
label: "已交件数量", label: "已交件数量",
prop: "submittedNum", prop: "submittedNum",
// bind: 'prWorkOrder.inventoryQty', // bind: 'prWorkOrder.inventoryQty',
sortable: true, sortable: 'custom',
search: false, search: false,
overHidden: true, overHidden: true,
width: 120, width: 120,
@ -574,7 +578,7 @@ export default {
label: "未交件数量", label: "未交件数量",
prop: "unsubmittedNum", prop: "unsubmittedNum",
// bind: 'notInQty', // bind: 'notInQty',
sortable: true, sortable: 'custom',
search: false, search: false,
overHidden: true, overHidden: true,
width: 120, width: 120,
@ -582,7 +586,7 @@ export default {
{ {
label: "工艺路线", label: "工艺路线",
prop: "craftWay", prop: "craftWay",
sortable: true, sortable: 'custom',
search: false, search: false,
overHidden: true, overHidden: true,
width: 120, width: 120,
@ -620,6 +624,18 @@ export default {
}; };
}, },
methods: { methods: {
//
sortChange({ prop, order }) {
console.log('prop----------',prop)
console.log('order----------',order)
this.query.ascs = undefined;
this.query.descs = undefined;
const orderByFieldKey = order === 'ascending' ? 'ascs' : 'descs';
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
this.query[orderByFieldKey] = orderByField;
// //
this.onLoad(this.page, this.query);
},
// //
changeFn(row) { changeFn(row) {
this.worId = row.woId this.worId = row.woId

@ -18,12 +18,13 @@
@refresh-change="refreshChange" @refresh-change="refreshChange"
@on-load="onLoad" @on-load="onLoad"
:before-open="beforeOpen" :before-open="beforeOpen"
@sort-change="sortChange"
> >
<template #menu-left> <template #menu-left>
<el-button type="danger" @click="handleDelete">删除</el-button> <el-button type="danger" @click="handleDelete" v-if="permission.out_oemProcess_delete">删除</el-button>
</template> </template>
<template #menu-right> <template #menu-right>
<el-button type="primary" @click="handleImport">导入</el-button> <el-button type="primary" @click="handleImport" v-if="permission.out_oemProcess_import">导入</el-button>
</template> </template>
</avue-crud> </avue-crud>
<!-- 导入 --> <!-- 导入 -->
@ -37,6 +38,7 @@
<script> <script>
import basicImport from '@/components/basic-import/main.vue' import basicImport from '@/components/basic-import/main.vue'
import {getList,addOutProcess,updateOutProcess,deleteOutProcess} from "@/api/outsourcingManagement/oemProcess" import {getList,addOutProcess,updateOutProcess,deleteOutProcess} from "@/api/outsourcingManagement/oemProcess"
import { mapGetters } from 'vuex';
export default { export default {
components: { components: {
basicImport basicImport
@ -97,7 +99,7 @@ export default {
{ {
label: "工序编码", label: "工序编码",
prop: "oemProcessCode", prop: "oemProcessCode",
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 12, span: 12,
search: true, search: true,
@ -107,7 +109,7 @@ export default {
label: "工序", label: "工序",
prop: "processIdStr", prop: "processIdStr",
search: false, search: false,
sortable: true, // sortable: 'custom',
filter: true, filter: true,
span: 24, span: 24,
searchLabelWidth: 50, searchLabelWidth: 50,
@ -134,7 +136,7 @@ export default {
label: "工艺能力", label: "工艺能力",
prop: "craftIds", prop: "craftIds",
search: false, search: false,
sortable: true, sortable: 'custom',
filter: true, filter: true,
span: 24, span: 24,
type: "select", type: "select",
@ -157,6 +159,7 @@ export default {
label:'手动结算', label:'手动结算',
prop:"manual", prop:"manual",
type:'switch', type:'switch',
sortable: 'custom',
span: 24, span: 24,
dicData:[ dicData:[
{ {
@ -186,7 +189,32 @@ export default {
}, },
}; };
}, },
computed:{
...mapGetters(['permission']),
permissionList() {
return {
addBtn: this.validData(this.permission.out_oemProcess_add, false),
delBtn: this.validData(this.permission.out_oemProcess_delete, false),
editBtn: this.validData(this.permission.out_oemProcess_edit, false),
};
},
},
created(){
console.log('this.permission',this.permission)
},
methods: { methods: {
//
sortChange({ prop, order }) {
console.log('prop----------',prop)
console.log('order----------',order)
this.query.ascs = undefined;
this.query.descs = undefined;
const orderByFieldKey = order === 'ascending' ? 'ascs' : 'descs';
const orderByField = prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
this.query[orderByFieldKey] = orderByField;
// //
this.onLoad(this.page, this.query);
},
// //
handleImport() { handleImport() {
this.isShowImport = true this.isShowImport = true

@ -97,11 +97,11 @@ export default {
}, },
rules: { rules: {
wcId: [ wcId: [
{ required: true, message: '请选择', trigger: 'blur' }, { required: true, message: '请选择作业中心', trigger: 'blur' },
], ],
dayRange: [ // dayRange: [
{ required: true, message: '请选择', trigger: 'blur' }, // { required: true, message: '', trigger: 'blur' },
] // ]
}, },
materialNeedsData: [ materialNeedsData: [
@ -110,6 +110,8 @@ export default {
} }
}, },
mounted() { mounted() {
this.ruleForm.wcId = null
console.log('ruleForm------------',this.ruleForm)
this.getWorkCenter(); this.getWorkCenter();
}, },
methods: { methods: {
@ -120,17 +122,24 @@ export default {
}, },
async handleSearch(){ async handleSearch(){
console.log('rule------------',this.ruleForm) console.log('rule------------',this.ruleForm)
let params = { this.$refs.ruleFormRef.validate(async valid =>{
workCenterId:this.ruleForm.wcId, if(valid){
dayRange:this.ruleForm.dayRange let params = {
} workCenterId:this.ruleForm.wcId,
const res1 = await getTestValueList(params) dayRange:this.ruleForm.dayRange
const res2 = await getAddRequireList(this.ruleForm) }
this.materialNeedsData = res1.data.data try {
this.tableData = res2.data.data const res1 = await getTestValueList(params)
const res2 = await getAddRequireList(this.ruleForm)
console.log('res1------------',res1) this.materialNeedsData = res1.data.data
console.log('res2------------',res2) this.tableData = res2.data.data
console.log('res1------------',res1)
console.log('res2------------',res2)
} catch (error) {
console.log('error------------',error)
}
}
})
}, },
getSummaries (param){ getSummaries (param){
const { columns, data } = param; const { columns, data } = param;
@ -167,7 +176,10 @@ export default {
}, },
open() { open() {
this.addForm = {} this.addForm = {}
this.ruleForm = {}
console.log('11111111',this.ruleForm)
this.tableData = [] this.tableData = []
this.materialNeedsData = []
}, },
closeDialog(val) { closeDialog(val) {
this.$emit('closeDialog',val); this.$emit('closeDialog',val);

@ -184,7 +184,7 @@
></el-input> ></el-input>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="量具" prop="actMtId" align="center"> <el-table-column label="量具" prop="actMtId" align="center">
<template #header> <template #header>
<span><i style="color: red">*</i>量具</span> <span><i style="color: red">*</i>量具</span>
</template> </template>
@ -207,14 +207,15 @@
:labelCustom="true" :labelCustom="true"
:clearable="false" :clearable="false"
:debounce-time="500" :debounce-time="500"
:disabled="scope.row.checkUserRealName != null && scope.row.checkUserRealName != '' "
@change="(val,item) => changeMeasure(val,item,scope1.row)" @change="(val,item) => changeMeasure(val,item,scope1.row)"
:title="'修改'" :title="'修改'"
/> />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="尺寸" prop="ruleSize" align="center"></el-table-column> <el-table-column label="尺寸" prop="ruleSize" align="center"></el-table-column>
<el-table-column label="有效期" prop="dueDate" align="center"></el-table-column> --> <el-table-column label="有效期" prop="dueDate" align="center"></el-table-column>
<el-table-column label="尺寸" prop="ruleSize" align="center"> <!-- <el-table-column label="尺寸" prop="ruleSize" align="center">
<template #default="scope1"> <template #default="scope1">
<el-input v-model="scope1.row.ruleSize" <el-input v-model="scope1.row.ruleSize"
:disabled="scope.row.checkUserRealName != null && scope.row.checkUserRealName != '' " :disabled="scope.row.checkUserRealName != null && scope.row.checkUserRealName != '' "
@ -232,7 +233,7 @@
<el-option v-for="item in measureList" :key="item.id" :label="item.mcName" :value="item.id" /> <el-option v-for="item in measureList" :key="item.id" :label="item.mcName" :value="item.id" />
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column> -->
<el-table-column label="测量值1" prop="gaugeValue1" align="center"> <el-table-column label="测量值1" prop="gaugeValue1" align="center">
<template #default="scope1"> <template #default="scope1">
<el-input v-model="scope1.row.gaugeValue1" :disabled="scope.row.checkUserRealName != null && scope.row.checkUserRealName != '' "></el-input> <el-input v-model="scope1.row.gaugeValue1" :disabled="scope.row.checkUserRealName != null && scope.row.checkUserRealName != '' "></el-input>
@ -1101,8 +1102,10 @@ export default {
console.log('val',val) console.log('val',val)
console.log('item',item) console.log('item',item)
console.log('row',row) console.log('row',row)
row.ruleSize = val && item.norms row.actMtId = val
row.dueDate = val && item.dueDate row.actMtName = val && item && item.mcName
row.ruleSize = val && item && item.norms
row.dueDate = val && item && item.dueDate
}, },
cellClassName({ row, column, rowIndex, columnIndex }) { cellClassName({ row, column, rowIndex, columnIndex }) {

@ -393,6 +393,7 @@ export default {
teamId:res.data.data.teamId + '', teamId:res.data.data.teamId + '',
drugMaterialId:res.data.data.drugMaterialId + '', drugMaterialId:res.data.data.drugMaterialId + '',
workCenterId:res.data.data.workCenterId + '', workCenterId:res.data.data.workCenterId + '',
testUserId:res.data.data.testUserId + '',
} }
if(this.form.jobType == 1){ if(this.form.jobType == 1){
this.form = { this.form = {
@ -449,6 +450,9 @@ export default {
// //
getPersonList(){ getPersonList(){
getPerson().then(res =>{ getPerson().then(res =>{
res.data.data.map(item =>{
item.id = item.id + ''
})
this.personList = res.data.data this.personList = res.data.data
}) })
}, },

@ -75,7 +75,9 @@
format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"
:disabled="scope.row.status == 8" :disabled="scope.row.status == 8"
placeholder=""> placeholder=""
style="height: 32px;"
>
</el-date-picker> </el-date-picker>
</div> </div>
</template> </template>
@ -837,7 +839,7 @@ export default {
// margin-top: 9px; // margin-top: 9px;
} }
.el-date-editor.el-input, .el-date-editor.el-input__wrapper { .el-date-editor.el-input, .el-date-editor.el-input__wrapper .el-input__inner {
height: var(--el-input-height,var(--el-component-size)) !important; height: var(--el-input-height,var(--el-component-size)) !important;
} }

Loading…
Cancel
Save