wente
2024-01-12 735916a9ac00b8ef1a1e0a548e7804a3ffef396a
web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue
@@ -1,9 +1,10 @@
<template>
  <zt-dialog ref="dialog" column="2" @confirm="formSubmit">
    <el-form ref="form" :inline="true" :model="dataForm" label-width="120px" class="weiTuoDanAuto">
  <zt-dialog ref="dialog" column="2" @confirm="formSubmit" >
    <el-form ref="form" :inline="true" :model="dataForm" :disabled="dataForm.disabled" label-width="93px"
             class="weiTuoDanAuto" style="padding-top: 0">
      <div class="DManageForm">
        <el-form-item label-width="60px" label="编号:" style="width: 99%">
          <span>{{dataForm.project.code}}</span>
        <el-form-item readonly label-width="50px" label="编号:" style="width: 99% ;margin-bottom:-5px">
          <span>{{ dataForm.softwareTestOrder.code}}</span>
        </el-form-item>
      </div>
      <div style="border: 1px solid rgba(0,0,0,.2)">
@@ -17,21 +18,20 @@
                委托单位
              </div>
              <div class="DOldForm el-border-left">
                <!-- 单位名称 -->
                <el-form-item label="单位名称" style="width: 49%">
                  <el-input v-model="dataForm.project.entrustUnitName" placeholder="请输入单位名称"></el-input>
                <el-form-item class="marginTopAndMarginBottom" label="单位名称" style="width: 49%">
                  <el-input readonly v-model="dataForm.project.entrustUnitName" placeholder="请输入单位名称"></el-input>
                </el-form-item>
                <!-- 联系人 -->
                <el-form-item label="联系人" style="width: 49%">
                  <el-input v-model="dataForm.project.entrustUnitContact" placeholder="请输入联系人"></el-input>
                <el-form-item class="marginTopAndMarginBottom" label="联系人" style="width: 49%">
                  <el-input readonly v-model="dataForm.project.entrustUnitContact"
                            placeholder="请输入联系人"></el-input>
                </el-form-item>
                <!-- 详细地址 -->
                <el-form-item label="详细地址" style="width: 49%">
                  <el-input v-model="dataForm.project.entrustUnitAddress" placeholder="请输入详细地址"></el-input>
                  <el-input readonly v-model="dataForm.project.entrustUnitAddress"
                            placeholder="请输入详细地址"></el-input>
                </el-form-item>
                <!-- 联系方式 -->
                <el-form-item label="联系方式" style="width: 49%">
                  <el-input v-model="dataForm.project.entrustUnitContWay" placeholder="请输入联系方式"></el-input>
                  <el-input readonly v-model="dataForm.project.entrustUnitContWay"
                            placeholder="请输入联系方式"></el-input>
                </el-form-item>
              </div>
            </div>
@@ -40,74 +40,83 @@
                开发单位
              </div>
              <div class="DOldForm el-border-left">
                <!-- 单位名称 -->
                <el-form-item label="单位名称" style="width: 49%">
                  <el-input v-model="dataForm.project.developUnitName" placeholder="请输入单位名称"></el-input>
                <el-form-item class="marginTopAndMarginBottom" label="单位名称" style="width: 49%">
                  <el-input readonly v-model="dataForm.project.developUnitName" placeholder="请输入单位名称"></el-input>
                </el-form-item>
                <!-- 联系人 -->
                <el-form-item label="联系人" style="width: 49%">
                  <el-input v-model="dataForm.project.developUnitContact" placeholder="请输入联系人"></el-input>
                <el-form-item class="marginTopAndMarginBottom" label="联系人" style="width: 49%">
                  <el-input readonly v-model="dataForm.project.developUnitContact"
                            placeholder="请输入联系人"></el-input>
                </el-form-item>
                <!-- 详细地址 -->
                <el-form-item label="详细地址" style="width: 49%">
                  <el-input v-model="dataForm.project.developUnitAddress" placeholder="请输入详细地址"></el-input>
                  <el-input readonly v-model="dataForm.project.developUnitAddress"
                            placeholder="请输入详细地址"></el-input>
                </el-form-item>
                <!-- 联系方式 -->
                <el-form-item label="联系方式" style="width: 49%">
                  <el-input v-model="dataForm.project.developUnitContWay" placeholder="请输入联系方式"></el-input>
                  <el-input readonly v-model="dataForm.project.developUnitContWay"
                            placeholder="请输入联系方式"></el-input>
                </el-form-item>
              </div>
            </div>
            <div class="el-flex el-border-bottom">
              <div class="DWidth-Unt DAlign DHold">
              <div  class="DWidth-Unt DAlign DHold">
                被测件信息
              </div>
              <div class="DOldForm el-border-left">
                <!-- 单位名称 -->
                <el-form-item label="软件名称" style="width: 49%">
                  <el-input v-model="dataForm.project.softwareName" placeholder="请输入软件名称"></el-input>
                <el-form-item class="marginTopAndMarginBottom" label="软件名称" style="width: 49%">
                  <el-input readonly v-model="dataForm.project.softwareName" placeholder="请输入软件名称"></el-input>
                </el-form-item>
                <!-- 联系人 -->
                <el-form-item label="软件标识" style="width: 49%">
                  <el-input v-model="dataForm.project.identity" placeholder="请输入软件标识"></el-input>
                <el-form-item class="marginTopAndMarginBottom" label="软件标识" style="width: 49%">
                  <el-input readonly v-model="dataForm.project.softwareIdentity" placeholder="请输入软件标识"></el-input>
                </el-form-item>
                <!-- 详细地址 -->
                <el-form-item label="密级" style="width: 49%">
                  <zt-dict v-model="dataForm.project.secretClass"  placeholder="密级" dict="secret_class" clearable></zt-dict>
                  <zt-dict readonly v-model="dataForm.project.secretClass" placeholder="密级" dict="secret_class"
                           clearable></zt-dict>
                </el-form-item>
                <!--          <zt-form-item label="保密级别" prop="secretClass"  style="width: 25%">-->
                <!--            <zt-dict v-model="datadataForm.secretClass" dict="secret_class" placeholder="保密级别" style="width:200px"></zt-dict>-->
                <!--          </zt-form-item>-->
                <!-- 联系方式 -->
                <el-form-item label="关键等级" style="width: 49%">
                  <zt-dict v-model="dataForm.project.criticalLevel" :radio="true" placeholder="关键等级" clearable dict="critical_level" ></zt-dict>
                  <zt-dict readonly v-model="dataForm.project.criticalLevel" :radio="true" placeholder="关键等级"
                           clearable dict="critical_level"></zt-dict>
                </el-form-item>
                <el-form-item label="运行环境" style="width: 49%">
                <el-form-item class="marginTopAndMarginBottom2" label="运行环境" style="width: 49%">
                  <el-input v-model="dataForm.softwareTestOrder.optEnviron" placeholder="请输入运行环境"></el-input>
                </el-form-item>
                <el-form-item label="编程语言" style="width: 49%">
                <el-form-item class="marginTopAndMarginBottom2" label="编程语言" style="width: 49%">
                  <el-input v-model="dataForm.softwareTestOrder.programLang" placeholder="请输入编程语言"></el-input>
                </el-form-item>
                <div class="el-flex el-border-top-and-bottom">
                  <div class="DWidth DAlign DHold">
                  <div style="width:88px !important;" class="DWidth DAlign DHold">
                    被测件及其他相关物品清单
                  </div>
                  <div style="width: calc(100% - 120px);padding: 5px">
                    <el-table class="el-software" height="230" border :data="dataForm.softwareTestOrderMeasured"
                  <div class="table-container" style="width: calc(100% - 120px);padding: 5px">
                    <el-table ref="tableMeasuredList" class="el-software"  border :data="dataForm.measuredList"
                              @cell-click="handleCellClick"
                              stripe>
                      <el-table-column prop="num" align="center" width="80" label="序号"></el-table-column>
                      <el-table-column prop="name" min-width="300" label="名称"></el-table-column>
                      <el-table-column prop="identify" align="center" width="180" label="标识/版本"></el-table-column>
                      <el-table-column prop="no"  align="center"  width="80" label="序号"/>
                      <el-table-column prop="name" min-width="300" label="名称"/>
                      <el-table-column align="center" prop="identify" width="180" label="标识/版本">
                        <template slot-scope="scope">
                          <span v-if="editingCell && editingCell.row === scope.row && editingCell.column.property === scope.column.property">
                            <el-input ref="editInput" v-model="scope.row.identify" placeholder="标识/版本"></el-input>
                          </span>
                          <span v-else>{{ scope.row.identify }}</span>
                        </template>
                      </el-table-column>
                      <el-table-column label="是否被测件" width="180" align="center">
                        <template slot-scope="scope">
                          <el-radio-group v-model="scope.row.isMeasured">
                            <el-radio :label="1">是</el-radio>
                            <el-radio :label="0">否</el-radio>
                          </el-radio-group>
                          <zt-dict v-model="scope.row.isMeasured" dict="is_or_not" :radio="true"></zt-dict>
                        </template>
                      </el-table-column>
                      <el-table-column fixed="right" label="操作" align="center">
                        <template slot-scope="scope">
                          <zt-table-button @click="deleteMeasuredRow(scope.$index)">删除</zt-table-button>
                        </template>
                      </el-table-column>
                    </el-table>
                    <div v-if="!dataForm.disabled" class="icon-container" @click="addMeasuredRow()">
                      <!-- 放置固定的图标 -->
                      <i class="el-icon-plus"></i>
                    </div>
                  </div>
                </div>
                <div class="el-flex" style="height: 40px;">
                  <div class="DWidth DAlign DHold">
@@ -115,11 +124,6 @@
                  </div>
                  <div style="width: calc(100% - 120px)">
                    <zt-dict v-model="dataForm.project.softwareType" :radio="true" dict="software_type"></zt-dict>
<!--                    <el-checkbox-group v-model="dataForm.checkList">-->
<!--                      <el-checkbox :label="0">通用应用软件</el-checkbox>-->
<!--                      <el-checkbox :label="1">行业应用软件</el-checkbox>-->
<!--                      <el-checkbox :label="2">嵌入式软件</el-checkbox>-->
<!--                    </el-checkbox-group>-->
                  </div>
                </div>
              </div>
@@ -135,12 +139,8 @@
                  </div>
                  <div class="el-border-left" style="width: 98%">
                    <el-form-item style="width: 20%;padding-left:5%;margin-bottom: 0">
                      <zt-dict v-model="dataForm.softwareTestOrder.testBasis" :radio="true" dict="test_basis" clearable></zt-dict>
<!--                      <el-checkbox-group v-model="dataForm.checkList">-->
<!--                        <el-checkbox :label="0">GB/T 25000.21-2016</el-checkbox>-->
<!--                        <el-checkbox :label="1">GJB/Z 141-2004</el-checkbox>-->
<!--                        <el-checkbox :label="2">其他:{{dataForm.other}}</el-checkbox>-->
<!--                      </el-checkbox-group>-->
                      <zt-dict v-model="dataForm.softwareTestOrder.testBasis" :radio="true" dict="test_basis"
                               clearable  :inputName="dataForm.softwareTestOrder.otherBasis" origin="otherBasis" @getChangeInputData="getChangeInputData"></zt-dict>
                    </el-form-item>
                  </div>
                </div>
@@ -148,12 +148,14 @@
                  <div class="DWidth DAlign DHold">
                    测试类型
                  </div>
                  <div class="el-border-left" style="width: 98%">
                    <el-form-item style="width: 40%;padding-left:5%;">
                      <zt-dict-checkbox v-model="dataForm.softwareTestOrder.testType" column="2" dict="test_type1" clearable></zt-dict-checkbox>
                  <div class="el-border-left test-type-line-height" style="width: 98%">
                    <el-form-item  style="width: 40%;padding-left:5%;margin-bottom: 0">
                      <zt-dict-checkbox v-model="dataForm.softwareTestOrder.testType1" column="2" dict="test_type1"
                                        clearable></zt-dict-checkbox>
                    </el-form-item>
                    <el-form-item style="width: 60%;padding-left: 15%;border-left: 1px solid rgba(0,0,0,.2);">
                      <zt-dict-checkbox v-model="dataForm.softwareTestOrder.testType"  dict="test_type2" clearable></zt-dict-checkbox>
                    <el-form-item style="width: 60%;padding-left: 15%;border-left: 1px solid rgba(0,0,0,.2);margin-bottom: 0">
                      <zt-dict-checkbox v-model="dataForm.softwareTestOrder.testType2" dict="test_type2"
                                        clearable></zt-dict-checkbox>
                    </el-form-item>
                  </div>
                </div>
@@ -163,14 +165,10 @@
                  </div>
                  <div class="el-border-left" style="width: 98%">
                    <el-form-item style="width: 20%;padding-left:5%;margin-bottom: 0">
                      <zt-dict v-model="dataForm.softwareTestOrder.testStandard" :radio="true" dict="test_standard"></zt-dict>
<!--                      <el-checkbox-group v-model="dataForm.checkList">-->
<!--                        <el-checkbox :label="0">GJB 438B-2009《军用软件开发文档通用要求》</el-checkbox>-->
<!--                        <el-checkbox :label="1">HJB 754-2017 《海军军用软件定型测评大纲编制要求》</el-checkbox>-->
<!--                        <el-checkbox :label="2">HJB 753-2017 《海军军用软件定型测评报告编制要求》</el-checkbox>-->
<!--                        <el-checkbox :label="3">《海军装备软件测试细则》</el-checkbox>-->
<!--                        <el-checkbox :label="4">其他:{{dataForm.other}}</el-checkbox>-->
<!--                      </el-checkbox-group>-->
                      <zt-dict  v-model="dataForm.softwareTestOrder.testStandard" :radio="true"
                                origin="otherStandard" @getChangeInputData="getChangeInputData"
                                dict="test_standard" :inputName="dataForm.softwareTestOrder.otherStandard">
                      </zt-dict>
                    </el-form-item>
                  </div>
                </div>
@@ -179,36 +177,56 @@
                    测试级别
                  </div>
                  <div class="el-border-left" style="width: 98%">
                    <el-form-item style="padding-left:5%;">
                      <zt-dict v-model="dataForm.project.testLevel" :radio="true" dict="test_level"></zt-dict>
<!--                      <el-checkbox-group v-model="dataForm.checkList">-->
<!--                        <el-checkbox :label="0">配置项测试</el-checkbox>-->
<!--                        <el-checkbox :label="1">系统测试</el-checkbox>-->
<!--                      </el-checkbox-group>-->
                    <el-form-item style="padding-left:5%;margin-bottom:0">
                      <zt-dict v-model="dataForm.softwareTestOrder.testLevel" :radio="true" dict="test_level"></zt-dict>
                    </el-form-item>
                  </div>
                </div>
                <div class="DOldForm">
                  <el-form-item label="开始日期" style="width: 49%">
                    <el-input v-model="dataForm.softwareTestOrder.startDate" placeholder="请输入单位名称"></el-input>
                <div class="el-flex el-border-bottom">
                  <div class="DWidth DAlign DHold">
                    开始日期
                  </div>
                  <div class="el-border-left startDate" style="width: 45%;">
                    <el-form-item  style="width: 100%;padding-left:20px;margin:0;">
                      <el-date-picker
                        v-model="dataForm.softwareTestOrder.startDate"
                        type="date"
                        placeholder="选择日期">
                      </el-date-picker>
                    </el-form-item>
                  </div>
                  <div class="DWidth DAlign DHold">
                    结束日期
                  </div>
                  <div class="el-border-left endDate" style="width: 42%">
                  <el-form-item  style="width: 100%;padding-left:20px;margin:0;">
                    <el-date-picker
                      v-model="dataForm.softwareTestOrder.endDate"
                      type="date"
                      placeholder="选择日期">
                    </el-date-picker>
                  </el-form-item>
                  <!-- 联系人 -->
                  <el-form-item label="结束日期" style="width: 49%">
                    <el-input v-model="dataForm.softwareTestOrder.endDate" placeholder="请输入联系人"></el-input>
                  </el-form-item>
                  </div>
                </div>
                <div class="DOldForm el-border-bottom">
                  <el-form-item label="测试场地" style="width: 98%">
                    <el-input v-model="dataForm.softwareTestOrder.testVenue" placeholder="请输入单位名称"></el-input>
                <div class="el-flex el-border-bottom">
                  <div class="DWidth DAlign DHold">
                    测试场地
                  </div>
                  <div class="el-border-left testVenue" style="width: 98%">
                  <el-form-item  style="width: 98%;padding-left:20px;margin:0;">
                    <el-input v-model="dataForm.softwareTestOrder.testVenue" placeholder="请输入测试场地"></el-input>
                  </el-form-item>
                  </div>
                </div>
                <div class="el-flex">
                  <div class="DWidth DAlign DHold">
                    其他要求
                  </div>
                  <div class="el-border-left" style="width: 98%">
                    <el-form-item label="是否盖CNAS章" label-width="130px" style="padding-left:5%;">
                      <zt-dict v-model="dataForm.softwareTestOrder.otherRequire" :radio="true" dict="is_or_not"></zt-dict>
                  <div class="el-border-left" style="width: 98%;">
                    <el-form-item label="是否盖CNAS章" label-width="130px" style="padding-left:5%;margin-bottom:0">
                      <zt-dict v-model="dataForm.softwareTestOrder.otherRequire" :radio="true"
                               dict="is_or_not"></zt-dict>
                      <span>其他:<el-input class="requireOther" v-model="dataForm.softwareTestOrder.requireOther"></el-input></span>
                    </el-form-item>
                  </div>
                </div>
@@ -220,13 +238,17 @@
              </div>
              <div class="" style="width: 100%;">
                <div class="el-flex " style="height: 40px">
                  <div style="width: 50%">
                    <span>{{dataForm.write}}</span>
                  <div style="width: 60%">
                    <span>{{ dataForm.softwareTestOrder.entrustSign }}</span>
<!--                    <zt-select v-model="dataForm.softwareTestOrder.entrustSign" url="/sys/userEx/getUsersList" :multiple="true" :clearable="true" placeholder="委托方人员"/>-->
                  </div>
                  <div class="el-flex">
                    <div style="width: 120px;text-align: center">{{dataForm.year}}</div>年
                    <div style="width: 80px;text-align: center">{{dataForm.month}}</div>月
                    <div style="width: 80px;text-align: center">{{dataForm.day}}</div>日
                  <div class="el-flex" style="margin-left: 10%">
                    <el-date-picker
                      v-model="dataForm.softwareTestOrder.entrustSignDate"
                      type="date"
                      placeholder="选择日期">
                    </el-date-picker>
<!--                    {{ dataForm.softwareTestOrder.entrustSignDate | filterTime('YYYY年MM月DD日') }}-->
                  </div>
                </div>
              </div>
@@ -243,55 +265,85 @@
                测试信息
              </div>
              <div class="DOldForm el-border-left">
                <!-- 单位名称 -->
                <el-form-item label="测试日期" style="width: 49%">
                  <el-input v-model="dataForm.softwareTestOrder.testDate" placeholder="请输入测试日期"></el-input>
                </el-form-item>
                <!-- 联系人 -->
                <el-form-item label="交付日期" style="width: 49%">
                  <el-input v-model="dataForm.softwareTestOrder.deliveryDate" placeholder="请输入交付日期"></el-input>
                </el-form-item>
                <!-- 详细地址 -->
                <el-form-item label="检测费用" style="width: 98%">
                  <el-input v-model="dataForm.softwareTestOrder.testCost" placeholder="请输入检测费用"></el-input>
                </el-form-item>
                <!--          <zt-form-item label="保密级别" prop="secretClass"  style="width: 25%">-->
                <!--            <zt-dict v-model="datadataForm.secretClass" dict="secret_class" placeholder="保密级别" style="width:200px"></zt-dict>-->
                <!--          </zt-form-item>-->
                <!-- 联系方式 -->
                <el-form-item class="el-border-bottom" label="物品性质" style="width: 98%">
                  <zt-dict v-model="dataForm.softwareTestOrder.articleNature" :radio="true" dict="article_nature"></zt-dict>
<!--                  <el-radio-group v-model="dataForm.criticalLevel">-->
<!--                    <el-radio :label="0">现场检测</el-radio>-->
<!--                    <el-radio :label="1">客户送样</el-radio>-->
<!--                    <el-radio :label="2">其他:{{dataForm.other}}</el-radio>-->
<!--                  </el-radio-group>-->
                </el-form-item>
                <div class="el-flex el-border-bottom">
                  <div class="DWidth DAlign DHold">
                    测试日期
                  </div>
                  <div class="el-border-left startDate" style="width: 45%;">
                    <el-form-item  style="width: 100%;padding-left:20px;margin:0;">
                      <el-date-picker
                        v-model="dataForm.softwareTestOrder.testDate"
                        type="date"
                        placeholder="选择测试日期">
                      </el-date-picker>
                    </el-form-item>
                  </div>
                  <div class="DWidth DAlign DHold">
                    交付日期
                  </div>
                  <div class="el-border-left endDate" style="width: 42%">
                    <el-form-item  style="width: 100%;padding-left:20px;margin:0;">
                      <el-date-picker
                        v-model="dataForm.softwareTestOrder.deliveryDate"
                        type="date"
                        placeholder="选择交付日期">
                      </el-date-picker>
                    </el-form-item>
                  </div>
                </div>
                <div class="el-flex el-border-bottom">
                  <div class="DWidth DAlign DHold">
                    检测费用
                  </div>
                  <div class="el-border-left testCost" style="width: 98%">
                    <el-form-item  style="width: 98%;padding-left:20px;margin:0;">
                      <el-input v-model="dataForm.softwareTestOrder.testCost" placeholder="请输入检测费用"></el-input>
                    </el-form-item>
                  </div>
                </div>
                <div class="el-flex el-border-bottom">
                  <div class="DWidth DAlign DHold">
                    物品性质
                  </div>
                  <div class="el-border-left" style="width: 98%">
                    <el-form-item  style="width: 20%;padding-left:20px;margin:0;">
                      <zt-dict v-model="dataForm.softwareTestOrder.articleNature" :radio="true"
                               origin="otherNature" @getChangeInputData="getChangeInputData"
                               dict="article_nature" :inputName="dataForm.softwareTestOrder.otherNature"></zt-dict>
                    </el-form-item>
                  </div>
                </div>
                <div class="el-flex el-border-bottom">
                  <div class="DWidth DAlign DHold">
                    样品状态
                  </div>
                  <div class="el-border-left" style="width: 100%;margin-bottom: 0">
                    <el-form-item label="是否满足测试要求:" label-width="160px">
                      <zt-dict v-model="dataForm.softwareTestOrder.sampleStatus" :radio="true" dict="is_satisfy"></zt-dict>
<!--                      <el-radio-group v-model="dataForm.checkList">-->
<!--                        <el-radio :label="0">是</el-radio>-->
<!--                        <el-radio :label="1">否</el-radio>-->
<!--                      </el-radio-group>-->
                  <div class="el-border-left" style="width: 98%;">
                    <el-form-item label="是否满足测试要求:" label-width="160px" style="margin-bottom: 0">
                      <zt-dict v-model="dataForm.softwareTestOrder.sampleStatus" :radio="true"
                               dict="is_satisfy"></zt-dict>
                    </el-form-item>
                  </div>
                </div>
                <div class="el-flex el-border-top">
                  <div class="DWidth DAlign DHold">
                  <div style="width:88px !important;" class="DWidth DAlign DHold">
                    交付物清单
                  </div>
                  <div style="width: calc(100% - 120px);padding: 5px">
                    <el-table class="el-software" height="230" border :data="dataForm.softwareTestOrderDeliverable"
                  <div class="table-container" style="width: calc(100% - 120px);padding: 5px">
                    <el-table ref="tableDeliverableList" class="el-software" border :data="dataForm.deliverableList"
                              stripe>
                      <el-table-column prop="num" align="center" width="80" label="序号"></el-table-column>
                      <el-table-column type="index" align="center" width="80" label="序号"/>
                      <el-table-column prop="name" min-width="300" label="名称"></el-table-column>
                      <el-table-column prop="identify" align="center" width="380" label="标识/版本"></el-table-column>
                      <el-table-column fixed="right" label="操作" align="center">
                        <template slot-scope="scope">
                          <zt-table-button @click="deleteDeliverableRow(scope.$index)">删除</zt-table-button>
                        </template>
                      </el-table-column>
                    </el-table>
                    <div v-if="!dataForm.disabled" class="icon-container" @click="addDeliverableRow()">
                      <!-- 放置固定的图标 -->
                      <i class="el-icon-plus"></i>
                    </div>
                  </div>
                </div>
              </div>
@@ -300,37 +352,38 @@
              <div class="DWidth DAlign DHold">
                测试机构信息
              </div>
              <div class="el-border-left DOldForm" style="width: 100%;">
                <el-form-item label-width="120px" label="测评机构名称" style="width: 98%">
              <div class="el-border-left csjgxx" style="width: 100%;">
                <el-form-item class="marginTopAndMarginBottom" label-width="130px" label="测评机构名称"
                              style="width: 98%">
                  <el-input v-model="dataForm.testAgencyInfo.agencyName" placeholder="请输入单位名称"></el-input>
                </el-form-item>
                <!-- 联系人 -->
                <el-form-item label-width="120px" label="地址" style="width: 98%">
                <el-form-item class="marginTopAndMarginBottom3" label-width="130px" label="地址" style="width: 98%">
                  <el-input v-model="dataForm.testAgencyInfo.site" placeholder="请输入联系人"></el-input>
                </el-form-item>
                <!-- 详细地址 -->
                <el-form-item label-width="120px" label="业务联系" style="width: 49%">
                <el-form-item class="marginTopAndMarginBottom2" label-width="130px" label="业务联系" style="width: 49%">
                  <el-input v-model="dataForm.testAgencyInfo.businContact" placeholder="请输入详细地址"></el-input>
                </el-form-item>
                <el-form-item label-width="120px" label="业务投诉" style="width: 49%">
                <el-form-item class="marginTopAndMarginBottom2" label-width="130px" label="业务投诉" style="width: 49%">
                  <el-input v-model="dataForm.testAgencyInfo.businComplaint" placeholder="请输入详细地址"></el-input>
                </el-form-item>
                <el-form-item label-width="120px" label="实验室联系人" style="width: 49%">
                <el-form-item class="marginTopAndMarginBottom2" label-width="130px" label="实验室联系人"
                              style="width: 49%">
                  <el-input v-model="dataForm.testAgencyInfo.laborContact" placeholder="请输入详细地址"></el-input>
                </el-form-item>
                <el-form-item label-width="120px" label="实验室联系电话" style="width: 49%">
                <el-form-item class="marginTopAndMarginBottom2" label-width="130px" label="实验室联系电话"
                              style="width: 49%">
                  <el-input v-model="dataForm.testAgencyInfo.labContactNum" placeholder="请输入详细地址"></el-input>
                </el-form-item>
                <el-form-item label-width="120px" label="邮政编码" style="width: 49%">
                <el-form-item class="marginTopAndMarginBottom2" label-width="130px" label="邮政编码" style="width: 49%">
                  <el-input v-model="dataForm.testAgencyInfo.postalCode" placeholder="请输入详细地址"></el-input>
                </el-form-item>
                <el-form-item label-width="120px" label="传真" style="width: 49%">
                <el-form-item class="marginTopAndMarginBottom2" label-width="130px" label="传真" style="width: 49%">
                  <el-input v-model="dataForm.testAgencyInfo.fax" placeholder="请输入详细地址"></el-input>
                </el-form-item>
                <el-form-item label-width="120px" label="地址" style="width: 98%">
                <el-form-item class="marginTopAndMarginBottom2" label-width="130px" label="地址" style="width: 98%">
                  <el-input v-model="dataForm.testAgencyInfo.site" placeholder="请输入详细地址"></el-input>
                </el-form-item>
                <el-form-item label-width="120px" label="业务投诉" style="width: 98%">
                <el-form-item class="marginTopAndMarginBottom2" label-width="130px" label="业务投诉" style="width: 98%">
                  <el-input v-model="dataForm.testAgencyInfo.businComplaint" placeholder="请输入详细地址"></el-input>
                </el-form-item>
              </div>
@@ -341,20 +394,24 @@
              </div>
              <div class="" style="width: 100%;">
                <div class="el-flex" style="height: 40px">
                  <div style="width: 50%">
                    <span>{{dataForm.write}}</span>
                  <div style="width: 60%">
                    <zt-select v-model="dataForm.softwareTestOrder.contractSign" url="/sys/userEx/getUsersList" placeholder="承托方人员"/>
<!--                    <span>{{ dataForm.contractSign }}</span>-->
                  </div>
                  <div class="el-flex">
                    <div style="width: 120px;text-align: center">{{dataForm.year}}</div>年
                    <div style="width: 80px;text-align: center">{{dataForm.month}}</div>月
                    <div style="width: 80px;text-align: center">{{dataForm.day}}</div>日
                  <div class="el-flex" style="margin-left: 10%">
<!--                    {{ dataForm.softwareTestOrder.contractSignDate | filterTime('YYYY年MM月DD日') }}-->
                    <el-date-picker
                      v-model="dataForm.softwareTestOrder.contractSignDate"
                      type="date"
                      placeholder="选择日期">
                    </el-date-picker>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
        <div class="el-flex">
        <div class="el-flex el-border-bottom">
          <div class="DPadding3 DAlign DHold">
            说明
          </div>
@@ -371,160 +428,234 @@
            </div>
          </div>
        </div>
        <div class="el-flex order-sc" style="height: 60px">
            <el-form-item class="marginTopAndMarginBottom" style="width: 100%">
              <config-uploader :lineHeight="true" busi-type="test_order" model-name="dataForm" :dataForm="dataForm"
                               v-model="dataForm.files"/>
            </el-form-item>
        </div>
      </div>
    </el-form>
<!--    <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px">-->
<!--      <zt-form-item label="运行环境" prop="optEnviron" rules="required">-->
<!--        <el-input v-model="dataForm.optEnviron"></el-input>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="编程语言" prop="programLang" rules="required">-->
<!--        <el-input v-model="dataForm.programLang"></el-input>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="测试依据" prop="testBasis" rules="required">-->
<!--        <zt-dict v-model="dataForm.testBasis" dict="test_basis"></zt-dict>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="测试类型" prop="testType" rules="required">-->
<!--        <zt-dict v-model="dataForm.testType" dict="test_type1"></zt-dict>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="测试标准" prop="testStandard" rules="required">-->
<!--        <zt-dict v-model="dataForm.testStandard" dict="test_standard"></zt-dict>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="开始日期" prop="startDate" rules="required">-->
<!--        <el-input v-model="dataForm.startDate"></el-input>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="结束日期" prop="endDate" rules="required">-->
<!--        <el-input v-model="dataForm.endDate"></el-input>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="测试场地" prop="testVenue" rules="required">-->
<!--        <el-input v-model="dataForm.testVenue"></el-input>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="其他要求" prop="otherRequire" rules="required">-->
<!--        <el-input v-model="dataForm.otherRequire"></el-input>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="测试日期" prop="testDate" rules="required">-->
<!--        <el-input v-model="dataForm.testDate"></el-input>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="交付日期" prop="deliveryDate" rules="required">-->
<!--        <el-input v-model="dataForm.deliveryDate"></el-input>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="检测费用" prop="testCost" rules="required">-->
<!--        <el-input v-model="dataForm.testCost"></el-input>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="物品性质" prop="articleNature" rules="required">-->
<!--        <zt-dict v-model="dataForm.articleNature" dict="article_nature"></zt-dict>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="样品状态" prop="sampleStatus" rules="required">-->
<!--        <el-input v-model="dataForm.sampleStatus"></el-input>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="测评机构名称" prop="agencyName" rules="required">-->
<!--        <el-input v-model="dataForm.agencyName"></el-input>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="地址" prop="site" rules="required">-->
<!--        <el-input v-model="dataForm.site"></el-input>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="业务联系" prop="businContact" rules="required">-->
<!--        <el-input v-model="dataForm.businContact"></el-input>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="业务投诉" prop="businComplaint" rules="required">-->
<!--        <el-input v-model="dataForm.businComplaint"></el-input>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="实验室联系人" prop="laborContact" rules="required">-->
<!--        <el-input v-model="dataForm.laborContact"></el-input>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="实验室联系电话" prop="labContactNum" rules="required">-->
<!--        <el-input v-model="dataForm.labContactNum"></el-input>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="邮政编码" prop="postalCode" rules="required">-->
<!--        <el-input v-model="dataForm.postalCode"></el-input>-->
<!--      </zt-form-item>-->
<!--      <zt-form-item label="传真" prop="fax" rules="required">-->
<!--        <el-input v-model="dataForm.fax"></el-input>-->
<!--      </zt-form-item>-->
<!--    </el-form>-->
    <template v-slot:footer>
      <el-button v-if="dataForm.disabled" type="primary" @click="print()">打印</el-button>
    </template>
  </zt-dialog>
</template>
<script>
  export default {
    data() {
      return {
        dataForm: {
          id: null,
          testAgencyInfo:{},
          projectId: null,
          project:{
            code:'',
            creator:'',
            criticalLevel:'',
            developUnitAddress:'',
            developUnitContWay:'',
            developUnitContact:'',
            developUnitName:'',
            disabled:'',
            entrustUnitAddress:'',
            entrustUnitContWay:'',
            entrustUnitContact:'',
            entrustUnitName:'',
            identity:'',
            isContract:'',
            projectLeader:'',
            projectReviewer:'',
            projectTesters:'',
            secretClass:'',
            softwareName:'',
            softwareType:'',
            tenantId:'',
            testLevel:'',
          },
          softwareTestOrder:{},
          softwareTestOrderDeliverable:[],
          softwareTestOrderMeasured:[],
        }
  import Cookies from 'js-cookie'
  import qs from 'qs'
export default {
  data() {
    return {
      // inputName:'',
      eventIndex:'',
      editingCell:null,
      dataForm: {
        id: null,
        projectId: null,
        softwareTestOrder: {
          code:'',
          optEnviron:'',
          programLang:'',
          testBasis:'',
          testType1:'',
          testType2:'',
          testStandard:'',
          startDate:'',
          endDate:'',
          testVenue:'',
          otherRequire:'',
          testDate:'',
          deliveryDate:'',
          testCost:'',
          articleNature:'',
          sampleStatus:'',
          entrustSign:'',
          entrustSignDate:'',
          contractSign:'',
          contractSignDate:'',
          otherBasis:'otherBasis',
          otherStandard:'otherStandard',
          requireOther:'requireOther',
          otherNature:'otherNature',
        },
        project: {
          code: '',
          creator: '',
          criticalLevel: '',
          developUnitAddress: '',
          developUnitContWay: '',
          developUnitContact: '',
          developUnitName: '',
          entrustUnitAddress: '',
          entrustUnitContWay: '',
          entrustUnitContact: '',
          entrustUnitName: '',
          softwareIdentity: '',
          isContract: '',
          projectLeader: '',
          projectReviewer: '',
          projectTesters: '',
          secretClass: '',
          softwareName: '',
          softwareType: '',
          tenantId: '',
          testLevel: '',
        },
        testAgencyInfo: {
          agencyName:'',
          site:'',
          businContact:'',
          businComplaint:'',
          laborContact:'',
          labContactNum:'',
          postalCode:'',
          fax:''
        },
        deliverableList: [],
        measuredList: [],
      }
    }
  },
  methods: {
    // getDictLabel(event,name){
    //   if(name.indexOf("其他")!=-1){
    //     console.log(name,'字典名字q34567')
    //     this.eventIndex = event
    //     this.inputName='q14eeff'
    //   }
    // },
    getChangeInputData(data,ogn){
      // console.log(ogn)
      this.$set(this.dataForm.softwareTestOrder, ogn, data);
      console.log(this.dataForm.softwareTestOrder[ogn]);
      // console.log(this.dataForm.softwareTestOrder[ogn])
    },
    methods: {
      // 获取信息
      async getInfo() {
        let params = {
          orderId: this.dataForm.id,
          projectId: this.dataForm.projectId
    handleCellClick(row, column) {
      this.editingCell = {row, column}
      this.$nextTick(() => {
        if(this.$refs.editInput){
          this.$refs.editInput.focus()
        }
        let res = await this.$http.get(`/project/SoftwareTestOrder/getDto`, {params: params})
        if(res.data ){
          this.dataForm = {
            ...res.data
      })
      console.log(this.editingCell, 'this.editingCell')
    },
    init(id,row){
      this.dataForm.id = row.id
      this.dataForm.projectId = row.projectId
      // this.dataForm.disabled
      this.getInfo()
      console.log(this.dataForm.id,this.dataForm.projectId,'params params')
    },
    // 获取信息
    async getInfo() {
      let params = {
        orderId: this.dataForm.id,
        projectId: this.dataForm.projectId
      }
      console.log(this.dataForm, "this.dataForm")
      let res = await this.$http.get(`/project/SoftwareTestOrder/getDto`, {params: params})
      if (res.data) {
        this.dataForm = {
          ...this.dataForm,
          ...res.data
        }
        if(this.dataForm.softwareTestOrder){
          if(this.dataForm.softwareTestOrder.testType1){
            this.dataForm.softwareTestOrder.testType1=this.dataForm.softwareTestOrder.testType1.split(',')
            console.log(this.dataForm.softwareTestOrder.testType1)
          }
          if(this.dataForm.softwareTestOrder.testType2){
            this.dataForm.softwareTestOrder.testType2=this.dataForm.softwareTestOrder.testType2.split(',')
            console.log(this.dataForm.softwareTestOrder.testType2)
          }
        }
        console.log(this.dataForm, "this.dataForm")
      },
      // 表单提交
      async formSubmit() {
        console.log(this.dataForm,' this.dataForm')
        let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/project/SoftwareTestOrder/', this.dataForm)
        if (res.success) {
          await this.$tip.success()
          this.$refs.dialog.close()
          this.$emit('refreshDataList')
        if(this.dataForm.project === null){
          this.dataForm.project={}
        }
        if(this.dataForm.softwareTestOrder === null){
          this.dataForm.softwareTestOrder={}
        }
        if(this.dataForm.testAgencyInfo === null){
          this.dataForm.testAgencyInfo={}
        }
      }
      // console.log(this.dataForm, "this.dataForm")
      console.log(this.dataForm,"getInfo this.dataForm")
    },
    addDeliverableRow() {
      this.dataForm.deliverableList.push({})
      this.$nextTick(() => {
        const tableBody = this.$refs.tableDeliverableList.$el.querySelector('.el-table__body-wrapper')
        tableBody.scrollTop = tableBody.scrollHeight
      })
    },
    deleteDeliverableRow(index){
      this.dataForm.deliverableList.splice(index, 1)
    },
    addMeasuredRow() {
      this.dataForm.measuredList.push({})
      this.$nextTick(() => {
        const tableBody = this.$refs.tableMeasuredList.$el.querySelector('.el-table__body-wrapper')
        tableBody.scrollTop = tableBody.scrollHeight
      })
    },
    deleteMeasuredRow(index){
      this.dataForm.measuredList.splice(index, 1)
    },
    async print(){
      var params = qs.stringify({
        token: Cookies.get('token'),
        id:this.dataForm.id
      })
      let apiURL = `/project/SoftwareTestOrder/exportWord/`
      window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}`
    },
    // 表单提交
    async formSubmit() {
      console.log(this.dataForm, 'formSubmit this.dataForm')
      if(this.dataForm.softwareTestOrder.testType1){
        this.dataForm.softwareTestOrder.testType1=this.dataForm.softwareTestOrder.testType1.join(',')
      }
      if(this.dataForm.softwareTestOrder.testType2){
        this.dataForm.softwareTestOrder.testType2=this.dataForm.softwareTestOrder.testType2.join(',')
      }
      console.log(this.dataForm.softwareTestOrder.testType1)
      let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/project/SoftwareTestOrder/', this.dataForm)
      if (res.success) {
        await this.$tip.success()
        this.$refs.dialog.close()
        this.$emit('refreshDataList')
      }else{
        if(this.dataForm.softwareTestOrder.testType1){
          this.dataForm.softwareTestOrder.testType1=this.dataForm.softwareTestOrder.testType1.split(',')
        }
        if(this.dataForm.softwareTestOrder.testType2){
          this.dataForm.softwareTestOrder.testType2=this.dataForm.softwareTestOrder.testType2.split(',')
        }
      }
    }
  }
}
</script>
<style>
.weiTuoDanAuto {
  width: 70%;
//border: 1px solid;
  margin: 0 auto;
//border: 1px solid; margin: 0 auto;
}
.weiTuoDanAuto .el-radio{
.weiTuoDanAuto .el-radio {
  padding: 5px;
  margin-right: 10px;
}
.zt .weiTuoDanAuto .el-form-item.el-form-item--default{
.zt .weiTuoDanAuto .el-form-item.el-form-item--default {
  margin-right: 0;
}
.el-flex {
  display: flex;
  align-items: center;
@@ -537,34 +668,53 @@
.DWidth-Unt {
  width: 100px;
}
.DPadding1{
.DPadding1 {
  padding: 6px;
}
.DPadding2{
.DPadding2 {
  padding: 7px;
}
.DPadding3{
.DPadding3 {
  padding: 4px;
}
.DAlign {
  text-align: center;
}
.el-border-left{
  border-left: 1px solid rgba(0,0,0,.2);
.el-border-left {
  border-left: 1px solid rgba(0, 0, 0, .2);
}
.DOldForm {
  width: 100%;
}
.el-border-top-and-bottom{
  border-top: 1px solid rgba(0,0,0,.2);
  border-bottom: 1px solid rgba(0,0,0,.2);
.el-border-top-and-bottom {
  border-top: 1px solid rgba(0, 0, 0, .2);
  border-bottom: 1px solid rgba(0, 0, 0, .2);
}
.DOldForm > .el-form-item > .el-form-item__content {
  width: calc(100% - 120px);
}
.startDate > .el-form-item > .el-form-item__content {
  width: 95%;
}
.endDate > .el-form-item > .el-form-item__content {
  width: 95%;
}
.testCost > .el-form-item > .el-form-item__content {
  width: 100%;
}
.testVenue > .el-form-item > .el-form-item__content {
  width: 100%;
}
.el-border-bottom {
  border-bottom: 1px solid rgba(0,0,0,.2);
  border-bottom: 1px solid rgba(0, 0, 0, .2);
}
.zt .el-table.el-software th {
@@ -574,10 +724,38 @@
.zt .el-table.el-software th > .cell {
  font-weight: 500;
}
.DHold{
.DHold {
  font-weight: 600;
}
.zt .el-table.el-software{
.zt .el-table.el-software {
  font-size: 14px;
}
.weiTuoDanAuto .marginTopAndMarginBottom {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
}
.weiTuoDanAuto .marginTopAndMarginBottom2 {
  margin-top: -10px !important;
  margin-bottom: 10px !important;
}
.weiTuoDanAuto .marginTopAndMarginBottom3 {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}
.csjgxx > .el-form-item > .el-form-item__content {
  width: calc(100% - 130px);
}
.order-sc > .el-form-item > .el-form-item__content {
  width:100%;
}
.test-type-line-height>.el-form-item>.el-form-item__content{
  line-height: 30px;
}
.requireOther.el-input{
  position: absolute;
}
</style>