|
|
|
@ -144,68 +144,156 @@ |
|
|
|
</el-pagination> |
|
|
|
|
|
|
|
<!-- 打样模态框 --> |
|
|
|
<el-dialog :title="modalData.title" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="495px"> |
|
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
<el-form-item prop="customerDesc" :rules="rules.customerDesc"> |
|
|
|
<span slot="label" style="" @click="getBaseList(102,1)"><a herf="#">客户</a></span> |
|
|
|
<el-input v-model="modalData.customerDesc" style="width: 221px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item prop="trackerName" :rules="rules.trackerName"> |
|
|
|
<span slot="label" style="" @click="getBaseList(103,1)"><a herf="#">跟单员</a></span> |
|
|
|
<el-input v-model="modalData.trackerName" style="width: 221px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
<el-form-item prop="projectName" :rules="rules.projectName"> |
|
|
|
<span slot="label" style="" @click="getBaseList(104,1)"><a herf="#">项目</a></span> |
|
|
|
<el-input v-model="modalData.projectName" style="width: 221px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item prop="engineerName" :rules="rules.engineerName"> |
|
|
|
<span slot="label" style="" @click="getBaseList(103,2)"><a herf="#">工程师</a></span> |
|
|
|
<el-input v-model="modalData.engineerName" style="width: 221px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
<el-form-item prop="partName" :rules="rules.partName"> |
|
|
|
<span slot="label" @click="getProjectPartList()"><a>项目物料</a></span> |
|
|
|
<el-input v-model="modalData.partName" style="width: 221px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="优先等级" prop="priorityLevel" :rules="rules.priorityLevel"> |
|
|
|
<el-select v-model="modalData.priorityLevel" style="width: 221px"> |
|
|
|
<el-option label="一般" value="一般"></el-option> |
|
|
|
<el-option label="紧急" value="紧急"></el-option> |
|
|
|
<el-option label="重要" value="重要"></el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
<el-form-item label="要求交付日期" prop="requiredDeliveryDate" :rules="rules.requiredDeliveryDate"> |
|
|
|
<el-date-picker v-model="modalData.requiredDeliveryDate" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 142px"></el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="收货人"> |
|
|
|
<el-input v-model="modalData.consignee" style="width: 142px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="收货人联系方式"> |
|
|
|
<el-input v-model="modalData.consigneeContact" style="width: 142px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
<el-form-item label="是否需要送样"> |
|
|
|
<input type="checkbox" value="Y" name="sendSamples" v-model="modalData.isNeedToSendSamples"/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="送样地址"> |
|
|
|
<el-input v-model="modalData.sendSamplesAddress" style="width: 369px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="备注"> |
|
|
|
<el-input v-model="modalData.remark" style="width: 456px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
<el-form-item label="技术注意事项"> |
|
|
|
<el-input type="textarea" v-model="modalData.technicalConsiderations" :rows="3" resize='none' show-word-limit style="width: 456px;height: 20px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-dialog :title="modalData.title" @close="closeModalDiaLog" @open="getProjectPartList()" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" top="10vh" width="60%"> |
|
|
|
<el-form label-position="top" ref="modalForm" :model="modalData" :rules="rules"> |
|
|
|
<el-row :gutter="15"> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-row :gutter="10"> |
|
|
|
<el-col :span="10"> |
|
|
|
<el-form-item prop="customerNo" label="客户编码"> |
|
|
|
<span slot="label" v-if="modalData.flag === '1'" @click="getBaseList(102,1)"><a herf="#">客户编码</a></span> |
|
|
|
<el-input :disabled="modalData.flag !== '1'" v-model="modalData.customerNo" :readonly="true"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="14"> |
|
|
|
<el-form-item label=" "> |
|
|
|
<el-input disabled v-model="modalData.customerDesc"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
</el-col> |
|
|
|
<el-col :span="4"> |
|
|
|
<el-form-item label="打样数量" prop="proofingNumber"> |
|
|
|
<div class="right"> |
|
|
|
<el-input type="number" class="inlineNumber" v-model="modalData.proofingNumber" @input="modalData.proofingNumber = modalData.proofingNumber.replace(/^(0+)|[^\d]+/g, '')"></el-input> |
|
|
|
</div> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="4"> |
|
|
|
<el-form-item label="优先等级" prop="priorityLevel"> |
|
|
|
<el-select v-model="modalData.priorityLevel" style="width: 100%"> |
|
|
|
<el-option label="一般" value="一般"></el-option> |
|
|
|
<el-option label="紧急" value="紧急"></el-option> |
|
|
|
<el-option label="重要" value="重要"></el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="4"> |
|
|
|
<el-form-item label="要求交付日期" prop="requiredDeliveryDate"> |
|
|
|
<el-date-picker v-model="modalData.requiredDeliveryDate" style="width: 100%" type="date" value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="4"> |
|
|
|
<el-form-item prop="trackerName"> |
|
|
|
<span slot="label" @click="getBaseList(103,1)"><a herf="#">跟单员</a></span> |
|
|
|
<el-input v-model="modalData.trackerName"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row :gutter="15"> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-row :gutter="10"> |
|
|
|
<el-col :span="10"> |
|
|
|
<el-form-item prop="projectId" label="项目编码"> |
|
|
|
<span slot="label" v-if="modalData.customerNo && modalData.flag === '1'" @click="getBaseList(104,1)"><a herf="#">项目编码</a></span> |
|
|
|
<el-input :disabled="!modalData.customerNo || modalData.flag !== '1'" :readonly="true" v-model="modalData.projectId"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="14"> |
|
|
|
<el-form-item label=" "> |
|
|
|
<el-input disabled v-model="modalData.projectName"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
</el-col> |
|
|
|
<el-col :span="4"> |
|
|
|
<el-form-item label="收货人"> |
|
|
|
<el-input v-model="modalData.consignee"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="4"> |
|
|
|
<el-form-item label="收货人联系方式"> |
|
|
|
<el-input v-model="modalData.consigneeContact"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="4"> |
|
|
|
<el-form-item label=" "> |
|
|
|
<el-checkbox v-model="modalData.isNeedToSendSamples" true-label="Y">是否需要送样</el-checkbox> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="4"> |
|
|
|
<el-form-item prop="engineerName"> |
|
|
|
<span slot="label" @click="getBaseList(103,2)"><a herf="#">工程师</a></span> |
|
|
|
<el-input v-model="modalData.engineerName"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row :gutter="15"> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-form-item label="送样地址" style="height: 90px"> |
|
|
|
<el-input type="textarea" v-model="modalData.sendSamplesAddress" :rows="3" resize='none'></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-form-item label="备注" style="height: 90px"> |
|
|
|
<el-input type="textarea" v-model="modalData.remark" :rows="3" resize='none'></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="24"> |
|
|
|
<el-form-item label="技术注意事项" style="height: 90px"> |
|
|
|
<el-input type="textarea" v-model="modalData.technicalConsiderations" :rows="3" resize='none' show-word-limit></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
</el-form> |
|
|
|
<el-footer style="height:30px;margin-top: 50px;text-align:center"> |
|
|
|
<div class="rq"> |
|
|
|
<el-form :inline="true" label-position="top" :model="projectPartData"> |
|
|
|
<el-form-item label="产品编码"> |
|
|
|
<el-input v-model="projectPartData.testPartNo" clearable style="width: 120px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="产品名称"> |
|
|
|
<el-input v-model="projectPartData.partName" clearable style="width: 120px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label=" " v-if="this.modalData.projectId"> |
|
|
|
<el-button type="primary" @click="getProjectPartList()">查询</el-button> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-table |
|
|
|
:height="300" |
|
|
|
:data="projectPartList" |
|
|
|
ref="projectPartTable" |
|
|
|
@row-click="projectPartClickRow" |
|
|
|
@selection-change="selectionProjectPart" |
|
|
|
:row-key="getRowKeys" |
|
|
|
border |
|
|
|
v-loading="dataListLoading" |
|
|
|
style="width: 100%;"> |
|
|
|
<el-table-column |
|
|
|
type="selection" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
:selectable="checkSelectable" |
|
|
|
:reserve-selection="true" |
|
|
|
width="50"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
v-for="(item,index) in projectPartDetailList" :key="index" |
|
|
|
:sortable="item.columnSortable" |
|
|
|
:prop="item.columnProp" |
|
|
|
:header-align="item.headerAlign" |
|
|
|
:show-overflow-tooltip="item.showOverflowTooltip" |
|
|
|
:align="item.align" |
|
|
|
:fixed="item.fixed===''?false:item.fixed" |
|
|
|
:min-width="item.columnWidth" |
|
|
|
:label="item.columnLabel"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span> |
|
|
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
<el-footer style="height:30px;text-align:center;margin-top: 8px"> |
|
|
|
<el-button type="primary" @click="saveData()">保存</el-button> |
|
|
|
<el-button type="primary" @click="modalFlag = false">关闭</el-button> |
|
|
|
</el-footer> |
|
|
|
@ -321,60 +409,6 @@ |
|
|
|
</el-footer> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<!-- 项目物料清单模态框 --> |
|
|
|
<el-dialog title="项目物料清单" :close-on-click-modal="false" v-drag :visible.sync="projectPartModelFlag" width="800px"> |
|
|
|
<div class="rq"> |
|
|
|
<el-form :inline="true" label-position="top" :model="projectPartData"> |
|
|
|
<el-form-item :label="'产品编码'"> |
|
|
|
<el-input v-model="projectPartData.testPartNo" clearable style="width: 120px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'产品名称'"> |
|
|
|
<el-input v-model="projectPartData.partName" clearable style="width: 120px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="' '"> |
|
|
|
<el-button type="primary" @click="getProjectPartList()">查询</el-button> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-table |
|
|
|
:height="300" |
|
|
|
:data="projectPartList" |
|
|
|
ref="projectPartTable" |
|
|
|
@row-click="projectPartClickRow" |
|
|
|
@selection-change="selectionProjectPart" |
|
|
|
:row-key="getRowKeys" |
|
|
|
border |
|
|
|
v-loading="dataListLoading" |
|
|
|
style="width: 100%;"> |
|
|
|
<el-table-column |
|
|
|
type="selection" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
:reserve-selection="true" |
|
|
|
width="50"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
v-for="(item,index) in projectPartDetailList" :key="index" |
|
|
|
:sortable="item.columnSortable" |
|
|
|
:prop="item.columnProp" |
|
|
|
:header-align="item.headerAlign" |
|
|
|
:show-overflow-tooltip="item.showOverflowTooltip" |
|
|
|
:align="item.align" |
|
|
|
:fixed="item.fixed===''?false:item.fixed" |
|
|
|
:min-width="item.columnWidth" |
|
|
|
:label="item.columnLabel"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span> |
|
|
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
<el-footer style="height:40px;margin-top: 20px;text-align:center"> |
|
|
|
<el-button type="primary" @click="confirmProjectPart()">确认</el-button> |
|
|
|
<el-button type="primary" @click="projectPartModelFlag = false">关闭</el-button> |
|
|
|
</el-footer> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<!-- 页签 --> |
|
|
|
<el-tabs v-model="activeTable" style="margin-top: 0px; width: 100%; min-height: 500px;" type="border-card" @tab-click="tabClick" class="customer-tab"> |
|
|
|
<!-- 打样详细信息页签 --> |
|
|
|
@ -874,8 +908,8 @@ |
|
|
|
activeTable: 'proofing_detail_information', |
|
|
|
// ======== 数据对象 ======== |
|
|
|
modalData: { |
|
|
|
flag: '', |
|
|
|
title: '', |
|
|
|
flag: '1', |
|
|
|
title: '打样新增', |
|
|
|
site: this.$store.state.user.site, |
|
|
|
proofingNo: '', |
|
|
|
customerNo: '', |
|
|
|
@ -888,8 +922,8 @@ |
|
|
|
partName: '', |
|
|
|
engineer: '', |
|
|
|
engineerName: '', |
|
|
|
priorityLevel: '', |
|
|
|
proofingNumber: '', |
|
|
|
priorityLevel: '一般', |
|
|
|
proofingNumber: 1, |
|
|
|
requiredDeliveryDate: '', |
|
|
|
remark: '', |
|
|
|
technicalConsiderations: '', |
|
|
|
@ -1081,7 +1115,7 @@ |
|
|
|
sortLv: 0, |
|
|
|
status: true, |
|
|
|
fixed: '', |
|
|
|
columnWidth: 100 |
|
|
|
columnWidth: 110 |
|
|
|
}, |
|
|
|
{ |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
@ -1153,7 +1187,7 @@ |
|
|
|
sortLv: 0, |
|
|
|
status: true, |
|
|
|
fixed: '', |
|
|
|
columnWidth: 100 |
|
|
|
columnWidth: 150 |
|
|
|
}, |
|
|
|
{ |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
@ -1413,9 +1447,9 @@ |
|
|
|
projectPartDetailList: [ |
|
|
|
{ |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
functionId: 103001, |
|
|
|
serialNumber: '103001Table3CustomerNo', |
|
|
|
tableId: '103001Table3', |
|
|
|
functionId: 102001, |
|
|
|
serialNumber: '102001Table3CustomerNo', |
|
|
|
tableId: '102001Table3', |
|
|
|
tableName: '项目物料表', |
|
|
|
columnProp: 'customerNo', |
|
|
|
headerAlign: 'center', |
|
|
|
@ -1431,9 +1465,9 @@ |
|
|
|
}, |
|
|
|
{ |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
functionId: 103001, |
|
|
|
serialNumber: '103001Table3CustomerDesc', |
|
|
|
tableId: '103001Table3', |
|
|
|
functionId: 102001, |
|
|
|
serialNumber: '102001Table3CustomerDesc', |
|
|
|
tableId: '102001Table3', |
|
|
|
tableName: '项目物料表', |
|
|
|
columnProp: 'customerDesc', |
|
|
|
headerAlign: 'center', |
|
|
|
@ -1449,9 +1483,9 @@ |
|
|
|
}, |
|
|
|
{ |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
functionId: 103001, |
|
|
|
serialNumber: '103001Table3ProjectName', |
|
|
|
tableId: '103001Table3', |
|
|
|
functionId: 102001, |
|
|
|
serialNumber: '102001Table3ProjectName', |
|
|
|
tableId: '102001Table3', |
|
|
|
tableName: '项目物料表', |
|
|
|
columnProp: 'projectId', |
|
|
|
headerAlign: 'center', |
|
|
|
@ -1467,50 +1501,49 @@ |
|
|
|
}, |
|
|
|
{ |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
functionId: 103001, |
|
|
|
serialNumber: '103001Table3ProjectId', |
|
|
|
tableId: '103001Table3', |
|
|
|
functionId: 102001, |
|
|
|
serialNumber: '102001Table3TestPartNo', |
|
|
|
tableId: '102001Table3', |
|
|
|
tableName: '项目物料表', |
|
|
|
columnProp: 'projectName', |
|
|
|
columnProp: 'testPartNo', |
|
|
|
headerAlign: 'center', |
|
|
|
align: 'center', |
|
|
|
columnLabel: '项目名称', |
|
|
|
columnLabel: '产品编码', |
|
|
|
columnHidden: false, |
|
|
|
columnImage: false, |
|
|
|
columnSortable: false, |
|
|
|
sortLv: 0, |
|
|
|
status: true, |
|
|
|
fixed: '', |
|
|
|
columnWidth: 120 |
|
|
|
columnWidth: 150 |
|
|
|
}, |
|
|
|
{ |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
functionId: 103001, |
|
|
|
serialNumber: '103001Table3TestPartNo', |
|
|
|
tableId: '103001Table3', |
|
|
|
functionId: 102001, |
|
|
|
serialNumber: '102001Table3PartDesc', |
|
|
|
tableId: '102001Table3', |
|
|
|
tableName: '项目物料表', |
|
|
|
columnProp: 'testPartNo', |
|
|
|
columnProp: 'partDesc', |
|
|
|
headerAlign: 'center', |
|
|
|
align: 'center', |
|
|
|
columnLabel: '产品编码', |
|
|
|
columnLabel: '产品名称', |
|
|
|
columnHidden: false, |
|
|
|
columnImage: false, |
|
|
|
columnSortable: false, |
|
|
|
sortLv: 0, |
|
|
|
status: true, |
|
|
|
fixed: '', |
|
|
|
columnWidth: 150 |
|
|
|
}, |
|
|
|
{ |
|
|
|
columnWidth: 120 |
|
|
|
},{ |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
functionId: 103001, |
|
|
|
serialNumber: '103001Table3PartName', |
|
|
|
tableId: '103001Table3', |
|
|
|
functionId: 102001, |
|
|
|
serialNumber: '102001Table3PartType', |
|
|
|
tableId: '102001Table3', |
|
|
|
tableName: '项目物料表', |
|
|
|
columnProp: 'partName', |
|
|
|
columnProp: 'partType', |
|
|
|
headerAlign: 'center', |
|
|
|
align: 'center', |
|
|
|
columnLabel: '产品名称', |
|
|
|
columnLabel: '产品类型', |
|
|
|
columnHidden: false, |
|
|
|
columnImage: false, |
|
|
|
columnSortable: false, |
|
|
|
@ -1522,53 +1555,60 @@ |
|
|
|
], |
|
|
|
// ======== 必填规则 ======== |
|
|
|
rules: { |
|
|
|
customerDesc: [ |
|
|
|
customerNo: [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: ' ', |
|
|
|
trigger: 'change' |
|
|
|
trigger: ['change','blur'] |
|
|
|
} |
|
|
|
], |
|
|
|
trackerName: [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: ' ', |
|
|
|
trigger: 'change' |
|
|
|
trigger: ['change','blur'] |
|
|
|
} |
|
|
|
], |
|
|
|
projectName: [ |
|
|
|
proofingNumber: [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: ' ', |
|
|
|
trigger: 'change' |
|
|
|
trigger: ['change','blur'] |
|
|
|
} |
|
|
|
], |
|
|
|
projectId: [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: ' ', |
|
|
|
trigger: ['change','blur'] |
|
|
|
} |
|
|
|
], |
|
|
|
engineerName: [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: ' ', |
|
|
|
trigger: 'change' |
|
|
|
trigger: ['change','blur'] |
|
|
|
} |
|
|
|
], |
|
|
|
partName: [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: ' ', |
|
|
|
trigger: 'change' |
|
|
|
trigger: ['change','blur'] |
|
|
|
} |
|
|
|
], |
|
|
|
priorityLevel: [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: ' ', |
|
|
|
trigger: 'change' |
|
|
|
trigger: ['change','blur'] |
|
|
|
} |
|
|
|
], |
|
|
|
requiredDeliveryDate: [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: ' ', |
|
|
|
trigger: 'change' |
|
|
|
trigger: ['change','blur'] |
|
|
|
} |
|
|
|
] |
|
|
|
}, |
|
|
|
@ -1678,6 +1718,7 @@ |
|
|
|
*/ |
|
|
|
projectPartClickRow (row) { |
|
|
|
this.$refs.projectPartTable.toggleRowSelection(row); |
|
|
|
this.confirmProjectPart(); |
|
|
|
}, |
|
|
|
/** |
|
|
|
* 多选 |
|
|
|
@ -1829,46 +1870,6 @@ |
|
|
|
* 报价信息新增模态框 |
|
|
|
*/ |
|
|
|
addModal () { |
|
|
|
this.modalData = { |
|
|
|
flag: '1', |
|
|
|
title: '打样新增', |
|
|
|
site: this.$store.state.user.site, |
|
|
|
proofingNo: '', |
|
|
|
|
|
|
|
customerNo: '', |
|
|
|
customerDesc: '', |
|
|
|
projectId: '', |
|
|
|
projectName: '', |
|
|
|
tracker: '', |
|
|
|
trackerName: '', |
|
|
|
testPartNo: '', |
|
|
|
partName: '', |
|
|
|
engineer: '', |
|
|
|
engineerName: '', |
|
|
|
priorityLevel: '', |
|
|
|
proofingNumber: '', |
|
|
|
requiredDeliveryDate: '', |
|
|
|
remark: '', |
|
|
|
technicalConsiderations: '', |
|
|
|
isNeedToSendSamples: '', |
|
|
|
sendSamplesAddress: '', |
|
|
|
consignee: '', |
|
|
|
consigneeContact: '', |
|
|
|
actualityDeliveryDate: '', |
|
|
|
proofingResultInformation: '', |
|
|
|
actualitySendSamplesDate: '', |
|
|
|
sendSamplesMethod: '', |
|
|
|
deliverGoodsInformation: '', |
|
|
|
deliverGoodsRemark: '', |
|
|
|
actualityReplyDate: '', |
|
|
|
confirmResults: '', |
|
|
|
confirmBy: '', |
|
|
|
confirmInformation: '', |
|
|
|
proofingStatus: '草稿', |
|
|
|
proofingResultStatus: 'C', |
|
|
|
nextToDo: '', |
|
|
|
createBy: this.$store.state.user.name |
|
|
|
} |
|
|
|
this.modalDisableFlag = false |
|
|
|
this.modalFlag = true |
|
|
|
}, |
|
|
|
@ -1925,10 +1926,15 @@ |
|
|
|
* 获取项目物料列表 |
|
|
|
*/ |
|
|
|
getProjectPartList () { |
|
|
|
if (!this.modalData.projectId){ |
|
|
|
this.projectPartList = []; |
|
|
|
return |
|
|
|
} |
|
|
|
// 先清空缓存选中 |
|
|
|
this.$nextTick(() => this.$refs.projectPartTable.clearSelection()) |
|
|
|
// 拿到选中的产品编号 |
|
|
|
let projectPartList = this.modalData.testPartNo.split(';') |
|
|
|
this.projectPartData.projectId = this.modalData.projectId; |
|
|
|
// 查询所有项目物料 |
|
|
|
getProjectPartList(this.projectPartData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
@ -1939,7 +1945,7 @@ |
|
|
|
this.$nextTick(() => this.$refs.projectPartTable.toggleRowSelection(val, true)) |
|
|
|
} |
|
|
|
}) |
|
|
|
this.projectPartModelFlag = true |
|
|
|
// this.projectPartModelFlag = true |
|
|
|
}else { |
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
@ -1951,10 +1957,6 @@ |
|
|
|
* 确认多选项目物料 |
|
|
|
*/ |
|
|
|
confirmProjectPart () { |
|
|
|
if(this.projectPartListSelections.length === 0){ |
|
|
|
this.$message.warning('请勾选项目物料!') |
|
|
|
return |
|
|
|
} |
|
|
|
this.modalData.testPartNo = '' |
|
|
|
this.modalData.partName = '' |
|
|
|
for (let i = 0; i < this.projectPartListSelections.length; i++) { |
|
|
|
@ -1969,6 +1971,63 @@ |
|
|
|
* 客户信息新增/编辑 |
|
|
|
*/ |
|
|
|
saveData () { |
|
|
|
this.$refs.modalForm.validate((valid) => { |
|
|
|
if (!valid) { |
|
|
|
this.validateDataValue() |
|
|
|
}else { |
|
|
|
if (this.projectPartListSelections.length <= 0){ |
|
|
|
this.$message.warning('请选择项目料号') |
|
|
|
return |
|
|
|
} |
|
|
|
this.confirmProjectPart(); |
|
|
|
if (this.modalData.flag === '1'){ |
|
|
|
this.saveProofing() |
|
|
|
}else { |
|
|
|
this.updateProofing() |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
updateProofing(){ |
|
|
|
proofingInformationEdit(this.modalData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.getDataList() |
|
|
|
this.modalFlag = false |
|
|
|
this.$message({ |
|
|
|
message: '操作成功', |
|
|
|
type: 'success', |
|
|
|
duration: 1500, |
|
|
|
onClose: () => {} |
|
|
|
}) |
|
|
|
} else { |
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
saveProofing(){ |
|
|
|
proofingInformationSave(this.modalData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.getDataList() |
|
|
|
this.modalFlag = false |
|
|
|
this.$message({ |
|
|
|
message: '操作成功', |
|
|
|
type: 'success', |
|
|
|
duration: 1500, |
|
|
|
onClose: () => {} |
|
|
|
}) |
|
|
|
} else { |
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
/** |
|
|
|
* 验证必填项 |
|
|
|
*/ |
|
|
|
validateDataValue(){ |
|
|
|
if (this.modalData.customerNo === '' || this.modalData.customerNo == null) { |
|
|
|
this.$message.warning('请选择客户编码!') |
|
|
|
return |
|
|
|
@ -2009,58 +2068,18 @@ |
|
|
|
this.$message.warning('请选择物料名称!') |
|
|
|
return |
|
|
|
} |
|
|
|
if (!this.modalData.proofingNumber && this.modalData.proofingNumber > 0) { |
|
|
|
this.$message.warning('请输入正确的打样数量!') |
|
|
|
return |
|
|
|
} |
|
|
|
if (this.modalData.priorityLevel === '' || this.modalData.priorityLevel == null) { |
|
|
|
this.$message.warning('请选择优先等级!') |
|
|
|
return |
|
|
|
} |
|
|
|
if (this.modalData.requiredDeliveryDate === '' || this.modalData.requiredDeliveryDate == null) { |
|
|
|
if (!this.modalData.requiredDeliveryDate) { |
|
|
|
this.$message.warning('请输入要求交付日期!') |
|
|
|
return |
|
|
|
} |
|
|
|
let obj = document.getElementsByName('sendSamples') |
|
|
|
let s = '' |
|
|
|
for (let i = 0; i < obj.length; i++) { |
|
|
|
if (obj[i].checked) { |
|
|
|
s += obj[i].value + ',' |
|
|
|
} |
|
|
|
} |
|
|
|
s = s.substring(0,s.length-1) |
|
|
|
this.modalData.isNeedToSendSamples = s |
|
|
|
if (this.modalData.flag === '1') { |
|
|
|
proofingInformationSave(this.modalData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.getDataList() |
|
|
|
this.modalFlag = false |
|
|
|
this.$message({ |
|
|
|
message: '操作成功', |
|
|
|
type: 'success', |
|
|
|
duration: 1500, |
|
|
|
onClose: () => {} |
|
|
|
}) |
|
|
|
} else { |
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
} else { |
|
|
|
proofingInformationEdit(this.modalData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.getDataList() |
|
|
|
this.modalFlag = false |
|
|
|
this.$message({ |
|
|
|
message: '操作成功', |
|
|
|
type: 'success', |
|
|
|
duration: 1500, |
|
|
|
onClose: () => {} |
|
|
|
}) |
|
|
|
} else { |
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
|
/** |
|
|
|
* 打样信息删除 |
|
|
|
@ -2620,6 +2639,7 @@ |
|
|
|
if(this.tagNo1 === 1) { |
|
|
|
this.modalData.projectId = val.project_id |
|
|
|
this.modalData.projectName = val.project_name |
|
|
|
this.getProjectPartList(); |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
@ -2652,7 +2672,56 @@ |
|
|
|
json += '}' |
|
|
|
let s = eval('(' + json + ')') |
|
|
|
return s |
|
|
|
} |
|
|
|
}, |
|
|
|
closeModalDiaLog () { |
|
|
|
this.$refs.modalForm.resetFields(); |
|
|
|
this.modalData = { |
|
|
|
flag: '1', |
|
|
|
title: '打样新增', |
|
|
|
site: this.$store.state.user.site, |
|
|
|
proofingNo: '', |
|
|
|
customerNo: '', |
|
|
|
customerDesc: '', |
|
|
|
projectId: '', |
|
|
|
projectName: '', |
|
|
|
tracker: '', |
|
|
|
trackerName: '', |
|
|
|
testPartNo: '', |
|
|
|
partName: '', |
|
|
|
engineer: '', |
|
|
|
engineerName: '', |
|
|
|
priorityLevel: '一般', |
|
|
|
proofingNumber: 1, |
|
|
|
requiredDeliveryDate: '', |
|
|
|
remark: '', |
|
|
|
technicalConsiderations: '', |
|
|
|
isNeedToSendSamples: '', |
|
|
|
sendSamplesAddress: '', |
|
|
|
consignee: '', |
|
|
|
consigneeContact: '', |
|
|
|
actualityDeliveryDate: '', |
|
|
|
proofingResultInformation: '', |
|
|
|
actualitySendSamplesDate: '', |
|
|
|
sendSamplesMethod: '', |
|
|
|
deliverGoodsInformation: '', |
|
|
|
deliverGoodsRemark: '', |
|
|
|
actualityReplyDate: '', |
|
|
|
confirmResults: '', |
|
|
|
confirmBy: '', |
|
|
|
confirmInformation: '', |
|
|
|
proofingStatus: '草稿', |
|
|
|
proofingResultStatus: 'C', |
|
|
|
nextToDo: '', |
|
|
|
createBy: this.$store.state.user.name |
|
|
|
} |
|
|
|
}, |
|
|
|
checkSelectable(row,index){ |
|
|
|
if (this.modalData.flag === '1'){ |
|
|
|
return true |
|
|
|
}else { |
|
|
|
return false |
|
|
|
} |
|
|
|
}, |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
@ -2662,5 +2731,18 @@ |
|
|
|
padding: 0px !important; |
|
|
|
height: 459px; |
|
|
|
} |
|
|
|
.right /deep/ .el-input__inner{ |
|
|
|
text-align: right; |
|
|
|
} |
|
|
|
|
|
|
|
/deep/ .inlineNumber input::-webkit-outer-spin-button, |
|
|
|
/deep/ .inlineNumber input::-webkit-inner-spin-button { |
|
|
|
-webkit-appearance: none; |
|
|
|
|
|
|
|
} |
|
|
|
/deep/ .inlineNumber input[type="number"]{ |
|
|
|
-moz-appearance: textfield; |
|
|
|
padding-right: 5px !important; |
|
|
|
} |
|
|
|
</style> |
|
|
|
|