XiaoRuby
2023-08-28 e132d7d87ff834eb231bd39c82c3be22bae2d80b
Merge remote-tracking branch 'origin/master'
已修改6个文件
339 ■■■■■ 文件已修改
src/api/experiment/checkTheReport.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/experiment/planAssignments.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/experiment/checkTheReport/index.vue 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/experiment/checkTheReport/index.vue 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/experiment/inspectionApplication/index.vue 210 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inspectionManagement/reportForInspection/index.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/experiment/checkTheReport.js
@@ -7,3 +7,12 @@
    params
  })
}
//获取报告内的数据
export function getReportData(params) {
  return request({
    url: '/report/getReportContext',
    method: 'post',
    params
  })
}
src/api/experiment/planAssignments.js
@@ -55,3 +55,19 @@
    params
  })
}
//原材料检验列表
export function YANcailiso(params) {
  return request({
    url: '/raw-material/selectAll',
    method: 'get',
    params
  })
}
//版本号
export function chooseVer(params) {
  return request({
    url: '/inspection/chooseVer',
    method: 'get',
    params
  })
}
src/components/experiment/checkTheReport/index.vue
@@ -8,25 +8,27 @@
            <table>
                <tr>
                    <td>材料名称</td>
                    <td colspan="5"></td>
                    <td colspan="5">{{reportData.name}}</td>
                </tr>
                <tr>
                    <td>规格型号</td>
                    <td colspan="2"></td>
                    <td colspan="2">
                        {{reportData.specifications.split("-")[1]}}
                    </td>
                    <td>材料厂家</td>
                    <td colspan="2"></td>
                    <td colspan="2">{{reportData.supplier}}</td>
                </tr>
                <tr>
                    <td>材料批号</td>
                    <td colspan="2"></td>
                    <td>材料编号</td>
                    <td colspan="2">{{reportData.imCode}}</td>
                    <td>检测编号</td>
                    <td colspan="2"></td>
                    <td colspan="2">{{reportData.insCode}}</td>
                </tr>
                <tr>
                    <td>检测依据</td>
                    <td colspan="2"></td>
                    <td colspan="2">{{reportData.specifications.split("-")[0]}}</td>
                    <td>检测类别</td>
                    <td colspan="2"></td>
                    <td colspan="2">原材料</td>
                </tr>
                <tr>
                    <td>序号</td>
@@ -36,32 +38,30 @@
                    <td>检测结果</td>
                    <td>单项判断</td>
                </tr>
                <tr v-for="item in 15" :key="item">
                    <td>{{item}}</td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                <tr v-for="(item,index) in reportData.products" :key="item">
                    <td>{{index+1}}</td>
                    <td>{{item.ipName}}</td>
                    <td>{{item.unit}}</td>
                    <td>{{item.required}}</td>
                    <td>{{item.testValue}}</td>
                    <td>{{item.testState == 1 ? "√" : "X"}}</td>
                </tr>
                <tr>
                    <td colspan="6">检验结论:</td>
                    <td colspan="6">检验结论:{{reportData.type == 1 ? "合格" : "不合格"}}</td>
                </tr>
                <tr>
                    <td colspan="6">
                        注:“√”表示该项目合格,“×”表示该项目不合格“—”表示该项目不要求检测。
                        注:“√”表示该项目合格,“×”表示该项目不合格,“—”表示该项目不要求检测。
                    </td>
                </tr>
            </table>
            <el-row class="date-group" :gutter="20">
                <el-col :span="8">检测、日期:<span>2023-08-25</span></el-col>
                <el-col :span="8">审核、日期:<span>2023-08-25</span></el-col>
                <el-col :span="8">批准、日期:<span>2023-08-25</span></el-col>
                <el-col :span="12">检测、日期:<span>{{reportData.createTime}}</span></el-col>
                <el-col :span="12">审核、日期:<span>{{reportData.checkTime}}</span></el-col>
            </el-row>
            <p class="footer">
                <span>编号:</span><span>ZTT/ICSRCP18-003</span>
                <span> 发行日期:</span><span>2023-08-25</span>
                <span> 发行部门:</span><span>质量部</span>
                <span>编号:</span><span>{{reportData.reportCode}}</span>
                <span> 发行日期:</span><span>{{new Date() | formatDate}}</span>
                <span> 保存期限:</span><span>长期</span>
            </p>
        </div>
@@ -73,7 +73,17 @@
        return {
            logoSrc : require("@/assets/404_images/logo.png"),    
        }
    }
    },
    methods:{
        formatDate(val){
            var dt = new Date(val);
            let year = dt.getFullYear();
            let month = (dt.getMonth() + 1).toString().padStart(2,'0');
            let date = dt.getDate().toString().padStart(2,'0');
            return `${year}-${month}-${date}`;
        }
    },
    props:["reportData"]
})
</script>
<style scoped lang="scss">
@@ -105,7 +115,7 @@
                border: 2px solid black;
            }
            tr,td,th{
                padding: 15px 20px;
                padding: 5px 5px;
            }
            .date-group .el-col{
                text-align: center;
src/views/experiment/checkTheReport/index.vue
@@ -57,10 +57,10 @@
        :visible.sync="dialogVisible"
        width="60%">
        <span slot="footer" class="dialog-footer">
          <el-button type="primary" size="small" @click="printFun()">打印</el-button>
          <el-button type="primary" @click="printFun()">打印</el-button>
        </span>
        <div class="printStyle">
          <preview id="printDiv"></preview>
          <preview id="printDiv" :reportData="reportData"></preview>
        </div>
      </el-dialog>
      <div class="table-box">
@@ -93,14 +93,14 @@
            </template></el-table-column
          >
          <el-table-column
            prop="materialCode"
            prop="reportCode"
            label="报告单号"
            sortable
            min-width="10%"
          >
            <template slot-scope="scope">
              <span style="color: #409eff;">
                  {{ scope.row.materialCode }}
                  {{ scope.row.reportCode }}
              </span>
            </template></el-table-column
          >
@@ -179,12 +179,13 @@
</template>
<script>
import { selectAllReport } from "@/api/experiment/checkTheReport";
import { selectAllReport,getReportData } from "@/api/experiment/checkTheReport";
import Preview from "@/components/experiment/checkTheReport/index.vue";
import PrintJS from 'print-js'
export default {
  data() {
    return {
      reportData: [],
      searchData:{
        sample_code:'',
        reportCode:'',
@@ -203,25 +204,31 @@
    this.getData();
  },
  mounted(){
    // this.dialogVisible = true;
  },
  components:{
    Preview
  },
  methods: {
    //预览按钮
    previewFun(){
    async queryReportByRCode(code){
      const resp = await getReportData({code:code});
      this.reportData = resp.data;
      console.log(this.reportData);
    },
    //查看报告按钮
    previewFun(row){
      this.dialogVisible = true;
      this.queryReportByRCode(row.reportCode);
    },
    //打印按钮
    printFun(){
        PrintJS({
          printable: "printDiv",
          type: "html",
          // header: "原材料检测报告",
          targetStyles: ["*"],
          ignoreElements: ["no-ignore"],
        });
      this.dialogVisible = false;
      PrintJS({
        printable: "printDiv",
        type: "html",
        // header: "原材料检测报告",
        targetStyles: ["*"],
        ignoreElements: ["no-ignore"],
      });
    },
    // 状态按钮
    handleRadioChange() {
src/views/experiment/inspectionApplication/index.vue
@@ -252,44 +252,44 @@
                <el-form :model="commisionSelection" ref="commisionTable" class="checkTypeForm" label-position="top" label-width="200px" size="mini">
                  <el-row :gutter="100">
                      <el-col :span="10">
                          <el-form-item label="来料日期:">
                              <el-input style="width: 300px" type="text" :value="commisionSelection.formTime" placeholder="请输入来料日期" autocomplete="off" />
                          <el-form-item label="委托编号">
                              <el-input style="width: 300px" type="text" :value="commisionSelection.entrust_coding" placeholder="请输入来料日期" autocomplete="off" />
                          </el-form-item>
                      </el-col>
                      <el-col :span="10">
                          <el-form-item label="供应商名称:">
                              <el-input style="width: 300px" type="text" :value="commisionSelection.supplier" placeholder="请输入委托单位" autocomplete="off" />
                          <el-form-item label="委托单位">
                              <el-input style="width: 300px" type="text" :value="commisionSelection.entrusted" placeholder="请输入委托单位" autocomplete="off" />
                          </el-form-item>
                      </el-col>
                      </el-row>
                      <el-row :gutter="100">
                      <el-col :span="10">
                          <el-form-item label="委托编号:">
                              <el-input style="width: 300px" type="text" :value="commisionSelection.mcode" placeholder="请输入样品编号" autocomplete="off" />
                          <el-form-item label="样品编号">
                              <el-input style="width: 300px" type="text" :value="commisionSelection.samples_number" placeholder="请输入样品编号" autocomplete="off" />
                          </el-form-item>
                      </el-col>
                      <el-col :span="10">
                          <el-form-item label="委托名称:">
                              <el-input style="width: 300px" type="text" :value="commisionSelection.name" placeholder="请输入样品名称" autocomplete="off" />
                          <el-form-item label="样品名称">
                              <el-input style="width: 300px" type="text" :value="commisionSelection.sample_name" placeholder="请输入样品名称" autocomplete="off" />
                          </el-form-item>
                      </el-col>
                      </el-row>
                      <el-row :gutter="100">
                      <el-col :span="10">
                          <el-form-item label="规格型号:">
                              <el-input style="width: 300px" type="text" :value="commisionSelection.specifications" placeholder="请输入型号规格" autocomplete="off" />
                              <el-input style="width: 300px" type="text" :value="commisionSelection.specifications_models" placeholder="请输入型号规格" autocomplete="off" />
                          </el-form-item>
                      </el-col>
                      <el-col :span="10">
                          <el-form-item label="单位:">
                            <el-input style="width: 300px" type="text" :value="commisionSelection.unit" placeholder="请输入单位" autocomplete="off" />
                          <el-form-item label="送达时间">
                            <el-input style="width: 300px" type="text" :value="commisionSelection.dateSurvey" placeholder="请输入单位" autocomplete="off" />
                          </el-form-item>
                      </el-col>
                      </el-row>
                      <el-row :gutter="100">
                      <el-col :span="10">
                          <el-form-item label="数量:">
                            <el-input style="width: 300px" type="text" :value="commisionSelection.num" placeholder="请输入数量" autocomplete="off" />
                          <el-form-item label="完成期限">
                            <el-input style="width: 300px" type="text" :value="commisionSelection.completionDeadline" placeholder="请输入数量" autocomplete="off" />
                          </el-form-item>
                      </el-col>
                      <el-col :span="10">
@@ -379,21 +379,21 @@
        <el-dialog
              title="标准库"
              :visible.sync="Standardframe"
              width="48%"
              >
              <!-- <el-form :model="form">
                <el-form-item label="请选择审核结果:" :label-width="formLabelWidth">
                </el-form-item>
              </el-form> -->
              <!-- <div slot="footer" class="dialog-footer"> -->
              width="48%">
              <el-card>
                  <template slot-scope="scope" >
                    <span>版本选择:</span>
                            <el-select v-model="commisionTable" size="small" slot="append" style="width: 220px;">
                            <el-option v-for="item in BANben" :key="item.id" :label="item.name"  :value="item.name"></el-option>
                            </el-select>
                  </template>
              </el-card>
                <el-table
                    :data="tableData"
                    style="width: 100%; margin-bottom: 20px"
                    row-key="name"
                    border
                    height="calc(100vh - 250px)"
                    default-expand-all
                    ref="multipleTable"
                    :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
@@ -445,7 +445,11 @@
                      </template>
                    </el-table-column>
                  </el-table>
              <!-- </div> -->
                  <span slot="footer" class="dialog-footer">
                <el-button @click="Standardframe = false">取 消</el-button>
                <el-button type="primary" @click="Standardframe = false">确 定</el-button>
            </span>
            </el-dialog>
        <!-- 原材料检验模态框 -->
@@ -461,11 +465,10 @@
              :header-cell-style="{border:'0px',background:'#f5f7fa',color:'#606266',boxShadow: 'inset 0 1px 0 #ebeef5',textAlign: 'center'}"
              :data="rawMaterialTable"
              style="width: 100%"
              @selection-change="handleSelectionChange"
              @selection-change="handleSelectionChange_0"
            >
              <el-table-column
            <el-table-column
                type="selection"
                label=""
                min-width="10%"
              />
              <el-table-column
@@ -474,7 +477,7 @@
                min-width="8%"
              />
              <el-table-column
                prop="dateSurvey"
                prop="createTime"
                label="来料日期"
                min-width="8%"
              />
@@ -519,12 +522,12 @@
                min-width="8%"
              />
              <el-table-column
                prop="createTime"
                prop="dateSurvey"
                label="检验日期"
                min-width="8%"
              />
              <el-table-column
                prop="state"
                prop="condition"
                label="状态"
                min-width="8%"
              >
@@ -556,50 +559,32 @@
                @selection-change="handleSelectionChange"
                style="width: 100%"
              >
                <el-table-column
                  type="selection"
                  min-width="10%"
                />
                <el-table-column
                  type="index"
                  label="序号"
                  min-width="10%"
                />
                <el-table-column
                  prop="formTime"
                  label="委托bian'ha"
                  min-width="10%"
                />
                <el-table-column
                  prop="supplier"
                  label="供应商名称"
                  min-width="12%"
                />
                <el-table-column
                  prop="mcode"
                  label="材料编码"
                  min-width="8%"
                />
                <el-table-column
                  prop="specifications"
                  label="规格型号"
                  min-width="8%"
                />
                <el-table-column
                  prop="unit"
                  label="单位"
                  min-width="12%"
                />
                <el-table-column
                  prop="num"
                  label="数量"
                  min-width="8%"
                />
                <el-table-column
                  prop="checkdate_"
                  label="检验日期"
                  min-width="8%"
                />
              <el-table-column type="selection" min-width="10%" />
                            <el-table-column type="index" label="序号" min-width="10%" />
                            <el-table-column prop="entrust_coding" label="委托编号" min-width="10%" />
                            <el-table-column prop="entrusted" label="委托单位" min-width="12%" />
                            <el-table-column prop="samples_number" label="样品编号" min-width="8%" />
                            <el-table-column prop="sample_name" label="样品名称" min-width="8%" />
                            <el-table-column prop="specifications_models" label="规格型号" min-width="12%" />
                            <el-table-column prop="dateSurvey" label="送达时间" min-width="8%" />
                            <el-table-column prop="completionDeadline" label="完成期限" min-width="8%" />
                            <el-table-column prop="contacts" label="委托编制人" min-width="8%" />
                            <el-table-column prop="inspectionTime" label="检验日期" min-width="8%" />
                            <el-table-column prop="inspection_status" label="状态" min-width="8%">
                                <template slot-scope="scope">
                                    <div v-if="scope.row.inspection_status === 1">
                                        <span style="color: green;">已检测</span>
                                    </div>
                                    <div v-else>
                                        <span style="color: red;">待检测</span>
                                    </div>
                                </template>
                            </el-table-column>
                            <el-table-column label="操作" min-width="8%">
                                <template slot-scope="scope">
                                    <el-button type="text" size="small">删除</el-button>
                                </template>
                            </el-table-column>
              </el-table>
            <span slot="footer" class="dialog-footer">
                <el-button @click="commisionVisible = false">取 消</el-button>
@@ -615,7 +600,7 @@
  </template>
  <script>
  import { selectInspectsList, selectAll, addInspect,getCommisionList} from '@/api/experiment/planAssignments'
  import { selectInspectsList, selectAll, addInspect,getCommisionList,YANcailiso,chooseVer} from '@/api/experiment/planAssignments'
  export default {
    data() {
      return {
@@ -625,34 +610,11 @@
          type: '',
          state: '',
        },
        valu:{},
        icode:'',
        inspectionTable: [],
        rawMaterialTable: [],
        commisionTable: [{
          specifications_models: "GGXH-AAAAA",
          inspectionTime: "2023-08-03",
          id: 2,
          samples_number: 0,
          dateSurvey: "2023-08-03",
          entrusted: "阿里巴巴",
          completionDeadline: "2023-08-03",
          contacts: "小黑",
          entrust_coding: "SL20230803000003",
          sample_name: "发动机",
          inspection_status: 1
        },{
          specifications_models: "GGXH-AAAAA",
          inspectionTime: "2023-08-03",
          id: 2,
          samples_number: 0,
          dateSurvey: "2023-08-03",
          entrusted: "阿里巴巴",
          completionDeadline: "2023-08-03",
          contacts: "小黑",
          entrust_coding: "SL20230803000003",
          sample_name: "发动机",
          inspection_status: 1
        }],
        commisionTable: [],
        finishedTable: {
          deliverydate: '',
          supplier: '',
@@ -709,7 +671,10 @@
        commisionVisible: false,
        tmp: '',
        Standardframe: false,
                tableData: []
                tableData: [],
        tableRow:{},
        BANben:[],
        select_1: []
      }
    },
    watch: {
@@ -735,11 +700,27 @@
        this.$router.push({name:'Viewdetails',query: {id:row.id}});
        this.selectInspectsList()
      },
      //版本库
      async chooseVer() {
        const res = await chooseVer ({
          mcode:this.commisionTable.entrust_coding,
          name:this.commisionTable.entrusted,
          scifications:this.commisionTable.specifications_models
         })
        console.log(res);
        this.BANben = res.data.row
      },
      //委托检验
      async getCommisionList() {
        const res = await getCommisionList({pageNo:1,pageSize:10 })
        console.log(res);
        this.commisionTable = res.data
        console.log(this.commisionTable);
      },
      //原材料
      async selecYANcailisotAllAPI() {
        const res = await YANcailiso({pageNo:1,pageSize:10 })
        console.log(res);
        this.rawMaterialTable = res.data.row
      },
      async selectInspectsList() {
        // 获取分页列表
@@ -833,9 +814,10 @@
                  // this.$router.push({ name: 'ReportForInspection' });
                }else if(this.type === 1){
                  this.commisionVisible = true
                  getCommisionList({pageNo:1,pageSize:10}).then(res=>{
                        this.commisionTable = res.data
                    })
                  getCnList({pageNo:1,pageSize:10}).then(res=>{
                    // consommisioole.log(res);
                    this.commisionTable = res.data.row
                  })
                }
            },100)
    },
@@ -902,7 +884,25 @@
      },
      //确定跳转
      QUEding(){
        // this.tableRow = a
        this.Standardframe = true
        chooseVer({mcode:this.select_1[0].materialCoding,
          name:this.select_1[0].materialName,
          scifications:this.select_1[0].specificationsModels}).then(res => {
            this.BANben = res.data.row
            console.log(this.BANben);
          })
      },
      handleSelectionChange_0(val){
        this.select_1 = []
        val.forEach(v => {
          let obj = {}
          obj.materialCoding = v.materialCoding
          obj.materialName = v.materialName
          obj.specificationsModels = v.specificationsModels
          this.select_1.push(obj)
        })
      }
    }
  }
src/views/inspectionManagement/reportForInspection/index.vue
@@ -123,13 +123,13 @@
                min-width="8%"
              />
              <el-table-column
                prop="condition"
                prop="type"
                label="状态"
                min-width="8%"
              >
              <template slot-scope="scope">
                <span :style="{ color: scope.row.condition === 1 ? 'green' : 'red' }">
                  {{ scope.row.condition === 1 ? '已检测':'未检测' }}
                <span :style="{ color: scope.row.type === 1 ? 'green' : 'red' }">
                  {{ scope.row.type === 1 ? '已检测':'未检测' }}
                </span>
              </template>
              </el-table-column>
@@ -386,6 +386,7 @@
      // console.log(res)
      this.inspectionTable = res.data.row
      this.data = res.data.row
      console.log(res.data.row);
      this.total = res.data.total
    },
    async search(){