jiangping
2025-05-28 ffa268a0585b4a1f7dac573c2c443bae97ac9a47
提交一把订单
已添加1个文件
已修改11个文件
416 ■■■■ 文件已修改
company/.env.development 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/.env.developmentCom 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/api/business/insurance.js 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/assets/style/style.scss 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OpearaCaseEntryWindow.vue 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaSolutionsBaseWindow.vue 92 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/setCompany.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/enterprise/onlineReporting.vue 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/caseEntry.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/insurance.vue 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/settleClaims.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/enterprise/settleClaimsCom.vue 231 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/.env.development
@@ -12,4 +12,4 @@
# VUE_APP_API = 'https://dmtest.ahapp.net/yyb_admin_api/'
# ä»»åº·
VUE_APP_API = 'http://192.168.0.129:10030/'
VUE_APP_API = 'http://192.168.0.131:10030/'
company/.env.developmentCom
@@ -9,6 +9,6 @@
# VUE_APP_API = 'https://dmtest.ahapp.net/yyb_web_api/'
VUE_APP_API = 'http://192.168.0.129:10031/'
VUE_APP_API = 'http://192.168.0.131:10031/'
# VUE_APP_API = 'https://www.yyb.red/yyb_web_api/'
company/src/api/business/insurance.js
@@ -41,6 +41,9 @@
}
// æ ¹æ®ID查询
export function getById (id) {
export function getById (id, type) {
  if (type && type === 1) {
    return request.get(`/business/insurance/${id}?type=${type}`)
  }
    return request.get(`/business/insurance/${id}`)
}
company/src/assets/style/style.scss
@@ -86,7 +86,7 @@
.apply-status21,.apply-status22,
.apply-status23,.apply-status2 , .apply-status3, .apply-status10,
.change-status0,.change-status1,.change-status9,
.settle-status0,.settle-status2,.settle-status3,
.settle-status0,.settle-status1,.settle-status2,.settle-status3,.settle-status4,.settle-status5,.settle-status9,.settle-status10,.settle-status11,.settle-status12,
.tax-status0,.change-status7,
.union-apply-status0,.union-apply-status1,.union-apply-status2,
.du-status0 {
@@ -96,12 +96,12 @@
.apply-status1 ,.apply-status24,.apply-status25, .apply-status4, .apply-status6,
.apply-status7, .apply-status9, .apply-status8, .apply-status11,
.change-status3,.change-status4,.change-status5,.change-status8,
.settle-status1,.change-status6,
.settle-status13,.change-status6,
.tax-status2,.union-apply-status4,
.du-status2 {
  color: #f95601 !important;
}
.settle-status6,.settle-status8,.settle-status14,
.change-status6 {
  color: #999 !important;
}
company/src/components/business/OpearaCaseEntryWindow.vue
@@ -182,20 +182,20 @@
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="报案时间" prop="happenTime">
                            <el-form-item label="报案时间" prop="reportDate">
                                <el-date-picker
                                    v-model="ruleForm.happenTime"
                                    v-model="ruleForm.extData.reportDate"
                                    type="date"
                                    placeholder="选择日期"
                                    format="yyyy-MM-dd"
                                    value-format="yyyy-MM-dd">
                                    format="yyyy-MM-dd HH:mm:ss"
                                    value-format="yyyy-MM-dd HH:mm:ss">
                                </el-date-picker>
                            </el-form-item>
                        </div>
                        <div class="box_item_list_row">
                            <el-form-item label="出险时间" prop="createDate">
                            <el-form-item label="出险时间" prop="happenTime">
                                <el-date-picker
                                    v-model="ruleForm.createDate"
                                    v-model="ruleForm.happenTime"
                                    type="datetime"
                                    placeholder="选择日期"
                                    format="yyyy-MM-dd hh:mm:ss"
@@ -227,8 +227,8 @@
                                    v-model="ruleForm.extData.logoffDate"
                                    type="date"
                                    placeholder="选择日期"
                                    format="yyyy å¹´ MM æœˆ dd æ—¥"
                                    value-format="yyyy-MM-dd">
                                    format="yyyy-MM-dd HH:mm:ss"
                                    value-format="yyyy-MM-dd HH:mm:ss">
                                </el-date-picker>
                            </el-form-item>
                        </div>
@@ -735,7 +735,7 @@
                        memberAddr: '',
                        bxName: '',
                        bxCode: '',
          reportDate:null,
                        bxDate: [],
                        bxStartdate: '',
                        bxEnddate: '',
@@ -854,7 +854,7 @@
                totalPrice: 0,
                list1: [],
                list2: [],
                list3: [],
      list3: []
            }
        },
        created () {
@@ -986,7 +986,7 @@
                this.$refs.ruleForm.validate((valid) => {
                    if (!valid) return
                    this.isWorking = true
                    let obj = JSON.parse(JSON.stringify(this.ruleForm))
        const obj = JSON.parse(JSON.stringify(this.ruleForm))
                    obj.accountList = [...this.list1, ...this.list2, ...this.list3]
                    createSys(obj)
                        .then(() => {
@@ -1007,7 +1007,7 @@
                })
            },
            changeFee() {
                let arr = [...this.list1, ...this.list2]
      const arr = [...this.list1, ...this.list2]
                let price = 0
                arr.forEach(item => {
                    if (item.fee) {
company/src/components/business/OperaSolutionsBaseWindow.vue
@@ -6,7 +6,10 @@
        :confirm-working="isWorking"
        @confirm="confirm"
    >
      <div>
        <el-form :model="form" ref="form" :rules="rules">
        <el-tabs type="border-card"    :before-leave="beforeTabClick"  v-model="form.saveType">
          <el-tab-pane label="方案基础信息" name="0">
            <el-form-item label="方案名称" prop="name">
                <el-input v-model="form.name" placeholder="请输入" v-trim/>
            </el-form-item>
@@ -23,8 +26,9 @@
            <el-form-item label="承保公司" prop="companyName">
                <el-input v-model="form.companyName" placeholder="请输入" v-trim/>
            </el-form-item>
            <el-form-item label="投保年龄" prop="minAge">
            <el-form-item label="投保年龄" required="true" >
                <div style="display: flex; align-items: center;">
                <el-form-item label="" prop="minAge" style="flex: 1;">
                    <el-select v-model="form.minAge" @change="changeMinAge" style="flex: 1;" placeholder="请选择">
                        <el-option
                            v-for="item in 80"
@@ -33,8 +37,10 @@
                            :value="item">
                        </el-option>
                    </el-select>
                    <span style="margin: 0 30px;">至</span>
                    <el-select v-model="form.maxAge" @change="changeMaxAge" style="flex: 1;" placeholder="请选择">
                </el-form-item>
                <span style="margin: 0 30px;padding-bottom: 20px;">至</span>
                <el-form-item label="" prop="maxAge" style="flex: 1;">
                <el-select v-model="form.maxAge" @change="changeMaxAge"  placeholder="请选择">
                        <el-option
                            v-for="item in 80"
                            :key="item"
@@ -42,6 +48,7 @@
                            :value="item">
                        </el-option>
                    </el-select>
                </el-form-item>
                </div>
            </el-form-item>
            <el-form-item label="生效时间" prop="validTypeNum">
@@ -101,7 +108,6 @@
                    <el-button type="primary" @click="impor">导入工种</el-button>
                    <el-button type="text" @click="exprot">导入模版xls</el-button>
                </div>
              <el-form-item label="已添加工种" prop="worktypeIdList">
                <u-table
                    :data="form.worktypeIdList"
@@ -129,6 +135,17 @@
                </u-table>
              </el-form-item>
            </div>
            <el-form-item label="特别约定" prop="specialAgreement">
              <RichEditor :richData="form.specialAgreement" :styleEditor="'border: 1px solid #ccc;display: inline-block;'" @getWangedditor="getWangedditor" :readonly="false"/>
            </el-form-item>
            <el-form-item label="特别说明" prop="specialInfo">
              <RichEditor :richData="form.specialInfo" :styleEditor="'border: 1px solid #ccc;display: inline-block;'" @getWangedditor="getWangedditor1" :readonly="false"/>
            </el-form-item>
            <el-form-item label="其他说明" prop="ortherInfo">
              <RichEditor :richData="form.ortherInfo" :styleEditor="'border: 1px solid #ccc;display: inline-block;'" @getWangedditor="getWangedditor2" :readonly="false"/>
            </el-form-item>
          </el-tab-pane>
          <el-tab-pane label="风险设置" name="1" >
            <el-form-item label="风险设置" prop="risk">
                <div class="tx">
                    <div class="tx_item">
@@ -163,18 +180,12 @@
                    </div>
                </div>
            </el-form-item>
            <el-form-item label="特别约定" prop="specialAgreement">
                <RichEditor :richData="form.specialAgreement" :styleEditor="'border: 1px solid #ccc;display: inline-block;'" @getWangedditor="getWangedditor" :readonly="false"/>
            </el-form-item>
            <el-form-item label="特别说明" prop="specialInfo">
                <RichEditor :richData="form.specialInfo" :styleEditor="'border: 1px solid #ccc;display: inline-block;'" @getWangedditor="getWangedditor1" :readonly="false"/>
            </el-form-item>
            <el-form-item label="其他说明" prop="ortherInfo">
                <RichEditor :richData="form.ortherInfo" :styleEditor="'border: 1px solid #ccc;display: inline-block;'" @getWangedditor="getWangedditor2" :readonly="false"/>
            </el-form-item>
          </el-tab-pane>
        </el-tabs>
        </el-form>
        <!--    ä¸Šä¼ å·¥ç§    -->
        <input type="file" @change="getFile" style="opacity: 0;" ref="upload" accept=".xlsx" />
      </div>
    </GlobalWindow>
</template>
@@ -189,11 +200,19 @@
  import { numRule } from '@/utils/form'
  import RichEditor from '@/components/common/RichEditor'
  import { UTable, UTableColumn } from 'umy-ui'
import {getChangeMemberListOnlineSignLink} from "@/api/business/applyChange";
  export default {
    name: 'OperaSolutionsBaseWindow',
    extends: BaseOpera,
    components: { GlobalWindow, UploadFile, RichEditor, UTable, UTableColumn },
    data () {
    var validatorWorktype = (rule, value, callback) => {
      if (!this.form.worktypeIdList || this.form.worktypeIdList.length === 0) {
        callback(new Error('请完善工种信息!'));
      } else {
        callback();
      }
    };
      var validType = (rule, value, callback) => {
        if (this.form.validType === 0 && !value) {
          return callback(new Error('延迟天数不能为空'))
@@ -203,7 +222,7 @@
        callback()
      }
      var canAddFun = (rule, value, callback) => {
        if (!this.form.canAdd && !form.canReduce && !form.canChangeUnit) {
      if (!this.form.canAdd && !this.form.canReduce && !this.form.canChangeUnit) {
          return callback(new Error('批改支持不能为空'))
        }
        callback()
@@ -241,6 +260,7 @@
          delValidDays: 0,
          delOnlyReplace: 0,
          canAdd: 0,
        saveType: '0',
          correctWarnTime: '',
          worktypeIdList: [],
@@ -278,7 +298,10 @@
            { required: true, message: '请输入承保公司' }
          ],
          minAge: [
            { required: true, message: '请选择投保年龄' }
          { required: true, message: '请选择投保最小年龄' }
        ],
        maxAge: [
          { required: true, message: '请选择投保最大年龄' }
          ],
          validTypeNum: [
            { required: true, validator: validType }
@@ -287,7 +310,7 @@
            { required: true, message: '请输入批改提醒时间' }
          ],
          worktypeIdList: [
            { required: true, message: '请完善工种信息' }
          { required: true, validator: validatorWorktype }
          ],
          canAdd: [
            { required: true, validator: canAddFun }
@@ -306,6 +329,18 @@
      })
    },
    methods: {
    beforeTabClick(n,o){
      let re = true
      if( !this.form.id && n === '1'){
        this.$refs.form.validate((valid) => {
          if (!valid) {
            re = false
          }
          this.form.saveType = n
        })
      }
      return re
    },
      // å¯¼å…¥å·¥ç§æ¨¡æ¿
      getFile(e) {
        const formdate = new FormData()
@@ -313,13 +348,15 @@
        formdate.append('insuranceId', this.form.insuranceId)
        importExcelForSolution(formdate)
          .then(res => {
            let arr = []
          const arr = []
            res.forEach(item => {
              arr.push({ worktypeId: item.id, worktypeName: item.name })
            })
            this.form.worktypeIdList = [...arr, ...this.form.worktypeIdList]
            let valData = this.form.worktypeIdList.map(item => item.worktypeName)
          this.$refs.form.validate()
          const valData = this.form.worktypeIdList.map(item => item.worktypeName)
            this.typeWorkCopy = this.typeWorkCopy.filter(item => !valData.includes(item.name))
          this.$refs.form.validate()
          })
          .catch(err => {
            this.$message.error(err.message)
@@ -337,13 +374,13 @@
        window.open(process.env.VUE_APP_TYPEWORK_URL)
      },
      getWangedditor(val){
        this.form.specialAgreement = val;
      this.form.specialAgreement = val
      },
      getWangedditor1(val){
        this.form.specialInfo = val;
      this.form.specialInfo = val
      },
      getWangedditor2(val){
        this.form.ortherInfo = val;
      this.form.ortherInfo = val
      },
      changeMinAge(e) {
        if (this.form.maxAge && this.form.maxAge >= 0 && e > this.form.maxAge) {
@@ -443,6 +480,7 @@
            this.form.fanganFile = null
            this.form.worktypeIdList = []
            this.form[this.configData['field.id']] = null
          this.form.saveType = '0'
          })
          return
        }
@@ -453,6 +491,7 @@
              for (const key in this.form) {
                this.form[key] = res[key]
              }
            this.form.saveType = '0'
              this.form.correctWarnTime = `${this.form.correctWarnTime}:00`
              if (res.worktypeList) {
                this.form.worktypeIdList = res.worktypeList.map(item => {
@@ -476,7 +515,7 @@
            if (!this.form.id) {
                this.typeWorkCopy = res
            } else {
                let valData = this.form.worktypeIdList.map(item => item.worktypeName)
          const valData = this.form.worktypeIdList.map(item => item.worktypeName)
                this.typeWorkCopy = res.filter(item => !valData.includes(item.name))
            }
        })
@@ -496,24 +535,25 @@
          })
      },
      add () {
          let arr = this.typeWorkCopy.filter(item => this.worktypeId.includes(item.id))
          let dataVal = arr.map(item => {
      const arr = this.typeWorkCopy.filter(item => this.worktypeId.includes(item.id))
      const dataVal = arr.map(item => {
              return {
                  worktypeId: item.id,
                  worktypeName: item.name
              }
          })
          this.form.worktypeIdList = [ ...dataVal, ...this.form.worktypeIdList ]
          let valData = this.form.worktypeIdList.map(item => item.worktypeName)
      const valData = this.form.worktypeIdList.map(item => item.worktypeName)
          this.typeWorkCopy = this.typeWorkCopy.filter(item => !valData.includes(item.name))
          this.worktypeId = []
      this.$refs.form.validate()
      },
      dele (index) {
        if (this.form.worktypeIdList.length === 1) {
          this.$message.warning('至少要保留一项')
          return
        }
        let row = this.typeWork.filter(item => item.name === this.form.worktypeIdList[index].worktypeName)
      const row = this.typeWork.filter(item => item.name === this.form.worktypeIdList[index].worktypeName)
        this.typeWorkCopy.unshift(row[0])
        this.form.worktypeIdList.splice(index, 1)
      }
company/src/components/business/setCompany.vue
@@ -86,7 +86,7 @@
        components: { GlobalWindow, RichEditor },
        data () {
            return {
                uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload?folder=INSURANCE',
      uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload?folder=insurance',
                activeNames: ['1', '2', '3', '4', '5', '6'],
                specialAgreement: '',
                form: {
@@ -122,7 +122,6 @@
            },
            open (title, id) {
                this.title = title
                getById(id)
                    .then(res => {
                        this.visible = true
company/src/components/enterprise/onlineReporting.vue
@@ -199,7 +199,11 @@
                    </div>
                    <div class="box_item">
                        <div class="box_item_title">
                            <span>理赔材料</span>
                          <div> <span>上传理赔材料</span></div>
                          <div style="float: right">
                            <el-button type="primary" v-if="insurance && insurance.lpStampTempFile && insurance.lpStampTempFile.fileurlFull"   @click="openLinkUrl(insurance.lpStampTempFile.fileurlFull)">盖章文件模版</el-button>
                            <el-button type="primary" v-if="insurance && insurance.lpFile && insurance.lpFile.fileurlFull"   @click="openLinkUrl(insurance.lpFile.fileurlFull)">理赔材料一览表</el-button>
                          </div>
                        </div>
                        <div class="box_item_list">
                            <div class="box_item_list_row" style="width: 100%; margin-bottom: 30px;">
@@ -209,7 +213,7 @@
                                </div>
                                <div class="box_item_list_row_info">
                                    <div class="label">文件上传说明:</div>
                                    <div class="content">需上传的文件:劳动合同复印件、工资流水、考勤记录、身份证正反面、;</div>
                                  <div v-if="insurance && insurance.lpYggxFileInfo" class="content" v-html="insurance.lpYggxFileInfo"></div>
                                </div>
                                <div class="box_item_list_row_l">
                                    <div class="desc_data_list_item" v-for="(item, index) in form.relationFileList" :key="index">
@@ -237,7 +241,7 @@
                                </div>
                                <div class="box_item_list_row_info">
                                    <div class="label">文件上传说明:</div>
                                    <div class="content">需上传的文件:劳动合同复印件、工资流水、考勤记录、身份证正反面、;</div>
                                  <div v-if="insurance && insurance.lpMzFileInfo" class="content" v-html="insurance.lpMzFileInfo"></div>
                                </div>
                                <div class="box_item_list_row_l">
                                    <div class="desc_data_list_item" v-for="(item, index) in form.outpatientFileList" :key="index">
@@ -265,7 +269,7 @@
                                </div>
                                <div class="box_item_list_row_info">
                                    <div class="label">文件上传说明:</div>
                                    <div class="content">需上传的文件:劳动合同复印件、工资流水、考勤记录、身份证正反面、;</div>
                                  <div v-if="insurance && insurance.lpZyFileInfo" class="content" v-html="insurance.lpZyFileInfo"></div>
                                </div>
                                <div class="box_item_list_row_l">
                                    <div class="desc_data_list_item" v-for="(item, index) in form.hospitalFileList" :key="index">
@@ -293,7 +297,7 @@
                                </div>
                                <div class="box_item_list_row_info">
                                    <div class="label">文件上传说明:</div>
                                    <div class="content">需上传的文件:劳动合同复印件、工资流水、考勤记录、身份证正反面、;</div>
                                  <div v-if="insurance && insurance.lpScFileInfo" class="content" v-html="insurance.lpScFileInfo"></div>
                                </div>
                                <div class="box_item_list_row_l">
                                    <div class="desc_data_list_item" v-for="(item, index) in form.disabilityFileList" :key="index">
@@ -321,7 +325,7 @@
                                </div>
                                <div class="box_item_list_row_info">
                                    <div class="label">文件上传说明:</div>
                                    <div class="content">需上传的文件:劳动合同复印件、工资流水、考勤记录、身份证正反面、;</div>
                                    <div v-if="insurance && insurance.lpYggxFileInfo" class="content" v-html="insurance.lpYggxFileInfo"></div>
                                </div>
                                <div class="box_item_list_row_l">
                                    <div class="desc_data_list_item" v-for="(item, index) in form.otherFileList" :key="index">
@@ -419,6 +423,7 @@
import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow'
import OperaSettleClaimsWindow from '@/components/business/OperaSettleClaimsWindow'
import { mapState } from 'vuex'
import { getById } from '@/api/business/insurance'
export default {
  name: 'onlineReporting',
  extends: BaseOpera,
@@ -521,11 +526,12 @@
      },
      pickerOptions: {
        disabledDate(time) {
          return time.getTime() > Date.now(); // ç¦ç”¨æœªæ¥çš„æ—¥æœŸ
          return time.getTime() > Date.now() // ç¦ç”¨æœªæ¥çš„æ—¥æœŸ
        }
      },
      area: [],
      user: [],
      insurance: null,
      solutionList: []
    }
  },
@@ -545,6 +551,7 @@
      this.user = []
      this.getUser()
      this.getCityTree()
      this.insurance = {}
      if (id) {
        findById(id)
          .then(res => {
@@ -560,6 +567,7 @@
                .then(res1 => {
                  res1.forEach(item => {
                    if (item.id === res.applyDetailId) {
                      this.getInsuranceFile(item)//获取保险方案文件说明
                      item.active = true
                      this.pickerOptions = {
                        disabledDate (time) {
@@ -583,6 +591,9 @@
          this.form.informantName = this.userInfo.realname
        })
      }
    },
    openLinkUrl(url){
      window.open(url)
    },
    continueReporting () {
      this.i = 0
@@ -675,6 +686,13 @@
        this.form.reportFileList.splice(index, 1)
      }
    },
    getInsuranceFile (obj) {
      this.insurance = null
      getById(obj.insuranceId,1)
        .then(res => {
          this.insurance = res
        })
    },
    claimsUploadFile (file, type) {
      file.fileurl = file.imgaddr
      file.name = file.originname
@@ -715,6 +733,7 @@
        item.active = i === index
      })
      const obj = this.solutionList.filter(item => item.active)[0]
      this.getInsuranceFile(obj)
      this.pickerOptions = {
        disabledDate (time) {
          var start = new Date(obj.startTime)
company/src/views/business/caseEntry.vue
@@ -76,8 +76,8 @@
                <el-table-column prop="reportNum" label="案件号" min-width="150px" align="center"></el-table-column>
                <el-table-column prop="companyName" label="投保单位" min-width="150px" align="center"></el-table-column>
                <el-table-column prop="informantName" label="报案人" min-width="150px" align="center"></el-table-column>
                <el-table-column prop="createDateStr" label="报案时间" min-width="100px" align="center"></el-table-column>
                <el-table-column prop="createDate" label="出险时间" min-width="120px" align="center"></el-table-column>
                <el-table-column prop="reportDate" label="报案时间" min-width="100px" align="center"></el-table-column>
                <el-table-column prop="happenTime" label="出险时间" min-width="120px" align="center"></el-table-column>
                <el-table-column prop="memberName" label="出险人" min-width="120px" align="center"></el-table-column>
                <el-table-column prop="memberIdcard" label="身份证号" min-width="120px" align="center"></el-table-column>
                <el-table-column prop="solutionName" label="保险方案" min-width="120px" align="center"></el-table-column>
company/src/views/business/insurance.vue
company/src/views/business/settleClaims.vue
@@ -70,7 +70,11 @@
                        <span>{{scope.$index + 1}}</span>
                    </template>
                </el-table-column>
              <el-table-column prop="statusName" label="案件状态" min-width="100px"></el-table-column>
              <el-table-column prop="statusName" label="案件状态" min-width="100px">
                <template slot-scope="{row}">
                  <span :class="'settle-status'+row.status">{{row.statusName}}</span>
                </template>
              </el-table-column>
                <el-table-column prop="reportNum" label="报案号" min-width="100px"></el-table-column>
                <el-table-column prop="companyName" label="报案企业" min-width="100px"></el-table-column>
                <el-table-column prop="memberName" label="出险人" min-width="100px"></el-table-column>
@@ -79,6 +83,14 @@
                <el-table-column prop="duName" label="派遣单位" min-width="100px"></el-table-column>
                <el-table-column prop="worktypeName" label="所属工种" min-width="100px"></el-table-column>
                <el-table-column prop="baoxianStartTime" label="保险生效起期" min-width="100px"></el-table-column>
              <el-table-column prop="applyCode" label="保单号" min-width="100px"></el-table-column>
              <el-table-column prop="solutionName" label="保险方案" min-width="100px"></el-table-column>
              <el-table-column prop="money" label="赔付金额(元)" min-width="100px">
                <template slot-scope="{row}">
                  <span style="color: #f95601;cursor: pointer" v-if="[11,12,13].includes(row.status)" :title="'主赔付:'+(row.hpAccount||0) +'元 å…¶ä»–赔付:'+(row.hpOtherAccount||0) +'元'">{{(row.hpAccount||0) +(row.hpOtherAccount ||0 ) }}</span>
                  <span v-else>-</span>
                </template>
              </el-table-column>
                <el-table-column prop="isRisk" label="是否风险案件" min-width="100px">
                  <template slot-scope="{row}"> <span style="color: red" v-if="row.isRisk === 1">风险案件</span></template>
                </el-table-column>
company/src/views/enterprise/settleClaimsCom.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,231 @@
<template>
    <TableLayout :permissions="['business:settleclaims:query']">
        <!-- æœç´¢è¡¨å• -->
        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
            <el-form-item label="报案号" prop="code" >
                <el-input v-model="searchForm.code" clearable placeholder="请输入" style="width: 150px" @keypress.enter.native="search"></el-input>
            </el-form-item>
          <el-form-item label="报案人" prop="informantName">
            <el-input v-model="searchForm.informantName" clearable placeholder="请输入" style="width: 150px" @keypress.enter.native="search"></el-input>
          </el-form-item>
            <el-form-item label="出险人姓名" prop="memberName">
                <el-input v-model="searchForm.memberName" clearable placeholder="请输入" style="width: 150px" @keypress.enter.native="search"></el-input>
            </el-form-item>
            <el-form-item label="出险人身份证" prop="memberIdcardNo">
                <el-input v-model="searchForm.memberIdcardNo" clearable placeholder="请输入" style="width: 150px" @keypress.enter.native="search"></el-input>
            </el-form-item>
            <el-form-item label="保险方案" prop="baseSolutionId">
                <el-select v-model="searchForm.baseSolutionId"  clearable filterable placeholder="请选择" style="width: 150px" @change="search">
                    <el-option
                        v-for="item in solutionList"
                        :key="item.baseId"
                        :label="item.name"
                        :value="item.baseId">
                    </el-option>
                </el-select>
            </el-form-item>
          <el-form-item label="保单号" prop="applyCode">
            <el-input v-model="searchForm.applyCode" clearable placeholder="请输入" style="width: 150px" @keypress.enter.native="search"></el-input>
          </el-form-item>
             <el-form-item label="案件状态" prop="status">
                <el-select v-model="searchForm.status" clearable placeholder="请选择" style="width: 150px" @change="search">
                    <el-option label="暂存中" value="0"></el-option>
                    <el-option label="已报案" value="1"></el-option>
                    <el-option label="待立案" value="2"></el-option>
                    <el-option label="已立案" value="3"></el-option>
                    <el-option label="立案退回" value="4"></el-option>
                    <el-option label="待受理" value="5"></el-option>
                    <el-option label="拒绝受理" value="6"></el-option>
                    <el-option label="商议待审批" value="7"></el-option>
                    <el-option label="商议审批拒绝" value="8"></el-option>
                    <el-option label="已受理" value="9"></el-option>
                    <el-option label="待核赔" value="10"></el-option>
                    <el-option label="已核赔" value="11"></el-option>
                    <el-option label="待结案" value="12"></el-option>
                    <el-option label="已结案" value="13"></el-option>
                    <el-option label="已撤案" value="14"></el-option>
                </el-select>
            </el-form-item>
          <el-form-item label="报案时间" prop="createDateStr">
            <el-date-picker
                style="width: 150px"
                clearable
                v-model="searchForm.createDateStr"
                @change="search"
                type="date"
                placeholder="请选择"
                value-format="yyyy-MM-dd" >
            </el-date-picker>
          </el-form-item>
            <section>
                <el-button type="primary" @click="search">搜索</el-button>
                <el-button @click="reset">重置</el-button>
            </section>
        </el-form>
        <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
        <template v-slot:table-wrap>
            <ul class="toolbar" v-if="userInfo.type === 1">
                <li><el-button type="primary" @click="$refs.onlineReporting.open('提交报案')">在线报案</el-button></li>
            </ul>
            <el-table
                v-loading="isWorking.search"
                :data="tableData.list"
                stripe>
                <el-table-column label="序号" width="80px">
                    <template slot-scope="scope">
                        <span>{{scope.$index + 1}}</span>
                    </template>
                </el-table-column>
              <el-table-column prop="statusName" label="案件状态" min-width="100px">
                <template slot-scope="{row}">
                  <span :class="'settle-status'+row.status">{{row.statusName}}</span>
                </template>
              </el-table-column>
                <el-table-column prop="reportNum" label="报案号" min-width="100px"></el-table-column>
                <el-table-column prop="informantName" label="报案人" min-width="100px"></el-table-column>
                <el-table-column prop="createDate" label="报案时间" min-width="150px"></el-table-column>
              <el-table-column prop="memberName" label="出险人" min-width="100px"></el-table-column>
                <el-table-column prop="memberIdcardNo" label="身份证号" min-width="180px"></el-table-column>
              <el-table-column prop="duName" label="用人遣单位" min-width="180px"></el-table-column>
              <el-table-column prop="applyCode" label="保单号" min-width="100px"></el-table-column>
              <el-table-column prop="solutionName" label="保险方案" min-width="180px"></el-table-column>
                <el-table-column prop="money" label="赔付金额(元)" min-width="100px">
                  <template slot-scope="{row}">
                    <span style="color: #f95601;cursor: pointer" v-if="[11,12,13].includes(row.status)" :title="'主赔付:'+(row.hpAccount||0) +'元 å…¶ä»–赔付:'+(row.hpOtherAccount||0) +'元'">{{(row.hpAccount||0) +(row.hpOtherAccount ||0 ) }}</span>
                    <span v-else>-</span>
                  </template>
                </el-table-column>
                <el-table-column prop="baoxianStartTime" label="保险生效起期" min-width="100px"></el-table-column>
                <el-table-column prop="isRisk" label="是否风险案件" min-width="100px">
                  <template slot-scope="{row}"> <span style="color: red" v-if="row.isRisk === 1">风险案件</span></template>
                </el-table-column>
                <el-table-column prop="createDate" label="报案时间" min-width="100px"></el-table-column>
                <el-table-column
                    v-if="containPermissions(['business:settleclaims:update', 'business:settleclaims:delete'])"
                    label="操作"
                    min-width="200"
                    fixed="right">
                    <template slot-scope="{row}">
                        <el-button
                            type="text"
                            @click="$refs.operaSettleClaimsWindow.open('报案详情', row.id)"
                            v-if="row.status !== 0">
                            æŸ¥çœ‹è¯¦æƒ…
                        </el-button>
                        <el-button
                            type="text"
                            @click="$refs.onlineReporting.open('编辑报案', row.id)"
                            v-if="[0,1,2,4,5,7].includes(row.status) && userInfo.type === 1">
                            ç¼–辑
                        </el-button>
                        <el-button
                            type="text"
                            @click="revoke(row.id)"
                            v-if="[1,2,3,4,5,9,7,10].includes(row.status) && userInfo.type === 1">
                            æ’¤é”€
                        </el-button>
                        <el-button type="text" @click="deleRow(row.id)" v-if="row.status === 0">删除</el-button>
                    </template>
                </el-table-column>
            </el-table>
            <pagination
                @size-change="handleSizeChange"
                @current-change="handlePageChange"
                :pagination="tableData.pagination"
            >
            </pagination>
        </template>
        <!-- è¯¦æƒ… -->
        <OperaSettleClaimsWindow ref="operaSettleClaimsWindow" @success="handlePageChange"/>
        <!--    åœ¨çº¿æŠ¥æ¡ˆ    -->
        <onlineReporting ref="onlineReporting" @success="handlePageChange" />
    </TableLayout>
</template>
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaSettleClaimsWindow from '@/components/business/OperaSettleClaimsWindow'
import onlineReporting from '@/components/enterprise/onlineReporting'
import { all as solutionAll } from '@/api/business/solutions'
import { returnSettle } from '@/api/business/settleRisk'
import { pageAll as companyAll } from '@/api/business/company'
import { dele } from '@/api/business/settleClaims'
import { mapState } from 'vuex'
export default {
  name: 'SettleClaims',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaSettleClaimsWindow, onlineReporting },
  data () {
    return {
      // æœç´¢
      solutionList: [],
      companyList: [],
      searchForm: {
        baseSolutionId: '',
        companyId: '',
        duName: '',
        createDateStr:null,
        memberName: '',
        applyCode:null,
        memberIdcardNo: '',
        status: '',
        informantName: ''
      }
    }
  },
  computed: {
    ...mapState(['userInfo'])
  },
  created () {
    this.config({
      module: '理赔申请表',
      api: '/business/settleClaims',
      'field.id': 'id',
      'field.main': 'id'
    })
    this.search()
    this.loadSelectList()
  },
  methods: {
      // æ’¤é”€
      revoke(id) {
          this.$confirm('撤销后,案件直接结束,无法继续进行理赔操作!', '是否撤销报案?', {
              confirmButtonText: '确定撤销',
              cancelButtonText: '我再想想',
              type: 'warning'
          }).then(() => {
              returnSettle({ id })
                  .then(res => {
                      this.search()
                  })
          }).catch(() => {
          });
      },
    loadSelectList () {
      solutionAll({ dataType: 0 }).then(res => {
        this.solutionList = res
      }).catch(err => {
      })
    },
      deleRow(id) {
          this.$confirm('此操作将永久删除该数据, æ˜¯å¦ç»§ç»­?', '提示', {
              confirmButtonText: '确定',
              cancelButtonText: '取消',
              type: 'warning'
          }).then(() => {
              dele(id)
                .then(res => {
                    this.$message.success('删除成功')
                    this.search()
                })
          }).catch(() => {
          });
      }
  }
}
</script>