value
2023-08-24 edf8e7472645534ed5156651fe802df1ceadccfb
src/views/inspectionManagement/commissionInspection/addCommision.vue
@@ -5,23 +5,59 @@
            <div class="title">委托信息</div>
            <div class="tableBox">
               <div class="tableBox-header">
                  <el-button class="split" @click="dialogueFormVisible = true" type="primary" size="small"
                     style="background-color: rgb(1, 102, 226);">添加样品</el-button>
                  <!-- <el-input v-model="searchData" class="input-form split" placeholder="扫描二维码录入样品..."
                     prefix-icon="el-icon-search" style="width: 200px;">
        <el-button class="split" @click="dialogueFormVisible = true" type="primary" size="small" style="background-color: rgb(1, 102, 226);">添加样品</el-button>
<!--        <el-input
          v-model="searchData"
          class="input-form split"
          placeholder="扫描二维码录入样品..."
          prefix-icon="el-icon-search"
          style="width: 200px;"
        >
                  </el-input> -->
                  <el-button type="primary" size="small" style="background-color: rgb(1, 102, 226);">重置</el-button>
               </div>
               <el-table ref="detectionInfo" :max-height="800" :cell-style="{textAlign: 'center'}"
        <el-table
                ref="detectionInfo"
                :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="detectionInfo" style="width: 100%">
                  <el-table-column type="index" label="序号" min-width="10%" />
                  <el-table-column prop="sampleNumber" label="样品编号" min-width="8%" />
                  <el-table-column prop="sampleName" label="样品名称" min-width="10%" />
                  <el-table-column prop="specificationsModels" label="规格型号" min-width="10%" />
                  <el-table-column prop="unit" label="单位" min-width="8%" />
                  <el-table-column prop="samplesNumber" label="数量" min-width="8%" />
                  <el-table-column prop="addway" label="添加方式" min-width="8%">
                :data="detectionInfo"
                style="width: 100%"
              >
                <el-table-column
                  type="index"
                  label="序号"
                  min-width="10%"
                />
                <el-table-column
                  prop="sampleNumber"
                  label="样品编号"
                  min-width="8%"
                />
                <el-table-column
                  prop="sampleName"
                  label="样品名称"
                  min-width="10%"
                />
                <el-table-column
                  prop="specificationsModels"
                  label="规格型号"
                  min-width="10%"
                />
                <el-table-column
                  prop="unit"
                  label="单位"
                  min-width="8%"
                />
                <el-table-column
                  prop="samplesNumber"
                  label="数量"
                  min-width="8%"
                />
                <el-table-column
                  prop="addway"
                  label="添加方式"
                  min-width="8%">
                     <template slot-scope="scope">
                        <div v-if="scope.row.addway === 0">
                           <el-tag :type='success' disable-transitions>扫描</el-tag>
@@ -32,9 +68,20 @@
                        <div v-else></div>
                     </template>
                  </el-table-column>
                  <el-table-column prop="experiment" label="试验" min-width="8%" />
                  <el-table-column prop="remarks" label="备注" min-width="8%" />
                  <el-table-column label="操作" min-width="8%">
                <el-table-column
                  prop="experiment"
                  label="试验"
                  min-width="8%"
                />
                <el-table-column
                  prop="remarks"
                  label="备注"
                  min-width="8%"
                />
                <el-table-column
                  label="操作"
                  min-width="8%"
                >
                     <template slot-scope="scope">
                        <el-button type="text" size="small">修改</el-button>
                        <el-button type="text" size="small" @click="deleteRow(scope.row)">删除</el-button>
@@ -43,9 +90,15 @@
               </el-table>
               <!-- 分页器 -->
               <div>
                  <el-pagination class="pagination" @size-change="handleSizeChange" @current-change="handleCurrentChange"
                     :current-page="currentPage" :page-sizes="[100, 200, 300, 400]" :page-size="100"
                     layout="total, sizes, prev, pager, next, jumper" :total="400">
                <el-pagination
                  class="pagination"
                  @size-change="handleSizeChange"
                  @current-change="handleCurrentChange"
                  :current-page="currentPage"
                  :page-sizes="[100, 200, 300, 400]"
                  :page-size="100"
                  layout="total, sizes, prev, pager, next, jumper"
                  :total="400">
                  </el-pagination>
               </div>
            </div>
@@ -54,17 +107,15 @@
                  <el-col :span="12">基本信息</el-col>
                  <el-col :span="12" style="text-align: right;">
                     <!-- 点击返回,当前页面值为false -->
                     <el-button type="primary" size="mini" style="background-color: rgb(1, 102, 226); ">打印委托单</el-button>
            <!-- <el-button type="primary" size="mini" style="background-color: rgb(1, 102, 226); ">打印委托单</el-button> -->
                  </el-col>
               </el-row>
               <el-form :model="infoForm" ref="infoForm" class="infoForm" label-position="right" label-width="100px"
                  size="mini">
            <el-form :model="infoForm" ref="infoForm" class="infoForm" label-position="right" label-width="100px" size="mini" >
                  <div class="formwrapper">
                     <el-row :gutter="200">
                        <el-col :span="5">
                           <el-form-item label="委托编号:">
                              <el-input style="width: 160px" type="text" :value="infoForm.commisioncode" readonly disabled
                                 autocomplete="off" />
                            <el-input style="width: 160px" type="text" :value="infoForm.commisioncode" readonly disabled="true" autocomplete="off" />
                           </el-form-item>
                        </el-col>
                        <el-col :span="5">
@@ -86,27 +137,33 @@
                     <el-row :gutter="200">
                        <el-col :span="5">
                           <el-form-item label="联系地址:">
                              <el-input style="width: 160px;" v-model="infoForm.address" placeholder="请输入联系地址"
                                 autocomplete="off" />
                          <el-input style="width: 160px;" v-model="infoForm.address" placeholder="请输入联系地址" autocomplete="off" />
                           </el-form-item>
                        </el-col>
                        <el-col :span="5">
                           <el-form-item label="完成期限:">
                              <el-date-picker v-model="infoForm.deadline" type="date" placeholder="选择日期" style="width: 160px;">
                            <el-date-picker
                              v-model="infoForm.deadline"
                              type="date"
                              placeholder="选择日期"
                              style="width: 160px;">
                              </el-date-picker>
                           </el-form-item>
                        </el-col>
                        <el-col :span="5">
                           <el-form-item label="送样时间:">
                              <el-date-picker v-model="infoForm.time" type="date" placeholder="选择日期" style="width: 160px;">
                            <el-date-picker
                              v-model="infoForm.time"
                              type="date"
                              placeholder="选择日期"
                              style="width: 160px;">
                              </el-date-picker>
                           </el-form-item>
                        </el-col>
                        <el-col :span="5">
                           <el-form-item label="送样方式:">
                              <el-select style="width: 160px;" v-model="infoForm.way" size="small" placeholder="送样">
                                 <el-option v-for="options in sampleDeliveryMode" :key="options.key"
                                    :value="options.value">{{ options.value }}</el-option>
                                <el-option v-for="options in sampleDeliveryMode" :key="options.key" :value="options.value">{{ options.value }}</el-option>
                              </el-select>
                           </el-form-item>
                        </el-col>
@@ -119,8 +176,7 @@
                        </el-col>
                        <el-col :span="5">
                           <el-form-item label="送样人电话:">
                              <el-input style="width: 160px;" v-model="infoForm.sendertel" placeholder="请输入送样人电话"
                                 autocomplete="off" />
                          <el-input style="width: 160px;" v-model="infoForm.sendertel" placeholder="请输入送样人电话" autocomplete="off" />
                           </el-form-item>
                        </el-col>
                        <el-col :span="5">
@@ -136,32 +192,32 @@
                     </el-row>
                  </div>
                  <div class="submitBtn">
                     <el-button type="primary" size="small" @click="submitInspection"
                        style="background-color: rgb(1, 102, 226);">提交</el-button>
                      <el-button type="primary" size="small" @click="submitInspection" style="background-color: rgb(1, 102, 226);">提交</el-button>
                      <!-- 点击返回,当前页面值为false -->
                      <el-button type="primary" size="mini" style="background-color: rgb(1, 102, 226); ">打印委托单</el-button>
                  </div>
               </el-form>
            </div>
         </div>
         <div class="checkType">
            <el-dialog title="添加指标" :visible.sync="dialogueFormVisible" width="40%">
               <el-form :model="addPointerForm" ref="addPointerForm" class="addPointerForm" label-position="right"
                  label-width="100px" size="mini">
      <el-dialog
        title="添加指标"
        :visible.sync="dialogueFormVisible"
        width="40%"
      >
        <el-form :model="addPointerForm" ref="addPointerForm" class="addPointerForm" label-position="right" label-width="100px" size="mini">
                  <el-row :gutter="50">
                     <el-col :span="10">
                        <el-form-item label="样品编号:">
                           <el-select style="width: 160px;" v-model="addPointerForm.sampleNumber" size="small"
                              placeholder="请选择样品编号">
                              <el-option v-for="options in samplecodeoptions" :value="options.value"
                                 :key="options.key">{{ options.value }}</el-option>
                <el-select style="width: 160px;" v-model="addPointerForm.sampleNumber" size="small" placeholder="请选择样品编号">
                  <el-option v-for="options in samplecodeoptions" :value="options.value" :key="options.key" >{{ options.value }}</el-option>
                           </el-select>
                        </el-form-item>
                     </el-col>
                     <el-col :span="10">
                        <el-form-item label="样品名称:">
                           <el-select style="width: 160px;" v-model="addPointerForm.sampleName" size="small"
                              placeholder="请选择样品名称">
                              <el-option v-for="options in sampleoptions" :value="options.value"
                                 :key="options.key">{{ options.value }}</el-option>
                <el-select style="width: 160px;" v-model="addPointerForm.sampleName" size="small" placeholder="请选择样品名称">
                  <el-option v-for="options in sampleoptions" :value="options.value" :key="options.key">{{ options.value }}</el-option>
                           </el-select>
                        </el-form-item>
                     </el-col>
@@ -169,31 +225,26 @@
                  <el-row :gutter="50">
                     <el-col :span="10">
                        <el-form-item label="规格型号:">
                           <el-select style="width: 160px;" v-model="addPointerForm.specificationsModels" size="small"
                              placeholder="请选择样品名称">
                              <el-option v-for="options in model_spe_options" :value="options.value"
                                 :key="options.key">{{ options.value }}</el-option>
                <el-select style="width: 160px;" v-model="addPointerForm.specificationsModels" size="small" placeholder="请选择样品名称">
                  <el-option v-for="options in model_spe_options" :value="options.value" :key="options.key">{{ options.value }}</el-option>
                           </el-select>
                        </el-form-item>
                     </el-col>
                     <el-col :span="10">
                        <el-form-item label="样品单位:">
                           <el-input style="width: 160px" type="text" v-model="addPointerForm.unit" placeholder="请输入单位"
                              autocomplete="off" />
                <el-input style="width: 160px" type="text" v-model="addPointerForm.unit" placeholder="请输入单位" autocomplete="off" />
                        </el-form-item>
                     </el-col>
                  </el-row>
                  <el-row :gutter="50">
                     <el-col :span="10">
                        <el-form-item label="样品数量:">
                           <el-input style="width: 160px" type="text" v-model="addPointerForm.samplesNumber" placeholder="请输入数量"
                              autocomplete="off" />
                <el-input style="width: 160px" type="text" v-model="addPointerForm.samplesNumber" placeholder="请输入数量" autocomplete="off" />
                        </el-form-item>
                     </el-col>
                     <el-col :span="10">
                        <el-form-item label="备注:">
                           <el-input style="width: 160px" type="text" v-model="addPointerForm.remarks" placeholder="请输入备注"
                              autocomplete="off" />
                <el-input style="width: 160px" type="text" v-model="addPointerForm.remarks" placeholder="请输入备注" autocomplete="off" />
                        </el-form-item>
                     </el-col>
                  </el-row>
@@ -201,8 +252,7 @@
                     <el-col :span="10">
                        <el-form-item label="添加实验:">
                           <el-checkbox-group v-model="addPointerForm.experiment" style="display: flex; flex-direction: column;">
                              <el-checkbox v-for="expers in experList" :label="expers.label"
                                 :key="expers.key">{{ expers.label }}</el-checkbox>
                  <el-checkbox v-for="expers in experList" :label="expers.label" :key="expers.key">{{ expers.label }}</el-checkbox>
                           </el-checkbox-group>
                        </el-form-item>
                     </el-col>
@@ -219,16 +269,7 @@
</template>
<script>
   import {
      getSampleName,
      getModelSpecification,
      getlink,
      addInspection,
      isIfViewUUID
   } from '@/api/inspection/commisioninspection'
   import {
      time
   } from 'echarts';
import {getSampleName, getModelSpecification, getlink, addInspection} from '@/api/inspection/commisioninspection'
   export default {
      data() {
         return {
@@ -297,36 +338,28 @@
               key: '2',
               value: '上门'
            }],
            dialogueFormVisible: false
      dialogueFormVisible: false,
      showDetail: false
         }
      },
      created() {
         this.getlink(this.$route.params.viewId)
         console.log();
    this.getlink()
      },
      mounted() {
         // this.getSampleName()
         // this.getModelSpecification()
    this.getSampleName()
    this.getModelSpecification()
      },
      methods: {
         // 获取链接link
         getlink(viewId) {
            if (viewId == null) {
               this.$message.error('当前链接不在有效期内,系统自动关闭')
               this.$router.push('/404')
               return
            }
            isIfViewUUID({
               viewId
            }).then(res => {
               if (!res.data) {
                  this.$message.error('当前链接不在有效期内,系统自动关闭')
                  this.$router.push('/404')
               }
    getlink(){
      getlink().then((result)=>{
        this.$store.commit('settings/SAVE_LINK',result.data)
        console.log(this.$store.state.settings.link)
            })
         },
         async getSampleName() {
            const res = await getSampleName()
      // console.log('res',res.data)
            this.sampleoptions = res.data.map((item) => {
               return {
                  key: item.id.toString(),
@@ -341,9 +374,8 @@
            })
         },
         async getModelSpecification() {
            const res = await getModelSpecification({
               materialId: '1'
            })
      const res = await getModelSpecification({materialId: '1'})
      // console.log(res)
            this.model_spe_options = res.data.map((item) => {
               return {
                  key: item.specificationsId,
@@ -357,6 +389,7 @@
            for (let i = 1; i < this.addPointerForm.experiment.length; i++) {
               exper += ',' + this.addPointerForm.experiment[i]
            }
      // console.log(exper)
            this.addPointerForm.experiment = exper
            let tmp = this.addPointerForm
            this.detectionInfo.push(tmp)
@@ -379,8 +412,7 @@
            } else {
               sampledeliveryway = 2
            }
            const res = await addInspection({
               completionDeadline: this.infoForm.deadline,
      const res = await addInspection({completionDeadline: this.infoForm.deadline,
               contactAddress: this.infoForm.address,
               contactNumber: this.infoForm.tel,
               contacts: this.infoForm.contacter,
@@ -391,8 +423,32 @@
               reportNumber: parseInt(this.infoForm.num),
               sampleDeliveryMode: sampledeliveryway,
               sampleDeliveryPhone: this.infoForm.sendertel,
               sampleSender: this.infoForm.sender
            })
        sampleSender: this.infoForm.sender})
//       const res = await addInspection({
//   completionDeadline: "2023-08-03",
//   contactAddress: "江苏南通",
//   contactNumber: "12321423432",
//   contacts: "小黑",
//   entrustRemarks: "委托备注YPBH123456789YPBH123456789YPBH123456789",
//   entrusted: "阿里巴巴",
//   inspectionTime: "2023-08-03",
//   linkDetectionList: [
//     {
//       "experiment": "做梦",
//       "remarks": "通过了",
//       "sampleName": "发动机",
//       "sampleNumber": "YPBH123456789",
//       "samplesNumber": 20,
//       "specificationsModels": "GGXH-AAAAA",
//       "unit": "百度"
//     }
//   ],
//   reportNumber: 23,
//   sampleDeliveryMode: 1,
//   sampleDeliveryPhone: "123456789676",
//   sampleSender: "小白"
// })
      // console.log(res)
            this.infoForm.commisioncode = res.data
            if (res.data) {
               this.$message({
@@ -401,6 +457,7 @@
               })
               // 跳转页面
               this.$router.push('/inspectionManagement/commissionInspection')
        this.showDetail = true
            } else {
               this.$message.error(res.message)
            }
@@ -424,6 +481,12 @@
      padding: 20px;
   }
   
.content-main{
  padding: 20px 40px;
  background-color: #f0f2f5;
  width: 100%;
  height: 100vh;
   .firstBox {
      .title {
         padding: 15px 10px;
@@ -432,7 +495,6 @@
         color: #fff;
         border-radius: 4px;
      }
      .tableBox {
         background-color: #fff;
         padding: 0px 20px;
@@ -442,19 +504,15 @@
         /* padding: 20px 20px 10px 20px; */
         display: flex;
         flex-direction: column;
         .tableBox-header {
            padding: 20px 0px;
            .split {
               margin-right: 15px;
            }
         }
         .el-table {
            flex: 1;
         }
         >div:nth-child(3) {
            display: flex;
            justify-content: end;
@@ -462,27 +520,31 @@
         }
      }
   }
   .secondBox {
      margin: 0px -15px;
      .header {
         display: flex;
         justify-content: space-between;
         padding: 10px 20px;
         margin-top: 10px;
      }
      .submitBtn {
         display: flex;
         justify-content: end;
         margin-right: 156px;
    margin-right: 40px;
         margin-top: 20px;
      }
   }
   .infoForm {
      background-color: #fff;
      padding: 20px 50px;
  .formwrapper{
    margin: 20px 0px;
    padding-left: 30px;
    .el-row{
      margin: 10px 0px;
    }
  }
}
   }
</style>