value
2023-08-31 515551aa5a55d5959ffebc988f2bcc222cd5205d
bug修复
已修改3个文件
341 ■■■■ 文件已修改
.env.development 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/inspection/rawmaterial.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inspectionManagement/reportForInspection/index.vue 323 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.env.development
@@ -2,4 +2,4 @@
ENV = 'development'
# base api
VUE_APP_BASE_API =  'http://192.168.110.107:1234/'
VUE_APP_BASE_API =  'http://localhost:1234/'
src/api/inspection/rawmaterial.js
@@ -62,3 +62,19 @@
    data
  })
}
export function getMaterielName(data){
  return request({
    url: '/raw-material/getMaterielName',
    method: 'get',
    data
  })
}
export function getSpecification(params){
  return request({
    url: '/raw-material/specification',
    method: 'get',
    params
  })
}
src/views/inspectionManagement/reportForInspection/index.vue
@@ -4,37 +4,21 @@
        <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>
@@ -44,39 +28,32 @@
            </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>
@@ -89,97 +66,40 @@
          <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>
@@ -187,14 +107,9 @@
            </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>
@@ -203,13 +118,8 @@
      <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">
@@ -238,7 +148,8 @@
                </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="样品编号:">
@@ -291,9 +202,7 @@
            <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>
@@ -304,15 +213,19 @@
            <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>
@@ -323,13 +236,16 @@
</template>
<script>
import { getRawMaterialList,
    import {
        getRawMaterialList,
  addInspect,
  selectInspectsListById,
  selectUser,
  selectEquipment,
  deleteMaterial,
  addMaterial
        addMaterial,
        getMaterielName,
        getSpecification
 } from '@/api/inspection/rawmaterial'
export default {
  data() {
@@ -341,7 +257,11 @@
        version: 5
      },
      addInspectionFormRules: {
        inspectionDate: [{required: true, message: '请选择日期区间', trigger: 'change' }],
                    inspectionDate: [{
                        required: true,
                        message: '请选择日期区间',
                        trigger: 'change'
                    }],
      },
      addReportDialog: false,
      insertData:{},
@@ -426,7 +346,7 @@
        condition: 1
      }],
      currentPage: 1,
      pageSize: 5,
                pageSize: 10,
      total:20,
      data: '',
      showNewPage: false,
@@ -440,14 +360,52 @@
        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(){
@@ -537,7 +495,9 @@
    //生成报价单
    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;
@@ -545,14 +505,18 @@
    },
    // 获取分页列表数据
    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,
@@ -590,12 +554,65 @@
    // 每页条数改变时触发 选择一页显示多少行
    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', ''))
                })
    }
  }
}