| | |
| | | <el-select v-model="form.labelsArr" style="width: 100%;" @change="changeLabel" multiple placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in cateList" |
| | | :key="item.id" |
| | | :key="item.name" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | :value="item.name"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-button size="medium" style="margin-left: 15px;" @click="$refs.tagLibrary.open('æ ç¾åº')">æ ç¾åº</el-button> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="å°åº" prop="area"> |
| | | <el-form-item label="ç份" prop="provinceId"> |
| | | <el-select v-model="form.provinceId" filterable @change="changeProvince" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in areas" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="åå¸" prop="cityId"> |
| | | <el-select v-model="form.cityId" clearablefilterable placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in citys" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="å°åº" prop="area"> |
| | | <el-cascader |
| | | v-model="form.area" |
| | | :options="area" |
| | | @change="changeArea" |
| | | :props="{ label: 'name', children: 'childAreasList', value: 'id' }" /> |
| | | </el-form-item> |
| | | <el-form-item label="年份" prop="yearInfo"> |
| | | </el-form-item>--> |
| | | <el-form-item label="年份" prop="yearInfo" > |
| | | <el-date-picker |
| | | v-model="form.yearInfo" |
| | | type="year" |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import TagLibrary from '@/components/business/tagLibrary' |
| | | import { findTreeList, list } from '@/api/business/knowledge' |
| | | export default { |
| | | name: 'OperaKnowledgeWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, TagLibrary }, |
| | | data () { |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | form: { |
| | | id: null, |
| | | provinceId: '', |
| | | cityId: '', |
| | | title: '', |
| | | link: '', |
| | | labels: '', |
| | | yearInfo: '', |
| | | area: [], |
| | | labelsArr: [] |
| | | }, |
| | | // éªè¯è§å |
| | | rules: { |
| | | title: [ |
| | | { required: true, message: '请è¾å
¥å
容', trigger: 'blur' } |
| | | ], |
| | | link: [ |
| | | { required: true, message: '请è¾å
¥å
容', trigger: 'blur' } |
| | | ] |
| | | }, |
| | | area: [], |
| | | cateList: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/knowledge', |
| | | 'field.id': 'id' |
| | | }) |
| | | |
| | | }, |
| | | methods: { |
| | | changeLabel(e) { |
| | | this.form.labels = e.join(',') |
| | | }, |
| | | changeArea(e) { |
| | | if (e.length === 0) return |
| | | if (e.length === 1) { |
| | | this.form.provinceId = e[0] |
| | | } else if (e.length === 2) { |
| | | this.form.provinceId = e[0] |
| | | this.form.cityId = e[1] |
| | | } |
| | | }, |
| | | open (title, target) { |
| | | this.getLabel() |
| | | this.getCityTree() |
| | | this.title = title |
| | | this.visible = true |
| | | // æ°å»º |
| | | if (target == null) { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form[this.configData['field.id']] = null |
| | | }) |
| | | return |
| | | } |
| | | // ç¼è¾ |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | if (this.form.labels) { |
| | | this.form.labelsArr = this.form.labels.split(',').map(item => Number(item)) |
| | | } |
| | | if (this.form.provinceId && this.form.cityId) { |
| | | this.form.area = [this.form.provinceId, this.form.cityId] |
| | | } else if (this.form.provinceId && !this.form.cityId) { |
| | | this.form.area = [this.form.provinceId] |
| | | } |
| | | }) |
| | | }, |
| | | async getLabel() { |
| | | this.cateList = await list() |
| | | }, |
| | | async getCityTree() { |
| | | this.area = await findTreeList({}) |
| | | this.setSecondLevelChildrenToNullPrecise(this.area); |
| | | this.area.forEach(item => { |
| | | if (item.childAreasList.length === 0) { |
| | | item.childAreasList = null |
| | | } |
| | | }) |
| | | }, |
| | | setSecondLevelChildrenToNullPrecise(data, level = 1) { |
| | | if (!data || !data.length) return; |
| | | |
| | | data.forEach(item => { |
| | | if (item.childAreasList && item.childAreasList.length) { |
| | | if (level === 1) { |
| | | // è¿æ¯ç¬¬ä¸çº§èç¹ï¼å¤çå
¶åèç¹ï¼ç¬¬äºçº§ï¼ |
| | | item.childAreasList.forEach(child => { |
| | | child.childAreasList = null; |
| | | }); |
| | | } else { |
| | | // ç»§ç»éå½å¤çæ´æ·±å±çº§ |
| | | this.setSecondLevelChildrenToNullPrecise(item.childAreasList, level + 1); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import TagLibrary from '@/components/business/tagLibrary' |
| | | import { findTreeList, list } from '@/api/business/knowledge' |
| | | export default { |
| | | name: 'OperaKnowledgeWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, TagLibrary }, |
| | | data () { |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | form: { |
| | | id: null, |
| | | provinceId: '', |
| | | cityId: '', |
| | | title: '', |
| | | link: '', |
| | | labels: '', |
| | | yearInfo: '', |
| | | area: [], |
| | | labelsArr: [] |
| | | }, |
| | | areas: [], |
| | | citys: [], |
| | | // éªè¯è§å |
| | | rules: { |
| | | title: [ |
| | | { required: true, message: '请è¾å
¥å
容', trigger: 'blur' } |
| | | ], |
| | | yearInfo: [ |
| | | { required: true, message: 'è¯·éæ©å¹´ä»½', trigger: 'blur' } |
| | | ], |
| | | labelsArr: [ |
| | | { required: true, message: 'è¯·éæ©è¡¨æ
', trigger: 'blur' } |
| | | ], |
| | | provinceId: [ |
| | | { required: true, message: 'è¯·éæ©ç份', trigger: 'blur' } |
| | | ], |
| | | link: [ |
| | | { required: true, message: '请è¾å
¥å
容', trigger: 'blur' } |
| | | ] |
| | | }, |
| | | area: [], |
| | | cateList: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/knowledge', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | changeLabel (e) { |
| | | this.form.labels = e.join(',') |
| | | }, |
| | | changeArea (e) { |
| | | if (e.length === 0) return |
| | | if (e.length === 1) { |
| | | this.form.provinceId = e[0] |
| | | } else if (e.length === 2) { |
| | | this.form.provinceId = e[0] |
| | | this.form.cityId = e[1] |
| | | } |
| | | }, |
| | | changeProvince (e) { |
| | | this.citys = [] |
| | | this.form.cityId=null |
| | | this.areas.forEach(item => { |
| | | if (item.id === this.form.provinceId) { |
| | | this.citys = item.childAreasList || [] |
| | | } |
| | | }) |
| | | }, |
| | | open (title, target) { |
| | | this.getLabel() |
| | | this.getCityTreeList() |
| | | this.title = title |
| | | this.visible = true |
| | | // æ°å»º |
| | | if (target == null) { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form[this.configData['field.id']] = null |
| | | }) |
| | | return |
| | | } |
| | | // ç¼è¾ |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | if (this.form.labels) { |
| | | this.form.labelsArr = this.form.labels.split(',') |
| | | } |
| | | if (this.form.provinceId && this.form.cityId) { |
| | | this.form.area = [this.form.provinceId, this.form.cityId] |
| | | } else if (this.form.provinceId && !this.form.cityId) { |
| | | this.form.area = [this.form.provinceId] |
| | | } |
| | | }) |
| | | }, |
| | | async getLabel () { |
| | | this.cateList = await list() |
| | | }, |
| | | async getCityTreeList () { |
| | | this.areas = await findTreeList({}) |
| | | }, |
| | | async getCityTree () { |
| | | this.area = await findTreeList({}) |
| | | this.setSecondLevelChildrenToNullPrecise(this.area) |
| | | this.area.forEach(item => { |
| | | if (item.childAreasList.length === 0) { |
| | | item.childAreasList = null |
| | | } |
| | | }) |
| | | }, |
| | | setSecondLevelChildrenToNullPrecise (data, level = 1) { |
| | | if (!data || !data.length) return |
| | | |
| | | data.forEach(item => { |
| | | if (item.childAreasList && item.childAreasList.length) { |
| | | if (level === 1) { |
| | | // è¿æ¯ç¬¬ä¸çº§èç¹ï¼å¤çå
¶åèç¹ï¼ç¬¬äºçº§ï¼ |
| | | item.childAreasList.forEach(child => { |
| | | child.childAreasList = null |
| | | }) |
| | | } else { |
| | | // ç»§ç»éå½å¤çæ´æ·±å±çº§ |
| | | this.setSecondLevelChildrenToNullPrecise(item.childAreasList, level + 1) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | </script> |
| | | <style> |
| | | .v-modal { |
| | | z-index: 2000 !important; |
| | | // z-index: 2000 !important; |
| | | } |
| | | </style> |
| | | <style lang="scss" scoped> |
| | |
| | | <div class="box_dk" v-if="[13].includes(info.status)"> |
| | | <div class="box_dk_title"> |
| | | <i class="el-icon-success"></i> |
| | | <span>å·²ææ¬¾</span> |
| | | <span style="font-weight: bold">å·²ææ¬¾</span> |
| | | </div> |
| | | <div class="box_dk_list"> |
| | | <div class="box_dk_list_row"> |
| | |
| | | <div class="box_desc_title"> |
| | | <span class="box_desc_title_val">æ¥æ¡è¯¦æ
</span> |
| | | <div class="box_desc_title_zt" v-if="info.statusName">{{info.statusName}}</div> |
| | | <div class="box_desc_title_tips" v-if="info.isRisk === 1"> |
| | | <div class="box_desc_title_tips" @click="$refs.riskCaseReminder.open('é£é©æ¡ä»¶æé', info.riskContent)" v-if="info.isRisk === 1"> |
| | | <i class="el-icon-warning"></i> |
| | | <span>é£é©æ¡ä»¶</span> |
| | | </div> |
| | |
| | | <el-button type="primary" @click="register" v-if="[1,2].includes(info.status)">ç«æ¡</el-button> |
| | | <el-button type="primary" @click="$refs.acceptance.open('æ¡ä»¶åç', info.id)" v-if="[3,5].includes(info.status)">åç</el-button> |
| | | <el-button type="primary" @click="addRemark" v-if="![0,1,2,4,13,14].includes(info.status)">夿³¨</el-button> |
| | | <el-button type="primary" @click="addReport(1)" v-if="[3].includes(info.status) && info.reportNumStatus === 0">æ·»å æ¥æ¡å·</el-button> |
| | | <el-button type="primary" @click="addReport(1)" v-if="[3,7,9].includes(info.status) && info.reportNumStatus === 0">æ·»å æ¥æ¡å·</el-button> |
| | | <el-button type="primary" @click="addReport(2)" v-if="[9].includes(info.status) && info.reportNumStatus === 1">ç¼è¾æ¥æ¡å·</el-button> |
| | | <el-button type="primary" @click="$refs.adjustment.open('çç®', info.id, 1)" v-if="[9].includes(info.status)">çç®</el-button> |
| | | <el-button type="primary" @click="$refs.adjustment.open('éæ°çç®', info.id, 1)" v-if="[10].includes(info.status)">éæ°çç®</el-button> |
| | |
| | | <el-button type="primary" @click="supplementaryMaterials" v-if="[9].includes(info.status)">è¡¥å
ææ</el-button> |
| | | <el-button type="primary" @click="$refs.additionMaterial_ba.open('æ·»å ææ', info.id)" v-if="[9,10].includes(info.status)">æ·»å ææ</el-button> |
| | | </template> |
| | | <el-button icon="el-icon-refresh-left" type="primary" circle @click="$refs.caseProgress.open('æ¡ä»¶è¿åº¦', info.settleClaimsLogList)" v-if="![0,13,14].includes(info.status)"></el-button> |
| | | <el-button icon="el-icon-refresh-left" type="primary" title="æ¥çæ¡ä»¶è¿åº¦" circle @click="$refs.caseProgress.open('æ¡ä»¶è¿åº¦', info.settleClaimsLogList)" v-if="![0].includes(info.status)"></el-button> |
| | | </div> |
| | | </div> |
| | | <div class="box_desc_list"> |
| | |
| | | æ¥æ¡äººï¼{{info.informantName}} |
| | | </div> |
| | | <div class="box_desc_list_row"> |
| | | æ¥æ¡äººèç³»æ¹å¼ï¼{{info.informantPhone}} |
| | | æ¥æ¡äººèç³»æ¹å¼ï¼{{info.informantPhone}} |
| | | </div> |
| | | <div class="box_desc_list_zw"></div> |
| | | </div> |
| | | </div> |
| | | <div class="box_fx" v-if="info.isRisk === 1"> |
| | | <div class="box_fx" v-if="info.isRisk === 1 && showIsRisk ===true "> |
| | | <div class="box_fx_left"> |
| | | <i class="el-icon-warning"></i> |
| | | <span class="box_fx_left_a">注æï¼è¯¥æ¡ä»¶æ{{info.riskContent.length}}æ¡é£é©ä¿¡æ¯</span> |
| | | <span class="box_fx_left_b" @click="$refs.riskCaseReminder.open('é£é©æ¡ä»¶æé', info.riskContent)">æ¥ç详æ
</span> |
| | | </div> |
| | | <i class="el-icon-close" @click="info.isRisk = 0"></i> |
| | | <i class="el-icon-close" @click="closeRiskTip"></i> |
| | | </div> |
| | | <div class="box_desc"> |
| | | <div class="box_desc_head"> |
| | |
| | | åºé©äººå§åï¼{{info.memberName}} |
| | | </div> |
| | | <div class="box_desc_list_row"> |
| | | åºé©äººèº«ä»½è¯å·ï¼{{info.memberIdcard}} |
| | | åºé©äººèº«ä»½è¯å·ï¼{{info.idcardNo}} |
| | | </div> |
| | | <div style="width: 33%; height: 0;"></div> |
| | | </div> |
| | |
| | | äºæ
ç±»åï¼{{returnType(info.type)}} |
| | | </div> |
| | | <div class="box_desc_list_row"> |
| | | æ¯å¦æå»çä¿é©ï¼{{returnName(info.medicalInsurance)}} |
| | | æ¯å¦ä¼¤æ®ï¼{{returnName(info.hurtType)}} |
| | | </div> |
| | | <div class="box_desc_list_row"> |
| | | æ¯å¦æå»ä¿ï¼{{returnName(info.medicalInsurance)}} |
| | | </div> |
| | | <div class="box_desc_list_row"> |
| | | å°±è¯ç±»åï¼{{returnInHospital(info.inHospital)}} |
| | |
| | | <span>è¡¥å
ææ</span> |
| | | </div> |
| | | <div class="box_desc_cailiao_list"> |
| | | <PreviewArea :list="info.supplementFileList || []" /> |
| | | <PreviewArea :list="info.supplementFileList || []" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { findById, returnSettle } from '@/api/business/settleClaims' |
| | | import { |
| | | register, |
| | | addReportNum, |
| | | addRemark, |
| | | saveSupplementDescribe, |
| | | updCaseType, |
| | | confirmFee } from '@/api/business/settleRisk' |
| | | register, |
| | | addReportNum, |
| | | addRemark, |
| | | saveSupplementDescribe, |
| | | updCaseType, |
| | | confirmFee |
| | | } from '@/api/business/settleRisk' |
| | | import RiskCaseReminder from '@/components/business/riskCaseReminder' |
| | | import CaseProgress from '@/components/business/caseProgress' |
| | | import Acceptance from '@/components/business/acceptance' |
| | |
| | | components: { GlobalWindow, MakePayment, PreviewArea, PaymentInformation, CompensationDetails, RiskCaseReminder, CaseProgress, Acceptance, AdditionMaterial_ba, adjustment }, |
| | | data () { |
| | | return { |
| | | info: null, |
| | | id: null |
| | | info: null, |
| | | id: null, |
| | | showIsRisk: true |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, id) { |
| | | this.title = title |
| | | this.id = id |
| | | open (title, id) { |
| | | this.title = title |
| | | this.id = id |
| | | this.getDetail() |
| | | }, |
| | | closeRiskTip(){ |
| | | this.showIsRisk= false |
| | | }, |
| | | setCaseType (e) { |
| | | updCaseType({ id: this.id, caseType: e }) |
| | | .then(res => { |
| | | this.getDetail() |
| | | }, |
| | | setCaseType(e) { |
| | | updCaseType({ id: this.id, caseType: e }) |
| | | .then(res => { |
| | | this.getDetail() |
| | | }) |
| | | }, |
| | | supplementaryMaterials() { |
| | | this.$prompt('è¡¥å
说æ', 'è¡¥å
ææ', { |
| | | confirmButtonText: 'æäº¤', |
| | | cancelButtonText: 'åæ¶', |
| | | inputPattern: /^(?:.|\n)+$/, |
| | | inputErrorMessage: 'è¡¥å
说æä¸è½ä¸ºç©ºï¼', |
| | | beforeClose: (action, instance, done) => { |
| | | if (action === 'confirm') { |
| | | instance.confirmButtonLoading = true; |
| | | saveSupplementDescribe({ id: this.id, describe: instance.inputValue }) |
| | | .finally(() => { |
| | | done(); |
| | | instance.confirmButtonLoading = false; |
| | | }) |
| | | } else { |
| | | done(); |
| | | } |
| | | } |
| | | }).then(({ value }) => { |
| | | this.getDetail() |
| | | }).catch(() => { |
| | | }) |
| | | }, |
| | | supplementaryMaterials () { |
| | | this.$prompt('è¡¥å
说æ', 'è¡¥å
ææ', { |
| | | confirmButtonText: 'æäº¤', |
| | | cancelButtonText: 'åæ¶', |
| | | inputType: 'textarea', |
| | | inputPattern: /^(?:.|\n)+$/, |
| | | inputErrorMessage: 'è¡¥å
说æä¸è½ä¸ºç©ºï¼', |
| | | beforeClose: (action, instance, done) => { |
| | | if (action === 'confirm') { |
| | | instance.confirmButtonLoading = true |
| | | saveSupplementDescribe({ id: this.id, describe: instance.inputValue }) |
| | | .then((res) => { |
| | | done() |
| | | }) |
| | | .catch((data) => { |
| | | this.$message.error(data.message) |
| | | }) |
| | | .finally(() => { |
| | | instance.confirmButtonLoading = false |
| | | }) |
| | | } else { |
| | | done() |
| | | } |
| | | } |
| | | }).then(({ value }) => { |
| | | this.getDetail() |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | }, |
| | | addRemark() { |
| | | this.$prompt('夿³¨', 'æ·»å 夿³¨', { |
| | | confirmButtonText: 'æ·»å ', |
| | | cancelButtonText: 'åæ¶', |
| | | inputPattern: /^(?:.|\n)+$/, |
| | | inputErrorMessage: '夿³¨ä¸è½ä¸ºç©ºï¼', |
| | | beforeClose: (action, instance, done) => { |
| | | if (action === 'confirm') { |
| | | instance.confirmButtonLoading = true; |
| | | addRemark({ id: this.id, describe: instance.inputValue }) |
| | | .finally(() => { |
| | | done(); |
| | | instance.confirmButtonLoading = false; |
| | | }) |
| | | } else { |
| | | done(); |
| | | } |
| | | } |
| | | }).then(({ value }) => { |
| | | this.getDetail() |
| | | }).catch(() => { |
| | | }) |
| | | }, |
| | | addRemark () { |
| | | this.$prompt('夿³¨', 'æ·»å 夿³¨', { |
| | | confirmButtonText: 'æ·»å ', |
| | | cancelButtonText: 'åæ¶', |
| | | inputType: 'textarea', |
| | | inputPattern: /^(?:.|\n)+$/, |
| | | inputErrorMessage: '夿³¨ä¸è½ä¸ºç©ºï¼', |
| | | beforeClose: (action, instance, done) => { |
| | | if (action === 'confirm') { |
| | | instance.confirmButtonLoading = true |
| | | addRemark({ id: this.id, describe: instance.inputValue }) |
| | | .then((res) => { |
| | | done() |
| | | }) |
| | | .catch((data) => { |
| | | this.$message.error(data.message) |
| | | }) |
| | | .finally(() => { |
| | | instance.confirmButtonLoading = false |
| | | }) |
| | | } else { |
| | | done() |
| | | } |
| | | } |
| | | }).then(({ value }) => { |
| | | this.getDetail() |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | }, |
| | | addReport(type) { |
| | | this.$prompt(`æ¥æ¡å·`, `${type === 1 ? 'æ·»å æ¥æ¡å·' : 'ç¼è¾æ¥æ¡å·'}`, { |
| | | confirmButtonText: 'æ·»å ', |
| | | cancelButtonText: 'åæ¶', |
| | | inputPattern: /^(?:.|\n)+$/, |
| | | inputErrorMessage: 'æ¥æ¡å·ä¸è½ä¸ºç©ºï¼', |
| | | beforeClose: (action, instance, done) => { |
| | | if (action === 'confirm') { |
| | | instance.confirmButtonLoading = true; |
| | | addReportNum({ id: this.id, reportNum: instance.inputValue }) |
| | | .finally(() => { |
| | | done(); |
| | | instance.confirmButtonLoading = false; |
| | | }) |
| | | } else { |
| | | done(); |
| | | } |
| | | } |
| | | }).then(({ value }) => { |
| | | this.getDetail() |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | }, |
| | | register() { |
| | | this.$prompt('ç«æ¡è¯´æ', 'ç«æ¡', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | beforeClose: (action, instance, done) => { |
| | | if (action === 'confirm') { |
| | | instance.confirmButtonLoading = true; |
| | | register({ id: this.id, describe: instance.inputValue, registerStatus: 3 }) |
| | | .finally(() => { |
| | | done(); |
| | | instance.confirmButtonLoading = false; |
| | | }) |
| | | } else { |
| | | done(); |
| | | } |
| | | } |
| | | }).then(({ value }) => { |
| | | this.getDetail() |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | }, |
| | | returnCase() { |
| | | this.$prompt('éå说æ', 'éå', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | inputPattern: /^(?:.|\n)+$/, |
| | | inputErrorMessage: 'éå说æä¸è½ä¸ºç©ºï¼', |
| | | beforeClose: (action, instance, done) => { |
| | | if (action === 'confirm') { |
| | | instance.confirmButtonLoading = true; |
| | | register({ id: this.id, describe: instance.inputValue, registerStatus: 4 }) |
| | | .finally(() => { |
| | | done(); |
| | | instance.confirmButtonLoading = false; |
| | | }) |
| | | } else { |
| | | done(); |
| | | } |
| | | } |
| | | }).then(({ value }) => { |
| | | this.getDetail() |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | }, |
| | | getDetail() { |
| | | findById(this.id) |
| | | .then(res => { |
| | | res.riskContent = JSON.parse(res.riskContent) |
| | | this.info = res |
| | | this.visible = true |
| | | }) |
| | | }, |
| | | addReport (type) { |
| | | this.$prompt('æ¥æ¡å·', `${type === 1 ? 'æ·»å æ¥æ¡å·' : 'ç¼è¾æ¥æ¡å·'}`, { |
| | | confirmButtonText: 'æ·»å ', |
| | | cancelButtonText: 'åæ¶', |
| | | inputPattern: /^(?:.|\n)+$/, |
| | | inputErrorMessage: 'æ¥æ¡å·ä¸è½ä¸ºç©ºï¼', |
| | | beforeClose: (action, instance, done) => { |
| | | if (action === 'confirm') { |
| | | instance.confirmButtonLoading = true |
| | | addReportNum({ id: this.id, reportNum: instance.inputValue }) |
| | | .then((res) => { |
| | | done() |
| | | }) |
| | | }, |
| | | // æ¤é |
| | | revoke(id) { |
| | | this.$confirm('æ¤éåï¼æ¡ä»¶ç´æ¥ç»æï¼æ æ³ç»§ç»è¿è¡çèµæä½ï¼', 'æ¯å¦æ¤éæ¥æ¡ï¼', { |
| | | confirmButtonText: 'ç¡®å®æ¤é', |
| | | cancelButtonText: 'æåæ³æ³', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | returnSettle({ id: this.info.id }) |
| | | .then(res => { |
| | | this.getDetail() |
| | | }) |
| | | }).catch(() => { |
| | | .catch((data) => { |
| | | this.$message.error(data.message) |
| | | }) |
| | | .finally(() => { |
| | | instance.confirmButtonLoading = false |
| | | }) |
| | | } else { |
| | | done() |
| | | } |
| | | } |
| | | }).then(({ value }) => { |
| | | this.getDetail() |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | }, |
| | | returnInHospital(type) { |
| | | switch (type) { |
| | | case 0: |
| | | return 'ä½é¢' |
| | | case 1: |
| | | return 'é¨è¯' |
| | | }) |
| | | }, |
| | | register () { |
| | | this.$prompt('ç«æ¡è¯´æ', 'ç«æ¡', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | inputType: 'textarea', |
| | | beforeClose: (action, instance, done) => { |
| | | if (action === 'confirm') { |
| | | instance.confirmButtonLoading = true |
| | | register({ id: this.id, describe: instance.inputValue, registerStatus: 3 }) |
| | | .then((res) => { |
| | | done() |
| | | }) |
| | | .catch((data) => { |
| | | this.$message.error(data.message) |
| | | }) |
| | | .finally(() => { |
| | | instance.confirmButtonLoading = false |
| | | }) |
| | | } else { |
| | | done() |
| | | } |
| | | }, |
| | | returnName(type) { |
| | | switch (type) { |
| | | case 0: |
| | | return 'æ¯' |
| | | case 1: |
| | | return 'å¦' |
| | | } |
| | | }, |
| | | returnType(type) { |
| | | switch (type) { |
| | | case 0: |
| | | return '工使é´å伤' |
| | | case 1: |
| | | return 'ä¸ä¸çéä¸å伤' |
| | | case 2: |
| | | return 'é工使¶é´å伤' |
| | | case 3: |
| | | return 'æå¤å伤' |
| | | } |
| | | }, |
| | | confirmFeeInfo() { |
| | | this.$confirm('æ¯å¦ç¡®è®¤èµä»éé¢?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | confirmFee(this.id) |
| | | .then(res => { |
| | | this.getDetail() |
| | | }) |
| | | }).catch(() => { |
| | | } |
| | | }).then(({ value }) => { |
| | | this.getDetail() |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | }, |
| | | }) |
| | | }, |
| | | returnCase () { |
| | | this.$prompt('éå说æ', 'éå', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | inputType: 'textarea', |
| | | inputPattern: /^(?:.|\n)+$/, |
| | | inputErrorMessage: 'éå说æä¸è½ä¸ºç©ºï¼', |
| | | beforeClose: (action, instance, done) => { |
| | | if (action === 'confirm') { |
| | | instance.confirmButtonLoading = true |
| | | register({ id: this.id, describe: instance.inputValue, registerStatus: 4 }) |
| | | .then((res) => { |
| | | done() |
| | | }) |
| | | .catch((data) => { |
| | | this.$message.error(data.message) |
| | | }) |
| | | .finally(() => { |
| | | instance.confirmButtonLoading = false |
| | | }) |
| | | } else { |
| | | done() |
| | | } |
| | | } |
| | | }).then(({ value }) => { |
| | | this.getDetail() |
| | | }).catch(() => { |
| | | |
| | | }) |
| | | }, |
| | | getDetail () { |
| | | findById(this.id) |
| | | .then(res => { |
| | | res.riskContent = JSON.parse(res.riskContent) |
| | | this.info = res |
| | | this.info.showIsRisk = true |
| | | this.visible = true |
| | | }) |
| | | }, |
| | | // æ¤é |
| | | revoke (id) { |
| | | this.$confirm('æ¤éåï¼æ¡ä»¶ç´æ¥ç»æï¼æ æ³ç»§ç»è¿è¡çèµæä½ï¼', 'æ¯å¦æ¤éæ¥æ¡ï¼', { |
| | | confirmButtonText: 'ç¡®å®æ¤é', |
| | | cancelButtonText: 'æåæ³æ³', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | returnSettle({ id: this.info.id }) |
| | | .then(res => { |
| | | this.getDetail() |
| | | }) |
| | | }).catch(() => { |
| | | |
| | | }) |
| | | }, |
| | | returnInHospital (type) { |
| | | switch (type) { |
| | | case 0: |
| | | return 'ä½é¢' |
| | | case 1: |
| | | return 'é¨è¯' |
| | | } |
| | | }, |
| | | returnName (type) { |
| | | switch (type) { |
| | | case 0: |
| | | return 'æ¯' |
| | | case 1: |
| | | return 'å¦' |
| | | case 2: |
| | | return 'å¾
ç¡®å®' |
| | | default: |
| | | return '' |
| | | } |
| | | }, |
| | | returnType (type) { |
| | | switch (type) { |
| | | case 0: |
| | | return '工使é´å伤' |
| | | case 1: |
| | | return 'ä¸ä¸çéä¸å伤' |
| | | case 2: |
| | | return 'é工使¶é´å伤' |
| | | case 3: |
| | | return 'æå¤å伤' |
| | | } |
| | | }, |
| | | confirmFeeInfo () { |
| | | this.$confirm('æ¯å¦ç¡®è®¤èµä»éé¢?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | confirmFee(this.id) |
| | | .then(res => { |
| | | this.getDetail() |
| | | }) |
| | | }).catch(() => { |
| | | |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .box { |
| | | //margin-left: 30px; |
| | | width: 100%; |
| | | .box_tui { |
| | | width: 100%; |
| | |
| | | .box_desc_head { |
| | | width: 100%; |
| | | display: flex; |
| | | font-weight: bold; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-bottom: 26px; |
| | |
| | | margin-right: 20px; |
| | | } |
| | | .box_desc_title_tips { |
| | | cursor: pointer; |
| | | width: 84px; |
| | | height: 25px; |
| | | border-radius: 15px; |
| | |
| | | <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" |
| | | border |
| | |
| | | </template> |
| | | </u-table-column> |
| | | </u-table> |
| | | </el-form-item> |
| | | </div> |
| | | <el-form-item label="é£é©è®¾ç½®" prop="risk"> |
| | | <div class="tx"> |
| | |
| | | </div> |
| | | <div class="tx_item_content"> |
| | | <span>è§å设置ï¼å
许åºé©æ¶é´å¨ä¿åçæå</span> |
| | | <el-input-number style="margin: 0 15px;" v-model="form.riskNewUserTime" :min="1"></el-input-number> |
| | | <el-select v-model="form.riskNewUserUnit" style="width: 100px; margin-right: 15px;" placeholder="è¯·éæ©"> |
| | | <el-input-number style="margin: 0 15px;" :disabled="form.riskNewUserStatus === 0" v-model="form.riskNewUserTime" :min="1"></el-input-number> |
| | | <el-select v-model="form.riskNewUserUnit" :disabled="form.riskNewUserStatus === 0" style="width: 100px; margin-right: 15px;" placeholder="è¯·éæ©"> |
| | | <el-option label="å°æ¶" :value="1"></el-option> |
| | | <el-option label="天" :value="2"></el-option> |
| | | </el-select> |
| | |
| | | correctWarnTime: [ |
| | | { required: true, message: '请è¾å
¥æ¹æ¹æéæ¶é´' } |
| | | ], |
| | | worktypeIdList: [ |
| | | { required: true, message: '请å®åå·¥ç§ä¿¡æ¯' } |
| | | ], |
| | | canAdd: [ |
| | | { required: true, validator: canAddFun } |
| | | ] |
| | |
| | | :title="title" |
| | | width="50%" |
| | | :withFooter="false" |
| | | :visible.sync="visible" |
| | | :visible.sync="visible"æ¯å¦ |
| | | :confirm-working="isWorking" |
| | | > |
| | | <el-timeline reverse> |
| | |
| | | <div style="display: flex; flex-direction: column;"> |
| | | <span class="a">{{item.title}}</span> |
| | | <span class="b">{{item.creatorName}} {{item.companyName || 'å¹³å°çèµå'}} {{item.createDate }}</span> |
| | | <span class="c">说æï¼{{item.content}}</span> |
| | | <span class="c" v-if="index>0">说æï¼{{item.content}}</span> |
| | | </div> |
| | | </el-timeline-item> |
| | | </el-timeline> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <template v-slot:footer> |
| | | <el-button @click="close">è¿å</el-button> |
| | | </template> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { createLabels, list, labelsDeleteById } from '@/api/business/knowledge' |
| | | export default { |
| | | name: 'tagLibrary', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | return { |
| | | value: '', |
| | | list: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/knowledge', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | async open(title, target) { |
| | | this.title = title |
| | | await this.getData() |
| | | this.visible = true |
| | | }, |
| | | async getData() { |
| | | this.list = await list() |
| | | }, |
| | | // æ·»å æ ç¾ |
| | | async add() { |
| | | if (!this.value) return this.$message.warning('请å
è¾å
¥å
容') |
| | | let res = await createLabels({ name: this.value }) |
| | | await this.getData() |
| | | this.$emit('refresh') |
| | | this.value = '' |
| | | this.$message.success('æ·»å æå') |
| | | }, |
| | | // å é¤ |
| | | async dele(id) { |
| | | let res = await labelsDeleteById(id) |
| | | await this.getData() |
| | | this.$emit('refresh') |
| | | this.$message.success('å 餿å') |
| | | } |
| | | } |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { createLabels, list, labelsDeleteById } from '@/api/business/knowledge' |
| | | export default { |
| | | name: 'tagLibrary', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | return { |
| | | value: '', |
| | | list: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/knowledge', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | async open (title, target) { |
| | | this.title = title |
| | | await this.getData() |
| | | this.visible = true |
| | | }, |
| | | async getData () { |
| | | this.list = await list() |
| | | }, |
| | | // æ·»å æ ç¾ |
| | | async add () { |
| | | if (!this.value) return this.$message.warning('请å
è¾å
¥å
容') |
| | | createLabels({ name: this.value }) |
| | | .then(() => { |
| | | this.$message.success('æ·»å æå') |
| | | this.$emit('success') |
| | | this.getData() |
| | | this.$emit('refresh') |
| | | this.value = '' |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | }, |
| | | // å é¤ |
| | | async dele (id) { |
| | | labelsDeleteById(id) |
| | | .then(() => { |
| | | this.$message.success('å 餿å') |
| | | this.$emit('success') |
| | | this.getData() |
| | | this.$emit('refresh') |
| | | this.value = '' |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | |
| | | <template> |
| | | <template :append-to-body="true"> |
| | | <div class="box_item_list_row_l"> |
| | | <div class="desc_data_list_item" v-for="(item, index) in list" :key="index"> |
| | | <div class="desc_data_list_item_img" v-if="item.type === 0"> |
| | | <el-image |
| | | style="width: 100%; height: 100%" |
| | | style="width: 100%; height: 100%;" |
| | | :src="item.fileurlFull" |
| | | :preview-teleported="true" |
| | | :append-to-body="true" |
| | | :preview-src-list="[item.fileurlFull]"> |
| | | </el-image> |
| | | </div> |
| | |
| | | props: { |
| | | list: { |
| | | type: Array, |
| | | default: ()=> [] |
| | | default: ()=> [] |
| | | } |
| | | }, |
| | | methods: { |
| | | openFile(url) { |
| | | window.open(url) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | .el-image-viewer__wrapper{ |
| | | z-index: 9999 !important; |
| | | } |
| | | </style> |
| | | <style lang="scss" scoped> |
| | | .box_item_list_row_l { |
| | | |
| | | .box_item_list_row_l { |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import upload from '@/components/common/upload' |
| | | import { saveSettleClaims } from '@/api/business/settleRisk' |
| | | import { findById } from '@/api/business/settleClaims' |
| | | import { findListByDTO } from '@/api/business/member' |
| | | import { findList } from '@/api/business/applyChange' |
| | | import { findTreeList } from '@/api/business/knowledge' |
| | | import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow' |
| | | import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow' |
| | | import OperaSettleClaimsWindow from '@/components/business/OperaSettleClaimsWindow' |
| | | import { mapState } from 'vuex' |
| | | export default { |
| | | name: 'onlineReporting', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, upload, OperaSettleClaimsWindow, OperaWtbApplyShopWindow, OperaInsuranceApplyDetails }, |
| | | computed: { |
| | | ...mapState(['userInfo']) |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import upload from '@/components/common/upload' |
| | | import { saveSettleClaims } from '@/api/business/settleRisk' |
| | | import { findById } from '@/api/business/settleClaims' |
| | | import { findListByDTO } from '@/api/business/member' |
| | | import { findList } from '@/api/business/applyChange' |
| | | import { findTreeList } from '@/api/business/knowledge' |
| | | import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow' |
| | | import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow' |
| | | import OperaSettleClaimsWindow from '@/components/business/OperaSettleClaimsWindow' |
| | | import { mapState } from 'vuex' |
| | | export default { |
| | | name: 'onlineReporting', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, upload, OperaSettleClaimsWindow, OperaWtbApplyShopWindow, OperaInsuranceApplyDetails }, |
| | | computed: { |
| | | ...mapState(['userInfo']) |
| | | }, |
| | | data () { |
| | | return { |
| | | i: 0, |
| | | id: null, |
| | | statusList: [ |
| | | { |
| | | name: 'å¡«ååºé©ä¿¡æ¯', |
| | | info: 'å®ææ¥æ¡åºç¡ä¿¡æ¯å¡«å' |
| | | }, |
| | | data () { |
| | | return { |
| | | i: 0, |
| | | id: null, |
| | | statusList: [ |
| | | { |
| | | name: 'å¡«ååºé©ä¿¡æ¯', |
| | | info: 'å®ææ¥æ¡åºç¡ä¿¡æ¯å¡«å' |
| | | }, |
| | | { |
| | | name: 'ä¸ä¼ çèµææ', |
| | | info: 'è¡¥å
éè¦çèµçç¸å
³èµæ' |
| | | }, |
| | | { |
| | | name: 'å®ææ¥æ¡', |
| | | info: 'æäº¤æ¥æ¡ä¿¡æ¯' |
| | | } |
| | | ], |
| | | form: { |
| | | id: null, |
| | | memberId: '', |
| | | idcardNo: '', |
| | | insuranceApplyId: '', |
| | | happenTime: '', |
| | | hospital: '', |
| | | area: [], |
| | | areaId: '', |
| | | address: '', |
| | | areaInfo: '', |
| | | content: '', |
| | | type: 0, |
| | | inHospital: 0, |
| | | hurtType: 0, |
| | | medicalInsurance: 0, |
| | | reportFileList: [], |
| | | informantName: '', |
| | | informantPhone: '', |
| | | |
| | | relationFileList: [], |
| | | outpatientFileList: [], |
| | | hospitalFileList: [], |
| | | disabilityFileList: [], |
| | | otherFileList: [], |
| | | |
| | | applyDetailId: '', |
| | | solutionId: '', |
| | | worktypeId: '', |
| | | duId: '', |
| | | receiveBank: '', |
| | | receiveUserName: '', |
| | | receiveAccount: '' |
| | | }, |
| | | rules: { |
| | | receiveAccount: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | receiveUserName: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | receiveBank: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | memberId: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | idcardNo: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | happenTime: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | content: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | type: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | inHospital: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | hurtType: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | medicalInsurance: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | informantName: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | informantPhone: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | }, |
| | | pickerOptions: {}, |
| | | area: [], |
| | | user: [], |
| | | solutionList: [] |
| | | } |
| | | { |
| | | name: 'ä¸ä¼ çèµææ', |
| | | info: 'è¡¥å
éè¦çèµçç¸å
³èµæ' |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/settleClaims', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, id) { |
| | | this.title = title |
| | | this.form.area = [] |
| | | this.i = 0 |
| | | this.solutionList = [] |
| | | this.area = [] |
| | | this.user = [] |
| | | this.getUser() |
| | | this.getCityTree() |
| | | if (id) { |
| | | findById(id) |
| | | .then(res => { |
| | | this.visible = true |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = res[key] |
| | | } |
| | | if (this.form.areaId) { |
| | | this.form.area = this.form.areaId.split(',').map(item => Number(item)) |
| | | } |
| | | findList({ memberId: this.form.memberId }) |
| | | .then(res1 => { |
| | | res1.forEach(item => { |
| | | if (item.id === res.applyDetailId) { |
| | | item.active = true |
| | | this.pickerOptions = { |
| | | disabledDate(time) { |
| | | return time.getTime() < new Date(item.parentStartTime).getTime() || time.getTime() > new Date(item.parentEndTime).getTime() |
| | | } |
| | | }; |
| | | } else { |
| | | item.active = false |
| | | } |
| | | }) |
| | | this.solutionList = res1 |
| | | }) |
| | | }) |
| | | }) |
| | | } else { |
| | | this.visible = true |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form.informantName = this.userInfo.realname |
| | | }) |
| | | } |
| | | }, |
| | | continueReporting() { |
| | | this.i = 0 |
| | | this.id = null |
| | | this.pickerOptions = {} |
| | | this.solutionList = [] |
| | | this.form = { |
| | | id: null, |
| | | memberId: '', |
| | | idcardNo: '', |
| | | insuranceApplyId: '', |
| | | happenTime: '', |
| | | hospital: '', |
| | | area: [], |
| | | areaId: '', |
| | | address: '', |
| | | areaInfo: '', |
| | | content: '', |
| | | type: 0, |
| | | inHospital: 0, |
| | | hurtType: 0, |
| | | medicalInsurance: 0, |
| | | reportFileList: [], |
| | | informantName: '', |
| | | informantPhone: '', |
| | | |
| | | relationFileList: [], |
| | | outpatientFileList: [], |
| | | hospitalFileList: [], |
| | | disabilityFileList: [], |
| | | otherFileList: [], |
| | | |
| | | applyDetailId: '', |
| | | solutionId: '', |
| | | worktypeId: '', |
| | | duId: '', |
| | | receiveBank: '', |
| | | receiveUserName: '', |
| | | receiveAccount: '' |
| | | } |
| | | }, |
| | | changeArea(e) { |
| | | if (!e && e.length === 0) { |
| | | this.form.areaId = '' |
| | | this.form.areaInfo = '' |
| | | } else { |
| | | this.form.areaId = e.join(',') |
| | | this.form.areaInfo = this.$refs.cascader.getCheckedNodes()[0].pathLabels.join(',') |
| | | } |
| | | }, |
| | | async getCityTree() { |
| | | this.area = await findTreeList({}) |
| | | this.setSecondLevelChildrenToNullPrecise(this.area); |
| | | }, |
| | | setSecondLevelChildrenToNullPrecise(data, level = 1) { |
| | | if (!data || !data.length) return; |
| | | |
| | | data.forEach(item => { |
| | | if (item.childAreasList && item.childAreasList.length) { |
| | | if (level === 2) { |
| | | // è¿æ¯ç¬¬ä¸çº§èç¹ï¼å¤çå
¶åèç¹ï¼ç¬¬äºçº§ï¼ |
| | | item.childAreasList.forEach(child => { |
| | | child.childAreasList = null; |
| | | }); |
| | | } else { |
| | | // ç»§ç»éå½å¤çæ´æ·±å±çº§ |
| | | this.setSecondLevelChildrenToNullPrecise(item.childAreasList, level + 1); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | getUser() { |
| | | findListByDTO({}) |
| | | .then(res => { |
| | | this.user = res |
| | | }) |
| | | }, |
| | | delFile(index, type) { |
| | | if (type === 1) { |
| | | this.form.relationFileList.splice(index, 1) |
| | | } else if (type === 2) { |
| | | this.form.outpatientFileList.splice(index, 1) |
| | | } else if (type === 3) { |
| | | this.form.hospitalFileList.splice(index, 1) |
| | | } else if (type === 4) { |
| | | this.form.disabilityFileList.splice(index, 1) |
| | | } else if (type === 5) { |
| | | this.form.otherFileList.splice(index, 1) |
| | | } else if (type === 6) { |
| | | this.form.reportFileList.splice(index, 1) |
| | | } |
| | | }, |
| | | claimsUploadFile(file, type) { |
| | | file.fileurl = file.imgaddr |
| | | file.name = file.originname |
| | | file.fileurlFull = file.url |
| | | if (type === 1) { |
| | | this.form.relationFileList.push(file) |
| | | } else if (type === 2) { |
| | | this.form.outpatientFileList.push(file) |
| | | } else if (type === 3) { |
| | | this.form.hospitalFileList.push(file) |
| | | } else if (type === 4) { |
| | | this.form.disabilityFileList.push(file) |
| | | } else if (type === 5) { |
| | | this.form.otherFileList.push(file) |
| | | } else if (type === 6) { |
| | | this.form.reportFileList.push(file) |
| | | } |
| | | }, |
| | | getSolutions(id) { |
| | | let row = this.user.filter(item => item.id === id) |
| | | this.form.idcardNo = row[0].idcardNo |
| | | findList({ memberId: id }) |
| | | .then(res => { |
| | | this.form.insuranceApplyId = '' |
| | | res.forEach(item => { |
| | | item.active = false |
| | | }) |
| | | this.solutionList = res |
| | | }) |
| | | }, |
| | | changeSolution(e, i) { |
| | | this.solutionList.forEach((item, index) => { |
| | | item.active = i === index |
| | | }) |
| | | let obj = this.solutionList.filter(item => item.active)[0] |
| | | this.form.insuranceApplyId = obj.applyId |
| | | this.form.solutionId = obj.solutionId |
| | | this.form.worktypeId = obj.worktypeId |
| | | this.form.duId = obj.duId |
| | | this.form.applyDetailId = obj.id |
| | | this.form.happenTime = '' |
| | | this.pickerOptions = { |
| | | disabledDate(time) { |
| | | return time.getTime() < new Date(obj.parentStartTime).getTime() || time.getTime() > new Date(obj.parentEndTime).getTime() |
| | | } |
| | | }; |
| | | }, |
| | | // æ¥çä¿å详æ
|
| | | jumpSolutionDetail(id, solutionType) { |
| | | if (solutionType === 1) { |
| | | this.$refs.OperaWtbApplyShopWindow.open('å§ææä¿è¯¦æ
', { id: id }) |
| | | } else { |
| | | this.$refs.OperaInsuranceApplyDetails.open('æä¿è¯¦æ
', { id: id }) |
| | | } |
| | | }, |
| | | confirm(saveType) { |
| | | this.isWorking = true |
| | | saveSettleClaims({...this.form, saveType}) |
| | | .then(res => { |
| | | console.log(res) |
| | | if (saveType === 0) { |
| | | this.visible = false |
| | | } else { |
| | | this.id = res |
| | | this.i = 2 |
| | | } |
| | | this.$emit('success') |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | }, |
| | | next() { |
| | | this.$refs.form.validate((valid) => { |
| | | if (!valid) return |
| | | this.i++ |
| | | // this.isWorking = true |
| | | // createSys(obj) |
| | | // .then(() => { |
| | | // this.visible = false |
| | | // this.$emit('success') |
| | | // }) |
| | | // .catch(e => { |
| | | // this.$tip.apiFailed(e) |
| | | // }) |
| | | // .finally(() => { |
| | | // this.isWorking = false |
| | | // }) |
| | | }) |
| | | } |
| | | { |
| | | name: 'å®ææ¥æ¡', |
| | | info: 'æäº¤æ¥æ¡ä¿¡æ¯' |
| | | } |
| | | ], |
| | | form: { |
| | | id: null, |
| | | memberId: '', |
| | | idcardNo: '', |
| | | insuranceApplyId: '', |
| | | happenTime: '', |
| | | hospital: '', |
| | | area: [], |
| | | areaId: '', |
| | | address: '', |
| | | areaInfo: '', |
| | | content: '', |
| | | type: 0, |
| | | inHospital: 0, |
| | | hurtType: 0, |
| | | medicalInsurance: 0, |
| | | reportFileList: [], |
| | | informantName: '', |
| | | informantPhone: '', |
| | | |
| | | relationFileList: [], |
| | | outpatientFileList: [], |
| | | hospitalFileList: [], |
| | | disabilityFileList: [], |
| | | otherFileList: [], |
| | | |
| | | applyDetailId: '', |
| | | solutionId: '', |
| | | worktypeId: '', |
| | | duId: '', |
| | | receiveBank: '', |
| | | receiveUserName: '', |
| | | receiveAccount: '' |
| | | }, |
| | | rules: { |
| | | receiveAccount: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | receiveUserName: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | receiveBank: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | memberId: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | idcardNo: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | happenTime: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | content: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | type: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | inHospital: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | hurtType: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | medicalInsurance: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | informantName: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ], |
| | | informantPhone: [ |
| | | { required: true, message: 'ä¸è½ä¸ºç©º' } |
| | | ] |
| | | }, |
| | | pickerOptions: { |
| | | disabledDate(time) { |
| | | return time.getTime() > Date.now(); // ç¦ç¨æªæ¥çæ¥æ |
| | | } |
| | | }, |
| | | area: [], |
| | | user: [], |
| | | solutionList: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/settleClaims', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, id) { |
| | | this.title = title |
| | | this.form.area = [] |
| | | this.i = 0 |
| | | this.solutionList = [] |
| | | this.area = [] |
| | | this.user = [] |
| | | this.getUser() |
| | | this.getCityTree() |
| | | if (id) { |
| | | findById(id) |
| | | .then(res => { |
| | | this.visible = true |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = res[key] |
| | | } |
| | | if (this.form.areaId) { |
| | | this.form.area = this.form.areaId.split(',').map(item => Number(item)) |
| | | } |
| | | findList({ memberId: this.form.memberId }) |
| | | .then(res1 => { |
| | | res1.forEach(item => { |
| | | if (item.id === res.applyDetailId) { |
| | | item.active = true |
| | | this.pickerOptions = { |
| | | disabledDate (time) { |
| | | var start = new Date(item.startTime) |
| | | var end = new Date(item.endTime) |
| | | return ( time.getTime() < start.getTime() || time.getTime()>end.getTime()) |
| | | } |
| | | } |
| | | } else { |
| | | item.active = false |
| | | } |
| | | }) |
| | | this.solutionList = res1 |
| | | }) |
| | | }) |
| | | }) |
| | | } else { |
| | | this.visible = true |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form.informantName = this.userInfo.realname |
| | | }) |
| | | } |
| | | }, |
| | | continueReporting () { |
| | | this.i = 0 |
| | | this.id = null |
| | | this.pickerOptions = {} |
| | | this.solutionList = [] |
| | | this.form = { |
| | | id: null, |
| | | memberId: '', |
| | | idcardNo: '', |
| | | insuranceApplyId: '', |
| | | happenTime: '', |
| | | hospital: '', |
| | | area: [], |
| | | areaId: '', |
| | | address: '', |
| | | areaInfo: '', |
| | | content: '', |
| | | type: 0, |
| | | inHospital: 0, |
| | | hurtType: 0, |
| | | medicalInsurance: 0, |
| | | reportFileList: [], |
| | | informantName: '', |
| | | informantPhone: '', |
| | | |
| | | relationFileList: [], |
| | | outpatientFileList: [], |
| | | hospitalFileList: [], |
| | | disabilityFileList: [], |
| | | otherFileList: [], |
| | | |
| | | applyDetailId: '', |
| | | solutionId: '', |
| | | worktypeId: '', |
| | | duId: '', |
| | | receiveBank: '', |
| | | receiveUserName: '', |
| | | receiveAccount: '' |
| | | } |
| | | }, |
| | | changeArea (e) { |
| | | if (!e && e.length === 0) { |
| | | this.form.areaId = '' |
| | | this.form.areaInfo = '' |
| | | } else { |
| | | this.form.areaId = e.join(',') |
| | | this.form.areaInfo = this.$refs.cascader.getCheckedNodes()[0].pathLabels.join(',') |
| | | } |
| | | }, |
| | | async getCityTree () { |
| | | this.area = await findTreeList({}) |
| | | this.setSecondLevelChildrenToNullPrecise(this.area) |
| | | }, |
| | | setSecondLevelChildrenToNullPrecise (data, level = 1) { |
| | | if (!data || !data.length) return |
| | | |
| | | data.forEach(item => { |
| | | if (item.childAreasList && item.childAreasList.length) { |
| | | if (level === 2) { |
| | | // è¿æ¯ç¬¬ä¸çº§èç¹ï¼å¤çå
¶åèç¹ï¼ç¬¬äºçº§ï¼ |
| | | item.childAreasList.forEach(child => { |
| | | child.childAreasList = null |
| | | }) |
| | | } else { |
| | | // ç»§ç»éå½å¤çæ´æ·±å±çº§ |
| | | this.setSecondLevelChildrenToNullPrecise(item.childAreasList, level + 1) |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | getUser () { |
| | | findListByDTO({}) |
| | | .then(res => { |
| | | this.user = res |
| | | }) |
| | | }, |
| | | delFile (index, type) { |
| | | if (type === 1) { |
| | | this.form.relationFileList.splice(index, 1) |
| | | } else if (type === 2) { |
| | | this.form.outpatientFileList.splice(index, 1) |
| | | } else if (type === 3) { |
| | | this.form.hospitalFileList.splice(index, 1) |
| | | } else if (type === 4) { |
| | | this.form.disabilityFileList.splice(index, 1) |
| | | } else if (type === 5) { |
| | | this.form.otherFileList.splice(index, 1) |
| | | } else if (type === 6) { |
| | | this.form.reportFileList.splice(index, 1) |
| | | } |
| | | }, |
| | | claimsUploadFile (file, type) { |
| | | file.fileurl = file.imgaddr |
| | | file.name = file.originname |
| | | file.fileurlFull = file.url |
| | | if (type === 1) { |
| | | this.form.relationFileList.push(file) |
| | | } else if (type === 2) { |
| | | this.form.outpatientFileList.push(file) |
| | | } else if (type === 3) { |
| | | this.form.hospitalFileList.push(file) |
| | | } else if (type === 4) { |
| | | this.form.disabilityFileList.push(file) |
| | | } else if (type === 5) { |
| | | this.form.otherFileList.push(file) |
| | | } else if (type === 6) { |
| | | this.form.reportFileList.push(file) |
| | | } |
| | | }, |
| | | getSolutions (id) { |
| | | const row = this.user.filter(item => item.id === id) |
| | | this.form.idcardNo = row[0].idcardNo |
| | | findList({ memberId: id }) |
| | | .then(res => { |
| | | this.form.insuranceApplyId = '' |
| | | res.forEach(item=> { |
| | | item.active = false |
| | | }) |
| | | this.solutionList = res |
| | | this.changeSolution(null,0) |
| | | }) |
| | | }, |
| | | changeSolution (e, i) { |
| | | this.pickerOptions = {} |
| | | if(this.solutionList.length < i){ |
| | | return |
| | | } |
| | | this.solutionList.forEach((item, index) => { |
| | | item.active = i === index |
| | | }) |
| | | const obj = this.solutionList.filter(item => item.active)[0] |
| | | this.pickerOptions = { |
| | | disabledDate (time) { |
| | | var start = new Date(obj.startTime) |
| | | var end = new Date(obj.endTime) |
| | | return ( time.getTime() < start.getTime() || time.getTime()>end.getTime()) |
| | | } |
| | | } |
| | | this.form.insuranceApplyId = obj.applyId |
| | | this.form.solutionId = obj.solutionId |
| | | this.form.worktypeId = obj.worktypeId |
| | | this.form.duId = obj.duId |
| | | this.form.applyDetailId = obj.id |
| | | this.form.happenTime = obj.startTime |
| | | console.log(this.pickerOptions) |
| | | }, |
| | | // æ¥çä¿å详æ
|
| | | jumpSolutionDetail (id, solutionType) { |
| | | if (solutionType === 1) { |
| | | this.$refs.OperaWtbApplyShopWindow.open('å§ææä¿è¯¦æ
', { id: id }) |
| | | } else { |
| | | this.$refs.OperaInsuranceApplyDetails.open('æä¿è¯¦æ
', { id: id }) |
| | | } |
| | | }, |
| | | confirm (saveType) { |
| | | this.isWorking = true |
| | | saveSettleClaims({ ...this.form, saveType }) |
| | | .then(res => { |
| | | console.log(res) |
| | | if (saveType === 0) { |
| | | this.visible = false |
| | | } else { |
| | | this.id = res |
| | | this.i = 2 |
| | | } |
| | | this.$emit('success') |
| | | }).catch(err => { |
| | | this.$tip.apiFailed(err) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | }, |
| | | next () { |
| | | this.$refs.form.validate((valid) => { |
| | | if (!valid) return |
| | | this.i++ |
| | | // this.isWorking = true |
| | | // createSys(obj) |
| | | // .then(() => { |
| | | // this.visible = false |
| | | // this.$emit('success') |
| | | // }) |
| | | // .catch(e => { |
| | | // this.$tip.apiFailed(e) |
| | | // }) |
| | | // .finally(() => { |
| | | // this.isWorking = false |
| | | // }) |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | |
| | | <TableLayout :permissions="['business:knowledge:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="æ é¢/å
容" prop="title"> |
| | | <el-input v-model="searchForm.title" placeholder="请è¾å
¥æ é¢å
容" @keypress.enter.native="search"></el-input> |
| | | <el-form-item label="æ é¢" prop="title"> |
| | | <el-input v-model="searchForm.title" style="width: 120px" clearable placeholder="请è¾å
¥æ é¢" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç份ç¼ç " prop="provinceId"> |
| | | <el-input v-model="searchForm.provinceId" placeholder="请è¾å
¥ç份ç¼ç " @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="åå¸ç¼ç " prop="cityId"> |
| | | <el-input v-model="searchForm.cityId" placeholder="请è¾å
¥åå¸ç¼ç " @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç份" prop="area"> |
| | | <el-select style="width: 120px" v-model="searchForm.provinceId" clearable filterable @change="changeProvince" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in areas" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="åå¸" prop="area"> |
| | | <el-select style="width: 120px" v-model="searchForm.cityId" clearablefilterable @change="search" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in citys" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <!-- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:knowledge:exportExcel']" @click="exportExcel">导åº</el-button>--> |
| | |
| | | </ul> |
| | | <div class="list" v-loading="isWorking.search" v-if="tableData.list.length > 0"> |
| | | <div class="list-item" v-for="(item, index) in tableData.list" :key="index"> |
| | | <div class="list-item-title"> |
| | | <span>{{item.title}}</span> |
| | | <div class="list-item-title" @click="gourl(item.link)"> |
| | | <span >{{item.title}}</span> |
| | | <i class="el-icon-arrow-right"></i> |
| | | </div> |
| | | <div class="list-item-cates" v-if="item.labelNames"> |
| | | <div class="list-item-cates-row" v-for="(label, index) in item.labelNames.split(',')" :key="index">æ¿çæ³è§labels</div> |
| | | <div class="list-item-cates-row">{{label}}</div> |
| | | <div class="list-item-cates" v-if="item.labels"> |
| | | <div class="list-item-cates-row" v-for="(label, index) in item.labels.split(',')" :key="index"> {{label}}</div> |
| | | </div> |
| | | <div class="list-item-footer"> |
| | | <div class="left"> |
| | | <div class="list-item-footer-row">éç¨å°åºï¼{{item.cityName ? item.cityName : item.provinceName}}</div> |
| | | <div class="list-item-footer-row">éç¨å¹´ä»½ï¼{{item.yearInfo}}</div> |
| | | <div class="list-item-footer-row">éç¨å¹´ä»½ï¼{{item.yearInfo}} å¹´</div> |
| | | </div> |
| | | <div class="right"> |
| | | <el-button type="text" size="medium" style="margin-right: 15px; color: red;" @click="dele(item.id)">å é¤</el-button> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaKnowledgeWindow from '@/components/business/OperaKnowledgeWindow' |
| | | import { deleteById } from '@/api/business/knowledge' |
| | | export default { |
| | | name: 'Knowledge', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaKnowledgeWindow }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | provinceId: '', |
| | | cityId: '', |
| | | title: '' |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'ç¥è¯åºä¿¡æ¯è¡¨', |
| | | api: '/business/knowledge', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | dele(id) { |
| | | this.$confirm('æ¤æä½å°æ°¸ä¹
å é¤è¯¥æ°æ®, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(async () => { |
| | | let res = await deleteById(id) |
| | | this.search() |
| | | this.$message.success('å 餿å') |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | } |
| | | } |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaKnowledgeWindow from '@/components/business/OperaKnowledgeWindow' |
| | | import {deleteById, findTreeList} from '@/api/business/knowledge' |
| | | export default { |
| | | name: 'Knowledge', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaKnowledgeWindow }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | provinceId: '', |
| | | cityId: '', |
| | | title: '' |
| | | }, |
| | | areas: [], |
| | | citys: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'ç¥è¯åºä¿¡æ¯è¡¨', |
| | | api: '/business/knowledge', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | this.getCityTree() |
| | | }, |
| | | methods: { |
| | | changeProvince (e) { |
| | | this.citys = [] |
| | | this.searchForm.cityId=null |
| | | this.areas.forEach(item => { |
| | | if (item.id === this.searchForm.provinceId) { |
| | | this.citys = item.childAreasList || [] |
| | | } |
| | | }) |
| | | this.search() |
| | | }, |
| | | gourl (url) { |
| | | if (url) { |
| | | window.open(url) |
| | | } |
| | | }, |
| | | dele (id) { |
| | | this.$confirm('æ¤æä½å°æ°¸ä¹
å é¤è¯¥æ°æ®, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(async () => { |
| | | const res = await deleteById(id) |
| | | this.search() |
| | | this.$message.success('å 餿å') |
| | | }).catch(() => { |
| | | |
| | | }) |
| | | }, |
| | | async getCityTree () { |
| | | this.areas = await findTreeList({}) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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="æ¯ä¸ªææè¯è¯·ç¨â;âåéï¼å¦éª¨æ;é«ç©º;å¤é´;交éäºæ
;æ¬è¿çå
¶ä»å符" |
| | |
| | | </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> |
| | |
| | | } |
| | | .tx_item { |
| | | width: 49%; |
| | | //min-width: 500px; |
| | | padding: 30px 20px; |
| | | box-sizing: border-box; |
| | | background-color: #ffffff; |
| | |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="åå·¥å§å" prop="memberName"> |
| | | <el-input v-model="searchForm.memberName" placeholder="请è¾å
¥" @keypress.enter.native="search"></el-input> |
| | | <el-input v-model="searchForm.memberName" clearable placeholder="请è¾å
¥" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="身份è¯" prop="memberIdcardNo"> |
| | | <el-input v-model="searchForm.memberIdcardNo" placeholder="请è¾å
¥" @keypress.enter.native="search"></el-input> |
| | | <el-input v-model="searchForm.memberIdcardNo" clearable placeholder="请è¾å
¥" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ¥æ¡åä½" prop="companyId" v-if="userInfo.type === 0"> |
| | | <el-select v-model="searchForm.companyId" filterable placeholder="è¯·éæ©" @change="search"> |
| | | <el-select v-model="searchForm.companyId" clearable filterable placeholder="è¯·éæ©" @change="search"> |
| | | <el-option |
| | | v-for="item in companyList" |
| | | :key="item.id" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ä¿é©æ¹æ¡" prop="baseSolutionId"> |
| | | <el-select v-model="searchForm.baseSolutionId" filterable placeholder="è¯·éæ©" @change="search"> |
| | | <el-select v-model="searchForm.baseSolutionId" clearable filterable placeholder="è¯·éæ©" @change="search"> |
| | | <el-option |
| | | v-for="item in solutionList" |
| | | :key="item.baseId" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æ¡ä»¶ç¶æ" prop="status"> |
| | | <el-select v-model="searchForm.status" placeholder="è¯·éæ©" @change="search"> |
| | | <el-select v-model="searchForm.status" clearable placeholder="è¯·éæ©" @change="search"> |
| | | <el-option label="æåä¸" value="0"></el-option> |
| | | <el-option label="å·²æ¥æ¡" value="1"></el-option> |
| | | <el-option label="å¾
ç«æ¡" value="2"></el-option> |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="æ´¾é£åä½" prop="duName"> |
| | | <el-input v-model="searchForm.duName" placeholder="请è¾å
¥" @keypress.enter.native="search"></el-input> |
| | | <el-input v-model="searchForm.duName" placeholder="请è¾å
¥" clearable @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | |
| | | <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="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'])" |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 2025-05-27 10:04:22.659 [main] INFO com.doumee.CompanyApplication - Starting CompanyApplication on DESKTOP-77EHGKJ with PID 31268 (D:\code\idea2023\git\yunyibao\server\company\target\classes started by T14 in D:\code\idea2023\git\yunyibao) |
| | | 2025-05-27 10:04:22.668 [main] INFO com.doumee.CompanyApplication - The following profiles are active: dev |
| | | 2025-05-27 10:04:26.676 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode! |
| | | 2025-05-27 10:04:26.683 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. |
| | | 2025-05-27 10:04:27.098 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 355ms. Found 0 Redis repository interfaces. |
| | | 2025-05-27 10:04:29.000 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'shiroCredentialsMatcher' of type [com.doumee.config.shiro.ShiroCredentialsMatcher] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) |
| | | 2025-05-27 10:04:29.066 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'spring.redis-org.springframework.boot.autoconfigure.data.redis.RedisProperties' of type [org.springframework.boot.autoconfigure.data.redis.RedisProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) |
| | | 2025-05-27 10:04:29.073 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration' of type [org.springframework.boot.autoconfigure.data.redis.LettuceConnectionConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) |
| | | 2025-05-27 10:04:29.453 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'lettuceClientResources' of type [io.lettuce.core.resource.DefaultClientResources] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) |
| | | 2025-05-27 10:04:29.667 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'redisConnectionFactory' of type [org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) |
| | | 2025-05-27 10:04:29.802 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'sessionRedisTemplate' of type [org.springframework.data.redis.core.RedisTemplate] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) |
| | | 2025-05-27 10:04:29.802 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'shiroCache' of type [com.doumee.config.shiro.ShiroCache] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) |
| | | 2025-05-27 10:04:29.805 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'shiroTokenManager' of type [com.doumee.config.shiro.ShiroTokenManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) |
| | | 2025-05-27 10:04:29.806 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'shiroSessionDAO' of type [com.doumee.config.shiro.ShiroSessionDAO] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) |
| | | 2025-05-27 10:04:29.816 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'shiroCacheManager' of type [com.doumee.config.shiro.ShiroCacheManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) |
| | | 2025-05-27 10:04:29.884 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'shiroRealm' of type [com.doumee.config.shiro.ShiroRealm] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) |
| | | 2025-05-27 10:04:29.886 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'shiroConfig' of type [com.doumee.config.shiro.ShiroConfig$$EnhancerBySpringCGLIB$$49ba0da8] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) |
| | | 2025-05-27 10:04:31.470 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'sessionManager' of type [com.doumee.config.shiro.ShiroSessionManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) |
| | | 2025-05-27 10:04:31.474 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'shiroCache' of type [com.doumee.config.shiro.ShiroCache] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) |
| | | 2025-05-27 10:04:31.475 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'securityManager' of type [org.apache.shiro.web.mgt.DefaultWebSecurityManager] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) |
| | | 2025-05-27 10:04:31.633 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'authorizationAttributeSourceAdvisor' of type [org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) |
| | | 2025-05-27 10:04:32.705 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 10031 (http) |
| | | 2025-05-27 10:04:32.736 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-10031"] |
| | | 2025-05-27 10:04:32.737 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] |
| | | 2025-05-27 10:04:32.738 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.31] |
| | | 2025-05-27 10:04:33.139 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext |
| | | 2025-05-27 10:04:33.139 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 10281 ms |
| | | 2025-05-27 10:04:40.541 [main] INFO com.alibaba.druid.pool.DruidDataSource - {dataSource-1} inited |
| | | 2025-05-27 10:04:58.579 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor' |
| | | 2025-05-27 10:05:05.599 [main] WARN s.d.s.r.operation.OperationImplicitParameterReader - Unable to interpret the implicit parameter configuration with dataType: Integer, dataTypeClass: class java.lang.Void |
| | | 2025-05-27 10:05:07.134 [main] WARN s.d.s.r.operation.OperationImplicitParameterReader - Unable to interpret the implicit parameter configuration with dataType: Integer, dataTypeClass: class java.lang.Void |
| | | 2025-05-27 10:05:09.344 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-10031"] |
| | | 2025-05-27 10:05:09.488 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 10031 (http) with context path '' |
| | | 2025-05-27 10:05:09.518 [main] INFO com.doumee.CompanyApplication - Started CompanyApplication in 49.121 seconds (JVM running for 56.066) |
| | | 2025-05-27 10:06:37.703 [SpringContextShutdownHook] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Shutting down ExecutorService 'applicationTaskExecutor' |
| | | 2025-05-27 10:06:37.730 [SpringContextShutdownHook] INFO com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closing ... |
| | | 2025-05-27 10:06:37.737 [SpringContextShutdownHook] INFO com.alibaba.druid.pool.DruidDataSource - {dataSource-1} closed |
| | |
| | | |
| | | @Autowired |
| | | private LabelsMapper labelsMapper; |
| | | |
| | | @Override |
| | | public Integer create(Labels labels) { |
| | | LoginUserInfo user= (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |