licp
2024-04-16 c1e5dfb4c72a0ab2478d3b7295ab7deecd3f8c8c
src/components/view/b1-report-preparation.vue
@@ -99,25 +99,55 @@
            <el-button type="primary" @click="confirmClaim">确 定</el-button>
         </span>
      </el-dialog>
    <el-dialog title="报告审核" :visible.sync="issuedVisible" width="22cm" :modal-append-to-body="false" :fullscreen="fullscreen">
      <div class="full-screen">
    <el-dialog title="报告审核" :visible.sync="issuedVisible" width="400px" :modal-append-to-body="false" :fullscreen="fullscreen">
      <!-- <div class="full-screen">
        <i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen=true;" v-if="!fullscreen"></i>
        <img src="../../../static/img/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen=false;" >
      </div>
      <div class="btns">
      </div> -->
      <!-- <div class="btns">
        <el-button type="primary" size="small">通过</el-button>
        <el-button size="small">不通过</el-button>
      </div>
      </div> -->
      <span slot="footer" class="dialog-footer">
            <el-button @click="issuedReasonVisible=true">不通过</el-button>
            <el-button type="primary" @click="subIssued" :loading="loadingIssued">通 过</el-button>
         </span>
      </el-dialog>
    <el-dialog title="报告批准" :visible.sync="approveVisible" width="22cm" :modal-append-to-body="false" :fullscreen="fullscreen">
      <div class="full-screen">
    <el-dialog title="不通过原因" :visible.sync="issuedReasonVisible" width="400px" :modal-append-to-body="false">
      <div class="search_thing">
        <div class="search_label">不通过原因:</div>
        <div class="search_input"><el-input size="small" placeholder="请输入" clearable
            v-model="reason"></el-input></div>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="issuedReasonVisible=false">取消</el-button>
            <el-button type="primary" @click="handleIssuedReason" :loading="loadingIssuedReason">确定</el-button>
         </span>
      </el-dialog>
    <el-dialog title="报告批准" :visible.sync="approveVisible" width="400px" :modal-append-to-body="false" :fullscreen="fullscreen">
      <!-- <div class="full-screen">
        <i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen=true;" v-if="!fullscreen"></i>
        <img src="../../../static/img/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen=false;" >
      </div>
      <div class="btns">
      </div> -->
      <!-- <div class="btns">
        <el-button type="primary" size="small">批准</el-button>
        <el-button size="small">不批准</el-button>
      </div> -->
      <span slot="footer" class="dialog-footer">
            <el-button @click="approveReasonVisible=true">不批准</el-button>
            <el-button type="primary" @click="subApprove" :loading="loadingApprove">批 准</el-button>
         </span>
      </el-dialog>
    <el-dialog title="不批准原因" :visible.sync="approveReasonVisible" width="400px" :modal-append-to-body="false">
      <div class="search_thing">
        <div class="search_label">不批准原因:</div>
        <div class="search_input"><el-input size="small" placeholder="请输入" clearable
            v-model="reason"></el-input></div>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="approveReasonVisible=false">取消</el-button>
            <el-button type="primary" @click="handleApproveReason" :loading="loadingApproveReason">确定</el-button>
         </span>
      </el-dialog>
   </div>
</template>
@@ -146,15 +176,17 @@
          isIndex: true,
          showSelect: false,
          select: false,
          do: [{
            id: 'handleWeave',
            font: '在线编制',
            type: 'text',
            method: 'handleWeave',
            disabFun: (row, index) => {
              return row.isExamine != null
            }
          }, {
          do: [
          //   {
          //   id: 'handleWeave',
          //   font: '在线编制',
          //   type: 'text',
          //   method: 'handleWeave',
          //   disabFun: (row, index) => {
          //     return row.isExamine != null
          //   }
          // },
          {
            id: 'download',
            font: '下载',
            type: 'text',
@@ -179,6 +211,14 @@
            disabFun: (row, index) => {
              return row.isExamine != null
            }
          },{
            id: 'handleSubmit',
            font: '提交',
            type: 'text',
            method: 'handleSubmit',
            disabFun: (row, index) => {
              return row.isExamine != null
            }
          }, {
            id: 'handleIssued',
            font: '审核',
@@ -197,9 +237,9 @@
            }
          }],
          linkEvent: {
            code: {
              method: 'selectAllByOne'
            }
            // code: {
            //   method: 'selectAllByOne'
            // }
          },
          tagField: {
            isRatify: {
@@ -234,9 +274,17 @@
        statusList: [],
        claimVisible: false,
        issuedVisible: false,
        issuedReasonVisible:false,
        approveVisible: false,
        approveReasonVisible:false,
        fullscreen:false,
        value:``
        loadingApproveReason:false,
        loadingApprove:false,
        loadingIssuedReason:false,
        loadingIssued:false,
        value:``,
        reason:'',
        currentInfo:null,
      }
    },
    mounted() {
@@ -303,8 +351,9 @@
        let edit = false
        let up = false
        let res = false
        let issued = false
        let approve = false
        let sub = true
        let issued = true
        let approve = true
        for (var i = 0; i < power.length; i++) {
          if (power[i].menuMethod == 'upReportFile') {
            edit = true
@@ -322,18 +371,18 @@
        if (!issued) {
          this.componentData.do.splice(4, 1)
        }
        if (!res) {
        if (!sub) {
          this.componentData.do.splice(3, 1)
        }
        if (!up) {
        if (!res) {
          this.componentData.do.splice(2, 1)
        }
        if (!edit) {
          this.componentData.do.splice(0, 1)
        if (!up) {
          this.componentData.do.splice(1, 1)
        }
      },
      handleClose() {
        this.upLoad = false;
        // if (!edit) {
        //   this.componentData.do.splice(0, 1)
        // }
      },
      confirmClaim() {
        // console.log(this.$refs.Word.getValue())
@@ -359,11 +408,50 @@
            })
      },
      handleIssued(row){
        this.currentInfo = row;
        this.issuedVisible = true;
      },
      subIssued(){
        this.loadingIssued = true;
      },
      handleApprove(row){
        this.currentInfo = row;
        this.approveVisible = true;
      },
      subApprove(){
        this.loadingApprove = true;
      },
      handleSubmit(row){
        this.$confirm('是否提交当前报告?', "提交", {
                     confirmButtonText: "提交",
                     cancelButtonText: "取消",
                     type: "success"
                  }).then(() => {
                     this.$axios.post(this.delUrl, {
                        id: row.id
                     }).then(res => {
                        if (res.code === 201) {
                           return
                        }
                        this.$message.success('提交成功')
                        this.selectList()
                     }).catch(e => {
                        this.$message.error('提交失败')
                     })
                  }).catch(() => {})
      },
      handleIssuedReason(){
        if(!this.reason){
          return this.$message.error('请输入原因')
        }
        this.loadingIssuedReason = true;
      },
      handleApproveReason(){
        if(!this.reason){
          return this.$message.error('请输入原因')
        }
        this.loadingApproveReason = true
      }
    }
  }
</script>