Browse Source

2025/5/30

master
Aoi_Tori 8 months ago
parent
commit
20627b21a8
  1. 59
      src/views/modules/part/routingManagement.vue
  2. 253
      src/views/modules/test/requestForTest.vue
  3. 2
      src/views/modules/test/testSoRouting/testRoutingTable.vue

59
src/views/modules/part/routingManagement.vue

@ -850,7 +850,8 @@
</el-dialog>
<!-- workGuideline -->
<el-dialog title="工艺指导" :close-on-click-modal="false" v-drag :visible.sync="queryWorkGuidelineModal" width="1000px">
<el-dialog title="工艺指导" :close-on-click-modal="false" v-drag :visible.sync="queryWorkGuidelineModal"
width="1000px">
<el-form :inline="true" label-position="top" :model="workGuidelineData" style="margin-left: 5px">
<el-form-item :label="'物料编码'">
<el-input v-model="workGuidelineData.partNo" readonly style="width: 120px"></el-input>
@ -934,10 +935,13 @@
</el-dialog>
<!-- workGuideline 新增模态框 -->
<el-dialog title="工艺指导" :close-on-click-modal="false" v-drag :visible.sync="saveWorkGuidelineModal" width="664px">
<el-form :inline="true" label-position="top" :model="saveWorkGuidelineData" :rules="guidelineRules" style="margin-left: 5px">
<el-dialog title="工艺指导" :close-on-click-modal="false" v-drag :visible.sync="saveWorkGuidelineModal"
width="664px">
<el-form :inline="true" label-position="top" :model="saveWorkGuidelineData" :rules="guidelineRules"
style="margin-left: 5px">
<el-form-item :label="'序号'" prop="guidelineSeq" :rules="guidelineRules.guidelineSeq">
<el-input-number :controls="false" :step="0" v-model="saveWorkGuidelineData.guidelineSeq" style="width: 60px"></el-input-number>
<el-input-number :controls="false" :step="0" v-model="saveWorkGuidelineData.guidelineSeq"
style="width: 60px"></el-input-number>
</el-form-item>
<el-form-item :label="'工艺指导名称'" prop="guidelineDesc" :rules="guidelineRules.guidelineDesc">
<el-input v-model="saveWorkGuidelineData.guidelineDesc" style="width: 126px"></el-input>
@ -946,7 +950,8 @@
<el-input v-model="saveWorkGuidelineData.guidelineText" style="width: 413px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="saveWorkGuidelineData" :rules="guidelineRules" style="margin-left: 5px">
<el-form :inline="true" label-position="top" :model="saveWorkGuidelineData" :rules="guidelineRules"
style="margin-left: 5px">
<el-form-item :label="'工艺指导类型'" prop="guidelineType" :rules="guidelineRules.guidelineType">
<el-select v-model="saveWorkGuidelineData.guidelineType" style="width: 200px">
<el-option label="Subtask" value="Subtask"></el-option>
@ -959,7 +964,8 @@
<el-option label="Not Required" value="Not Required"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="'检验签字'" prop="inspectionSignOffRequired" :rules="guidelineRules.inspectionSignOffRequired">
<el-form-item :label="'检验签字'" prop="inspectionSignOffRequired"
:rules="guidelineRules.inspectionSignOffRequired">
<el-select v-model="saveWorkGuidelineData.inspectionSignOffRequired" style="width: 200px">
<el-option label="Required to Shop Order" value="Required to Shop Order"></el-option>
<el-option label="Required to Close Operation" value="Required to Close Operation"></el-option>
@ -1008,7 +1014,8 @@
: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>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
</el-table>
@ -1032,12 +1039,13 @@
<ChooseList ref="baseList" @getBaseData="getBaseData"></ChooseList>
<!-- 加工中心模态框 -->
<el-dialog title="加工中心" top="17vh" :close-on-click-modal="false" v-drag :visible.sync="workCenterModelFlag" width="940px">
<el-dialog title="加工中心" top="17vh" :close-on-click-modal="false" v-drag :visible.sync="workCenterModelFlag"
width="940px">
<el-form :inline="true" label-position="top" :model="searchData">
<el-form-item :label="'编码'">
<el-input v-model="searchData.workCenterNo" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'物料名称'">
<el-form-item :label="'加工中心名称'">
<el-input v-model="searchData.workCenterDesc" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="' '">
@ -1062,7 +1070,8 @@
: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>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
</el-table>
@ -1083,7 +1092,8 @@
</el-dialog>
<!-- 人员等级模态框 -->
<el-dialog title="人员等级" top="17vh" :close-on-click-modal="false" v-drag :visible.sync="workerLevelModelFlag1" width="940px">
<el-dialog title="人员等级" top="17vh" :close-on-click-modal="false" v-drag :visible.sync="workerLevelModelFlag1"
width="940px">
<el-form :inline="true" label-position="top" :model="searchData">
<el-form-item :label="'编码'">
<el-input v-model="searchData.levelId" clearable style="width: 120px"></el-input>
@ -1113,7 +1123,8 @@
: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>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
</el-table>
@ -1133,7 +1144,8 @@
</el-footer>
</el-dialog>
<el-dialog title="人员等级" top="17vh" :close-on-click-modal="false" v-drag :visible.sync="workerLevelModelFlag2" width="940px">
<el-dialog title="人员等级" top="17vh" :close-on-click-modal="false" v-drag :visible.sync="workerLevelModelFlag2"
width="940px">
<el-form :inline="true" label-position="top" :model="searchData">
<el-form-item :label="'编码'">
<el-input v-model="searchData.levelId" clearable style="width: 120px"></el-input>
@ -1273,9 +1285,10 @@ export default {
componentData: {
deep: true,
handler: function (newV, oldV) {
this.componentData.workCenterNo = this.componentData.workCenterNo.toUpperCase()
this.componentData.laborClassDesc = this.componentData.laborClassDesc.toUpperCase()
this.componentData.setupLaborClassDesc = this.componentData.setupLaborClassDesc.toUpperCase()
//
// this.componentData.workCenterNo = this.componentData.workCenterNo.toUpperCase()
// this.componentData.laborClassDesc = this.componentData.laborClassDesc.toUpperCase()
// this.componentData.setupLaborClassDesc = this.componentData.setupLaborClassDesc.toUpperCase()
}
},
routingToolData: {
@ -5004,6 +5017,7 @@ export default {
//
workCenterBlur(tagNo) {
console.log('@change触发')
if (this.componentData.workCenterNo != null && this.componentData.workCenterNo !== '') {
let tempData = {
tagno: tagNo,
@ -5172,6 +5186,18 @@ export default {
this.componentData.workCenterNo = row.workCenterNo
this.componentData.workCenterDesc = row.workCenterDesc
this.componentData.workCenterType = row.workCenterType
this.searchData.levelId = row.workCenterNo
this.searchData.lavelDesc = row.workCenterDesc
queryWorkerLevelList(this.searchData).then(({data}) => {
if (data && data.code === 0) {
this.componentData.setupLaborClassNo = data.page.list[0].levelId
this.componentData.setupLaborClassDesc = data.page.list[0].levelDesc
this.componentData.laborClassNo = data.page.list[0].levelId
this.componentData.laborClassDesc = data.page.list[0].levelDesc
} else {
this.workCenterList = []
}
})
this.workCenterModelFlag = false
},
@ -5189,7 +5215,6 @@ export default {
},
}
}
</script>

253
src/views/modules/test/requestForTest.vue

@ -53,7 +53,8 @@
<el-input v-model="searchData.projectName" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'优先等级'">
<dict-data-select v-model="searchData.priorityLevel" clearable style="width: 120px" :use-default-value="false" dict-type="priority_Level"/>
<dict-data-select v-model="searchData.priorityLevel" clearable style="width: 120px" :use-default-value="false"
dict-type="priority_Level"/>
</el-form-item>
<el-form-item :label="'IFS物料编码'">
<el-input v-model="searchData.finalPartNo" clearable style="width: 120px"></el-input>
@ -133,7 +134,8 @@
<template slot-scope="scope">
<div>
<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>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</div>
</template>
</el-table-column>
@ -146,13 +148,16 @@
<template slot-scope="scope">
<a type="text" style="cursor:pointer;" @click="handleClickBM(scope.row)">BM</a>
<template v-if="isAuth('107001:update')">
<a type="text" size="small" style="cursor:pointer;" v-if="scope.row.testStatus !== '已完成'" @click="updateModal(scope.row)">编辑</a>
<a type="text" size="small" style="cursor:pointer;" v-if="scope.row.testStatus !== '已完成'"
@click="updateModal(scope.row)">编辑</a>
</template>
<template v-if="isAuth('107001:issued')">
<a type="text" size="small" style="cursor:pointer;" v-if="scope.row.testStatus === '草稿'" @click="updateModalStatus(scope.row,'C')">下达</a>
<a type="text" size="small" style="cursor:pointer;" v-if="scope.row.testStatus === '草稿'"
@click="updateModalStatus(scope.row,'C')">下达</a>
</template>
<template v-if="isAuth('107001:detail')">
<a type="text" size="small" style="cursor:pointer;" v-if="scope.row.testStatus === '已完成'" @click="handleDetail(scope.row)">详情</a>
<a type="text" size="small" style="cursor:pointer;" v-if="scope.row.testStatus === '已完成'"
@click="handleDetail(scope.row)">详情</a>
</template>
</template>
</el-table-column>
@ -171,7 +176,8 @@
</el-pagination>
<!-- 测试模态框 -->
<el-dialog :title="modalData.title" @close="closeModalDiaLog" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" top="10vh" width="60%">
<el-dialog :title="modalData.title" @close="closeModalDiaLog" :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">
@ -179,7 +185,8 @@
<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" @blur="handleQueryCustomer"></el-input>
<el-input :disabled="modalData.flag !== '1'" v-model="modalData.customerNo"
@blur="handleQueryCustomer"></el-input>
</el-form-item>
</el-col>
<el-col :span="14">
@ -194,7 +201,8 @@
<div class="right">
<el-input type="number" class="inlineNumber"
:disabled="(testInformationFlag('testNumber') === 'N' && modalData.flag === '2') || detailFlag"
v-model="modalData.testNumber" @input="modalData.testNumber = modalData.testNumber.replace(/^(0+)|[^\d]+/g, '')"></el-input>
v-model="modalData.testNumber"
@input="modalData.testNumber = modalData.testNumber.replace(/^(0+)|[^\d]+/g, '')"></el-input>
</div>
</el-form-item>
</el-col>
@ -209,7 +217,8 @@
<el-form-item label="要求交付日期" prop="requiredDeliveryDate">
<el-date-picker v-model="modalData.requiredDeliveryDate"
:disabled="(testInformationFlag('requiredDeliveryDate') === 'N' && modalData.flag === '2') || detailFlag"
style="width: 100%" type="date" value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
style="width: 100%" type="date" value-format="yyyy-MM-dd"
placeholder="选择日期"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
@ -225,8 +234,10 @@
<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="chooseProjectListFlag = true"><a herf="#">项目号</a></span>
<el-input :disabled="!modalData.customerNo || modalData.flag !== '1'" v-model="modalData.projectId" @blur="handleQueryProjectByCustomer"></el-input>
<span slot="label" v-if="modalData.customerNo && modalData.flag === '1'"
@click="chooseProjectListFlag = true"><a herf="#">项目号</a></span>
<el-input :disabled="!modalData.customerNo || modalData.flag !== '1'" v-model="modalData.projectId"
@blur="handleQueryProjectByCustomer"></el-input>
</el-form-item>
</el-col>
<el-col :span="14">
@ -238,12 +249,14 @@
</el-col>
<el-col :span="8">
<el-form-item label="标签名称" prop="productName">
<el-input :disabled="(testInformationFlag('productName') === 'N' && modalData.flag === '2') || detailFlag" v-model="modalData.productName"></el-input>
<el-input :disabled="(testInformationFlag('productName') === 'N' && modalData.flag === '2') || detailFlag"
v-model="modalData.productName"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="So Number" prop="soNumber">
<el-input :disabled="(testInformationFlag('soNumber') === 'N' && modalData.flag === '2') || detailFlag" v-model="modalData.soNumber"></el-input>
<el-input :disabled="(testInformationFlag('soNumber') === 'N' && modalData.flag === '2') || detailFlag"
v-model="modalData.soNumber"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -252,8 +265,10 @@
<el-row :gutter="10">
<el-col :span="10">
<el-form-item prop="testPartNo" label="物料编码">
<span slot="label" v-if="modalData.projectId && modalData.flag === '1'" @click="projectPartModelFlag = true"><a herf="#">物料编码</a></span>
<el-input :disabled="!modalData.projectId || modalData.flag !== '1'" v-model="modalData.testPartNo" @blur="handleQueryProjectPart"></el-input>
<span slot="label" v-if="modalData.projectId && modalData.flag === '1'"
@click="projectPartModelFlag = true"><a herf="#">物料编码</a></span>
<el-input :disabled="!modalData.projectId || modalData.flag !== '1'" v-model="modalData.testPartNo"
@blur="handleQueryProjectPart"></el-input>
</el-form-item>
</el-col>
<el-col :span="14">
@ -266,37 +281,51 @@
<el-col :span="4">
<el-form-item>
<!-- <el-form-item prop="trackerName">-->
<span v-if="(testInformationFlag('tracker') === 'N' && modalData.flag === '2') || detailFlag" slot="label">Artwork</span>
<span v-else style="cursor: pointer" slot="label" @click="getBaseList(2041)"><a herf="#">Artwork</a></span>
<el-input :disabled="(testInformationFlag('tracker') === 'N' && modalData.flag === '2') || detailFlag" v-model="modalData.trackerName" readonly>
<span slot="suffix" v-show="modalData.trackerName && !detailFlag" @click="clearModalData('tracker')"><i class="el-icon-circle-close" style="margin-left: 5px;cursor: pointer;"></i></span>
<span v-if="(testInformationFlag('tracker') === 'N' && modalData.flag === '2') || detailFlag"
slot="label">Artwork</span>
<span v-else style="cursor: pointer" slot="label" @click="getBaseList(2041)"><a
herf="#">Artwork</a></span>
<el-input :disabled="(testInformationFlag('tracker') === 'N' && modalData.flag === '2') || detailFlag"
v-model="modalData.trackerName" readonly>
<span slot="suffix" v-show="modalData.trackerName && !detailFlag" @click="clearModalData('tracker')"><i
class="el-icon-circle-close" style="margin-left: 5px;cursor: pointer;"></i></span>
</el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item prop="engineerName">
<span v-if="(testInformationFlag('engineer') === 'N' && modalData.flag === '2') || detailFlag" slot="label">TP工程师</span>
<span v-if="(testInformationFlag('engineer') === 'N' && modalData.flag === '2') || detailFlag"
slot="label">TP工程师</span>
<span v-else slot="label" @click="getBaseList(2042)"><a herf="#">TP工程师</a></span>
<el-input :disabled="(testInformationFlag('engineer') === 'N' && modalData.flag === '2') || detailFlag" v-model="modalData.engineerName" readonly>
<span slot="suffix" v-show="modalData.engineerName && !detailFlag" @click="clearModalData('engineer')"><i class="el-icon-circle-close" style="margin-left: 5px;cursor: pointer;"></i></span>
<el-input :disabled="(testInformationFlag('engineer') === 'N' && modalData.flag === '2') || detailFlag"
v-model="modalData.engineerName" readonly>
<span slot="suffix" v-show="modalData.engineerName && !detailFlag"
@click="clearModalData('engineer')"><i class="el-icon-circle-close"
style="margin-left: 5px;cursor: pointer;"></i></span>
</el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="CQC">
<span v-if="(testInformationFlag('artwork') === 'N' && modalData.flag === '2') || detailFlag" slot="label">CQC</span>
<span v-if="(testInformationFlag('artwork') === 'N' && modalData.flag === '2') || detailFlag"
slot="label">CQC</span>
<span v-else slot="label"><a herf="#" @click="getBaseList(2007)">CQC</a></span>
<el-input :disabled="(testInformationFlag('artwork') === 'N' && modalData.flag === '2') || detailFlag" v-model="modalData.artworkName">
<span slot="suffix" v-show="modalData.artworkName && !detailFlag" @click="clearModalData('artwork')"><i class="el-icon-circle-close" style="margin-left: 5px;cursor: pointer;"></i></span>
<el-input :disabled="(testInformationFlag('artwork') === 'N' && modalData.flag === '2') || detailFlag"
v-model="modalData.artworkName">
<span slot="suffix" v-show="modalData.artworkName && !detailFlag" @click="clearModalData('artwork')"><i
class="el-icon-circle-close" style="margin-left: 5px;cursor: pointer;"></i></span>
</el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="FAI">
<span v-if="(testInformationFlag('planner') === 'N' && modalData.flag === '2') || detailFlag" slot="label">FAI</span>
<span v-if="(testInformationFlag('planner') === 'N' && modalData.flag === '2') || detailFlag"
slot="label">FAI</span>
<span v-else slot="label"><a herf="#" @click="getBaseList(2008)">FAI</a></span>
<el-input :disabled="(testInformationFlag('planner') === 'N' && modalData.flag === '2') || detailFlag" v-model="modalData.plannerName">
<span slot="suffix" v-show="modalData.plannerName && !detailFlag" @click="clearModalData('planner')"><i class="el-icon-circle-close" style="margin-left: 5px;cursor: pointer;"></i></span>
<el-input :disabled="(testInformationFlag('planner') === 'N' && modalData.flag === '2') || detailFlag"
v-model="modalData.plannerName">
<span slot="suffix" v-show="modalData.plannerName && !detailFlag" @click="clearModalData('planner')"><i
class="el-icon-circle-close" style="margin-left: 5px;cursor: pointer;"></i></span>
</el-input>
</el-form-item>
</el-col>
@ -304,20 +333,26 @@
<el-row :gutter="15">
<el-col :span="24">
<el-form-item label="备注" style="height: 90px">
<el-input type="textarea" :disabled="(testInformationFlag('technicalConsiderations') === 'N' && modalData.flag === '2') || detailFlag"
<el-input type="textarea"
:disabled="(testInformationFlag('technicalConsiderations') === 'N' && modalData.flag === '2') || detailFlag"
v-model="modalData.technicalConsiderations" :rows="3" resize='none' show-word-limit></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="rq">
<el-button v-if="!modalData.testNo" @click="saveData" plain type="primary" style="position:absolute;margin-top: 10px;margin-right: 10px;right: 0;z-index: 1">下一步</el-button>
<el-button v-if="!modalData.testNo" @click="saveData" plain type="primary"
style="position:absolute;margin-top: 10px;margin-right: 10px;right: 0;z-index: 1">下一步
</el-button>
<el-tabs v-model="activeTab" @tab-click="dialogTabClick">
<el-tab-pane label="基本信息" :disabled="!activeTabList.includes('attribute')" name="attribute" v-if="modalData.testNo">
<test-properties v-if="modalFlag" :disabled="detailFlag" v-model:data-list="testPropertiesList" height="32vh" ref="dialogTestAttribute" :test-no="modalData.testNo"></test-properties>
<el-tab-pane label="基本信息" :disabled="!activeTabList.includes('attribute')" name="attribute"
v-if="modalData.testNo">
<test-properties v-if="modalFlag" :disabled="detailFlag" v-model:data-list="testPropertiesList"
height="32vh" ref="dialogTestAttribute" :test-no="modalData.testNo"></test-properties>
</el-tab-pane>
<el-tab-pane label="基本信息" :disabled="!activeTabList.includes('attribute')" name="attribute" v-else>
<test-properties v-if="modalFlag" :disabled="detailFlag" v-model:data-list="copyTestPropertiesList" height="32vh" ref="dialogTestAttribute" :test-no="modalData.testNo"></test-properties>
<test-properties v-if="modalFlag" :disabled="detailFlag" v-model:data-list="copyTestPropertiesList"
height="32vh" ref="dialogTestAttribute" :test-no="modalData.testNo"></test-properties>
</el-tab-pane>
<el-tab-pane label="物料属性" :disabled="!activeTabList.includes('partAttribute')" name="partAttribute">
<el-table
@ -338,7 +373,8 @@
<template slot-scope="scope">
<div v-if="item.columnProp !== 'textValue' && item.columnProp !== 'numValue'">
<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>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</div>
<div v-else>
{{ scope.row.textValue ? scope.row.textValue : scope.row.numValue }}
@ -348,28 +384,41 @@
</el-table>
</el-tab-pane>
<el-tab-pane label="材料信息" :disabled="!activeTabList.includes('product')" name="product">
<test-table v-if="clickTestRow" :disabled="detailFlag" :test-number="modalData.testNumber" height="32vh" ref="dialogSoBom" v-model:data-list="testSoBomList" :test-no="modalData.testNo"></test-table>
<test-table v-if="clickTestRow" :disabled="detailFlag" :test-number="modalData.testNumber" height="32vh"
ref="dialogSoBom" v-model:data-list="testSoBomList" :test-no="modalData.testNo"></test-table>
</el-tab-pane>
<el-tab-pane label="制程信息" :disabled="!activeTabList.includes('process')" name="process">
<test-routing-table v-if="clickTestRow" :disabled="detailFlag" ref="dialogSoRouting" height="32vh" v-model:data-list="testSoRoutingList" :test-no="modalData.testNo"></test-routing-table>
<test-routing-table v-if="clickTestRow" :disabled="detailFlag" ref="dialogSoRouting" height="32vh"
v-model:data-list="testSoRoutingList" :test-no="modalData.testNo"></test-routing-table>
</el-tab-pane>
<el-tab-pane label="附件信息" :disabled="!activeTabList.includes('file')" name="file">
<oss-components ref="ossRef1" v-if="clickTestRow" :disabled="detailFlag" label="测试单号" height="32vh" :columns="fileColumnList" :order-ref2="modalData.testNo" :order-ref1="modalData.site"></oss-components>
<!-- <oss-components ref="ossRef1" v-if="clickTestRow" :disabled="detailFlag" label="测试单号" height="32vh"-->
<!-- :columns="fileColumnList" :order-ref2="modalData.testNo"-->
<!-- :order-ref1="modalData.site"></oss-components>-->
<oss-components ref="ossRef1" v-if="fileContentLoaded" :disabled="detailFlag" label="测试单号" height="32vh"
:columns="fileColumnList" :order-ref2="modalData.testNo"
:order-ref1="modalData.site"></oss-components>
</el-tab-pane>
</el-tabs>
</div>
<el-footer style="height:30px;text-align:center;margin-top: 8px">
<template v-if="modalData.testStatus === '草稿' || (modalData.approvalUsername && modalData.approvalUsername.split(';').includes($store.state.user.name) && modalData.testStatus === '审批中')">
<template
v-if="modalData.testStatus === '草稿' || (modalData.approvalUsername && modalData.approvalUsername.split(';').includes($store.state.user.name) && modalData.testStatus === '审批中')">
<el-button type="primary" @click="saveData()" v-if="modalData.flag !== '1' && !detailFlag">保存</el-button>
</template>
<!-- <el-button type="primary" @click="modalFlag = false">关闭</el-button>-->
<el-button type="primary" @click="closeDialog">关闭</el-button>
<template v-if="modalData.approvalUsername && modalData.approvalUsername.split(';').includes($store.state.user.name)">
<template
v-if="modalData.approvalUsername && modalData.approvalUsername.split(';').includes($store.state.user.name)">
<template v-if="isAuth('107001:submit')">
<el-button v-if="modalData.testStatus === '审批中' && !detailFlag" type="primary" @click="agreeSubmit">同意</el-button>
<el-button v-if="modalData.testStatus === '审批中' && !detailFlag" type="primary" @click="agreeSubmit">
同意
</el-button>
</template>
<template v-if="isAuth('107001:rejected')">
<el-button v-if="modalData.testStatus === '审批中' && modalData.isReject === 'Y' && !detailFlag" @click="rejectVisible = true" type="primary">驳回</el-button>
<el-button v-if="modalData.testStatus === '审批中' && modalData.isReject === 'Y' && !detailFlag"
@click="rejectVisible = true" type="primary">驳回
</el-button>
</template>
</template>
</el-footer>
@ -426,7 +475,8 @@
: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>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
</el-table>
@ -441,15 +491,20 @@
</el-pagination>
</el-dialog>
<!-- 录入测试结果模态框 -->
<el-dialog title="录入测试结果" :close-on-click-modal="false" v-drag :visible.sync="enterResultModalFlag" width="785px">
<el-form :inline="true" label-position="top" :model="enterResultData" :rules="enterResultRules" style="margin-left: 0px;margin-top: 10px;">
<el-dialog title="录入测试结果" :close-on-click-modal="false" v-drag :visible.sync="enterResultModalFlag"
width="785px">
<el-form :inline="true" label-position="top" :model="enterResultData" :rules="enterResultRules"
style="margin-left: 0px;margin-top: 10px;">
<el-form-item label="实际交付日期" prop="actualityDeliveryDate" :rules="enterResultRules.actualityDeliveryDate">
<el-date-picker v-model="enterResultData.actualityDeliveryDate" type="date" value-format="yyyy-MM-dd" placeholder="请选择日期" style="width: 200px"></el-date-picker>
<el-date-picker v-model="enterResultData.actualityDeliveryDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择日期" style="width: 200px"></el-date-picker>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="enterResultData" :rules="enterResultRules" style="margin-left:0px;margin-top: 5px;">
<el-form :inline="true" label-position="top" :model="enterResultData" :rules="enterResultRules"
style="margin-left:0px;margin-top: 5px;">
<el-form-item label="测试结果信息" prop="testResultInformation" :rules="enterResultRules.testResultInformation">
<el-input type="textarea" v-model="enterResultData.testResultInformation" :rows="3" resize='none' show-word-limit style="width: 500px;height: 30px"></el-input>
<el-input type="textarea" v-model="enterResultData.testResultInformation" :rows="3" resize='none'
show-word-limit style="width: 500px;height: 30px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="enterResultData" style="margin-left: 0px;margin-top: 50px;">
@ -496,10 +551,14 @@
</el-dialog>
<!-- 录入送样信息模态框 -->
<el-dialog title="录入送样信息" :close-on-click-modal="false" v-drag :visible.sync="submitResultModalFlag" width="620px">
<el-form :inline="true" label-position="top" :model="submitResultData" :rules="submitResultRules" style="margin-left: 0px;margin-top: 10px;">
<el-form-item label="实际送样日期" prop="actualitySendSamplesDate" :rules="submitResultRules.actualitySendSamplesDate">
<el-date-picker v-model="submitResultData.actualitySendSamplesDate" type="date" value-format="yyyy-MM-dd" placeholder="请选择日期" style="width: 200px"></el-date-picker>
<el-dialog title="录入送样信息" :close-on-click-modal="false" v-drag :visible.sync="submitResultModalFlag"
width="620px">
<el-form :inline="true" label-position="top" :model="submitResultData" :rules="submitResultRules"
style="margin-left: 0px;margin-top: 10px;">
<el-form-item label="实际送样日期" prop="actualitySendSamplesDate"
:rules="submitResultRules.actualitySendSamplesDate">
<el-date-picker v-model="submitResultData.actualitySendSamplesDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择日期" style="width: 200px"></el-date-picker>
</el-form-item>
<el-form-item label="送样方式" prop="sendSamplesMethod" :rules="submitResultRules.sendSamplesMethod">
<el-select v-model="submitResultData.sendSamplesMethod" style="width: 221px">
@ -514,7 +573,8 @@
</el-form>
<el-form :inline="true" label-position="top" :model="submitResultData" style="margin-left:0px;margin-top: 5px;">
<el-form-item label="送货备注">
<el-input type="textarea" v-model="submitResultData.deliverGoodsRemark" :rows="3" resize='none' show-word-limit style="width: 456px;height: 30px"></el-input>
<el-input type="textarea" v-model="submitResultData.deliverGoodsRemark" :rows="3" resize='none'
show-word-limit style="width: 456px;height: 30px"></el-input>
</el-form-item>
</el-form>
<el-footer style="height:35px;margin-top: 50px;text-align:center">
@ -524,10 +584,13 @@
</el-dialog>
<!-- 客户回复模态框 -->
<el-dialog title="客户回复" :close-on-click-modal="false" v-drag :visible.sync="customerResponseModalFlag" width="620px">
<el-form :inline="true" label-position="top" :model="customerResponseData" :rules="customerResponseRules" style="margin-left: 0px;margin-top: 10px;">
<el-dialog title="客户回复" :close-on-click-modal="false" v-drag :visible.sync="customerResponseModalFlag"
width="620px">
<el-form :inline="true" label-position="top" :model="customerResponseData" :rules="customerResponseRules"
style="margin-left: 0px;margin-top: 10px;">
<el-form-item label="实际回复日期" prop="actualityReplyDate" :rules="customerResponseRules.actualityReplyDate">
<el-date-picker v-model="customerResponseData.actualityReplyDate" type="date" value-format="yyyy-MM-dd" placeholder="请选择日期" style="width: 185px"></el-date-picker>
<el-date-picker v-model="customerResponseData.actualityReplyDate" type="date" value-format="yyyy-MM-dd"
placeholder="请选择日期" style="width: 185px"></el-date-picker>
</el-form-item>
<el-form-item label="客户确认结果" prop="confirmResults" :rules="customerResponseRules.confirmResults">
<el-select v-model="customerResponseData.confirmResults" style="width: 185px">
@ -539,9 +602,11 @@
<el-input v-model="customerResponseData.confirmBy" style="width: 185px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="customerResponseData" style="margin-left:0px;margin-top: 5px;">
<el-form :inline="true" label-position="top" :model="customerResponseData"
style="margin-left:0px;margin-top: 5px;">
<el-form-item label="客户回复信息">
<el-input type="textarea" v-model="customerResponseData.confirmInformation" :rows="3" resize='none' show-word-limit style="width: 595px;height: 30px"></el-input>
<el-input type="textarea" v-model="customerResponseData.confirmInformation" :rows="3" resize='none'
show-word-limit style="width: 595px;height: 30px"></el-input>
</el-form-item>
</el-form>
<el-footer style="height:35px;margin-top: 50px;text-align:center">
@ -551,7 +616,8 @@
</el-dialog>
<!--选择项目模态框-->
<el-dialog title="选择-项目" :close-on-click-modal="false" @close="closeProjectInfoDialog" @open="searchProjectInfoList" :visible.sync="chooseProjectListFlag" width="35%">
<el-dialog title="选择-项目" :close-on-click-modal="false" @close="closeProjectInfoDialog"
@open="searchProjectInfoList" :visible.sync="chooseProjectListFlag" width="35%">
<el-form label-position="top" :model="searchProjectData" ref="closeProjectInfoForm">
<el-row :gutter="10">
<el-col :span="6">
@ -581,9 +647,11 @@
</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">
<el-tabs v-model="activeTable" style="margin-top: 0px; width: 100%; min-height: 500px;" type="border-card"
@tab-click="tabClick" class="customer-tab">
<el-tab-pane label="基本信息" name="attribute">
<test-properties ref="tabProperties" v-model:data-list="testPropertiesList" :test-no="testCurrentRow.testNo" :disabled="testCurrentRow.testStatus === '已完成'" height="45vh"></test-properties>
<test-properties ref="tabProperties" v-model:data-list="testPropertiesList" :test-no="testCurrentRow.testNo"
:disabled="testCurrentRow.testStatus === '已完成'" height="45vh"></test-properties>
</el-tab-pane>
<el-tab-pane label="物料属性" name="test_attribute" style="padding: 5px">
<el-table
@ -604,7 +672,8 @@
<template slot-scope="scope">
<div v-if="item.columnProp !== 'textValue' && item.columnProp !== 'numValue'">
<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>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</div>
<div v-else>
{{ scope.row.textValue ? scope.row.textValue : scope.row.numValue }}
@ -614,10 +683,13 @@
</el-table>
</el-tab-pane>
<el-tab-pane label="材料信息" name="test_so_bom" style="padding: 5px">
<test-table ref="tabSoBom" :test-number="testCurrentRow.testNumber" :disabled="testCurrentRow.testStatus === '已完成'" :test-no="testCurrentRow.testNo" height="45vh" v-model:data-list="testSoBomList"></test-table>
<test-table ref="tabSoBom" :test-number="testCurrentRow.testNumber"
:disabled="testCurrentRow.testStatus === '已完成'" :test-no="testCurrentRow.testNo" height="45vh"
v-model:data-list="testSoBomList"></test-table>
</el-tab-pane>
<el-tab-pane label="制程信息" name="test_so_routing" style="padding: 5px">
<test-routing-table ref="tabSoRouting" :test-no="testCurrentRow.testNo" v-model:data-list="testSoRoutingList" :disabled="testCurrentRow.testStatus === '已完成'" height="45vh" ></test-routing-table>
<test-routing-table ref="tabSoRouting" :test-no="testCurrentRow.testNo" v-model:data-list="testSoRoutingList"
:disabled="testCurrentRow.testStatus === '已完成'" height="45vh"></test-routing-table>
</el-tab-pane>
<el-tab-pane label="附件信息" name="file">
<oss-components style="margin-top: 5px"
@ -637,7 +709,8 @@
<!-- 项目信息页签 -->
<el-tab-pane label="项目信息" name="project_information">
<el-form label-position="top" :model="projectInformationData" style="margin-left: 10px;margin-top: 5px;margin-right: 10px">
<el-form label-position="top" :model="projectInformationData"
style="margin-left: 10px;margin-top: 5px;margin-right: 10px">
<el-row :gutter="20">
<el-col :span="8">
<div class="grid-content bg-purple">
@ -764,7 +837,8 @@
<!-- 审批信息 -->
<el-tab-pane label="审批信息" name="approvalInformation">
<approval-information ref="approvalTable" v-model:data-list="approvalList" height="46vh" style="margin-top: 5px"></approval-information>
<approval-information ref="approvalTable" v-model:data-list="approvalList" height="46vh"
style="margin-top: 5px"></approval-information>
</el-tab-pane>
</el-tabs>
@ -791,7 +865,8 @@
: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>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
</el-table>
@ -820,7 +895,8 @@
: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>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
</el-table>
@ -896,6 +972,7 @@
import BuSelect from "../base/BuSelect.vue";
import {getApprovalList} from "../../../api/changeManagement/changeManagement";
import CustomerInfo from "../quotation/sellForQuotation/customerInfo.vue";
export default {
computed: {
testInformationFlag() {
@ -1061,6 +1138,7 @@
testNo: '',
buNo: '',
},
fileContentLoaded: false,
//
dataListLoading: false,
//
@ -2353,9 +2431,20 @@
//
this.refreshCurrentTabTable()
},
dialogTabClick(){
if (this.activeTab === 'partAttribute') {
dialogTabClick(tab) {
// if (this.activeTab === 'partAttribute') {
// this.getPartItem(this.modalData.site, this.modalData.testPartNo, 1);
// }
if (tab.name === 'partAttribute') {
this.getPartItem(this.modalData.site, this.modalData.testPartNo, 1);
} else if (tab.name === 'file') {
//
this.fileContentLoaded = true;
this.$nextTick(() => {
if (this.$refs.ossRef1 && this.$refs.ossRef1.handleQuery) {
this.$refs.ossRef1.handleQuery();
}
});
}
},
/**
@ -2562,12 +2651,10 @@
soNumber: row.soNumber,
}
this.activeTabList = ['product', 'process', 'attribute', 'partAttribute', 'file']
// this.$nextTick(()=>{
// this.$refs.dialogSoBom.clearTable();
// })
// this.$refs.ossRef1.handleQuery()
this.modalDisableFlag = true
this.modalFlag = true
},
// ======== // ========
@ -2728,7 +2815,8 @@
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -2768,7 +2856,8 @@
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -2856,7 +2945,8 @@
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -2910,7 +3000,8 @@
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -2968,7 +3059,8 @@
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -3029,7 +3121,8 @@
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
onClose: () => {
}
})
} else {
this.$alert(data.msg, '错误', {
@ -3661,14 +3754,17 @@
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;
@ -3678,6 +3774,7 @@
display: none;
position: relative;
}
/deep/ .el-table .cellClass .cell:before {
content: "";
position: absolute;

2
src/views/modules/test/testSoRouting/testRoutingTable.vue

@ -895,7 +895,7 @@ export default {
<!-- </el-dialog>-->
<!-- 加工中心模态框 -->
<el-dialog title="加工中心" top="17vh" :close-on-click-modal="false" v-drag :visible.sync="workCenterDialogFlag" width="940px">
<el-dialog title="加工中心" top="17vh" :close-on-click-modal="false" v-drag :visible.sync="workCenterDialogFlag" append-to-body width="940px">
<el-form :inline="true" label-position="top" :model="searchData">
<el-form-item :label="'加工中心'">
<el-input v-model="searchData.workCenterNo" clearable style="width: 120px"></el-input>

Loading…
Cancel
Save