jiangping
2025-05-27 3d6a8e384d31432a23f5a8c1a3135a58cbe617b5
company/src/views/business/riskReminder.vue
@@ -3,23 +3,23 @@
        <div class="tx_item">
            <div class="tx_item_head">
                <span>多次出险提醒</span>
                <el-switch active-value="1" inactive-value="0" v-model="form.riskTimesOpen"></el-switch>
                <el-switch :active-value="'1'" :inactive-value="'0'" v-model="form.riskTimesOpen"></el-switch>
            </div>
            <div class="tx_item_content">
                <span>规则设置:同一人一年内报案</span>
                <el-input-number style="margin: 0 15px;" v-model="form.riskTimesReportTimes" :min="0"></el-input-number>
                <el-input-number style="width: 100px; min-width: 100px;margin: 0 15px;"  :disabled="form.riskTimesOpen === '0'"  v-model="form.riskTimesReportTimes" :min="0"></el-input-number>
                <span>次及以上,进行提醒。</span>
            </div>
        </div>
        <div class="tx_item">
            <div class="tx_item_head">
                <span>疑似重复报案提醒</span>
                <el-switch active-value="1" inactive-value="0" v-model="form.riskRepeatReportOpen"></el-switch>
                <el-switch :active-value="'1'" :inactive-value="'0'" v-model="form.riskRepeatReportOpen"></el-switch>
            </div>
            <div class="tx_item_content">
                <span>规则设置:</span>
                <el-input-number style="margin: 0 15px;" v-model="form.riskRepeatReportTime" :min="0"></el-input-number>
                <el-select v-model="form.riskRepeatReportTimeUnit" style="width: 100px; margin-right: 15px;" placeholder="请选择">
                <el-input-number  style="width: 100px; min-width: 100px;margin: 0 15px;" v-model="form.riskRepeatReportTime" :disabled="form.riskRepeatReportOpen === '0'" :min="0"></el-input-number>
                <el-select v-model="form.riskRepeatReportTimeUnit" :disabled="form.riskRepeatReportOpen === '0'"  style="width: 90px; min-width: 90px; margin-right: 15px;" placeholder="请选择">
                    <el-option label="小时" value="1"></el-option>
                    <el-option label="天" value="2"></el-option>
                </el-select>
@@ -29,23 +29,23 @@
        <div class="tx_item">
            <div class="tx_item_head">
                <span>索赔次数过多提醒</span>
                <el-switch active-value="1" inactive-value="0" v-model="form.riskClaimTimesOpen"></el-switch>
                <el-switch :active-value="'1'" :inactive-value="'0'" v-model="form.riskClaimTimesOpen"></el-switch>
            </div>
            <div class="tx_item_content">
                <span>规则设置:同一个保单1年内索赔次数超过</span>
                <el-input-number style="margin: 0 15px;" v-model="form.riskClaimTimes" :min="0"></el-input-number>
                <el-input-number style="width: 100px; min-width: 100px;margin: 0 15px;" v-model="form.riskClaimTimes"  :disabled="form.riskClaimTimesOpen === '0'" :min="0"></el-input-number>
                <span>次,进行提醒。</span>
            </div>
        </div>
        <div class="tx_item">
            <div class="tx_item_head">
                <span>新员工出险提醒</span>
                <el-switch active-value="1" inactive-value="0" v-model="form.riskNewMemberOpen"></el-switch>
                <el-switch :active-value="'1'" :inactive-value="'0'" v-model="form.riskNewMemberOpen"></el-switch>
            </div>
            <div class="tx_item_content">
                <span>规则设置:保单生效的</span>
                <el-input-number style="margin: 0 15px;" v-model="form.riskNewMemberTime" :min="0"></el-input-number>
                <el-select v-model="form.riskNewMemberTimeUnit" style="width: 100px; margin-right: 15px;" placeholder="请选择">
                <el-input-number style="width: 100px; min-width: 100px;margin: 0 15px;" v-model="form.riskNewMemberTime" :disabled="form.riskNewMemberOpen === '0'" :min="0"></el-input-number>
                <el-select v-model="form.riskNewMemberTimeUnit" style="width: 90px; min-width: 90px; margin-right: 15px;"  :disabled="form.riskNewMemberOpen === '0'" placeholder="请选择">
                    <el-option label="小时" value="1"></el-option>
                    <el-option label="天" value="2"></el-option>
                </el-select>
@@ -55,11 +55,12 @@
        <div class="tx_item">
            <div class="tx_item_head">
                <span>敏感词设置</span>
                <el-switch active-value="1" inactive-value="0" v-model="form.riskSensitiveWordsOpen"></el-switch>
                <el-switch :active-value="'1'" :inactive-value="'0'" v-model="form.riskSensitiveWordsOpen"></el-switch>
            </div>
            <div class="tx_item_content">
                <span>规则设置:</span>
                <el-input
                    :disabled="form.riskSensitiveWordsOpen === '0'"
                    type="textarea"
                    :rows="5"
                    placeholder="每个敏感词请用“;”分隔,如骨折;高空;夜间;交通事故;搬运等其他字符"
@@ -74,51 +75,52 @@
</template>
<script>
    import { updRiskConfig, getRiskConfig } from '@/api/business/settleRisk'
    export default {
        name: "riskReminder",
        data() {
            return {
                form: {
                    riskClaimTimes: '0',
                    riskClaimTimesOpen: '0',
                    riskNewMemberOpen: '0',
                    riskNewMemberTime: '0',
                    riskNewMemberTimeUnit: '0',
                    riskRepeatReportOpen: '0',
                    riskRepeatReportTime: '0',
                    riskRepeatReportTimeUnit: '0',
                    riskSensitiveWords: '0',
                    riskSensitiveWordsOpen: '0',
                    riskTimesOpen: '0',
                    riskTimesReportTimes: '0'
                },
                loading: false
            }
        },
        created() {
            this.getRiskConfigs()
        },
        methods: {
            async getRiskConfigs() {
                let res = await getRiskConfig()
                for (const key in this.form) {
                    this.form[key] = res[key]
                }
            },
            submit() {
                this.loading = true
                updRiskConfig(this.form)
                    .then(res => {
                        this.getRiskConfigs()
                        this.$message.success('保存成功')
                    })
                    .finally(() => {
                        this.loading = false
                    })
            }
        }
import { updRiskConfig, getRiskConfig } from '@/api/business/settleRisk'
export default {
  name: 'riskReminder',
  data () {
    return {
      form: {
        riskClaimTimes: '0',
        riskClaimTimesOpen: '0',
        riskNewMemberOpen: '0',
        riskNewMemberTime: '0',
        riskNewMemberTimeUnit: '0',
        riskRepeatReportOpen: '0',
        riskRepeatReportTime: '0',
        riskRepeatReportTimeUnit: '0',
        riskSensitiveWords: '0',
        riskSensitiveWordsOpen: '0',
        riskTimesOpen: '0',
        riskTimesReportTimes: '0'
      },
      loading: false
    }
  },
  created () {
    this.getRiskConfigs()
  },
  methods: {
    async getRiskConfigs () {
      const res = await getRiskConfig()
      for (const key in this.form) {
        this.form[key] = res[key]
      }
      console.log(this.form)
    },
    submit () {
      this.loading = true
      updRiskConfig(this.form)
        .then(res => {
          this.getRiskConfigs()
          this.$message.success('保存成功')
        })
        .finally(() => {
          this.loading = false
        })
    }
  }
}
</script>
<style lang="scss" scoped>
@@ -138,6 +140,7 @@
        }
        .tx_item {
            width: 49%;
            //min-width: 500px;
            padding: 30px 20px;
            box-sizing: border-box;
            background-color: #ffffff;