|
@@ -159,6 +159,7 @@
|
|
|
inactive-color="#ff4949"
|
|
inactive-color="#ff4949"
|
|
|
:active-value="1"
|
|
:active-value="1"
|
|
|
:inactive-value="0"
|
|
:inactive-value="0"
|
|
|
|
|
+ :disabled="isApproving(row)"
|
|
|
@change="changeEnable(row)"
|
|
@change="changeEnable(row)"
|
|
|
>
|
|
>
|
|
|
</el-switch>
|
|
</el-switch>
|
|
@@ -184,7 +185,25 @@
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
|
|
+ <template v-slot:approveStatus="{ row }">
|
|
|
|
|
+ <el-tag
|
|
|
|
|
+ v-if="hasApproveStatus(row)"
|
|
|
|
|
+ size="mini"
|
|
|
|
|
+ :type="getApproveStatusTagType(row)"
|
|
|
|
|
+ >
|
|
|
|
|
+ {{ getApproveStatusText(row) }}
|
|
|
|
|
+ </el-tag>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
<template v-slot:action="{ row }">
|
|
<template v-slot:action="{ row }">
|
|
|
|
|
+ <!-- <el-link
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ :underline="false"
|
|
|
|
|
+ @click="openEdit(row, 3)"
|
|
|
|
|
+ v-if="isApproving(row)"
|
|
|
|
|
+ >
|
|
|
|
|
+ 详情
|
|
|
|
|
+ </el-link> -->
|
|
|
<!-- <el-link
|
|
<!-- <el-link
|
|
|
type="primary"
|
|
type="primary"
|
|
|
:underline="false"
|
|
:underline="false"
|
|
@@ -197,7 +216,7 @@
|
|
|
type="primary"
|
|
type="primary"
|
|
|
:underline="false"
|
|
:underline="false"
|
|
|
@click="openEdit(row, 1)"
|
|
@click="openEdit(row, 1)"
|
|
|
- v-if="$hasPermission('main:category:save')"
|
|
|
|
|
|
|
+ v-if="!isApproving(row) && $hasPermission('main:category:save')"
|
|
|
>
|
|
>
|
|
|
复制
|
|
复制
|
|
|
</el-link>
|
|
</el-link>
|
|
@@ -208,7 +227,7 @@
|
|
|
type="primary"
|
|
type="primary"
|
|
|
:underline="false"
|
|
:underline="false"
|
|
|
@click="openEdit(row, 0)"
|
|
@click="openEdit(row, 0)"
|
|
|
- v-if="$hasPermission('main:category:update')"
|
|
|
|
|
|
|
+ v-if="!isApproving(row) && $hasPermission('main:category:update')"
|
|
|
>
|
|
>
|
|
|
修改
|
|
修改
|
|
|
</el-link>
|
|
</el-link>
|
|
@@ -216,7 +235,11 @@
|
|
|
class="ele-action"
|
|
class="ele-action"
|
|
|
title="确定要删除此物料吗?"
|
|
title="确定要删除此物料吗?"
|
|
|
@confirm="remove(row)"
|
|
@confirm="remove(row)"
|
|
|
- v-if="$hasPermission('main:category:delete')"
|
|
|
|
|
|
|
+ v-if="
|
|
|
|
|
+ !isApproving(row) &&
|
|
|
|
|
+ !isApprovePassed(row) &&
|
|
|
|
|
+ $hasPermission('main:category:delete')
|
|
|
|
|
+ "
|
|
|
>
|
|
>
|
|
|
<template v-slot:reference>
|
|
<template v-slot:reference>
|
|
|
<el-link type="danger" :underline="false"> 删除 </el-link>
|
|
<el-link type="danger" :underline="false"> 删除 </el-link>
|
|
@@ -232,20 +255,28 @@
|
|
|
工艺参数
|
|
工艺参数
|
|
|
</el-link> -->
|
|
</el-link> -->
|
|
|
|
|
|
|
|
- <el-link type="primary" :underline="false" @click="toBomManager(row)">
|
|
|
|
|
|
|
+ <el-link
|
|
|
|
|
+ v-if="!isApproving(row)"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ :underline="false"
|
|
|
|
|
+ @click="toBomManager(row)"
|
|
|
|
|
+ >
|
|
|
BOM
|
|
BOM
|
|
|
</el-link>
|
|
</el-link>
|
|
|
|
|
|
|
|
- <el-popconfirm
|
|
|
|
|
- class="ele-action"
|
|
|
|
|
- title="确定要发布此物品吗?"
|
|
|
|
|
- @confirm="publish(row)"
|
|
|
|
|
- v-if="row.isPublished != 1 && $hasPermission('main:category:update')"
|
|
|
|
|
|
|
+ <el-link
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ :underline="false"
|
|
|
|
|
+ @click="publish(row)"
|
|
|
|
|
+ v-if="
|
|
|
|
|
+ !isApproving(row) &&
|
|
|
|
|
+ !isApprovePassed(row) &&
|
|
|
|
|
+ row.isPublished != 1 &&
|
|
|
|
|
+ $hasPermission('main:category:update')
|
|
|
|
|
+ "
|
|
|
>
|
|
>
|
|
|
- <template v-slot:reference>
|
|
|
|
|
- <el-link type="primary" :underline="false"> 发布 </el-link>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-popconfirm>
|
|
|
|
|
|
|
+ 发布
|
|
|
|
|
+ </el-link>
|
|
|
|
|
|
|
|
<!-- <el-link
|
|
<!-- <el-link
|
|
|
type="primary"
|
|
type="primary"
|
|
@@ -267,7 +298,7 @@
|
|
|
|
|
|
|
|
<el-link
|
|
<el-link
|
|
|
type="primary"
|
|
type="primary"
|
|
|
- v-if="row.categoryLevelPathIdParent == 7"
|
|
|
|
|
|
|
+ v-if="!isApproving(row) && row.categoryLevelPathIdParent == 7"
|
|
|
:underline="false"
|
|
:underline="false"
|
|
|
@click="handAllocation(row)"
|
|
@click="handAllocation(row)"
|
|
|
>
|
|
>
|
|
@@ -276,7 +307,7 @@
|
|
|
|
|
|
|
|
<el-link
|
|
<el-link
|
|
|
type="primary"
|
|
type="primary"
|
|
|
- v-if="row.categoryLevelPathIdParent == 11"
|
|
|
|
|
|
|
+ v-if="!isApproving(row) && row.categoryLevelPathIdParent == 11"
|
|
|
:underline="false"
|
|
:underline="false"
|
|
|
@click="handleAridRegion(row)"
|
|
@click="handleAridRegion(row)"
|
|
|
>
|
|
>
|
|
@@ -351,6 +382,13 @@
|
|
|
ref="warehouseDialogRef"
|
|
ref="warehouseDialogRef"
|
|
|
@success="success"
|
|
@success="success"
|
|
|
></warehouseDialog>
|
|
></warehouseDialog>
|
|
|
|
|
+ <process-submit-dialog
|
|
|
|
|
+ :processSubmitDialogFlag.sync="processSubmitDialogFlag"
|
|
|
|
|
+ v-if="processSubmitDialogFlag"
|
|
|
|
|
+ ref="processSubmitDialogRef"
|
|
|
|
|
+ :custom-submit="submitCategoryPublish"
|
|
|
|
|
+ @reload="handleProcessReload"
|
|
|
|
|
+ ></process-submit-dialog>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -381,6 +419,7 @@
|
|
|
import { fieldModel } from '@/api/codeManagement';
|
|
import { fieldModel } from '@/api/codeManagement';
|
|
|
import DialogMoveTo from './DialogMoveTo.vue';
|
|
import DialogMoveTo from './DialogMoveTo.vue';
|
|
|
import warehouseDialog from './warehouseDialog.vue';
|
|
import warehouseDialog from './warehouseDialog.vue';
|
|
|
|
|
+ import processSubmitDialog from '@/components/processSubmitDialog/processSubmitDialog.vue';
|
|
|
import tabMixins from '@/mixins/tableColumnsMixin';
|
|
import tabMixins from '@/mixins/tableColumnsMixin';
|
|
|
import { produceTypeList } from '@/enum/dict.js';
|
|
import { produceTypeList } from '@/enum/dict.js';
|
|
|
import request from '@/utils/request';
|
|
import request from '@/utils/request';
|
|
@@ -440,7 +479,8 @@
|
|
|
aridRegion,
|
|
aridRegion,
|
|
|
BomDetailsPop,
|
|
BomDetailsPop,
|
|
|
DialogMoveTo,
|
|
DialogMoveTo,
|
|
|
- warehouseDialog
|
|
|
|
|
|
|
+ warehouseDialog,
|
|
|
|
|
+ processSubmitDialog
|
|
|
},
|
|
},
|
|
|
props: {
|
|
props: {
|
|
|
// 物料组id
|
|
// 物料组id
|
|
@@ -477,7 +517,8 @@
|
|
|
width: 45,
|
|
width: 45,
|
|
|
type: 'selection',
|
|
type: 'selection',
|
|
|
columnKey: 'selection',
|
|
columnKey: 'selection',
|
|
|
- align: 'center'
|
|
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ selectable: (row) => !this.isApproving(row)
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
columnKey: 'index',
|
|
columnKey: 'index',
|
|
@@ -740,6 +781,14 @@
|
|
|
},
|
|
},
|
|
|
showOverflowTooltip: true
|
|
showOverflowTooltip: true
|
|
|
},
|
|
},
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: 'approveStatus',
|
|
|
|
|
+ label: '审核状态',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ minWidth: 100,
|
|
|
|
|
+ slot: 'approveStatus',
|
|
|
|
|
+ showOverflowTooltip: true
|
|
|
|
|
+ },
|
|
|
{
|
|
{
|
|
|
prop: 'isEnabled',
|
|
prop: 'isEnabled',
|
|
|
align: 'center',
|
|
align: 'center',
|
|
@@ -790,7 +839,8 @@
|
|
|
rowCurrent: null,
|
|
rowCurrent: null,
|
|
|
isLoading: false,
|
|
isLoading: false,
|
|
|
pageSize: this.$store.state.tablePageSize,
|
|
pageSize: this.$store.state.tablePageSize,
|
|
|
- isBatchPublish: true
|
|
|
|
|
|
|
+ isBatchPublish: true,
|
|
|
|
|
+ processSubmitDialogFlag: false
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
|
|
|
|
@@ -879,10 +929,16 @@
|
|
|
},
|
|
},
|
|
|
//采购
|
|
//采购
|
|
|
moveTo() {
|
|
moveTo() {
|
|
|
|
|
+ if (this.hasApprovingSelection()) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
this.$refs.DialogMoveToRef.open(this.selection);
|
|
this.$refs.DialogMoveToRef.open(this.selection);
|
|
|
},
|
|
},
|
|
|
//仓库
|
|
//仓库
|
|
|
warehouseOpen() {
|
|
warehouseOpen() {
|
|
|
|
|
+ if (this.hasApprovingSelection()) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
this.$refs.warehouseDialogRef.open(this.selection);
|
|
this.$refs.warehouseDialogRef.open(this.selection);
|
|
|
},
|
|
},
|
|
|
successUpload(response) {
|
|
successUpload(response) {
|
|
@@ -1014,6 +1070,10 @@
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
publish(row) {
|
|
publish(row) {
|
|
|
|
|
+ if (this.isBatchPublish) {
|
|
|
|
|
+ this.submitApprove(row);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
const loading = this.$loading({ lock: true });
|
|
const loading = this.$loading({ lock: true });
|
|
|
publishCategory({ categoryId: row.id })
|
|
publishCategory({ categoryId: row.id })
|
|
|
.then((res) => {
|
|
.then((res) => {
|
|
@@ -1025,6 +1085,43 @@
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
|
|
+ submitApprove(row) {
|
|
|
|
|
+ if (!row || !row.id) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ this.processSubmitDialogFlag = true;
|
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
|
+ const userInfo = this.$store.state.user.info || {};
|
|
|
|
|
+ const params = {
|
|
|
|
|
+ businessId: row.id,
|
|
|
|
|
+ businessKey: 'category_need_approve',
|
|
|
|
|
+ formCreateUserId: row.createUserId || userInfo.userId || userInfo.id,
|
|
|
|
|
+ variables: {
|
|
|
|
|
+ businessCode: row.code,
|
|
|
|
|
+ businessName: row.name,
|
|
|
|
|
+ businessType: this.getCategoryBusinessType(row)
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ this.$refs.processSubmitDialogRef.init(params);
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ getCategoryBusinessType(row) {
|
|
|
|
|
+ return row.categoryLevelPath || row.categoryName || '物品发布';
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ submitCategoryPublish(businessId, form) {
|
|
|
|
|
+ return publishCategory({
|
|
|
|
|
+ categoryId: businessId,
|
|
|
|
|
+ ...form
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ handleProcessReload() {
|
|
|
|
|
+ this.reloadNew();
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
/* 显示编辑 */
|
|
/* 显示编辑 */
|
|
|
batchPublish() {
|
|
batchPublish() {
|
|
|
if (!this.selection.length) {
|
|
if (!this.selection.length) {
|
|
@@ -1032,6 +1129,10 @@
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ if (this.hasApprovingSelection()) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
const publishedList = this.selection.filter((item) => item.isPublished == 1);
|
|
const publishedList = this.selection.filter((item) => item.isPublished == 1);
|
|
|
if (publishedList.length) {
|
|
if (publishedList.length) {
|
|
|
const publishedNames = publishedList
|
|
const publishedNames = publishedList
|
|
@@ -1159,6 +1260,64 @@
|
|
|
this.reload();
|
|
this.reload();
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
|
|
+ hasApproveStatus(row) {
|
|
|
|
|
+ return (
|
|
|
|
|
+ row &&
|
|
|
|
|
+ Object.prototype.hasOwnProperty.call(row, 'approveStatus') &&
|
|
|
|
|
+ row.approveStatus !== null &&
|
|
|
|
|
+ row.approveStatus !== undefined &&
|
|
|
|
|
+ row.approveStatus !== ''
|
|
|
|
|
+ );
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ isApproving(row) {
|
|
|
|
|
+ if (!this.hasApproveStatus(row)) {
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ return Number(row.approveStatus) === 1 || row.approveStatus === '审核中';
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ isApprovePassed(row) {
|
|
|
|
|
+ if (!this.hasApproveStatus(row)) {
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ return Number(row.approveStatus) === 2 || row.approveStatus === '已审核';
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ hasApprovingSelection() {
|
|
|
|
|
+ if (this.selection.some((item) => this.isApproving(item))) {
|
|
|
|
|
+ this.$message.warning('审核中的数据只能查看详情');
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ return false;
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ getApproveStatusTagType(row) {
|
|
|
|
|
+ if (!this.hasApproveStatus(row)) {
|
|
|
|
|
+ return '';
|
|
|
|
|
+ }
|
|
|
|
|
+ return (
|
|
|
|
|
+ {
|
|
|
|
|
+ 0: 'info',
|
|
|
|
|
+ 1: 'warning',
|
|
|
|
|
+ 2: 'success',
|
|
|
|
|
+ 3: 'danger'
|
|
|
|
|
+ }[Number(row.approveStatus)] || ''
|
|
|
|
|
+ );
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ getApproveStatusText(row) {
|
|
|
|
|
+ if (!this.hasApproveStatus(row)) {
|
|
|
|
|
+ return '';
|
|
|
|
|
+ }
|
|
|
|
|
+ return {
|
|
|
|
|
+ 0: '未提交',
|
|
|
|
|
+ 1: '审核中',
|
|
|
|
|
+ 2: '已审核',
|
|
|
|
|
+ 3: '审核不通过'
|
|
|
|
|
+ }[Number(row.approveStatus)] || row.approveStatus;
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
handAllocation(row) {
|
|
handAllocation(row) {
|
|
|
this.$refs.allocationRef.open(row);
|
|
this.$refs.allocationRef.open(row);
|
|
|
},
|
|
},
|