company/src/api/business/notices.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/components/business/OperaApplyChangeDetailWindow.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/components/business/OperaInsuranceApplyWindow.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/components/enterprise/additionSubtractionApplication.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/components/enterprise/directInsuranceDetails.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/components/enterprise/factoryChange.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/components/enterprise/reinsurance.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/components/enterprise/renewalInsurance.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
company/src/views/enterprise/myPolicy.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
company/src/api/business/notices.js
@@ -6,3 +6,13 @@ trim: true }) } // æ¥è¯¢æä¿åæéæ°é export function getCaptcha () { return request.get('/business/notices/getApplyNotice') } // æä¿åå ³éæé export function closeApplyNotice (type) { return request.get(`/business/notices/closeApplyNotice?type=${type}`) } company/src/components/business/OperaApplyChangeDetailWindow.vue
@@ -11,8 +11,8 @@ <div class="desc_item_label"> <div class="desc_item_label_left"> <span>æä¿ä¼ä¸ï¼{{ apply.companyName }}</span> <span v-if="model.status === 0">ä¿åç¶æï¼<span :class="'change-status'+model.status" >å¾ ç¾ç½²</span></span> <span v-if="model.status === 1">ä¿åç¶æï¼<span :class="'change-status'+model.status" >å¾ å®¡æ ¸</span></span> <span v-if="model.status === 1">ä¿åç¶æï¼<span :class="'change-status'+model.status" >å¾ ç¾ç½²</span></span> <span v-if="model.status === 0">ä¿åç¶æï¼<span :class="'change-status'+model.status" >å¾ å®¡æ ¸</span></span> <span v-if="model.status === 2">ä¿åç¶æï¼<span :class="'change-status'+model.status" >å·²çæ</span></span> <span v-if="model.status === 3 || model.status === 4">ä¿åç¶æï¼<span :class="'change-status'+model.status" >éåç³è¯·</span></span> <span v-if="model.status === 5 || model.status === 8">ä¿åç¶æï¼<span :class="'change-status'+model.status" >å·²éå</span></span> company/src/components/business/OperaInsuranceApplyWindow.vue
@@ -371,7 +371,7 @@ <div style="display: flex; flex-direction: column;"> <span style="font-size: 16px; font-weight: 400; color: black;"> {{activity.title}} <span style="font-size: 16px; font-weight: 400; color: black; margin-left: 10px;" v-if="[1, 2, 5, 6, 9].includes(activity.objType)"> <span style="font-size: 16px; font-weight: 400; color: black; margin-left: 10px;" v-if="[1, 2, 5, 6, 9, 11, 22].includes(activity.objType)"> {{activity.content}} </span> </span> company/src/components/enterprise/additionSubtractionApplication.vue
@@ -496,7 +496,7 @@ this.$message.warning('è¯·éæ©åå·¥') return } this.$refs.confirmJobType.open('确认工ç§', { solutionId: this.form.solutionId }) this.$refs.confirmJobType.open('确认工ç§', { solutionId: this.item.newVersionSolutionId }) }, // æ¥è¯¢å ¨é¨æ¹æ¡ getCompany() { company/src/components/enterprise/directInsuranceDetails.vue
@@ -103,17 +103,17 @@ </el-table-column> <el-table-column align="center" prop="solutionsName" prop="solutionName" label="ä¿é©æ¹æ¡"> </el-table-column> <el-table-column align="center" prop="downCode" prop="taxDoneCode" label="å票å·"> </el-table-column> <el-table-column align="center" prop="createTime" prop="createDate" label="ç³è¯·å¼ç¥¨æ¶é´"> </el-table-column> <el-table-column @@ -202,7 +202,7 @@ columns.forEach((column, index) => { if (index === 0) { sums[index] = 'å计' } else if (index == 4) { } else if (index == 3) { let price = 0 data.forEach(item => { price += item.totalFee @@ -218,7 +218,7 @@ columns.forEach((column, index) => { if (index === 0) { sums[index] = 'å计' } else if (index == 5) { } else if (index == 4) { let price = 0 data.forEach(item => { price += item.totalFee @@ -237,6 +237,9 @@ cursor: pointer; text-align: center; &:nth-child(5) { color:rgba(249, 86, 1, 0.996078431372549); } &:nth-child(4) { color:rgba(249, 86, 1, 0.996078431372549); } } @@ -260,7 +263,8 @@ .info_list { width: 100%; display: flex; align-items: left; /*align-items: left;*/ align-items: flex-start; flex-wrap: wrap; .list::v-deep { width: 100%; company/src/components/enterprise/factoryChange.vue
@@ -181,6 +181,7 @@ applyEndTime: '', factory: [] }, newVersionSolutionId: '', pickerOptions: {}, price: '', endTime: '', // å®é ä¿é©çææ¢æ @@ -253,9 +254,11 @@ }) getDetail(this.form.id) .then(res => { console.log(res) this.list.push(res) this.endTime = res.endTime this.form.solutionId = res.solutionId this.newVersionSolutionId = res.newVersionSolutionId this.form.solutionsName = res.solutionsName this.pickerOptions = { disabledDate(time) { @@ -381,7 +384,7 @@ this.$message.warning('è¯·éæ©åå·¥') return } this.$refs.confirmJobType.open('确认工ç§', { solutionId: this.form.solutionId }) this.$refs.confirmJobType.open('确认工ç§', { solutionId: this.newVersionSolutionId }) }, // æ¥è¯¢å ¨é¨æ¹æ¡ getCompany() { company/src/components/enterprise/reinsurance.vue
@@ -15,13 +15,13 @@ <el-form-item label="æ¹åçæèµ·æ" prop="applyStartTime"> <div style="display: flex; flex-direction: column;"> <el-date-picker @change="changeApplyStartTime" v-model="form.applyStartTime" type="date" :picker-options="pickerOptions" value-format="yyyy-MM-dd" format="yyyy å¹´ MM æ dd æ¥" placeholder="éæ©æ¥æ"> @change="changeApplyStartTime" v-model="form.applyStartTime" type="date" :picker-options="pickerOptions" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" placeholder="éæ©æ¥æ"> </el-date-picker> <span style="color: #F95601; font-size: 14px;">ï¼æ¬¡æ¥çææä¿è¯·äº17:30åæäº¤ï¼è¶ æ¶æäº¤ä»¥ä¿é©å为åï¼</span> </div> @@ -105,13 +105,14 @@ </div> </div> <el-table :data="activeName === '0' ? form.addDetailList : form.delDetailList" border show-summary :summary-method="getSummaries" ref="multipleTable" @selection-change="handleSelectionChange" style="width: 100%;margin-bottom: 15px;"> v-if="activeName === '0'" :data="form.addDetailList" border show-summary :summary-method="getSummaries" ref="multipleTable" @selection-change="handleSelectionChange" style="width: 100%;margin-bottom: 15px;"> <el-table-column type="selection" width="55"> @@ -122,14 +123,17 @@ </template> </el-table-column> <el-table-column :key="Math.random()" prop="memberName" label="å§å"> </el-table-column> <el-table-column :key="Math.random()" prop="idCard" label="身份è¯å·"> </el-table-column> <el-table-column :key="Math.random()" label="å¹´é¾"> <template slot-scope="{row}"> <template v-if="item"> @@ -139,21 +143,83 @@ </template> </el-table-column> <el-table-column :key="Math.random()" prop="duName" label="æ´¾é£åä½"> </el-table-column> <el-table-column :key="Math.random()" prop="workTypeName" label="æå±å·¥ç§"> </el-table-column> <el-table-column :key="Math.random()" prop="fee" label="è´¹ç¨"> <template slot-scope="{row}"> <span v-if="activeName === '0'">{{row.fee}}</span> <span v-else>-{{row.fee}}</span> </el-table-column> <el-table-column :key="Math.random()" label="æä½"> <template slot-scope="scope"> <el-button type="text" style="color: red;" @click="dele(scope.$index)">å é¤</el-button> </template> </el-table-column> </el-table> <el-table v-if="activeName === '1'" :data="form.delDetailList" border show-summary :summary-method="getSummaries" ref="multipleTable" @selection-change="handleSelectionChange" style="width: 100%;margin-bottom: 15px;"> <el-table-column type="selection" width="55"> </el-table-column> <el-table-column label="åºå·" width="80px"> <template slot-scope="scope"> <span>{{scope.$index + 1}}</span> </template> </el-table-column> <el-table-column :key="Math.random()" prop="memberName" label="å§å"> </el-table-column> <el-table-column :key="Math.random()" prop="idCard" label="身份è¯å·"> </el-table-column> <el-table-column :key="Math.random()" label="å¹´é¾"> <template slot-scope="{row}"> <template v-if="item"> <span style="color: red;" v-if="(getAgeByIdCard(row.idCard) < item.minAge) || (getAgeByIdCard(row.idCard) > item.maxAge)">{{getAgeByIdCard(row.idCard)}}</span> <span v-else>{{ getAgeByIdCard(row.idCard) }}</span> </template> </template> </el-table-column> <el-table-column :key="Math.random()" prop="duName" label="æ´¾é£åä½"> </el-table-column> <el-table-column :key="Math.random()" prop="workTypeName" label="æå±å·¥ç§"> </el-table-column> <el-table-column :key="Math.random()" prop="fee" label="è´¹ç¨"> </el-table-column> <el-table-column :key="Math.random()" label="æä½"> <template slot-scope="scope"> <el-button type="text" style="color: red;" @click="dele(scope.$index)">å é¤</el-button> @@ -185,6 +251,7 @@ import confirmJobType from '@/components/enterprise/confirmJobType' import { all } from '@/api/business/solutions' import { getDetail } from '@/api/business/insuranceApply' import { getDate, compareDates, getTomorrow } from '@/utils/util' import { update, getChangeCountCyclePriceVO, applyChagneDetailList } from '@/api/business/applyChange' export default { name: 'reinsurance', @@ -202,6 +269,7 @@ addDetailList: [], delDetailList: [], }, newVersionSolutionId: '', activeName: '0', pickerOptions: {}, price: '', @@ -263,7 +331,7 @@ item.fee = res.cyclePrice }) this.form.delDetailList.forEach(item => { item.fee = res.cyclePrice item.fee = -res.cyclePrice }) }) }, @@ -273,7 +341,7 @@ // è·åæä¿è¯¦æ getDetails() { applyChagneDetailList({ applyChangId: this.form.applyChangId, applyChangeId: this.form.applyChangId, types: [0] }).then(res => { res.forEach(item => { @@ -287,32 +355,51 @@ this.form.addDetailList = res }) applyChagneDetailList({ applyChangId: this.form.applyChangId, applyChangeId: this.form.applyChangId, types: [1] }).then(res => { res.forEach(item => { item.fee = '' // item.fee = '' item.idCard = item.memberIdcardNo item.workTypeName = '' item.worktypeId = '' item.duName = '' item.duId = '' // item.workTypeName = '' // item.worktypeId = '' // item.duName = '' // item.duId = '' }) this.form.delDetailList = res }) getDetail(this.form.id) .then(res => { console.log(res) this.list.push(res) this.item = res this.endTime = res.endTime this.form.solutionId = res.solutionId this.newVersionSolutionId = res.newVersionSolutionId this.form.solutionsName = res.solutionsName this.pickerOptions = { disabledDate(time) { // å½åæ¥æå¤§äºçäºçææ¥æå¹¶ä¸æå䏿¬¡æä½æ¶é´çäºç©º if ([1,3].includes(compareDates(getDate(), res.startTime)) && !res.lastChangeDate) { return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date(getTomorrow()).getTime() // å½åæ¥æå°äºçææ¥æå¹¶ä¸æå䏿¬¡æä½æ¶é´çäºç©º } else if (compareDates(getDate(), res.startTime) === 2 && !res.lastChangeDate) { return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date(res.startTime).getTime() // æå䏿¬¡æä½æ¶é´æå¼ } else if (res.lastChangeDate) { // å½åæ¥æå¤§äºæå䏿¬¡æä½æ¶é´ if ([1,3].includes(compareDates(getDate(), res.lastChangeDate))) { return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date(getTomorrow()).getTime() // å½åæ¶é´å°äºæå䏿¬¡æä½æ¶é´ } else if (compareDates(getDate(), res.lastChangeDate) === 2) { return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date(res.lastChangeDate).getTime() } } // - 8.64e7 return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date().getTime() // return time.getTime() > new Date(res.endTime).getTime() || time.getTime() < new Date().getTime() } }; this.changeSolution1(res.solutionId) // this.changeSolution1(res.solutionId) }) }, getSummaries(param) { @@ -334,7 +421,11 @@ this.form.delDetailList.forEach(item => { total += item.fee }) sums[index] = '-' + total // if (total < 0) { sums[index] = total // } else { // sums[index] = '-' + total // } return } sums[index] = '' @@ -500,7 +591,7 @@ this.$message.warning('è¯·éæ©åå·¥') return } this.$refs.confirmJobType.open('确认工ç§', { solutionId: this.form.solutionId }) this.$refs.confirmJobType.open('确认工ç§', { solutionId: this.newVersionSolutionId }) }, // æ¥è¯¢å ¨é¨æ¹æ¡ getCompany() { company/src/components/enterprise/renewalInsurance.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,73 @@ <template> <GlobalWindow :title="title" width="100%" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm" > <el-table :data="tableData" border style="width: 100%"> <el-table-column label="åºå·" width="80px"> <template slot-scope="scope"> <span>{{scope.$index + 1}}</span> </template> </el-table-column> <el-table-column prop="statusInfo" label="ç¶æ"> <template slot-scope="{row}"> <span :class="'apply-status'+row.status" >{{row.statusInfo}}</span> </template> </el-table-column> <el-table-column prop="solutionsName" label="ä¿é©æ¹æ¡"></el-table-column> <el-table-column label="ä¿åå·"> <template slot-scope="{row}"> <span>{{row.code ? row.code : '-'}}</span> </template> </el-table-column> <el-table-column prop="insureNum" label="æä¿äººæ°"></el-table-column> <el-table-column prop="serviceDays" label="æä¿æ¶é¿ï¼å¤©ï¼"></el-table-column> <el-table-column prop="currentFee" label="产çè´¹ç¨"></el-table-column> <el-table-column prop="fee" label="æ»è´¹ç¨ï¼å ï¼"></el-table-column> <el-table-column prop="checkDate" label="æäº¤æ¥æ"></el-table-column> <el-table-column prop="startTime" label="æä¿çææ¥æ"></el-table-column> <el-table-column prop="endTime" label="æä¿å¤±ææ¥æ"></el-table-column> <el-table-column prop="address" label="æä½"> </el-table-column> </el-table> </GlobalWindow> </template> <script> import BaseOpera from '@/components/base/BaseOpera' import GlobalWindow from '@/components/common/GlobalWindow' export default { name: 'renewalInsurance', extends: BaseOpera, components: { GlobalWindow }, data () { return { form: { id: null }, tableData: [] } }, created () { this.config({ api: '/business/insuranceApply', 'field.id': 'id' }) }, methods: { } } </script> <style lang="scss" scoped> </style> company/src/views/enterprise/myPolicy.vue
@@ -56,6 +56,18 @@ </el-form> <!-- è¡¨æ ¼åå页 --> <template v-slot:table-wrap> <div style="margin-bottom: 30px;" v-if="obj.waitSignNum > 0 && obj.renewalNum > 0"> <el-alert type="warning" show-icon :closable="false" style="margin-bottom: 15px;" v-if="obj.renewalNum > 0"> <span style="margin-right: 15px;">ç»ä¿æé: æ¨æå³å°å°æä¿é©</span> <el-button type="text" @click="$refs.renewalInsurance.open('ç»ä¿æé')">æ¥ç详æ </el-button> <el-button type="text" @click="closeRemind(1)">å ³éæé</el-button> </el-alert> <el-alert type="warning" :closable="false" show-icon v-if="obj.waitSignNum > 0"> <span style="margin-right: 15px;">æä¿æé: æ¨ææä¿ç³è¯·å¾ ç¾ç½²</span> <el-button type="text" @click="see">æ¥ç详æ </el-button> <el-button type="text" @click="closeRemind(2)">å ³éæé</el-button> </el-alert> </div> <ul class="toolbar" v-permissions="['business:dispatchunit:create']"> <li><el-button type="primary" @click="$refs.OperaInsuranceApplyWindow.open('æä¿ç³è¯·')">æä¿ç³è¯·</el-button></li> </ul> @@ -114,6 +126,8 @@ <OperaInsuranceApplyDetails ref="OperaInsuranceApplyDetails" @success="handlePageChange" /> <!-- å åä¿ç³è¯· --> <additionSubtractionApplication ref="additionSubtractionApplication" @success="handlePageChange" /> <!-- ç»ä¿å¼¹çª --> <renewalInsurance ref="renewalInsurance" @success="handlePageChange" /> </TableLayout> </template> @@ -124,12 +138,21 @@ import OperaInsuranceApplyWindow from '@/components/enterprise/OperaInsuranceApplyWindow' import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow' import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication' import renewalInsurance from '@/components/enterprise/renewalInsurance' import { all as solutionAll} from '@/api/business/solutions' import { getCaptcha, closeApplyNotice } from '@/api/business/notices' export default { name: 'myPolicy', extends: BaseTable, components: { TableLayout, Pagination, OperaInsuranceApplyWindow, OperaInsuranceApplyDetails, additionSubtractionApplication }, components: { TableLayout, Pagination, OperaInsuranceApplyWindow, OperaInsuranceApplyDetails, renewalInsurance, additionSubtractionApplication }, data () { return { // æç´¢ @@ -141,6 +164,10 @@ startTimeS: '', baseSolutionId: '', statusCollect: '2' }, obj: { renewalNum: 0, waitSignNum: 0 }, time1: [], time2: [], @@ -156,8 +183,34 @@ }) this.search() this.loadSelectList() this.getNum() }, methods:{ see() { this.searchForm.statusCollect = '7' this.search() }, closeRemind(type) { this.$confirm('ç¡®å®å ³éæ¤æç¤ºå?', 'æç¤º', { confirmButtonText: 'ç¡®å®', cancelButtonText: 'åæ¶', type: 'warning' }).then(() => { closeApplyNotice(type) .then(res => { this.getNum() }) }).catch(() => { }); }, getNum() { getCaptcha() .then(res => { this.obj.renewalNum = res.renewalNum this.obj.waitSignNum = res.waitSignNum }) }, reset() { this.time1 = [] this.time2 = []