jiangping
2024-01-30 a9ca0823ab8f33ca85abebcf6ec4a8da235adb49
company/src/components/business/dispatchReview.vue
@@ -1,54 +1,57 @@
<template>
    <GlobalWindow
        :title="title"
        width="50%"
        width="100%"
        :visible.sync="visible"
        :confirm-working="isWorking"
    >
        <div class="box">
            <div class="box_label">保险方案:平安保险雇主责任险B版</div>
      <!--    驳回退回申请    -->
      <div class="form">
        <div class="form_item">
          <div class="form_item_label"><span>*</span>审核说明:</div>
          <div class="form_item_val">
            <el-input type="textarea" v-model="form.checkInfo" :rows="2" placeholder="请输入"></el-input>
          </div>
        </div>
      </div>
         <div class="box" v-for="(item, index) in duSolutionList" :key="index">
          <div   class="box_label">保险方案:{{item.solutionName}}</div>
            <el-table
                :data="tableData"
                v-if="item.duWorktypeList && item.duWorktypeList.length>0"
                :data="item.duWorktypeList"
                border
                style="width: 100%">
                <el-table-column
                    prop="date"
                    label="日期">
                </el-table-column>
                <el-table-column
                    prop="name"
                    label="姓名">
                </el-table-column>
                <el-table-column
                    prop="address"
                    label="地址">
                </el-table-column>
              <el-table-column label="序号" width="80px">
                <template slot-scope="scope">
                  <span>{{scope.$index + 1}}</span>
                </template>
              </el-table-column>
              <el-table-column
                  prop="workTypeName"
                  label="所属工种">
              </el-table-column>
              <el-table-column
                  prop="name"
                  label="操作视频">
                <template slot-scope="{row}">
                  <video loop controls width="150px" height="150px" :src="row.videoUrlFull"></video>
                </template>
              </el-table-column>
              <el-table-column
                  label="状态">
                <template slot-scope="{row}">
                  <span v-if="row.status === 0">待审核</span>
                  <span v-if="row.status === 1">审核通过</span>
                  <span v-if="row.status === 2">审核不通过</span>
                </template>
              </el-table-column>
            </el-table>
        </div>
        <!--    驳回退回申请    -->
        <el-dialog
            title="审核确认"
            :visible.sync="visible5"
            :show-close="false"
            :close-on-click-modal="false"
            width="30%"
            center>
            <div class="form">
                <div class="form_item">
                    <div class="form_item_label"><span>*</span>审核说明:</div>
                    <div class="form_item_val">
                        <el-input type="textarea" :rows="2" placeholder="请输入"></el-input>
                    </div>
                </div>
            </div>
            <span slot="footer" class="dialog-footer">
                <el-button @click="visible5 = false">取 消</el-button>
                <el-button type="primary" @click="visible5 = false">确 定</el-button>
            </span>
        </el-dialog>
      </div>
        <template v-slot:footer>
            <el-button type="primary" @click="visible5 = true">审核通过</el-button>
            <el-button @click="visible5 = true">审核退回</el-button>
            <el-button type="primary" @click="doSubmit(1)">审核通过</el-button>
            <el-button type="danger" @click="doSubmit(2)">审核退回</el-button>
            <el-button @click="visible=false">取消</el-button>
        </template>
    </GlobalWindow>
</template>
@@ -56,6 +59,7 @@
<script>
    import BaseOpera from '@/components/base/BaseOpera'
    import GlobalWindow from '@/components/common/GlobalWindow'
    import {checkWorktype} from "@/api/business/dispatchUnit";
    export default {
        name: 'dispatchReview',
        extends: BaseOpera,
@@ -64,9 +68,10 @@
            return {
                // 表单数据
                form: {
                    id: null,
                    editDate: ''
                  checkInfo:'',
                  duSolutionList:[]
                },
              duSolutionList:[],
                // 验证规则
                rules: {
                },
@@ -81,6 +86,44 @@
            })
        },
        methods: {
          open(title, target){
            this.title=title
            this.visible=true
            this.form ={}
            this.form = target;
            this.duSolutionList=[]
            var duSolutionList = this.form.duSolutionList;
            duSolutionList.forEach(item => {
                var worktyps = item.duWorktypeList;
                var flag = 0;
              var tempworktyps = new Array();
                worktyps.forEach(item1 => {
                   if(item1.status == null || item1.status == 0){
                     //如果是待审核工种
                     flag = 1;
                     tempworktyps.push(item1);
                   }
                  if(flag ==1){
                    this.duSolutionList.push({duWorktypeList:tempworktyps,solutionName:item.solutionName})
                  }
                })
            })
            console.log(this.form)
          },
          doSubmit(type){
            this.$dialog.messageConfirm('确认进行该操作吗?')
                .then(() => {
                  this.isWorking = true
                  checkWorktype({id:this.form.id,checkInfo:this.form.checkInfo,worktypeStatus:type})
                      .then(response => {
                        this.visible = false
                        this.$emit('success')
                      }).catch(err => {
                    this.$tip.apiFailed(err)
                  })
                })
          }
        }
    }
@@ -101,6 +144,7 @@
        display: flex;
        align-items: center;
        flex-direction: column;
      margin-bottom: 50px;
        .form_span {
            width: 100%;
            display: flex;
@@ -122,13 +166,13 @@
            width: 100%;
            display: flex;
            align-items: center;
            margin-bottom: 20px;
            margin-bottom: 50px;
            &:last-child {
                margin: 0 !important;
            }
            .form_item_label {
                flex-shrink: 0;
                width: 170px;
                //width: 170px;
                color: black;
                font-size: 14px;
                span {