仓库按钮权限添加

dev-scheduling
jinna 2 weeks ago
parent ff66571276
commit 9ae463e59c
  1. 51
      src/views/inboundOutboundManagement/glassCakeOutbound/index.vue
  2. 42
      src/views/inboundOutboundManagement/graphiteMoldOutbound/index.vue
  3. 43
      src/views/inboundOutboundManagement/materialIssuing.vue
  4. 54
      src/views/inboundOutboundManagement/otherIssuing/index.vue
  5. 40
      src/views/inboundOutboundManagement/otherReceiving.vue
  6. 33
      src/views/inboundOutboundManagement/pickListPrinting.vue
  7. 36
      src/views/inboundOutboundManagement/returnReceiving.vue
  8. 51
      src/views/inboundOutboundManagement/warehouseTransfer/index.vue
  9. 68
      src/views/warehouseManagement/additionalPlan/components/additionalPlan.vue
  10. 61
      src/views/warehouseManagement/additionalPlan/components/purchase.vue
  11. 50
      src/views/warehouseManagement/workwearPlan/index.vue

@ -16,18 +16,19 @@
@size-change="sizeChange"
@on-load="onLoad"
@row-save="rowSave"
@sort-change="sortChange"
>
<template #menu-left>
<!-- <el-button type="primary" @click="addFn">新增出库</el-button> -->
<el-button type="primary" @click="handleOut">打印</el-button>
<el-button type="primary" @click="outboundFn">出库</el-button>
<el-button type="danger" @click="handleDelete">删除</el-button>
<el-button type="primary" @click="handleOut" v-if="permission.glassCakeOutbound_print">打印</el-button>
<el-button type="primary" @click="outboundFn" v-if="permission.glassCakeOutbound_outStorage">出库</el-button>
<el-button type="danger" @click="handleDelete" v-if="permission.glassCakeOutbound_del">删除</el-button>
</template>
<template #menu="scope">
<el-button type="text" @click="handleEdit(scope.row)" v-if="scope.row.curStatus == 0"
<el-button type="text" @click="handleEdit(scope.row)" v-if="scope.row.curStatus == 0 && permission.glassCakeOutbound_edit"
>修改</el-button
>
<el-button type="text" @click="handleScrap(scope.row)" v-if="scope.row.curStatus == 1"
<el-button type="text" @click="handleScrap(scope.row)" v-if="scope.row.curStatus == 1 && permission.glassCakeOutbound_scrap"
>报废
</el-button>
</template>
@ -97,6 +98,7 @@ import addOut from './components/addDialog.vue';
import detailsDialog from './components/detailsDialog.vue';
import outboundDialog from './components/outboundDialog.vue';
import { getUserByRoleAlias } from '@/api/storeManagement/warehouseMaintenance';
import { mapGetters } from 'vuex';
export default {
components: {
addOut,
@ -188,12 +190,14 @@ export default {
label: '出库单号',
prop: 'outCode',
search: false,
sortable: 'custom',
width: 150,
},
{
label: '生产单号',
prop: 'yoCode',
search: true,
sortable: 'custom',
order: 2,
width: 150,
},
@ -201,24 +205,28 @@ export default {
label: '零件号',
prop: 'partCode',
search: false,
sortable: 'custom',
width: 150,
},
{
label: '零件名称',
prop: 'partName',
search: false,
sortable: 'custom',
width: 150,
},
{
label: '批次号',
prop: 'piNo',
search: false,
sortable: 'custom',
width: 150,
},
{
label: '流程卡号',
prop: 'cardNo',
search: true,
sortable: 'custom',
width: 150,
order: 5,
},
@ -226,6 +234,7 @@ export default {
label: '生产数量',
prop: 'quantity',
search: false,
sortable: 'custom',
width: 120,
},
@ -234,36 +243,42 @@ export default {
prop: 'goodsCode',
search: true,
width: 150,
sortable: 'custom',
order: 4,
},
{
label: '物料名称',
prop: 'goodsName',
search: false,
sortable: 'custom',
width: 150,
},
{
label: '物料需求数量',
prop: 'requireQty',
search: false,
sortable: 'custom',
width: 120,
},
{
label: '库房',
prop: 'shName',
search: false,
sortable: 'custom',
width: 120,
},
{
label: '库位',
prop: 'location',
search: false,
sortable: 'custom',
width: 120,
},
{
label: '是否印字',
prop: 'printMark',
search: false,
sortable: 'custom',
width: 120,
type: 'select',
dicData: [
@ -281,30 +296,35 @@ export default {
label: '粉重',
prop: 'powderWeight',
search: false,
sortable: 'custom',
width: 120,
},
{
label: '材料号',
prop: 'materialNo',
search: false,
sortable: 'custom',
width: 120,
},
{
label: '成型厚度',
prop: 'thickness',
search: false,
sortable: 'custom',
width: 120,
},
{
label: '炉批号',
prop: 'stovePiNo',
search: false,
sortable: 'custom',
width: 120,
},
{
label: '已出库数量',
prop: 'outQty',
search: false,
sortable: 'custom',
width: 120,
},
// {
@ -320,6 +340,7 @@ export default {
search: true,
width: 120,
order: 3,
sortable: 'custom',
searchLabelWidth: 60,
type: 'select',
dicData: [
@ -347,6 +368,7 @@ export default {
search: true,
width: 120,
searchLabelWidth: 100,
sortable: 'custom',
hide: true,
format: 'YYYY-MM-DD',
valueFormat: 'YYYY-MM-DD',
@ -365,6 +387,7 @@ export default {
label: '创建时间',
prop: 'createTime',
search: false,
sortable: 'custom',
width: 180,
type: 'datetime',
},
@ -372,12 +395,14 @@ export default {
label: '创建人',
prop: 'createUserName',
search: false,
sortable: 'custom',
width: 120,
},
{
label: '出库时间',
prop: 'outTime',
search: false,
sortable: 'custom',
width: 180,
type: 'datetime',
},
@ -385,12 +410,14 @@ export default {
label: '出库人',
prop: 'outUserName',
search: false,
sortable: 'custom',
width: 120,
},
{
label: '领料人',
prop: 'pickerName',
search: false,
sortable: 'custom',
width: 120,
},
],
@ -403,6 +430,9 @@ export default {
approverList: [], //
};
},
computed: {
...mapGetters(['permission']),
},
mounted() {
this.getApproverList();
if (JSON.stringify(this.$store.state.client.pieOutParams) !== '{}') {
@ -411,6 +441,17 @@ export default {
}
},
methods: {
//
sortChange({ prop, order }) {
this.query.descs = undefined;
this.query.ascs = undefined;
let orderByFieldKey = order === 'descending' ? 'descs' : 'ascs';
this.query[orderByFieldKey] = !prop
? undefined
: prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
//
this.onLoad(this.page, this.query);
},
getApproverList() {
getUserByRoleAlias({ roleAlias: 'sj_craft' }).then(res => {
this.approverList = res.data.data;

@ -16,17 +16,18 @@
@size-change="sizeChange"
@on-load="onLoad"
@row-save="rowSave"
@sort-change="sortChange"
>
<template #menu-left>
<el-button type="primary" @click="handleOut">打印</el-button>
<el-button type="primary" @click="outboundFn">出库</el-button>
<el-button type="danger" @click="handleDelete">删除</el-button>
<el-button type="primary" @click="handleOut" v-if="permission.graphiteMoldOutbound_print">打印</el-button>
<el-button type="primary" @click="outboundFn" v-if="permission.graphiteMoldOutbound_outStorage">出库</el-button>
<el-button type="danger" @click="handleDelete" v-if="permission.graphiteMoldOutbound_del">删除</el-button>
</template>
<template #menu="scope">
<el-button type="text" @click="handleEdit(scope.row)" v-if="scope.row.curStatus == 0"
<el-button type="text" @click="handleEdit(scope.row)" v-if="scope.row.curStatus == 0 && permission.graphiteMoldOutbound_edit"
>修改</el-button
>
<el-button type="text" @click="handleScrap(scope.row)" v-if="scope.row.curStatus == 1"
<el-button type="text" @click="handleScrap(scope.row)" v-if="scope.row.curStatus == 1 && permission.graphiteMoldOutbound_scrap"
>报废
</el-button>
</template>
@ -89,6 +90,7 @@ import { getList, scrapOut, delIssue } from '@/api/storeManagement/graphiteMoldO
import addOut from './components/addDialog.vue';
import outboundDialog from './components/outboundDialog.vue';
import { getUserByRoleAlias } from '@/api/storeManagement/warehouseMaintenance';
import { mapGetters } from 'vuex';
export default {
components: {
addOut,
@ -180,24 +182,28 @@ export default {
prop: 'outCode',
search: false,
width: 150,
sortable: 'custom',
},
{
label: '生产单号',
prop: 'yoCode',
search: true,
order: 2,
sortable: 'custom',
width: 150,
},
{
label: '批次号',
prop: 'piNo',
search: false,
sortable: 'custom',
width: 150,
},
{
label: '流程卡号',
prop: 'cardNo',
search: true,
sortable: 'custom',
width: 150,
order: 5,
},
@ -208,6 +214,7 @@ export default {
prop: 'goodsCode',
search: true,
width: 150,
sortable: 'custom',
order: 4,
},
{
@ -215,29 +222,34 @@ export default {
prop: 'goodsName',
search: false,
width: 150,
sortable: 'custom',
},
{
label: '物料需求数量',
prop: 'needQuantity',
search: false,
sortable: 'custom',
width: 120,
},
{
label: '库房',
prop: 'shName',
search: false,
sortable: 'custom',
width: 120,
},
{
label: '库位',
prop: 'location',
search: false,
sortable: 'custom',
width: 120,
},
{
label: '已出库数量',
prop: 'outedQuantity',
search: false,
sortable: 'custom',
width: 120,
},
{
@ -247,6 +259,7 @@ export default {
width: 120,
order: 3,
searchLabelWidth: 60,
sortable: 'custom',
type: 'select',
dicData: [
{
@ -265,17 +278,20 @@ export default {
search: false,
width: 180,
type: 'datetime',
sortable: 'custom',
},
{
label: '创建人',
prop: 'createUserName',
search: false,
sortable: 'custom',
width: 120,
},
{
label: '出库时间',
prop: 'outTime',
search: false,
sortable: 'custom',
width: 180,
type: 'datetime',
},
@ -283,12 +299,14 @@ export default {
label: '出库人',
prop: 'outUserName',
search: false,
sortable: 'custom',
width: 120,
},
{
label: '领料人',
prop: 'pickerName',
search: false,
sortable: 'custom',
width: 120,
},
],
@ -301,6 +319,9 @@ export default {
approverList: [], //
};
},
computed: {
...mapGetters(['permission']),
},
mounted() {
this.getApproverList();
if (JSON.stringify(this.$store.state.client.pieOutParams) !== '{}') {
@ -309,6 +330,17 @@ export default {
}
},
methods: {
//
sortChange({ prop, order }) {
this.query.descs = undefined;
this.query.ascs = undefined;
let orderByFieldKey = order === 'descending' ? 'descs' : 'ascs';
this.query[orderByFieldKey] = !prop
? undefined
: prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
//
this.onLoad(this.page, this.query);
},
getApproverList() {
getUserByRoleAlias({ roleAlias: 'sj_craft' }).then(res => {
this.approverList = res.data.data;

@ -18,6 +18,7 @@
@refresh-change="refreshChange"
@on-load="onLoad"
@row-save="rowSave"
@sort-change="sortChange"
>
<template #menu-left>
<el-input
@ -26,15 +27,15 @@
@keyup.enter.native="changeCode"
placeholder="请扫描提请单号"
/>
<el-button type="primary" @click="handleOut">出库</el-button>
<el-button type="primary" @click="handleOut" v-if="permission.materialIssuing_outStorage">出库</el-button>
</template>
<template #menu="scope">
<el-button type="text" @click="outRow(scope.row)">出库</el-button>
<el-button type="text" @click="completeRow(scope.row)">完成</el-button>
<el-button type="text" @click="deleteRow(scope.row)">删除</el-button>
<el-button type="text" @click="outRow(scope.row)" v-if="permission.materialIssuing_outStorage">出库</el-button>
<el-button type="text" @click="completeRow(scope.row)" v-if="permission.materialIssuing_finish">完成</el-button>
<el-button type="text" @click="deleteRow(scope.row)" v-if="permission.materialIssuing_del">删除</el-button>
</template>
<template #location="scope">
<el-button type="text" @click="editRow(scope.row, scope.row.$index)">{{
<el-button type="text" @click="editRow(scope.row, scope.row.$index)" :disabled="!permission.materialIssuing_selectHouse">{{
scope.row.location == '' || scope.row.location == null ? '请选择库位' : scope.row.location
}}</el-button>
</template>
@ -58,6 +59,7 @@ import {
batchIssue,
} from '@/api/storeManagement/materialIssuing';
import editMaterial from './components/editMaterial.vue';
import { mapGetters } from 'vuex';
export default {
components: {
editMaterial,
@ -128,6 +130,7 @@ export default {
prop: 'crCode',
span: 8,
overflow: true,
sortable: 'custom',
search: false,
width: 160,
},
@ -136,6 +139,7 @@ export default {
prop: 'goodsCode',
span: 8,
overflow: true,
// sortable: 'custom',
search: true,
width: 160,
},
@ -145,6 +149,7 @@ export default {
span: 8,
overflow: true,
width: 120,
sortable: 'custom',
search: true,
},
{
@ -152,6 +157,7 @@ export default {
prop: 'location',
span: 8,
overflow: true,
sortable: 'custom',
width: 120,
search: false,
},
@ -161,6 +167,7 @@ export default {
span: 8,
overflow: true,
width: 120,
sortable: 'custom',
search: false,
},
{
@ -169,6 +176,7 @@ export default {
span: 8,
overflow: true,
width: 120,
sortable: 'custom',
search: false,
},
{
@ -177,6 +185,7 @@ export default {
span: 8,
overflow: true,
width: 120,
sortable: 'custom',
search: false,
},
{
@ -185,6 +194,7 @@ export default {
span: 8,
overflow: true,
width: 120,
sortable: 'custom',
search: false,
},
{
@ -194,11 +204,13 @@ export default {
width: 100,
overflow: true,
search: false,
sortable: 'custom',
},
{
label: '规格',
prop: 'specifications',
span: 8,
sortable: 'custom',
overflow: true,
search: false,
width: 100,
@ -208,6 +220,7 @@ export default {
prop: 'checkCode',
span: 8,
overflow: true,
sortable: 'custom',
width: 150,
search: false,
},
@ -216,6 +229,7 @@ export default {
label: '总库存',
prop: 'currentStock',
width: 100,
// sortable: 'custom',
span: 8,
overflow: true,
search: false,
@ -226,11 +240,13 @@ export default {
prop: 'quantity',
span: 8,
overflow: true,
// sortable: 'custom',
search: false,
},
{
label: '计量单位',
prop: 'unitName',
sortable: 'custom',
width: 100,
span: 8,
overflow: true,
@ -242,6 +258,7 @@ export default {
prop: 'pendingApplyQty',
span: 8,
overflow: true,
// sortable: 'custom',
width: 100,
search: false,
},
@ -250,6 +267,7 @@ export default {
prop: 'outQuantity',
span: 8,
overflow: true,
// sortable: 'custom',
width: 100,
search: false,
},
@ -259,6 +277,7 @@ export default {
prop: 'memo',
span: 8,
overflow: true,
sortable: 'custom',
search: false,
width: 130,
},
@ -267,6 +286,9 @@ export default {
searchForm: {},
};
},
computed: {
...mapGetters(['permission']),
},
created() {
if (JSON.stringify(this.$store.state.client.exchangeOutParams) !== '{}') {
this.query = this.$store.state.client.exchangeOutParams;
@ -274,6 +296,17 @@ export default {
}
},
methods: {
//
sortChange({ prop, order }) {
this.query.descs = undefined;
this.query.ascs = undefined;
let orderByFieldKey = order === 'descending' ? 'descs' : 'ascs';
this.query[orderByFieldKey] = !prop
? undefined
: prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
//
this.onLoad(this.page, this.query);
},
changeCode(val) {
if (this.checkCode == '') return;
this.query.crCode = this.checkCode;

@ -17,6 +17,7 @@
@refresh-change="refreshChange"
@on-load="onLoad"
:before-open="beforeOpen"
@sort-change="sortChange"
>
<template #menu-left>
<el-input
@ -25,14 +26,14 @@
style="width: 240px; margin-right: 24px"
placeholder="请扫描条形码"
/>
<el-button type="primary" @click="addView()">新增</el-button>
<el-button type="primary" @click="addView()" v-if="permission.otherIssuing_add">新增</el-button>
</template>
<template #menu-right> </template>
<template #menu="scope">
<el-button type="text" @click="handeDetails(scope.row)">详情</el-button>
<el-button type="text" @click="handeDetails(scope.row)" v-if="permission.otherIssuing_detail">详情</el-button>
<el-button
type="text"
v-if="scope.row.approvalStatus === 0"
v-if="scope.row.approvalStatus === 0 && permission.otherIssuing_approval"
@click="handeExamine(scope.row)"
>审批</el-button
>
@ -74,6 +75,7 @@
import { getList, getDetail, approve } from '@/api/storeManagement/otherIssuing';
import otherIssuingDailog from './otherIssuingDailog.vue';
import detailsDialog from './detailsDialog.vue';
import { mapGetters } from 'vuex';
export default {
components: {
otherIssuingDailog,
@ -141,7 +143,7 @@ export default {
label: '出库单号',
prop: 'sirCode',
// bind: "stAccBill.billCode",
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
search: true,
@ -152,7 +154,7 @@ export default {
prop: 'inOutDate',
// bind: "stAccBill.billDate",
search: true,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 180,
@ -167,7 +169,7 @@ export default {
label: '出库仓库',
prop: 'shName',
search: true,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 180,
@ -177,7 +179,7 @@ export default {
prop: 'outType',
type: 'select',
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 110,
@ -199,7 +201,7 @@ export default {
prop: 'inOutReason',
type: 'select',
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 180,
@ -247,7 +249,7 @@ export default {
label: '领料人',
prop: 'pickerName',
search: true,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 100,
@ -256,7 +258,7 @@ export default {
label: '制单人',
prop: 'createUserName',
search: false,
sortable: true,
// sortable: 'custom',
filter: true,
span: 12,
width: 100,
@ -265,7 +267,7 @@ export default {
label: '工装编号',
prop: 'toolCode',
search: false,
sortable: true,
// sortable: 'custom',
filter: true,
span: 12,
display: false,
@ -275,7 +277,7 @@ export default {
label: '报废单号',
prop: 'bfCode',
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
display: false,
@ -285,7 +287,7 @@ export default {
label: '关联车间订单号',
prop: 'woCode',
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
display: false,
@ -295,7 +297,7 @@ export default {
label: '审批状态',
prop: 'approvalStatus',
search: false,
sortable: true,
// sortable: 'custom',
filter: true,
span: 12,
display: false,
@ -322,7 +324,7 @@ export default {
label: '审批人',
prop: 'approverName',
search: false,
sortable: true,
// sortable: 'custom',
filter: true,
span: 12,
display: false,
@ -332,7 +334,7 @@ export default {
label: '审批时间',
prop: 'approvalTime',
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
display: false,
@ -345,7 +347,7 @@ export default {
// bind: "scrapReason",
search: false,
type: 'select',
sortable: true,
sortable: 'custom',
// /**
// *
// */
@ -373,7 +375,7 @@ export default {
label: '提请单号',
prop: 'crCode',
// bind: "stAccBill.billCode",
sortable: true,
// sortable: 'custom',
filter: true,
span: 12,
search: true,
@ -383,7 +385,7 @@ export default {
label: '备注',
prop: 'memo',
search: false,
sortable: true,
// sortable: 'custom',
filter: true,
span: 12,
display: false,
@ -405,6 +407,9 @@ export default {
openType:''
};
},
computed: {
...mapGetters(['permission']),
},
created() {
if (JSON.stringify(this.$store.state.client.otherOutParams) !== '{}') {
this.query = this.$store.state.client.otherOutParams;
@ -412,6 +417,17 @@ export default {
}
},
methods: {
//
sortChange({ prop, order }) {
this.query.descs = undefined;
this.query.ascs = undefined;
let orderByFieldKey = order === 'descending' ? 'descs' : 'ascs';
this.query[orderByFieldKey] = !prop
? undefined
: prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
//
this.onLoad(this.page, this.query);
},
addView() {
this.openShow = true;
this.openType = '新增'

@ -4,12 +4,13 @@
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:search="searchForm" v-model:page="page" ref="crud"
@search-change="searchChange" @search-reset="searchReset" :before-open="beforeOpen"
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
@refresh-change="refreshChange" @on-load="onLoad" @row-save="rowSave">
@refresh-change="refreshChange" @on-load="onLoad" @row-save="rowSave"
@sort-change="sortChange">
<template #menu-right>
<el-button type="primary" @click="handleImport">导入</el-button>
<el-button type="primary" @click="handleImport" v-if="permission.otherReceiving_import">导入</el-button>
</template>
<template #menu-left>
<el-button type="primary" @click="handleAdd">新增</el-button>
<el-button type="primary" @click="handleAdd" v-if="permission.otherReceiving_add">新增</el-button>
</template>
<!-- <template #goodsCode="{ row }">{{ row.goods.goodsCode }}</template>
@ -36,6 +37,7 @@
import {getOtherInList} from '@/api/storeManagement/otherReceiving'
import addEditDialog from './components/addEditDialog.vue'
import basicImport from '@/components/basic-import/main.vue'
import { mapGetters } from 'vuex';
export default {
components: {
addEditDialog,
@ -105,6 +107,7 @@ export default {
overflow: true,
search: true,
hide: false,
sortable: 'custom',
order: 17,
width: 140,
rules: [
@ -121,6 +124,7 @@ export default {
span: 8,
overflow: true,
search: true,
sortable: 'custom',
width: 140,
rules: [
{
@ -136,6 +140,7 @@ export default {
span: 8,
overflow: true,
search: false,
sortable: 'custom',
width: 140,
rules: [
{
@ -151,6 +156,7 @@ export default {
span: 8,
overflow: true,
search: false,
sortable: 'custom',
width: 140,
rules: [
{
@ -166,6 +172,7 @@ export default {
span: 8,
overflow: true,
search: false,
sortable: 'custom',
width: 140,
rules: [
{
@ -181,6 +188,7 @@ export default {
span: 8,
overflow: true,
search: false,
sortable: 'custom',
width: 140,
rules: [
{
@ -196,6 +204,7 @@ export default {
span: 8,
overflow: true,
search: false,
sortable: 'custom',
width: 140,
rules: [
{
@ -211,6 +220,7 @@ export default {
span: 8,
overflow: true,
search: false,
sortable: 'custom',
width: 140,
rules: [
{
@ -229,6 +239,7 @@ export default {
span: 8,
overflow: true,
search: false,
sortable: 'custom',
width: 140,
rules: [
{
@ -244,6 +255,7 @@ export default {
span: 8,
overflow: true,
search: false,
sortable: 'custom',
width: 140,
rules: [
{
@ -261,6 +273,7 @@ export default {
editDisplay: false,
overflow: true,
search: false,
sortable: 'custom',
width: 140,
rules: [
{
@ -277,6 +290,7 @@ export default {
order: 15,
span: 8,
overflow: true,
sortable: 'custom',
search: true,
width: 140,
rules: [
@ -299,6 +313,7 @@ export default {
editDisplay: false,
overflow: true,
search: false,
sortable: 'custom',
width: 140,
rules: [
{
@ -330,6 +345,7 @@ export default {
span: 8,
overflow: true,
search: false,
sortable: 'custom',
width: 140,
rules: [
{
@ -345,6 +361,7 @@ export default {
span: 8,
overflow: true,
search: false,
sortable: 'custom',
width: 140,
rules: [
{
@ -362,6 +379,7 @@ export default {
span: 8,
overflow: true,
search: true,
// sortable: 'custom',
width: 140,
rules: [
{
@ -389,6 +407,7 @@ export default {
order: 16,
overflow: true,
search: true,
sortable: 'custom',
width: 140,
rules: [
{
@ -406,6 +425,7 @@ export default {
order: 13,
overflow: true,
search: true,
sortable: 'custom',
width: 140,
rules: [
{
@ -433,6 +453,9 @@ export default {
moldAddMore: false,
}
},
computed: {
...mapGetters(['permission']),
},
created() {
console.log('otherInParams--------',this.$store.state.client.otherInParams)
if (JSON.stringify(this.$store.state.client.otherInParams) !== "{}") {
@ -441,6 +464,17 @@ export default {
}
},
methods: {
//
sortChange({ prop, order }) {
this.query.descs = undefined;
this.query.ascs = undefined;
let orderByFieldKey = order === 'descending' ? 'descs' : 'ascs';
this.query[orderByFieldKey] = !prop
? undefined
: prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
//
this.onLoad(this.page, this.query);
},
searchChange(params, done){
this.query = params
this.page.currentPage = 1;

@ -18,15 +18,20 @@
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
@sort-change="sortChange"
>
<template #menu="scope">
<!-- <el-button type="text" @click="showDetail(scope.row)">详情</el-button> -->
</template>
<template #menu-left>
<el-button type="primary" :disabled="selectionList.length == 0 || selectionList.length > 1" @click="printRequisition"
<el-button type="primary" :disabled="selectionList.length == 0 || selectionList.length > 1"
v-if="permission.pickListPrinting_printRequisition"
@click="printRequisition"
>领用单打印</el-button
>
<el-button type="primary" :disabled="selectionList.length == 0 || selectionList.length > 1" @click="printDetail"
<el-button type="primary" :disabled="selectionList.length == 0 || selectionList.length > 1"
v-if="permission.pickListPrinting_printRequisitionDetail"
@click="printDetail"
>领用单明细打印</el-button
>
</template>
@ -84,6 +89,7 @@
</template>
<script>
import {getList,getRequisition} from "@/api/storeManagement/pickListPrinting.js"
import { mapGetters } from 'vuex';
export default {
data() {
return {
@ -153,6 +159,7 @@ export default {
labelWidth: 140,
overflow: true,
search: true,
sortable: 'custom',
rules: [
{
required: true,
@ -168,6 +175,7 @@ export default {
labelWidth: 140,
overflow: true,
search: true,
sortable: 'custom',
rules: [
{
required: true,
@ -183,6 +191,7 @@ export default {
labelWidth: 140,
overflow: true,
search: true,
sortable: 'custom',
rules: [
{
required: true,
@ -198,6 +207,7 @@ export default {
labelWidth: 140,
overflow: true,
search: false,
sortable: 'custom',
rules: [
{
required: true,
@ -213,6 +223,7 @@ export default {
labelWidth: 140,
overflow: true,
search: false,
sortable: 'custom',
rules: [
{
required: true,
@ -228,6 +239,7 @@ export default {
labelWidth: 140,
overflow: true,
search: false,
sortable: 'custom',
rules: [
{
required: true,
@ -243,6 +255,7 @@ export default {
labelWidth: 140,
overflow: true,
search: true,
sortable: 'custom',
rules: [
{
required: true,
@ -258,6 +271,7 @@ export default {
labelWidth: 140,
overflow: true,
search: true,
sortable: 'custom',
rules: [
{
required: true,
@ -273,6 +287,7 @@ export default {
labelWidth: 140,
overflow: true,
search: true,
sortable: 'custom',
rules: [
{
required: true,
@ -285,8 +300,22 @@ export default {
},
};
},
computed: {
...mapGetters(['permission']),
},
mounted() {},
methods: {
//
sortChange({ prop, order }) {
this.query.descs = undefined;
this.query.ascs = undefined;
let orderByFieldKey = order === 'descending' ? 'descs' : 'ascs';
this.query[orderByFieldKey] = !prop
? undefined
: prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
//
this.onLoad(this.page, this.query);
},
//
selectionChange(val) {
this.selectionList = val;

@ -14,6 +14,7 @@
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
@sort-change="sortChange"
>
<template #menu-left>
<span style="font-size: 12px; color: #606266">物料编号</span>
@ -24,7 +25,7 @@
></el-input>
</template>
<template #menu="scope">
<el-button type="text" @click="warehousing(scope.row)"> 入库</el-button>
<el-button type="text" @click="warehousing(scope.row)" v-if="permission.returnReceiving_inStorage"> 入库</el-button>
</template>
<!-- 入库数量 -->
<template #pushQuantity="{ row }">
@ -67,6 +68,7 @@ import {
addIssue,
} from '@/api/storeManagement/returnReceiving';
import { getLocationList } from '@/api/storeManagement/warehouseMaintenance';
import { mapGetters } from 'vuex';
export default {
data() {
return {
@ -140,12 +142,15 @@ export default {
overflow: true,
search: false,
width: 160,
sortable: 'custom',
},
{
label: '材料名称',
prop: 'prtdesc',
span: 24,
overflow: true,
sortable: 'custom',
width: 120,
search: true,
},
{
@ -154,19 +159,24 @@ export default {
span: 24,
overflow: true,
search: false,
sortable: 'custom',
},
{
label: '生产标识',
prop: 'prtlotno',
span: 24,
overflow: true,
width: 120,
search: false,
sortable: 'custom',
},
{
label: '出库单号',
prop: 'invadjCode',
span: 24,
overflow: true,
sortable: 'custom',
width: 160,
search: false,
},
{
@ -174,6 +184,8 @@ export default {
prop: 'invysqty',
span: 24,
overflow: true,
sortable: 'custom',
width: 120,
search: false,
},
{
@ -182,6 +194,7 @@ export default {
span: 24,
overflow: true,
search: false,
// sortable: 'custom',
width: 140,
},
{
@ -190,6 +203,7 @@ export default {
span: 24,
overflow: true,
search: false,
// sortable: 'custom',
width: 140,
},
{
@ -198,6 +212,7 @@ export default {
span: 24,
overflow: true,
search: false,
// sortable: 'custom',
width: 140,
},
{
@ -205,6 +220,7 @@ export default {
prop: 'invadjMoney',
span: 24,
overflow: true,
sortable: 'custom',
search: false,
},
{
@ -212,10 +228,13 @@ export default {
prop: 'prtum',
span: 24,
overflow: true,
sortable: 'custom',
search: false,
},
{
label: '到期日期',
sortable: 'custom',
width: 120,
prop: 'validdat',
},
{
@ -224,12 +243,16 @@ export default {
width: 150,
search: false,
sortable: true,
sortable: 'custom',
overHidden: true,
},
],
},
};
},
computed: {
...mapGetters(['permission']),
},
mounted() {
this.getWare();
if (JSON.stringify(this.$store.state.client.materialInParams) !== '{}') {
@ -238,6 +261,17 @@ export default {
}
},
methods: {
//
sortChange({ prop, order }) {
this.query.descs = undefined;
this.query.ascs = undefined;
let orderByFieldKey = order === 'descending' ? 'descs' : 'ascs';
this.query[orderByFieldKey] = !prop
? undefined
: prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
//
this.onLoad(this.page, this.query);
},
searchChange(params, done) {
this.query = params;
this.page.currentPage = 1;

@ -15,11 +15,12 @@
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
@sort-change="sortChange"
>
<template #menu-left> </template>
<template #menu-right> </template>
<template #menu="scope">
<el-button type="text" @click="warehousing(scope.row)"> 入库 </el-button>
<el-button type="text" @click="warehousing(scope.row)" v-if="permission.warehouseTransfer_inStorage"> 入库 </el-button>
</template>
<!-- 入库数量 -->
@ -69,7 +70,7 @@ import {
getLocationData,
addIssue,
} from '@/api/storeManagement/warehouseTransfer';
import { mapGetters } from 'vuex';
export default {
data() {
return {
@ -104,30 +105,44 @@ export default {
menuAlign: 'center',
showOverflowTooltip: true,
column: [
{ label: '出库单号', prop: 'outCode', search: true, width: 120 },
{ label: '材料编号', prop: 'goodsCode', search: true, width: 180 },
{ label: '出库数量', prop: 'outQuantity', width: 120 },
{ label: '出库人', prop: 'checkUser', width: 120 },
{ label: '入库数量', prop: 'putQuantity', width: 140 },
{ label: '入库库房', prop: 'shId', width: 140 },
{ label: '入库库位', prop: 'location', width: 140 },
{ label: '材料名称', prop: 'goodsName', search: true, width: 120 },
{ label: '物料规格', prop: 'specifications', width: 120 },
{ label: '型号/牌号', prop: 'materialModel', width: 120 },
{ label: '单位', prop: 'unitName', width: 120 },
{ label: '批次号', prop: 'batchCode', search: true, width: 120 },
{ label: '炉批号', prop: 'prtWoCode', width: 120 },
{ label: '单价', prop: 'unitPrice', width: 120 },
{ label: '检验编号', prop: 'checkCode', search: true, width: 120 },
{ label: '到期日期', prop: 'scrapCycle', width: 120 },
{ label: '出库单号', prop: 'outCode', search: true, width: 120,sortable: 'custom', },
{ label: '材料编号', prop: 'goodsCode', search: true, width: 180,sortable: 'custom', },
{ label: '出库数量', prop: 'outQuantity', width: 120,sortable: 'custom', },
{ label: '出库人', prop: 'checkUser', width: 120,sortable: 'custom', },
{ label: '入库数量', prop: 'putQuantity', width: 140,sortable: 'custom', },
{ label: '入库库房', prop: 'shId', width: 140,sortable: 'custom', },
{ label: '入库库位', prop: 'location', width: 140,sortable: 'custom', },
{ label: '材料名称', prop: 'goodsName', search: true, width: 120,sortable: 'custom', },
{ label: '物料规格', prop: 'specifications', width: 120,sortable: 'custom', },
{ label: '型号/牌号', prop: 'materialModel', width: 120,sortable: 'custom', },
{ label: '单位', prop: 'unitName', width: 120,sortable: 'custom', },
{ label: '批次号', prop: 'batchCode', search: true, width: 120,sortable: 'custom', },
{ label: '炉批号', prop: 'prtWoCode', width: 120,sortable: 'custom', },
{ label: '单价', prop: 'unitPrice', width: 120,sortable: 'custom', },
{ label: '检验编号', prop: 'checkCode', search: true, width: 120, },
{ label: '到期日期', prop: 'scrapCycle', width: 120,sortable: 'custom', },
],
},
};
},
computed: {
...mapGetters(['permission']),
},
created() {
this.getWare();
},
methods: {
//
sortChange({ prop, order }) {
this.query.descs = undefined;
this.query.ascs = undefined;
let orderByFieldKey = order === 'descending' ? 'descs' : 'ascs';
this.query[orderByFieldKey] = !prop
? undefined
: prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
//
this.onLoad(this.page, this.query);
},
async onLoad() {
this.loading = true;
try {

@ -15,19 +15,20 @@
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
@sort-change="sortChange"
>
<template #menu-left>
<el-button type="primary" @click="handleAdd">新增 </el-button>
<el-button type="primary" @click="handleImport">批量发送 </el-button>
<el-button type="primary" @click="handleAdd" v-if="permission.additionalPlan_add">新增 </el-button>
<el-button type="primary" @click="handleImport" v-if="permission.additionalPlan_batchSend">批量发送 </el-button>
</template>
<template #menu="{ row }">
<el-button type="text" @click="approvalRow(row)" v-if="row.approvalStatus == 0"
<el-button type="text" @click="approvalRow(row)" v-if="row.approvalStatus == 0 && permission.additionalPlan_approval"
>一级审批</el-button
>
<el-button type="text" @click="approvalSecondRow(row)" v-if="row.approvalStatus == 1"
<el-button type="text" @click="approvalSecondRow(row)" v-if="row.approvalStatus == 1 && permission.additionalPlan_approvalSecond"
>二级审批</el-button
>
<el-button type="text" @click="delRow(row)" v-if="row.approvalStatus == 0">删除</el-button>
<el-button type="text" @click="delRow(row)" v-if="row.approvalStatus == 0 && permission.additionalPlan_del">删除</el-button>
</template>
<template #menu-right> </template>
</avue-crud>
@ -64,6 +65,7 @@
<script>
import addEditDialog from './addEditDialog.vue';
import { getList, batchSend, approve, del } from '@/api/storeManagement/additionalPlan';
import { mapGetters } from 'vuex';
export default {
components: {
addEditDialog,
@ -133,7 +135,7 @@ export default {
label: 'MES采购单号',
prop: 'boCode',
search: true,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -144,7 +146,7 @@ export default {
label: '物料编号',
prop: 'goodsCode',
search: true,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 180,
@ -154,7 +156,7 @@ export default {
label: '物料名称',
prop: 'goodsName',
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -163,7 +165,7 @@ export default {
label: '型号/牌号',
prop: 'mtltmrk',
search: false,
sortable: true,
// sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -172,7 +174,7 @@ export default {
label: '物料规格',
prop: 'specifications',
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -181,7 +183,7 @@ export default {
label: '采购数量',
prop: 'buyQty',
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -190,7 +192,7 @@ export default {
label: '单位',
prop: 'unitName',
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -199,7 +201,7 @@ export default {
label: '生产标识',
prop: 'grade',
search: false,
sortable: true,
// sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -208,7 +210,7 @@ export default {
label: '需求日期',
prop: 'needDate',
search: true,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -224,7 +226,7 @@ export default {
label: '备注',
prop: 'memo',
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -233,7 +235,7 @@ export default {
label: '采购部门',
prop: 'purchaseDeptName',
search: false,
sortable: true,
// sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -242,7 +244,7 @@ export default {
label: '需求部门',
prop: 'requireDeptName',
search: true,
sortable: true,
// sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -253,7 +255,7 @@ export default {
prop: 'batchStatus',
type: 'select',
search: true,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -273,7 +275,7 @@ export default {
prop: 'pickStatus',
type: 'select',
search: true,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -289,7 +291,7 @@ export default {
label: '申报人',
prop: 'declareManName',
search: true,
sortable: true,
// sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -299,7 +301,7 @@ export default {
label: '采购员',
prop: 'buyManName',
search: true,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -308,7 +310,7 @@ export default {
label: '申报日期',
prop: 'declareDate',
search: true,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
format: 'YYYY-MM-DD',
@ -324,7 +326,7 @@ export default {
label: '采购周期(天)',
prop: 'buyCycle',
search: true,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -334,7 +336,7 @@ export default {
label: '技术条件',
prop: 'skillCon',
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -343,7 +345,7 @@ export default {
label: '计划区域',
prop: 'planArea',
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -353,7 +355,7 @@ export default {
prop: 'approvalStatus',
type: 'select',
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -381,7 +383,21 @@ export default {
rowItem: {},
};
},
computed: {
...mapGetters(['permission']),
},
methods: {
//
sortChange({ prop, order }) {
this.query.descs = undefined;
this.query.ascs = undefined;
let orderByFieldKey = order === 'descending' ? 'descs' : 'ascs';
this.query[orderByFieldKey] = !prop
? undefined
: prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
//
this.onLoad(this.page, this.query);
},
//
handleAdd() {
this.isOpen = true;

@ -2,7 +2,9 @@
<div>
<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" @selection-change="selectionChange"
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
@on-load="onLoad"
@sort-change="sortChange">
<template #menu-left>
<!-- <el-button type="danger" icon="el-icon-delete" @click="handleDelete">
</el-button> -->
@ -12,7 +14,7 @@
</el-button> -->
</template>
<template #menu="scope">
<el-button type="text" @click="detailsFn(scope.row)">详情</el-button>
<el-button type="text" @click="detailsFn(scope.row)" v-if="permission.purchase_detail">详情</el-button>
<!-- <el-button type="text" @click="render(scope.row)">提交</el-button> -->
</template>
</avue-crud>
@ -24,6 +26,7 @@
<script>
import { getTrackList } from "@/api/storeManagement/additionalPlan"
import detailsDialog from "./details.vue"
import { mapGetters } from 'vuex';
export default {
components: { detailsDialog },
data() {
@ -86,7 +89,7 @@ export default {
label: "采购单号",
prop: "boCode",
search: true,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -97,7 +100,7 @@ export default {
prop: "goodsCode",
// bind: "coGoods.goodsCode",
search: true,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -107,7 +110,7 @@ export default {
prop: "goodsName",
// bind: "coGoods.goodsName",
search: true,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -117,7 +120,7 @@ export default {
prop: "materialModel",
// bind: "coGoods.mtltmrk",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -127,7 +130,7 @@ export default {
prop: "specifications",
// bind: "coGoods.specifications",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -136,7 +139,7 @@ export default {
label: "采购数量",
prop: "buyQty",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -146,7 +149,7 @@ export default {
prop: "unitName",
// bind: "coGoods.unitName",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -156,7 +159,7 @@ export default {
prop: "batchStatus",
type: "select",
search: true,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -175,7 +178,7 @@ export default {
prop: "pickStatus",
type: "select",
search: true,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -190,7 +193,7 @@ export default {
label: "生产标识",
prop: "grade",
search: false,
sortable: true,
// sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -199,7 +202,7 @@ export default {
label: "需求日期",
prop: "needDate",
search: true,
sortable: true,
sortable: 'custom',
filter: true,
format: "YYYY-MM-DD",
valueFormat: "YYYY-MM-DD",
@ -214,7 +217,7 @@ export default {
label: "备注",
prop: "memo",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -224,7 +227,7 @@ export default {
prop: "declareManName",
// bind: "declareMan.userName",
search: true,
sortable: true,
// sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -234,7 +237,7 @@ export default {
prop: 'purchaseDeptName',
// bind: 'buyDept.deptName',
search: false,
sortable: true,
// sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -244,7 +247,7 @@ export default {
prop: 'requireDeptName',
// bind: 'needDept.deptName',
search: true,
sortable: true,
// sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -256,7 +259,7 @@ export default {
// prop: "buyManName",
// // bind: "buyMan.userName",
// search: true,
// sortable: true,
// sortable: 'custom',
// filter: true,
// span: 12,
// width: 140,
@ -265,7 +268,7 @@ export default {
label: "申报日期",
prop: "declareDate",
search: true,
sortable: true,
sortable: 'custom',
filter: true,
format: "YYYY-MM-DD",
valueFormat: "YYYY-MM-DD",
@ -280,7 +283,7 @@ export default {
label: "采购周期(天)",
prop: "buyCycle",
search: true,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -290,7 +293,7 @@ export default {
label: "技术条件",
prop: "skillCon",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -299,7 +302,7 @@ export default {
label: "计划区域",
prop: "planArea",
search: false,
sortable: true,
sortable: 'custom',
filter: true,
span: 12,
width: 140,
@ -315,7 +318,21 @@ export default {
},
};
},
computed: {
...mapGetters(['permission']),
},
methods: {
//
sortChange({ prop, order }) {
this.query.descs = undefined;
this.query.ascs = undefined;
let orderByFieldKey = order === 'descending' ? 'descs' : 'ascs';
this.query[orderByFieldKey] = !prop
? undefined
: prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
//
this.onLoad(this.page, this.query);
},
//
detailsFn(row) {
this.detailsShow = true

@ -16,16 +16,17 @@
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
@sort-change="sortChange"
>
<template #menu-left>
<el-button type="primary" @click="handleAdd">新增</el-button>
<el-button type="primary" @click="sendCheck">发送审批</el-button>
<el-button type="primary" @click="handleAdd" v-if="permission.workwearPlan_add">新增</el-button>
<el-button type="primary" @click="sendCheck" v-if="permission.workwearPlan_submitApproval">发送审批</el-button>
</template>
<template #menu="scope">
<el-button type="text" @click="editRow(scope.row)" v-if="scope.row.mafStatus==0||scope.row.approvalStatus==2">修改</el-button>
<el-button type="text" @click="checkRow(scope.row)" v-if="scope.row.mafStatus==1&&scope.row.approvalStatus==0">审批</el-button>
<el-button type="text" @click="deleteRow(scope.row)" v-if="scope.row.mafStatus==0">删除</el-button>
<el-button type="text" @click="editRow(scope.row)" v-if="(scope.row.mafStatus==0||scope.row.approvalStatus==2) && permission.workwearPlan_edit">修改</el-button>
<el-button type="text" @click="checkRow(scope.row)" v-if="(scope.row.mafStatus==1&&scope.row.approvalStatus==0) && permission.workwearPlan_approval">审批</el-button>
<el-button type="text" @click="deleteRow(scope.row)" v-if="scope.row.mafStatus==0 && permission.workwearPlan_del">删除</el-button>
</template>
</avue-crud>
@ -170,6 +171,7 @@ import {
removeByIds,
renderApproval,
} from '@/api/storeManagement/workwearPlan';
import { mapGetters } from 'vuex';
export default {
components:{checkDialog},
data() {
@ -250,7 +252,7 @@ export default {
label: '工装号',
prop: 'moCode',
search: true,
sortable: true,
sortable: 'custom',
overHidden: true,
width: 120,
},
@ -258,7 +260,7 @@ export default {
label: '工装名称',
prop: 'moName',
search: true,
sortable: true,
sortable: 'custom',
overHidden: true,
width: 120,
},
@ -266,7 +268,7 @@ export default {
label: '计划类型',
prop: 'planType',
search: true,
sortable: true,
sortable: 'custom',
overHidden: true,
width: 120,
},
@ -274,7 +276,7 @@ export default {
label: '数量',
prop: 'quantity',
search: false,
sortable: true,
sortable: 'custom',
overHidden: true,
width: 120,
},
@ -288,7 +290,7 @@ export default {
search: true,
format: 'YYYY-MM-DD',
valueFormat: 'YYYY-MM-DD',
sortable: true,
sortable: 'custom',
overHidden: true,
width: 120,
},
@ -296,7 +298,7 @@ export default {
label: '生产标识',
prop: 'quaLevel',
search: true,
sortable: true,
sortable: 'custom',
overHidden: true,
width: 120,
},
@ -304,7 +306,7 @@ export default {
label: '紧急状态',
prop: 'urgentType',
search: false,
sortable: true,
sortable: 'custom',
overHidden: true,
type: 'select',
dicData: [
@ -317,7 +319,7 @@ export default {
label: '状态',
prop: 'mafStatus',
search: true,
sortable: true,
sortable: 'custom',
overHidden: true,
width: 120,
searchOrder: 20,
@ -349,7 +351,7 @@ export default {
label: '审批状态',
prop: 'approvalStatus',
search: true,
sortable: true,
sortable: 'custom',
overHidden: true,
width: 120,
searchOrder: 20,
@ -374,7 +376,7 @@ export default {
label: '保管员',
prop: 'keeperName',
search: false,
sortable: true,
sortable: 'custom',
overHidden: true,
width: 120,
},
@ -382,7 +384,7 @@ export default {
label: '备注',
prop: 'memo',
search: false,
sortable: true,
sortable: 'custom',
overHidden: true,
width: 120,
},
@ -390,7 +392,7 @@ export default {
label: '创建时间',
prop: 'createTime',
search: false,
sortable: true,
// sortable: 'custom',
overHidden: true,
width: 160,
},
@ -400,12 +402,26 @@ export default {
checkShow:false,
};
},
computed: {
...mapGetters(['permission']),
},
mounted() {
this.getProdIdentList();
this.getUser();
this.getGoods();
},
methods: {
//
sortChange({ prop, order }) {
this.query.descs = undefined;
this.query.ascs = undefined;
let orderByFieldKey = order === 'descending' ? 'descs' : 'ascs';
this.query[orderByFieldKey] = !prop
? undefined
: prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
//
this.onLoad(this.page, this.query);
},
getProdIdentList() {
getProdIdentList().then(res => {
this.quaLevelList = res.data.data;

Loading…
Cancel
Save