<template> 
 | 
    <GlobalWindow 
 | 
        :title="title" 
 | 
        width="50%" 
 | 
        :visible.sync="visible" 
 | 
        :confirm-working="isWorking" 
 | 
        @confirm="confirm" 
 | 
    > 
 | 
        <!--    退回申请    --> 
 | 
        <el-form v-if="visible1==true" :model="form" ref="form1" :rules="rules1" style="width: 100%;"> 
 | 
          <el-form-item label="填写退回说明:" prop="backCheckInfo"> 
 | 
            <el-input type="textarea" v-model="form.backCheckInfo" placeholder="请输入" v-trim/> 
 | 
          </el-form-item> 
 | 
        </el-form> 
 | 
         <el-form v-if="visible2==true" :model="form" ref="form2" :rules="rules2" style="width: 100%;"> 
 | 
          <el-form-item label="填写关闭说明:" prop="dealCloseInfo"> 
 | 
            <el-input type="textarea" v-model="form.dealCloseInfo" placeholder="请输入" v-trim/> 
 | 
          </el-form-item> 
 | 
        </el-form> 
 | 
      <template v-slot:footer> 
 | 
        <el-button type="primary" @click="doSubmit">确 定</el-button> 
 | 
        <el-button @click="visible=false">取消</el-button> 
 | 
      </template> 
 | 
    </GlobalWindow> 
 | 
</template> 
 | 
  
 | 
<script> 
 | 
import BaseOpera from '@/components/base/BaseOpera' 
 | 
import GlobalWindow from '@/components/common/GlobalWindow' 
 | 
import { back, closeWtbForShop } from '@/api/business/insuranceApply' 
 | 
export default { 
 | 
  name: 'OperaWtbApplyCheckWindow', 
 | 
  extends: BaseOpera, 
 | 
  components: {   GlobalWindow }, 
 | 
  data () { 
 | 
    return { 
 | 
      // 表单数据 
 | 
      model: {}, 
 | 
      falg: 0, 
 | 
      rules1: { 
 | 
        backCheckInfo: [ 
 | 
          { required: true, message: '请完善信息' } 
 | 
        ] 
 | 
      }, 
 | 
      rules2: { 
 | 
        dealCloseInfo: [ 
 | 
          { required: true, message: '请完善信息' } 
 | 
        ] 
 | 
      }, 
 | 
      form: { 
 | 
        id: null, 
 | 
        backCheckInfo: '', 
 | 
        dealCloseInfo: '' 
 | 
      }, 
 | 
      visible1: false, 
 | 
      visible2: false 
 | 
    } 
 | 
  }, 
 | 
  created () { 
 | 
    this.config({ 
 | 
      api: '/business/insuranceApply', 
 | 
      'field.id': 'id' 
 | 
    }) 
 | 
  }, 
 | 
  methods: { 
 | 
    open (title, target, flag) { 
 | 
      this.visible = true 
 | 
      this.model = {} 
 | 
      this.form = { 
 | 
        id: null, 
 | 
        backBackInfo: '', 
 | 
        dealCloseInfo: '' 
 | 
      }, 
 | 
      this.model = target 
 | 
      this.title = title 
 | 
      this.flag = flag 
 | 
      this.visible1 = false 
 | 
      this.visible2 = false 
 | 
      if (flag == 1) { 
 | 
        this.visible1 = true 
 | 
      } 
 | 
      if (flag == 2) { 
 | 
        this.visible2 = true 
 | 
      } 
 | 
    }, 
 | 
    doSubmit () { 
 | 
      if (this.flag == 1) { 
 | 
        this.$refs.form1.validate((valid) => { 
 | 
          // debugger 
 | 
          if (!valid) { 
 | 
            return 
 | 
          } 
 | 
          this.backDo() 
 | 
        }) 
 | 
      } else if (this.flag == 2) { 
 | 
        this.$refs.form2.validate((valid) => { 
 | 
          // debugger 
 | 
          if (!valid) { 
 | 
            return 
 | 
          } 
 | 
          this.closeDo() 
 | 
        }) 
 | 
      } 
 | 
    }, 
 | 
    backDo () { 
 | 
      this.$dialog.messageConfirm('确认进行该操作吗?') 
 | 
        .then(() => { 
 | 
          this.isWorking = true 
 | 
          back({ id: this.model.id, checkInfo: this.form.backCheckInfo }) 
 | 
            .then(response => { 
 | 
              this.visible = false 
 | 
              this.$emit('success') 
 | 
            }).catch(err => { 
 | 
              this.$tip.apiFailed(err) 
 | 
            }) 
 | 
        }) 
 | 
    }, 
 | 
    closeDo () { 
 | 
      this.$dialog.messageConfirm('确认进行该操作吗?') 
 | 
        .then(() => { 
 | 
          this.isWorking = true 
 | 
          closeWtbForShop({ id: this.model.id, checkInfo: this.form.dealCloseInfo }) 
 | 
            .then(response => { 
 | 
              this.visible = false 
 | 
              this.$emit('success') 
 | 
            }).catch(err => { 
 | 
              this.$tip.apiFailed(err) 
 | 
            }) 
 | 
        }) 
 | 
    }, 
 | 
    successEvent () { 
 | 
  
 | 
    }, 
 | 
    handleSizeChange (val) { 
 | 
      console.log(`每页 ${val} 条`) 
 | 
    }, 
 | 
    handleCurrentChange (val) { 
 | 
      console.log(`当前页: ${val}`) 
 | 
    }, 
 | 
    handleClick (tab, event) { 
 | 
      console.log(tab, event) 
 | 
    }, 
 | 
    onSubmit () { 
 | 
  
 | 
    } 
 | 
  } 
 | 
} 
 | 
</script> 
 | 
<style> 
 | 
  
 | 
</style> 
 | 
<style lang="scss" scoped> 
 | 
    .form { 
 | 
        width: 100%; 
 | 
        display: flex; 
 | 
        align-items: center; 
 | 
        flex-direction: column; 
 | 
        .form_span { 
 | 
            width: 100%; 
 | 
            display: flex; 
 | 
            align-items: start; 
 | 
            flex-direction: column; 
 | 
            margin-bottom: 20px; 
 | 
            span { 
 | 
                font-size: 14px; 
 | 
                &:nth-child(1) { 
 | 
                    color: black; 
 | 
                    margin-bottom: 5px; 
 | 
                } 
 | 
                &:nth-child(2) { 
 | 
                    color: #8c939d; 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
        .form_item { 
 | 
            width: 100%; 
 | 
            display: flex; 
 | 
            align-items: center; 
 | 
            margin-bottom: 20px; 
 | 
            &:last-child { 
 | 
                margin: 0 !important; 
 | 
            } 
 | 
            .form_item_label { 
 | 
                flex-shrink: 0; 
 | 
                /*width: 170px;*/ 
 | 
                color: black; 
 | 
                font-size: 14px; 
 | 
                span { 
 | 
                    color: red; 
 | 
                    font-size: 14px; 
 | 
                } 
 | 
            } 
 | 
            .form_item_val { 
 | 
                flex: 1; 
 | 
                /*height: 40px;*/ 
 | 
                margin-left: 20px; 
 | 
                textarea { 
 | 
                    width: 100%; 
 | 
                    height: 70px; 
 | 
                    border: 1px solid #cbcbcb; 
 | 
                    padding: 10px; 
 | 
                    outline: none; 
 | 
                    box-sizing: border-box; 
 | 
                } 
 | 
                input { 
 | 
                    width: 100%; 
 | 
                    height: 40px; 
 | 
                    outline: none; 
 | 
                    border-radius: 5px; 
 | 
                    border: 1px solid #cbcbcb; 
 | 
                    padding: 0 20px; 
 | 
                    box-sizing: border-box; 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
    .desc { 
 | 
        width: 100%; 
 | 
        .desc_item { 
 | 
            width: 100%; 
 | 
            display: flex; 
 | 
            flex-direction: column; 
 | 
            .desc_item_label { 
 | 
                width: 100%; 
 | 
                display: flex; 
 | 
                align-items: center; 
 | 
                justify-content: space-between; 
 | 
                margin-bottom: 10px; 
 | 
                span { 
 | 
                    font-size: 14px; 
 | 
                    color: black; 
 | 
                    margin-right: 30px; 
 | 
                } 
 | 
            } 
 | 
            .desc_item_from { 
 | 
                width: 100%; 
 | 
                margin-bottom: 10px; 
 | 
                .desc_item_from_page { 
 | 
                    width: 100%; 
 | 
                    display: flex; 
 | 
                    align-items: center; 
 | 
                    justify-content: end; 
 | 
                    margin-top: 10px; 
 | 
                } 
 | 
            } 
 | 
            .desc_item_cate { 
 | 
                width: 100%; 
 | 
                margin-bottom: 10px; 
 | 
            } 
 | 
            .desc_item_search { 
 | 
                width: 100%; 
 | 
                margin-bottom: 20px; 
 | 
            } 
 | 
            .desc_item_review { 
 | 
                width: 100%; 
 | 
                .desc_item_review_label { 
 | 
                    font-size: 20px; 
 | 
                    color: black; 
 | 
                    font-weight: bold; 
 | 
                    margin-bottom: 15px; 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
</style> 
 |