<template>
|
<el-dialog
|
width="75%"
|
top="10vh"
|
:fullscreen="isFullScreen"
|
:close-on-click-modal="false"
|
:visible.sync="visible"
|
v-if="visible"
|
>
|
<template slot="title">
|
<i
|
:class="isFullScreen ? 'icon-zuixiaohua' : 'icon-quanpingzuidahua'"
|
style="position: absolute; right: 52px; float: right"
|
@click="fullscreen"
|
>
|
</i>
|
<span>销售订单</span>
|
<!-- <span>{{ title }}</span>-->
|
</template>
|
|
<el-form
|
:model="dataForm"
|
:rules="dataRule"
|
ref="dataForm"
|
label-width="100px"
|
class="l-mes"
|
:disabled="!editable"
|
>
|
<el-tabs type="border-card" ref="tabs" @tab-click="tabsClick">
|
<el-tab-pane label="主要" type="card">
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="同步数据来源" prop="sourceId">
|
<el-input
|
:value="dataForm.sourceId == 0 ? '外部' : '内部'"
|
placeholder=""
|
disabled
|
></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="订单号" prop="contractNo">
|
<el-input
|
v-model="dataForm.contractNo"
|
@blur="dataForm.contractNo = $event.target.value.trim()"
|
placeholder=""
|
:disabled="!ediSource"
|
></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="客户编号" prop="customerNo">
|
<el-input
|
v-model="dataForm.customerNo"
|
@blur="dataForm.customerNo = $event.target.value.trim()"
|
placeholder=""
|
:disabled="!ediSource"
|
></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="客户名称" prop="customerName">
|
<el-input
|
v-model="dataForm.customerName"
|
@blur="dataForm.customerName = $event.target.value.trim()"
|
placeholder=""
|
:disabled="!ediSource"
|
></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="客户订单状态" prop="coState">
|
<el-input
|
v-model="dataForm.coState"
|
placeholder=""
|
filterable
|
style="width: 100%"
|
disabled></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="期望交货时间" prop="deliveryDate">
|
<el-date-picker
|
v-model="dataForm.deliveryDate"
|
style="width: 100%"
|
type="datetime"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
:disabled="!ediSource"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="业务员" prop="salesMan">
|
<el-input
|
v-model="dataForm.salesMan"
|
placeholder=""
|
disabled
|
></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="制造属性" prop="manufactureAttr">
|
<el-select
|
v-model="dataForm.manufactureAttr"
|
placeholder=""
|
style="width: 100%"
|
:disabled="!ediSource"
|
>
|
<el-option
|
v-for="item in manufactureAttrs"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
:disabled="!ediSource"
|
/>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="销售数量" prop="buyQtyDue">
|
<el-input
|
v-model="dataForm.buyQtyDue"
|
placeholder=""
|
:disabled="!ediSource"
|
></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="产品名称" prop="productName">
|
<el-input
|
v-model="dataForm.productName"
|
placeholder=""
|
disabled
|
>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="隶属品牌" prop="productType">
|
<el-input
|
v-model="dataForm.productType"
|
placeholder=""
|
disabled
|
></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="销售件号" prop="partNo">
|
<el-input
|
v-model="dataForm.partNo"
|
placeholder=""
|
disabled
|
>
|
<!-- <el-button
|
slot="append"
|
icon="el-icon-search"
|
@click="openSalesPartDialog()"
|
v-show="dataForm.id"
|
></el-button> -->
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="工艺文件号" prop="docNumber">
|
<el-input
|
v-model="dataForm.docNumber"
|
placeholder=""
|
disabled
|
></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="工艺文件名称" prop="docName">
|
<el-input
|
v-model="dataForm.docName"
|
placeholder=""
|
disabled
|
></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="单位" prop="otcUnit">
|
<el-select
|
v-model="dataForm.otcUnit"
|
placeholder=""
|
filterable
|
style="width: 100%"
|
>
|
<el-option
|
v-for="item in units"
|
:key="item.id"
|
:label="item.label"
|
:value="item.value"
|
/>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="产品型号" prop="customerPartSpec">
|
<el-input
|
v-model="dataForm.customerPartSpec"
|
placeholder=""
|
disabled
|
></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="收货地址" prop="shippingAddress">
|
<el-input
|
v-model="dataForm.shippingAddress"
|
placeholder=""
|
></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="24">
|
<el-form-item label="订单备注" prop="comment">
|
<el-input
|
type="textarea"
|
:rows="3"
|
placeholder=""
|
v-model="dataForm.comment"
|
maxlength="500"
|
show-word-limit
|
>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="24">
|
<el-form-item label="产品备注" prop="remark">
|
<el-input
|
type="textarea"
|
:rows="3"
|
placeholder=""
|
v-model="dataForm.remark"
|
maxlength="500"
|
show-word-limit
|
>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-tab-pane>
|
<el-tab-pane label="OTC附件" type="card">
|
<el-table :data="fileList" style="width: 100%" height="500">
|
<el-table-column prop="original" label="文件名" align="center">
|
</el-table-column>
|
<el-table-column label="操作" width="100" align="center">
|
<template slot-scope="scope">
|
<span
|
style="cursor:pointer;color:#409eff;"
|
@click="uploadFile(scope.row)"
|
>下载</span
|
>
|
</template>
|
</el-table-column>
|
</el-table>
|
</el-tab-pane>
|
<el-tab-pane label="产出批次" v-if="false" type="card">
|
<div style="display: flex;justify-content:flex-end;">
|
<div></div>
|
</div>
|
<el-table :data="outputBatchTableData" height="400px">
|
<el-table-column
|
prop="otcCustomerOrderNo"
|
align="center"
|
label="OTC订单号"
|
show-overflow-tooltip
|
>
|
<template slot-scope="scope">
|
<span>{{ scope.row.otcCustomerOrderNo }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="otcLineNo"
|
align="center"
|
label="OTC行项号"
|
show-overflow-tooltip
|
>
|
</el-table-column>
|
<el-table-column
|
prop="snNo"
|
align="center"
|
label="SN号"
|
show-overflow-tooltip
|
>
|
</el-table-column>
|
<el-table-column prop="qty" align="center" label="段长">
|
</el-table-column>
|
<el-table-column prop="meterMark" align="center" label="米标">
|
</el-table-column>
|
<el-table-column prop="crccNumber" align="center" label="CRCC号">
|
</el-table-column>
|
<el-table-column prop="company" align="center" label="公司名称">
|
</el-table-column>
|
<el-table-column
|
prop="finishedProductSpecification"
|
align="center"
|
label="成品规格型号"
|
>
|
</el-table-column>
|
<el-table-column prop="ymd" align="center" label="年月日">
|
</el-table-column>
|
<el-table-column prop="begining" align="center" label="始端">
|
</el-table-column>
|
<el-table-column prop="ending" align="center" label="终端">
|
</el-table-column>
|
<el-table-column prop="purpose" align="center" label="用途">
|
</el-table-column>
|
<el-table-column prop="selfNo" align="center" label="自编号">
|
</el-table-column>
|
|
<el-table-column prop="direction" align="center" label="去向">
|
</el-table-column>
|
<el-table-column prop="section" align="center" label="区间">
|
</el-table-column>
|
<el-table-column prop="print" align="center" label="印字">
|
</el-table-column>
|
<el-table-column
|
prop="endClassification"
|
align="center"
|
label="端别"
|
>
|
</el-table-column>
|
<el-table-column
|
prop="orderUploadRemark"
|
align="center"
|
label="备注"
|
>
|
</el-table-column>
|
</el-table>
|
</el-tab-pane>
|
<el-tab-pane label="客户信息" type="card" v-if="false">
|
<el-row>
|
<el-col :span="12">
|
<el-form-item
|
label="客户采购订单号"
|
prop="customerPoNo"
|
label-width="180px"
|
>
|
<el-input
|
v-model="dataForm.customerPoNo"
|
placeholder=""
|
></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item
|
label="客户采购订单行号"
|
prop="customerPoLineNo"
|
label-width="180px"
|
>
|
<el-input
|
v-model="dataForm.customerPoLineNo"
|
placeholder=""
|
></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item
|
label="客户采购订单下达号"
|
prop="customerPoRelNo"
|
label-width="180px"
|
>
|
<el-input
|
v-model="dataForm.customerPoRelNo"
|
placeholder=""
|
></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item
|
label="客户零件号"
|
prop="customerPartNo"
|
label-width="180px"
|
>
|
<el-input
|
v-model="dataForm.customerPartNo"
|
placeholder=""
|
></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item
|
label="客户零件名称"
|
prop="customerPartName"
|
label-width="180px"
|
>
|
<el-input
|
v-model="dataForm.customerPartName"
|
placeholder=""
|
></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item
|
label="客户销售数量"
|
prop="customerPartBuyQty"
|
label-width="180px"
|
>
|
<el-input
|
v-model="dataForm.customerPartBuyQty"
|
placeholder=""
|
></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item
|
label="客户计量单位"
|
prop="customerPartUnitMeas"
|
label-width="180px"
|
>
|
<el-select
|
v-model="dataForm.customerPartUnitMeas"
|
placeholder=""
|
filterable
|
style="width: 100%"
|
>
|
<el-option
|
v-for="item in units"
|
:key="item.id"
|
:label="item.label"
|
:value="item.value"
|
/>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item
|
label="客户零件转换系数"
|
prop="custPartConvFactor"
|
label-width="180px"
|
>
|
<el-input
|
v-model="dataForm.custPartConvFactor"
|
placeholder=""
|
></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item
|
label="客户零件反向转换系数"
|
prop="custPartInvertConvFactor"
|
label-width="180px"
|
>
|
<el-input
|
v-model="dataForm.custPartInvertConvFactor"
|
placeholder=""
|
></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-tab-pane>
|
<el-tab-pane label="附件上传" type="card">
|
<div style="display: flex;justify-content:flex-end;">
|
<div></div>
|
</div>
|
<div
|
v-loading="progrecessFileLoading"
|
element-loading-text="请稍等,文件上传中"
|
>
|
<el-upload
|
drag
|
ref="upload"
|
action="/mes/plan/customerOrder/upload"
|
:auto-upload="true"
|
:headers="headers"
|
:before-upload="submitUpload"
|
:on-success="uploadSuccess"
|
:data="paramData"
|
:with-credentials="true"
|
:show-file-list="false"
|
>
|
<i class="el-icon-upload"></i>
|
<div class="el-upload__text">
|
将文件拖到此处,或<em>点击上传</em>
|
</div>
|
</el-upload>
|
</div>
|
|
<el-table :data="processConfigFileTableData" height="400px">
|
<el-table-column
|
prop="orderNumber"
|
align="center"
|
label="订单号"
|
show-overflow-tooltip
|
>
|
</el-table-column>
|
<el-table-column
|
prop="originalFileName"
|
align="center"
|
label="原文件名"
|
width="200"
|
>
|
</el-table-column>
|
<el-table-column prop="fileName" align="center" label="文件后缀">
|
</el-table-column>
|
<el-table-column prop="createUser" align="center" label="上传人">
|
</el-table-column>
|
<el-table-column
|
prop="createTime"
|
align="center"
|
label="上传时间"
|
show-overflow-tooltip
|
>
|
</el-table-column>
|
<el-table-column prop="updateUser" align="center" label="更新人">
|
</el-table-column>
|
<el-table-column
|
prop="updateTime"
|
align="center"
|
label="更新时间"
|
show-overflow-tooltip
|
>
|
</el-table-column>
|
<el-table-column fixed="right" align="center" label="操作">
|
<template slot-scope="scope">
|
<el-button
|
@click="delProcessConfigFile(scope.row)"
|
type="text"
|
size="small"
|
:disabled="scope.row.lineNumber !== dataForm.customerNo"
|
>删除</el-button
|
>
|
<el-button
|
@click="downloadProcessConfigFile(scope.row)"
|
type="text"
|
size="small"
|
>下载</el-button
|
>
|
</template>
|
</el-table-column>
|
</el-table>
|
</el-tab-pane>
|
</el-tabs>
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
<el-button @click="visible = false">取消</el-button>
|
<el-button
|
type="primary"
|
:disabled="buttonDisable"
|
v-thinclick="`dataFormSubmit`"
|
v-if="editable"
|
>确定</el-button
|
>
|
</span>
|
|
<part-dialog
|
:currshowlist.sync="showPart"
|
@listenToPartEvent="selectPart"
|
/>
|
<SalesPartDialog
|
:currshowlist.sync="showSalesPart"
|
:customerOrderInfo="customerOrderInfo"
|
@listenToPartEvent="selectSalesPart"
|
/>
|
<SynchronizeDialog
|
:currshowlist.sync="showSynchronize"
|
@listenToPartEvent="selectSynchronizePart"
|
:param-obj="selectOrderParam"
|
:parentSelectedObj="selectOrderObj"
|
/>
|
<config-history
|
:currshowlist.sync="historyShow"
|
@listenToPartEvent="selectHistory"
|
/>
|
<OtherCustomerOrderLine
|
:currshowlist.sync="showOtherCustomerOrder"
|
:configContent="configContent"
|
:otherCustomerOrderLineList="otherCustomerOrderLineList"
|
:customerOrderId="dataForm.id"
|
@refreshCustomerOrderForm="refreshCustomerOrderForm"
|
></OtherCustomerOrderLine>
|
</el-dialog>
|
</template>
|
|
<script>
|
import {
|
getCustomerOrder,
|
addCustomerOrder,
|
updateCustomerOrderById,
|
download,
|
getOtcCustomerOrderFileList,
|
otcDownload,
|
getProcessConfigFiles,
|
updateConfigFileEffectiveRange,
|
deleteProcessConfigFile,
|
downloadProcessConfigFile,
|
} from '@/api/plan/customerorder'
|
import { remote } from '@/api/admin/dict'
|
import PartDialog from '@/views/common/part.vue'
|
import ConfigHistory from '@/views/plan/customerorder/customerorder-config-history'
|
import SalesPartDialog from './sales-part.vue'
|
import SynchronizeDialog from './synchronize-part.vue'
|
import { validateSixDecimal } from '@/util/validate'
|
import { getStore } from '@/util/store'
|
import RichText from '@/views/common/rich-text.vue'
|
import OtherCustomerOrderLine from './other-customer-order-line'
|
|
const defaultConfigTableData = {
|
configId: 0,
|
frequency: '', // 频率
|
deliveryReduce: '', // 最大传送衰减
|
couplingLoss: '' // 耦合损耗
|
}
|
export default {
|
components: {
|
PartDialog,
|
SalesPartDialog,
|
SynchronizeDialog,
|
RichText,
|
ConfigHistory,
|
OtherCustomerOrderLine
|
},
|
data() {
|
return {
|
progrecessFileLoading: false,
|
fileList: [],
|
title: '',
|
orderParamList: [],
|
isFullScreen: false,
|
visible: false,
|
buttonDisable: false,
|
showPart: false,
|
showSynchronize: false,
|
selectOrderParam: null,
|
selectOrderObj: {},
|
dataForm: {
|
id: 0,
|
sourceId: '',
|
contractNo: '',
|
customerNo: '',
|
customerName: '',
|
returnStatus: '',
|
deliveryDate: '',
|
salesMan: '',
|
salerWorkCode: '',
|
manufactureAttr: '',
|
buyQtyDue: 0,
|
productName: '',
|
productType: '',
|
partNo: '',
|
docNumber: '',
|
docName: '',
|
shippingAddress: '',
|
remark: '',
|
otcUnit: '',
|
coState: '',
|
customerPartSpec: '',
|
entityName: '',
|
factoryPlaceOrderDate: '',
|
isCp: '',
|
originalContractStatus: '',
|
placeOrderDate: '',
|
province: '',
|
|
customerOrderNo: '',
|
coLineNo: '',
|
customerPartName: '',
|
otcQuantity: '',
|
wantedDeliveryDate: '',
|
plannedDeliveryDate: '',
|
customerPoNo: '',
|
customerPoLineNo: '',
|
customerPoRelNo: '',
|
customerPartNo: '',
|
customerPartBuyQty: '',
|
customerPartUnitMeas: '',
|
custPartConvFactor: '',
|
custPartInvertConvFactor: '',
|
salesPartNo: null,
|
salesPartName: null,
|
ifsSalesUnit: null,
|
ifsConvFactor: null,
|
unit: null,
|
otcQuantity: null,
|
division: null,
|
printType: null,
|
printingRequirements: null,
|
printContent: null,
|
packageRequire: null,
|
qualityRequire: null,
|
otherProductRequire: null,
|
divisionSystem: null,
|
lengthRequirement: null,
|
otcPartSync: null,
|
finalCustomerName: null,
|
productGroup: null,
|
centralizedMiningProperty: null,
|
orderDescription: null,
|
otcLineNo: null,
|
comment: null
|
},
|
dataRule: {
|
sourceId: [],
|
customerOrderNo: [
|
{ required: true, message: '客户订单号不能为空', trigger: 'blur' }
|
],
|
customerNo: [
|
{ required: true, message: '客户编号不能为空', trigger: 'blur' }
|
],
|
customerName: [
|
{ required: true, message: '客户名称不能为空', trigger: 'blur' }
|
],
|
coState: [],
|
coLineNo: [],
|
partNo: [{ required: true, message: '零件不能为空', trigger: 'blur' }],
|
otcQuantity: [
|
{ required: true, message: '销售数量不能为空', trigger: 'blur' },
|
{ validator: validateSixDecimal, trigger: 'blur' }
|
],
|
wantedDeliveryDate: [
|
{ required: true, message: '期望交货时间不能为空', trigger: 'blur' }
|
],
|
customerPoNo: [],
|
customerPoLineNo: [],
|
customerPoRelNo: [],
|
customerPartNo: [],
|
customerPartBuyQty: [
|
{ validator: validateSixDecimal, trigger: 'blur' }
|
],
|
customerPartUnitMeas: [],
|
custPartConvFactor: [
|
{ validator: validateSixDecimal, trigger: 'blur' }
|
],
|
custPartInvertConvFactor: [
|
{ validator: validateSixDecimal, trigger: 'blur' }
|
],
|
salesPartNo: [
|
{ required: true, message: '销售件号不能为空', trigger: 'blur' }
|
],
|
salesPartName: [
|
{ required: true, message: '销售件描述不能为空', trigger: 'blur' }
|
]
|
},
|
units: [],
|
coStates: [
|
{
|
value: '01partUnCheck',
|
label: '零件待选'
|
},
|
{
|
value: '02technologyUnCheck',
|
label: '工艺文件待选'
|
},
|
{
|
value: '03plan',
|
label: '待计划'
|
},
|
{
|
value: '04planed',
|
label: '已下发'
|
},
|
{
|
value: '05cancel',
|
label: '已作废'
|
},
|
{
|
value: '06unedit',
|
label: '订单编辑'
|
}
|
],
|
showSalesPart: false,
|
customerOrderInfo: null,
|
manufactureAttrs: [],
|
outputBatchTableData: [],
|
processConfigFileTableData: [],
|
paramData: {
|
// range: '1',
|
orderNumber: '',
|
lineNumber: ''
|
},
|
headers: {
|
Authorization: 'Bearer ' + getStore({ name: 'access_token' })
|
},
|
// 模板1配置单内容
|
configContent: {
|
modelType: '01', // 模板类型 01 02
|
orderId: '',
|
orderNumber: '',
|
id: '',
|
proNo: '',
|
proName: '',
|
printReq: '', // 印字要求
|
remark1: '',
|
remark2: '',
|
remark3: '',
|
remark4: '',
|
realPrintReq: '', // 实际印字要求
|
cableCore: '', // 发泡缆芯
|
modelCore: '', // 模芯
|
modelSleeve: '', // 模套
|
sizingModel: '', // 定径模
|
strandModel: '', // 过模
|
workFrequency: '', // 工作频带内驻波比
|
frequencyRange: '', // 频率范围
|
resistance: '', // 直流电阻
|
processConfigDataList: [] // 附表
|
},
|
historyShow: false,
|
showOtherCustomerOrder: false,
|
otherCustomerOrderLineList: []
|
}
|
},
|
computed: {
|
editable: function() {
|
if (!this.dataForm.id) {
|
return true
|
}
|
if (this.dataForm.id && this.dataForm.coState !== '04complete') {
|
return true
|
}
|
return false
|
},
|
ediSource: function() {
|
if (!this.dataForm.id) {
|
return true
|
}
|
if (this.dataForm.id && (this.dataForm.sourceId != null && this.dataForm.sourceId !== 'GSM')) {
|
return true
|
}
|
return false
|
}
|
},
|
mounted: function() {
|
this.getDicUnit('unit') // 获取单位
|
this.getManufactureAttrs('manufacture_attr_type')
|
},
|
methods: {
|
tabsClick(tab,even){
|
if(tab.index == 2){
|
this.getConfigFiles();
|
}
|
},
|
init(id) {
|
this.orderParamList = []
|
this.dataForm.id = id || 0
|
this.visible = true
|
this.dataForm.coState = '01partUnCheck'
|
this.$nextTick(() => {
|
this.$refs.dataForm.resetFields()
|
if (this.dataForm.id) {
|
getCustomerOrder(this.dataForm.id).then((response) => {
|
this.dataForm = response.data.data
|
const sourceId = response.data.data.sourceId
|
if(sourceId === '0'){
|
this.getFileList()
|
}
|
this.orderParamList = response.data.data.orderParamList
|
this.title =
|
this.dataForm.customerName + this.dataForm.customerOrderNo
|
// 产出批次
|
this.outputBatchTableData = response.data.data.outPutBatchList
|
// 工艺附件
|
this.processConfigFileTableData = response.data.data.configFiles
|
// 工艺配置单
|
if (response.data.data.processConfigDTO) {
|
// 有保存的数据
|
this.configContent = response.data.data.processConfigDTO
|
} else {
|
// 没数据
|
this.configContent = {
|
modelType: '01', // 模板类型 01 02
|
orderId: this.dataForm.id,
|
orderNumber: response.data.data.customerOrderNo,
|
id: '',
|
proNo: response.data.data.customerOrderNo,
|
proName: response.data.data.customerName,
|
printReq: '', // 印字要求
|
remark1: '',
|
remark2: '',
|
remark3: '',
|
remark4: '',
|
realPrintReq: '', // 实际印字要求
|
cableCore: '', // 发泡缆芯
|
modelCore: '', // 模芯
|
modelSleeve: '', // 模套
|
sizingModel: '', // 定径模
|
strandModel: '', // 过模
|
workFrequency: '', // 工作频带内驻波比
|
frequencyRange: '', // 频率范围
|
resistance: '', // 直流电阻
|
processConfigDataList: [] // 附表
|
}
|
for (let i = 0; i < 15; i++) {
|
this.configContent.processConfigDataList.push(
|
Object.assign({}, defaultConfigTableData)
|
)
|
}
|
}
|
let val=""
|
this.coStates.forEach(item=>{
|
if(item.value==this.dataForm.coState){
|
val=item.label
|
}
|
})
|
this.dataForm.coState=val
|
})
|
} else {
|
this.title = '新增'
|
this.$refs.tabs.currentName = '0'
|
}
|
})
|
},
|
|
getFileList() {
|
this.fileList = []
|
const queryParam = { orderNumber: this.dataForm.contractNo }
|
getOtcCustomerOrderFileList(queryParam).then((response) => {
|
const resData = response.data
|
if (resData.code === 0) {
|
const datas = resData.data
|
if (datas.length > 0) {
|
this.fileList = datas
|
}
|
} else {
|
this.$message.error('获取附件失败')
|
}
|
})
|
},
|
uploadFile(row) {
|
otcDownload(row.id).then((response) => {
|
const blob = new Blob([response.data], {
|
type: 'application/force-download'
|
})
|
const filename = decodeURI(row.original)
|
// 创建一个超链接,将文件流赋进去,然后实现这个超链接的单击事件
|
const elink = document.createElement('a')
|
elink.download = filename
|
elink.style.display = 'none'
|
elink.href = URL.createObjectURL(blob)
|
document.body.appendChild(elink)
|
elink.click()
|
URL.revokeObjectURL(elink.href) // 释放URL 对象
|
document.body.removeChild(elink)
|
})
|
},
|
// 附件的点击
|
handlePreview(file) {
|
download(file.name, this.dataForm.id).then((response) => {
|
const blob = new Blob([response.data], {
|
type: 'application/force-download'
|
})
|
const filename = decodeURI(file.name)
|
// 创建一个超链接,将文件流赋进去,然后实现这个超链接的单击事件
|
const elink = document.createElement('a')
|
elink.download = filename
|
elink.style.display = 'none'
|
elink.href = URL.createObjectURL(blob)
|
document.body.appendChild(elink)
|
elink.click()
|
URL.revokeObjectURL(elink.href) // 释放URL 对象
|
document.body.removeChild(elink)
|
})
|
},
|
// 表单提交
|
dataFormSubmit() {
|
this.buttonDisable = true
|
this.$refs.dataForm.validate((valid) => {
|
if (valid) {
|
if (this.dataForm.id) {
|
updateCustomerOrderById(this.dataForm).then((data) => {
|
this.$message.success('修改成功')
|
this.visible = false
|
this.buttonDisable = false
|
this.$emit('refreshDataList', 1)
|
}).catch((error) => {
|
this.buttonDisable = false
|
})
|
} else {
|
addCustomerOrder(this.dataForm).then((data) => {
|
this.$message.success('添加成功')
|
this.visible = false
|
this.buttonDisable = false
|
this.$emit('refreshDataList', 1)
|
}).catch((error) => {
|
this.buttonDisable = false
|
})
|
}
|
} else {
|
this.buttonDisable = false
|
}
|
})
|
},
|
// 零件选择
|
openPartDialog() {
|
if (
|
this.dataForm.coState === '01partUnCheck' ||
|
this.dataForm.coState === '02technologyUnCheck'
|
) {
|
this.showPart = true
|
} else {
|
this.$message.warning(
|
'订单只有在【零件待选】、【工艺文件待选】状态下,才能进行零件修改'
|
)
|
}
|
},
|
selectPart(part) {
|
if (part) {
|
this.dataForm.partNo = part.partNo
|
this.$refs.dataForm.validateField('partNo', (valid) => {})
|
}
|
},
|
// 全屏
|
fullscreen() {
|
this.isFullScreen = !this.isFullScreen
|
},
|
// 获取字典显示名称并缓存
|
getDicUnit(type) {
|
remote(type).then((response) => {
|
const code = response.data.code
|
if (code === 0) {
|
const _data = response.data.data
|
this.units = _data
|
}
|
})
|
},
|
getManufactureAttrs(type) {
|
remote(type).then((response) => {
|
const code = response.data.code
|
if (code === 0) {
|
const _data = response.data.data
|
this.manufactureAttrs = _data
|
}
|
})
|
},
|
// 打开销售件的弹出框
|
openSalesPartDialog() {
|
if (
|
this.dataForm.coState === '01partUnCheck' ||
|
this.dataForm.coState === '02technologyUnCheck'
|
) {
|
this.customerOrderInfo = {
|
id: this.dataForm.id,
|
unit: this.dataForm.unit,
|
otcUnit: this.dataForm.otcUnit
|
}
|
this.showSalesPart = true
|
} else {
|
this.$message.warning(
|
'订单只有在【零件待选】、【工艺文件待选】状态下,才能进行销售件修改'
|
)
|
}
|
},
|
// 选择销售件后的回调
|
selectSalesPart(row) {
|
this.dataForm.partNo = row.partNo
|
this.dataForm.salesPartNo = row.salesPartNo
|
this.dataForm.salesPartName = row.salesPartName
|
this.dataForm.ifsSalesUnit = row.ifsSalesUnit
|
this.dataForm.ifsConvFactor = row.ifsConvFactor
|
this.dataForm.unit = row.unit
|
},
|
submitUpload() {
|
this.paramData.orderNumber = this.dataForm.contractNo
|
this.paramData.lineNumber = this.dataForm.customerNo
|
this.progrecessFileLoading = true
|
},
|
uploadSuccess() {
|
this.progrecessFileLoading = false
|
this.getConfigFiles()
|
},
|
getConfigFiles() {
|
const param = {
|
orderNumber: this.dataForm.contractNo,
|
lineNumber: this.dataForm.customerNo
|
}
|
getProcessConfigFiles(param).then((res) => {
|
this.processConfigFileTableData = res.data.data
|
})
|
},
|
// 同步文件
|
synchronizeFile(row) {
|
this.selectOrderParam = {
|
customerOrderNo: row.orderNumber
|
}
|
this.selectOrderObj = row
|
this.showSynchronize = true
|
},
|
// 同步文件后的回调
|
selectSynchronizePart(row) {
|
this.getConfigFiles()
|
},
|
delProcessConfigFile(row) {
|
// if (row.lineNumber !== this.dataForm.otcLineNo) {
|
// this.$message.error('上传文件行号与当前销售订单行号不一致,不允许删除')
|
// } else {
|
// this.$confirm('是否删除工艺配置文件', '提示', {
|
// confirmButtonText: '确定',
|
// cancelButtonText: '取消',
|
// type: 'warning',
|
// closeOnClickModal: false
|
// })
|
// .then(function() {
|
// return deleteProcessConfigFile(row.id)
|
// })
|
// .then((data) => {
|
// this.getConfigFiles()
|
// })
|
// }
|
this.$confirm('是否删除工艺配置文件', '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning',
|
closeOnClickModal: false
|
})
|
.then(function() {
|
return deleteProcessConfigFile(row.id)
|
})
|
.then((data) => {
|
this.getConfigFiles()
|
})
|
},
|
downloadProcessConfigFile(row) {
|
downloadProcessConfigFile(
|
row.fileName,
|
row.bucketName,
|
row.originalFileName
|
)
|
},
|
handleInput(row) {
|
if (row.lineNumber !== this.dataForm.otcLineNo) {
|
this.$message.error('上传文件行号与当前销售订单行号不一致,不允许修改')
|
} else {
|
row.effectiveRange = row.effectiveRange === '1' ? '0' : '1'
|
updateConfigFileEffectiveRange(row).then((res) => {
|
this.getConfigFiles()
|
})
|
}
|
},
|
// 获取确认
|
selectHistory(data) {
|
if (data) {
|
this.configContent.proName = data.proName
|
this.configContent.printReq = data.printReq
|
this.configContent.remark1 = data.remark1
|
this.configContent.remark2 = data.remark2
|
this.configContent.remark3 = data.remark3
|
this.configContent.remark4 = data.remark4
|
this.configContent.realPrintReq = data.realPrintReq
|
this.configContent.cableCore = data.cableCore
|
this.configContent.modelCore = data.modelCore
|
this.configContent.modelSleeve = data.modelSleeve
|
this.configContent.sizingModel = data.sizingModel
|
this.configContent.strandModel = data.strandModel
|
this.configContent.workFrequency = data.workFrequency
|
this.configContent.frequencyRange = data.frequencyRange
|
this.configContent.resistance = data.resistance
|
this.configContent.processConfigDataList = data.processConfigDataList
|
}
|
},
|
refreshCustomerOrderForm(orderId) {
|
this.init(orderId)
|
}
|
}
|
}
|
</script>
|
<style scoped lang="scss">
|
.node-content-remark > div {
|
/deep/ .quill-editor {
|
.ql-container {
|
height: 450px;
|
overflow: auto;
|
}
|
}
|
//&:last-child {
|
// /deep/ .quill-editor .ql-container {
|
// height: 100px;
|
// overflow: auto;
|
// }
|
//}
|
}
|
|
.node-content-remark2 > div {
|
/deep/ .quill-editor {
|
.ql-container {
|
height: 100px;
|
overflow: auto;
|
}
|
}
|
}
|
.configform1 {
|
.el-input {
|
width: 300px;
|
}
|
}
|
.configform2 {
|
/deep/ .el-form-item__content {
|
width: 70% !important;
|
}
|
.el-input {
|
width: 100%;
|
}
|
}
|
|
.bodyrow {
|
.el-input {
|
width: 80%;
|
}
|
.form-item {
|
text-align: center;
|
}
|
}
|
</style>
|