6
jinlin
2023-11-29 b21945e7dea2daa8b30bee3cdd4bca91277e3b5f
web/src/views/modules/project/Project-AddOrUpdate.vue
@@ -1,171 +1,130 @@
<template>
  <zt-dialog ref="dialog" column="2" @confirm="formSubmit">
<!--    <div class="fa-card-a fa-box-a" style="height: calc(100vh - 130px)">-->
      <el-form ref="dataForm" style="padding: 0" :inline="true" :disabled="dataForm.disabled" :model="dataForm" label-width="120px" class="projectAuto">
        <div class="DManageForm el-border-bottom">
          <zt-form-item label-width="60px" label="项目编号" prop="code" style="width: 99%" readonly>
            <el-input v-model="dataForm.code"></el-input>
          </zt-form-item>
      <el-form ref="dataForm" style="padding: 0" :inline="true" :disabled="dataForm.disabled" :model="dataForm" label-width="120px"
               class="projectAuto">
        <div class="DManageForm">
          <el-form-item label-width="80px" label="项目编号" prop="code" style="width: 99%;margin-bottom:-5px" readonly>
            <span>{{dataForm.code}}</span>
          </el-form-item>
        </div>
        <div class="el-flex el-border-bottom">
          <div class="DWidth DAlign DHold">
            委托单位
          </div>
          <div class="DSTOld-1-Form">
            <!-- 单位名称 -->
            <zt-form-item label="单位名称" prop="entrustUnitName" style="width: 49%" rules="required">
              <el-input v-model="dataForm.entrustUnitName" placeholder="请输入单位名称"></el-input>
            </zt-form-item>
            <!-- 联系人 -->
            <zt-form-item label="联系人" prop="entrustUnitContact" style="width: 49%" rules="required">
              <el-input v-model="dataForm.entrustUnitContact" placeholder="请输入联系人"></el-input>
            </zt-form-item>
        <div style="border: 1px solid rgba(0,0,0,.2)">
          <div class="el-flex el-border-bottom">
            <div class="DWidth DAlign DHold">
              委托单位
            </div>
            <div class="DSTOld-1-Form">
              <!-- 单位名称 -->
              <zt-form-item class="marginTopAndMarginBottom" label="单位名称" prop="entrustUnitName" style="width: 49%" rules="required">
                <el-input v-model="dataForm.entrustUnitName" placeholder="请输入单位名称"></el-input>
              </zt-form-item>
              <!-- 联系人 -->
              <zt-form-item class="marginTopAndMarginBottom" label="联系人" prop="entrustUnitContact" style="width: 49%" rules="required">
                <el-input v-model="dataForm.entrustUnitContact" placeholder="请输入联系人"></el-input>
              </zt-form-item>
            <!-- 详细地址 -->
            <zt-form-item label="详细地址" prop="entrustUnitAddress" style="width: 49%" rules="required">
              <el-input v-model="dataForm.entrustUnitAddress" placeholder="请输入详细地址"></el-input>
            </zt-form-item>
            <!-- 联系方式 -->
            <zt-form-item label="联系方式" prop="entrustUnitContWay" style="width: 49%" rules="required">
              <el-input v-model="dataForm.entrustUnitContWay" placeholder="请输入联系方式"></el-input>
            </zt-form-item>
              <!-- 详细地址 -->
              <zt-form-item label="详细地址" prop="entrustUnitAddress" style="width: 49%" rules="required">
                <el-input v-model="dataForm.entrustUnitAddress" placeholder="请输入详细地址"></el-input>
              </zt-form-item>
              <!-- 联系方式 -->
              <zt-form-item label="联系方式" prop="entrustUnitContWay" style="width: 49%" rules="required">
                <el-input v-model="dataForm.entrustUnitContWay" placeholder="请输入联系方式"></el-input>
              </zt-form-item>
            </div>
          </div>
        </div>
        <div class="el-flex el-border-bottom">
          <div class="DWidth DAlign DHold">
            开发单位
          <div class="el-flex el-border-bottom">
            <div class="DWidth DAlign DHold">
              开发单位
            </div>
            <div class="DSTOld-1-Form">
              <!-- 单位名称 -->
              <zt-form-item class="marginTopAndMarginBottom" label="单位名称" prop="developUnitName" style="width: 49%" rules="required">
                <el-input v-model="dataForm.developUnitName" placeholder="请输入单位名称"></el-input>
              </zt-form-item>
              <!-- 联系人 -->
              <zt-form-item class="marginTopAndMarginBottom" label="联系人" prop="developUnitContact" style="width: 49%" rules="required">
                <el-input v-model="dataForm.developUnitContact" placeholder="请输入联系人"></el-input>
              </zt-form-item>
              <!-- 详细地址 -->
              <zt-form-item label="详细地址" prop="developUnitAddress" style="width: 49%" rules="required">
                <el-input v-model="dataForm.developUnitAddress" placeholder="请输入详细地址"></el-input>
              </zt-form-item>
              <!-- 联系方式 -->
              <zt-form-item label="联系方式" prop="developUnitContWay" style="width: 49%" rules="required">
                <el-input v-model="dataForm.developUnitContWay" placeholder="请输入联系方式"></el-input>
              </zt-form-item>
            </div>
          </div>
          <div class="DSTOld-1-Form">
            <!-- 单位名称 -->
            <zt-form-item label="单位名称" prop="developUnitName" style="width: 49%" rules="required">
              <el-input v-model="dataForm.developUnitName" placeholder="请输入单位名称"></el-input>
            </zt-form-item>
            <!-- 联系人 -->
            <zt-form-item label="联系人" prop="developUnitContact" style="width: 49%" rules="required">
              <el-input v-model="dataForm.developUnitContact" placeholder="请输入联系人"></el-input>
            </zt-form-item>
            <!-- 详细地址 -->
            <zt-form-item label="详细地址" prop="developUnitAddress" style="width: 49%" rules="required">
              <el-input v-model="dataForm.developUnitAddress" placeholder="请输入详细地址"></el-input>
            </zt-form-item>
            <!-- 联系方式 -->
            <zt-form-item label="联系方式" prop="developUnitContWay" style="width: 49%" rules="required">
              <el-input v-model="dataForm.developUnitContWay" placeholder="请输入联系方式"></el-input>
            </zt-form-item>
          </div>
        </div>
        <div class="el-flex el-border-bottom">
          <div class="DWidth-Unt DAlign DHold">
            被测件信息
          </div>
          <div class="DSTOld-1-Form">
            <!-- 单位名称 -->
            <zt-form-item label="软件名称" prop="softwareName" style="width: 49%" rules="required">
              <el-input v-model="dataForm.softwareName" placeholder="请输入软件名称"></el-input>
            </zt-form-item>
            <!-- 联系人 -->
            <zt-form-item label="软件标识" prop="identity" style="width: 49%" rules="required">
              <el-input v-model="dataForm.identity" placeholder="请输入软件标识"></el-input>
            </zt-form-item>
            <!-- 详细地址 -->
            <zt-form-item label="密级" prop="secretClass" style="width: 49%" rules="required">
              <zt-dict v-model="dataForm.secretClass" dict="secret_class"></zt-dict>
            </zt-form-item>
            <!--          <zt-form-item label="保密级别" prop="secretClass"  style="width: 25%">-->
            <!--            <zt-dict v-model="dataForm.secretClass" dict="secret_class" placeholder="保密级别" style="width:200px"></zt-dict>-->
            <!--          </zt-form-item>-->
            <!-- 联系方式 -->
            <zt-form-item label="关键等级" prop="criticalLevel" style="width: 49%" rules="required">
              <zt-dict v-model="dataForm.criticalLevel" dict="critical_level"></zt-dict>
            </zt-form-item>
            <div class="el-flex" style="height: 40px;border-top:1px solid">
              <div class="DWidth DAlign DHold">
                软件类型
              </div>
              <div style="width: calc(100% - 120px);">
                <zt-dict v-model="dataForm.softwareType" :radio="true"  dict="software_type" clearable></zt-dict>
          <div class="el-flex el-border-bottom">
            <div class="DWidth-Unt DAlign DHold">
              被测件信息
            </div>
            <div class="DSTOld-1-Form">
              <!-- 单位名称 -->
              <zt-form-item class="marginTopAndMarginBottom" label="软件名称" prop="softwareName" style="width: 49%" rules="required">
                <el-input v-model="dataForm.softwareName" placeholder="请输入软件名称"></el-input>
              </zt-form-item>
              <!-- 联系人 -->
              <zt-form-item class="marginTopAndMarginBottom" label="软件标识" prop="softwareIdentity" style="width: 49%" rules="required">
                <el-input v-model="dataForm.softwareIdentity" placeholder="请输入软件标识"></el-input>
              </zt-form-item>
              <!-- 详细地址 -->
              <zt-form-item label="密级" prop="secretClass" style="width: 49%" rules="required">
                <zt-dict v-model="dataForm.secretClass" dict="secret_class"></zt-dict>
              </zt-form-item>
              <!--          <zt-form-item label="保密级别" prop="secretClass"  style="width: 25%">-->
              <!--            <zt-dict v-model="dataForm.secretClass" dict="secret_class" placeholder="保密级别" style="width:200px"></zt-dict>-->
              <!--          </zt-form-item>-->
              <!-- 联系方式 -->
              <zt-form-item label="关键等级" prop="criticalLevel" style="width: 49%" rules="required">
                <zt-dict v-model="dataForm.criticalLevel" dict="critical_level"></zt-dict>
              </zt-form-item>
              <div class="el-flex" style="height: 40px;border-top:1px solid rgba(0,0,0,.2)">
                <div class="DWidth DAlign DHold">
                  软件类型
                </div>
                <div style="width: calc(100% - 120px);">
                  <zt-dict v-model="dataForm.softwareType" :radio="true"  dict="software_type" clearable></zt-dict>
                </div>
              </div>
            </div>
          </div>
        </div>
        <div class="el-flex ">
          <div class="DWidth DAlign DHold">
            项目责任人
          </div>
          <div class="DSTOld-1-Form">
            <!-- 单位名称 -->
            <zt-form-item label-width="120px" label="项目负责人" prop="projectLeader" style="width: 48%" rules="required">
              <el-input v-model="dataForm.projectLeader" placeholder="请输入单位名称"></el-input>
            </zt-form-item>
            <!-- 联系人 -->
            <zt-form-item label-width="120px" label="项目测试人员" prop="projectTesters" style="width: 48%" rules="required">
              <el-input v-model="dataForm.projectTesters" placeholder="请输入联系人"></el-input>
            </zt-form-item>
            <!-- 详细地址 -->
            <zt-form-item label-width="120px" label="项目审核人" prop="projectReviewer" style="width: 48%" rules="required">
              <el-input v-model="dataForm.projectReviewer" placeholder="请输入详细地址"></el-input>
            </zt-form-item>
            <!-- 联系方式 -->
            <zt-form-item label-width="120px" label="是否签署合同" prop="isContract" style="width: 48%" rules="required">
              <zt-dict v-model="dataForm.isContract" dict="is_or_not"></zt-dict>
            </zt-form-item>
          <div class="el-flex ">
            <div class="DWidth DAlign DHold">
              项目责任人
            </div>
            <div class="DSTOld-1-Form">
              <!-- 项目负责人 -->
              <zt-form-item class="marginTopAndMarginBottom" label-width="120px" label="项目负责人" prop="projectLeader" style="width: 48%" rules="required">
                <zt-select v-model="dataForm.projectLeader" url="/sys/userEx/getUsersList" placeholder="项目负责人"/>
<!--                <el-input v-model="dataForm.projectLeader" placeholder="请输入项目负责人"></el-input>-->
<!--                <el-select  v-model="dataForm.projectLeader"   placeholder="项目负责人" style="width: 100%">-->
<!--                  <el-option v-for="data in dataList"></el-option>-->
<!--                </el-select>-->
<!--                <el-select v-model="dataForm.projectLeader" clearable placeholder="项目负责人">-->
<!--                  <el-option v-for="item in dataList" :key="item.value" :label="item.label"-->
<!--                             :value="item.value"/>-->
<!--                </el-select>-->
              </zt-form-item>
              <!-- 项目测试人员 -->
              <zt-form-item class="marginTopAndMarginBottom" label-width="120px" label="项目测试人员" prop="projectTesters" style="width: 48%" rules="required">
<!--                <el-input v-model="dataForm.projectTesters" placeholder="请输入项目测试人员"></el-input>-->
                <zt-select v-model="dataForm.projectTesters" url="/sys/userEx/getUsersList" :multiple="true" :clearable="true" placeholder="项目测试人员"/>
              </zt-form-item>
              <!-- 项目审核人 -->
              <zt-form-item label-width="120px" label="项目审核人" prop="projectReviewer" style="width: 48%" rules="required">
<!--                <el-input v-model="dataForm.projectReviewer" placeholder="请输入项目审核人"></el-input>-->
                <zt-select v-model="dataForm.projectReviewer" url="/sys/userEx/getUsersList" :multiple="true" :clearable="true" placeholder="项目审核人"/>
              </zt-form-item>
              <!-- 是否签署合同 -->
              <zt-form-item label-width="120px" label="是否签署合同" prop="isContract" style="width: 48%" rules="required">
                <zt-dict v-model="dataForm.isContract" dict="is_or_not"></zt-dict>
              </zt-form-item>
            </div>
          </div>
        </div>
      </el-form>
<!--    </div>-->
<!--    <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px">-->
<!--      <zt-form-item label="委托单位名称" prop="entrustUnitName" rules="required">-->
<!--                        <el-input v-model="dataForm.entrustUnitName"></el-input>-->
<!--                </zt-form-item>-->
<!--      <zt-form-item label="委托单位地址" prop="entrustUnitAddress" rules="required">-->
<!--                        <el-input v-model="dataForm.entrustUnitAddress"></el-input>-->
<!--                </zt-form-item>-->
<!--      <zt-form-item label="委托单位联系人" prop="entrustUnitContact" rules="required">-->
<!--                        <el-input v-model="dataForm.entrustUnitContact"></el-input>-->
<!--                </zt-form-item>-->
<!--      <zt-form-item label="委托单位联系方式" prop="entrustUnitContWay" rules="required">-->
<!--                        <el-input v-model="dataForm.entrustUnitContWay"></el-input>-->
<!--                </zt-form-item>-->
<!--      <zt-form-item label="开发单位名称" prop="developUnitName" rules="required">-->
<!--                        <el-input v-model="dataForm.developUnitName"></el-input>-->
<!--                </zt-form-item>-->
<!--      <zt-form-item label="开发单位地址" prop="developUnitAddress" rules="required">-->
<!--                        <el-input v-model="dataForm.developUnitAddress"></el-input>-->
<!--                </zt-form-item>-->
<!--      <zt-form-item label="开发单位联系人" prop="developUnitContact" rules="required">-->
<!--                        <el-input v-model="dataForm.developUnitContact"></el-input>-->
<!--                </zt-form-item>-->
<!--      <zt-form-item label="开发单位联系方式" prop="developUnitContWay" rules="required">-->
<!--                        <el-input v-model="dataForm.developUnitContWay"></el-input>-->
<!--                </zt-form-item>-->
<!--      <zt-form-item label="软件名称" prop="software" rules="required">-->
<!--                        <el-input v-model="dataForm.software"></el-input>-->
<!--                </zt-form-item>-->
<!--      <zt-form-item label="项目编号" prop="code" rules="required">-->
<!--                        <el-input v-model="dataForm.code"></el-input>-->
<!--                </zt-form-item>-->
<!--      <zt-form-item label="项目标识" prop="identity" rules="required">-->
<!--                        <el-input v-model="dataForm.identity"></el-input>-->
<!--                </zt-form-item>-->
<!--      <zt-form-item label="密级" prop="secretClass" rules="required">-->
<!--                        <zt-dict v-model="dataForm.secretClass" dict="secret_class"></zt-dict>-->
<!--                </zt-form-item>-->
<!--      <zt-form-item label="关键等级" prop="criticalLevel" rules="required">-->
<!--                        <zt-dict v-model="dataForm.criticalLevel" dict="critical_level"></zt-dict>-->
<!--                </zt-form-item>-->
<!--      <zt-form-item label="项目负责人" prop="projectLeader" rules="required">-->
<!--                        <el-input v-model="dataForm.projectLeader"></el-input>-->
<!--                </zt-form-item>-->
<!--      <zt-form-item label="项目测试人员" prop="projectTesters" rules="required">-->
<!--                        <el-input v-model="dataForm.projectTesters"></el-input>-->
<!--                </zt-form-item>-->
<!--      <zt-form-item label="项目审核人员" prop="projectReviewer" rules="required">-->
<!--                        <el-input v-model="dataForm.projectReviewer"></el-input>-->
<!--                </zt-form-item>-->
<!--      <zt-form-item label="是否签署合同" prop="isContract" rules="required">-->
<!--                        <zt-dict v-model="dataForm.isContract" dict="is_or_not"></zt-dict>-->
<!--                </zt-form-item>-->
<!--    </el-form>-->
  </zt-dialog>
</template>
@@ -186,7 +145,7 @@
          softwareType: '',
          softwareName: '',
          code: '',
          identity: '',
          softwareIdentity: '',
          secretClass: '',
          criticalLevel: '',
          testLevel: '',
@@ -207,15 +166,40 @@
            ...res.data
          }
        }
        if(this.dataForm && this.dataForm.projectTesters){
            this.dataForm.projectTesters=this.dataForm.projectTesters.split(',')
            console.log(this.dataForm.projectTesters)
          }
          if(this.dataForm && this.dataForm.projectReviewer){
            this.dataForm.projectReviewer=this.dataForm.projectReviewer.split(',')
            console.log(this.dataForm.projectReviewer)
          }
        console.log(this.dataForm,'this.dataForm')
      },
      // 表单提交
      async formSubmit() {
        if(this.dataForm && this.dataForm.projectTesters){
          this.dataForm.projectTesters=this.dataForm.projectTesters.join(',')
          console.log(this.dataForm.projectTesters)
        }
        if(this.dataForm && this.dataForm.projectReviewer){
          this.dataForm.projectReviewer=this.dataForm.projectReviewer.join(',')
          console.log(this.dataForm.projectReviewer)
        }
        let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/project/Project//', this.dataForm)
        if (res.success) {
          await this.$tip.success()
          this.$refs.dialog.close()
          this.$emit('refreshDataList')
        }else {
          if(this.dataForm && this.dataForm.projectTesters){
            this.dataForm.projectTesters=this.dataForm.projectTesters.split(',')
            console.log(this.dataForm.projectTesters)
          }
          if(this.dataForm && this.dataForm.projectReviewer){
            this.dataForm.projectReviewer=this.dataForm.projectReviewer.split(',')
            console.log(this.dataForm.projectReviewer)
          }
        }
      }
    }
@@ -224,7 +208,6 @@
<style>
.projectAuto {
  width: 70%;
  border: 1px solid;
}
.el-flex {
@@ -246,21 +229,21 @@
.DSTOld-1-Form,
.DSTOld-1-Form{
  border-left: 1px solid;
  border-left: 1px solid rgba(0,0,0,.2);
  width: 100%;
}
.el-border-left{
  border-left: 1px solid;
  border-left: 1px solid rgba(0,0,0,.2);
}
.DOldForm {
  width: 100%;
}
.el-border-top-and-bottom{
  border-top: 1px solid;
  border-bottom: 1px solid;
  border-top: 1px solid rgba(0,0,0,.2);
  border-bottom: 1px solid rgba(0,0,0,.2);
}
.DSTOld-1-Form {
  border-left: 1px solid;
  border-left: 1px solid rgba(0,0,0,.2);
  width: 100%;
}
@@ -271,7 +254,7 @@
  width: calc(100% - 120px);
}
.el-border-bottom {
  border-bottom: 1px solid;
  border-bottom: 1px solid rgba(0,0,0,.2);
}
.zt .el-table.el-software th {
@@ -287,4 +270,13 @@
.zt .el-table.el-software{
  font-size: 14px;
}
.projectAuto .marginTopAndMarginBottom {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
}
.projectAuto .marginTopAndMarginBottom2 {
  margin-top: -10px !important;
  margin-bottom: 10px !important;
}
</style>