jinlin
2023-12-20 1d29540c77a0b736e10a9be0c0834c1813c3303e
web/src/views/modules/baselineRelease/BaselineRelease-AddOrUpdate.vue
@@ -36,14 +36,15 @@
        </div>
        <div style="border-bottom: 1px solid rgba(0,0,0,.2);">
          <div style="width: 100%;">
              <div class="DHold" style="border-bottom: 1px solid rgba(0,0,0,.2);height: 40px;line-height: 40px">基线发布描述</div>
            <div class="DHold" style="border-bottom: 1px solid rgba(0,0,0,.2);height: 40px;line-height: 40px">基线发布描述
            </div>
              <div class="el-flexBaselineDialog el-border-bottom">
                <div class="DWidth DAlign DHold">
                  基线类型
                </div>
                <div class="el-border-left" style="width: calc(100% - 120px)">
                  <el-form-item style="padding-left:5%;margin-bottom:0">
                    <zt-dict  v-model="dataForm.baseline.baselineType" placeholder="基线类型" dict="baseline_type"
                  <zt-dict :disabled="stepMarker!=='jxfb_first'" v-model="dataForm.baseline.baselineType" placeholder="基线类型" dict="baseline_type"
                              :radio="true"></zt-dict>
                  </el-form-item>
                </div>
@@ -71,7 +72,7 @@
                </div>
                <div class="el-border-left acceptDate1" style="width: calc(100% - 120px)">
                  <el-form-item  style="width: 100%;margin-bottom:0">
                    <el-input v-model="dataForm.baseline.baselineVersion" placeholder="基线版本"></el-input>
                  <el-input :disabled="stepMarker!=='jxfb_first'" v-model="dataForm.baseline.baselineVersion" placeholder="基线版本"></el-input>
                  </el-form-item>
                </div>
              </div>
@@ -96,18 +97,19 @@
                </el-table-column>
                <el-table-column prop="itemName" min-width="180" label="配置项名称">
                </el-table-column>
                <el-table-column label="操作" width="120" align="center">
                <el-table-column v-if="stepMarker=='jxfb_bmsp'" label="操作" width="120" align="center">
                  <template v-slot="{ row }">
                    <zt-table-button size="small" v-show = "row.accessoryMap" type="primary"
                    <zt-table-button size="small" v-show="isPreview(row)" type="primary"
                                     @click="preview(row)">预览
                    </zt-table-button>
                    <zt-table-button size="small" v-show = "row.accessoryMap" type="primary"
                                     @click="downExcel(row)">下载
                    <zt-table-button size="small" v-show="isDownload(row)" type="primary"
                                     @click="download(row)">下载
                    </zt-table-button>
                  </template>
                </el-table-column>
              </el-table>
              <div :disabled="stepMarker!=='jxfb_first'" v-if="!dataForm.disabled"  class="icon-container" @click="handleCommand">
              <div :disabled="stepMarker!=='jxfb_first'" v-if="!dataForm.disabled" class="icon-container"
                   @click="handleCommand">
                <!-- 放置固定的图标 -->
                <i class="el-icon-plus"></i>
              </div>
@@ -139,7 +141,8 @@
            </div>
            <div style="width: calc(100% - 120px)" class="el-border-left">
              <el-form-item class="wt-form-item" label-width="20px" style="width: 100%;padding: 5px">
                <el-input type="textarea" :rows="2" :disabled="stepMarker!=='jxfb_bmsp'" v-model="dataForm.baseline.departOpinion"></el-input>
              <el-input type="textarea" :rows="2" :disabled="stepMarker!=='jxfb_bmsp'"
                        v-model="dataForm.baseline.departOpinion"></el-input>
              </el-form-item>
              <el-form-item label-width="275px" label="签字:" style="width: 45%">
                <span>{{dataForm.baseline.departSign}}</span>
@@ -152,7 +155,7 @@
      </div>
    </el-form>
    <ConfigItemList ref="configItemList" @getChangeItemList="getChangeItemList"></ConfigItemList>
    <Preview ref="view" :pageMarkerfun="SoftwareTestOrder"></Preview>
    <Preview ref="view" :pageMarkerfun="BaselineRelease"></Preview>
    <template v-slot:footer>
      <el-button v-if="dataForm.disabled" type="primary" @click="print()">打印</el-button>
    </template>
@@ -171,16 +174,17 @@
  export default {
    data() {
      return {
        BaselineRelease: 'BaselineRelease',
        ids:'',
        stepMarker: '',
        dataForm: {
          id: '',
          pageCode: '',
          projectId:'',
          remarkList:[],
          pageName: {
            demand: '需求基线', product:'产品基线'
          },
        pageCode: '',
        dataForm: {
          id: '',
          projectId: '',
          remarkList: [],
          baseline: {
            code: '',
            baselineType: '',
@@ -231,23 +235,51 @@
      indexFormat(index) {
        return index += 1
      },
      preview(row){
        this.$refs.view.openAccessoryFormatSingle(row)
      isPreview(row) {
        if (row.files!=null) {
          if (row.files.groups[0].fields[0].files[0]) {
            let fileName = row.files.groups[0].fields[0].files[0].name
            let suffixName = ''
            if (fileName != null) {
              let arr = fileName.split('.')
              suffixName = arr[arr.length - 1].toLowerCase()
            }
            if (suffixName == 'pdf' || suffixName == 'doc' || suffixName == 'docx' || suffixName == 'jpg' || suffixName == 'jpeg' || suffixName == 'png' || suffixName == 'xls' || suffixName == 'xlsx') {
              return true
            } else {
              return false
            }
          } else {
            return false
          }
        }
      },
      downExcel(row){
        let params = qs.stringify({
          'token': Cookies.get('token'),
          'projectId':row.projectId,
          'selectId':row.selectId,
        })
        let apiURL = ``
        window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}`
      isDownload(row) {
        if (row.files!=null) {
          if (row.files.groups[0].fields[0].files[0]) {
            return true
          } else {
            return false
          }
        }
      },
      preview(row) {
        this.$refs.view.openAccessoryFormatByForm(row)
      },
      download(row) {
        if (row.files!=null) {
          if (row.files.groups[0].fields[0].files[0]) {
            let url = row.files.groups[0].fields[0].files[0].url;
            window.location.href = `${url}`
          }
        }
      },
      handleCommand() {
        this.$nextTick(()=>{
          this.ids = this.dataForm.remarkList.map(item=>item.selectId).join(',')
          console.log(this.ids,'handleCommand ids')
          this.$refs.configItemList.$refs.dialog.init(this.dataForm.projectId,this.ids)
          console.log(this.pageCode, 'handleCommand this.pageCode')
          this.$refs.configItemList.$refs.dialog.init(this.dataForm.projectId,{ids:this.ids,pageCode:this.pageCode})
        })
      },
      // 获取信息
@@ -263,6 +295,7 @@
          ...this.dataForm,
          ...res.data
        }
        this.dataForm.baseline.baselineName = this.pageName[this.pageCode]
        console.log(this.dataForm, 'this.dataForm this.dataForm')
      },
      getChangeItemList(data){
@@ -278,7 +311,7 @@
          id: this.dataForm.id,
          pageCode: this.pageCode
        })
        let apiURL = `/baselineRelease/BaselineRelease/exportbaseline`
        let apiURL = `/baselineRelease/BaselineRelease/exportBaseline`
        window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}`
      },
      // 表单提交
@@ -307,9 +340,11 @@
  display: flex;
  align-items: center
}
.DWidth{
  width: 120px;
}
.baselineFormAuto .acceptDate > .el-form-item > .el-form-item__content {
  width: 100%;
}
@@ -344,9 +379,11 @@
.baselineFormAuto .el-radio {
  margin-right: 10px;
}
.wt-form-item .el-form-item__content{
  width: 100%;
}
.DHold{
  font-weight: 600;
}