jiangping
2024-12-27 5506edbe54883b31db3cc8e4a1d9d0795a18a3c9
company/src/components/business/OperaInsuranceWindow.vue
@@ -9,6 +9,18 @@
            <el-form-item label="保险公司" prop="name">
                <el-input v-model="form.name" placeholder="平安保险" v-trim/>
            </el-form-item>
            <el-form-item label="logo" prop="logo">
                <UploadAvatarImage :uploadData="{ folder: 'insurance' }" :file="file" @uploadSuccess="result" />
            </el-form-item>
            <el-form-item label="英文名称" prop="englishName">
                <el-input v-model="form.englishName" maxlength="100" show-word-limit placeholder="请输入英文名称" v-trim/>
            </el-form-item>
            <el-form-item label="联系人" prop="linkName">
                <el-input v-model="form.linkName" maxlength="10" show-word-limit placeholder="请输入联系人" v-trim/>
            </el-form-item>
            <el-form-item label="联系人电话" prop="linkPhone">
                <el-input v-model="form.linkPhone"  maxlength="11" show-word-limit placeholder="请输入联系人电话" v-trim/>
            </el-form-item>
            <div style="width: 100%; display: flex; align-items: center;margin-bottom: 10px;">
                <el-button type="primary" @click="add">添加</el-button>
                <el-button type="primary" @click="impor">导入工种</el-button>
@@ -42,6 +54,15 @@
                    </template>
                </el-table-column>
            </el-table>
            <el-form-item label="理赔所需材料" prop="claimsInformation">
                <RichEditor :richData="form.claimsInformation" :styleEditor="'border: 1px solid #ccc;display: inline-block;'" @getWangedditor="getWangedditor" :readonly="false"/>
            </el-form-item>
            <el-form-item label="保险政策" prop="policy">
                <RichEditor :richData="form.policy" :styleEditor="'border: 1px solid #ccc;display: inline-block;'" @getWangedditor="getWangedditor1" :readonly="false"/>
            </el-form-item>
            <el-form-item label="保险条款" prop="agreement">
                <RichEditor :richData="form.agreement" :styleEditor="'border: 1px solid #ccc;display: inline-block;'" @getWangedditor="getWangedditor2" :readonly="false"/>
            </el-form-item>
        </el-form>
        <!--    上传工种    -->
        <input type="file" @change="getFile" style="opacity: 0;" ref="upload" accept=".xlsx" />
@@ -51,24 +72,47 @@
<script>
    import BaseOpera from '@/components/base/BaseOpera'
    import GlobalWindow from '@/components/common/GlobalWindow'
    import UploadAvatarImage from '@/components/common/UploadAvatarImage'
    import RichEditor from '@/components/common/RichEditor'
    import { importExcel, all } from '@/api/business/worktype'
    export default {
        name: 'OperaInsuranceWindow',
        extends: BaseOpera,
        components: { GlobalWindow },
        components: { GlobalWindow, UploadAvatarImage, RichEditor },
        data () {
          var phoneRule = (rule, value, callback) => {
            if (value) {
                if (!/^1[3-9]\d{9}$/.test(value)) {
                  return callback(new Error('请输入正确的手机号!'))
                }
            }
            callback()
          }
            return {
                // 表单数据
                form: {
                    id: null,
                    name: '',
                    logo: '',
                    englishName: '',
                    linkName: '',
                    linkPhone: '',
                    agreement: '',
                    claimsInformation: '',
                    policy: '',
                    worktypeList: [
                        { name: '' }
                    ]
                },
                file: {
                    imgurlfull: ''
                },
                // 验证规则
                rules: {
                  linkPhone: [
                    { required: false, validator: phoneRule }
                  ]
                }
            }
        },
@@ -96,6 +140,8 @@
                    for (const key in this.form) {
                        this.form[key] = target[key]
                    }
                    this.file.imgurlfull = target.logoFullUrl
                    console.log(this.form)
                    all({ insuranceId: this.form.id })
                        .then(res => {
                            let arr = []
@@ -106,6 +152,19 @@
                        })
                })
            },
            getWangedditor(val){
                this.form.claimsInformation = val;
            },
            getWangedditor1(val){
                this.form.policy = val;
            },
            getWangedditor2(val){
                this.form.agreement = val;
            },
            result(res) {
              this.form.logo = res.imgurl
              this.file.imgurlfull = res.imgurlfull
            },
            // 导出模板
            exprot() {
                window.open(process.env.VUE_APP_TYPEWORK_URL)