wente
2023-12-29 e2cef6c358e57c2bc63e67a05c88c52585bb96db
web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue
@@ -4,7 +4,7 @@
             label-width="120px" class="testCheckFormAuto">
      <div>
        <el-form-item label-width="60px" label="编号:" style="width:100%;margin-bottom: -5px">
          <span>{{dataForm.testCheckOrder.code || '编号自动生成'}}</span>
          <span>{{ dataForm.checkOrder.code || '编号自动生成' }}</span>
        </el-form-item>
      </div>
      <div style="border: 1px solid rgba(0,0,0,.2);width: 99%">
@@ -16,20 +16,23 @@
            <el-input v-model="dataForm.project.softwareName" placeholder="项目名称"></el-input>
          </el-form-item>
          <el-form-item class="marginTopAndMarginBottom3" label="检查人" style="width: 49%">
            <el-input :disabled="stepMarker!=='csjcd_first'" v-model="dataForm.testCheckOrder.examiner" placeholder="检查人"></el-input>
            <el-input v-if="stepMarker=='csjcd_first'" v-model="dataForm.checkOrder.examiner"
                      placeholder="检查人"></el-input>
            <span v-else>{{ dataForm.checkOrder.examiner }}</span>
          </el-form-item>
          <el-form-item class="marginTopAndMarginBottom3" label="检查时间" style="width: 49%">
            <el-date-picker
              :disabled="stepMarker!=='csjcd_first'"
              v-model="dataForm.testCheckOrder.examDate"
              v-if="stepMarker=='csjcd_first'"
              v-model="dataForm.checkOrder.examDate"
              type="date"
              placeholder="请选择检查时间">
            </el-date-picker>
            <span v-else>{{ dataForm.checkOrder.examDate }}</span>
          </el-form-item>
        </div>
        <div style="border-bottom: 1px solid rgba(0,0,0,.2);">
          <div style="padding-left:5px;padding-right:5px;">
            <div style="padding: 5px">{{subtitle}}</div>
            <div style="padding: 5px">检查项目:{{ subtitle }}</div>
            <div class="table-container">
              <el-table ref="tableCirculatOrderList" class="el-software el-margin-top-bot" border
                        :data="dataForm.checkOrderList"
@@ -40,18 +43,20 @@
                  </template>
                </el-table-column>
                <el-table-column prop="checkContent" min-width="180" label="主要检查内容">
<!--                  <template v-slot="{ row }">-->
<!--                    <el-input v-model="row.checkContent" placeholder="主要检查内容"></el-input>-->
<!--                  </template>-->
                  <!--                  <template v-slot="{ row }">-->
                  <!--                    <el-input v-model="row.checkContent" placeholder="主要检查内容"></el-input>-->
                  <!--                  </template>-->
                </el-table-column>
                <el-table-column prop="checkResult" align="center" width="180" label="检查结果">
                <el-table-column prop="checkResult" align="center" width="200" label="检查结果">
                  <template v-slot="{ row }">
                    <zt-dict v-model="row.checkResult" dict="tristate1" :radio="true"></zt-dict>
                    <zt-dict :disabled="stepMarker!=='csjcd_first'" v-model="row.checkResult" :dict="getDict"
                             :radio="true"></zt-dict>
                  </template>
                </el-table-column>
                <el-table-column prop="remark" label="备注" width="100" align="center">
                  <template v-slot="{ row }">
                    <el-input v-model="row.remark" placeholder="备注"></el-input>
                    <el-input v-if="stepMarker=='csjcd_first'" v-model="row.remark" placeholder="备注"></el-input>
                    <span v-else>{{ row.remark }}</span>
                  </template>
                </el-table-column>
                <!--                <el-table-column fixed="right" prop="files" label="上传附件" width="300" align="center">
@@ -75,8 +80,9 @@
          </div>
          <div class="el-border-left acceptDate" style="height: 80px;width: 80%;">
            <el-form-item style="width: 100%;padding-left:20px;margin:0;">
              <el-input type="textarea"
                        :rows="3" v-model="dataForm.testCheckOrder.problemDescription" placeholder="问题描述..."></el-input>
              <el-input v-if="stepMarker=='csjcd_first'" type="textarea"
                        :rows="3" v-model="dataForm.checkOrder.problemDescription" placeholder="问题描述..."></el-input>
              <span v-else>{{ dataForm.checkOrder.problemDescription }}</span>
            </el-form-item>
          </div>
        </div>
@@ -86,8 +92,9 @@
          </div>
          <div class="el-border-left acceptDate" style="height: 80px;width: 80%;">
            <el-form-item style="width: 100%;padding-left:20px;margin:0;">
              <el-input type="textarea"
                        :rows="3" v-model="dataForm.testCheckOrder.problemProcess" placeholder="问题处理..."></el-input>
              <el-input v-if="stepMarker=='csjcd_wtcl'" type="textarea"
                        :rows="3" v-model="dataForm.checkOrder.problemProcess" placeholder="问题处理..."></el-input>
              <span v-else>{{ dataForm.checkOrder.problemProcess }}</span>
            </el-form-item>
          </div>
        </div>
@@ -97,7 +104,7 @@
          </div>
          <div class="el-border-left-right acceptDate1" style="width: 40%;height: 40px;">
            <el-form-item style="width: 100%;padding-left:20px;margin:0;">
              <span>{{dataForm.testCheckOrder.processor}}</span>
              <span>{{ dataForm.checkOrder.processor }}</span>
            </el-form-item>
          </div>
          <div style="width: 84px;text-align: center;font-weight: 600">
@@ -105,7 +112,7 @@
          </div>
          <div class="el-border-left acceptDate1" style="width: 40%;height: 40px;">
            <el-form-item label-width="150px" style="width: 100%;padding-left:20px;margin-bottom:0">
              <span>{{dataForm.testCheckOrder.verifier}}</span>
              <span>{{ dataForm.checkOrder.verifier }}</span>
            </el-form-item>
          </div>
        </div>
@@ -118,13 +125,20 @@
</template>
<script>
  import qs from "qs";
  import Cookies from "js-cookie";
  export default {
    data() {
      return {
        pageCode: '',
        stepMarker: '',
        configDetailRow: null,
        subtitle: '',
        pageName: {plan: '软件测试计划', explain: '软件测试说明', record: '软件测试记录', report: '软件测试报告'},
        pageName: {
          plan: '软件测试计划', explain: '软件测试说明', record: '软件测试记录', report: '软件测试报告',
          contract: '合同评审阶段', require: '测试需求分析与策划阶段', execute: '测试设计与实现、执行阶段', summary: '测试总结阶段'
        },
        dataForm: {
          id: '',
          projectId: '',
@@ -132,7 +146,7 @@
            softwareIdentity: '',
            softwareName: '',
          },
          testCheckOrder: {
          checkOrder: {
            code: '',
            examiner: '',
            examDate: '',
@@ -145,11 +159,23 @@
        }
      }
    },
    computed: {
      getDict() {
        if (this.pageCode && (this.pageCode === 'plan' || this.pageCode === 'explain' || this.pageCode === 'record' || this.pageCode === 'report')) {
          return 'tristate1'
        } else {
          return 'tristate2'
        }
      }
    },
    methods: {
      init(id, row) {
        this.configDetailRow = row
        if (row.checkId) {
          this.dataForm.id = row.checkId
          console.log('配置项入库审核进来的 TestCheckOrder-AddOrUpdate.vue init row.checkId')
          if (row.checkId != -1) {
            this.dataForm.id = row.checkId
          }
        } else if (id) {
          this.dataForm.id = id
        } else {
@@ -161,7 +187,6 @@
        if (row.projectId) {
          this.dataForm.projectId = row.projectId
        }
        console.log(id, row, this.subtitle, '软件测试计划检查单')
        if (this.configDetailRow) {
          if (!row.stepMarker) {
            this.stepMarker = 'csjcd_first'
@@ -188,15 +213,26 @@
        }
        console.log(this.pageCode, "getInfo pageCode")
        let res = await this.$http.get(`/testCheckOrder/TestCheckOrder/getDto`, {params: params})
        this.pageCode = res.data.checkOrder.pageCode
        this.dataForm = {
          ...this.dataForm,
          ...res.data
        }
        console.log(this.dataForm, 'this.dataForm this.dataForm')
      },
      async print() {
        var params = qs.stringify({
          token: Cookies.get('token'),
          id: this.dataForm.id,
          pageCode: this.pageCode
        })
        let apiURL = `/testCheckOrder/TestCheckOrder/exportCheckOrder`
        window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}`
      },
      // 表单提交
      async formSubmit(submitType) {
        let isFlow = false
        if (submitType == 'tj') {
          let isFlow = false
          for (let item of this.dataForm.checkOrderList) {
            if (!item.checkResult) {
              this.$alert("有未填写的数据")
@@ -209,7 +245,10 @@
            submitType == ''
          }
        }
        if (submitType == 'tj' || submitType == 'bl' && isFlow) {
        if (submitType == 'bl') {
          isFlow = true
        }
        if (submitType == 'tj' && isFlow || submitType == 'bl' && isFlow) {
          let flowInfo = {
            flowCode: 'csjcd',
            stepIdMark: this.stepMarker,
@@ -217,12 +256,13 @@
          }
          this.dataForm.flowInfoDto = flowInfo;
        }
        console.log(this.dataForm, "this.dataForm formSubmit(submitType)")
        let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/testCheckOrder/TestCheckOrder/', this.dataForm)
        if (res.success) {
          await this.$tip.success()
          this.$refs.dialog.close()
          this.$emit('recall', res.data, this.configDetailRow)
          this.$emit('refreshDataList')
        }
      }
    }