zzw
2023-11-14 2149973c55dab3aad3590984f7ae9f8dabe8bae6
web/src/views/modules/project/Project-AddOrUpdate.vue
@@ -1,61 +1,174 @@
<template>
  <zt-dialog ref="dialog" column="2" @confirm="formSubmit">
    <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="testLevel" rules="required">
                        <zt-dict v-model="dataForm.testLevel" dict="test_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>
<!--    <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-form-item label-width="80px" label="项目编号" prop="code" style="width: 99%;margin-bottom:-5px" readonly>
            <span>{{dataForm.code}}</span>
          </el-form-item>
        </div>
        <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>
            </div>
          </div>
          <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="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="identity" 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 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">
                <el-input v-model="dataForm.projectLeader" placeholder="请输入单位名称"></el-input>
              </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-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>
          </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>
@@ -73,31 +186,35 @@
          developUnitAddress: '',
          developUnitContact: '',
          developUnitContWay: '',
          software: '',
          softwareType: '',
          softwareName: '',
          code: '',
          identity: '',
          softwareIdentity: '',
          secretClass: '',
          criticalLevel: '',
          testLevel: '',
          projectLeader: '',
          projectTesters: '',
          projectReviewer: '',
          isContract: ''
          isContract: '',
        }
      }
    },
    methods: {
      // 获取信息
      async getInfo() {
        let res = await this.$http.get(`/project//${this.dataForm.id}`)
        this.dataForm = {
          ...this.dataForm,
          ...res.data
        let res = await this.$http.get(`/project/Project//${this.dataForm.id}`)
        if (res.success) {
          this.dataForm = {
            ...this.dataForm,
            ...res.data
          }
        }
        console.log(this.dataForm,'this.dataForm')
      },
      // 表单提交
      async formSubmit() {
        let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/project//', this.dataForm)
        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()
@@ -107,3 +224,78 @@
    }
  }
</script>
<style>
.projectAuto {
  width: 70%;
}
.el-flex {
  display: flex;
  align-items: center;
}
.DWidth {
  width: 100px;
}
.DWidth-Unt {
  width: 100px;
}
.DAlign {
  text-align: center;
}
.DSTOld-1-Form,
.DSTOld-1-Form{
  border-left: 1px solid rgba(0,0,0,.2);
  width: 100%;
}
.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);
}
.DSTOld-1-Form {
  border-left: 1px solid rgba(0,0,0,.2);
  width: 100%;
}
.DSTOld-1-Form > .el-form-item>.el-form-item__content {
  width: calc(100% - 120px);
}
.DManageForm > .el-form-item>.el-form-item__content {
  width: calc(100% - 120px);
}
.el-border-bottom {
  border-bottom: 1px solid rgba(0,0,0,.2);
}
.zt .el-table.el-software th {
  background: transparent;
}
.zt .el-table.el-software th > .cell {
  font-weight: 500;
}
.DHold{
  font-weight: 600;
}
.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>