From 5eb40c731da8ccf235ba557f97a5e05a70a75308 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 02 二月 2024 14:35:35 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 company/src/components/business/dispatchUnitReviewDetails.vue        |    2 
 company/src/api/business/member.js                                   |    7 
 company/src/components/business/OperaInsuranceApplyWindow.vue        |    2 
 company/src/components/business/OperaSettleClaimsCheckWindow.vue     |    2 
 company/src/components/business/OperaDispatchUnitWindow.vue          |    2 
 company/src/components/business/OperaApplyChangeWindow.vue           |  162 +++++++++---------
 company/src/components/business/OperaSettleClaimsWindow.vue          |   26 +-
 company/src/views/business/member.vue                                |  121 +++++++++----
 company/src/components/business/OperaApplyChangeDetailWindow.vue     |   24 +-
 company/src/components/business/InsuranceDetails.vue                 |    2 
 company/src/components/business/OperaPolicyListWindow.vue            |    2 
 company/src/components/enterprise/dispatchUnitDetails.vue            |    2 
 company/src/components/enterprise/insuranceRecords.vue               |  134 ++++++++++++++
 company/src/components/business/ApplyChangeDetails.vue               |    2 
 company/src/components/business/OperaSwitchCourtWindow.vue           |    2 
 company/src/components/business/dispatchUnitDetailsPlat.vue          |    2 
 company/src/components/business/OperaApplyChangeUnitDetailWindow.vue |    2 
 company/src/components/business/ApplyChangeUnitDetails.vue           |    2 
 company/src/components/business/policyListDetails.vue                |    2 
 19 files changed, 343 insertions(+), 157 deletions(-)

diff --git a/company/src/api/business/member.js b/company/src/api/business/member.js
index af5e1ba..c3b8581 100644
--- a/company/src/api/business/member.js
+++ b/company/src/api/business/member.js
@@ -26,3 +26,10 @@
 export function findList (data) {
     return request.post('/business/memberInsurance/findList', data)
 }
+
+// 瀵煎嚭Excel
+export function exportExcel (data) {
+    return request.post('/business/memberInsurance/exportExcel', data, {
+        download: true
+    })
+}
diff --git a/company/src/components/business/ApplyChangeDetails.vue b/company/src/components/business/ApplyChangeDetails.vue
index 412569e..05a6a2c 100644
--- a/company/src/components/business/ApplyChangeDetails.vue
+++ b/company/src/components/business/ApplyChangeDetails.vue
@@ -113,7 +113,7 @@
                 // 楠岃瘉瑙勫垯
                 rules: {
                 },
-                reverse: true,
+                reverse: false,
                 tableData: []
             }
         },
diff --git a/company/src/components/business/ApplyChangeUnitDetails.vue b/company/src/components/business/ApplyChangeUnitDetails.vue
index bb5e99a..0207b3c 100644
--- a/company/src/components/business/ApplyChangeUnitDetails.vue
+++ b/company/src/components/business/ApplyChangeUnitDetails.vue
@@ -99,7 +99,7 @@
                 // 楠岃瘉瑙勫垯
                 rules: {
                 },
-                reverse: true,
+                reverse: false,
                 tableData: []
             }
         },
diff --git a/company/src/components/business/InsuranceDetails.vue b/company/src/components/business/InsuranceDetails.vue
index 427249e..d906679 100644
--- a/company/src/components/business/InsuranceDetails.vue
+++ b/company/src/components/business/InsuranceDetails.vue
@@ -118,7 +118,7 @@
                 // 楠岃瘉瑙勫垯
                 rules: {
                 },
-                reverse: true,
+                reverse: false,
                 tableData: []
             }
         },
diff --git a/company/src/components/business/OperaApplyChangeDetailWindow.vue b/company/src/components/business/OperaApplyChangeDetailWindow.vue
index 7b74b15..80da9b3 100644
--- a/company/src/components/business/OperaApplyChangeDetailWindow.vue
+++ b/company/src/components/business/OperaApplyChangeDetailWindow.vue
@@ -11,17 +11,14 @@
                 <div class="desc_item_label">
                     <div class="desc_item_label_left">
                         <span>鎶曚繚浼佷笟锛歿{ apply.companyName }}</span>
-                      <span v-if="model.status === 0">淇濆崟鐘舵�侊細寰呯缃�</span>
-<<<<<<< HEAD
-                      <span v-if="model.status === 1">淇濆崟鐘舵�侊細寰呭鏍�</span>
-                      <span v-if="model.status === 2">淇濆崟鐘舵�侊細宸蹭笂浼犳壒鍗�</span>
-=======
-                      <span v-if="model.status === 1">淇濆崟鐘舵�侊細宸茬绔�</span>
-                      <span v-if="model.status === 2">淇濆崟鐘舵�侊細宸茬敓鏁�</span>
->>>>>>> 35bd55ad951fe8c5fb997dfa7bd836ad53db96fe
-                      <span v-if="model.status === 3 || model.status === 4">淇濆崟鐘舵�侊細閫�鍥炵敵璇�</span>
-                      <span v-if="model.status === 5 || model.status === 8">淇濆崟鐘舵�侊細宸查��鍥�</span>
-                      <span v-if="model.status === 7 || model.status === 6">淇濆崟鐘舵�侊細宸插叧闂�</span>
+                        <span v-if="model.status === 0">淇濆崟鐘舵�侊細寰呯缃�</span>
+                        <span v-if="model.status === 1">淇濆崟鐘舵�侊細寰呭鏍�</span>
+                        <span v-if="model.status === 2">淇濆崟鐘舵�侊細宸蹭笂浼犳壒鍗�</span>
+                        <span v-if="model.status === 1">淇濆崟鐘舵�侊細宸茬绔�</span>
+                        <span v-if="model.status === 2">淇濆崟鐘舵�侊細宸茬敓鏁�</span>
+                        <span v-if="model.status === 3 || model.status === 4">淇濆崟鐘舵�侊細閫�鍥炵敵璇�</span>
+                        <span v-if="model.status === 5 || model.status === 8">淇濆崟鐘舵�侊細宸查��鍥�</span>
+                        <span v-if="model.status === 7 || model.status === 6">淇濆崟鐘舵�侊細宸插叧闂�</span>
                         <span>鎻愪氦鏃堕棿锛歿{ model.createDate }}</span>
                     </div>
                   <div class="desc_item_label_right">
@@ -247,7 +244,7 @@
           memberName: '',
           types: ''
       },
-      reverse: true,
+      reverse: false,
       radio: 0,
       activities: [],
       tableData: [],
@@ -450,6 +447,9 @@
                 align-items: center;
                 justify-content: space-between;
                 margin-bottom: 10px;
+                .desc_item_label_left {
+                    flex-shrink: 0;
+                }
                 span {
                     font-size: 14px;
                     color: black;
diff --git a/company/src/components/business/OperaApplyChangeUnitDetailWindow.vue b/company/src/components/business/OperaApplyChangeUnitDetailWindow.vue
index 40346f0..16c5e8e 100644
--- a/company/src/components/business/OperaApplyChangeUnitDetailWindow.vue
+++ b/company/src/components/business/OperaApplyChangeUnitDetailWindow.vue
@@ -243,7 +243,7 @@
           memberName: '',
           types: ''
       },
-      reverse: true,
+      reverse: false,
       radio: 0,
       activities: [],
       tableData: [],
diff --git a/company/src/components/business/OperaApplyChangeWindow.vue b/company/src/components/business/OperaApplyChangeWindow.vue
index c544c30..3d19a58 100644
--- a/company/src/components/business/OperaApplyChangeWindow.vue
+++ b/company/src/components/business/OperaApplyChangeWindow.vue
@@ -285,88 +285,88 @@
 </template>
 
 <script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    import applyChangeDetails from '@/components/business/applyChangeDetails'
-    export default {
-        name: 'OperaApplyChangeWindow',
-        extends: BaseOpera,
-        components: { GlobalWindow, applyChangeDetails },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    editDate: ''
-                },
-                // 楠岃瘉瑙勫垯
-                rules: {
-                },
-                formInline: {
-                    user: '',
-                    region: ''
-                },
-                visible1: false,
-                visible2: false,
-                visible3: false,
-                visible4: false,
-                visible5: false,
-                reverse: true,
-                radio: 0,
-                fileList: [
-                    {name: 'food.pdf', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}
-                ],
-                activities: [{
-                    content: '娲诲姩鎸夋湡寮�濮�',
-                    timestamp: '2018-04-15'
-                }, {
-                    content: '閫氳繃瀹℃牳',
-                    timestamp: '2018-04-13'
-                }, {
-                    content: '鍒涘缓鎴愬姛',
-                    timestamp: '2018-04-11'
-                }],
-                tableData: [],
-                activeName: 'first',
-                currentPage: 1
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/insuranceApply',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-            handleRemove(file, fileList) {
-                console.log(file, fileList);
-            },
-            handlePreview(file) {
-                console.log(file);
-            },
-            handleExceed(files, fileList) {
-                this.$message.warning(`褰撳墠闄愬埗閫夋嫨 3 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${files.length + fileList.length} 涓枃浠禶);
-            },
-            beforeRemove(file, fileList) {
-                return this.$confirm(`纭畾绉婚櫎 ${ file.name }锛焋);
-            },
-            successEvent() {
-
-            },
-            handleSizeChange(val) {
-                console.log(`姣忛〉 ${val} 鏉);
-            },
-            handleCurrentChange(val) {
-                console.log(`褰撳墠椤�: ${val}`);
-            },
-            handleClick(tab, event) {
-                console.log(tab, event);
-            },
-            onSubmit() {
-
-            }
-        }
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import applyChangeDetails from '@/components/business/applyChangeDetails'
+export default {
+  name: 'OperaApplyChangeWindow',
+  extends: BaseOpera,
+  components: { GlobalWindow, applyChangeDetails },
+  data () {
+    return {
+      // 琛ㄥ崟鏁版嵁
+      form: {
+        id: null,
+        editDate: ''
+      },
+      // 楠岃瘉瑙勫垯
+      rules: {
+      },
+      formInline: {
+        user: '',
+        region: ''
+      },
+      visible1: false,
+      visible2: false,
+      visible3: false,
+      visible4: false,
+      visible5: false,
+      reverse: false,
+      radio: 0,
+      fileList: [
+        { name: 'food.pdf', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100' }
+      ],
+      activities: [{
+        content: '娲诲姩鎸夋湡寮�濮�',
+        timestamp: '2018-04-15'
+      }, {
+        content: '閫氳繃瀹℃牳',
+        timestamp: '2018-04-13'
+      }, {
+        content: '鍒涘缓鎴愬姛',
+        timestamp: '2018-04-11'
+      }],
+      tableData: [],
+      activeName: 'first',
+      currentPage: 1
     }
+  },
+  created () {
+    this.config({
+      api: '/business/insuranceApply',
+      'field.id': 'id'
+    })
+  },
+  methods: {
+    handleRemove (file, fileList) {
+      console.log(file, fileList)
+    },
+    handlePreview (file) {
+      console.log(file)
+    },
+    handleExceed (files, fileList) {
+      this.$message.warning(`褰撳墠闄愬埗閫夋嫨 3 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${files.length + fileList.length} 涓枃浠禶)
+    },
+    beforeRemove (file, fileList) {
+      return this.$confirm(`纭畾绉婚櫎 ${file.name}锛焋)
+    },
+    successEvent () {
+
+    },
+    handleSizeChange (val) {
+      console.log(`姣忛〉 ${val} 鏉)
+    },
+    handleCurrentChange (val) {
+      console.log(`褰撳墠椤�: ${val}`)
+    },
+    handleClick (tab, event) {
+      console.log(tab, event)
+    },
+    onSubmit () {
+
+    }
+  }
+}
 </script>
 <style>
     .v-modal {
diff --git a/company/src/components/business/OperaDispatchUnitWindow.vue b/company/src/components/business/OperaDispatchUnitWindow.vue
index 3593eed..1f5459f 100644
--- a/company/src/components/business/OperaDispatchUnitWindow.vue
+++ b/company/src/components/business/OperaDispatchUnitWindow.vue
@@ -133,7 +133,7 @@
         components: { GlobalWindow },
         data () {
             return {
-                reverse: true,
+                reverse: false,
                 activities: [{
                     content: '鎻愪氦娲鹃仯鍗曚綅',
                     timestamp: '鎿嶄綔鍛�-寮犱紵锛堝畨寰借眴绫崇鎶�鏈夐檺鍏徃锛塡n' +
diff --git a/company/src/components/business/OperaInsuranceApplyWindow.vue b/company/src/components/business/OperaInsuranceApplyWindow.vue
index fc12b61..e337994 100644
--- a/company/src/components/business/OperaInsuranceApplyWindow.vue
+++ b/company/src/components/business/OperaInsuranceApplyWindow.vue
@@ -310,7 +310,7 @@
       visible3: false,
       visible4: false,
       visible5: false,
-      reverse: true,
+      reverse: false,
       radio: 0,
       activities: [],
       tableData: [],
diff --git a/company/src/components/business/OperaPolicyListWindow.vue b/company/src/components/business/OperaPolicyListWindow.vue
index f6b1098..22daed2 100644
--- a/company/src/components/business/OperaPolicyListWindow.vue
+++ b/company/src/components/business/OperaPolicyListWindow.vue
@@ -271,7 +271,7 @@
                 visible3: false,
                 visible4: false,
                 visible5: false,
-                reverse: true,
+                reverse: false,
                 radio: 0,
                 fileList: [
                     {name: 'food.pdf', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}
diff --git a/company/src/components/business/OperaSettleClaimsCheckWindow.vue b/company/src/components/business/OperaSettleClaimsCheckWindow.vue
index d3d79f9..affc0a8 100644
--- a/company/src/components/business/OperaSettleClaimsCheckWindow.vue
+++ b/company/src/components/business/OperaSettleClaimsCheckWindow.vue
@@ -88,7 +88,7 @@
       },
       model: {},
       activeName: 'first',
-      reverse: true,
+      reverse: false,
       tableData: [],
       visible1: false,
       visible2: false,
diff --git a/company/src/components/business/OperaSettleClaimsWindow.vue b/company/src/components/business/OperaSettleClaimsWindow.vue
index cae0b2a..3d84e88 100644
--- a/company/src/components/business/OperaSettleClaimsWindow.vue
+++ b/company/src/components/business/OperaSettleClaimsWindow.vue
@@ -27,8 +27,8 @@
                         <el-button type="danger" v-if="model.status !=1 && model.status !=4" @click="$refs.operaInsuranceApplyCheckWindow.open('鎾ら攢鐢宠',model,remarkLogList,3)">鎾ら攢鐢宠</el-button>
                     </template>
                     <template v-else>
-                        <el-button type="primary" @click="edit" v-if="model.status === 0">淇敼淇℃伅</el-button>
-                        <el-button type="primary" @click="$refs.supplementaryExplanation.open('琛ュ厖璇存槑', model.id)" v-if="model.status === 0">琛ュ厖璇存槑</el-button>
+                        <el-button type="primary" @click="edit" v-if="model.status === 2">淇敼淇℃伅</el-button>
+                        <el-button type="primary" @click="$refs.supplementaryExplanation.open('琛ュ厖璇存槑', model.id)" v-if="model.status === 2">琛ュ厖璇存槑</el-button>
                     </template>
                 </div>
             </div>
@@ -204,8 +204,8 @@
                         </div>
                       </div>
                     </template>
-                  <template v-else>
-                    <span style=" width:100%;text-align:center;color: #8c939d;font-size: 12px" v-if="model.status ==2 || model.status ==4">鏆傛棤鏁版嵁</span>
+                  <template   v-if="(model.relationFileList==null|| model.relationFileList.length==0) && (model.status ==2 || model.status ==4)">
+                    <span style="height: 40px; width:100%;text-align:center;color: #8c939d;font-size: 12px">鏆傛棤鐩稿叧鏉愭枡</span>
                   </template>
                     <upload v-if="model.status !=2 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 2)" />
 <!--                    <div class="desc_data_list_item">-->
@@ -245,8 +245,8 @@
                       </div>
                     </div>
                   </template>
-                  <template v-else>
-                    <span style=" width:100%;text-align:center;color: #8c939d;font-size: 12px" v-if="model.status ==2 || model.status ==4">鏆傛棤鏁版嵁</span>
+                  <template   v-if="(model.outpatientFileList==null|| model.outpatientFileList.length==0) && (model.status ==2 || model.status ==4)">
+                    <span style="height: 40px; width:100%;text-align:center;color: #8c939d;font-size: 12px">鏆傛棤鐩稿叧鏉愭枡</span>
                   </template>
                     <upload v-if="model.status !=2 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 3)" />
 <!--                    <div class="desc_data_list_item">-->
@@ -278,8 +278,8 @@
                       </div>
                     </div>
                   </template>
-                  <template v-else>
-                      <span style=" width:100%;text-align:center;color: #8c939d;font-size: 12px" v-if="model.status ==2 || model.status ==4">鏆傛棤鏁版嵁</span>
+                  <template   v-if="(model.hospitalFileList==null|| model.hospitalFileList.length==0) && (model.status ==2 || model.status ==4)">
+                    <span style="height: 40px; width:100%;text-align:center;color: #8c939d;font-size: 12px">鏆傛棤鐩稿叧鏉愭枡</span>
                   </template>
                     <upload v-if="model.status !=2 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 4)" />
 <!--                    <div class="desc_data_list_item">-->
@@ -311,8 +311,8 @@
                       </div>
                     </div>
                   </template>
-                  <template v-else>
-                    <span style=" width:100%;text-align:center;color: #8c939d;font-size: 12px" v-if="model.status ==2 || model.status ==4">鏆傛棤鏁版嵁</span>
+                  <template   v-if="(model.disabilityFileList==null|| model.disabilityFileList.length==0) && (model.status ==2 || model.status ==4)">
+                    <span style=" height: 40px;width:100%;text-align:center;color: #8c939d;font-size: 12px">鏆傛棤鐩稿叧鏉愭枡</span>
                   </template>
                     <upload  v-if="model.status !=2 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 5)" />
 <!--                    <div class="desc_data_list_item">-->
@@ -348,8 +348,8 @@
                       </div>
                     </div>
                   </template>
-                  <template v-else>
-                    <span style=" width:100%;text-align:center;color: #8c939d;font-size: 12px" v-if="model.status ==2 || model.status ==4">鏆傛棤鏁版嵁</span>
+                  <template   v-if="(model.compensationFileList==null|| model.compensationFileList.length==0) && (model.status ==2 || model.status ==4)">
+                    <span style=" height: 40px;width:100%;text-align:center;color: #8c939d;font-size: 12px">鏆傛棤鐩稿叧鏉愭枡</span>
                   </template>
                     <upload v-if="model.status !=2 && model.status !=4" width="100px" height="100px" :list="[]" accept=".png,.jpg,.jpeg,.mp4,.word,.xlsx,.xls,.pdf,.excel" folder="settle" @success="claimsUploadFile($event, 6)" />
 <!--                    <div class="desc_data_list_item">-->
@@ -444,7 +444,7 @@
               list: [],
               model: {},
               activeName: 'first',
-              reverse: true
+              reverse: false
             }
         },
         computed: {
diff --git a/company/src/components/business/OperaSwitchCourtWindow.vue b/company/src/components/business/OperaSwitchCourtWindow.vue
index f4ee769..66a0245 100644
--- a/company/src/components/business/OperaSwitchCourtWindow.vue
+++ b/company/src/components/business/OperaSwitchCourtWindow.vue
@@ -303,7 +303,7 @@
                 visible3: false,
                 visible4: false,
                 visible5: false,
-                reverse: true,
+                reverse: false,
                 radio: 0,
                 fileList: [
                     {name: 'food.pdf', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}
diff --git a/company/src/components/business/dispatchUnitDetailsPlat.vue b/company/src/components/business/dispatchUnitDetailsPlat.vue
index 6af26fc..cde6344 100644
--- a/company/src/components/business/dispatchUnitDetailsPlat.vue
+++ b/company/src/components/business/dispatchUnitDetailsPlat.vue
@@ -161,7 +161,7 @@
         },
         tableData: [],
         insuranceScheme: [],
-        reverse: true,
+        reverse: false,
         visible5:false,
         activities: []
       }
diff --git a/company/src/components/business/dispatchUnitReviewDetails.vue b/company/src/components/business/dispatchUnitReviewDetails.vue
index a4a5fb4..a372d9e 100644
--- a/company/src/components/business/dispatchUnitReviewDetails.vue
+++ b/company/src/components/business/dispatchUnitReviewDetails.vue
@@ -123,7 +123,7 @@
                 },
                 tableData: [],
                 visible5: false,
-                reverse: true,
+                reverse: false,
                 activities: [{
                     content: '娲诲姩鎸夋湡寮�濮�',
                     timestamp: '2018-04-15'
diff --git a/company/src/components/business/policyListDetails.vue b/company/src/components/business/policyListDetails.vue
index a4a5ed8..1bb64e5 100644
--- a/company/src/components/business/policyListDetails.vue
+++ b/company/src/components/business/policyListDetails.vue
@@ -85,7 +85,7 @@
                     user: '',
                     region: ''
                 },
-                reverse: true,
+                reverse: false,
                 activities: [{
                     content: '娲诲姩鎸夋湡寮�濮�',
                     timestamp: '2018-04-15'
diff --git a/company/src/components/enterprise/dispatchUnitDetails.vue b/company/src/components/enterprise/dispatchUnitDetails.vue
index da04967..1e537aa 100644
--- a/company/src/components/enterprise/dispatchUnitDetails.vue
+++ b/company/src/components/enterprise/dispatchUnitDetails.vue
@@ -153,7 +153,7 @@
         },
         tableData: [],
         insuranceScheme: [],
-        reverse: true,
+        reverse: false,
         activities: []
       }
     },
diff --git a/company/src/components/enterprise/insuranceRecords.vue b/company/src/components/enterprise/insuranceRecords.vue
new file mode 100644
index 0000000..81016c5
--- /dev/null
+++ b/company/src/components/enterprise/insuranceRecords.vue
@@ -0,0 +1,134 @@
+<template>
+    <GlobalWindow
+        :title="title"
+        width="100%"
+        :visible.sync="visible"
+        :confirm-working="isWorking"
+        @confirm="confirm"
+    >
+        <div class="info">
+            <div class="info_left">
+                濮撳悕锛歿{form.name}}&nbsp;&nbsp;韬唤璇佸彿锛歿{form.idcardNo}}&nbsp;&nbsp;鐘舵�侊細
+                <span style="color: green;" v-if="form.solutionsStatus === 1">淇濋殰涓�</span>
+                <span v-else>涓嶅湪淇�</span>
+            </div>
+            <el-button type="primary" @click="expr">瀵煎嚭璁板綍</el-button>
+        </div>
+        <el-table
+            :data="list"
+            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="solutionName"
+                label="淇濋櫓鏂规">
+            </el-table-column>
+            <el-table-column
+                prop="bdCode"
+                label="淇濆崟鍙�">
+            </el-table-column>
+            <el-table-column
+                prop="pdCode"
+                label="鎵瑰崟鍙�">
+            </el-table-column>
+            <el-table-column
+                prop="duName"
+                label="娲鹃仯鍗曚綅">
+            </el-table-column>
+            <el-table-column
+                prop="worktypeName"
+                label="鎵�灞炲伐绉�">
+            </el-table-column>
+            <el-table-column
+                prop="startTime"
+                label="淇濋櫓鐢熸晥璧锋湡">
+            </el-table-column>
+            <el-table-column
+                prop="endTime"
+                label="淇濋櫓鐢熸晥姝㈡湡">
+            </el-table-column>
+        </el-table>
+    </GlobalWindow>
+</template>
+
+<script>
+    import BaseOpera from '@/components/base/BaseOpera'
+    import GlobalWindow from '@/components/common/GlobalWindow'
+    import { findList, exportExcel } from '@/api/business/member'
+    export default {
+        name: 'insuranceRecords',
+        extends: BaseOpera,
+        components: { GlobalWindow },
+        data () {
+            return {
+                form: {
+                    id: null,
+                    name: '',
+                    idcardNo: '',
+                    solutionsStatus: ''
+                },
+                list: []
+            }
+        },
+        methods: {
+            open (title, target) {
+                this.title = title
+                this.list = []
+                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]
+                    }
+                })
+                this.getList()
+            },
+            expr() {
+                exportExcel({
+                    capacity: 1000,
+                    page: 1,
+                    model: {
+                        memberId: this.form.id
+                    }
+                }).then(res => {
+                    console.log(res)
+                    this.download(res)
+                })
+            },
+            getList() {
+                findList({
+                    memberId: this.form.id
+                }).then(res => {
+                    console.log(res)
+                    this.list = res
+                })
+            }
+        }
+    }
+</script>
+
+<style lang="scss" scoped>
+    .info {
+        width: 100%;
+        display: flex;
+        align-items: center;
+        justify-content: space-between;
+        margin-bottom: 20px;
+        .info_left {
+            font-size: 14px;
+            color: black;
+        }
+    }
+</style>
diff --git a/company/src/views/business/member.vue b/company/src/views/business/member.vue
index ee96024..cbd8f56 100644
--- a/company/src/views/business/member.vue
+++ b/company/src/views/business/member.vue
@@ -2,39 +2,35 @@
     <TableLayout :permissions="['business:member:query']">
         <!-- 鎼滅储琛ㄥ崟 -->
         <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-            <el-form-item label="鍛樺伐濮撳悕" prop="duId">
-                <el-input v-model="searchForm.duId" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
+            <el-form-item label="鍛樺伐濮撳悕" prop="name">
+                <el-input v-model="searchForm.name" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
             </el-form-item>
-            <el-form-item label="韬唤璇佸彿" prop="duId">
-                <el-input v-model="searchForm.duId" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
+            <el-form-item label="韬唤璇佸彿" prop="idcardNo">
+                <el-input v-model="searchForm.idcardNo" placeholder="璇疯緭鍏�" maxlength="18" @keypress.enter.native="search"></el-input>
             </el-form-item>
-            <el-form-item label="淇濋櫓鏂规" prop="duId">
-                <el-select v-model="searchForm.duId" placeholder="璇烽�夋嫨">
+            <el-form-item label="淇濋櫓鏂规" prop="solutionId">
+                <el-select v-model="searchForm.solutionId" placeholder="璇烽�夋嫨" @change="search">
                     <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
+                        v-for="item in solutions"
+                        :key="item.id"
+                        :label="item.name"
+                        :value="item.id">
                     </el-option>
                 </el-select>
             </el-form-item>
-            <el-form-item label="淇濋櫓鐘舵��" prop="duId">
-                <el-select v-model="searchForm.duId" placeholder="璇烽�夋嫨">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
+            <el-form-item label="淇濋櫓鐘舵��" prop="solutionsStatus">
+                <el-select v-model="searchForm.solutionsStatus" placeholder="璇烽�夋嫨" @change="search">
+                    <el-option label="淇濋殰涓�" value="1"></el-option>
+                    <el-option label="涓嶅湪淇�" value="2"></el-option>
                 </el-select>
             </el-form-item>
             <el-form-item label="娲鹃仯鍗曚綅" prop="duId">
-                <el-select v-model="searchForm.duId" placeholder="璇烽�夋嫨">
+                <el-select v-model="searchForm.duId" placeholder="璇烽�夋嫨" @change="search">
                     <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
+                        v-for="(item, index) in options"
+                        :key="index"
+                        :label="item.name"
+                        :value="item.id">
                     </el-option>
                 </el-select>
             </el-form-item>
@@ -45,8 +41,8 @@
         </el-form>
         <!-- 琛ㄦ牸鍜屽垎椤� -->
         <template v-slot:table-wrap>
-            <ul class="toolbar" v-permissions="['business:member:create']">
-                <li><el-button type="primary" @click="$refs.operaMemberWindow.open('鎶曚繚璁板綍')">瀵煎叆浜哄憳鍚嶅崟</el-button></li>
+            <ul class="toolbar">
+                <li><el-button type="primary" @click="expr">瀵煎嚭浜哄憳鍚嶅崟</el-button></li>
             </ul>
             <el-table
                 v-loading="isWorking.search"
@@ -58,24 +54,36 @@
                         <span>{{scope.$index + 1}}</span>
                     </template>
                 </el-table-column>
-                <el-table-column prop="companyId" label="淇濋櫓鐘舵��" min-width="100px"></el-table-column>
-                <el-table-column prop="companyId" label="鎵�灞炰紒涓�" min-width="100px"></el-table-column>
-                <el-table-column prop="companyId" label="鍛樺伐濮撳悕" min-width="100px"></el-table-column>
+                <el-table-column label="淇濋櫓鐘舵��" min-width="100px">
+                    <template slot-scope="{row}">
+                        <span style="color: green;" v-if="row.solutionsStatus === 1">淇濋殰涓�</span>
+                        <span v-else-if="row.solutionsStatus === 2">涓嶅湪淇�</span>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="companyName" label="鎵�灞炰紒涓�" min-width="100px" v-if="userInfo.type === 0"></el-table-column>
+                <el-table-column prop="name" label="鍛樺伐濮撳悕" min-width="100px"></el-table-column>
                 <el-table-column label="鎬у埆" min-width="100px">
                     <template slot-scope="{row}">
                         <span v-if="row.sex === 0">鐢�</span>
                         <span v-else>濂�</span>
                     </template>
                 </el-table-column>
-                <el-table-column prop="companyId" label="骞撮緞" min-width="100px"></el-table-column>
-                <el-table-column prop="companyId" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
-                <el-table-column prop="duId" label="娲鹃仯鍗曚綅" min-width="100px"></el-table-column>
-                <el-table-column prop="worktypeId" label="鎵�灞炲伐绉�" min-width="100px"></el-table-column>
+                <el-table-column prop="idcardNo" label="韬唤璇佸彿鐮�" min-width="100px"></el-table-column>
+                <el-table-column label="骞撮緞" min-width="100px">
+                    <template slot-scope="{row}">
+                        {{ calculateAge(row.idcardNo) }}
+                    </template>
+                </el-table-column>
+                <el-table-column prop="solutionName" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
+                <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="startTime" label="瀹為檯淇濋櫓鐢熸晥璧锋湡" min-width="100px"></el-table-column>
                 <el-table-column prop="endTime" label="瀹為檯淇濋櫓鐢熸晥姝㈡湡" min-width="100px"></el-table-column>
-                <el-table-column label="鎿嶄綔" min-width="100px">
+                <el-table-column label="鎿嶄綔"
+                     fixed="right"
+                     min-width="120px">
                     <template slot-scope="{row}">
-                        <el-button type="text">鎶曚繚璁板綍</el-button>
+                        <el-button type="text" @click="$refs.insuranceRecords.open('鎶曚繚璁板綍', row)">鎶曚繚璁板綍</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -87,7 +95,9 @@
             </pagination>
         </template>
         <!-- 鏂板缓/淇敼 -->
-        <OperaMemberWindow ref="operaMemberWindow" @success="handlePageChange"/>
+        <OperaMemberWindow ref="operaMemberWindow" @success="handlePageChange" />
+        <!--    鎶曚繚璁板綍    -->
+        <insuranceRecords ref="insuranceRecords" @success="handlePageChange" />
     </TableLayout>
 </template>
 
@@ -96,18 +106,30 @@
     import TableLayout from '@/layouts/TableLayout'
     import Pagination from '@/components/common/Pagination'
     import OperaMemberWindow from '@/components/business/OperaMemberWindow'
+    import insuranceRecords from '@/components/enterprise/insuranceRecords'
+    import { all } from '@/api/business/solutions'
+    import { findListByDTO } from '@/api/business/dispatchUnit'
+    import { mapState } from 'vuex'
     export default {
         name: 'Member',
         extends: BaseTable,
-        components: { TableLayout, Pagination, OperaMemberWindow },
+        components: { TableLayout, Pagination, OperaMemberWindow, insuranceRecords },
         data () {
             return {
                 // 鎼滅储
                 searchForm: {
-                    duId: ''
+                    duId: '',
+                    name: '',
+                    idcardNo: '',
+                    solutionsStatus: '',
+                    solutionId: ''
                 },
-                options: []
+                options: [],
+                solutions: []
             }
+        },
+        computed: {
+            ...mapState(['userInfo'])
         },
         created () {
             this.config({
@@ -117,6 +139,29 @@
                 'field.main': 'id'
             })
             this.search()
+            this.getSolutions()
+        },
+        methods: {
+            expr() {
+
+            },
+            getSolutions() {
+                all()
+                    .then(res => {
+                        this.solutions = res
+                    })
+                findListByDTO({ dataType: 2 })
+                    .then(res => {
+                        this.options = res
+                    })
+            },
+            calculateAge(idNumber) {
+                if (!idNumber) return
+                let birthYear = parseInt(idNumber.substr(6, 4)); // 鎻愬彇鐢熸棩骞翠唤閮ㄥ垎
+                let currentYear = new Date().getFullYear(); // 鑾峰彇褰撳墠骞翠唤
+
+                return currentYear - birthYear; // 杩斿洖骞撮緞
+            }
         }
     }
 </script>

--
Gitblit v1.9.3