| | |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <!-- <el-col :span="6"> |
| | | <el-form-item class="addObj-form-item" label="约定时间:" prop="appointed"> |
| | | <el-date-picker v-model="addObj.appointed" :disabled="active > 1" format="yyyy-MM-dd" placeholder="选择日期" |
| | | size="small" style="width: 100%" type="date" value-format="yyyy-MM-dd"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> --> |
| | | <el-col :span="6"> |
| | | <el-form-item class="addObj-form-item" label="报检类型:"> |
| | | <el-input v-model="addObj.inspectionType" class="addObj-info" clearable disabled size="small"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | | <el-form-item class="addObj-form-item" label="车间名称:"> |
| | | <el-input v-model="addObj.workShopName" class="addObj-info" clearable disabled size="small"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6"> |
| | |
| | | </el-form-item> |
| | | <el-form-item label="检验标准:" style="margin-bottom: 6px;margin-top: 6px"> |
| | | <el-select v-model="standardMethodListId" :loading="methodLoad" :placeholder="active > 1 ? '' : '请输入'" |
| | | clearable size="small" @change="changeStandardMethodListId" @focus="methodFocus"> |
| | | clearable size="small" @change="changeStandardMethodListId" @focus="methodFocus" multiple> |
| | | <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" style="margin-bottom: 6px;margin-top: 6px"> |
| | | <el-button type="primary" size="small">车间附件查看</el-button> |
| | | <el-form-item label="附件查看:" style="margin-bottom: 6px;margin-top: 6px"> |
| | | <el-button type="text" @click="handleFileDialog"> |
| | | <i class="el-icon-document"></i> |
| | | 车间附件查看 |
| | | </el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <el-button type="text" @click="handleFileDialog" v-show="active != 1"> |
| | | <i class="el-icon-document"></i> |
| | | 车间附件查看 |
| | | </el-button> |
| | | <el-dialog :visible.sync="fileDialogVisible" title="附件查看" width="80%"> |
| | | <fileList :currentNo="addObj.workShopId" v-if="fileDialogVisible" :isLook="true" /> |
| | | </el-dialog> |
| | | <div style="margin-bottom: 6px;margin-top: 6px"> |
| | | <el-button v-show="active == 1" :disabled="sampleList.length === 2" size="small" type="primary" |
| | | @click="handleSplitCountNum">拆分</el-button> |
| | |
| | | <el-select v-model="scope.row.standardMethodListId" |
| | | :disabled="scope.row.model == null || active > 1 || scope.$index !== 0" :loading="methodLoad" clearable |
| | | placeholder="检验标准" size="small" style="width: 100%;" @change="(value) => methodChange(value, scope.row)" |
| | | @clear="productList = []" @focus="methodFocus"> |
| | | @clear="productList = []" @focus="methodFocus" multiple> |
| | | <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | |
| | | </el-table> |
| | | <el-table ref="productTable" v-loading="getProductLoad" :data="productList" :row-class-name="tableRowClassName" |
| | | class="el-table" max-height="400px" style="margin-bottom: 10px;" |
| | | :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border tooltip-effect="dark" |
| | | @select="selectOne" @selection-change="selectProduct" @select-all="handleAll"> |
| | | <el-table-column v-if="active == 1" :selectable="selectable" type="selection" width="65"></el-table-column> |
| | | :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border tooltip-effect="dark"> |
| | | <!-- <el-table-column v-if="active == 1" :selectable="selectable" type="selection" width="65"></el-table-column> --> |
| | | <el-table-column label="检验项" min-width="140" prop="inspectionItem" show-overflow-tooltip> |
| | | <template slot="header" slot-scope="scope"> |
| | | <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px"> |
| | |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="条件" min-width="140" prop="radius" show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="试验条件" min-width="140" prop="radius" show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="试验方法" min-width="120" prop="methodS" show-overflow-tooltip> |
| | | <template slot="header" slot-scope="scope"> |
| | | <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px"> |
| | |
| | | selectStandardProductList, |
| | | selectStandardTreeListByPartNo |
| | | } from "@/api/business/rawMaterialOrder"; |
| | | import fileList from "../../structural/capabilityAndLaboratory/workshop/components/fileList.vue" |
| | | import limsTable from "@/components/Table/lims-table.vue"; |
| | | |
| | | export default { |
| | | name: "CustomsInspection", |
| | | dicts: ['check_type', 'urgency_level'], |
| | | components: {}, |
| | | components: { limsTable, fileList }, |
| | | props: { |
| | | }, |
| | | data() { |
| | | return { |
| | | customsInspection: {}, |
| | | fileDialogVisible: false, |
| | | orderType: '', |
| | | active: 0, |
| | | currentId: 0, |
| | |
| | | typeSource: 1, |
| | | ifsInventoryId: '', |
| | | sampleStatus: 'In good condition', |
| | | workShopName: '',//车间名称 |
| | | workShopId: '',//车间ID |
| | | }, |
| | | addObjRules: { // 表单校验规则 |
| | | testQuantity: [ |
| | |
| | | totalArr: [], |
| | | addObj1: {}, |
| | | model: null, |
| | | standardMethodListId: null, |
| | | standardMethodListId: [], |
| | | inspectionItem: null, |
| | | inspectionItemSubclass: null, |
| | | methodS: null, |
| | |
| | | value: 0 |
| | | }, |
| | | { |
| | | label: '季度检验', |
| | | label: '可靠性检验', |
| | | value: 1 |
| | | }, |
| | | ], |
| | |
| | | }, |
| | | 'addObj.sample'(val) { |
| | | this.model = null |
| | | this.standardMethodListId = null |
| | | this.standardMethodListId = [] |
| | | }, |
| | | 'addObj.qtyArrived'(val) { |
| | | this.model = null |
| | | this.standardMethodListId = null |
| | | this.standardMethodListId = [] |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | this.customsInspection = this.$route.query.customsInspection |
| | | this.getInfo(); |
| | | }, |
| | | getInfo() { |
| | | this.getUserNowList() // 获取当前用户信息 |
| | | this.selectStandardMethods() // 获取检验标准下拉框数据 |
| | | this.getInfo() // 获取数据 |
| | | }, |
| | | // getInfo() { |
| | | // this.getInfo() // 获取数据 |
| | | // }, |
| | | methods: { |
| | | handleFileDialog() { |
| | | this.fileDialogVisible = true |
| | | }, |
| | | save1() { |
| | | if (this.bsm1DiaList.length > 0) { |
| | | this.bsm1DiaList.forEach(item => { |
| | |
| | | }, |
| | | // 获取数据 |
| | | getInfo() { |
| | | this.getUserNowList() // 获取当前用户信息 |
| | | this.selectStandardMethods() // 获取检验标准下拉框数据 |
| | | if (this.active == 2) { |
| | | let orderId = '' |
| | | if (!this.customsInspection.enterOrderId && this.customsInspection.quarterOrderId) { |
| | |
| | | this.addObj.updateBatchNo = res.data.insOrderTemplate.updateBatchNo |
| | | this.addObj.type = String(this.addObj.type) |
| | | this.sampleList = this.HaveJson(res.data.sampleProduct) |
| | | this.sampleList.forEach(m => { |
| | | if (m.standardMethodListId) { |
| | | m.standardMethodListId = JSON.parse(m.standardMethodListId) |
| | | } |
| | | }) |
| | | this.getProNum() |
| | | this.$nextTick(() => { |
| | | this.$refs.sampleTable.doLayout() |
| | |
| | | this.$set(this.addObj, 'buyUnitMeas', this.customsInspection.buyUnitMeas) |
| | | this.$set(this.addObj, 'updateBatchNo', this.customsInspection.updateBatchNo) |
| | | this.$set(this.addObj, 'partDetail', this.customsInspection.partDesc) |
| | | this.$set(this.addObj, 'workShopName', res.data.workShopName) |
| | | this.$set(this.addObj, 'workShopId', res.data.workShopId) |
| | | this.$set(this.addObj, 'inspectionType', this.customsInspection.inspectionType) |
| | | console.log(111111, this.addObj) |
| | | if (this.orderType == 1) { |
| | | this.$set(this.addObj, 'orderType', 'Quarterly inspection') |
| | | } |
| | | const str = res.data.treeName.split('-') |
| | | this.selectTreeTem = str.join(' - ') |
| | | this.selectTree = str.join(' - ') |
| | | this.addListInfo(this.codeLevel, res.data) // 原材料样品是固定的,就默认赋值一条数据,可拆分 |
| | | this.selectInsOrderTemplate() // 原材料模板列表查询 |
| | | this.addListInfo(this.codeLevel, res.data) // 原辅材样品是固定的,就默认赋值一条数据,可拆分 |
| | | this.selectInsOrderTemplate() // 原辅材模板列表查询 |
| | | } else { |
| | | this.dialogVisible = true |
| | | this.dialogMessage = res.message |
| | |
| | | save() { |
| | | this.$refs['addObj'].validate((valid) => { |
| | | if (valid) { |
| | | if (!this.sampleList.every(m => m.standardMethodListId)) { |
| | | if (!this.sampleList.every(m => m.standardMethodListId && m.standardMethodListId.length > 0)) { |
| | | this.$message.error('请选择检验标准') |
| | | return |
| | | } |
| | |
| | | noNeedCheck() { |
| | | this.$refs['addObj'].validate((valid) => { |
| | | if (valid) { |
| | | if (!this.sampleList.every(m => m.standardMethodListId)) { |
| | | if (!this.sampleList.every(m => m.standardMethodListId && m.standardMethodListId.length > 0)) { |
| | | this.$message.error('请选择检验标准') |
| | | return |
| | | } |
| | |
| | | }) |
| | | this.getTotal(sampleList) |
| | | let trees = this.selectTree.split(" - ") |
| | | if (trees.length < 3) { |
| | | if (trees.length < 5) { |
| | | this.$message.error('未选择对象') |
| | | return |
| | | } |
| | | this.addObj.factory = trees[0] |
| | | this.addObj.laboratory = trees[1] |
| | | this.addObj.sampleType = trees[2] |
| | | if ((trees[3] === undefined || trees[3] === '') || trees.length === 4) { |
| | | this.addObj.sample = trees[2] |
| | | this.addObj.sampleType = trees[3] |
| | | if ((trees[5] === undefined || trees[5] === '') || trees.length === 6) { |
| | | this.addObj.sample = trees[4] |
| | | } else { |
| | | this.addObj.sample = trees[3] |
| | | this.addObj.sample = trees[5] |
| | | } |
| | | this.addObj.model = (trees[4] == undefined ? null : trees[4]) |
| | | this.addObj.model = (trees[6] == undefined ? null : trees[6]) |
| | | this.addObj.ifsInventoryId = this.customsInspection.id |
| | | this.noNeedCheckLoad = true |
| | | addExemptionOrder({ |
| | |
| | | }, |
| | | saveMethod(sampleList) { |
| | | let trees = this.selectTree.split(" - ") |
| | | if (trees.length < 3) { |
| | | if (trees.length < 5) { |
| | | this.$message.error('未选择对象') |
| | | return |
| | | } |
| | | this.addObj.factory = trees[0] |
| | | this.addObj.laboratory = trees[1] |
| | | this.addObj.sampleType = trees[2] |
| | | if ((trees[3] === undefined || trees[3] === '') || trees.length === 4) { |
| | | this.addObj.sample = trees[2] |
| | | this.addObj.sampleType = trees[4] |
| | | if ((trees[5] === undefined || trees[5] === '') || trees.length === 6) { |
| | | this.addObj.sample = trees[4] |
| | | } else { |
| | | this.addObj.sample = trees[3] |
| | | this.addObj.sample = trees[5] |
| | | } |
| | | this.addObj.model = (trees[4] == undefined ? null : trees[4]) |
| | | this.addObj.model = (trees[6] == undefined ? null : trees[6]) |
| | | this.addObj.ifsInventoryId = this.customsInspection.id |
| | | this.saveLoad = true |
| | | if (this.addObj.createTime) { |
| | |
| | | addInsOrder({ |
| | | insOrder: this.addObj, |
| | | sampleList: sampleList.map(a => { |
| | | a.standardMethodListId = JSON.stringify(a.standardMethodListId) |
| | | if (a.insProduct.length > 0) { |
| | | a.insProduct.forEach(c => { |
| | | delete c.id |
| | |
| | | this.sample.joinNum = 1 |
| | | this.sample.sample = this.addObj.sample |
| | | this.sample.unit = this.addObj.unit |
| | | this.sample.standardMethodListId = null |
| | | this.sample.standardMethodListId = [] |
| | | this.sample.insProduct = [] |
| | | this.sample.id = this.count |
| | | this.sample.childSampleList = [] |
| | | this.sample.insulating = null |
| | | this.sample.sheath = null |
| | | this.sample.quantity = 1 |
| | | if (codeLevel === '[5]') { |
| | | if (codeLevel === '[7]') { |
| | | this.sample.model = this.addObj.sample |
| | | } else if (codeLevel === '[4]') { |
| | | } else if (codeLevel === '[6]') { |
| | | this.models = data.children2 |
| | | } else if (codeLevel === '[3]') { |
| | | } else if (codeLevel === '[5]') { |
| | | this.models = data.children1 |
| | | } |
| | | this.sampleList.push(this.HaveJson(this.sample)) |
| | |
| | | // 选中表格行的回调 |
| | | rowClick(row, column, event) { |
| | | this.currentMethod = row |
| | | let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId) |
| | | if (obj && obj.code == '技术要求') { |
| | | this.isAskOnlyRead = true |
| | | } else { |
| | | this.isAskOnlyRead = false |
| | | } |
| | | // let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId) |
| | | // if (obj && obj.code == '技术要求') { |
| | | // this.isAskOnlyRead = true |
| | | // } else { |
| | | // this.isAskOnlyRead = false |
| | | // } |
| | | this.sampleId = row.id |
| | | if (this.active !== 1) { |
| | | this.sampleIds = [] |
| | |
| | | }) |
| | | } |
| | | this.currentMethod = row |
| | | let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId) |
| | | if (obj && obj.code == '技术要求') { |
| | | this.isAskOnlyRead = true |
| | | } else { |
| | | this.isAskOnlyRead = false |
| | | } |
| | | // let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId) |
| | | // if (obj && obj.code == '技术要求') { |
| | | // this.isAskOnlyRead = true |
| | | // } else { |
| | | // this.isAskOnlyRead = false |
| | | // } |
| | | this.getProductLoad = true |
| | | let selectTreeList = this.selectTree.split(" - ") |
| | | this.addObj.model && (selectTreeList[selectTreeList.length - 1] = this.addObj.model) |
| | | selectStandardProductList({ |
| | | model: this.addObj.model ? this.addObj.model : row.model, |
| | | modelNum: row.modelNum, |
| | | standardMethodListId: val, |
| | | standardMethodListIds: val, |
| | | factory: selectTreeList.join(" - "), |
| | | partNo: this.addObj.partNo, |
| | | ifsInventoryId: this.customsInspection.id |
| | |
| | | background-color: #ffffff; |
| | | |
| | | } |
| | | |
| | | :deep(.warning-row) { |
| | | color: #1890FF; |
| | | } |
| | | </style> |