jinlin
2024-01-31 9025b9cf7ec8610003d445a31d93e35e7bd73c2e
web/src/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate.vue
@@ -43,44 +43,49 @@
                  </el-table-column>
                  <el-table-column prop="infoName" min-width="180" label="技术资料名称">
                    <template v-slot="{ row }">
                      <el-input v-model="row.name" placeholder="技术资料名称"></el-input>
                      <el-input :disabled="stepMarker!=='wplz_first'" v-model="row.name" placeholder="技术资料名称"></el-input>
                    </template>
                  </el-table-column>
                  <el-table-column prop="identify" align="center" width="150" label="标识">
                    <template v-slot="{ row }">
                      <el-input v-model="row.version" placeholder="标识"></el-input>
                      <el-input :disabled="stepMarker!=='wplz_first'" v-model="row.version" placeholder="标识"></el-input>
                    </template>
                  </el-table-column>
                  <el-table-column prop="version" align="center" width="120" label="版本">
                    <template v-slot="{ row }">
                      <el-input v-model="row.identify" placeholder="版本"></el-input>
                      <el-input :disabled="stepMarker!=='wplz_first'" v-model="row.identify" placeholder="版本"></el-input>
                    </template>
                  </el-table-column>
                  <el-table-column prop="secretClass" label="密级" width="100" align="center">
                    <template v-slot="{ row }">
                      <!--                    <el-input v-model="row.secretClass" placeholder="密级"></el-input>-->
                      <zt-dict v-model="row.secretClass" dict="secret_class"></zt-dict>
                      <zt-dict :disabled="stepMarker!=='wplz_first'" v-model="row.secretClass" dict="secret_class"></zt-dict>
                    </template>
                  </el-table-column>
                  <el-table-column prop="medium" label="介质" width="100" align="center">
                    <template v-slot="{ row }">
                      <el-input v-model="row.medium" placeholder="介质"></el-input>
                      <el-input :disabled="stepMarker!=='wplz_first'" v-model="row.medium" placeholder="介质"></el-input>
                    </template>
                  </el-table-column>
                  <el-table-column prop="amount" label="数量" width="80" align="center">
                    <template v-slot="{ row }">
                      <el-input v-model="row.amount" placeholder="数量"></el-input>
                      <el-input :disabled="stepMarker!=='wplz_first'" v-model="row.amount" placeholder="数量"></el-input>
                    </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  :disabled="stepMarker!=='wplz_first'" v-model="row.remark" placeholder="备注"></el-input>
                    </template>
                  </el-table-column>
                  <el-table-column fixed="right" prop="files" label="上传附件" width="300" align="center">
                  <el-table-column  fixed="right" prop="files" label="上传附件" width="300" align="center">
                    <template v-slot="{ row }">
                      <table-uploader busi-type="circulat_order" model-name="row" :dataForm="row"
                                      v-model="row.files"/>
                    </template>
                  </el-table-column>
                  <el-table-column v-if="stepMarker=='wplz_first'" fixed="right" label="操作" align="center">
                    <template slot-scope="scope">
                      <zt-table-button @click="deleteRow(scope.$index,scope.row.id)">删除</zt-table-button>
                    </template>
                  </el-table-column>
                </el-table>
@@ -98,7 +103,8 @@
            <div style="width: calc(100% - 120px);">
              <div class="el-border-left">
                <el-form-item label="物品是否需要返还" label-width="150px" style="width:100%;padding-left:20px;margin-bottom:0">
                  <zt-dict :disabled="stepMarker!=='wplz_first'" v-model="dataForm.circulatOrder.itemRequire" :radio="true"
                  <zt-dict :disabled="stepMarker!=='wplz_first'" v-model="dataForm.circulatOrder.itemRequire"
                           :radio="true"
                           dict="is_or_not"></zt-dict>
                </el-form-item>
                <el-form-item label="物品的其他要求:" label-width="150px" style="width:100%;padding-left:20px;margin-bottom:0">
@@ -129,10 +135,12 @@
            </div>
            <div class="el-border-left " style="width: 35%;height: 80px;">
              <el-form-item label="是否完成病毒查杀" label-width="150px" style="padding-left:20px;margin-bottom:0">
                <zt-dict :disabled="stepMarker!=='wplz_first'" v-model="dataForm.circulatOrder.acceptSituation" :radio="true" dict="is_or_not"></zt-dict>
                <zt-dict :disabled="stepMarker!=='wplz_wpjs'" v-model="dataForm.circulatOrder.acceptSituation"
                         :radio="true" dict="is_or_not"></zt-dict>
              </el-form-item>
              <el-form-item label="病毒库版本:" label-width="150px" style="width:100%;padding-left:20px;margin-bottom:0">
                <el-input :disabled="stepMarker!=='wplz_first'" v-model="dataForm.circulatOrder.virusLibraryVersion"></el-input>
                <el-input :disabled="stepMarker!=='wplz_wpjs'"
                          v-model="dataForm.circulatOrder.virusLibraryVersion"></el-input>
              </el-form-item>
            </div>
          </div>
@@ -158,7 +166,8 @@
            </div>
            <div class="el-border-left " style="width: 35%;height: 40px;">
              <el-form-item label="是否满足测试要求" label-width="150px" style="padding-left:20px;margin-bottom:0">
                <zt-dict :disabled="stepMarker!=='wplz_jcjs'" v-model="dataForm.circulatOrder.detectAcceptSituation" :radio="true" dict="is_or_not"></zt-dict>
                <zt-dict :disabled="stepMarker!=='wplz_jcjs'" v-model="dataForm.circulatOrder.detectAcceptSituation"
                         :radio="true" dict="is_or_not"></zt-dict>
              </el-form-item>
            </div>
          </div>
@@ -185,7 +194,8 @@
            </div>
            <div class="el-border-left " style="width: 35%;height: 40px;">
              <el-form-item label="是否满足测试要求" label-width="150px" style="padding-left:20px;margin-bottom:0">
                <zt-dict :disabled="stepMarker!=='wplz_xzjc'" v-model="dataForm.circulatOrder.detectSituation" :radio="true" dict="is_or_not"></zt-dict>
                <zt-dict :disabled="stepMarker!=='wplz_xzjc'" v-model="dataForm.circulatOrder.detectSituation"
                         :radio="true" dict="is_or_not"></zt-dict>
              </el-form-item>
            </div>
          </div>
@@ -211,7 +221,8 @@
            </div>
            <div class="el-border-left " style="width: 35%;height: 40px;">
              <el-form-item label="是否已入样品库" label-width="150px" style="padding-left:20px;margin-bottom:0">
                <zt-dict :disabled="stepMarker!=='wplz_wprk'" v-model="dataForm.circulatOrder.depositSituation" :radio="true" dict="is_or_not"></zt-dict>
                <zt-dict :disabled="stepMarker!=='wplz_wprk'" v-model="dataForm.circulatOrder.depositSituation"
                         :radio="true" dict="is_or_not"></zt-dict>
              </el-form-item>
            </div>
          </div>
@@ -237,7 +248,8 @@
            </div>
            <div class="el-border-left " style="width: 35%;height: 40px;">
              <el-form-item label="是否完成样品发放" label-width="150px" style="padding-left:20px;margin-bottom:0">
                <zt-dict :disabled="stepMarker!=='wplz_wpff'"v-model="dataForm.circulatOrder.issueSituation" :radio="true" dict="is_or_not"></zt-dict>
                <zt-dict :disabled="stepMarker!=='wplz_wpff'" v-model="dataForm.circulatOrder.issueSituation"
                         :radio="true" dict="is_or_not"></zt-dict>
              </el-form-item>
            </div>
          </div>
@@ -262,7 +274,6 @@
</template>
<script>
  import qs from "qs";
  import Cookies from "js-cookie";
@@ -282,9 +293,9 @@
            itemOther: '',
            acceptSituation: '',
            acceptDate: '',
            detectAcceptor:'',
            detectAcceptDate:'',
            detectAcceptSituation:'',
            detectAcceptor: '',
            detectAcceptDate: '',
            detectAcceptSituation: '',
            calibratDetector: '',
            detectDate: '',
            detectSituation: '',
@@ -295,8 +306,8 @@
            issueDate: '',
            issueSituation: '',
            remark: '',
            virusLibraryVersion:'',
            itemAcceptor:''
            virusLibraryVersion: '',
            itemAcceptor: ''
          },
          project: {
            softwareIdentity: '',
@@ -313,9 +324,9 @@
    components: {
      AddOrUpdate
    },
    computed:{
      getRoleName(){
        console.log(this.$store.state.user.roleName,'this.$store.state.user.roleName')
    computed: {
      getRoleName() {
        console.log(this.$store.state.user.roleName, 'this.$store.state.user.roleName')
        return this.$store.state.user.roleName || ''
      },
    },
@@ -324,22 +335,21 @@
        return index += 1
      },
      init(id, row) {
        console.log(id,row,'流转单的')
        console.log(id, row, '流转单的')
        if (id) {
          this.dataForm.id = id
        } else {
          this.dataForm.id = row.id
        }
        if(row.projectId){
          this.dataForm.projectId =row.projectId
        if (row.projectId) {
          this.dataForm.projectId = row.projectId
        }
        this.getInfo2()
        // this.dataForm.disabled
        this.getInfo()
        if (!this.dataForm.disabled) {
          if (!row.stepMarker) {
            this.stepMarker = 'wplz_first'
            this.title = '物品接收'
            this.title = '流转申请'
          } else {
            this.title = row.stepName
            this.stepMarker = row.stepMarker
@@ -354,8 +364,16 @@
          tableBody.scrollTop = tableBody.scrollHeight;
        })
      },
      async deleteRow(index, id) {
        if (await this.$tip.confirm(this.$t('prompt.info', {'handle': this.$t('delete')}))) {
          if (id != null) {
            let res = await this.$http.delete('/itemCirculatOrder/ItemCirculatOrderTechnical/', {data: [id]})
          }
          this.dataForm.technicalList.splice(index, 1)
        }
      },
      // 获取信息
      async getInfo() {
      async getInfo2() {
        let params = {
          circulatOrderid: this.dataForm.id,
          projectId: this.dataForm.projectId
@@ -365,32 +383,58 @@
          ...this.dataForm,
          ...res.data
        }
        if(this.dataForm.project === null){
          this.dataForm.project={}
        if (this.dataForm.project === null) {
          this.dataForm.project = {}
        }
        if(this.dataForm.circulatOrder === null){
          this.dataForm.circulatOrder={}
        if (this.dataForm.circulatOrder === null) {
          this.dataForm.circulatOrder = {}
        }
        if(this.dataForm.testAgencyInfo === null){
          this.dataForm.testAgencyInfo={}
        if (this.dataForm.testAgencyInfo === null) {
          this.dataForm.testAgencyInfo = {}
        }
        if(this.dataForm.flowInfoDto === null){
          this.dataForm.flowInfoDto={}
        if (this.dataForm.flowInfoDto === null) {
          this.dataForm.flowInfoDto = {}
        }
        console.log(this.dataForm, "getInfo this.dataForm")
      },
      async print(){
      async print() {
        var params = qs.stringify({
          token: Cookies.get('token'),
          id:this.dataForm.id
          id: this.dataForm.id
        })
        let apiURL = `/itemCirculatOrder/ItemCirculatOrder/exportCirculatOrder/`
        window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}`
      },
      // 表单提交
      async formSubmit(submitType) {
        let isFiles = true;
        let flag = true;
        console.log(this.dataForm, "this.dataForm11111")
        if (submitType == 'tj' || submitType == 'bl') {
        this.dataForm.technicalList.forEach(item => {
          if (parseInt(item.secretClass) > localStorage.getItem('userSecretClass')) {
            this.$alert("当前项目设置的密级高于当前用户的密级,请重新设置")
            flag =false
          }
        })
        if (!flag){
          return
        }
        if (submitType === 'tj' || submitType === 'bl') {
          this.dataForm.technicalList.forEach(item => {
            item.files.groups.forEach(groups => {
              groups.fields.forEach(files => {
                if (files.files.length === 0) {
                  this.$alert("当前存在未上传附件的技术资料,请重新上传")
                  isFiles = false
                  return isFiles
                }
              })
            })
          })
          if (!isFiles){
            return
          }
          let flowInfo = {
            flowCode: 'wplz',
            stepIdMark: this.stepMarker,
@@ -399,13 +443,16 @@
          this.dataForm.flowInfoDto = flowInfo;
        }
        let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/itemCirculatOrder/ItemCirculatOrder/', this.dataForm)
        if(this.stepMarker==='wplz_wprk'){
/*          alert(this.dataForm.projectId)*/
          this.$nextTick(()=>{
            this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: this.dataForm.projectId, libraryType: '1'})
          })
        }
        if (res.success) {
          if (this.stepMarker === 'wplz_wprk' && submitType === 'bl') {
            this.$nextTick(() => {
              this.$refs.addOrUpdate.$refs.dialog.init(null, {
                id: res.data,
                projectId: this.dataForm.projectId,
                libraryType: '1'
              })
            })
          }
          /*      if (submitType == 'tj') {
                      console.log(res, 'bbbb')
                      let res2 = await this.$http.get('/wf/startFlow', submitForm)