wente
2023-11-27 d9a005427e6098c574f3f46c0247be34cd63ff30
web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue
@@ -1,30 +1,31 @@
<template>
  <zt-dialog ref="dialog" column="2" @confirm="formSubmit">
    <el-form ref="dataForm" style="padding-top: 0" :inline="true" :model="dataForm" label-width="120px" class="warehouseFormAuto">
    <el-form ref="dataForm" style="padding-top: 0" :inline="true" :disabled="dataForm.disabled" :model="dataForm" label-width="120px" class="warehouseFormAuto">
      <div >
        <el-form-item label-width="60px" label="编号:" style="width:100%;margin-bottom: -5px">
          <span>{{dataForm.code}}</span>
          <span>{{dataForm.configItemWarehouse.code}}</span>
        </el-form-item>
      </div>
      <div style="border: 1px solid rgba(0,0,0,.2);width: 99%">
        <div style="border-bottom: 1px solid rgba(0,0,0,.2);" class="warehouseContentWidth">
        <el-form-item class="marginTopAndMarginBottom" label="项目编号" style="width: 49%">
          <el-input v-model="dataForm.itemNumber" placeholder="请输入项目编号"></el-input>
          <el-input v-model="dataForm.project.code" placeholder="请输入项目编号"></el-input>
        </el-form-item>
        <el-form-item class="marginTopAndMarginBottom" label="项目名称" style="width: 49%">
          <el-input v-model="dataForm.name" placeholder="请输入编号名称"></el-input>
          <el-input v-model="dataForm.project.softwareName" placeholder="请输入项目名称"></el-input>
        </el-form-item>
        <el-form-item label="申请人" style="width: 49%">
          <el-input v-model="dataForm.applicant" placeholder="请输入编号名称"></el-input>
          <el-input v-model="dataForm.configItemWarehouse.applicant" placeholder="请输入申请人"></el-input>
        </el-form-item>
        <el-form-item label="申请日期" style="width: 49%">
          <el-input v-model="dataForm.date" placeholder="请输入编号名称"></el-input>
          <el-date-picker
            v-model="dataForm.configItemWarehouse.applyDate"
            type="date"
            placeholder="请选择申请日期">
          </el-date-picker>
        </el-form-item>
        <el-form-item class="marginTopAndMarginBottom2" label="库类型" style="width: 99%">
          <el-radio-group v-model="dataForm.type">
            <el-radio :label="0">受控库</el-radio>
            <el-radio :label="1">产品库</el-radio>
          </el-radio-group>
          <zt-dict v-model="dataForm.configItemWarehouse.libraryType" :radio="true" dict="library_type"></zt-dict>
        </el-form-item>
        </div>
        <div class="el-flexManageDialog el-border-bottom">
@@ -33,31 +34,31 @@
          </div>
          <div class="el-border-left" style="width: calc(100% - 120px)">
            <div class="table-container">
            <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px" border :data="dataForm.storageData"
            <el-table ref="tableConfigItemList" class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px" border :data="dataForm.configItemList"
                      stripe>
              <el-table-column prop="code" align="center" width="60" label="序号">
              <el-table-column prop="no" align="center" width="60" label="序号">
                <template slot-scope="scope">
                  <span v-html="indexFormat(scope.$index)"></span>
                </template>
              </el-table-column>
              <el-table-column prop="name" min-width="200" label="配置项名称">
              <el-table-column prop="itemName" min-width="200" label="配置项名称">
                <template v-slot="{ row }">
                  <el-input v-model="row.name" placeholder="配置项名称"></el-input>
                  <el-input v-model="row.itemName" placeholder="配置项名称"></el-input>
                </template>
              </el-table-column>
              <el-table-column prop="identification" align="center" width="220" label="配置项标识">
              <el-table-column prop="itemDentify" align="center" width="220" label="配置项标识">
                <template v-slot="{ row }">
                  <el-input v-model="row.identification" placeholder="配置项标识"></el-input>
                  <el-input v-model="row.itemDentify" placeholder="配置项标识"></el-input>
                </template>
              </el-table-column>
              <el-table-column prop="versions" align="center" width="120" label="版本">
              <el-table-column prop="version" align="center" width="120" label="版本">
                <template v-slot="{ row }">
                  <el-input v-model="row.versions" placeholder="版本"></el-input>
                  <el-input v-model="row.version" placeholder="版本"></el-input>
                </template>
              </el-table-column>
              <el-table-column prop="rollBackVersions" label="上溯版" width="120"  align="center">
              <el-table-column prop="retrospectVersion" label="上溯版" width="120"  align="center">
                <template v-slot="{ row }">
                  <el-input v-model="row.rollBackVersions" placeholder="上溯版"></el-input>
                  <el-input v-model="row.retrospectVersion" placeholder="上溯版"></el-input>
                </template>
              </el-table-column>
              <el-table-column prop="secretClass" label="密级" width="80"  align="center">
@@ -79,33 +80,28 @@
            项目QA审核
          </div>
          <div class="el-border-left" style="width: calc(100% - 120px)">
            <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px"  border :data="dataForm.examineData"
            <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px"  border :data="dataForm.qaAuditList"
                      stripe>
              <el-table-column prop="code" align="center" width="80" label="序号"></el-table-column>
              <el-table-column prop="checkItem" min-width="300" label="检查项"></el-table-column>
              <el-table-column prop="no" align="center" width="80" label="序号"></el-table-column>
              <el-table-column prop="examineItem" min-width="300" label="检查项"></el-table-column>
              <el-table-column label="检查结果" width="250" align="center">
                <template slot-scope="scope">
                  <el-radio-group v-model="scope.row.result">
                    <el-radio :label="0">是</el-radio>
                    <el-radio :label="1">否</el-radio>
                    <el-radio :label="2">不适用</el-radio>
                  </el-radio-group>
                  <zt-dict v-model="scope.row.examineResult" placeholder="检查结果" dict="tristate2" :radio="true"
                           clearable></zt-dict>
                </template>
              </el-table-column>
              <el-table-column prop="remark" align="center" width="120" label="不适用说明"></el-table-column>
              <el-table-column prop="notApplyExplan" align="center" width="120" label="不适用说明"></el-table-column>
            </el-table>
            <div class="el-border-top">
            <el-form-item label="审核结果" style="width: 99%">
              <el-radio-group v-model="dataForm.result">
                <el-radio :label="0">通过</el-radio>
                <el-radio :label="1">不通过</el-radio>
              </el-radio-group>
              <zt-dict v-model="dataForm.configItemWarehouse.qaAuditResults" dict="is_pass" :radio="true"
                       clearable></zt-dict>
            </el-form-item>
            <el-form-item label="审核人:" style="width: 48%">
              <span>{{dataForm.auditor}}</span>
              <span>{{dataForm.configItemWarehouse.qaAuditor}}</span>
            </el-form-item>
            <el-form-item label="审核日期:" style="width: 48%">
              <span>{{dataForm.auditDate}}</span>
              <span>{{dataForm.configItemWarehouse.qaAuditDate}}</span>
            </el-form-item>
            </div>
          </div>
@@ -115,36 +111,30 @@
            CM审核
          </div>
          <div class="el-border-left" style="width: calc(100% - 120px)">
            <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px"  border :data="dataForm.CMData"
            <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px"  border :data="dataForm.cmAuditList"
                      stripe>
              <el-table-column prop="code" align="center" width="80" label="序号"></el-table-column>
              <el-table-column prop="checkItem" min-width="300" label="检查项"></el-table-column>
              <el-table-column prop="no" align="center" width="80" label="序号"></el-table-column>
              <el-table-column prop="examineItem" min-width="300" label="检查项"></el-table-column>
              <el-table-column label="检查结果" width="250" align="center">
                <template slot-scope="scope">
                  <el-radio-group v-model="scope.row.result">
                    <el-radio :label="0">是</el-radio>
                    <el-radio :label="1">否</el-radio>
                    <el-radio :label="2">不适用</el-radio>
                  </el-radio-group>
                  <zt-dict v-model="scope.row.examineResult" placeholder="检查结果" dict="tristate2" :radio="true"
                           clearable></zt-dict>
                </template>
              </el-table-column>
              <el-table-column prop="remark" align="center" width="120" label="不适用说明"></el-table-column>
              <el-table-column prop="notApplyExplan" align="center" width="120" label="不适用说明"></el-table-column>
            </el-table>
            <div class="el-border-top">
              <el-form-item label="审核结果" style="width: 99%">
                <el-radio-group v-model="dataForm.CMResult">
                  <el-radio :label="0">通过</el-radio>
                  <el-radio :label="1">不通过</el-radio>
                </el-radio-group>
                <zt-dict v-model="dataForm.configItemWarehouse.cmAuditResults" placeholder="审核结果" dict="is_pass" :radio="true"
                         clearable></zt-dict>
              </el-form-item>
              <el-form-item label="审核人" style="width: 48%">
                <span>{{dataForm.CMAuditor}}</span>
              <el-form-item label="审核人:" style="width: 48%">
                <span>{{dataForm.configItemWarehouse.cmAuditor}}</span>
              </el-form-item>
              <el-form-item label="审核日期" style="width: 48%">
                <span>{{dataForm.CMAuditDate}}</span>
              <el-form-item label="审核日期:" style="width: 48%">
                <span>{{dataForm.configItemWarehouse.cmAuditDate}}</span>
              </el-form-item>
            </div>
          </div>
        </div>
        <div class="el-flexManageDialog el-border-bottom">
@@ -152,17 +142,15 @@
            批准意见
          </div>
          <div style="width: calc(100% - 120px)" class="el-border-left">
            <el-form-item class="el-wt-form-item-margin" label-width="120px" style="width: 85%">
              <el-radio-group v-model="dataForm.opinion">
                <el-radio :label="0">同意</el-radio>
                <el-radio :label="1">不同意</el-radio>
              </el-radio-group>
            <el-form-item class="el-wt-form-item-margin" label-width="20px" style="width: 85%">
              <zt-dict v-model="dataForm.configItemWarehouse.approvalOpinions" dict="is_pass" :radio="true"
                       clearable></zt-dict>
            </el-form-item>
            <el-form-item label-width="80%" label="签字:" style="width: 65%">
              <span>{{dataForm.signature}}</span>
              <span>{{dataForm.configItemWarehouse.approvalSign}}</span>
            </el-form-item>
            <el-form-item label="日期:" style="width: 20%">
              <span>{{dataForm.approvalOpinionDate}}</span>
              <span>{{dataForm.configItemWarehouse.approvalDate}}</span>
            </el-form-item>
          </div>
        </div>
@@ -172,13 +160,13 @@
          </div>
          <div style="width: calc(100% - 120px)" class="el-border-left">
            <el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px">
              <el-input  type="textarea" :rows="2" placeholder="请输入内容" v-model="dataForm.CMTextarea"></el-input>
              <el-input  type="textarea" :rows="2" placeholder="请输入内容" v-model="dataForm.configItemWarehouse.projectCmOperations"></el-input>
            </el-form-item>
            <el-form-item label-width="80%" label="操作人:" style="width: 65%">
              <span>{{dataForm.CMSignature}}</span>
              <span>{{dataForm.configItemWarehouse.operator}}</span>
            </el-form-item>
            <el-form-item label="日期:" style="width: 20%">
              <span>{{dataForm.CMDate}}</span>
              <span>{{dataForm.configItemWarehouse.operateDate}}</span>
            </el-form-item>
          </div>
        </div>
@@ -188,7 +176,7 @@
          </div>
          <div style="width: calc(100% - 120px)" class="el-border-left">
            <el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px">
              <el-input  type="textarea" :rows="2" placeholder="请输入内容" v-model="dataForm.textarea"></el-input>
              <el-input  type="textarea" :rows="2" placeholder="请输入内容" v-model="dataForm.configItemWarehouse.remark"></el-input>
            </el-form-item>
          </div>
        </div>
@@ -203,21 +191,33 @@
      return {
        dataForm: {
          id: '',
          projectId: '',
          code: '',
          projectCode: '',
          projectName: '',
          applicant: '',
          applyDate: '',
          libraryType: '',
          approvalOpinions: '',
          approvalSign: '',
          approvalDate: '',
          projectCmOperations: '',
          operator: '',
          operateDate: '',
          remark: '',
          year: ''
          configItemWarehouse:{
            id:"",
            code: "",
            applicant: "",
            applyDate: "",
            libraryType: "",
            qaAuditResults:"",
            qaAuditor:"",
            qaAuditDate:"",
            cmAuditResults:"",
            cmAuditor:"",
            cmAuditDate:"",
            approvalOpinions: "",
            approvalSign: "",
            approvalDate: "",
            projectCmOperations: "",
            operator: "",
            operateDate: "",
            remark: "",
          },
          project: {
            code: '',
            softwareName: '',
          },
          cmAuditList:[],
          configItemList:[],
          qaAuditList:[],
        }
      }
    },
@@ -225,20 +225,32 @@
      indexFormat(index){
        return index += 1
      },
      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')
      },
      addConfigItemWarehouseRow(){
        // this.dataForm.technicalList.push({})
        // this.$nextTick(()=>{
        //   const tableBody=this.$refs.tableCirculatOrderList.$el.querySelector('.el-table__body-wrapper')
        //   tableBody.scrollTop = tableBody.scrollHeight;
        // })
        this.dataForm.configItemList.push({})
        this.$nextTick(()=>{
          const tableBody=this.$refs.tableConfigItemList.$el.querySelector('.el-table__body-wrapper')
          tableBody.scrollTop = tableBody.scrollHeight;
        })
      },
      // 获取信息
      async getInfo() {
        let res = await this.$http.get(`/configItemWarehouse/ConfigItemWarehouse/${this.dataForm.id}`)
        let params = {
          warehouseId: this.dataForm.id,
          projectId: this.dataForm.projectId
        }
        let res = await this.$http.get(`/configItemWarehouse/ConfigItemWarehouse/getDto`,{params: params})
        this.dataForm = {
          ...this.dataForm,
          ...res.data
        }
        console.log(this.dataForm,"getInfo this.dataForm")
      },
      // 表单提交
      async formSubmit() {