| | |
| | | </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 class="addObj-form-item" label="备注:"> |
| | | <el-input v-model="addObj.remark" :autosize="{ minRows: 2, maxRows: 2 }" :disabled="active > 1" |
| | | :placeholder="active > 1 ? '' : '请输入'" clearable size="small" type="textarea"></el-input> |
| | |
| | | </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 label="附件查看:" style="margin-bottom: 6px;margin-top: 6px"> |
| | | <el-button type="text" @click="handleFileDialog"> |
| | | <i class="el-icon-document"></i> |
| | | 附件查看 |
| | | 车间附件查看 |
| | | </el-button> |
| | | <el-dialog :visible.sync="fileDialogVisible" title="附件查看" width="80%"> |
| | | <fileList :currentNo="partNo" v-if="fileDialogVisible" /> |
| | | </el-dialog> |
| | | </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> |
| | |
| | | </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="120" prop="methodS" show-overflow-tooltip> |
| | | <el-table-column label="试验条件" min-width="140" prop="radius" show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="试验方法" min-width="120" prop="method" show-overflow-tooltip> |
| | | <template slot="header" slot-scope="scope"> |
| | | <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px"> |
| | | <span>试验方法</span> |
| | |
| | | selectStandardProductList, |
| | | selectStandardTreeListByPartNo |
| | | } from "@/api/business/rawMaterialOrder"; |
| | | import fileList from "./commom/fileList.vue" |
| | | 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: { limsTable,fileList }, |
| | | components: { limsTable, fileList }, |
| | | props: { |
| | | }, |
| | | data() { |
| | |
| | | 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() { |
| | |
| | | methods: { |
| | | handleFileDialog() { |
| | | this.fileDialogVisible = true |
| | | this.currentNo = addObj.partNo || customsInspection.partNo; |
| | | }, |
| | | save1() { |
| | | if (this.bsm1DiaList.length > 0) { |
| | |
| | | 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 |
| | | } |
| | |
| | | item.insProduct = this.productList |
| | | }) |
| | | this.getTotal(sampleList) |
| | | let projectNum = this.totalArr.filter(a => a.state == 1).length |
| | | let projectNum = this.totalArr.length |
| | | if (projectNum == 0) { |
| | | this.$confirm('检验项目为空,是否确认提交?', "提示", { |
| | | confirmButtonText: "确定", |
| | |
| | | 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) { |
| | | delete this.addObj.createTime |
| | | } |
| | | addInsOrder({ |
| | | insOrder: this.addObj, |
| | | insOrder: { |
| | | ...this.addObj, |
| | | workShopId: this.addObj.workShopId || '' // 确保 workShopId 传递给后端 |
| | | }, |
| | | sampleList: sampleList.map(a => { |
| | | if (a.insProduct.length > 0) { |
| | | a.insProduct.forEach(c => { |
| | | delete c.id |
| | | }) |
| | | } |
| | | a.standardMethodListId = JSON.stringify(a.standardMethodListId) |
| | | a.insProduct = this.fullProductList.map(item => ({ |
| | | ...item, |
| | | state: 1 |
| | | })) |
| | | if (a.modelNum) { |
| | | // 根据x号判断型号参数与样品型号的拼接位置 |
| | | // 例如×4,就为500ML×4;4×,就为4×500ML |
| | |
| | | } else { |
| | | a.model = a.model + ((a.modelNum == null || a.modelNum == '' || a.modelNum == 'null') ? '' : ('-' + a.modelNum)) |
| | | } |
| | | a.insProduct = a.insProduct.filter(b => b.state === 1) |
| | | return a |
| | | }), |
| | | }).then(res => { |
| | |
| | | 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 |
| | | }).then(res => { |
| | | this.getProductLoad = false |
| | | res.data.forEach(a => { |
| | | a.state = 0 |
| | | }) |
| | | this.productList = this.HaveJson(res.data) |
| | | this.productList0 = JSON.parse(JSON.stringify(this.productList)) |
| | | // 直接将查询结果赋值给 productList |
| | | this.fullProductList = res.data |
| | | this.productList = res.data |
| | | this.productList0 = res.data |
| | | this.$refs.sampleTable.setCurrentRow(row) |
| | | setTimeout(() => { |
| | | this.productList.forEach(a => { |