jinlin
2024-01-31 9025b9cf7ec8610003d445a31d93e35e7bd73c2e
web/src/views/modules/riskTraceRecord/RiskTraceItem-AddOrUpdate.vue
@@ -2,74 +2,102 @@
  <zt-dialog ref="dialog"  @confirm="formSubmit">
    <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="0px">
      <div style="border: 1px solid rgba(0,0,0,.2);width: 100%">
        <el-table  :data="dataForm.dataList" border>
          <el-table-column width="60px" label="风险名称" prop=""></el-table-column>
        <el-table  :data="dataForm.riskList" border>
          <el-table-column width="60px" label="风险名称" prop="riskName"></el-table-column>
          <el-table-column label="风险">
            <el-table-column label="风险描述" prop=""></el-table-column>
            <el-table-column  width="60px" label="风险等级" prop=""></el-table-column>
            <el-table-column label="风险描述" prop="riskDesc"></el-table-column>
            <el-table-column  width="60px" label="风险等级" prop="riskLevel"></el-table-column>
          </el-table-column>
          <el-table-column label="风险跟踪记录(发生概率)">
            <el-table-column label="测试需求分析与策划" prop=""></el-table-column>
            <el-table-column label="测试设计" prop=""></el-table-column>
            <el-table-column label="测试执行" prop=""></el-table-column>
            <el-table-column label="测试总结" prop=""></el-table-column>
            <el-table-column label="测试需求分析与策划" prop="testRequire">
              <template v-slot="{ row }">
                <el-input v-model="row.testRequire" placeholder="测试需求分析与策划"></el-input>
              </template>
            </el-table-column>
            <el-table-column label="测试设计" prop="testDesign">
              <template v-slot="{ row }">
                <el-input v-model="row.testDesign" placeholder="测试设计"></el-input>
              </template>
            </el-table-column>
            <el-table-column label="测试执行" prop="testExecute">
              <template v-slot="{ row }">
                <el-input v-model="row.testExecute" placeholder="测试执行"></el-input>
              </template>
            </el-table-column>
            <el-table-column label="测试总结" prop="testSummary">
              <template v-slot="{ row }">
                <el-input v-model="row.testSummary" placeholder="测试总结"></el-input>
              </template>
            </el-table-column>
          </el-table-column>
        </el-table>
          <div class="el-risk-flex el-border-top-bottom ">
          <div class="el-risk-flex el-border-top-bottom " style="height:90px">
            <div class="riskWidth riskAlign riskHold" style="width: 35%">
              风险跟踪人员/日期:
            </div>
            <div  class=" el-border-left" style="width: 20%">
              <el-form-item class="form-margin-top-bottom">
                <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
                <el-input v-if="dataForm.isCsry" v-model="dataForm.riskMeasure.requireRiskTrackers" class="risk-form-padding"></el-input>
                <span v-else>{{dataForm.riskMeasure.requireRiskTrackers}}</span>
              </el-form-item>
              <el-form-item class="form-margin-top-bottom">
                <el-date-picker
                  v-if="dataForm.isCsry"
                  class="risk-form-padding"
                  v-model="dataForm.contractSignDate"
                  v-model="dataForm.riskMeasure.requireRiskDate"
                  type="date"
                  placeholder="选择日期">
                </el-date-picker>
                <span v-else>{{dataForm.riskMeasure.requireRiskDate}}</span>
              </el-form-item>
            </div>
            <div  class=" el-border-left" style="width: 20%">
              <el-form-item class="form-margin-top-bottom">
                <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
                <el-input v-if="dataForm.isCsry" v-model="dataForm.riskMeasure.designRiskTrackers" class="risk-form-padding"></el-input>
                <span v-else>{{dataForm.riskMeasure.designRiskTrackers}}</span>
              </el-form-item>
              <el-form-item class="form-margin-top-bottom">
                <el-date-picker
                  v-if="dataForm.isCsry"
                  class="risk-form-padding"
                  v-model="dataForm.contractSignDate"
                  v-model="dataForm.riskMeasure.designRiskDate"
                  type="date"
                  placeholder="选择日期">
                </el-date-picker>
                <span v-else>{{dataForm.riskMeasure.designRiskDate}}</span>
              </el-form-item>
            </div>
            <div class=" el-border-left" style="width: 20%">
              <el-form-item class="form-margin-top-bottom">
                <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
                <el-input v-if="dataForm.isCsry" v-model="dataForm.riskMeasure.executeRiskTrackers" class="risk-form-padding"></el-input>
                <span v-else>{{dataForm.riskMeasure.executeRiskTrackers}}</span>
              </el-form-item>
              <el-form-item class="form-margin-top-bottom">
                <el-date-picker
                  v-if="dataForm.isCsry"
                  class="risk-form-padding"
                  v-model="dataForm.contractSignDate"
                  v-model="dataForm.riskMeasure.executeRiskDate"
                  type="date"
                  placeholder="选择日期">
                </el-date-picker>
                <span v-else>{{dataForm.riskMeasure.executeRiskDate}}</span>
              </el-form-item>
            </div>
            <div class=" el-border-left" style="width: 20%">
              <el-form-item class="form-margin-top-bottom">
                <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
                <el-input v-if="dataForm.isCsry" v-model="dataForm.riskMeasure.summaryRiskTrackers" class="risk-form-padding"></el-input>
                <span v-else>{{dataForm.riskMeasure.summaryRiskTrackers}}</span>
              </el-form-item>
              <el-form-item class="form-margin-top-bottom">
                <el-date-picker
                  v-if="dataForm.isCsry"
                  class="risk-form-padding"
                  v-model="dataForm.contractSignDate"
                  v-model="dataForm.riskMeasure.summaryRiskDate"
                  type="date"
                  placeholder="选择日期">
                </el-date-picker>
                <span v-else>{{dataForm.riskMeasure.summaryRiskDate}}</span>
              </el-form-item>
            </div>
          </div>
@@ -78,151 +106,183 @@
              风险措施控制
            </div>
            <div class="el-border-left" style="width: 90%">
              <div class="el-risk-flex el-border-bottom ">
              <div class="el-risk-flex el-border-bottom " style="height:40px">
                <div  class="riskAlign riskHold" style="width: 26%">
                  采取措施:
                </div>
                <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%" >
                  <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
                  <el-input v-if="dataForm.isCsry" v-model="dataForm.riskMeasure.requireMeasure" class="risk-form-padding"></el-input>
                  <span v-else>{{dataForm.riskMeasure.requireMeasure}}</span>
                </el-form-item>
                <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%">
                  <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
                  <el-input v-if="dataForm.isCsry" v-model="dataForm.riskMeasure.designMeasure" class="risk-form-padding"></el-input>
                  <span v-else>{{dataForm.riskMeasure.designMeasure}}</span>
                </el-form-item>
                <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%">
                  <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
                  <el-input v-if="dataForm.isCsry" v-model="dataForm.riskMeasure.executeMeasure" class="risk-form-padding"></el-input>
                  <span v-else>{{dataForm.riskMeasure.executeMeasure}}</span>
                </el-form-item>
                <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%">
                  <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
                  <el-input v-if="dataForm.isCsry" v-model="dataForm.riskMeasure.summaryMeasure" class="risk-form-padding"></el-input>
                  <span v-else>{{dataForm.riskMeasure.summaryMeasure}}</span>
                </el-form-item>
              </div>
              <div class="el-risk-flex el-border-bottom ">
              <div class="el-risk-flex el-border-bottom " style="height:90px">
                <div  class="riskAlign riskHold" style="width: 26%">
                  记录人员/日期:
                </div>
                <div class=" el-border-left" style="width:22.25%">
                  <el-form-item class="form-margin-top-bottom">
                    <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
                    <el-input v-if="dataForm.isCsry" v-model="dataForm.riskMeasure.requireRecorder" class="risk-form-padding"></el-input>
                    <span v-else>{{dataForm.riskMeasure.requireRecorder}}</span>
                  </el-form-item>
                  <el-form-item class="form-margin-top-bottom">
                    <el-date-picker
                      v-if="dataForm.isCsry"
                      class="risk-form-padding"
                      v-model="dataForm.contractSignDate"
                      v-model="dataForm.riskMeasure.requireRecordDate"
                      type="date"
                      placeholder="选择日期">
                    </el-date-picker>
                    <span v-else>{{dataForm.riskMeasure.requireRecordDate}}</span>
                  </el-form-item>
                </div>
                <div class=" el-border-left" style="width:22.25%">
                  <el-form-item class="form-margin-top-bottom">
                    <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
                    <el-input v-if="dataForm.isCsry" v-model="dataForm.riskMeasure.designRecorder" class="risk-form-padding"></el-input>
                    <span v-else>{{dataForm.riskMeasure.designRecorder}}</span>
                  </el-form-item>
                  <el-form-item class="form-margin-top-bottom">
                    <el-date-picker
                      v-if="dataForm.isCsry"
                      class="risk-form-padding"
                      v-model="dataForm.contractSignDate"
                      v-model="dataForm.riskMeasure.designRecordDate"
                      type="date"
                      placeholder="选择日期">
                    </el-date-picker>
                    <span v-else>{{dataForm.riskMeasure.designRecordDate}}</span>
                  </el-form-item>
                </div>
                <div class=" el-border-left" style="width:22.25%">
                  <el-form-item class="form-margin-top-bottom">
                    <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
                    <el-input v-if="dataForm.isCsry" v-model="dataForm.riskMeasure.executeRecorder" class="risk-form-padding"></el-input>
                    <span v-else>{{dataForm.riskMeasure.executeRecorder}}</span>
                  </el-form-item>
                  <el-form-item class="form-margin-top-bottom">
                    <el-date-picker
                      v-if="dataForm.isCsry"
                      class="risk-form-padding"
                      v-model="dataForm.contractSignDate"
                      v-model="dataForm.riskMeasure.executeRecordDate"
                      type="date"
                      placeholder="选择日期">
                    </el-date-picker>
                    <span v-else>{{dataForm.riskMeasure.executeRecordDate}}</span>
                  </el-form-item>
                </div>
                <div class=" el-border-left" style="width:22.25%">
                  <el-form-item class="form-margin-top-bottom">
                    <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
                    <el-input v-if="dataForm.isCsry" v-model="dataForm.riskMeasure.summaryRecorder" class="risk-form-padding"></el-input>
                    <span v-else>{{dataForm.riskMeasure.summaryRecorder}}</span>
                  </el-form-item>
                  <el-form-item class="form-margin-top-bottom">
                    <el-date-picker
                      v-if="dataForm.isCsry"
                      class="risk-form-padding"
                      v-model="dataForm.contractSignDate"
                      v-model="dataForm.riskMeasure.summaryRecordDate"
                      type="date"
                      placeholder="选择日期">
                    </el-date-picker>
                    <span v-else>{{dataForm.riskMeasure.summaryRecordDate}}</span>
                  </el-form-item>
                </div>
              </div>
              <div class="el-risk-flex el-border-bottom ">
              <div class="el-risk-flex el-border-bottom " style="height:40px">
                <div  class="riskAlign riskHold" style="width: 26%">
                  措施有效性评估:
                </div>
                <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%">
                  <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
                  <el-input v-if="dataForm.isBmld" v-model="dataForm.riskMeasure.requireEvaluate" class="risk-form-padding"></el-input>
                  <span v-else>{{dataForm.riskMeasure.requireEvaluate}}</span>
                </el-form-item>
                <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%">
                  <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
                  <el-input v-if="dataForm.isBmld" v-model="dataForm.riskMeasure.designEvaluate" class="risk-form-padding"></el-input>
                  <span v-else>{{dataForm.riskMeasure.designEvaluate}}</span>
                </el-form-item>
                <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%">
                  <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
                  <el-input v-if="dataForm.isBmld" v-model="dataForm.riskMeasure.executeEvaluate" class="risk-form-padding"></el-input>
                  <span v-else>{{dataForm.riskMeasure.executeEvaluate}}</span>
                </el-form-item>
                <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%">
                  <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
                  <el-input v-if="dataForm.isBmld" v-model="dataForm.riskMeasure.summaryEvaluate" class="risk-form-padding"></el-input>
                  <span v-else>{{dataForm.riskMeasure.summaryEvaluate}}</span>
                </el-form-item>
              </div>
              <div class="el-risk-flex ">
              <div class="el-risk-flex " style="height:90px">
                <div  class="riskAlign riskHold" style="width:26%">
                  部门负责人/日期:
                </div>
                <div class=" el-border-left" style="width:22.25%">
                  <el-form-item class="form-margin-top-bottom">
                    <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
                    <el-input v-if="dataForm.isBmld" v-model="dataForm.riskMeasure.requireLeader" class="risk-form-padding"></el-input>
                    <span v-else>{{dataForm.riskMeasure.requireLeader}}</span>
                  </el-form-item>
                  <el-form-item class="form-margin-top-bottom">
                    <el-date-picker
                      v-if="dataForm.isBmld"
                      class="risk-form-padding"
                      v-model="dataForm.contractSignDate"
                      v-model="dataForm.riskMeasure.requireLeadDate"
                      type="date"
                      placeholder="选择日期">
                    </el-date-picker>
                    <span v-else>{{dataForm.riskMeasure.requireLeadDate}}</span>
                  </el-form-item>
                </div>
                <div class=" el-border-left" style="width:22.25%">
                  <el-form-item class="form-margin-top-bottom">
                    <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
                    <el-input v-if="dataForm.isBmld" v-model="dataForm.riskMeasure.designLeader" class="risk-form-padding"></el-input>
                    <span v-else>{{dataForm.riskMeasure.designLeader}}</span>
                  </el-form-item>
                  <el-form-item class="form-margin-top-bottom">
                    <el-date-picker
                      v-if="dataForm.isBmld"
                      class="risk-form-padding"
                      v-model="dataForm.contractSignDate"
                      v-model="dataForm.riskMeasure.designLeadDate"
                      type="date"
                      placeholder="选择日期">
                    </el-date-picker>
                    <span v-else>{{dataForm.riskMeasure.designLeadDate}}</span>
                  </el-form-item>
                </div>
                <div class=" el-border-left" style="width:22.25%">
                  <el-form-item class="form-margin-top-bottom">
                    <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
                    <el-input v-if="dataForm.isBmld" v-model="dataForm.riskMeasure.executeLeader" class="risk-form-padding"></el-input>
                    <span v-else>{{dataForm.riskMeasure.executeLeader}}</span>
                  </el-form-item>
                  <el-form-item class="form-margin-top-bottom">
                    <el-date-picker
                      v-if="dataForm.isBmld"
                      class="risk-form-padding"
                      v-model="dataForm.contractSignDate"
                      v-model="dataForm.riskMeasure.executeLeadDate"
                      type="date"
                      placeholder="选择日期">
                    </el-date-picker>
                    <span v-else>{{dataForm.riskMeasure.executeLeadDate}}</span>
                  </el-form-item>
                </div>
                <div class=" el-border-left" style="width:22.25%">
                  <el-form-item class="form-margin-top-bottom">
                    <el-input v-model="dataForm.name" class="risk-form-padding"></el-input>
                    <el-input v-if="dataForm.isBmld" v-model="dataForm.riskMeasure.summaryLeader" class="risk-form-padding"></el-input>
                    <span v-else>{{dataForm.riskMeasure.summaryLeader}}</span>
                  </el-form-item>
                  <el-form-item class="form-margin-top-bottom">
                    <el-date-picker
                      v-if="dataForm.isBmld"
                      class="risk-form-padding"
                      v-model="dataForm.contractSignDate"
                      v-model="dataForm.riskMeasure.summaryLeadDate"
                      type="date"
                      placeholder="选择日期">
                    </el-date-picker>
                    <span v-else>{{dataForm.riskMeasure.summaryLeadDate}}</span>
                  </el-form-item>
                </div>
              </div>
@@ -241,23 +301,71 @@
          </div>
        </div>
      </div>
  <!--    <div class="el-flex risk-sc" style="height: 60px">
        <el-form-item class="marginTopAndMarginBottom" style="width: 100%">
          <config-uploader :lineHeight="true" busi-type="risk_trace_item" model-name="dataForm" :dataForm="dataForm"
                           v-model="dataForm.files"/>
        </el-form-item>
      </div>-->
    </el-form>
    <template v-slot:footer>
      <el-button v-if="dataForm.disabled" type="primary" @click="print()">打印</el-button>
    </template>
  </zt-dialog>
</template>
<script>
  import qs from "qs";
  import Cookies from "js-cookie";
  export default {
    data() {
      return {
        dataForm: {
          disabled:'false',
          id: '',
          sort: '',
          riskName: '',
          riskDesc: '',
          riskLevel: '',
          dataList:[],
          contractSignDate:'',
          riskMeasure:{
            requireRiskTrackers:'',
            requireRiskDate:'',
            designRiskTrackers:'',
            designRiskDate:'',
            executeRiskTrackers:'',
            executeRiskDate:'',
            summaryRiskTrackers:'',
            summaryRiskDate:'',
            requireMeasure:'',
            designMeasure:'',
            executeMeasure:'',
            summaryMeasure:'',
            requireRecorder:'',
            requireRecordDate:'',
            designRecorder:'',
            designRecordDate:'',
            executeRecorder:'',
            executeRecordDate:'',
            summaryRecorder:'',
            summaryRecordDate:'',
            requireEvaluate:'',
            designEvaluate:'',
            executeEvaluate:'',
            summaryEvaluate:'',
            requireLeader:'',
            requireLeadDate:'',
            designLeader:'',
            designLeadDate:'',
            executeLeader:'',
            executeLeadDate:'',
            summaryLeader:'',
            summaryLeadDate:''
          },
          project: {
            softwareIdentity: '',
            softwareName: ''
          },
          riskList:[],
          itemList:[],
          isCsry:'',
          isBmld:'',
        }
      }
    },
@@ -273,6 +381,7 @@
        }
        // this.dataForm.disabled
        this.getInfo()
        this.getMyProjectRole()
        },
      // 获取信息
      async getInfo() {
@@ -280,14 +389,29 @@
          riskId: this.dataForm.id,
          projectId: this.dataForm.projectId
        }
        let res = await this.$http.get(`/riskTraceRecord/RiskTraceItem/`,{params:params})
        let res = await this.$http.get(`/riskTraceRecord/RiskTraceItem/getDto`,{params:params})
        this.dataForm = {
          ...this.dataForm,
          ...res.data
        }
      },
      async getMyProjectRole() {
        let res = await this.$http.get(`/project/Project/myProjectRole/${this.dataForm.projectId}`)
        console.log(res.data,"getMyProjectRole")
        this.dataForm.isCsry = res.data.csry
        this.dataForm.isBmld = res.data.bmld
      },
      async print() {
        var params = qs.stringify({
          token: Cookies.get('token'),
          id: this.dataForm.id
        })
        let apiURL = `/riskTraceRecord/RiskTraceItem/exportRiskRecord`
        window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}`
      },
      // 表单提交
      async formSubmit() {
        console.log(this.dataForm,"formSubmit")
        let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/riskTraceRecord/RiskTraceItem/', this.dataForm)
        if (res.success) {
          await this.$tip.success()
@@ -329,4 +453,7 @@
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.risk-sc > .el-form-item > .el-form-item__content {
  width: 100%;
}
</style>