From f6811caf6c66d4e2a55393f3b6dc169efd28d863 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期四, 25 四月 2024 14:45:02 +0800
Subject: [PATCH] 修改工艺文件
---
src/views/plan/customerorder/index.vue | 814 +++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 582 insertions(+), 232 deletions(-)
diff --git a/src/views/plan/customerorder/index.vue b/src/views/plan/customerorder/index.vue
index 159596c..742d7f9 100644
--- a/src/views/plan/customerorder/index.vue
+++ b/src/views/plan/customerorder/index.vue
@@ -8,6 +8,7 @@
:prelang="prelang"
:options="options"
:ajaxFun="ajaxFun"
+ :toolbarMaxLength="4"
:paramArr="type"
ref="customerOrderTable"
>
@@ -17,15 +18,16 @@
@command="documentHandle"
style="margin-left: 10px"
>
- <el-button>
+ <el-button style="padding: 9px 14px;">
宸ヨ壓鏂囦欢<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
:key="index"
:command="item.command"
- v-for="(item,index) in documentTagArr"
- :disabled="item.disabled">
+ v-for="(item, index) in documentTagArr"
+ :disabled="item.disabled"
+ >
{{ item.label }}
</el-dropdown-item>
</el-dropdown-menu>
@@ -36,25 +38,38 @@
@command="handleCommitCommand"
style="margin-left: 10px"
>
- <el-button>
+ <el-button style="padding: 9px 14px;">
瀹℃牳鐘舵�佹敼鍙�<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
:key="index"
:command="item.command"
- v-for="(item,index) in commitStateTagArr"
+ v-for="(item, index) in commitStateTagArr"
:disabled="item.disabled"
>{{ item.label }}</el-dropdown-item
>
</el-dropdown-menu>
</el-dropdown>
<el-button
- style="margin-left:10px;"
+ style="margin-left: 10px;padding: 9px 14px;"
type="primary"
- @click="()=>exportDialogVisible=true"
+ @click="() => (exportDialogVisible = true)"
>瀵煎嚭鍙拌处</el-button
>
+ <el-button
+ style="margin-left: 10px;padding: 9px 14px;"
+ type="primary"
+ v-if="permissions.plan_customerorder_check"
+ @click="handleCheck"
+ >瀹℃牳</el-button
+ >
+ <!-- <el-button
+ style="margin-left: 10px"
+ type="primary"
+ @click="() => ($refs.technology.init())"
+ >缂栧啓鎶�鏈氦搴曞崟</el-button
+ > -->
</template>
</ttable>
<!-- 寮圭獥, 鏃ユ湡閫夋嫨 -->
@@ -120,7 +135,7 @@
<div>
<div>
<el-upload
- style="margin-left:8px;display: inline;"
+ style="margin-left: 8px; display: inline"
class="upload-demo"
drag
:headers="headers"
@@ -141,7 +156,7 @@
<div class="el-upload__tip" slot="tip">
鍙兘涓婁紶xlsx/xls鏂囦欢锛屼笖涓嶈秴杩�10M<el-button
type="text"
- style="font-size:12px;"
+ style="font-size: 12px"
@click="downDataTemplate"
>涓嬭浇妯℃澘</el-button
>
@@ -154,25 +169,36 @@
<span slot="footer" class="dialog-footer"> </span>
</el-dialog>
<!-- 瀵煎嚭 -->
- <el-dialog title="瀵煎嚭鍙拌处" :visible.sync="exportDialogVisible" width="20%">
- <div style="display: flex;justify-content: center">
- <el-form :model="dataForm" :inline="true" :rules="dataRule" ref="exportForm" class="l-mes">
+ <el-dialog
+ title="瀵煎嚭鍙拌处"
+ :visible.sync="exportDialogVisible"
+ width="20%"
+ >
+ <div style="display: flex; justify-content: center">
+ <el-form
+ :model="dataForm"
+ :inline="true"
+ :rules="dataRule"
+ ref="exportForm"
+ class="l-mes"
+ >
<el-form-item label="鏃ユ湡" prop="exportTime">
<el-date-picker
v-model="dataForm.exportTime"
type="datetime"
- style="width:100%"
+ style="width: 100%"
placeholder="閫夋嫨鏃ユ湡鏃堕棿"
- value-format="yyyy-MM-dd HH:mm:ss">
+ value-format="yyyy-MM-dd HH:mm:ss"
+ >
</el-date-picker>
</el-form-item>
</el-form>
- </div>
- <span slot="footer" class="dialog-footer">
- <el-button @click="exportDialogVisible=false">鍙� 娑�</el-button>
- <el-button type="primary" @click="exportStandBook">纭� 瀹�</el-button>
- </span>
- </el-dialog>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="exportDialogVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="exportStandBook">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
<!-- 绠辩爜淇℃伅瀵煎嚭 -->
<el-dialog
title="绠辩爜淇℃伅瀵煎嚭"
@@ -185,7 +211,7 @@
ref="packageExportForm"
label-width="70px"
class="l-mes"
- style="padding:0 20px"
+ style="padding: 0 20px"
>
<el-form-item label="璁㈠崟鍙�">
<el-input v-model="packageExport.form.customerOrderNo" disabled />
@@ -225,14 +251,21 @@
</basic-container>
<el-dialog title="閫夋嫨鍚屾鏃ユ湡" :visible.sync="syncDateVisible" width="20%">
- <div style="display: flex;justify-content: center">
- <el-form :model="dataForm" :inline="true" :rules="dataRule" ref="dataForm" class="l-mes">
+ <div style="display: flex; justify-content: center">
+ <el-form
+ :model="dataForm"
+ :inline="true"
+ :rules="dataRule"
+ ref="dataForm"
+ class="l-mes"
+ >
<el-form-item label="鏃ユ湡">
<el-date-picker
v-model="dataForm.selectTime"
type="datetime"
placeholder="閫夋嫨鏃ユ湡鏃堕棿"
- value-format="yyyy-MM-dd HH:mm:ss">
+ value-format="yyyy-MM-dd HH:mm:ss"
+ >
</el-date-picker>
</el-form-item>
</el-form>
@@ -242,12 +275,104 @@
<el-button type="primary" @click="startSync">纭� 瀹�</el-button>
</span>
</el-dialog>
+ <el-dialog
+ title="宸插叧鑱旈攢鍞鍗�"
+ :visible.sync="showInterrelatedOrderDialog"
+ width="60%"
+ >
+ <el-table border height="100" :data="interrelatedOrderData">
+ <el-table-column
+ type="index"
+ align="center"
+ label="搴忓彿"
+ ></el-table-column>
+ <el-table-column
+ prop="contractNo"
+ show-overflow-tooltip
+ align="center"
+ label="鍚堝悓缂栧彿"
+ ></el-table-column>
+ <el-table-column
+ prop="entityName"
+ show-overflow-tooltip
+ align="center"
+ label="宸ョ▼鍚嶇О"
+ ></el-table-column>
+ <el-table-column
+ prop="sourceId"
+ show-overflow-tooltip
+ align="center"
+ label="娣诲姞鏉ユ簮"
+ >
+ <template scope="scope">
+ <el-tag v-if="scope.row.sourceId == 0" type="success">鍚屾</el-tag>
+ <el-tag v-if="scope.row.sourceId == 1" type="info">鎵嬪姩</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="placeOrderDate"
+ show-overflow-tooltip
+ align="center"
+ label="涓嬪崟鏃ユ湡"
+ ></el-table-column>
+ <el-table-column
+ prop="customerName"
+ show-overflow-tooltip
+ align="center"
+ label="瀹㈡埛鍚嶇О"
+ ></el-table-column>
+ <el-table-column
+ prop="coState"
+ min-width="100"
+ show-overflow-tooltip
+ align="center"
+ label="閿�鍞鍗曠姸鎬�"
+ ></el-table-column>
+ <el-table-column
+ prop="partNo"
+ show-overflow-tooltip
+ align="center"
+ label="浜у搧缂栧彿"
+ ></el-table-column>
+ <el-table-column
+ prop="productName"
+ show-overflow-tooltip
+ align="center"
+ label="浜у搧鍚嶇О"
+ ></el-table-column>
+ <el-table-column
+ prop="productType"
+ show-overflow-tooltip
+ align="center"
+ label="闅跺睘鍝佺墝"
+ ></el-table-column>
+ <el-table-column
+ prop="otcUnit"
+ show-overflow-tooltip
+ align="center"
+ label="鍗曚綅"
+ ></el-table-column>
+ <el-table-column
+ prop="buyQtyDue"
+ show-overflow-tooltip
+ align="center"
+ label="鏁伴噺"
+ ></el-table-column>
+ </el-table>
+ </el-dialog>
+ <technology-form ref="technology"></technology-form>
</div>
</template>
<script>
+import {
+ interrelatedOrder,
+ getInterrelatedOrder,
+ checkHanderOrder,
+} from '@/api/plan/customerOrderInterrelated'
import ConfirmPullCustomerorder from './confirm-pull-customerorder'
import TableForm from './customerorder-form'
+import TechnologyForm from './technology-form.vue'
import TableFormDEesc from './customerorder-form-desc'
import SampleTableForm from './sample-customerorder-form'
import { mapGetters } from 'vuex'
@@ -273,7 +398,9 @@
exportCustomerOrder,
exportCustomerOrderSplit,
syncOrder,
- dropByContractNo
+ dropByContractNo,
+ downloadProduct,
+ downloadWordFile
} from '../../../api/plan/customerorder'
import DocumentTable from '@/views/common/document.vue'
import { remote } from '@/api/admin/dict'
@@ -285,12 +412,19 @@
export default {
data() {
return {
+ interrelatedOrderId: null,
+ interrelatedOrderData: [],
+ showInterrelatedOrderDialog: false,
+ technologyDialog:true,
+ uniqueStateArr: [],
dataForm: {
selectTime: null,
- exportTime: null
+ exportTime: null,
},
dataRule: {
- exportTime:[{required:true,message:'瀵煎嚭鏃ユ湡涓嶈兘涓虹┖',trigger:'change'}]
+ exportTime: [
+ { required: true, message: '瀵煎嚭鏃ユ湡涓嶈兘涓虹┖', trigger: 'change' },
+ ],
},
pickerOptions: {
onPick: ({ maxDate, minDate }) => {
@@ -308,7 +442,7 @@
)
}
return false
- }
+ },
},
exportDialogVisible: false,
syncDateVisible: false,
@@ -321,58 +455,58 @@
label: '鏍囪闆朵欢寰呴��',
command: '01partUnCheck',
disabled: false,
- permitArr: []
+ permitArr: [],
},
{
label: '鏍囪宸ヨ壓鏂囦欢寰呴��',
command: '02technologyUnCheck',
disabled: false,
- permitArr: []
+ permitArr: [],
},
{
label: '鏍囪寰呰鍒�',
command: '03plan',
disabled: false,
- permitArr: []
+ permitArr: [],
},
{
label: '鏍囪宸蹭笅鍙�',
command: '04planed',
disabled: false,
- permitArr: []
+ permitArr: [],
},
{
label: '鏍囪宸蹭綔搴�',
command: '05cancel',
disabled: false,
- permitArr: []
- }
+ permitArr: [],
+ },
],
documentTagArr: [
{
label: '鍏宠仈宸ヨ壓鏂囦欢',
command: 'RELEVANCE',
- disabled: false
+ disabled: false,
},
{
label: '绉婚櫎宸ヨ壓鏂囦欢',
command: 'NORELEVANCE',
- disabled: false
- }
+ disabled: false,
+ },
],
commitStateTagArr: [
{
label: '鏍囪閫氳繃',
command: 'PROCESSED',
disabled: false,
- permitArr: ['01draft']
+ permitArr: ['01draft'],
},
{
label: '鏍囪鍙栨秷',
command: 'CANCELED',
disabled: false,
- permitArr: ['01draft']
- }
+ permitArr: ['01draft'],
+ },
],
ajaxFun: fetchListCustomerOrder,
events: '',
@@ -384,7 +518,7 @@
uploadInfo: {
// 鏄惁灞曠ず涓婁紶EXCEL浠ュ強瀵瑰簲鐨剈rl
isShow: false,
- url: ''
+ url: '',
},
prelang: 'operation',
options: {
@@ -399,8 +533,8 @@
isRefresh: true, // 鏄惁鏄剧ず鍒锋柊鎸夐挳
isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳H
isSearch: true, // 楂樼骇鏌ヨ鎸夐挳
- defaultOrderBy: { column: 'createTime', direction: 'desc' },
- cancelRunCreated: true
+ defaultOrderBy: { column: 'placeOrderDate', direction: 'desc' },
+ cancelRunCreated: true,
},
table: {
total: 0,
@@ -414,10 +548,11 @@
width: '100px',
prop: 'contractNo',
label: '鍚堝悓缂栧彿',
+ sort: true,
isTrue: true,
isSearch: true,
searchInfoType: 'text',
- render: { fun: this.addOrUpdateHandle }
+ render: { fun: this.addOrUpdateHandle },
},
{
minWidth: '120',
@@ -425,7 +560,7 @@
label: '宸ョ▼鍚嶇О',
isTrue: true,
isSearch: true,
- searchInfoType: 'text'
+ searchInfoType: 'text',
},
{
minWidth: '120',
@@ -434,7 +569,7 @@
sort: true,
isTrue: true,
isSearch: true,
- searchInfoType: 'text'
+ searchInfoType: 'text',
},
{
minWidth: '100',
@@ -447,7 +582,7 @@
formatter: this.getSourceId,
optList: () => {
return this.sourceIdList
- }
+ },
},
{
minWidth: '200',
@@ -458,7 +593,7 @@
isTrue: true,
isSearch: true,
searchInfoType: 'datetimerange',
- formatter: this.formatDutyDate
+ formatter: this.formatDutyDate,
},
{
minWidth: '120',
@@ -467,8 +602,8 @@
sort: true,
isTrue: true,
isSearch: true,
- searchInfoType: 'text',
- formatter: this.formatDutyDate
+ searchInfoType: 'date',
+ formatter: this.formatDutyDate,
},
{
minWidth: '120',
@@ -477,7 +612,7 @@
sort: true,
isTrue: true,
isSearch: true,
- searchInfoType: 'text'
+ searchInfoType: 'text',
},
{
minWidth: '120',
@@ -490,12 +625,12 @@
formatter: this.getCustomerCoState,
optList: () => {
return this.coStateList
- }
+ },
},
{
minWidth: '120',
prop: 'isAudit',
- label: '瀹℃牳鐘舵��',
+ label: 'PLM瀹℃牳鐘舵��',
sort: true,
isTrue: true,
isSearch: true,
@@ -503,17 +638,34 @@
formatter: this.getIsAudit,
optList: () => {
return this.isAuditList
- }
+ },
},
- // {
- // minWidth: '80',
- // prop: 'sourceId',
- // label: '璁㈠崟鏉ユ簮',
- // sort: true,
- // isTrue: true,
- // isSearch: true,
- // searchInfoType: 'text'
- // },
+ {
+ minWidth: '120',
+ prop: 'isPass',
+ label: '瀹℃牳閫氳繃鐘舵��',
+ sort: true,
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'select',
+ formatter: this.checkIsPass,
+ optList: () => {
+ return this.isPassList
+ },
+ },
+ {
+ minWidth: '120',
+ prop: 'isOa',
+ label: '鏄惁鎻愪氦oa',
+ sort: true,
+ isTrue: true,
+ isSearch: true,
+ searchInfoType: 'select',
+ formatter: this.checkIsOa,
+ optList: () => {
+ return this.isOaList
+ },
+ },
{
minWidth: '120',
width: '100px',
@@ -522,7 +674,7 @@
sort: true,
isTrue: true,
isSearch: true,
- searchInfoType: 'text'
+ searchInfoType: 'text',
},
{
minWidth: '120',
@@ -532,7 +684,7 @@
sort: true,
isTrue: true,
isSearch: true,
- searchInfoType: 'text'
+ searchInfoType: 'text',
},
{
minWidth: '120',
@@ -541,7 +693,7 @@
label: '闅跺睘鍝佺墝',
isTrue: true,
isSearch: true,
- searchInfoType: 'text'
+ searchInfoType: 'text',
},
{
minWidth: '120',
@@ -550,7 +702,7 @@
label: '鍗曚綅',
isTrue: true,
isSearch: true,
- searchInfoType: 'text'
+ searchInfoType: 'text',
},
{
minWidth: '120',
@@ -560,7 +712,7 @@
sort: true,
isTrue: true,
isSearch: true,
- searchInfoType: 'text'
+ searchInfoType: 'text',
},
{
minWidth: '120',
@@ -569,7 +721,7 @@
sort: true,
isTrue: true,
isSearch: true,
- searchInfoType: 'text'
+ searchInfoType: 'text',
},
{
minWidth: '140',
@@ -582,7 +734,7 @@
formatter: this.getManufactureAttr,
optList: () => {
return this.manufactureAttrList
- }
+ },
},
{
minWidth: '140',
@@ -591,7 +743,7 @@
sort: true,
isTrue: true,
isSearch: true,
- searchInfoType: 'text'
+ searchInfoType: 'text',
},
{
minWidth: '140',
@@ -600,7 +752,7 @@
sort: true,
isTrue: true,
isSearch: true,
- searchInfoType: 'text'
+ searchInfoType: 'text',
},
{
minWidth: '140',
@@ -609,7 +761,7 @@
sort: true,
isTrue: true,
isSearch: true,
- searchInfoType: 'text'
+ searchInfoType: 'text',
},
{
minWidth: '140',
@@ -618,7 +770,7 @@
sort: true,
isTrue: true,
isSearch: true,
- searchInfoType: 'text'
+ searchInfoType: 'text',
},
{
minWidth: '140',
@@ -629,7 +781,7 @@
isTrue: true,
isSearch: true,
searchInfoType: 'datetimerange',
- formatter: this.formatDutyDate
+ formatter: this.formatDutyDate,
},
],
toolbar: [],
@@ -652,6 +804,25 @@
// size: 'small',
// fun: this.packageExportHandle
// },
+ // {
+ // text: '瀹℃牳',
+ // type: 'text',
+ // size: 'small',
+ // fun: this.checkHandOrder,
+ // showFun: (row) => {
+ // return row.sourceId === '1'
+ // },
+ // show: {
+ // val: [false],
+ // key: 'isPass',
+ // },
+ // },
+ {
+ text: '宸插叧鑱旇鍗�',
+ type: 'text',
+ size: 'small',
+ fun: this.showInterrelatedOrder,
+ },
{
text: '鍒犻櫎',
type: 'text',
@@ -661,82 +832,89 @@
val: [
'01partUnCheck',
'02technologyUnCheck',
- '03plan'
+ '03plan',
// '04planed'
],
- key: 'coState'
- }
- }
+ key: 'coState',
+ },
+ },
],
operatorConfig: {
fixed: 'right',
label: '鎿嶄綔',
- width: 100,
- minWidth: 100
- }
+ width: 200,
+ minWidth: 200,
+ },
},
addOrUpdateVisible: false,
coStateList: [
{
value: '01partUnCheck',
- label: '闆朵欢寰呴��'
+ label: '闆朵欢寰呴��',
},
{
value: '02technologyUnCheck',
- label: '宸ヨ壓鏂囦欢寰呴��'
+ label: '宸ヨ壓鏂囦欢寰呴��',
},
{
value: '03plan',
- label: '寰呰鍒�'
+ label: '寰呰鍒�',
},
{
value: '04planed',
- label: '宸蹭笅鍙�'
+ label: '宸蹭笅鍙�',
},
{
value: '05cancel',
- label: '宸蹭綔搴�'
+ label: '宸蹭綔搴�',
},
{
value: '06unedit',
- label: '璁㈠崟缂栬緫'
- }
+ label: '璁㈠崟缂栬緫',
+ },
],
- manufactureAttrList: [{
- label: '鏅��',
- value: 'N'
- },{
- label: '鏍峰搧',
- value: 'S'
- },{
- label: '鐮斿彂',
- value: 'D'
- }],
+ manufactureAttrList: [
+ {
+ label: '鏅��',
+ value: 'N',
+ },
+ {
+ label: '鏍峰搧',
+ value: 'S',
+ },
+ {
+ label: '鐮斿彂',
+ value: 'D',
+ },
+ ],
isAuditList: [
{
value: '01draft',
- label: '鑽夌'
+ label: '鑽夌',
},
{
value: '02pending',
- label: '瀹℃牳涓�'
+ label: '瀹℃牳涓�',
},
{
value: '03accepted',
- label: '閫氳繃'
+ label: '閫氳繃',
},
{
value: '04reject',
- label: '閫�鍥�'
- }
+ label: '閫�鍥�',
+ },
],
- sourceIdList: [{
- label: '鍚屾',
- value: "0"
- },{
- label: '鎵嬪姩',
- value: "1"
- }],
+ sourceIdList: [
+ {
+ label: '鍚屾',
+ value: '0',
+ },
+ {
+ label: '鎵嬪姩',
+ value: '1',
+ },
+ ],
stockVisible: false,
partName: null,
showPullCustomerOrderVisible: false,
@@ -748,20 +926,20 @@
id: '',
customerOrderNo: '',
splitQuantity: '',
- title: ''
+ title: '',
},
rules: {
splitQuantity: [
{ required: true, message: '鏁伴噺涓嶈兘涓虹┖', trigger: 'blur' },
- { validator: validateSixDecimal, trigger: 'blur' }
+ { validator: validateSixDecimal, trigger: 'blur' },
],
- title: [{ required: true, message: '鎶ご涓嶈兘涓虹┖', trigger: 'blur' }]
+ title: [{ required: true, message: '鎶ご涓嶈兘涓虹┖', trigger: 'blur' }],
},
titleList: [],
- buttonDisable: false
+ buttonDisable: false,
},
headers: {
- Authorization: 'Bearer ' + getStore({ name: 'access_token' })
+ Authorization: 'Bearer ' + getStore({ name: 'access_token' }),
},
fileList: [],
outBatchUploadUrl: '/mes/operationTaskProduce/upload',
@@ -770,15 +948,23 @@
otcPartSyncOptionList: [
{
value: true,
- label: '宸插悓姝�'
+ label: '宸插悓姝�',
},
{
value: false,
- label: '鏈悓姝�'
- }
+ label: '鏈悓姝�',
+ },
],
showSalesPartBatch: false,
- addOrUpdateEescVisible: false
+ addOrUpdateEescVisible: false,
+ isPassList: [
+ { label: '鏈�氳繃', value: false },
+ { label: '閫氳繃', value: true },
+ ],
+ isOaList: [
+ { label: '鏈彁浜�', value: false },
+ { label: '宸叉彁浜�', value: true },
+ ],
}
},
components: {
@@ -792,10 +978,11 @@
SampleTableForm,
SalesPartBatchDialog,
TableFormDEesc,
- CustomerorderReturnDialog
+ CustomerorderReturnDialog,
+ TechnologyForm,
},
computed: {
- ...mapGetters(['permissions'])
+ ...mapGetters(['permissions']),
},
watch: {
exportDialogVisible(newVal) {
@@ -809,8 +996,21 @@
this.getData()
}
},
- immediate: true
- }
+ immediate: true,
+ },
+ interrelatedOrderId(newVal) {
+ if (newVal) {
+ getInterrelatedOrder(newVal)
+ .then((res) => {
+ if (res.status === 200) {
+ this.interrelatedOrderData = res.data.data
+ }
+ })
+ .catch((error) => {
+ console.error(error)
+ })
+ }
+ },
},
mounted() {
this.initQueryParams()
@@ -818,78 +1018,32 @@
created() {
// this.getManufactureAttrs()
this.getTitles()
- /**
- * {
- text: '鑾峰彇閿�鍞鍗�',
- type: 'primary',
- fun: this.pullCustomerOrder,
- disabled: false,
- permitArr: []
- },
- {
- text: '鑾峰彇IFS琛屽彿',
- type: 'primary',
- fun: this.pullIfsLineNo,
- disabled: false,
- permitArr: [],
- loading: false
- },
- {
- text: '鎻愪氦瀹℃牳',
- type: 'primary',
- fun: this.auditCustomerOrder,
- disabled: false,
- permitArr: [],
- loading: false
- },
- {
- text: '涓荤敓浜ц鍒�',
- disabled: false,
- fun: this.masterPlanHandle
- }
- */
+ if (this.permissions.plan_customerorder_add) {
this.table.toolbar.push({
text: '鏂板閿�鍞鍗�',
type: 'primary',
fun: this.addSampleCustomerOrder,
disabled: false,
- permitArr: []
+ permitArr: [],
})
- // this.table.toolbar.push({
- // text: '鍚屾ERP',
- // type: 'primary',
- // fun: this.syncERP,
- // loading: false,
- // disabled: false,
- // permitArr: []
- // })
+ }
if (this.permissions.customerorder_from_otc) {
this.table.toolbar.push({
text: '鑾峰彇閿�鍞鍗�',
type: 'primary',
fun: this.syncERP,
disabled: false,
- permitArr: []
+ permitArr: [],
})
}
- // if (this.permissions.customerorder_ifs_line) {
- // this.table.toolbar.push({
- // text: '鑾峰彇ERP琛屽彿',
- // type: 'primary',
- // fun: this.pullIfsLineNo,
- // disabled: false,
- // permitArr: [],
- // loading: false
- // })
- // }
if (this.permissions.customerorder_submit_oa) {
this.table.toolbar.push({
- text: '鎻愪氦瀹℃牳',
+ text: '鎻愪氦OA',
type: 'primary',
fun: this.auditCustomerOrder,
disabled: false,
permitArr: [],
- loading: false
+ loading: false,
})
}
if (this.permissions.customerorder_set_salesparts) {
@@ -897,18 +1051,144 @@
text: '璁剧疆閿�鍞欢',
type: 'primary',
fun: this.setSalesPart,
- disabled: false
+ disabled: false,
+ permitArr: [],
})
+ }
+ if(this.permissions.plan_download_process_file){
+ this.table.toolbar.push({
+ text: '涓嬭浇宸ヨ壓鏂囦欢',
+ disabled: false,
+ type: 'primary',
+ fun: this.downloadWord,
+ permitArr: ['03plan','04planed'],
+ })
+ }
+ if(this.permissions.plan_download_product_file){
+ this.table.toolbar.push({
+ text: '涓嬭浇鎺掍骇鍗�',
+ disabled: false,
+ type: 'primary',
+ permitArr: [],
+ fun: this.downloadProductionScheduling,
+ })
+ }
+ if(this.permissions.plan_relevance_order){
+ this.table.toolbar.push({
+ text: '鍏宠仈璁㈠崟',
+ disabled: false,
+ type: 'primary',
+ fun: this.interrelatedOrderFun,
+ permitArr: [],
+ })
}
if (this.permissions.customerorder_create_masterplan) {
this.table.toolbar.push({
text: '涓荤敓浜ц鍒�',
disabled: false,
- fun: this.masterPlanHandle
+ fun: this.masterPlanHandle,
+ permitArr: [],
})
}
},
methods: {
+ checkHandOrder(val) {
+ this.$confirm('纭瀹℃牳閫氳繃璇ラ攢鍞鍗曞悧?', '鎻愮ず', {
+ confirmButtonText: '閫氳繃',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning',
+ })
+ .then(() => {
+ checkHanderOrder(val)
+ .then((res) => {
+ if (res.status === 200) {
+ this.$message.success('瀹℃牳閫氳繃')
+ this.getData()
+ }
+ })
+ .catch((error) => {
+ console.error(error)
+ })
+ })
+ .catch(() => {})
+ },
+ interrelatedOrderFun() {
+ if (this.multipleSelection.length != 2) {
+ this.$message.error('璇烽�夋嫨涓ゆ潯閿�鍞鍗�')
+ return
+ }
+ let autoId = null
+ let handId = null
+ this.multipleSelection.forEach((ele) => {
+ if (ele.sourceId == 0) {
+ autoId = ele.id
+ } else if (ele.sourceId == 1) {
+ handId = ele.id
+ }
+ })
+ if (autoId == null || handId == null) {
+ this.$message.error('娣诲姞鏉ユ簮椤讳负鎵嬪姩鍜屽悓姝�')
+ return
+ }
+ interrelatedOrder({
+ customerOrderAutoId: autoId,
+ customerOrderHandId: handId,
+ })
+ .then((res) => {
+ if (res.status === 200) {
+ this.$message.success('鍏宠仈鎴愬姛')
+ }
+ })
+ .catch((error) => {
+ console.error(error)
+ })
+ },
+ //灞曠ず宸插叧鑱旇鍗�
+ showInterrelatedOrder(currentOrder) {
+ this.interrelatedOrderId = currentOrder.id
+ this.showInterrelatedOrderDialog = true
+ },
+ //涓嬭浇鎺掍骇閫氱煡鍗�
+ downloadProductionScheduling(){
+ let ids = this.multipleSelection.map(obj => obj.id)
+ if(ids.length<1){
+ this.$message.error("璇烽�夋嫨涓�鏉℃暟鎹�")
+ return
+ }
+ downloadProduct(ids).then(res=>{
+ if(res.status===200){
+ transform(res)
+ }
+ }).catch(error=>{
+ console.error(error)
+ })
+ },
+ //涓嬭浇宸ヨ壓鏂囦欢
+ downloadWord(){
+ let ids = this.multipleSelection.map(ele=>ele.id)
+ if(ids.length<1){
+ this.$message.error("璇烽�夋嫨涓�鏉℃暟鎹�")
+ return
+ }
+ downloadWordFile(ids).then(response=>{
+ // 澶勭悊杩斿洖鐨勬枃浠舵祦
+ const blob = response.data
+ const link = document.createElement('a')
+ link.href = URL.createObjectURL(blob)
+ const disposition = response.headers['content-disposition']
+ let temp = disposition.substring(disposition.lastIndexOf('=') + 1)
+ link.download = decodeURI(temp)
+ document.body.appendChild(link)
+ link.click()
+ window.setTimeout(function () {
+ URL.revokeObjectURL(blob)
+ document.body.removeChild(link)
+ }, 0)
+ })
+ .catch((error) => {
+ console.error(error)
+ })
+ },
getOtcPartSyncOptionList() {
return this.otcPartSyncOptionList
},
@@ -917,7 +1197,7 @@
queryParam.push(
Object.assign({
prop: 'coState',
- searchInfoType: 'select'
+ searchInfoType: 'select',
// propVal: '01partUnCheck'
// propVal: '02technologyUnCheck'
})
@@ -926,8 +1206,9 @@
this.getData()
},
- getData() {
- this.$refs.customerOrderTable.getDataList()
+ async getData() {
+ await this.$refs.customerOrderTable.getDataList()
+ this.$refs.customerOrderTable.toggleRowExpansion()
},
// 鑾峰彇鏁版嵁鍒楄〃鍘婚櫎宸插畬鎴愮姸鎬佺殑
handleDataList(command) {
@@ -973,6 +1254,18 @@
this.$message.error('璇烽�夋嫨閿�鍞鍗�')
}
},
+ checkIsPass(row, column, cellValue) {
+ this.isPassList.forEach((obj) => {
+ if (obj.value === cellValue) {
+ if (obj.value) {
+ cellValue = "<span style='color:#34BD66;'>" + obj.label + '</span>'
+ } else {
+ cellValue = "<span style='color:#E84738;'>" + obj.label + '</span>'
+ }
+ }
+ })
+ return cellValue
+ },
formatDutyDate(row, column, cellValue) {
if (cellValue) {
const dutyDateList = /\d{4}-\d{1,2}-\d{1,2}/g.exec(cellValue)
@@ -984,16 +1277,23 @@
},
// 鏂板 / 淇敼
addOrUpdateHandle(row) {
- this.addOrUpdateVisible = true
- this.$nextTick(() => {
- this.$refs.addOrUpdate.init(row ? row.id : row)
- })
+ if (row.isPass) {
+ this.addOrUpdateVisible = true
+ this.$nextTick(() => {
+ this.$refs.addOrUpdate.init(row ? row.id : row)
+ })
+ } else {
+ this.addSampleVisible = true
+ this.$nextTick(() => {
+ this.$refs.addSampleForm.init(row ? row.contractNo : null)
+ })
+ }
},
// 鏂板鏍峰搧璁㈠崟
addSampleCustomerOrder() {
this.addSampleVisible = true
this.$nextTick(() => {
- this.$refs.addSampleForm.init(0)
+ this.$refs.addSampleForm.init(null)
})
},
// 鎵撳紑鏃ユ湡閫夋嫨妗�
@@ -1050,45 +1350,34 @@
// 瀹℃牳閿�鍞鍗�
auditCustomerOrder() {
if (this.multipleSelection.length > 0) {
- if (this.judgeCoState(this.multipleSelection)) {
- let flag = true
- const ids = []
- this.multipleSelection.forEach((item) => {
- if (item.partNo != null && item.partNo !== '') {
- ids.push(item.id)
- } else {
- flag = false
- }
- })
- if (flag) {
- checkOA(this.multipleSelection.map((e) => e.id)).then((res) => {
- if (!res.data.data.success) {
- this.$confirm(`${res.data.data.message}`, '鎻愮ず', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- closeOnClickModal: false,
- type: 'warning'
- }).then(() => {
- this.auditCustomerOrderSure(ids)
- })
- } else {
- this.auditCustomerOrderSure(ids)
- }
- })
+ let flag = true
+ const ids = []
+ this.multipleSelection.forEach((item) => {
+ if (item.partNo != null && item.partNo !== '') {
+ ids.push(item.id)
} else {
- this.$message.error('瀛樺湪閿�鍞鍗曟湭缁戝畾閿�鍞欢锛�')
+ flag = false
}
+ })
+ if (flag) {
+ checkOA(
+ this.multipleSelection.map((e) => e.id)
+ ).then((res) => {
+ if (res.data.data.success) {
+ this.auditCustomerOrderSure(ids)
+ }
+ }).catch(error=>{
+ this.$message.error(error.message)
+ })
} else {
- this.$message.error('閿�鍞鍗曞鏍哥姸鎬佷负浣滃簾锛屼笉鍙繘琛屾搷浣滐紒')
+ this.$message.error('瀛樺湪閿�鍞鍗曟湭缁戝畾闆朵欢鍙凤紒')
}
} else {
this.$message.error('璇峰厛鍕鹃�夐攢鍞鍗曪紒')
}
},
auditCustomerOrderSure(ids) {
- const toolbar = this.table.toolbar.find(
- (item) => item.text === '鎻愪氦瀹℃牳'
- )
+ const toolbar = this.table.toolbar.find((item) => item.text === '鎻愪氦OA')
if (toolbar) {
toolbar.loading = true
auditCustomerOrder(ids)
@@ -1098,7 +1387,7 @@
this.$message.success(resData.msg)
this.getData()
} else {
- this.$message.error('鎻愪氦瀹℃牳澶辫触锛�')
+ this.$message.error('鎻愪氦OA澶辫触锛�')
}
toolbar.loading = false
})
@@ -1116,7 +1405,7 @@
id: row.id,
customerOrderNo: row.customerOrderNo,
splitQuantity: '',
- title: ''
+ title: '',
}
this.$nextTick(() => {
this.$refs.packageExportForm.resetFields()
@@ -1132,7 +1421,7 @@
exportCustomerOrderSplit({
id: this.packageExport.form.id,
splitQuantity: this.packageExport.form.splitQuantity,
- title: this.packageExport.form.title
+ title: this.packageExport.form.title,
})
.then((response) => {
transform(response)
@@ -1146,13 +1435,13 @@
},
// 浣滃簾
cancelHandle(row) {
- this.$confirm('纭浣滃簾id涓恒��' + row.id + '銆戠殑鏁版嵁?','鎻愮ず' , {
+ this.$confirm('纭浣滃簾id涓恒��' + row.id + '銆戠殑鏁版嵁?', '鎻愮ず', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
closeOnClickModal: false,
- type: 'warning'
+ type: 'warning',
}).then(() => {
- dropByContractNo({id:row.id}).then((res) => {
+ dropByContractNo({ id: row.id }).then((res) => {
if (res.data.code === 0) {
this.$message.success('浣滃簾鎴愬姛')
this.getData()
@@ -1187,7 +1476,7 @@
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
closeOnClickModal: false,
- type: 'warning'
+ type: 'warning',
})
.then(() => {
return delCustomerOrder(row.id)
@@ -1201,7 +1490,7 @@
handleSelectionChange(val) {
// 鏍规嵁鐘舵�侊紝绂佺敤琛ㄥご鎸夐挳
// 绛涢�夊嚭閫変腑璁板綍鐨勭姸鎬�
- var stateArr = val.map(function(value, index) {
+ var stateArr = val.map(function (value, index) {
return value.coState
})
// 閫変腑鐘舵�佹暟缁勫厓绱犲幓閲�
@@ -1223,6 +1512,21 @@
this.stateTagArr[i].disabled = false
} else {
this.stateTagArr[i].disabled = true
+ }
+ }
+ // 寰幆琛ㄥご鎸夐挳锛屽垽鏂瘡涓寜閽殑permitArr鏄惁瀹屽叏鍖呭惈閫変腑鐘舵�侊紝鑻ュ畬鍏ㄥ寘鍚紝鍒欐寜閽寒锛屽惁鍒欐寜閽伆
+ var toolbar = this.table.toolbar
+ for (var j = 0; j < toolbar.length; j++) {
+ if (
+ uniqueStateArr.every((val) =>
+ toolbar[j].permitArr.length <= 0
+ ? true
+ : toolbar[j].permitArr.includes(val)
+ )
+ ) {
+ toolbar[j].disabled = false
+ } else {
+ toolbar[j].disabled = true
}
}
this.multipleSelection = val
@@ -1271,6 +1575,14 @@
},
getIsAudit(row, column, cellValue) {
this.isAuditList.forEach((obj) => {
+ if (obj.value === cellValue) {
+ cellValue = obj.label
+ }
+ })
+ return cellValue
+ },
+ checkIsOa(row, column, cellValue) {
+ this.isOaList.forEach((obj) => {
if (obj.value === cellValue) {
cellValue = obj.label
}
@@ -1400,6 +1712,10 @@
} else {
if (this.judgeCoState(this.multipleSelection)) {
if (event == 'RELEVANCE') {
+ if (!this.multipleSelection[0].isPass) {
+ this.$message.error('璇峰厛瀹℃牳閫氳繃锛屽啀鍏宠仈宸ヨ壓鏂囦欢')
+ return
+ }
const firstPartNo = this.multipleSelection[0].partNo
this.multipleSelection.forEach((item) => {
if (item.isDocument) {
@@ -1492,7 +1808,7 @@
if (!isLt10M) {
this.$message({
message: '鏂囦欢澶у皬',
- type: 'warning'
+ type: 'warning',
})
}
return isLt10M
@@ -1504,7 +1820,7 @@
} else {
this.$message({
message: '涓婁紶鎴愬姛',
- type: 'success'
+ type: 'success',
})
this.getData()
}
@@ -1522,7 +1838,7 @@
downDataTemplate() {
uploadBatchTemplate().then((response) => {
const blob = new Blob([response.data], {
- type: 'application/force-download'
+ type: 'application/force-download',
})
const filename = decodeURI('妯℃澘鏂囦欢.xlsx')
// 鍒涘缓涓�涓秴閾炬帴锛屽皢鏂囦欢娴佽祴杩涘幓锛岀劧鍚庡疄鐜拌繖涓秴閾炬帴鐨勫崟鍑讳簨浠�
@@ -1562,10 +1878,10 @@
// } else {
// this.$message.error('璇烽�夋嫨鑷冲皯涓�鏉¢攢鍞鍗�')
// }
- this.$refs['exportForm'].validate(valid => {
- if(valid){
+ this.$refs['exportForm'].validate((valid) => {
+ if (valid) {
const exportTime = this.dataForm.exportTime
- let queryParam=this.$refs.customerOrderTable.getQueryParam();
+ let queryParam = this.$refs.customerOrderTable.getQueryParam()
queryParam.selectTime = exportTime
exportCustomerOrder(queryParam)
.then((response) => {
@@ -1607,7 +1923,7 @@
if (this.dataForm.selectTime != null && this.dataForm.selectTime != '') {
otcCustomerOrderSync({
selectTime: this.dataForm.selectTime,
- pathCode: '1'
+ pathCode: '1',
})
.then((response) => {
this.table.toolbar.find(
@@ -1635,7 +1951,41 @@
).loading = false
this.$message.error('璇峰厛閫夋嫨鏃ユ湡')
}
+ },
+ handleCheck(){
+ if (this.multipleSelection.length > 0) {
+ for(let i=0 ;i<this.multipleSelection.length;i++){
+ if(this.multipleSelection[i].sourceId==0){
+ this.$message.error('璇烽�夋嫨鎵嬪姩杈撳叆鐨勯攢鍞鍗�')
+ return;
+ }
+ if(this.multipleSelection[i].isPass){
+ this.$message.error('璇烽�夋嫨鏈鏍搁�氳繃鐨勯攢鍞鍗�')
+ return;
+ }
+ }
+ this.$confirm('纭瀹℃牳閫氳繃閫変腑鐨勯攢鍞鍗曞悧?', '鎻愮ず', {
+ confirmButtonText: '閫氳繃',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning',
+ })
+ .then(() => {
+ checkHanderOrder(this.multipleSelection)
+ .then((res) => {
+ if (res.status === 200) {
+ this.$message.success('瀹℃牳閫氳繃')
+ this.getData()
+ }
+ })
+ .catch((error) => {
+ console.error(error)
+ })
+ })
+ .catch(() => {})
+ } else {
+ this.$message.error('璇烽�夋嫨鑷冲皯涓�鏉¢攢鍞鍗�')
+ }
}
- }
+ },
}
</script>
--
Gitblit v1.9.3