From 78a173f85f8a4666d83cf8d900f04dd9f8e3e127 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 17 六月 2025 08:53:12 +0800
Subject: [PATCH] 提交一把订单

---
 company/src/views/business/insuranceApply.vue |  166 +++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 131 insertions(+), 35 deletions(-)

diff --git a/company/src/views/business/insuranceApply.vue b/company/src/views/business/insuranceApply.vue
index ac5716b..f7e8fe6 100644
--- a/company/src/views/business/insuranceApply.vue
+++ b/company/src/views/business/insuranceApply.vue
@@ -3,29 +3,32 @@
         <!-- 鎼滅储琛ㄥ崟 -->
         <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
             <el-form-item label="淇濆崟鐘舵��" prop="statusCollect">
-                <el-select v-model="searchForm.statusCollect" placeholder="璇烽�夋嫨" @keypress.enter.native="search">
-                    <el-option label="寰呭鏍�" value="0"></el-option>
-                    <el-option label="寰呭嚭鍗�" value="1"></el-option>
-                  <el-option label="寰呯绔�" value="7"></el-option>
-                  <el-option label="淇濋殰涓�" value="2"></el-option>
-                  <el-option label="宸茶繃鏈�" value="3"></el-option>
-                  <el-option label="宸查��鍥�" value="4"></el-option>
-                  <el-option label="閫�鍥炵敵璇蜂腑" value="5"></el-option>
-                  <el-option label="宸插叧闂�" value="6"></el-option>
+                <el-select v-model="statusCollect" placeholder="璇烽�夋嫨" @change="changeStatus">
+                    <el-option
+                        v-for="(item, index) in status"
+                        :key="index"
+                        :label="item.label"
+                        :value="item.id" />
+                </el-select>
+            </el-form-item>
+            <el-form-item label="鎶曚繚绫诲瀷" prop="solutionType">
+                <el-select v-model="searchForm.solutionType" placeholder="璇烽�夋嫨" @change="search">
+                    <el-option label="鐩翠繚鎶曚繚" :value="0"></el-option>
+                    <el-option label="濮旀墭鎶曚繚" :value="1"></el-option>
                 </el-select>
             </el-form-item>
             <el-form-item label="鎶曚繚浼佷笟" prop="companyId">
-                <el-select v-model="searchForm.companyId" placeholder="璇烽�夋嫨" @change="search">
+                <el-select v-model="searchForm.companyId" filterable placeholder="璇烽�夋嫨" @change="search">
                     <el-option
                         v-for="item in companyList"
-                        :key="item.baseId"
+                        :key="item.id"
                         :label="item.name"
-                        :value="item.baseId">
+                        :value="item.id">
                     </el-option>
                 </el-select>
             </el-form-item>
             <el-form-item label="淇濋櫓鏂规" prop="baseSolutionId">
-                <el-select v-model="searchForm.baseSolutionId" placeholder="璇烽�夋嫨" @change="search">
+                <el-select v-model="searchForm.baseSolutionId" filterable placeholder="璇烽�夋嫨" @change="search">
                     <el-option
                         v-for="item in solutionList"
                         :key="item.baseId"
@@ -52,26 +55,79 @@
         </el-form>
         <!-- 琛ㄦ牸鍜屽垎椤� -->
         <template v-slot:table-wrap>
-            <el-table
-                v-loading="isWorking.search"
-                :data="tableData.list"
-                stripe
-            >
-                <el-table-column label="搴忓彿" width="80px">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="statusInfo" label="鎶曚繚鐘舵��" min-width="100px">
-                  <template slot-scope="{row}">
-                    <span :class="'apply-status'+row.status" >{{row.statusInfo}}</span>
+            <ul class="toolbar">
+                <li><el-button type="primary" @click="$refs.chooseCompany.open('閫夋嫨闇�瑕佹姇淇濈殑浼佷笟')">鏂板</el-button></li>
+            </ul>
+              <el-table
+                  v-loading="isWorking.search"
+                  :data="tableData.list"
+                  stripe
+              >
+                <el-table-column label="搴忓彿"  align="center" width="80px" fixed>
+                  <template slot-scope="scope">
+                    <span>{{scope.$index + 1}}</span>
                   </template>
                 </el-table-column>
-                <el-table-column prop="companyName" label="鎶曚繚浼佷笟" min-width="100px"></el-table-column>
-                <el-table-column prop="solutionsName" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
-                <el-table-column prop="insureNum" label="鎶曚繚浜烘暟" min-width="100px"></el-table-column>
-                <el-table-column prop="fee" label="鎬昏垂鐢紙鍏冿級" min-width="100px"></el-table-column>
-                <el-table-column prop="createDate" label="鎻愪氦鏃堕棿" min-width="100px"></el-table-column>
+                <el-table-column prop="statusInfo" align="center"  fixed label="鐘舵��">
+                  <template slot-scope="{row}">
+                    <span style="color: #666;" v-if="[9,25,27,5].includes(row.status) && ['宸插叧闂�','宸茶繃鏈�'].includes(row.statusInfo)">{{row.statusInfo}}</span>
+                    <span style="color: red;" v-else-if="row.status === 4 && row.statusInfo === '宸查��鍥�'">{{ row.statusInfo}}</span>
+                    <span style="color: #f95601;" v-else-if="[5,27].includes(row.status) && row.statusInfo === '寰呯敓鏁�'">{{ row.statusInfo}}</span>
+                      <span style="color: #216EEE;" v-else-if="[12].includes(row.status) && row.statusInfo === '寰呭鏍�'">{{ row.statusInfo}}</span>
+                    <span :class="'apply-status'+row.status" v-else>{{row.statusInfo}}</span>
+                  </template>
+                </el-table-column>
+                  <el-table-column prop="companyName" v-if="userInfo.type === 0" fixed label="浼佷笟鍚嶇О" align="center" min-width="150"></el-table-column>
+                <el-table-column prop="solutionsName" fixed label="淇濋櫓鏂规" align="center" min-width="150"></el-table-column>
+                <el-table-column label="绫诲瀷" fixed  align="center">
+                  <template slot-scope="{row}">
+                    <span style="color: #00BA92" v-if="row.solutionType == 1">濮旀墭鎶曚繚</span>
+                    <span style="color: #F95601;"  v-else>鐩存帴鎶曚繚</span>
+                  </template>
+                </el-table-column>
+                <el-table-column label="淇濆崟鍙�" fixed>
+                  <template slot-scope="{row}">
+                    <span>{{row.code ? row.code : '-'}}</span>
+                  </template>
+                </el-table-column>
+<!--                <el-table-column prop="insureNum" align="center" label="鎶曚繚浜烘暟"  >-->
+<!--                  <template slot-scope="{row}">-->
+<!--                    <span>{{(row.insureNum||0)}} 浜�</span>-->
+<!--                  </template>-->
+<!--                </el-table-column>-->
+                  <el-table-column prop="guaranteeNum"  align="center" label="褰撳墠鍦ㄤ繚浜烘暟" width="120">
+                      <template slot-scope="{row}">
+                          <span>{{(row.guaranteeNum||0)}} 浜�</span>
+                      </template>
+                  </el-table-column>
+<!--                <el-table-column prop="guaranteeNum"  align="center" label="鍦ㄤ繚浜烘暟"  >-->
+<!--                  <template slot-scope="{row}">-->
+<!--                    <span>{{(row.guaranteeNum||0)}} 浜�</span>-->
+<!--                  </template>-->
+<!--                </el-table-column>-->
+                <el-table-column label="鎶曚繚鏃堕暱">
+                  <template slot-scope="{row}">
+                    <span>{{(row.serviceDays - row.loseEfficacyDays) < 0 ? `-` : (row.serviceDays - row.loseEfficacyDays+'澶�')}}</span>
+                  </template>
+                </el-table-column>
+                  <el-table-column prop="fee" label="鎵规敼璐圭敤鍚堣"  align="center" width="120">
+                      <template slot-scope="{row}">
+                          <span>{{row.changeMoney+' 鍏�'}}</span>
+                      </template>
+                  </el-table-column>
+<!--                <el-table-column prop="currentFee" label="宸蹭骇鐢熻垂鐢�"  align="center">-->
+<!--                  <template slot-scope="{row}">-->
+<!--                    <span>{{row.currentFee!=null?row.currentFee+' 鍏�': '-'}}</span>-->
+<!--                  </template>-->
+<!--                </el-table-column>-->
+                <el-table-column prop="fee" label="鎬昏垂鐢�"  align="center">
+                  <template slot-scope="{row}">
+                    <span>{{row.fee!=null?row.fee+' 鍏�': '-'}}</span>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="createDate" label="鎻愪氦鏃ユ湡" align="center" min-width="150"></el-table-column>
+                <el-table-column prop="startTime" label="鎶曚繚鐢熸晥鏃ユ湡" align="center" min-width="150"></el-table-column>
+                <el-table-column prop="endTime" label="鎶曚繚澶辨晥鏃ユ湡"  align="center" min-width="150"></el-table-column>
                 <el-table-column
                     v-if="containPermissions(['business:insuranceapply:update', 'business:insuranceapply:delete'])"
                     label="鎿嶄綔"
@@ -92,6 +148,10 @@
         </template>
         <!-- 鏂板缓/淇敼 -->
         <OperaInsuranceApplyWindow ref="operaInsuranceApplyWindow" @success="handlePageChange"/>
+        <!--    閫夋嫨浼佷笟    -->
+        <chooseCompany ref="chooseCompany" @submit="getVal" />
+        <!--    鏂板鎶曚繚    -->
+            <OperaInsuranceApplyAddWindow ref="OperaInsuranceApplyAddWindow" @success="handlePageChange" />
     </TableLayout>
 </template>
 
@@ -102,10 +162,13 @@
 import { all as solutionAll} from '@/api/business/solutions'
 import { pageAll as companyAll} from '@/api/business/company'
 import OperaInsuranceApplyWindow from '@/components/business/OperaInsuranceApplyWindow'
+import OperaInsuranceApplyAddWindow from '@/components/enterprise/OperaInsuranceApplyAddWindow'
+import chooseCompany from '@/components/common/chooseCompany'
+import { mapState } from 'vuex'
 export default {
     name: 'InsuranceApply',
     extends: BaseTable,
-    components: { TableLayout, Pagination, OperaInsuranceApplyWindow },
+    components: { TableLayout, Pagination, OperaInsuranceApplyWindow, chooseCompany, OperaInsuranceApplyAddWindow },
     data () {
         return {
             // 鎼滅储
@@ -114,12 +177,29 @@
                 createTimeE: '',
                 time: [],
                 baseSolutionId: '',
+                solutionType: '',
                 companyId: '',
-                statusCollect: ''
+                statusCollect: '',
             },
+          statusCollect: '',
           solutionList:[],
-          companyList:[]
+          companyList:[],
+          status: [
+            { label: '寰呭鏍�', id: '0' },
+            { label: '寰呭嚭鍗�', id: '1' },
+            { label: '鎶曚繚涓�', id: '26' },
+            { label: '寰呯缃�', id: '7' },
+            { label: '寰呯敓鏁�', id: '2,0' },
+            { label: '淇濋殰涓�', id: '2,1' },
+            { label: '宸茶繃鏈�', id: '2,2' },
+            { label: '宸查��鍥�', id: '4' },
+            { label: '閫�鍥炵敵璇蜂腑', id: '5' },
+            { label: '宸插叧闂�', id: '6' },
+          ]
         }
+    },
+    computed: {
+        ...mapState(['userInfo'])
     },
     created () {
         this.config({
@@ -132,9 +212,25 @@
         this.loadSelectList()
     },
     methods:{
+      changeStatus(e) {
+        if (e.indexOf(',') !== -1) {
+          this.searchForm.timeOut = e.split(',')[1]
+          this.searchForm.statusCollect = e.split(',')[0]
+        } else {
+          this.searchForm.timeOut = ''
+          this.searchForm.statusCollect = e
+        }
+        this.search()
+      },
+      getVal(company) {
+        this.$refs.OperaInsuranceApplyAddWindow.open('鎶曚繚鐢宠', { type: '', companyName: company.companyName, companyId: company.companyId })
+      },
         // 鎼滅储妗嗛噸缃�
         reset () {
             this.$refs.searchForm.resetFields()
+            this.statusCollect = ''
+            this.searchForm.timeOut = ''
+            this.searchForm.statusCollect = ''
             this.searchForm.createTimeS = ''
             this.searchForm.createTimeE = ''
             this.search()
@@ -153,7 +249,7 @@
         //   this.search()
         // },
         loadSelectList() {
-          solutionAll({dataType:2}).then(res => {
+          solutionAll({dataType:2,type:0}).then(res => {
               this.solutionList = res
             }).catch(err => {
             })

--
Gitblit v1.9.3