| | |
| | | <div class="top-bar"> |
| | | <el-form ref="form" :inline="true" :model="searchData"> |
| | | <el-form-item label="材料编码:" position="left" class="sermargin"> |
| | | <el-input |
| | | v-model="searchData.code" |
| | | class="input-form" |
| | | placeholder="请输入" |
| | | > |
| | | <el-input v-model="searchData.code" class="input-form" placeholder="请输入"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="材料名称:" class="sermargin"> |
| | | <el-input |
| | | v-model="searchData.name" |
| | | class="input-form" |
| | | placeholder="请输入" |
| | | > |
| | | <el-input v-model="searchData.name" class="input-form" placeholder="请输入"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="状态:" class="sermargin"> |
| | | <el-select v-model="searchData.state" placeholder="全部"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="来料日期:" style="margin-right: 20px;"> |
| | | <el-input |
| | | v-model="searchData.date" |
| | | class="input-form" |
| | | placeholder="请输入" |
| | | > |
| | | <el-input v-model="searchData.date" class="input-form" placeholder="请输入"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <el-dialog |
| | | title="新增原材料报检" |
| | | :visible.sync="addReportVisible" |
| | | width="40%"> |
| | | <el-form v-model="insertData" :inline="true" label-position="right" label-width="80px"> |
| | | <el-form-item label="来料日期:"> |
| | | <el-date-picker |
| | | v-model="insertData.fromDate" |
| | | type="date" |
| | | value-format="yyyy-MM-dd" |
| | | ></el-date-picker> |
| | | <el-dialog title="新增原材料报检" :visible.sync="addReportVisible" width="40%"> |
| | | <el-form ref="addMaterialForm" :rules="insertRule" :model="insertData" :inline="true" label-position="right" |
| | | label-width="80px"> |
| | | <el-form-item label="来料日期:" prop="fromDate"> |
| | | <el-date-picker v-model="insertData.fromDate" type="date" value-format="yyyy-MM-dd"></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="供货商名称:"> |
| | | <el-form-item label="供货商名称:" prop="supplierName"> |
| | | <el-input v-model="insertData.supplierName" /> |
| | | </el-form-item> |
| | | <el-form-item label="材料名称:"> |
| | | <el-select v-model="insertData.mName" placeholder="请选择材料名称"> |
| | | <el-option v-for="(item,index) in 5" :key="index" :label="item" :value="item"></el-option> |
| | | <el-form-item label="材料名称:" prop="mName"> |
| | | <el-select v-model="insertData.mName" placeholder="请选择材料名称" @change="(val)=>{getSpecification(val)}"> |
| | | <el-option v-for="(item,index) in materialList" :key="index" :label="item.name" |
| | | :value="item.id"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="材料编码:"> |
| | | <el-form-item label="材料编码:" prop="mCode"> |
| | | <el-input disabled v-model="insertData.mCode" /> |
| | | </el-form-item> |
| | | <el-form-item label="规格型号:"> |
| | | <el-cascader |
| | | v-model="insertData.specificationsNumber" |
| | | :options="childrenOptions" |
| | | @change="handleChange"></el-cascader> |
| | | <el-form-item label="规格型号:" prop="specificationsNumber"> |
| | | <el-cascader v-model="insertData.specificationsNumber" :options="childrenOptions" |
| | | :props="{label: 'Name', value: 'Name'}" separator="-"></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="单位:"> |
| | | <el-form-item label="单位:" prop="unit"> |
| | | <el-input type="text" v-model="insertData.unit" /> |
| | | </el-form-item> |
| | | <el-form-item label="数量:"> |
| | | <el-form-item label="数量:" prop="num"> |
| | | <el-input type="number" v-model="insertData.num" /> |
| | | </el-form-item> |
| | | </el-form> |
| | |
| | | <div class="table-header"> |
| | | <div class="search-bar"> |
| | | <el-radio-group v-model="radioValue" @change="radioclick"> |
| | | <el-radio-button v-for="option in radioOptions" :key="option.value" :label="option.value">{{ option.label }}</el-radio-button> |
| | | <el-radio-button v-for="option in radioOptions" :key="option.value" |
| | | :label="option.value">{{ option.label }}</el-radio-button> |
| | | </el-radio-group> |
| | | </div> |
| | | <div class="generateInsp"> |
| | | <el-button @click="addReportBtn" type="primary" size="mini" icon="el-icon-document" style="background-color: rgb(1, 102, 226);">生成报检单</el-button> |
| | | <el-button @click="addReportBtn" type="primary" size="mini" icon="el-icon-document" |
| | | style="background-color: rgb(1, 102, 226);">生成报检单</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="table-box"> |
| | | <el-table |
| | | ref="inspectionTable" |
| | | :max-height="800" |
| | | :cell-style="{textAlign: 'center'}" |
| | | <el-table ref="inspectionTable" :max-height="600" :cell-style="{textAlign: 'center'}" |
| | | :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" |
| | | :data="inspectionTable" |
| | | style="width: 100%" |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column |
| | | type="selection" |
| | | :selectable="checkSelect" |
| | | min-width="5%"> |
| | | :data="inspectionTable" style="width: 100%" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" :selectable="checkSelect" min-width="5%"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | type="index" |
| | | label="序号" |
| | | min-width="8%" |
| | | /> |
| | | <el-table-column |
| | | prop="createTime" |
| | | label="来料日期" |
| | | min-width="8%" |
| | | /> |
| | | <el-table-column |
| | | prop="supplierName" |
| | | label="供应商名称" |
| | | min-width="12%" |
| | | /> |
| | | <el-table-column |
| | | prop="materialCoding" |
| | | label="材料编码" |
| | | min-width="8%" |
| | | /> |
| | | <el-table-column |
| | | prop="materialName" |
| | | label="材料名称" |
| | | min-width="8%" |
| | | /> |
| | | <el-table-column |
| | | prop="specificationsModels" |
| | | label="规格型号" |
| | | min-width="12%" |
| | | /> |
| | | <el-table-column |
| | | prop="unit" |
| | | label="单位" |
| | | min-width="5%" |
| | | /> |
| | | <el-table-column |
| | | prop="quantity" |
| | | label="数量" |
| | | min-width="5%" |
| | | /> |
| | | <el-table-column |
| | | prop="inspectionDate" |
| | | label="报检日期" |
| | | min-width="8%" |
| | | /> |
| | | <el-table-column |
| | | prop="surveyor" |
| | | label="检验人" |
| | | min-width="8%" |
| | | /> |
| | | <el-table-column |
| | | prop="dateSurvey" |
| | | label="检验日期" |
| | | min-width="8%" |
| | | /> |
| | | <el-table-column |
| | | prop="type" |
| | | label="状态" |
| | | min-width="8%" |
| | | > |
| | | <el-table-column type="index" label="序号" min-width="8%" /> |
| | | <el-table-column prop="createTime" label="来料日期" min-width="8%" /> |
| | | <el-table-column prop="supplierName" label="供应商名称" min-width="12%" /> |
| | | <el-table-column prop="materialCoding" label="材料编码" min-width="8%" /> |
| | | <el-table-column prop="materialName" label="材料名称" min-width="8%" /> |
| | | <el-table-column prop="specificationsModels" label="规格型号" min-width="12%" /> |
| | | <el-table-column prop="unit" label="单位" min-width="5%" /> |
| | | <el-table-column prop="quantity" label="数量" min-width="5%" /> |
| | | <el-table-column prop="inspectionDate" label="报检日期" min-width="8%" /> |
| | | <el-table-column prop="surveyor" label="检验人" min-width="8%" /> |
| | | <el-table-column prop="dateSurvey" label="检验日期" min-width="8%" /> |
| | | <el-table-column prop="type" label="状态" min-width="8%"> |
| | | <template slot-scope="scope"> |
| | | <span :style="{ color: scope.row.type === 1 ? 'green' : 'red' }"> |
| | | {{ scope.row.type === 1 ? '已报检':'未报检' }} |
| | | </span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="操作" |
| | | min-width="8%"> |
| | | <el-table-column label="操作" min-width="8%"> |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="small" @click="removeFun(scope.row,scope.$index)">删除</el-button> |
| | | </template> |
| | |
| | | </el-table> |
| | | <!-- 分页器 --> |
| | | <div> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="currentPage" |
| | | :page-sizes="[5, 10, 15, 20]" |
| | | :page-size="pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total"> |
| | | <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" |
| | | :current-page="currentPage" :page-sizes="[10, 15, 20,30]" :page-size="pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" :total="total"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | |
| | | <el-dialog title="选择日期" :visible.sync="addReportDialog" width="30%"> |
| | | <el-form :model="addInspectionForm" :rules="addInspectionFormRules" rule="addInspectionForm"> |
| | | <el-form-item label="检验日期" label-width="100px" prop="inspectionDate"> |
| | | <el-date-picker |
| | | v-model="addInspectionForm.inspectionDate" |
| | | type="daterange" |
| | | value-format="yyyy-MM-dd" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期"> |
| | | <el-date-picker v-model="addInspectionForm.inspectionDate" type="daterange" value-format="yyyy-MM-dd" |
| | | range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="版本" label-width="100px" prop="version"> |
| | |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="供应商名称:"> |
| | | <el-input style="width: 180px;" :value="inspectionForm.supplier" disabled autocomplete="off" /> </el-form-item> |
| | | <el-input style="width: 180px;" :value="inspectionForm.supplier" disabled autocomplete="off" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="样品编号:"> |
| | |
| | | <el-button @click="showNewPage = false" type="primary" plain size="mini" icon="el-icon-back">返回</el-button> |
| | | </div> |
| | | </div> |
| | | <el-table |
| | | :max-height="800" |
| | | :cell-style="{textAlign: 'center'}" |
| | | <el-table :max-height="800" :cell-style="{textAlign: 'center'}" |
| | | :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}" |
| | | :data="inspectionItems"> |
| | | <el-table-column type="index" label="序号" width="60"></el-table-column> |
| | |
| | | <el-table-column prop="testValue" label="检验值" width="125"></el-table-column> |
| | | <el-table-column prop="userName" label="检验人"> |
| | | <template slot-scope="scope"> |
| | | <el-select @blur="blurOptions(scope.row)" v-model="scope.row.check" size="small" slot="append" style="width: 260px;"> |
| | | <el-option v-for="(item,index) in checkeroptions" :key="index" :value="item.id" :label="item.name"></el-option> |
| | | <el-select @blur="blurOptions(scope.row)" v-model="scope.row.check" size="small" slot="append" |
| | | style="width: 260px;"> |
| | | <el-option v-for="(item,index) in checkeroptions" :key="index" :value="item.id" |
| | | :label="item.name"></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="device" label="试验设备"> |
| | | <template slot-scope="scope"> |
| | | <el-select @blur="blurOptions(scope.row)" v-model="scope.row.device" size="small" slot="append" style="width: 260px;"> |
| | | <el-option v-for="(item,index) in deviceoptions" :key="index" :value="item.id" :label="item.equipmentName"></el-option> |
| | | <el-select @blur="blurOptions(scope.row)" v-model="scope.row.device" size="small" slot="append" |
| | | style="width: 260px;"> |
| | | <el-option v-for="(item,index) in deviceoptions" :key="index" :value="item.id" |
| | | :label="item.equipmentName"></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { getRawMaterialList, |
| | | import { |
| | | getRawMaterialList, |
| | | addInspect, |
| | | selectInspectsListById, |
| | | selectUser, |
| | | selectEquipment, |
| | | deleteMaterial, |
| | | addMaterial |
| | | addMaterial, |
| | | getMaterielName, |
| | | getSpecification |
| | | } from '@/api/inspection/rawmaterial' |
| | | export default { |
| | | data() { |
| | |
| | | version: 5 |
| | | }, |
| | | addInspectionFormRules: { |
| | | inspectionDate: [{required: true, message: '请选择日期区间', trigger: 'change' }], |
| | | inspectionDate: [{ |
| | | required: true, |
| | | message: '请选择日期区间', |
| | | trigger: 'change' |
| | | }], |
| | | }, |
| | | addReportDialog: false, |
| | | insertData:{}, |
| | |
| | | condition: 1 |
| | | }], |
| | | currentPage: 1, |
| | | pageSize: 5, |
| | | pageSize: 10, |
| | | total:20, |
| | | data: '', |
| | | showNewPage: false, |
| | |
| | | testValue: "3", |
| | | userName:"", |
| | | device: "" |
| | | }], |
| | | insertRule: { |
| | | fromDate: [{ |
| | | required: true, |
| | | message: '请输入活动名称', |
| | | trigger: 'blur' |
| | | }], |
| | | supplierName: [{ |
| | | required: true, |
| | | message: '请输入活动名称', |
| | | trigger: 'blur' |
| | | }], |
| | | mName: [{ |
| | | required: true, |
| | | message: '请输入活动名称', |
| | | trigger: 'blur' |
| | | }], |
| | | mCode: [{ |
| | | required: true, |
| | | message: '请输入活动名称', |
| | | trigger: 'blur' |
| | | }], |
| | | specificationsNumber: [{ |
| | | required: true, |
| | | message: '请输入活动名称', |
| | | trigger: 'blur' |
| | | }], |
| | | unit: [{ |
| | | required: true, |
| | | message: '请输入活动名称', |
| | | trigger: 'blur' |
| | | }], |
| | | num: [{ |
| | | required: true, |
| | | message: '请输入活动名称', |
| | | trigger: 'blur' |
| | | }] |
| | | }, |
| | | materialList: [] |
| | | } |
| | | }, |
| | | created(){ |
| | | this.getRawMaterialList() |
| | | }, |
| | | mounted(){ |
| | | |
| | | this.getMaterielName() |
| | | }, |
| | | methods: { |
| | | handleChange(){ |
| | |
| | | //生成报价单 |
| | | async createReport(param){ |
| | | let res = await addInspect(param); |
| | | const res2 = await selectInspectsListById({ id : res.data}); |
| | | const res2 = await selectInspectsListById({ |
| | | id: res.data |
| | | }); |
| | | this.resultData = res2.data; |
| | | this.inspectionForm = res2.data; |
| | | this.inspectionItems = res2.data.insProducts; |
| | |
| | | }, |
| | | // 获取分页列表数据 |
| | | async getRawMaterialList(){ |
| | | const res = await getRawMaterialList({pageNo: this.currentPage,pageSize:this.pageSize}) |
| | | const res = await getRawMaterialList({ |
| | | pageNo: this.currentPage, |
| | | pageSize: this.pageSize |
| | | }) |
| | | this.inspectionTable = res.data.row |
| | | this.data = res.data.row |
| | | this.total = res.data.total |
| | | }, |
| | | async search(){ |
| | | this.radioValue = this.searchData.state |
| | | const res = await getRawMaterialList({type: this.searchData.state, |
| | | const res = await getRawMaterialList({ |
| | | type: this.searchData.state, |
| | | createTime:this.searchData.date, |
| | | materialCoding:this.searchData.code, |
| | | materialName: this.searchData.name, |
| | |
| | | // 每页条数改变时触发 选择一页显示多少行 |
| | | handleSizeChange(val) { |
| | | this.pageSize = val |
| | | this.getRawMaterialList({pageNo: this.currentPage,pageSize:this.pageSize}) |
| | | this.getRawMaterialList({ |
| | | pageNo: this.currentPage, |
| | | pageSize: this.pageSize |
| | | }) |
| | | }, |
| | | // 当前页改变时触发 跳转其他页 |
| | | handleCurrentChange(val) { |
| | | this.currentPage = val |
| | | this.getRawMaterialList({pageNo: this.currentPage,pageSize:this.pageSize}) |
| | | this.getRawMaterialList({ |
| | | pageNo: this.currentPage, |
| | | pageSize: this.pageSize |
| | | }) |
| | | }, |
| | | insert() { |
| | | this.$refs['addMaterialForm'].validate((valid) => { |
| | | if (valid) { |
| | | var str = { |
| | | "dateSurvey": this.insertData.fromDate, |
| | | "materialCoding": this.insertData.mCode, |
| | | "materialName": this.insertData.mName, |
| | | "quantity": this.insertData.num, |
| | | "specificationsModels": this.insertData.specificationsNumber[0] + '-' + this.insertData |
| | | .specificationsNumber[1], |
| | | "supplierName": this.insertData.supplierName, |
| | | "type": 0, |
| | | "unit": this.insertData.unit |
| | | } |
| | | this.materialList.forEach(a => { |
| | | if (a.id == str.materialName) { |
| | | str.materialName = a.name |
| | | } |
| | | }) |
| | | addMaterial(str).then(res => { |
| | | this.$message.success('添加成功') |
| | | this.addReportVisible = false |
| | | this.getRawMaterialList() |
| | | }) |
| | | } else { |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | getMaterielName() { |
| | | getMaterielName().then(res => { |
| | | this.materialList = res.data |
| | | }) |
| | | }, |
| | | getSpecification(val) { |
| | | this.materialList.forEach(a => { |
| | | if (a.id == val) { |
| | | this.insertData.mCode = a.code |
| | | } |
| | | }) |
| | | getSpecification({ |
| | | materialId: val |
| | | }).then(res => { |
| | | this.childrenOptions = JSON.parse(JSON.stringify(res.data).replaceAll('specifications', '').replaceAll( |
| | | 'model', '')) |
| | | }) |
| | | } |
| | | } |
| | | } |