From f491d30b0a69148bd0991b3d5b1c4cf9f8216949 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期五, 12 一月 2024 09:52:39 +0800
Subject: [PATCH] 修改

---
 web/src/views/modules/riskTraceRecord/RiskTraceItem-AddOrUpdate.vue |  373 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 355 insertions(+), 18 deletions(-)

diff --git a/web/src/views/modules/riskTraceRecord/RiskTraceItem-AddOrUpdate.vue b/web/src/views/modules/riskTraceRecord/RiskTraceItem-AddOrUpdate.vue
index e4f9eb3..2313022 100644
--- a/web/src/views/modules/riskTraceRecord/RiskTraceItem-AddOrUpdate.vue
+++ b/web/src/views/modules/riskTraceRecord/RiskTraceItem-AddOrUpdate.vue
@@ -1,32 +1,325 @@
 <template>
   <zt-dialog ref="dialog"  @confirm="formSubmit">
-    <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px">
-      <zt-form-item label="鎺掑簭" prop="sort" rules="required">
-                        <el-input v-model="dataForm.sort"></el-input>
-                </zt-form-item>
-      <zt-form-item label="椋庨櫓鍚嶇О" prop="riskName" rules="required">
-                        <el-input v-model="dataForm.riskName"></el-input>
-                </zt-form-item>
-      <zt-form-item label="椋庨櫓鎻忚堪" prop="riskDesc" rules="required">
-                        <el-input v-model="dataForm.riskDesc"></el-input>
-                </zt-form-item>
-      <zt-form-item label="椋庨櫓绛夌骇" prop="riskLevel" rules="required">
-                        <el-input v-model="dataForm.riskLevel"></el-input>
-                </zt-form-item>
+    <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.riskList" border>
+          <el-table-column width="60px" label="椋庨櫓鍚嶇О" prop="riskName"></el-table-column>
+          <el-table-column label="椋庨櫓">
+            <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="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="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.riskMeasure.requireRiskTrackers" class="risk-form-padding"></el-input>
+              </el-form-item>
+              <el-form-item class="form-margin-top-bottom">
+                <el-date-picker
+                  class="risk-form-padding"
+                  v-model="dataForm.riskMeasure.requireRiskDate"
+                  type="date"
+                  placeholder="閫夋嫨鏃ユ湡">
+                </el-date-picker>
+              </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.riskMeasure.designRiskTrackers" class="risk-form-padding"></el-input>
+              </el-form-item>
+              <el-form-item class="form-margin-top-bottom">
+                <el-date-picker
+                  class="risk-form-padding"
+                  v-model="dataForm.riskMeasure.designRiskDate"
+                  type="date"
+                  placeholder="閫夋嫨鏃ユ湡">
+                </el-date-picker>
+              </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.riskMeasure.executeRiskTrackers" class="risk-form-padding"></el-input>
+              </el-form-item>
+              <el-form-item class="form-margin-top-bottom">
+                <el-date-picker
+                  class="risk-form-padding"
+                  v-model="dataForm.riskMeasure.executeRiskDate"
+                  type="date"
+                  placeholder="閫夋嫨鏃ユ湡">
+                </el-date-picker>
+              </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.riskMeasure.summaryRiskTrackers" class="risk-form-padding"></el-input>
+              </el-form-item>
+              <el-form-item class="form-margin-top-bottom">
+                <el-date-picker
+                  class="risk-form-padding"
+                  v-model="dataForm.riskMeasure.summaryRiskDate"
+                  type="date"
+                  placeholder="閫夋嫨鏃ユ湡">
+                </el-date-picker>
+              </el-form-item>
+            </div>
+          </div>
+          <div class="el-risk-flex el-border-bottom " >
+            <div class="riskAlign riskHold" style="width: 10%">
+              椋庨櫓鎺柦鎺у埗
+            </div>
+            <div class="el-border-left" style="width: 90%">
+              <div class="el-risk-flex el-border-bottom ">
+                <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.riskMeasure.requireMeasure" class="risk-form-padding"></el-input>
+                </el-form-item>
+                <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%">
+                  <el-input v-model="dataForm.riskMeasure.designMeasure" class="risk-form-padding"></el-input>
+                </el-form-item>
+                <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%">
+                  <el-input v-model="dataForm.riskMeasure.executeMeasure" class="risk-form-padding"></el-input>
+                </el-form-item>
+                <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%">
+                  <el-input v-model="dataForm.riskMeasure.summaryMeasure" class="risk-form-padding"></el-input>
+                </el-form-item>
+              </div>
+              <div class="el-risk-flex el-border-bottom ">
+                <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.riskMeasure.requireRecorder" class="risk-form-padding"></el-input>
+                  </el-form-item>
+                  <el-form-item class="form-margin-top-bottom">
+                    <el-date-picker
+                      class="risk-form-padding"
+                      v-model="dataForm.riskMeasure.requireRecordDate"
+                      type="date"
+                      placeholder="閫夋嫨鏃ユ湡">
+                    </el-date-picker>
+                  </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.riskMeasure.designRecorder" class="risk-form-padding"></el-input>
+                  </el-form-item>
+                  <el-form-item class="form-margin-top-bottom">
+                    <el-date-picker
+                      class="risk-form-padding"
+                      v-model="dataForm.riskMeasure.designRecordDate"
+                      type="date"
+                      placeholder="閫夋嫨鏃ユ湡">
+                    </el-date-picker>
+                  </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.riskMeasure.executeRecorder" class="risk-form-padding"></el-input>
+                  </el-form-item>
+                  <el-form-item class="form-margin-top-bottom">
+                    <el-date-picker
+                      class="risk-form-padding"
+                      v-model="dataForm.riskMeasure.executeRecordDate"
+                      type="date"
+                      placeholder="閫夋嫨鏃ユ湡">
+                    </el-date-picker>
+                  </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.riskMeasure.summaryRecorder" class="risk-form-padding"></el-input>
+                  </el-form-item>
+                  <el-form-item class="form-margin-top-bottom">
+                    <el-date-picker
+                      class="risk-form-padding"
+                      v-model="dataForm.riskMeasure.summaryRecordDate"
+                      type="date"
+                      placeholder="閫夋嫨鏃ユ湡">
+                    </el-date-picker>
+                  </el-form-item>
+                </div>
+              </div>
+              <div class="el-risk-flex el-border-bottom ">
+                <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.riskMeasure.requireEvaluate" class="risk-form-padding"></el-input>
+                </el-form-item>
+                <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%">
+                  <el-input v-model="dataForm.riskMeasure.designEvaluate" class="risk-form-padding"></el-input>
+                </el-form-item>
+                <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%">
+                  <el-input v-model="dataForm.riskMeasure.executeEvaluate" class="risk-form-padding"></el-input>
+                </el-form-item>
+                <el-form-item class="form-margin-top-bottom el-border-left" style="width:22.25%">
+                  <el-input v-model="dataForm.riskMeasure.summaryEvaluate" class="risk-form-padding"></el-input>
+                </el-form-item>
+              </div>
+              <div class="el-risk-flex ">
+                <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.riskMeasure.requireLeader" class="risk-form-padding"></el-input>
+                  </el-form-item>
+                  <el-form-item class="form-margin-top-bottom">
+                    <el-date-picker
+                      class="risk-form-padding"
+                      v-model="dataForm.riskMeasure.requireLeadDate"
+                      type="date"
+                      placeholder="閫夋嫨鏃ユ湡">
+                    </el-date-picker>
+                  </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.riskMeasure.designLeader" class="risk-form-padding"></el-input>
+                  </el-form-item>
+                  <el-form-item class="form-margin-top-bottom">
+                    <el-date-picker
+                      class="risk-form-padding"
+                      v-model="dataForm.riskMeasure.designLeadDate"
+                      type="date"
+                      placeholder="閫夋嫨鏃ユ湡">
+                    </el-date-picker>
+                  </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.riskMeasure.executeLeader" class="risk-form-padding"></el-input>
+                  </el-form-item>
+                  <el-form-item class="form-margin-top-bottom">
+                    <el-date-picker
+                      class="risk-form-padding"
+                      v-model="dataForm.riskMeasure.executeLeadDate"
+                      type="date"
+                      placeholder="閫夋嫨鏃ユ湡">
+                    </el-date-picker>
+                  </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.riskMeasure.summaryLeader" class="risk-form-padding"></el-input>
+                  </el-form-item>
+                  <el-form-item class="form-margin-top-bottom">
+                    <el-date-picker
+                      class="risk-form-padding"
+                      v-model="dataForm.riskMeasure.summaryLeadDate"
+                      type="date"
+                      placeholder="閫夋嫨鏃ユ湡">
+                    </el-date-picker>
+                  </el-form-item>
+                </div>
+              </div>
+            </div>
+          </div>
+        <div class="el-risk-flex">
+          <div class="riskAlign riskHold" style="width: 10%">
+            澶囨敞
+          </div>
+          <div class="el-border-left" style="width:90%">
+            <div style="padding: 3px">
+              <el-form-item>
+               椋庨櫓绛夌骇鍒嗕负锛氫弗閲嶃�佷竴鑸�佽交寰�傞闄╁彂鐢熸鐜囦负锛氶珮銆佷腑銆佷綆銆傞闄╁彂鐢熸鐜囦负楂樻椂搴旈噰鍙栨帾鏂斤紝闄嶄綆椋庨櫓鍙戠敓姒傜巼銆傞闄╁彂鐢熸椂搴旈噰鍙栬ˉ鏁戞帾鏂姐��
+              </el-form-item>
+            </div>
+          </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: ''
+          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:[]
         }
       }
     },
@@ -49,14 +342,23 @@
           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 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()
@@ -67,3 +369,38 @@
     }
   }
 </script>
+<style>
+.el-risk-flex {
+  display: flex;
+  align-items: center;
+  justify-content: space-around;
+}
+.direction{
+  flex-direction:column;
+}
+
+/*.riskWidth{
+  width: 755px;
+}*/
+
+.riskAlign{
+  text-align: center;
+}
+.riskHold{
+  font-weight: 600;
+}
+.el-border-top-bottom{
+  border-top:1px solid rgba(0,0,0,.2);
+  border-bottom: 1px solid rgba(0,0,0,.2);
+}
+.risk-form-padding{
+  padding: 3px;
+}
+ .form-margin-top-bottom {
+  margin-top: 0 !important;
+  margin-bottom: 0 !important;
+}
+.risk-sc > .el-form-item > .el-form-item__content {
+  width: 100%;
+}
+</style>

--
Gitblit v1.9.1