jinlin
2024-02-23 1772fc5e211f9e9e0ab4cdc6c29b436aac178c2a
web/src/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue
@@ -16,19 +16,19 @@
            <el-input v-model="dataForm.project.softwareName" placeholder="请输入项目名称"></el-input>
          </el-form-item>
          <el-form-item label="申请人" style="width: 49%">
            <el-input :disabled="stepMarker!=='pzxrk_first'" v-model="dataForm.configItemChange.applicant"
            <el-input :disabled="stepMarker!=='pzxbg_first'" v-model="dataForm.configItemChange.applicant"
                      placeholder="请输入申请人"></el-input>
          </el-form-item>
          <el-form-item label="申请日期" style="width: 49%">
            <el-date-picker
              :disabled="stepMarker!=='pzxrk_first'"
              :disabled="stepMarker!=='pzxbg_first'"
              v-model="dataForm.configItemChange.applyDate"
              type="date"
              placeholder="请选择申请日期">
            </el-date-picker>
          </el-form-item>
          <el-form-item class="marginTopAndMarginBottom2" label="库类型" style="width: 99%">
            <zt-dict v-model="dataForm.configItemChange.libraryType" :radio="true" dict="library_type"></zt-dict>
            <zt-dict :disabled="stepMarker!=='pzxbg_first'" v-model="dataForm.configItemChange.libraryType" :radio="true" dict="library_type"></zt-dict>
          </el-form-item>
        </div>
        <div class="el-configChangeDialog el-border-bottom">
@@ -38,7 +38,7 @@
          <div class="el-border-left" style="width: calc(100% - 120px)">
            <div class="table-container">
              <el-table ref="tableConfigItemList" class="el-software el-margin-top-bot"
                        style="width: 99%;margin-left: 5px" border :data="dataForm.configItemList"
                        style="width: 99%;margin-left: 5px" border :data="dataForm.configChangeList"
                        stripe>
                <el-table-column prop="no" align="center" width="60" label="序号">
                  <template slot-scope="scope">
@@ -51,7 +51,7 @@
                    <span v-else>{{row.itemName}}</span>
                  </template>
                </el-table-column>
                <el-table-column prop="itemDentify" align="center" min-width="290" label="配置项标识">
                <el-table-column prop="itemIdentify" align="center" min-width="290" label="配置项标识">
                  <template v-slot="{ row }">
                    <el-input  v-if="showAddAndEdit" v-model="row.itemIdentify" placeholder="配置项标识"></el-input>
                    <span v-else>{{row.itemIdentify}}</span>
@@ -93,7 +93,7 @@
                  </template>
                </el-table-column>
              </el-table>
              <div v-if="showAddAndEdit" class="icon-container" @click="handleCommand">
              <div v-if="showAddAndEdit && !dataForm.disabled"  class="icon-container" @click="handleCommand">
                <!-- 放置固定的图标 -->
                 <i class="el-icon-plus"></i>
              </div>
@@ -106,7 +106,8 @@
          </div>
          <div class="el-border-left acceptDate" style="width: 90%;">
            <el-form-item style="width: 100%;padding-left:20px;margin:0;">
              <el-input v-model="dataForm.configItemChange.problemProcess" placeholder="变更原因..."></el-input>
              <el-input v-if="stepMarker=='pzxbg_first'" v-model="dataForm.configItemChange.changeReason" placeholder="变更原因..."></el-input>
              <span v-else>{{dataForm.configItemChange.changeReason}}</span>
            </el-form-item>
          </div>
        </div>
@@ -116,7 +117,7 @@
          </div>
          <div class="el-border-left acceptDate" style="width: 90%;">
            <el-form-item style="width: 100%;padding-left:20px;margin:0;">
              <el-input v-model="dataForm.configItemChange.problemProcess" placeholder="变更影响分析..."></el-input>
              <el-input :disabled="stepMarker!=='pzxbg_first'" v-model="dataForm.configItemChange.changeAnalysis" placeholder="变更影响分析..."></el-input>
            </el-form-item>
          </div>
        </div>
@@ -126,15 +127,15 @@
          </div>
          <div style="width: calc(100% - 120px)" class="el-border-left">
            <el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px">
              <el-input v-if="stepMarker=='pzxrk_cmcz'" type="textarea" :rows="2" placeholder="请输入内容"
                        v-model="dataForm.configItemChange.projectCmOperations"></el-input>
              <span v-else>{{dataForm.configItemChange.projectCmOperations}}</span>
              <el-input v-if="stepMarker=='pzxbg_first'" type="textarea" :rows="2" placeholder="请输入内容"
                        v-model="dataForm.configItemChange.changeContent"></el-input>
              <span v-else>{{dataForm.configItemChange.changeContent}}</span>
            </el-form-item>
            <el-form-item label-width="80%" label="变更实施人:" style="width: 65%">
              <span>{{dataForm.configItemChange.operator}}</span>
              <span>{{dataForm.configItemChange.implementer}}</span>
            </el-form-item>
            <el-form-item label="日期:" style="width: 20%">
              <span>{{dataForm.configItemChange.operateDate}}</span>
              <span>{{dataForm.configItemChange.changeDate}}</span>
            </el-form-item>
          </div>
        </div>
@@ -144,7 +145,7 @@
          </div>
          <div style="width: calc(100% - 120px)" class="el-border-left">
            <el-form-item class="el-wt-form-item-margin" label-width="20px" style="width: 85%">
              <zt-dict :disabled="stepMarker!=='pzxrk_bmsh'" v-model="dataForm.configItemChange.approvalOpinions"
              <zt-dict :disabled="stepMarker!=='pzxbg_bmsh'" v-model="dataForm.configItemChange.approvalOpinions"
                       dict="is_pass" :radio="true"
                       clearable></zt-dict>
            </el-form-item>
@@ -162,15 +163,15 @@
          </div>
          <div style="width: calc(100% - 120px)" class="el-border-left">
            <el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px">
              <el-input v-if="stepMarker=='pzxrk_cmcz'" type="textarea" :rows="2" placeholder="请输入内容"
                        v-model="dataForm.configItemChange.projectCmOperations"></el-input>
              <span v-else>{{dataForm.configItemChange.projectCmOperations}}</span>
              <el-input v-if="stepMarker=='pzxbg_cmcz'" type="textarea" :rows="2" placeholder="请输入内容"
                        v-model="dataForm.configItemChange.outboundCmOperations"></el-input>
              <span v-else>{{dataForm.configItemChange.outboundCmOperations}}</span>
            </el-form-item>
            <el-form-item label-width="80%" label="操作人:" style="width: 65%">
              <span>{{dataForm.configItemChange.operator}}</span>
              <span>{{dataForm.configItemChange.outboundOperator}}</span>
            </el-form-item>
            <el-form-item label="日期:" style="width: 20%">
              <span>{{dataForm.configItemChange.operateDate}}</span>
              <span>{{dataForm.configItemChange.outboundOperateDate}}</span>
            </el-form-item>
          </div>
        </div>
@@ -186,21 +187,21 @@
              <el-table-column prop="examineItem" min-width="300" label="检查项"></el-table-column>
              <el-table-column label="检查结果" width="250" align="center">
                <template slot-scope="scope">
                  <zt-dict :disabled="stepMarker!=='pzxrk_qash'" v-model="scope.row.examineResult" placeholder="检查结果"
                  <zt-dict :disabled="stepMarker!=='pzxbg_qash'" v-model="scope.row.examineResult" placeholder="检查结果"
                           dict="tristate2" :radio="true"
                           clearable></zt-dict>
                </template>
              </el-table-column>
              <el-table-column align="center" width="120" label="不适用说明">
                <template v-slot="{ row }">
                  <el-input v-if="stepMarker=='pzxrk_qash'" v-model="row.notApplyExplan" placeholder="不适用说明"></el-input>
                  <el-input v-if="stepMarker=='pzxbg_qash'" v-model="row.notApplyExplan" placeholder="不适用说明"></el-input>
                  <span v-else>{{row.notApplyExplan}}</span>
                </template>
              </el-table-column>
            </el-table>
            <div class="el-border-top">
              <el-form-item label="审核结果" style="width: 99%">
                <zt-dict :disabled="stepMarker!=='pzxrk_qash'" v-model="dataForm.configItemChange.qaAuditResults"
                <zt-dict :disabled="stepMarker!=='pzxbg_qash'" v-model="dataForm.configItemChange.qaAuditResults"
                         dict="is_pass" :radio="true"
                         clearable></zt-dict>
              </el-form-item>
@@ -225,21 +226,21 @@
              <el-table-column prop="examineItem" min-width="300" label="检查项"></el-table-column>
              <el-table-column label="检查结果" width="250" align="center">
                <template slot-scope="scope">
                  <zt-dict :disabled="stepMarker!=='pzxrk_cmsh'" v-model="scope.row.examineResult" placeholder="检查结果"
                  <zt-dict :disabled="stepMarker!=='pzxbg_cmsh'" v-model="scope.row.examineResult" placeholder="检查结果"
                           dict="tristate2" :radio="true"
                           clearable></zt-dict>
                </template>
              </el-table-column>
              <el-table-column prop="notApplyExplan" align="center" width="120" label="不适用说明">
                <template v-slot="{ row }">
                  <el-input v-if="stepMarker=='pzxrk_cmsh'" v-model="row.notApplyExplan" placeholder="不适用说明"></el-input>
                  <el-input v-if="stepMarker=='pzxbg_cmsh'" v-model="row.notApplyExplan" placeholder="不适用说明"></el-input>
                  <span v-else>{{row.notApplyExplan}}</span>
                </template>
              </el-table-column>
            </el-table>
            <div class="el-border-top">
              <el-form-item label="审核结果" style="width: 99%">
                <zt-dict :disabled="stepMarker!=='pzxrk_cmsh'" v-model="dataForm.configItemChange.cmAuditResults"
                <zt-dict :disabled="stepMarker!=='pzxbg_cmsh'" v-model="dataForm.configItemChange.cmAuditResults"
                         placeholder="审核结果" dict="is_pass" :radio="true"
                         clearable></zt-dict>
              </el-form-item>
@@ -259,15 +260,15 @@
          </div>
          <div style="width: calc(100% - 120px)" class="el-border-left">
            <el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px">
              <el-input v-if="stepMarker=='pzxrk_cmcz'" type="textarea" :rows="2" placeholder="请输入内容"
                        v-model="dataForm.configItemChange.projectCmOperations"></el-input>
              <span v-else>{{dataForm.configItemChange.projectCmOperations}}</span>
              <el-input v-if="stepMarker=='pzxbg_cmrk'" type="textarea" :rows="2" placeholder="请输入内容"
                        v-model="dataForm.configItemChange.warehouseCmOperations"></el-input>
              <span v-else>{{dataForm.configItemChange.warehouseCmOperations}}</span>
            </el-form-item>
            <el-form-item label-width="80%" label="操作人:" style="width: 65%">
              <span>{{dataForm.configItemChange.operator}}</span>
              <span>{{dataForm.configItemChange.warehouseOperator}}</span>
            </el-form-item>
            <el-form-item label="日期:" style="width: 20%">
              <span>{{dataForm.configItemChange.operateDate}}</span>
              <span>{{dataForm.configItemChange.warehouseOperateDate}}</span>
            </el-form-item>
          </div>
        </div>
@@ -284,12 +285,19 @@
        </div>
      </div>
      <add-or-update-check ref="addOrUpdate" @recall="setCheckId"/>
      <ConfigItemList ref="configItemList" @getChangeItemList="getChangeItemList"></ConfigItemList>
    </el-form>
    <template v-slot:footer>
      <el-button v-if="dataForm.disabled" type="primary" @click="print()">打印</el-button>
    </template>
  </zt-dialog>
</template>
<script>
  import AddOrUpdateCheck from '../testCheckOrder/TestCheckOrder-AddOrUpdate'
  import ConfigItemList from './configItemList.vue'
  import qs from "qs";
  import Cookies from "js-cookie";
  export default {
    data() {
@@ -297,6 +305,7 @@
        disabled: true,
        stepMarker: '',
        title: '查看',
        ids:'',
        showColumn: false,
        showAddAndEdit:false,
        menuOptions: [
@@ -310,25 +319,32 @@
        dataForm: {
          id: '',
          configItemChange: {
            id: "",
            code: "",
            applicant: "",
            applyDate: "",
            libraryType: "",
            qaAuditResults: "",
            qaAuditor: "",
            qaAuditDate: "",
            problemProcess:'',
            cmAuditResults: "",
            cmAuditor: "",
            cmAuditDate: "",
            approvalOpinions: "",
            approvalSign: "",
            approvalDate: "",
            projectCmOperations: "",
            operator: "",
            operateDate: "",
            remark: "",
            id: '',
            code: '',
            applicant: '',
            applyDate: '',
            libraryType: '',
            qaAuditResults:'',
            qaAuditor: '',
            qaAuditDate:'',
            changeReason:'',
            cmAuditResults: '',
            cmAuditor:'',
            cmAuditDate: '',
            approvalOpinions: '',
            approvalSign: '',
            approvalDate: '',
            changeAnalysis: '',
            changeContent: '',
            implementer: '',
            changeDate: '',
            outboundCmOperations: '',
            outboundOperator: '',
            outboundOperateDate: '',
            warehouseCmOperations: '',
            warehouseOperator: '',
            warehouseOperateDate: '',
            remark: '',
          },
          project: {
            code: '',
@@ -343,16 +359,17 @@
    },
    created() {
      const roleName = localStorage.getItem('roleName')
      if (roleName && roleName.includes('QA')) {
      if (roleName && roleName.includes('审核人员')) {
        this.showColumn = true;
      }
      if (roleName && roleName.includes('测试员')) {
      if (roleName && roleName.includes('检测人员')) {
        this.showAddAndEdit = true;
      }
    },
    computed: {},
    components: {
      AddOrUpdateCheck
      AddOrUpdateCheck,
      ConfigItemList
    },
    methods: {
      indexFormat(index) {
@@ -371,8 +388,8 @@
        this.getInfo()
        if (!this.dataForm.disabled) {
          if (!row.stepMarker) {
            this.stepMarker = 'pzxrk_first'
            this.title = '入库申请'
            this.stepMarker = 'pzxbg_first'
            this.title = '变更申请'
          } else {
            this.title = row.stepName
            this.stepMarker = row.stepMarker
@@ -388,11 +405,23 @@
      //   })
      // },
      handleCommand() {
        this.dataForm.configItemList.push({})
        this.$nextTick(() => {
          const tableBody = this.$refs.tableConfigItemList.$el.querySelector('.el-table__body-wrapper')
          tableBody.scrollTop = tableBody.scrollHeight;
        this.$nextTick(()=>{
          console.log(this.dataForm.projectId,'this.dataForm.projectId')
          this.ids = this.dataForm.configChangeList.map(item=>item.selectId).join(',')
          this.$refs.configItemList.$refs.dialog.init(this.dataForm.projectId,{ids:this.ids,pageCode:this.pageCode})
        })
        // this.dataForm.configItemList.push({})
        // this.$nextTick(() => {
        //   const tableBody = this.$refs.tableConfigItemList.$el.querySelector('.el-table__body-wrapper')
        //   tableBody.scrollTop = tableBody.scrollHeight;
        // })
      },
      getChangeItemList(data){
        console.log(data.configChangeList,'getChangeItemList(data)')
        if(data.configChangeList){
          this.dataForm.configChangeList=this.dataForm.configChangeList.concat(data.configChangeList)
        }
        console.log(this.dataForm.configChangeList,ids,'this.dataForm.configChangeList')
      },
      openCheckOrderWin(row) {
        console.log(row, "openCheckOrderWin(row)")
@@ -411,10 +440,18 @@
        console.log(checkId, row, "setCheckId(checkId, row)")
        this.$set(row, 'checkId', checkId)
      },
      async print(){
        var params = qs.stringify({
          token: Cookies.get('token'),
          id:this.dataForm.id
        })
        let apiURL = `/configItemChange/ConfigItemChange/exportConfigChange`
        window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}`
      },
      // 获取信息
      async getInfo() {
        let params = {
          warehouseId: this.dataForm.id,
          changeId: this.dataForm.id,
          projectId: this.dataForm.projectId
        }
        let res = await this.$http.get(`/configItemChange/ConfigItemChange/getDto`, {params: params})
@@ -447,7 +484,7 @@
        }
        if (submitType == 'tj' || submitType == 'bl') {
          let flowInfo = {
            flowCode: 'pzxrk',
            flowCode: 'pzxbg',
            stepIdMark: this.stepMarker,
            submitType: submitType
          }